Inspiration

Oral cancer remains a massive global health challenge, where late-stage diagnosis drastically reduces survival rates. While early detection saves lives, routine specialist screenings are out of reach for millions. I realized that almost everyone carries a powerful, high-resolution sensor right in their pocket: a smartphone. I built OralScan AI as a solo engineer to bridge this gap, turning standard mobile photos into an accessible, preliminary screening tool that clearly alerts individuals when they should seek professional clinical care.

How I Built It

I engineered the entire end-to-end deep learning pipeline from scratch, designing a modular, configuration-driven codebase:

  • The Core Architecture: I selected an ImageNet-pretrained EfficientNet-B3 model, fine-tuning it with a custom setup utilizing selective layer freezing and cosine annealing learning rate schedules.
  • Explainability Layer: In medical AI, black-box predictions can be dangerous. I implemented a custom Grad-CAM pipeline that hooks directly into the final convolutional feature maps, rendering clear visual heatmaps so users can see exactly where the model detects anomalies.
  • Deployment: I wrapped the full pipeline into a lightweight Flask web application optimized with automatic mixed-precision inference (CUDA AMP) for rapid, seamless processing.

Challenges Faced

The biggest hurdle I faced working alone was managing domain shift and image artifacts. Smartphone images taken by everyday users vary wildly in lighting, flash glare, focus depth, and background noise (like lips or teeth). To prevent the model from overfitting to camera types or lighting rather than the pathology, I designed a robust, heavily augmented data preprocessing pipeline and enforced stratified splits to ensure strong generalization across diverse real-world environments.

What I Learned

Building this project solo taught me that medical machine learning demands a careful balance between raw accuracy and absolute transparency. Developing the Grad-CAM integration from scratch showed me how to debug model attention maps effectively, proving that model interpretability is just as critical as optimizing loss curves when designing tools meant for health screening.

Built With

Share this project:

Updates