CV / YOLO11
YOLO11-seg
reComputer R Series (CM5 + Hailo-8)
YOLO11 segmentation models (n/s/m/l/x-seg) on reComputer R Series with Hailo-8.
Choose the device you're using, the set up guide and documentation will update accordingly.
Getting Started
sudo docker run --rm \
--name pi5-hailo8-yolov11n-seg \
--privileged \
--net=host \
-e PYTHONUNBUFFERED=1 \
--device /dev/hailo0:/dev/hailo0 \
-v /usr/lib/libhailort.so.4.23.0:/usr/lib/libhailort.so.4.23.0:ro \
-v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \
ghcr.io/seeed-projects/recomputer-hailo8-cv/yolov11n_seg:latest \
python web_detection.py --model_path model/yolov11n_seg.hef --video_path video/test.mp4Model Details
YOLO11-seg on reComputer R Series (CM5 + Hailo-8)
YOLO11n/s/m/l/x-seg run on Hailo-8 through HailoRT 4.23. The HEF exposes ten raw
heads; the host decodes DFL boxes, class scores and mask coefficients, assembles
sigmoid(coeffs @ proto) instance masks and renders them for the 80 COCO
classes.
Model Info
| Variant | Input | Packaged HEF | Container image |
|---|---|---|---|
| YOLO11n-seg | 640×640×3 RGB | 7.9 MB | yolov11n_seg |
| YOLO11s-seg | 640×640×3 RGB | 19.7 MB | yolov11s_seg |
| YOLO11m-seg | 640×640×3 RGB | 39.6 MB | yolov11m_seg |
| YOLO11l-seg | 640×640×3 RGB | 40.6 MB | yolov11l_seg |
| YOLO11x-seg | 640×640×3 RGB | 68.0 MB | yolov11x_seg |
Hardware and Host Setup
| Item | Value |
|---|---|
| Board | reComputer R Series with Raspberry Pi CM5 |
| Accelerator | Hailo-8 over PCIe, exposed as /dev/hailo0 |
| Runtime | HailoRT 4.23.x (host / container must share major.minor) |
| Python in container | 3.11, aarch64 |
sudo apt update
sudo apt install hailo-all -y
sudo reboot
# After reboot
hailortcli fw-control identify
ls /dev/hailo0
# Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun
sudo systemctl enable docker
sudo systemctl start dockerRun With Demo Video
Select the command matching the model variant.
YOLO11n-seg
sudo docker run --rm \
--name pi5-hailo8-yolov11n-seg \
--privileged \
--net=host \
-e PYTHONUNBUFFERED=1 \
--device /dev/hailo0:/dev/hailo0 \
-v /usr/lib/libhailort.so.4.23.0:/usr/lib/libhailort.so.4.23.0:ro \
-v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \
ghcr.io/seeed-projects/recomputer-hailo8-cv/yolov11n_seg:latest \
python web_detection.py --model_path model/yolov11n_seg.hef --video_path video/test.mp4YOLO11s-seg
sudo docker run --rm \
--name pi5-hailo8-yolov11s-seg \
--privileged \
--net=host \
-e PYTHONUNBUFFERED=1 \
--device /dev/hailo0:/dev/hailo0 \
-v /usr/lib/libhailort.so.4.23.0:/usr/lib/libhailort.so.4.23.0:ro \
-v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \
ghcr.io/seeed-projects/recomputer-hailo8-cv/yolov11s_seg:latest \
python web_detection.py --model_path model/yolov11s_seg.hef --video_path video/test.mp4YOLO11m-seg
sudo docker run --rm \
--name pi5-hailo8-yolov11m-seg \
--privileged \
--net=host \
-e PYTHONUNBUFFERED=1 \
--device /dev/hailo0:/dev/hailo0 \
-v /usr/lib/libhailort.so.4.23.0:/usr/lib/libhailort.so.4.23.0:ro \
-v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \
ghcr.io/seeed-projects/recomputer-hailo8-cv/yolov11m_seg:latest \
python web_detection.py --model_path model/yolov11m_seg.hef --video_path video/test.mp4YOLO11l-seg
sudo docker run --rm \
--name pi5-hailo8-yolov11l-seg \
--privileged \
--net=host \
-e PYTHONUNBUFFERED=1 \
--device /dev/hailo0:/dev/hailo0 \
-v /usr/lib/libhailort.so.4.23.0:/usr/lib/libhailort.so.4.23.0:ro \
-v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \
ghcr.io/seeed-projects/recomputer-hailo8-cv/yolov11l_seg:latest \
python web_detection.py --model_path model/yolov11l_seg.hef --video_path video/test.mp4YOLO11x-seg
sudo docker run --rm \
--name pi5-hailo8-yolov11x-seg \
--privileged \
--net=host \
-e PYTHONUNBUFFERED=1 \
--device /dev/hailo0:/dev/hailo0 \
-v /usr/lib/libhailort.so.4.23.0:/usr/lib/libhailort.so.4.23.0:ro \
-v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \
ghcr.io/seeed-projects/recomputer-hailo8-cv/yolov11x_seg:latest \
python web_detection.py --model_path model/yolov11x_seg.hef --video_path video/test.mp4Open http://<Board_IP>:8000 to view the web preview (instance masks
overlaid per class plus detection boxes).
USB Camera Mode
sudo docker run --rm \
--name pi5-hailo8-yolov11n-seg \
--privileged \
--net=host \
-e PYTHONUNBUFFERED=1 \
--device /dev/hailo0:/dev/hailo0 \
--device /dev/video0:/dev/video0 \
-v /usr/lib/libhailort.so.4.23.0:/usr/lib/libhailort.so.4.23.0:ro \
-v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \
ghcr.io/seeed-projects/recomputer-hailo8-cv/yolov11n_seg:latest \
python web_detection.py --model_path model/yolov11n_seg.hef --camera_id 0REST API
Each variant has its own endpoint:
| Variant | Endpoint |
|---|---|
| YOLO11n-seg | POST /api/models/yolov11n_seg/predict |
| YOLO11s-seg | POST /api/models/yolov11s_seg/predict |
| YOLO11m-seg | POST /api/models/yolov11m_seg/predict |
| YOLO11l-seg | POST /api/models/yolov11l_seg/predict |
| YOLO11x-seg | POST /api/models/yolov11x_seg/predict |
curl -X POST "http://<Board_IP>:8000/api/models/yolov11n_seg/predict" \
-F "file=@test.jpg"Implementation Notes
- The HEF exposes 10 raw vstreams and no on-chip NMS: per stride (20×20, 40×40, 80×80) a 64-channel DFL box head, an 80-channel class head and a 32-channel mask-coefficient head, plus a 160×160×32 prototype.
- The host runs the DFL softmax expectation (16 bins), sigmoid on raw class
heads, per-class NMS (100 detections in the preview) and
sigmoid(coeffs @ proto)mask assembly cropped to each box (threshold 0.5). - Letterbox padding is 114; the mean 0 / std 255 normalization is compiled into the HEF. Boxes and masks are mapped back to the frame before drawing.
- The HEF input size is read at startup (640×640). CPU decode is the preview bottleneck on the larger variants.
Development Notes
- Sources:
src/rpi5_hailo8_yolov11{n,s,m,l,x}_seg/ - Dockerfiles:
docker/hailo8/yolov11{n,s,m,l,x}_seg.dockerfile - Containers:
ghcr.io/seeed-projects/recomputer-hailo8-cv/yolov11{n,s,m,l,x}_seg:latest - HEFs: Hailo Model Zoo v2.20.0 (
hailo8), sizes and SHA256 recorded in each module'smodel/README.md - Family: YOLO11-seg (Ultralytics, AGPL-3.0)
Inputs and Outputs
Input: image, video, or USB camera frame. Output: COCO class boxes with instance masks and an annotated MJPEG preview.