Object detection
YOLOv8n
The 2023 Ultralytics nano detector, kept as a stable baseline.
About this model
YOLOv8n is the nano-size detector from the 2023 Ultralytics release. It outputs class, confidence, and bounding box for each object on COCO 80 classes. The build is small, around 12 MB on disk, and runs on every supported platform.
The SDK ships an ONNX export with NMS baked into the graph. Many existing pipelines were tuned against v8, so this checkpoint is included for compatibility and regression testing alongside YOLOv11 and YOLO26x.
What you can build
- Detect people and vehicles in CCTV frames at 14 fps on M1 CPU.
- Run a stable detector on existing pipelines tuned against v8 weights.
- Pre-screen frames before a heavier YOLO26x pass for accuracy.
- Drive a tracking pipeline that needs a small, predictable detector.
Variants & downloads
Choose the build for your appModel files are being prepared.
Explore the model’s examples, source links, and integration notes while download variants are added.
Example inference
Performance
Results depend on the device, runtime, and test conditions. Each measurement keeps its own context.
M1 Max, macOS 15, ONNX Runtime 1.17
See original catalog hardware notes · CPU
72.7 ms
Warm inference
Reference result from the existing catalog; conversion variant and measurement date were not recorded.
M1 Max, macOS 15, ONNX Runtime 1.17
See original catalog hardware notes · CoreML
42.6 ms
Warm inference
Reference result from the existing catalog; conversion variant and measurement date were not recorded.
Integration examples
Vision SDK integration
cpp
#include "imaged/sdk.hpp"
#include "imaged/families/yolo/yolo_family.hpp"
imaged::SDK::AI ai;
auto& config = ai.getOptions();
config.set("yolo.model", "weights/yolov8n.onnx");
config.set("yolo.confidenceThreshold", 0.25);
imaged::SDK::YoloFamily family;
family.load(config);
imaged::SDK::Image image;
image.load("frame.jpg");
auto result = family.run({&image});
auto& detections = std::get<imaged::SDK::DetectionResult>(result).detections;