Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to classify sequence of images with keras deep learning

I want to make a classification model for a sequence of CT images with Keras. my dataset obtains from 50 patients and each patient has 1000 images. For a patient, each image has a meaningful relationship with the previous image. I want to use these meaningful relationships, so I don't know how to build a model for such this problem. can you please give me an idea or examples?

like image 441
omid Avatar asked Apr 24 '19 06:04

omid


People also ask

How do you classify images in deep learning?

Image classification with deep learning most often involves convolutional neural networks, or CNNs. In CNNs, the nodes in the hidden layers don't always share their output with every node in the next layer (known as convolutional layers). Deep learning allows machines to identify and extract features from images.

What is the best deep learning algorithm for image classification?

Two popular algorithms used for unsupervised image classification are 'K-mean' and 'ISODATA. ' K-means is an unsupervised classification algorithm that groups objects into k groups based on their characteristics.

What are the ways in which images can be classified?

The 3 main types of image classification techniques in remote sensing are: Unsupervised image classification. Supervised image classification. Object-based image analysis.


1 Answers

Your problem is in the context of Sequence Classification. You need to classify sequences of images. In this case, a model is needed to learn two aspects :

  1. Features of the images
  2. Features of the sequence ( temporal or time-related features )

This might sound similar to video classification in which a video is a sequence of several frames. See here.

For extracting features from images:

Most real-world cases use Convolutional Neural Networks. They use layers like Max Pooling and Convolution. They are excellent at extracting features from a 3D input like an image. You can learn more from here.

For handling temporal data:

Here's where you will require an RNN ( Recurrent Neural Network ). LSTM ( Long-Short Term Memory ) cells are popular RNN as they can hold a stronger memory than traditional RNNs.

RNNs preserve the hidden layer activations and use them in processing each and every term in a sequence. Hence, while processing the 2nd image in a sequence, the RNN has knowledge or activations of the 1st image in that same sequence.

You can know more from here.

Finally, we require a fusion of both the above networks:

A CNN-LSTM network uses both convolutional as well as LSTM cells to classify the image sequences.

This is how they look.

You can refer here and here

Hope that helps you. :-)

like image 147
Shubham Panchal Avatar answered Oct 31 '22 09:10

Shubham Panchal