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