A practical artificial intelligence framework for legal age estimation using clavicle computed tomography scans
Authors: Javier Venema, Stefano De Luca, Pablo Mesejo, Óscar Ibáñez
Organizations: Panacea Cooperative Research S.Coop., C. Ramón y Cajal, 33, Ponferrada, 24400, Spain · Department of Computer Science and Artificial Intelligence, University of Granada, C. Periodista Daniel Saucedo Aranda, Granada, 18071, Spain · Andalusian Research Institute in Data Science and Computational Intelligence (DaSCI Institute), Av. del Conocimiento, 37, Granada, 18037, Spain · Department of Organisms and Systems Biology, Faculty of Biology, University of Oviedo, C. Catedrático Rodrigo Uria, Oviedo, 33066, Spain · Faculty of Computer Science, CITIC, University of A Coruña, Campus de Elviña, A Coruña, 15071, Spain
Legal age estimation plays a critical role in forensic and medico-legal contexts, where decisions must be supported by accurate, robust, and reproducible methods with explicit uncertainty quantification. While prior artificial intelligence (AI)-based approaches have primarily focused on hand radiographs or dental imaging, clavicle computed tomography (CT) scans remain underexplored despite their documented effectiveness for legal age estimation. In this work, we present an interpretable, multi-stage pipeline for legal age estimation from clavicle CT scans. The proposed framework combines (i) a feature-based connected-component method for automatic clavicle detection that requires minimal manual annotation, (ii) an Integrated Gradients-guided slice selection strategy used to construct the input data for a multi-slice convolutional neural network that estimates legal age, and (iii) conformal prediction intervals to support uncertainty-aware decisions in accordance with established international protocols. The pipeline is evaluated on 1,158 full-body post-mortem CT scans from a public forensic dataset (the New Mexico Decedent Image Database). The final model achieves state-of-the-art performance with a mean absolute error (MAE) of 1.55 ± 0.16 years on a held-out test set, outperforming both human experts (MAE of approximately 1.90 years) and previous methods (MAEs above 1.75 years in our same dataset). Furthermore, conformal prediction enables configurable coverage levels aligned with forensic requirements. Attribution maps indicate that the model focuses on anatomically relevant regions of the medial clavicular epiphysis. The proposed method, which is currently being added as part of the Skeleton-ID software (https://skeleton-id.com/skeleton-id/), is intended as a decision-support component within multi-factorial forensic workflows.
Figures & tables
Figure 1: Stages of clavicle ossification as proposed by Kellinghaus et al. (2010b) . All images show the MCE, i.e., the region where the clavicle joins the sternum. Individuals from stages 1 to 5 had a mean age of 13.28, 17.81, 21.73, 29.63 and 31.77 years old for males, and of 12.70, 16.28, 21.14, 28.21 and 30.88 years old for females in the work that first applied the method ( Kellinghaus et al., 2010b ) . This method was later extended by dividing stages two and three into three sub-stages each. Image reproduced from Schmeling et al. (2016) .
Figure 2: Overview of the proposed age estimation method. From a full-body CT (A1), the skeleton is automatically segmented by thresholding at 300 Hounsfield Units (A2). All connected components in A2 are extracted, and shape and geometrical features are computed to form a feature vector (A3), which is input to a Random Forest (A4) that estimates the probability of each component being a clavicle (A5). The three components with the highest probabilities are then filtered using anatomical constraints (A6) to ensure a maximum of two clavicles per individual (A7). Each identified clavicle is processed in part B, where the MCE is localized in the original CT using the segmented clavicle. Five equispaced coronal slices are then passed through a five-branch CNN trained for age estimation. Integrated Gradients ( Sundararajan et al., 2017 ) assigns an importance score to each branch, which is used to compute a weighted average of slice positions to identify the most relevant slice. The same procedure is applied to the axial view, while the sagittal view is omitted as it did not improve performance (see section 3 ). The most relevant slices and neighboring slices are input to the LAE model in step C. This process is performed for both clavicles, and the final age estimate is the average of the two. Using the conformal split method ( Lei et al., 2018 ) , a prediction interval for the estimated age is also obtained.
Figure 3: Anatomical constraints for clavicle detection ( Netter, 2014 ) . Right clavicle is shown in blue. (a) For each clavicle, Zl is the Z value at the leftmost ( Xmin ) point, and Zr for the rightmost one ( Xmax) . This can be used to detect clavicle laterality (left or right clavicle, denoted as Cl and Cr in (b). (b) Once laterality is defined, the leftmost point of Cr ( A ) must be at the right ( < ) of the rightmost point of Cl ( B ). (c) let Z1 be the height of the innermost (leftmost) point of Cr , and Z2 the same for Cl . ∣Z1−Z2∣ must be below a fixed distance ϵ , with ϵ=1 cm in our case.
Figure 4: Bounding box localization around the MCE. Because of the clavicle’s anatomical positioning, it is known that the MCE is closest to the vertex of the bounding box at (Xmax,Ymax,Zmin) , using the coordinate system shown in Figure 3 .
Figure 5: Simplified representation of the proposed architecture used for LAE. It consists of 4 branches that process different slices (2 coronal and 2 axial) using ResNet50 ( He et al., 2016 ) . The output of all branches, consisting of a 1,000-dimensional feature vector is passed to a fully-connected network that we named the fusion network. By doing this, we obtain an end-to-end model for LAE using multi-slice learning.
Figure 6: Age and sex distribution of the dataset employed for training and validating our LAE method. Both chronological age and sex were specified in the metadata of the downloaded cases.
Method
Accuracy
Sensitivity
Specificity
Distance-based shape features
93.33%
76.68%
95.91%
Add geometric features
94.29%
80.27%
96.46%
Add RF classifier
98.84%
93.16%
99.71%
Only take 2 of highest probability
99.04%
97.72%
99.24%
Add anatomical constraints
99.85%
99.24%
99.94%
Table 1: Results of the ablation study conducted during the development of the clavicle detection method. The positive class is the connected component (bone) being a clavicle. Best alternative in bold, corresponding to the highest average validation values in cross validation. Every row of the table represents an addition over the previous row.
View
Num. slices
Data augmentation
Classifier depth
Slice selection
MAE train
MAE val
Conclusions
Axial
5
No
1
No
0.41
1.78
Slice selection improves results
Axial
5
No
1
Yes
0.52
1.69
Coronal
5
No
1
Yes
0.54
1.66
Coronal > axial > sagittal
Sagittal
5
No
1
Yes
0.49
1.73
Coronal
5
Yes
1
Yes
0.36
1.49
Data augmentation improves results
Coronal
5
Balance
1
Yes
0.42
1.65
Table 2: Ablation study of the multi-branch LAE CNN evaluated on the validation set. Groups of experiments correspond to controlled modifications of a single component (view, slice selection, number of slices, data augmentation, or classifier depth). The best-performing configuration is highlighted in bold.
Figure 7: Absolute error of our model per age range in test.
Coverage
d
PPV
Sensitivity
Specificity
Accuracy
0%
0
0.87
0.96
0.26
0.85
60%
1.44
0.96
0.82
0.82
0.82
80%
2.09
0.98
0.72
0.92
0.75
90%
2.97
0.99
0.62
0.97
0.68
95%
3.72
1
0.52
1
0.59
99%
5.60
1
0.15
1
0.29
Table 3: Results for estimating the lower bound of a prediction interval at different coverage levels. PPV denotes the positive predictive value, where the positive class corresponds to individuals older than 18 years. For example, if an individual’s predicted age is 20.5 years, using an 80% prediction interval yields a lower bound of 18.41 years, leading to classification as an adult. However, although the PPV at this level is 96% (i.e., 96% of individuals classified as adults are truly adults), an expert may consider this insufficient and instead prefer a higher coverage level (e.g., 95%), which would result in classifying the individual as a minor.
Method
Test set age range
Reported MAE in test
Validation MAE (our dataset)
Human expert ( Qiu et al., 2024 )
14-30
1.94
-
2 experts + SVM* ( Qiu et al., 2024 )
14-30
1.73
-
Mean of experts ( Wesp et al., 2024 )
15-30
1.84
-
Stacked 2D CNN ( Qiu et al., 2024 )
14-30
1.77
2.30
3D CNN ( Wesp et al., 2024 )
15-30
1.65
1.75
Our method
14-26
1.55
1.34
Table 4: Comparison between the proposed method and previously published state-of-the-art approaches. MAE (in years) is reported for two settings: (i) the original test sets as reported in each respective publication, and (ii) our validation set, where representative implementations of all methods were trained and evaluated under a unified experimental protocol for model selection.
Figure 8: Example of the activation maps obtained for the right (estimated as 18.78 years old, two first rows) and the flipped left (estimated as 18.38 years old, third and fourth row) clavicles of an individual from the test set. They correspond to the axial view (first and third column) and to the coronal view (second and fourth column). Both the activations and the used images are shown. The individual is 18.583 years old, and was estimated as 18.579 years old (mean of both clavicles). Three decimal places are used, instead of the two decimals employed in the rest of the paper, in order to better observe the minimal differences between the real and the predicted age. The more yellow a pixel, the more weight it has on the estimation.
Age estimation systems are increasingly deployed as gatekeepers for age-restricted online content, yet their robustness to cosmetic modifications has not been systematically evaluated. We investigate whether simple, household-accessible cosmetic changes, including beards, grey hair, makeup, and simulated wrinkles, can cause AI age estimators to classify minors as adults. To study this threat at scale without ethical concerns, we simulate these physical attacks on 329 facial images of individuals aged 10 to 21 using a VLM image editor (Gemini 2.5 Flash Image). We then evaluate eight models from our prior benchmark: five specialized architectures (MiVOLO, Custom-Best, Herosan, MiViaLab, DEX) and three vision-language models (Gemini 3 Flash, Gemini 2.5 Flash, GPT-5-Nano). We introduce the Attack Conversion Rate (ACR), defined as the fraction of images predicted as minor at baseline that flip to adult after attack, a population-agnostic metric that does not depend on the ratio of minors to adults in the test set. Our results reveal that a synthetic beard alone achieves 28 to 69 percent ACR across all eight models; combining all four attacks shifts predicted age by +7.7 years on average across all 329 subjects and reaches up to 83 percent ACR; and vision-language models exhibit lower ACR (59 to 71 percent) than specialized models (63 to 83 percent) under the full attack, although the ACR ranges overlap and the difference is not statistically tested. These findings highlight a critical vulnerability in deployed age-verification pipelines and call for adversarial robustness evaluation as a mandatory criterion for model selection.
Facial age estimation plays a critical role in content moderation, age verification, and deepfake detection. However, no prior benchmark has systematically compared modern vision-language models (VLMs) with specialized age estimation architectures. We present the first large-scale cross-paradigm benchmark, evaluating 34 models - 22 specialized architectures with publicly available pretrained weights and 12 general-purpose VLMs - across eight standard datasets (UTKFace, IMDB-WIKI, MORPH, AFAD, CACD, FG-NET, APPA-REAL, and AgeDB), totaling 1,100 test images per model. Our key finding is striking: zero-shot VLMs significantly outperform most specialized models, achieving an average mean absolute error (MAE) of 5.65 years compared to 9.88 years for non-LLM models. The best-performing VLM (Gemini 3 Flash Preview, MAE 4.32) surpasses the strongest non-LLM model (MiVOLO, MAE 5.10) by 15%. MiVOLO - unique in combining face and body features using Vision Transformers - is the only specialized model that remains competitive with VLMs. We further analyze age verification at the 18-year threshold and find that most non-LLM models exhibit false adult rates between 39% and 100% for minors, whereas VLMs reduce this to 16%-29%. Additionally, coarse age binning (8-9 classes) consistently increases MAE beyond 13 years. Stratified analysis across 14 age groups reveals that all models struggle most at extreme ages (under 5 and over 65). Overall, these findings challenge the assumption that task-specific architectures are necessary for high-performance age estimation and suggest that future work should focus on distilling VLM capabilities into efficient specialized models.
Age estimation from facial images typically relies on training data that includes images of minors, a practice that raises serious ethical, legal, and privacy concerns. In this work, we propose a generalized zero-shot benchmark for facial age estimation that explicitly excludes children's data during training while still assessing model performance on younger populations. We revisit six widely used datasets and introduce standardized splits with strict age-group separation: samples aged 18-59 for training, validation, and testing; samples under 18 reserved exclusively for zero-shot evaluation; and samples 60+ as an unseen validation set for model selection under distribution shift. For datasets with identity annotations, subject-exclusive splits prevent identity leakage and better reflect real-world deployment conditions. Evaluating nine state-of-the-art age estimation methods under this protocol reveals that all evaluated methods consistently fail to generalize to unseen age groups, suffering substantial performance degradation -- on average 46.4%, and up to 52.8% -- relative to the supervised baseline. Moreover, models do not simply degrade: they systematically anchor predictions for unseen ages to nearby seen classes, a manifestation of the well-known seen-class bias in generalized zero-shot learning. By formalizing age estimation without children's data as a generalized zero-shot benchmark on existing datasets, this work highlights a critical gap between current modeling practices and real-world ethical constraints. Our benchmark provides a principled basis for evaluating models under restricted data regimes and encourages the development of methods that are robust to distribution shift and aligned with responsible data use.
Caio Petrucci, Leo Sampaio Ferraz Ribeiro, Sandra Avila
1Instituto de Computac¸˜ao, Universidade Estadual de Campinas (UNICAMP), Campinas, Brazil · 2Instituto de Ciˆencias Matem´aticas e de Computac¸˜ao, Universidade de S˜ao Paulo (USP), S˜ao Carlos, Brazil