Inspiration

In developing countries and rural areas, timely diagnosis of medical conditions remains a huge challenge due to limited access to healthcare professionals and diagnostic tools. This inspired us to create MediScan AI, an accessible, AI-powered medical imaging tool to assist healthcare workers, students, and even patients themselves in identifying possible abnormalities from medical scans.

What it does

MediScan AI is a web-based application that takes in medical images (like X-rays or CT scans) and uses deep learning models to detect anomalies. It visually highlights the region of concern and provides a confidence score for the prediction, offering valuable insights to users.

How we built it

  • We trained a U-Net segmentation model using PyTorch to identify regions of interest in medical scans.
  • The front end was built using Streamlit, making it easy to use and deploy.
  • We handled image preprocessing with OpenCV and PIL to prepare the data for inference.
  • The backend uses PyTorch models, which are loaded and run in real-time on the uploaded image.
  • We containerized the app for deployment using Docker.

Challenges we ran into

  • Fine-tuning the segmentation model to generalize across diverse scan qualities and sources.
  • Ensuring the Streamlit interface remains lightweight and responsive even with image-heavy tasks.
  • Managing PyTorch model compatibility and handling TorchScript serialization warnings.

Accomplishments that we're proud of

  • 🧠 Built a Working Prototype: We successfully developed a functional web app that can analyze medical images and highlight potential abnormalities using deep learning.

  • 🔬 Integrated AI with UI: Bridging complex AI models with an easy-to-use interface through Streamlit was a major milestone, especially for a healthcare-focused use case.

  • ⏱️ Real-Time Inference: Achieving fast and accurate predictions with our PyTorch model, even on basic hardware, was a big win for usability and deployment.

  • 🌱 Beginner to Builder Journey: For some of our team members, this was their first hands-on project involving machine learning and computer vision—and we did it!

  • 💡 Problem-Driven Approach: Instead of building for fun, we designed MediScan AI to solve a real-world problem in early-stage diagnostics, making the project meaningful and impactful.

  • 🔄 Overcame Technical Errors: We tackled PyTorch model serialization issues, TorchScript warnings, and compatibility problems—all while staying on track and learning from each challenge.

  • 🤝 Team Collaboration: Successfully working together, dividing roles (frontend, model, UI/UX, documentation), and merging our work seamlessly is something we’re truly proud of.

What we learned

  • Integrating AI models into real-world web applications using Streamlit and Python.
  • Handling TorchScript warnings and understanding model serialization nuances in PyTorch 2.6.
  • Designing UI/UX that is beginner-friendly while retaining diagnostic precision.

What's next for MediScan AI

While MediScan AI currently offers basic anomaly detection through image segmentation, we have exciting plans to expand its capabilities:

  • Multi-Disease Classification: Integrate models trained to detect specific diseases such as pneumonia, tuberculosis, or COVID-19 from chest X-rays and CT scans.

  • Mobile Optimization: Develop a lightweight mobile version so healthcare workers in remote areas can scan and diagnose using just a smartphone.

  • Medical Report Generation: Automatically generate preliminary medical reports using AI-powered summarization based on scan results.

  • Cloud-Based Deployment: Host the app on cloud platforms like AWS or Google Cloud for broader accessibility and real-time processing.

  • Doctor Collaboration Portal: Add a feature for remote consultation, where users can optionally share results with registered medical professionals.

  • Security and Privacy Enhancements: Implement encryption and secure storage of medical data to comply with healthcare regulations like HIPAA.

Built With

Share this project:

Updates