This project is the world's first AI system to determine a person's age by analyzing 3D low-dose thorax CT images of the clavicle. It has higher accuracy and a wider age detection range than more traditional hand bone age assessment and is much faster than estimates of trained radiologists.
→ Invitation to 2020's nationwide final, placed TOP 5
| module name | function |
|---|---|
| batch_loader | fast, parallelized loading, processing, augmenting and caching of CT images |
| train_framework | framework to train and compare the performance of different net structures |
| vgg16_3d | implementation of a 3D VGG16 Net |
| vgg16_attention_pretrained | pretrained 3D VGG16 Net with attention |
| alexnet_3d | implementation of a 3D Alexnet |
| convert_crop | automatically crop and convert DICOM data with segmentation point |
| preprocessing | helper functions for preprocessing |
| util | general helper functions |
| clr_callback | cyclic learning rate callback for keras |
| predict | prediction of not yet segmented CT images |
Installation of all needed dependencies by running
pip install -r requirements.txtThe best models can be downloaded from Google Drive
| neural net structure | learning rate | Test-Set MAE in months | |
|---|---|---|---|
| 1 | 3D VGG16, BN, 3 Dense* | CLR [0.01, 0.001] | 23.14 |
| 2 | 3D AlexNet, 4 Conv Layers, BN, 3 Dense | CLR [0.01, 0.001] | 23.76 |
| 3 | 3D VGG16, BN, GlobalMaxPooling3D* | CLR [0.01, 0.001] | 25.60 |
| 4 | VGG16 Attention**, ersten 3 Layer trainierbar, BN, 3 Dense | CLR [0.1, 0.01] | 30.16 |
| 5 | VGG16 Attention**, GlobalMaxPooling | CLR [0.1, 0.01] | 32.43 |
| ... |
*modified, without pooling after the 4th block to allow for convolutions in the 5th block
**pretrained on RSNA Bone Age from kaggle
Thanks to LMU for the dataset
