This is a Keras-based Python implementation of DeepMask- a complex deep neural network for learning object segmentation masks. The full article can be found here: Learning to Segment Object Candidates.
This was implemented as a final project for TAU Deep Learning course (2016).
- Install all requirements, as listed below
 - Download mscoco annotations (see below)
 - Download and convert graph weights with HeplerScripts/CreateVggGraphWeights.py (see below)
 - Create the learning dataset using ExamplesGenerator.py
 - Create a train and test directories with examples to train and test on. Default locations are 'Predictions/train' and same for test (can be configured in EndToEnd.py)
 - Run EndToEnd.py
 
This was run on Windows 8.1 (64 bit) on a CPU with 8GB RAM. In brackets are the versions I used.
- Python
- Anaconda for Windows x64 with Python 2.7 (Anaconda version 2.4.1)
 
 - Theano (0.8.0.dev0)
- conda install mingw libpython
 - git clone https://github.com/Theano/Theano.git
 - python setup.py install
 
 - Keras (0.3.1)
- NOTICE- if you get an error regarding the 'Graph' object, you are probably not using the correct Keras version
 
 - Open CV (3.1.0)
- Download installation here
 - Copy cv2.pyd to site-packages dir inside python's lib dir in anaconda
 
 - Coco API (1.0.1)
- git clone https://github.com/pdollar/coco
 - python setup.py build_ext install
 
 
- VGG-D
- Net was taken from here. Weights should be downloaded locally, and converted to graph format using HelperScripts/CreateVggGraphWeights.py
 - Full article: Very Deep Convolutional Networks for Large-Scale Image Recognition
 
 - MSCOCO
- Download annotation files here