Yolo8 is a cutting-edge, state-of-the-art (SOTA) model that builds upon the success of previous YOLO versions and introduces new features and improvements to further boost performance and flexibility. YOLOv8 is designed to be fast, accurate, and easy to use, making it an excellent choice for a wide range of object detection and tracking, instance segmentation, image classification and pose estimation tasks. It is a powerful model that can be used to detect multiple objects in an image.
It has been wrapped into a user-friendly python package Ultralytics (https://docs.ultralytics.com/). To detect objects of interest, the pre-trained model yolo8 can be used. Or one can customize the yolo8 model by training it with provided train image data. Here the website Roboflow (https://roboflow.com/) has a variety of object datasets, e.g. traffic sign dataset (https://universe.roboflow.com/usmanchaudhry622-gmail-com/traffic-and-road-signs/model/1). Once the dataset is downloaded and the Ultralytics package is installed, the yolo8 model can be trained easily:
Where the traffic_sign.yaml is the path to the yaml file inside your downloaded dataset from roboflow. You have the options to use various yolo8 models. See Detection Docs for usage examples with these models.
Model
size (pixels)
mAPval 50-95
Speed CPU ONNX (ms)
Speed A100 TensorRT (ms)
params (M)
FLOPs (B)
640
37.3
80.4
0.99
3.2
8.7
640
44.9
128.4
1.20
11.2
28.6
640
50.2
234.7
1.83
25.9
78.9
640
52.9
375.2
2.39
43.7
165.2
640
53.9
479.1
3.53
68.2
257.8
The larger the model is, the higher the latency will present in the ros node that holds the model. Therefore, the smaller model should be used as long as the model works for the objects of interest.
This is a quick ann simply way to train a customized model that is powerful in objects detection of robot vision.