This is an exercise in object detection and image segmentation using CNNs (implemented with keras using tensorflow backend).
The dataset consists of five different shapes (Rectangle, Circle, Triangle, Pentagon and Hexagon) and the bounding boxes and image masks for all the images containing a combination of these shapes (maximum of three objects per image). The overlap between these objects are controlled by calculating the IoU scores for the individual bounding boxes and the default is set at 5% - meaning the bounding boxes in the default setup will not overlap more than 5%.
The training data can be created using the Data Generator.
In this notebook, a simplified version of the YOLO architecture is utilized to achieve object detection while a U-net is used inorder to achieve image segmentation.
Sample output of detection
Sample output of segmentation