YOLO - You Only Look Once
Other
methods use classifiers or localizers to perform detection. They apply
the model to an image at multiple locations and scales. The high scoring
regions of the image are considered detection.
In
YOLO the approach is quite different. Neural network is applied for the
full image and this network divides the full image into regions and
predicts a bounding box or bounding boxes. These bounding boxes are
given weights by the predicted probability.
We were supposed to use MaskrCNN
to get better accuracy but due to the COVID 19 situation and work from
home we do not have a good computing system and GPU resources therefore we have chosen to
work with YOLO. YOLO is faster and gives a boundary boxes for the objects
detected.
YOLO
works on COCO dataset, which is trained on 80 different classes. YOLO
is not trained for detecting pens, staplers, erasers and many other
objects which we are concerned in our case. Therefore we have collected a custom dataset to train a YOLO model to detect the required classes in our case.
First we have used a intel realsense to collect about 70 images fro
training. Later we have annotated using an annotation tool for the 70
images. Once annotated with the help of darknet we have trained a model
for about 10000 iterations. Here are a few results below from the test
set after training the model.
Figure 1:- Top image is a raw image with objects and the bottom images is the same images with detected objects.
FIgure2: This is another example, Top image is the raw image and the bottom image with objects detected using the model.
Detecting Hamster Robot using ArUco Markers:
What are ArUco Markers:
ArUco markers were originally developed in 2014 by S.Garrido-Jurado et al., in their work "Automatic Generation and detefction of highly reliable fiducial markers under occlusion“. ArUco markers are small 2D barcodes. Each ArUco marker corresponds to a number, encoded into a small grid of black and white pixels. ArUco markers are very useful as tags for many robotics and augmented reality applications. For example, one may place an ArUco next to a robot's charging station, an elevator button, or an object that a robot should manipulate.
In our project we use Ar
Markers to detect the Hamster robot and its position with the help of
the Intel RealSense Camera. While the YOLO Object Detector detects
objects on the table the robot itself is detected using Ar Marker
detection. Open CV is used to detect the Ar Markers. The Open CV Ar detector provides us with a bounding box and corner position for every unique Ar marker. Some example outputs are shown below,
[1] Consists of the ArUco API required to detect Ar Markers.
Next Week Update:
Now
that we have the ability to detect both the objects and the Hamster
Robots through vision we can perform path planning for the same. A* and
Jump Point Search will be implemented over this week to bring the whole
project together so that the robots can push objects to their respective slots based off feedback received through vision.
Comments
Post a Comment