CV / YOLOv8
YOLOv8-seg
reComputer R Series (CM5 + Hailo-10H)
reComputer RK3588/RK3576(RKNN)および reComputer R Series(Hailo-8 / Hailo-10H、HailoRT)向け YOLOv8n/s/m インスタンスセグメンテーション
使用しているデバイスを選択してください。セットアップガイドとドキュメントがそれに応じて更新されます。
はじめる
sudo docker run --rm \
--name cm5-hailo10h-yolov8n-seg \
--privileged \
--net=host \
-e PYTHONUNBUFFERED=1 \
--device /dev/hailo0:/dev/hailo0 \
-v /usr/lib/libhailort.so.5.1.1:/usr/lib/libhailort.so.5.1.1:ro \
-v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \
ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov8n_seg:latest \
python web_detection.py --model_path model/yolov8n_seg.hef --video_path video/test.mp4モデル詳細
reComputer R Series (CM5 + Hailo-10H)YOLOv8-seg を reComputer CM5 + Hailo-10H で実行
YOLOv8n/s/m-seg モデルは HailoRT 5.1.1 を介して Hailo-10H 上で実行されます。HEF は raw ヘッドを 公開します(オンチップ NMS なし)。ホストはボックスヘッド(DFL またはフォールドレイアウト)を デコードし、シグモイド + クラスごとの NMS を適用して、80 COCO クラス向けのプロトタイプマスク (32 係数 × 160×160×32 プロトタイプ、各ボックスにクロップ)を組み立てます。
モデル情報
| バリアント | 入力 | パッケージ済み HEF | コンテナイメージ |
|---|---|---|---|
| YOLOv8n-seg | 640×640×3 RGB | 6.1 MB | yolov8n_seg |
| YOLOv8s-seg | 640×640×3 RGB | 18.6 MB | yolov8s_seg |
| YOLOv8m-seg | 640×640×3 RGB | 28.9 MB | yolov8m_seg |
ハードウェアとホストのセットアップ
| 項目 | 値 |
|---|---|
| ボード | Raspberry Pi CM5 |
| アクセラレータ | Hailo-10H、/dev/hailo0 |
| ランタイム | HailoRT 5.1.1 |
| OS | Raspberry Pi OS Bookworm、aarch64 |
sudo apt update
sudo apt install hailo-h10-all -y
sudo reboot
# After reboot
hailortcli fw-control identify
ls /dev/hailo0デモ動画で実行
モデルバリアントに対応するコマンドを選択してください。
YOLOv8n-seg
sudo docker run --rm --privileged --net=host \
--name cm5-hailo10h-yolov8n-seg \
-e PYTHONUNBUFFERED=1 \
--device /dev/hailo0:/dev/hailo0 \
-v /usr/lib/libhailort.so.5.1.1:/usr/lib/libhailort.so.5.1.1:ro \
-v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \
ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov8n_seg:latest \
python web_detection.py --model_path model/yolov8n_seg.hef --video_path video/test.mp4YOLOv8s-seg
sudo docker run --rm --privileged --net=host \
--name cm5-hailo10h-yolov8s-seg \
-e PYTHONUNBUFFERED=1 \
--device /dev/hailo0:/dev/hailo0 \
-v /usr/lib/libhailort.so.5.1.1:/usr/lib/libhailort.so.5.1.1:ro \
-v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \
ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov8s_seg:latest \
python web_detection.py --model_path model/yolov8s_seg.hef --video_path video/test.mp4YOLOv8m-seg
sudo docker run --rm --privileged --net=host \
--name cm5-hailo10h-yolov8m-seg \
-e PYTHONUNBUFFERED=1 \
--device /dev/hailo0:/dev/hailo0 \
-v /usr/lib/libhailort.so.5.1.1:/usr/lib/libhailort.so.5.1.1:ro \
-v /usr/lib/libhailort.so:/usr/lib/libhailort.so:ro \
ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov8m_seg:latest \
python web_detection.py --model_path model/yolov8m_seg.hef --video_path video/test.mp4http://<Board_IP>:8000 を開くと Web プレビューを表示できます。インスタンスマスクとボックスを
重ねた MJPEG ストリームには /api/video_feed を使用します。
REST API
各バリアントには専用のエンドポイントがあります。
| バリアント | エンドポイント |
|---|---|
| YOLOv8n-seg | POST /api/models/yolov8n_seg/predict |
| YOLOv8s-seg | POST /api/models/yolov8s_seg/predict |
| YOLOv8m-seg | POST /api/models/yolov8m_seg/predict |
例:
curl -X POST "http://<Board_IP>:8000/api/models/yolov8n_seg/predict" \
-F "file=@test.jpg"レスポンスには class、confidence、box フィールドを持つ predictions エントリが含まれます
(box は元フレームのピクセル単位の x1/y1/x2/y2 です)。
期待される結果とよくあるエラー
最初の推論時に、モジュールは読み込まれた vstream リストと、推論タイプごとに 1 行のレイアウト 行を出力します。10 個の出力テンソル、それらの値の範囲、シグモイドが適用されたかどうかです。 期待される内容:3 つのボックスヘッド、3 つの 80 チャネルスコアヘッド、3 つの 32 チャネル マスク係数ヘッド、1 つの 160×160×32 プロトタイプ。マスクがインスタンスに張り付くプレビュー。
| 症状 | 考えられる原因 | 対処 |
|---|---|---|
ログの unexpected output layout | 異なる HEF コンパイル | 出力された形状を上記のリストと照合してください。レイアウトを推測しないでください |
起動時の HailoRT バージョンエラー | ホストライブラリが 5.1.1 でない | ホストに hailo-h10-all をインストールし、コンテナのマウントを libhailort.so.5.1.1 のままにします |
docker: container name already in use | 以前のコンテナが削除されていない | docker rm -f cm5-hailo10h-yolov8n-seg を実行するか、--name を変更します |
コンテナ内に /dev/hailo0 がない | --device /dev/hailo0:/dev/hailo0 が欠落 | デバイスマッピングと --privileged --net=host を追加します |
開発
| バリアント | ソース | Dockerfile |
|---|---|---|
| YOLOv8n-seg | src/hailo10h_yolov8n_seg/ | docker/hailo10h/yolov8n_seg.dockerfile |
| YOLOv8s-seg | src/hailo10h_yolov8s_seg/ | docker/hailo10h/yolov8s_seg.dockerfile |
| YOLOv8m-seg | src/hailo10h_yolov8m_seg/ | docker/hailo10h/yolov8m_seg.dockerfile |
- 実行部:HailoRT 5.1.1 の InferModel ラッパー(Python 3.13 + 同梱の cp313 ホイール)。
回帰テストは各モジュールの
tests/にあります。 - HEF:Hailo Model Zoo v5.4.0 の Hailo-10H ビルド。
- レターボックスのパディングは 114 です(Model Zoo
base/yolo.yaml)。正規化は HEF に コンパイルされています。記載されている mAP 値は Model Zoo のフル精度の数値であり、 このボードでの測定値ではありません。