Image Processing for Healthcare Industry

  • Score Awaiting client review
  • Date Published
  • Reading Time 2-Minute Read
Case study data science

Image Processing for Healthcare Industry.

Client: Healthcare company specialized in human reproduction and embryology

Industry: Healthcare

Length: 2 months

Goal: Based on videos decide whether insemination is successful or not in early stages

Tech: Python, TensorFlow, Deep Learning, Neural Networks, OpenCV

The Challenge

We got labeled videos of embryos as data set. The goal of this project is to make machine learning model that would classify videos of embryos into 3 groups:

  • Liveborn – embryo will result in liveborn
  • No Implantation – embryo will not implant
  • Miscarriage – embryo will result in miscarriage

This machine learning model would help doctors to decide which embryo has the highest probability to result in successful pregnancy.

The Approach

The idea is to make vector embedding of video frames, and to use those vectors as sequence to make final prediction for video. Generally, we can this split approach into 3 phases:

  • Preprocessing
  • Dimensionality reduction (embedding)
  • Video classification

The Solution

The first stage of solution is preprocessing of data set. Dataset consists of video files, where each video has embryo develop process in first 140h. The video files are converted to set of images (frames) using OpenCV. For each image we applied various transformation to extract embryo. After that we applied data augmentation to increase our train set with slightly rotated, translated and flipped images. In order to classify whole video (sequence of frame images) we decided to use semi-supervised learning. The unsupervised learning is applied on single image in order to build lower space representation as vector embedding. We tried 2 convolutional neural network architectures that can extract features from images: Variational Autoencoder, Stacked Denoising Autoencoder. After our neural network learned to extract features from image we applied various classification algorithms at the top of embedding. We tried single image classification using Support Vector Machine, and whole video classification as sequence with Long Short-Term Memory.

The Results

Our approach achieved solid results in classification of images and videos on test set. The next step is to extend our model with greater video data set. Also, we plan to combine results given from images and metadata describing every video in order to get even better results.