Back to selected work

Melanoma Detection

A research prototype that carries a lesion-image classifier from model training to a simple, portable inference experience.

EfficientNetB6BiLSTMTensorFlow LiteStreamlitISIC 2020

The use case

Image classifiers are difficult to assess outside a notebook. This project turns the trained model into an interactive workflow where a user can upload a lesion image, preview it, and request a benign-or-malignant classification.

The work uses lesion images from the International Skin Imaging Collaboration 2020 challenge. It is a machine-learning research demonstration, not a clinical diagnostic tool.

Inference flow

The Streamlit application keeps the inference path explicit and reproducible from upload to result.

Implementation decisions

  1. Start with transfer learning. A pretrained EfficientNetB6 extracts visual features, while a bidirectional LSTM forms the hybrid classification model documented in the project.
  2. Make deployment portable. The trained Keras model is converted into a single hybrid.tflite artifact consumed directly by the application.
  3. Keep preprocessing consistent. Every uploaded image follows the same resize, array conversion, pixel normalization, and batch-expansion sequence used by inference.
  4. Expose the model through a narrow interface. Streamlit handles upload, preview, and the explicit classify action without requiring a separate frontend or API.

Engineering outcomes

End-to-end delivery

The repository connects exploration, training references, model conversion, and a usable inference interface.

Portable inference

TensorFlow Lite packages the trained model as one deployment artifact for the Streamlit application.

Traceable preprocessing

The image transformation pipeline is visible in source rather than hidden behind an external service.

Responsible scope

The result is presented as a research classification workflow, not as medical advice or clinical diagnosis.