Inspiration
As a Computer Science and Engineering student interested in Artificial Intelligence and Machine Learning, I wanted to build a project that applies these technologies to a meaningful, real-world problem. I was particularly interested in exploring how computer vision could improve the visualization of medical images and how AI could help identify patterns within them.
This inspired me to develop XrayGuide AI, an experimental chest X-ray analysis prototype that combines OpenCV 5 image enhancement, AI-assisted findings, visual explanations, PDF reporting, and AWS cloud storage. I wanted to understand how these technologies could work together in a single application while ensuring that AI-generated results were presented responsibly.
What it does
XrayGuide AI provides an experimental workflow for chest X-ray image analysis through a web application.
- Image enhancement: I use OpenCV 5 to process chest X-ray images and compare the enhanced version with the original.
- AI-assisted findings: I integrated a pretrained PyTorch-based chest X-ray model to generate ranked findings.
- Visual explanations: I use Grad-CAM visualizations where supported to highlight regions associated with model predictions.
- Image-quality analysis: I display image dimensions, grayscale intensity statistics, contrast, and file size to compare the original and enhanced images.
- PDF reporting: I implemented downloadable PDF reports containing relevant images, measurements, AI outputs, explanations, and limitations.
- AWS integration: I connected Amazon S3 for private storage of uploaded images and generated reports.
My aim was to combine these capabilities into one application rather than create separate demonstrations of image processing, AI inference, and cloud storage.
How I built it
I independently designed and developed XrayGuide AI using Python and Streamlit.
I integrated OpenCV 5 for image processing and enhancement, PyTorch and TorchXRayVision for pretrained-model inference, and Grad-CAM visualizations where supported. I implemented image-quality measurements to compare original and enhanced images and developed a PDF-generation workflow to present the results in a structured format.
For cloud integration, I connected Amazon S3 to store uploaded images and generated reports in a private bucket. I configured AWS credentials through Streamlit Secrets rather than hard-coding sensitive information into my source code.
I then connected these components through a Streamlit interface and worked on dependency management, configuration, and deployment to make the application accessible through a web browser.
Challenges I ran into
Since this is an individual project, I handled the technical challenges, debugging, and integration myself.
One of my main challenges was integrating image processing, AI inference, visual explanations, and PDF generation into a consistent workflow. Each component had different dependencies and requirements, so I had to troubleshoot compatibility and configuration issues.
Another challenge was understanding the limitations of pretrained medical AI models. Predictions can be uncertain, and visual explanations do not prove that a disease is present. I therefore needed to ensure that the application communicated its experimental nature and did not present model outputs as confirmed diagnoses.
AWS integration also required careful configuration of credentials, private storage, and file handling. I additionally encountered dependency and deployment configuration issues while preparing the application for cloud deployment.
Working through these challenges taught me the importance of testing the complete application, maintaining secure configurations, and considering reliability and usability alongside AI functionality.
Accomplishments that I'm proud of
I am proud to have independently developed a prototype that combines multiple technologies into a single application.
My key accomplishments include:
- Integrating OpenCV 5 into a chest X-ray image-processing workflow.
- Connecting a pretrained AI model for experimental chest X-ray findings.
- Incorporating Grad-CAM visualizations where supported.
- Implementing image-quality comparisons between original and enhanced images.
- Developing downloadable PDF reports.
- Integrating private AWS S3 storage for uploaded images and generated reports.
- Bringing computer vision, deep learning, reporting, and cloud infrastructure together in one web application.
I am particularly proud that I was able to apply my AI/ML knowledge to a practical project while gaining experience with cloud integration and application deployment.
What I learned
Through this project, I strengthened my practical understanding of computer vision, pretrained deep-learning models, model explainability, Streamlit application development, and AWS integration.
I learned how to connect separate technical components into an end-to-end workflow, manage cloud credentials more securely, generate structured reports, and troubleshoot deployment issues.
I also learned that building an AI application requires more than obtaining predictions from a model. It is important to understand the model's limitations, communicate uncertainty, protect sensitive data, and avoid presenting experimental outputs as clinically validated results.
This experience helped me move beyond learning individual AI concepts and understand how to apply them in a complete software application.
What's next for XrayGuide AI
I plan to improve XrayGuide AI by evaluating its performance on appropriate, de-identified datasets and investigating how image enhancement affects model predictions.
My future plans include improving model evaluation, refining the user interface and PDF reports, strengthening access controls and data-retention policies, and making the application's limitations and outputs more transparent.
I also want to test the application more extensively across different inputs and deployment environments to improve its reliability.
My long-term goal is to develop XrayGuide AI into a more thoroughly evaluated AI-assisted image-analysis prototype that demonstrates how computer vision, deep learning, explainability, and cloud services can be combined responsibly.
Building this project has been a valuable step in my journey toward becoming an AI/ML engineer, allowing me to apply my knowledge, solve practical engineering challenges, and explore the development of meaningful AI-powered applications.
Disclaimer: XrayGuide AI is an experimental prototype, not a validated medical device. Its outputs must not be used to diagnose, rule out, or make treatment decisions about medical conditions.
Built With
- amazon-web-services
- artificial-intelligence
- boto3
- computer-vision
- deep-learning
- grad-cam
- image-processing
- machine-learning
- medical-imaging
- opencv-5
- python
- pytorch
- streamlit
- torchxrayvision