This project implements a cross-platform mobile application for teeth segmentation using a YOLOv11 instance segmentation model. The solution is built in Flutter for the mobile front-end and uses a Flask-based backend for running the trained ML model. It accurately detects and outlines individual teeth from images and displays the segmentation in real time.
Watch the full project walkthrough on Loom:
π Loom Video Explanation
- Built using Flutter for both Android and iOS support.
- Captures or selects teeth images from gallery.
- Sends image to the backend API for segmentation.
- Receives polygon coordinates and renders them over the image using
CustomPainter. - Smooth UI and fast response thanks to server-side inference.
Key Features:
- Flutter UI/UX
- API integration with Flask server
- Real-time polygon overlay
- CustomPainter for drawing masks
- Built with Flask to expose a lightweight HTTP API.
- Loads a custom-trained YOLOv11 instance segmentation model.
- Accepts image input via POST request.
- Runs inference and converts model output to polygon coordinates.
- Returns JSON response with detected teeth regions.
Tech Stack:
- Flask
- YOLOv11 (Ultralytics)
- OpenCV, NumPy
- Polygon conversion utilities
- We curated and annotated a dental image dataset using Roboflow.
- Our ML developer manually labeled segmentation masks for accurate training.
- Trained a YOLOv8 instance segmentation model optimized for tooth boundaries.
- Exported the final model weights for backend inference.
- Dental diagnosis assistance
- Smile design & cosmetic simulations
- Automated teeth labeling and counting
- Pre/post treatment comparison
- Dental record digitization
- Go to the
Backend/folder. - Install dependencies:
Use PyCharm Editor - Run server:
python app.py
- Go to the
Frontend/folder. - Install packages:
flutter pub get - Run app:
flutter run
Make sure the backend is running and accessible by the mobile app.
For any questions or collaboration inquiries, feel free to reach out via GitHub Issues or connect on LinkedIn.
- π Portfolio: offfahad.netlify.app
- πΌ LinkedIn: linkedin.com/in/offfahad
- π GitHub: github.com/offfahad