Stats530 Computer vision project
Train a CNN to count cells from microscope images.
- Exactly what do we want to count/identify from an image.
- Determine what data would be easiest to use.
- Which package/s should we use to start figuring out how to approach this problem. Something like this: http://scikit-learn.org/stable/
- Figuring how to properly label the data
- Labeling the data
- Optimizing the machine learning algorithm for our specific problem.
- http://stats.stackexchange.com/questions/114385/what-is-the-difference-between-convolutional-neural-networks-restricted-boltzma
- CS231n Convolutional Neural Networks for Visual Recognition
http://www.cs.tau.ac.il/~wolf/papers/learning-count-cnn.pdf
- 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)
Need to find a source for images which have features which can be easily identified
- https://data.broadinstitute.org/bbbc/image_sets.html
- http://www.cs.tut.fi/sgn/csb/simcep/benchmark/ (Benchmark images)
- 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.
- Keras (https://github.com/fchollet/keras)
- Tensorflow (https://www.tensorflow.org)
- OpenCV (http://opencv.org)
- Scikit-learn (http://scikit-learn.org/stable/)
https://keras.io/getting-started/sequential-model-guide/
Small images training https://github.com/fchollet/keras/blob/master/examples/cifar10_cnn.py