SSD implementation in development in TensorFlow
Python OpenEdge ABL
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.idea some changes Oct 28, 2016
images some result images Nov 1, 2016
vgg initial Oct 28, 2016
README.md Update README.md Nov 6, 2016
coco_loader.py single image eval Nov 2, 2016
constants.py fix Nov 2, 2016
i2name.p _ Nov 6, 2016
matcher.py input Nov 5, 2016
model.py debugging Oct 30, 2016
ssd_common.py val/test images Nov 1, 2016
tf_common.py debugging Oct 30, 2016
trainer.py settings Nov 16, 2016
webcam.py ip webcam Nov 2, 2016

README.md

ssd_tensorflow

Single Shot Multibox Detector (SSD) (paper) implementation in TensorFlow, in development.

Results of some hand-picked test images through an experimental run with MS COCO, some good and some bad:

Just looking through them, the results are okay but not good enough.

However, there are still major things needed to do that was done in the original paper for COCO but not here:

  • Train on 500x500 images (this was 300x300)
  • Use COCO trainval (this was only train)
  • Use batch size 32 (this was only 8)

Other major improvements needed:

  • Implement proper evaluation (mAP)
  • Optimize training (currently pretty slow)

Concerns:

  • Simple momentum optimizer stopped working (stopped converging) at some point during development, but adding batch normalization made it work again

Dependencies

  • TensorFlow
  • OpenCV
  • MS COCO tools

Basic Instructions

  • This project is still under development--it's especially slow, but here are some instructions anyway.
  1. You need vgg16.npy from this repository, which is what I used for the base network. Unfortunately, it's a big file, and for now it's just uploaded to Mega, so you might need an account. Direct link to npy

  2. For now, the code uses and depends on MS COCO. You need the MS COCO dataset from here. You should at least have the 2014 training images and corresponding 2014 train/val object instance annotations.

  3. Download and install COCO tools from here

  4. Change the COCO paths in coco_loader.py

  5. Test or train with trainer.py