commit files to HF hub
Browse files- README.md +49 -0
- resnet_bone_age_80m.onnx +3 -0
- resnet_bone_age_80m.pt +3 -0
README.md
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: mit
|
| 3 |
+
tags:
|
| 4 |
+
- bone-age
|
| 5 |
+
- regression
|
| 6 |
+
- medical
|
| 7 |
+
- resnet
|
| 8 |
+
- pytorch
|
| 9 |
+
- onnx
|
| 10 |
+
---
|
| 11 |
+
|
| 12 |
+
# Bone Age Regression Model (ResNet152, 80M+ params)
|
| 13 |
+
|
| 14 |
+
This model predicts bone age (in months) from hand X-ray images and gender (male/female).
|
| 15 |
+
- **Base:** ResNet152 pretrained on ImageNet, with added gender embedding and extra layers.
|
| 16 |
+
- **Input:** 256x256 PNG image, gender (0=male, 1=female)
|
| 17 |
+
- **Output:** Bone age in months (float).
|
| 18 |
+
|
| 19 |
+
## Training Data
|
| 20 |
+
|
| 21 |
+
- [RSNA Bone Age Dataset on Kaggle](https://www.kaggle.com/datasets/kmader/rsna-bone-age)
|
| 22 |
+
- 12,500 hand X-rays, age labels, gender labels.
|
| 23 |
+
|
| 24 |
+
## Usage
|
| 25 |
+
|
| 26 |
+
```python
|
| 27 |
+
from PIL import Image
|
| 28 |
+
import torch
|
| 29 |
+
import onnxruntime as ort
|
| 30 |
+
|
| 31 |
+
# PyTorch inference
|
| 32 |
+
from finetune_resnet_bone_age import BoneAgeResNet, transforms
|
| 33 |
+
model = BoneAgeResNet()
|
| 34 |
+
model.load_state_dict(torch.load('resnet_bone_age_80m.pt'))
|
| 35 |
+
model.eval()
|
| 36 |
+
img = transforms(Image.open('your_image.png').convert('RGB')).unsqueeze(0)
|
| 37 |
+
gender = torch.tensor([0.0]) # 0 for male, 1 for female
|
| 38 |
+
age_pred = model(img, gender)
|
| 39 |
+
|
| 40 |
+
# ONNX inference
|
| 41 |
+
ort_sess = ort.InferenceSession('resnet_bone_age_80m.onnx')
|
| 42 |
+
outputs = ort_sess.run(None, {
|
| 43 |
+
"image": img.numpy(),
|
| 44 |
+
"gender": gender.unsqueeze(0).numpy()
|
| 45 |
+
})
|
| 46 |
+
print("Predicted age:", outputs[0][0])
|
| 47 |
+
Citation
|
| 48 |
+
If you use this model, please cite the RSNA Bone Age dataset and this repository.
|
| 49 |
+
|
resnet_bone_age_80m.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:82fb29361d2e84602a7f1de46f30a3b8232ed15418ca160fad1caaf7b1c8a0ef
|
| 3 |
+
size 241926826
|
resnet_bone_age_80m.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:5606e35db57d71dfbb08538399c6c13b666d15bc539e34f6fac99dec729118b7
|
| 3 |
+
size 243074950
|