Real-time 2D Object Recognition

Feb 2023

This project is about building a real-time 2D object recognition system that can recognize a set of objects in a rotation, scale, and translation-invariant manner.  The goal is to have the computer identify a specified set of objects placed on a white surface detected by a camera looking straight down. The processes involved are: thresholding binary image, cleaning binary image, and then segmentation of image/video stream. Feature vectors invariant to scale and orientation are chosen viz. Hu moments (0-5, excluding 6 which is not rotation invariant), along with percentage filled area and aspect ratio of the oriented bounding box. Closest neighbor is calculated from the DB and a label is assigned to the target image.

Please find the report for the same below.

Github: https://github.com/devvaibhav455/opencv_practice/tree/main/Project_03_Real_Time_Object_2D_Recognition