Instructions to use StrongUzumaki/rover-navigation-stack-yolov8n with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- ultralytics
How to use StrongUzumaki/rover-navigation-stack-yolov8n with ultralytics:
from huggingface_hub import hf_hub_download from ultralytics import YOLO # pick the weights file from this repo's "Files and versions" tab weights = hf_hub_download("StrongUzumaki/rover-navigation-stack-yolov8n", "<weights>.pt") model = YOLO(weights) source = 'http://images.cocodataset.org/val2017/000000039769.jpg' model.predict(source=source, save=True) - Notebooks
- Google Colab
- Kaggle
An Integrated Open-Source Stack for Vision-Based Autonomous Navigation of Wheeled Rovers: YOLOv8n marker detector
Checkpoint nav-arrows-v5 (arrow / cone).
Deployed detector of the open-source autonomy stack of the MSU Rover Team (repositories: https://github.com/KodII-rover). It detects two classes of visual navigation markers:
| id | class | object |
|---|---|---|
| 0 | arrow |
300×200 mm white plate with a black directional arrow |
| 1 | cone |
orange traffic cone (terminal target) |
Arrow direction (left/right), distance and bearing are computed downstream from the box by the
MSUROVERTEAM-CV library; the detector itself is class-only.
This is the checkpoint whose metrics are reported in the paper An Integrated Open-Source Stack for Vision-Based Autonomous Navigation of Wheeled Rovers (RiTA 2026).
Files
| file | content |
|---|---|
best.pt |
Ultralytics YOLOv8n checkpoint, 6.27 MB, md5 b49cd6b4efa6abb38a8e85746ec5ef35 |
train_args.yaml, train_results.csv |
training configuration and per-epoch log |
eval/summary.json, eval/val.log |
re-evaluation on the validation and test splits (17 Oct 2026) |
eval/val/*.png, eval/test/*.png |
F1/PR/P/R curves and confusion matrices |
data.yaml |
dataset layout for yolo val |
bench_jetson.py |
TensorRT INT8 latency/FPS benchmark script for Jetson |
Training
- Base:
yolov8n.pt(Ultralytics 8.3.228), input 640×640, SGD (auto), lr0 0.01, batch auto, patience 50. - Dataset:
nav-arrows-v5split of the public dataset (train 8 528 / val 2 744 / test 481 images; test: 541 arrows, 1 597 cones). - Stopped at epoch 197;
best.ptis epoch 147 (best fitness). Trained 17–18 Nov 2025.
Evaluation (Ultralytics val, conf 0.001, IoU 0.7, imgsz 640)
| split | images | instances | P | R | mAP@0.5 | mAP@0.5:0.95 | AP@0.5 arrow / cone |
|---|---|---|---|---|---|---|---|
| val | 2 744 | 4 706 | 0.865 | 0.770 | 0.826 | 0.612 | 0.937 / 0.714 |
| test | 481 | 2 138 | 0.834 | 0.627 | 0.720 | 0.532 | 0.738 / 0.703 |
Best-F1 operating point on val: F1 = 0.81 at confidence 0.258 (arrow P/R 0.92/0.89, cone P/R 0.81/0.65). Threshold and checkpoint were selected on the validation split; the test figures are the held-out estimate.
Usage
from ultralytics import YOLO
model = YOLO("best.pt")
res = model.predict("frame.jpg", conf=0.25, iou=0.45, imgsz=640)[0]
for b in res.boxes:
print(res.names[int(b.cls)], float(b.conf), b.xyxy[0].tolist())
Reproduce the metrics (dataset folder laid out as in data.yaml):
yolo val model=best.pt data=data.yaml split=test imgsz=640
yolo val model=best.pt data=data.yaml split=val imgsz=640
Export for Jetson (TensorRT INT8, calibrated on the validation split):
yolo export model=best.pt format=engine int8=True data=data.yaml imgsz=640
License
MIT, same as the MSUROVERTEAM-CV repository.
- Downloads last month
- 27
Evaluation results
- mAP@0.5 on MSU Rover Team CV dataset (validation split)validation set self-reported0.826
- mAP@0.5:0.95 on MSU Rover Team CV dataset (validation split)validation set self-reported0.612
- mAP@0.5 on MSU Rover Team CV dataset (test split)test set self-reported0.720
- mAP@0.5:0.95 on MSU Rover Team CV dataset (test split)test set self-reported0.532