Object Detection

YOLO

YOLO is an object detection architecture which stands for “YOU ONLY LOOK ONCE”. It is a single neural network (single-stage detector) trained end to end to take in a photograph as input and predicts bounding boxes and class labels for each bounding box directly.

  • YOLO has one fc network trained to predict the bboxes. And then another one to predict the class of the boxes.

Links

Got it running at ~60hz on the medium size model. Small size runs faster

Transfer Learning with YOLO

Refer to my repo where I did transfer learning for the Musashi-AI challenge.

Updated way, very easy, use in combination with Roboflow:

from ultralytics import YOLO
 
yolo = YOLO('yolov8m.pt')
yolo.train(data='/perception_datasets/roboflow/traffic_light_roboflow_v3/data.yaml', epochs=300, freeze=10)
valid_results = yolo.val()
print(valid_results)

YOLO-OBB

Run Inference

python detect.py --weights 'runs/train/yolov5m_csl_dotav1.5/weights/best.pt' \
  --source 'dataset/dataset_demo/images/' \
  --img 2048 --device 0 --conf-thres 0.25 --iou-thres 0.2 --hide-labels --hide-conf

NVIDIA Isaac ROS YOLOv5

https://github.com/NVIDIA-AI-IOT/YOLOv5-with-Isaac-ROS

This is nicee.

How much VRAM does YOLO use up?

Depends on the model size. I need to check this myself. For the small version, uses < 800 MB.