This is an example of object detection with neural networks (implemented with keras). The training images contain abstract geometric shapes and can be easily bootstraped.
The code is split up into several Jupyter notebooks. They increase in complexity:
- Detection of rectangles in numpy arrays: single-rectangle, two-rectangles, multiple-rectangles
- Additional classification between rectangles and triangles: two-rectangles-or-triangles, multiple-rectangles-or-triangles
- Application to more complex images (using convnets): color-multiple-shapes
Requirements: Python 2.7, keras (v1.0.5), theano or tensorflow, numpy, matplotlib, jupyter, pycairo (only for color-multiple-shapes.ipynb)