Yael Ben Shalom
  • Projects
  • Platforms
  • Skills
  • About
  • Contact

Real-Time Object Recognition and Classification

Python | Pytorch | Machine Learning | Neural Networks | Computer Vision | YOLO
January 2021 - March 2021

Description

In this project, I build and trained a neural network to detect and classify different objects.

This project contained 3 parts:

  1. Traffic sign detection and classification
  2. Trash detection, classification and segmentation
  3. Implementation of a real-time trash recognizing and sorting robot

In order to detect and classify the objects, I used Pytorch to train the network, YOLOv5 (You Only Look Once) to detect the objects, and computer vision library (OpenCV) to visualize the detection results.

Take a look at the project on my GitHub page or click on the following videos to get to the relevant part.

Traffic-signs recognition and classification

Traffic-signs recognition and classification

Trash recognition and classification

Trash recognition and classification

Trash recognition and classification

Real-time trash recognizing and sorting robot


Traffic-Signs Recognition and Classification

In this part, I trained a neural network to detect and classify different traffic signs using PyTorch, YOLOv3 and OpenCV.
I based my program on the German Traffic Sign Detection Benchmark (GTSBB) dataset - a broad dataset containing 43 different classes and more than 50,000 images.

The following video demonstrates the software detecting several types of traffic-signs:

Traffic-signs recognition and classification

Traffic-signs detection video


Trash Detection, Classification and Segmentation

In this part, I trained a neural network to detect and classify different recyclable objects using PyTorch, YOLOv5 and OpenCV. I based my program on the Trash Annotations in Context (TACO) dataset - a constantly growing dataset containing ~60 different classes.

The advantages of this detection method, are that it allows fast detection of various objects, located in different orientations. This method also allows us to add additional classes to our classification or add new data (with re-training the model).

Detecting objects with different orientations

Detecting objects with different orientations

Detecting objects with different orientations

Detecting objects with different orientations


Real-time detection

Real-time detection


Implementing Trash Detection in Recycler Baxter project

In addition, as a further development of the Recycler Baxter project, I used this machine learning implementation to detect and locate the recyclable objects sorted by the baxter robot

For this purpose, I trained my network to only detected the 10 different types of objects that the Baxter robot can grab (cans, bottles, paper/plastic cups, crisps bag etc).

The following video demonstrates the Baxter sorting robot uses the machine-learning perception pipeline to detect cans and bottles and separate them to tow different recycle bins:

Traffic-signs recognition and classification

Trash recognition and classification

Sorting bottles and cans using machine learning recognition method

You can read more about this project Here.