/Keras-CompVis

Stats530 Computer vision project

Primary LanguagePython

Keras-CompVis

Stats530 Computer vision project

Goals:

Train a CNN to count cells from microscope images.

There are several things I think we should determine:

  1. Exactly what do we want to count/identify from an image.
  2. Determine what data would be easiest to use.
  3. Which package/s should we use to start figuring out how to approach this problem. Something like this: http://scikit-learn.org/stable/

Challenges :

  1. Figuring how to properly label the data
  2. Labeling the data
  3. Optimizing the machine learning algorithm for our specific problem.

CNN vs NN :

Counting With CNN

http://www.cs.tau.ac.il/~wolf/papers/learning-count-cnn.pdf

List of functionalities we will need:

  • Data Labeler : Display images--> allows user to count number of cells and added it to the image meta data/table. (generate labeled data to train model)
  • Model Trainer - train model on half of our data
  • Model Test - test model on the other half of our data
  • Application - Input image --> outputs cell count (only if model has a high accuracy)

Data

Need to find a source for images which have features which can be easily identified

  1. https://data.broadinstitute.org/bbbc/image_sets.html
  2. http://www.cs.tut.fi/sgn/csb/simcep/benchmark/ (Benchmark images)
  3. Simulated cell images: https://data.broadinstitute.org/bbbc/BBBC005/

From: https://www.tensorflow.org/tutorials/deep_cnn
For training, we additionally apply a series of random distortions to artificially increase the data set size:

  • Randomly flip the image from left to right.
  • Randomly distort the image brightness.
  • Randomly distort the image contrast.

Libraries:

Keras guides

https://keras.io/getting-started/sequential-model-guide/

Tensor Flow guides:

Small images training https://github.com/fchollet/keras/blob/master/examples/cifar10_cnn.py