Retinal OCT Images (Optical coherence tomography)

This use case cover a retinal OCT images . Retinal optical coherence tomography (OCT) is an imaging technique used to capture high-resolution cross sections of the retinas. Arount 30M of scans are done each year, and it takes amount of time to analyse them. In this use case we are going to classify this types of images in four classes: choroidal neovascularization (CNV), Diabetic macular edema (DME), Multiple drusen present in early AMD (Drusen) and normal retina.


We based on the Retinal OCT dataset from kaggle. This dataset is unbalanced as we can see in the next image:


We choose only 4k images of each class to balance the dataset for our use case.

The dataset is accesible using Perceptilabs github


layer Configuration
Input layer
Merge 3 Inputs with same link of input source
MobileNetv2 include_top=false, pretrained=imagenet
Dense Activation=ReLU, Neurons=128
Dense Activation=ReLU, Neurons=4
Output layer


Statistic view

Accuracy plot


Another nice model! Could you explain what the merge node is doing and what contribution mobilenet is making? In fact, it would further enhance these nice vignettes if there was a brief description of the architecture ~layer by layer - overall, and why you chose what you chose rather than something else.

But still… v. nice!

Merge node in this case is used as a trick to convert a 1 channel image (gray scale) to three channel layers like RGB, in this case I convert the gray images to 3 layers as an input requirement of Mobilenet.

MobileNet is choosed as a fast inference model. Mobilenet is designed to inference in mobile devices. Of course we can choose other types of architectures, but this architecture is fast to train and inference with very good results. For more info about Mobilenet:

1 Like

@damiles Cool! Thanks for the clarifications.