How cloviachebett/ml-bones-classification works
This is a coursework prototype for classifying pediatric hand X-rays into three bone-maturity phases. The user uploads an image in the Streamlit portal, which preprocesses it, runs the saved model, and displays a phase and confidence. The README also describes a notebook workflow for preparing labeled data, training and evaluating a CNN, and saving the model. The notebook’s source was not sampled, so those training details are based on the README; dataset paths are not present in the tree.
Main entry points: app.py Streamlit portal · computervision.ipynb Image preparation · bone_age_model.h5 Trained model
Components 12
Data and Training
- Labeled X-rays
- Image preparation
computervision.ipynb - Data splitting
computervision.ipynb - CNN training
computervision.ipynb - Model evaluation
computervision.ipynb - Trained model
bone_age_model.h5
Prediction Portal
- Streamlit portal
app.py - Model loader
app.py - Upload preprocessing
app.py - Model inference
app.py - Phase and confidence
app.py
Other components
- X-ray uploader
Connections 12
- Labeled X-rays → Image preparation: provides images
- Image preparation → Data splitting: provides prepared data
- Data splitting → CNN training: provides training data
- CNN training → Model evaluation: produces model
- Model evaluation → Trained model: saves model
- X-ray uploader → Streamlit portal: uploads X-ray
- Streamlit portal → Model loader: loads model
- Model loader → Trained model: reads model
- Streamlit portal → Upload preprocessing: preprocesses upload
- Streamlit portal → Model inference: requests prediction
- Model inference → Phase and confidence: returns scores
- Streamlit portal → Phase and confidence: displays assessment