This project presents an advanced dental disease detection on X-Ray images powered by YOLO (You Only Look Once), integrated into a Streamlit-based web interface. The model efficiently processes dental X-ray images to identify and classify common dental conditions, including:
- 🦷 Dental caries (cavities)
- 🦷 Restorative fillings
- 🦷 Impacted teeth
- 🦷 Dental implants
- Model: YOLO11n (nano version)
- Input Resolution: 640×640 pixels
- Target Classes: 4 (Cavities, Fillings, Impacted Tooth, Implant)
- Hyperparameters:
- Epochs: 5
- Batch Size: 16
- Optimizer: AdamW (lr=0.00125, momentum=0.9)
- Dataset Composition: 753 training images, 215 validation images
Condition | Detection Accuracy (mAP50) |
---|---|
Overall | 0.603 |
Implants | 0.916 |
Fillings | 0.827 |
Impacted Teeth | 0.644 |
Cavities | 0.0246 |
- Supports PNG, JPG, and JPEG image formats.
- Real-time inference on dental X-ray images.
- Side-by-side display of original and processed images.
- Dedicated visualization tabs for each detected pathology.
- Confidence scores for model predictions.
- Multi-perspective visualization:
- 🖼 Annotated full image with detection boxes
- 🔍 Cropped region of interest (ROI)
- 🎯 Focused view of marked ROI
- 📊 Distribution of detection confidence scores.
- 🥧 Class distribution pie charts.
- 📉 Interactive visualizations powered by Plotly.
- Python 3.9+
- Streamlit
- Ultralytics YOLO
- OpenCV
- Pillow
- Plotly
- NumPy
- Pandas
- Streamlit-lottie
- Clone the repository:
git clone [repository-url]
- Install dependencies:
pip install -r requirements.txt
- Launch the application:
streamlit run app.py
- Run the application:
streamlit run app.py
- Upload a dental X-ray image via the web interface.
- Review the analysis, including:
- 🦷 Bounding-box annotations for detected conditions.
- 📊 Model confidence scores per detection.
- 🔎 Detailed breakdown of each pathology.
- 📈 Statistical summaries and visual analytics.
The model was trained using the Ultralytics YOLO framework with the command:
yolo detect train data=datasets/Dental-X-ray/data.yaml model=yolo11n.pt epochs=5 imgsz=640
- 🚫 Cavity detection performance requires improvement (mAP50: 0.0246).
- 📷 Currently supports only X-ray image analysis.
- 🕒 Inference time depends on image resolution and system capabilities.
✅ Enhancing cavity detection through additional data augmentation
✅ Expanding compatibility to 3D dental imaging
✅ Integrating AI-driven treatment recommendations
✅ Developing real-time video processing capabilities
✅ Adding multilingual support for broader accessibility
We welcome contributions! Please fork the repository and submit a Pull Request with any improvements or feature additions.
For inquiries or collaborations, contact us via email: samridh@iiotengineers.com