Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jrieke/shape-detection
🟣 Object detection of abstract shapes with neural networks
https://github.com/jrieke/shape-detection
dataset deep-learning keras machine-learning machine-learning-tutorials neural-networks object-detection object-recognition synthetic-data tutorial
Last synced: 5 days ago
JSON representation
🟣 Object detection of abstract shapes with neural networks
- Host: GitHub
- URL: https://github.com/jrieke/shape-detection
- Owner: jrieke
- License: mit
- Created: 2016-07-02T13:59:49.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2020-10-22T22:40:03.000Z (about 4 years ago)
- Last Synced: 2024-10-23T00:36:15.454Z (14 days ago)
- Topics: dataset, deep-learning, keras, machine-learning, machine-learning-tutorials, neural-networks, object-detection, object-recognition, synthetic-data, tutorial
- Language: Jupyter Notebook
- Homepage:
- Size: 1.12 MB
- Stars: 218
- Watchers: 10
- Forks: 131
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# shape-detection
**Read my [Medium post](https://towardsdatascience.com/object-detection-with-neural-networks-a4e2c46b4491) 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](https://keras.io/)). 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](single-rectangle.ipynb), [two-rectangles](two-rectangles.ipynb), [multiple-rectangles](multiple-rectangles.ipynb)
* Additional classification between rectangles and triangles: [two-rectangles-or-triangles](two-rectangles-or-triangles.ipynb), [multiple-rectangles-or-triangles](multiple-rectangles-or-triangles.ipynb)
* Application to more complex images (using convnets): [color-multiple-shapes](color-multiple-shapes.ipynb)![](plots/bw-single-rectangle_prediction.png)
**Requirements**: Python 2.7, keras (v1.0.5), theano or tensorflow, numpy, matplotlib, jupyter, pycairo (only for color-multiple-shapes.ipynb)