Read my Medium post on this project
Note: Some people reached out and told me that they can't replicate some of the results in this repo. I couldn't find the reason, potentially one of the dependencies changed since I did this project a few years ago. Unfortunately I don't have any notes on which exact setup I used back then. If you find anything, please reach out to me :)
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)