CV / YOLOv6
YOLOv6
reComputer R Series (CM5 + Hailo-10H)
YOLOv6 COCO物体検出。reComputer RK3576/RK3588(RKNN)とreComputer Rシリーズ + Hailo-8 / Hailo-10Hに対応。
使用しているデバイスを選択してください。セットアップガイドとドキュメントがそれに応じて更新されます。
はじめる
sudo docker run --rm \
--name cm5-hailo10h-yolov6n \
--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/yolov6n:latest \
python web_detection.py --model_path model/yolov6n.hef --video_path video/test.mp4REST API
REST API を使用して推論を実行します。以下のコマンドをコピーしてください。
curl http://localhost:8080/v1/chat/completions -d '{
"model": "yolov6",
"messages": [{"role": "user", "content": "Hello"}]
}'import requests
resp = requests.post(
"http://localhost:8080/v1/chat/completions",
json={"model": "yolov6", "messages": [{"role": "user", "content": "Hello"}]},
)
print(resp.json())モデル詳細
reComputer R Series (CM5 + Hailo-10H)YOLOv6n on reComputer R Series (CM5 + Hailo-10H)
YOLOv6n は HailoRT 経由で Hailo-10H 上で COCO 80 クラス物体検出を実行します。コンパイル済み HEF はオンチップ HPP NMS の結果を返す場合と、9 つの生の分割ヘッドを返す場合があり、アプリはどちらも処理して実際のレイアウトをログ出力します。
本ページは PCIe Hailo-10H アクセラレータを搭載した reComputer R Series (CM5 + Hailo-10H) を対象とします。
ハードウェアとホスト設定
| 項目 | 値 |
|---|---|
| ボード | reComputer R Series(Raspberry Pi CM5 搭載) |
| アクセラレータ | PCIe 接続の Hailo-10H(/dev/hailo0) |
| ランタイム | HailoRT 5.1.1 |
| コンテナ内 Python | 3.13, aarch64 |
ホストに Hailo-10H パッケージをインストールし、コンテナ起動前にドライバーとデバイスを確認します:
sudo apt update
sudo apt install hailo-h10-all -y
sudo reboot
# After reboot
hailortcli --version
hailortcli fw-control identify
ls -l /dev/hailo0このイメージに必要な HailoRT バージョンは 5.1.1 です。
同梱デモ映像での実行
sudo docker run --rm \
--name cm5-hailo10h-yolov6n \
--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/yolov6n:latest \
python web_detection.py --model_path model/yolov6n.hef --video_path video/test.mp4http://<Board_IP>:8000 を開くと Web プレビューが表示されます。
USB カメラモード
sudo docker run --rm \
--name cm5-hailo10h-yolov6n \
--privileged \
--net=host \
-e PYTHONUNBUFFERED=1 \
--device /dev/hailo0:/dev/hailo0 \
--device /dev/video0:/dev/video0 \
-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/yolov6n:latest \
python web_detection.py --model_path model/yolov6n.hef --camera_id 0HEF ファイル
| HEF | サイズ | 備考 |
|---|---|---|
yolov6n.hef | 3,862,528 (3.7 MB) | HEF は Hailo Model Zoo v5.4.0 の Hailo-10H ビルドです。パラメータ 4.32M、演算量 11.12G。 |
Source: https://hailo-model-zoo.s3.eu-west-2.amazonaws.com/ModelZoo/Compiled/v5.4.0/hailo10h/yolov6n.hef.
REST API
POST http://<Board_IP>:8000/api/models/yolov6n/predictcurl -X POST "http://<Board_IP>:8000/api/models/yolov6n/predict" \
-F "file=@test.jpg"| エンドポイント | メソッド | 用途 |
|---|---|---|
/ | GET | Web プレビュー UI |
/api/models/yolov6n/predict | POST | 検出結果(JSON) |
/api/video_feed | GET | MJPEG プレビュー配信 |
実装メモ
- Model Zoo
base/yolov6.yamlはhpp=true、meta_arch=yolo_v6、score_threshold=0.03、nms_iou_thresh=0.65を使用し、info.output_shapeには 9 つの生の分割ヘッド(stride 32/16/8 ごとに 4 チャンネルのボックス、1 チャンネルの objectness、80 チャンネルのクラス)が記載されています。 - モジュールは両方のコンパイルレイアウトに対応します。HEF が既に NMS(HPP)を実行している場合は post-NMS テンソル(クラスごとのコンパクトバッファ、
Cx5xD/CxDx5の密な形式、ragged NMS-by-score リスト)を解析し、生の分割ヘッドの場合はセル中心からの距離(stride 単位)をデコードして sigmoid(クラス) × sigmoid(objectness) をスコアとし、IOU スライダーの値でクラスごとの NMS を実行します。 - 初回推論時に
[YOLOv6n] layout=...を一度出力するので、実機でレイアウトを確認できます。 - HEF には
normalize_in_net(mean 0 / std 255)とpadding_color=114が内蔵されています。アプリはグレー(114)でレターボックスし、uint8 RGB をそのまま入力します。 - クラス ID 0..79 は標準の COCO クラス表を直接索引します(Model Zoo の評価は
labels_offset=1)。 - 既定値:confidence 0.25。オンチップ NMS レイアウトでは IOU スライダーは無効、生ヘッドのレイアウトではホスト側 NMS を制御します。
開発メモ
- ソースモジュール:該当するモデルリポジトリの
src/hailo10h_yolov6n/(Hailo-10H)またはsrc/rpi5_hailo8_yolov6n/(Hailo-8) - イメージ:
ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolov6n:latest - Hailo Model Zoo が公開しているのは YOLOv6n のみで、YOLOv6s/m/l の Hailo HEF はありません。
- モデルライセンス:GPL-3.0(上流は meituan/YOLOv6)。
入力と出力
Input: image, video frame, or camera frame. Output: COCO classes, confidence scores, and boxes.