- 🔎 Overview
- 📂 Dataset
- 🧠 Models Implemented
- 🎨 Grad-CAM Explainability
- 📊 Results
- ⚙️ Installation
- Project Structure
- 🔮 Future Work
- 📚 References
This repository focuses on Bone Age Assessment using advanced Convolutional Neural Networks (CNNs).
Bone age prediction is critical in diagnosing growth disorders in children. The project leverages multiple state-of-the-art architectures such as EfficientNet, ResNet101, and Xception, alongside Grad-CAM visualizations for explainability.
The goal is to:
- Improve accuracy in age estimation from X-ray images.
- Compare different architectures’ performance.
- Provide interpretability via Grad-CAM heatmaps.
We use the RSNA Pediatric Bone Age dataset, which contains X-ray images of hands annotated with bone ages.
- Source: RSNA Bone Age Challenge
- Preprocessing steps:
- Rescaling images to a fixed input size.
- Normalization for stable training.
- Augmentation (rotation, flipping, scaling) for robustness.
- Lightweight model, optimized for speed and accuracy.
- Good for baseline comparisons.
- Larger EfficientNet variant with more layers & parameters.
- Higher accuracy at cost of computation.
- Deep residual network with skip connections.
- Handles vanishing gradients effectively.
- Depthwise separable convolutions for efficiency.
- Strong performance in image classification tasks.
To ensure trustworthy AI in healthcare, we apply Grad-CAM to visualize which regions of X-rays influence predictions.
Example visualization:
| Model | Classification Model | Regression Model | Notes |
|---|---|---|---|
| EfficientNetB0 | 87.00% | 8.13 | Baseline |
| EfficientNetB5 | 87.10% | 8.37 | Best performing EfficientNet |
| ResNet101 | 86.95% | 9.56 | Stable, deep model |
| Xception | 86.58% | 6.82 | Good trade-off between accuracy and efficiency |
# Clone this repository
git clone https://github.com/dpavansekhar/AI-for-Predicting-Age-Specific-Human-Skeleton.git
cd AI-for-Predicting-Age-Specific-Human-Skeleton
# Create a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt 📦 bone-age-prediction
┣ 📂 images
| ┣ Thirteen-short-bones-in-the-hand-and-wrist-observed-in-the-scoring-system-based-on-the_W640.jpg
┣ 📂 notebooks
┃ ┣ EfficientNetB0.ipynb
┃ ┣ EfficientNetB5, ResNet101 & Xception.ipynb
┃ ┣ GradCAM.ipynb
┃ ┣ RSNA Bone Age Model Testing.ipynb
┣ 📂 outputs
┃ ┣ 📂 EfficientNetB0
┃ ┃ ┣ EffecientnetB0_Reg.keras
┃ ┃ ┣ EffecientnetB0.keras
┃ ┣ 📂 EfficientNetB5
┃ ┃ ┣ EfficientnetB5_reg.keras
┃ ┃ ┣ EfficientnetB5.keras
┃ ┃ ┣ history_eff_reg.pkl
┃ ┃ ┣ history_eff.pkl
┃ ┣ 📂 ResNet101
┃ ┃ ┣ history_res_reg.pkl
┃ ┃ ┣ history_resnet.pkl
┃ ┃ ┣ Resnet101_reg.keras
┃ ┃ ┣ Resnet101.keras
┃ ┣ 📂 Xception
┃ ┃ ┣ history_xcp_reg.pkl
┃ ┃ ┣ history_xcp.pkl
┃ ┃ ┣ Xception_reg.keras
┃ ┃ ┣ Xception.keras
┣ 📂 research papers
┃ ┣ 📚 1.pdf
┃ ┣ 📚 2.pdf
┃ ┣ 📚 3.pdf
┃ ┣ 📚 4.pdf
┃ ┣ 📚 5.pdf
┃ ┣ 📚 6.pdf
┣ 📜 requirements.txt
┣ 📜 README.md
┗ 🔧 .gitattributes - Incorporate Vision Transformers (ViT).
- Deploy as a Flask/Django Web App for doctors.
- Explore multi-task learning (gender + bone age).
- RSNA Pediatric Bone Age Dataset - Kaggle
- EfficientNet Paper: Tan & Le, 2019
- ResNet Paper: He et al., 2016
- Xception Paper: Chollet, 2017
- Grad-CAM Paper: Selvaraju et al., 2017
