Views
No views yet
| Metric | Value |
|---|---|
| Mean exact accuracy (all 20 bones) | 65.82% |
| Mean within-1 accuracy (all 20 bones) | 96.77% |
| End-to-end MAE (RUS pathway) | 14.71 months |
| Carpal bones exact accuracy | 65.1–84.4% |
| RUS long bones exact accuracy | 56.7–66.8% |
| File | Size | Epochs | Loss |
|---|---|---|---|
models/stage_classifier_epoch2.pt | 72 MB | 2 | 0.9477 |
1import torch, timm
2from huggingface_hub import hf_hub_download
3
4# Download
5ckpt_path = hf_hub_download("maktub83/BoneAgeTW2", "models/stage_classifier_epoch2.pt")
6checkpoint = torch.load(ckpt_path, map_location="cpu")
7
8# Rebuild backbone
9backbone = timm.create_model("efficientnet_b3", pretrained=False, num_classes=0)
10backbone.load_state_dict(checkpoint["backbone"])
11backbone.eval()
12
13# feat_dim = 1536
14feat_dim = checkpoint["feat_dim"]
15
16# Each head: Linear(feat_dim, n_stages)
17# See github.com/jmmana/BoneAgeTW2/training/04_train_stage_classifier.py
18# for build_model() and BONE_NAMESgaussian_params.json
is assigned as the pseudo-label. This produces 252,220 annotations from 12,611 RSNA
radiographs without any manual effort.1@article{castillo2026boneagetw2,
2 author = {Castillo~Pinto, Juan~Manuel},
3 title = {{BoneAgeTW2}: Automated Skeletal Maturation Assessment via the {Tanner-Whitehouse 2} Method, Deep Learning, and Clinical Report Generation with Distribution Curves},
4 journal = {arXiv preprint arXiv:2607.23224},
5 year = {2026}
6}