← Work experience Machine learning
Medical imaging & clinical document intelligence
Image classification and detection on medical scans, OCR on scanned clinical documents, and semantic retrieval across healthcare records, where the first problem is almost always data quality.
- Imaging
- Domain
- YOLO
- Detection (+ Faster R-CNN)
- Data Scientist / ML Engineer
- Role
- OCR + Azure Document Intelligence
- Documents
Architecture
- 01Images & documentsclinical, imaging, scans
- 02PreprocessOpenCV · OCR · Azure
- 03Vision modelsCNNs · YOLO · Faster R-CNN
- 04Clinical NLPspaCy · BERT
- 05RetrievalSentence Transformers + FAISS
- 06ServeFlask · FastAPI · MLflow
The problem
Clinical, imaging and operational data arrives inconsistent: different formats, varying image quality, scanned documents that aren’t machine-readable, and clinical text full of domain-specific language. Before any model, the data had to be cleaned, structured and validated with Python, SQL, Pandas and NumPy.
Medical images
Image datasets were prepared with OpenCV (resizing, normalization, enhancement, format conversion). I ran image-classification experiments with TensorFlow, Keras and CNNs, and explored object detection with YOLO and Faster R-CNN on labelled image regions. Some experiments used PyTorch to compare architectures. Augmentation and tuning dealt with class imbalance and inconsistent image characteristics.
Scanned documents and clinical text
OCR, Azure Document Intelligence and Azure Cognitive Services extracted text from scanned clinical and operational documents. Pipelines with spaCy, NLTK, BERT and Hugging Face Transformers classified clinical and technical text and pulled out important terms.
Semantic retrieval
Sentence Transformers and FAISS power a document search that surfaces related records even when the wording differs. On top of it I prototyped retrieval-augmented workflows that ground LLM answers in retrieved healthcare documentation.
Evaluation and delivery
- Error analysis: SHAP, confusion matrices and validation metrics show where predictions hold up and where more data preparation was needed.
- Scale: PySpark prepares larger training sets.
- Tracking: MLflow records experiments and artifacts.
- Serving: selected models sit behind Flask and FastAPI endpoints so application teams can test inference without touching notebooks.