When collecting data, we usually need to extract images from a bag file so that we can label them. This script is available for pulling images out of bag files.
The script is intended to reduce the amount of data pulled to be those with meaningful differences in perspective, either with time offsets or a required change in pixels.
We do not need every single frame! Make sure to reduce the dataset to what’s relevant.
Object detection is a computer vision problem where the goal is to both localize objects in an image with a bounding box and classify them. We currently heavily rely on YOLO (You Only Look Once) as the main approach for object detection.
In order to train models for object detection, we must generate a training dataset which provides bounding boxes and associated classes.
Roboflow is a labeling service we rely on to do a great deal of labeling. Their guidelines for good labeling are available here: https://roboflow.com/how-to-label/createml
The most straight-forward approach to YOLO is flat class lists, and this is the only one Roboflow supports. This means that it is difficult to deal with situations where we have sub-classes of objects to classify if we want to use YOLO alone. In order to go beyond this limitation, we likely will need to investigate new architectures and labeling tools. However, since Roboflow is currently the tool we know, and it is very easy to use, we will start out using YOLO at the highest semantic level possible, meaning we will not consider features or subclasses in our labeling.
The current high level taxonomy for general YOLO operation is:
# Competition Elements
## Generic
buoy
vessel (USVs, fake USVs for competition, kayaks)
structure (e.g. competition docks and other elements)
## RoboNation
robobuoy