You need to agree to share your contact information to access this model

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

Log in or Sign Up to review the conditions and access this model content.

AG-RTM ageing models

Retinal Age, Chest Age, Abdominal Age and Brain Age estimate chronological age from a colour fundus photograph, a chest radiograph, an abdominal CT volume and a T1-weighted brain MRI. They are the four ageing models released with the paper Prediction bias in biological ageing models (preprint). The age gap is the estimated age minus chronological age.

Code, installation and data format: HORIZONHealthcare/AG-RTM.

Access. Log in, fill in the short form on this page, and access is granted straight away. Then log in on your machine with hf auth login before downloading.

Models

Model Input Training data Test MAE (years) Checkpoint
Retinal Age Colour fundus photograph (2D) AlzEye 5.31 retinal_age.pth
Chest Age Frontal chest radiograph (2D) ChestX-ray14 5.15 chest_age.pth
Abdominal Age Abdominal CT volume (2.5D, 32 axial slices) Merlin 4.04 abdominal_age.pth
Brain Age T1-weighted brain MRI (2.5D, 32 axial slices) OASIS-3 3.81 brain_age.pth

All four models fine-tune DINOv3-Large (vit_large_patch16_dinov3.lvd1689m) with a small regression head: Linear(1024β†’32) β†’ ReLU β†’ Dropout(0.5) β†’ Linear(32β†’1). Abdominal Age and Brain Age encode 32 axial slices one by one and average their features before the head. Each model was trained on healthy patients only, and the checkpoint with the lowest validation MAE was kept. Each checkpoint holds the weights and the settings needed to rebuild the model, and loads with torch.load(..., weights_only=True).

Usage

git clone https://github.com/HORIZONHealthcare/AG-RTM.git && cd AG-RTM
conda create -n ag-rtm python=3.11 -y && conda activate ag-rtm
pip install -r requirements.txt --extra-index-url https://download.pytorch.org/whl/cu121
hf auth login
hf download lyqun/AG-RTM chest_age.pth --local-dir weights
cd code
python predict.py --checkpoint ../weights/chest_age.pth --input my_data.csv --output predictions.csv

Replace chest_age.pth with retinal_age.pth, abdominal_age.pth or brain_age.pth for the other models, or download all four with hf download lyqun/AG-RTM --local-dir weights.

Input CSV columns:

  • Retinal Age, Chest Age and Abdominal Age: subject_id,image_path,biomarker_value.
  • Brain Age: subject_id,session_id,archive_path,biomarker_value.

biomarker_value is chronological age and is optional. The output gives predicted_age, and age_gap when age is supplied.

Performance

Test MAE, RMSE and rΒ² with 95% confidence intervals from a bootstrap with 1,000 resamples (patient-level, except volume-level for Abdominal Age, because Merlin releases no patient identifiers).

Model Test subset MAE (years) RMSE (years) Pearson rΒ²
Retinal Age 65,360 images, 12,141 patients 5.31 (5.23–5.40) 6.80 (6.68–6.91) 0.745 (0.732–0.758)
Chest Age 21,733 radiographs, 4,623 patients 5.15 (4.95–5.42) 6.80 (6.45–7.26) 0.796 (0.769–0.819)
Abdominal Age 4,984 volumes 4.04 (3.94–4.14) 5.32 (5.17–5.46) 0.918 (0.912–0.923)
Brain Age 1,454 sessions, 808 patients 3.81 (3.59–4.03) 4.92 (4.65–5.20) 0.643 (0.604–0.680)

Model details

Retinal Age

  • Input: colour fundus photographs, cropped around the fundus and padded to a square. Images are resized to 256 pixels and centre-cropped to 224 Γ— 224.
  • Training data: AlzEye (Moorfields Eye Hospital, London, UK), 9,844 healthy patients (53,680 images); validation 2,462 healthy patients (14,038 images). The split was made at the patient level.
  • JPEG decoding: the paper decoded the photographs with Pillow built against IJG libjpeg 9e. The pip Pillow (libjpeg-turbo) shifts predictions by 0.2 years on average. To reproduce the paper exactly, install the Anaconda build: pip uninstall -y Pillow && conda install -y -c defaults --override-channels pillow=11.3.0.
  • Checkpoint: retinal_age.pth, epoch 28. SHA-256 fb5fbddb2ab2e0189097b604a025d2d8ba042e8c7a998c7b3b16f2b8afe36b03

Chest Age

  • Input: frontal (PA or AP) radiographs. Images are resized to 256 pixels and centre-cropped to 224 Γ— 224.
  • Training data: ChestX-ray14 (NIH Clinical Center), 8,698 healthy patients (12,622 radiographs); validation 2,175 healthy patients (3,174 radiographs). The split was made at the patient level. Healthy means a radiograph with none of the fourteen findings (No Finding).
  • Checkpoint: chest_age.pth, epoch 42. SHA-256 8d006ee05a292e3764ca3ec8889b0d66675a508c1252f043017ba9d6e9566118

Abdominal Age

  • Input: NIfTI volume in Hounsfield units. The volume is resampled to 1.5 mm, the body is segmented at βˆ’950 HU and cropped with a 15 mm margin, and 32 axial slices are sampled.
  • Training data: Merlin abdominal CT dataset (Stanford AIMI), 4,633 healthy studies; validation 1,597 healthy studies. Merlin releases no patient identifiers, so its official split was kept. Healthy means a study with none of the thirty report-derived findings. Merlin is distributed under a non-commercial research data use agreement.
  • Checkpoint: abdominal_age.pth, epoch 29. SHA-256 1de3f4ad84b33eb1d457163c7cc7e954a2dce2563566b7a5b318f401b627c9c9

Brain Age

  • Input: a T1w NIfTI volume, or an OASIS-3 session ZIP archive. Each run is reoriented to RAS, intensity-clipped to the 0.5th and 99.5th percentiles, cropped to the head with a 5 mm margin, and 32 axial slices are sampled. A session with several T1w runs gets the mean prediction.
  • Training data: OASIS-3, 411 healthy patients (889 sessions); validation 103 healthy patients (229 sessions). The split was made at the patient level. Healthy means a session whose nearest clinical visit recorded CDR 0 and normal cognition.
  • Checkpoint: brain_age.pth, epoch 11. SHA-256 19cb29205c03e329ee67ba45195d8ea41ee7b1339ca3c036770ad79d869178cc

Limitations

The paper shows that the age gap from these models is pulled towards the mean age more strongly in unhealthy than in healthy patients (differential regression to the mean). Report associations within age subgroups. The age gap does not reliably reflect the health of an individual. Each model was trained on one cohort and has not been validated elsewhere. The models are for research use only and are not medical devices.

License

The weights are released under CC BY-NC 4.0. Use must also respect the terms of each training dataset.

OASIS-3 asks for this acknowledgement: "Data were provided in part by OASIS-3: Longitudinal Multimodal Neuroimaging: Principal Investigators: T. Benzinger, D. Marcus, J. Morris; NIH P30 AG066444, P50 AG00561, P30 NS09857781, P01 AG026276, P01 AG003991, R01 AG043434, UL1 TR000448, R01 EB009352. AV-45 doses were provided by Avid Radiopharmaceuticals, a wholly owned subsidiary of Eli Lilly."

Citation

@article{lin2026investigating,
  title   = {Investigating the fundamental characteristics of retinal age models},
  author  = {Lin, Yiqun and Ong, Ariel Yuhan and Wong, Matthew Yu Heng and others and Zhou, Yukun},
  journal = {Research Square},
  note    = {Preprint},
  year    = {2026},
  doi     = {10.21203/rs.3.rs-10157626/v1}
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for lyqun/AG-RTM

Finetuned
(1)
this model