1 of 32

DeepOculus: Generative AI For Eye Retina Disease Tracking

By: Timothy Gao, Henry Hong, Marcus Koh, and Ohm Rajpal

2 of 32

Our Team

Timothy Gao

Ohm Rajpal

Marcus Koh

Henry Hong

3 of 32

ABOUT THE CHALLENGE

01

4 of 32

The Challenge

Use generative AI to create artificial retinal video sequences & eye motion traces given a disease state.

5 of 32

Impact

02

6 of 32

Understanding eye diseases

Using Generative AI, doctors can understand how the an average retina would look when affected by a particular disease.

Doctors can use this to help diagnose patients, learn what causes the disease, and/or how to effectively treat the disease.

7 of 32

Our Product

03

8 of 32

DeepOculos 1

Introducing

9 of 32

What is Deep Oculos 1?

LSTM Artificial Eye Movement Generator

GAN Retinal Video Generator

Disease state

MS

mTBI

MCI

10 of 32

Example

11 of 32

Show me what a patient’s retina would look like if they are affected by mTBI

Thank you DeepOculos!

Here you go!

Beep Boop Beep

12 of 32

How We Built It

04

13 of 32

  • Created time series based on vertical and horizontal eye movement data

  • Long Short-term Network captures long term and short term patterns in past eye movement data to predict and generate future eye movement patterns

LSTM Architecture

14 of 32

  • Used a four-layer LSTM network with dropout regularization after each LSTM layer and a single dense neuron output layer
  • Trained over 50 epochs, with rmsprop optimizer and mean_squared_error as loss function
  • Utilized first 80% of each time series as training data, last 20% as testing data
  • Used MinMaxScaler to normalize all pixel values to [-1, 1] domain
  • Used previous 60 frames as context for each sliding window

Implementation Details

15 of 32

Model Results

16 of 32

17 of 32

DCGAN (Deep Convolutional GAN)

  • Combined Convolutional and Transposed Convolutional layers into GAN architecture
  • Sample from Gaussian to generate initial random state

  • Extracted the video frames using a parser
  • Downsize video frames from 512x512 to 64x64
  • Created discriminator using positive values for real retinal data and negative values for fake data
  • Generates video frames, which can then be turned into a video sequence

Convolutional Layer

18 of 32

  • Extracted every other video frame
  • Downsize video frames from 512x512 to 64x64

DCGAN

Original 512x512

Downsized 64x64

19 of 32

  • Created discriminator using positive values for real retinal data and negative values for fake data
  • Used LSTM-generated eye movement data to generate artificial retina video frames
  • Combine all 64x64 video frames into video

DCGAN (Deep Convolutional GAN)

Generator Model Summary

Discrimater Model Summary

Combined GAN Architecture

20 of 32

Training for 1000 Epochs

21 of 32

2000 Epochs

22 of 32

3000 Epochs

23 of 32

Generated

Real

24 of 32

Generated

Real

25 of 32

Final Result

26 of 32

27 of 32

Technologies Used

05

28 of 32

Technologies Used

  • Tensorflow: To build LSTMs, GANs
  • Scikit-Learn: MinMaxScaler and Train Test Split
  • Keras: Deep learning API (Sequential Model and neural network layers)
  • Seaborn and Matplotlib: Data Visualization
  • NumPy: For calculations and array manipulation
  • Pandas: For processing CSV files

29 of 32

Challenges Faced

06

30 of 32

Challenges

  • GPU was not powerful enough to run on 512x512 images as computation scales exponentially
  • Inefficient code for ML with large datasets
    • Difficult to traverse through huge data set
  • Autoencoder failed due to large image size and the images were too large for processing (512 x 512)
    • We downscaled and gray scaled to (64 x 64)

31 of 32

Future Developments

  • Use GAN to generate full-scaled 512x512 images
  • Further tune our model to better bridge the connection between our LSTM and GAN models
  • Transitioning from average results to patient-oriented results
  • Ophthalmoscopes are expensive

32 of 32

Thank you! Q/A

07