CV / YOLACT
YOLACT-RegNetX-1.6GF
reComputer R Series (CM5 + Hailo-10H)
Hailo-8 または Hailo-10H 搭載の reComputer R Series で、リアルタイムのインスタンスセグメンテーションを実行します(COCO 80 クラス、マスクとボックス)。
84 ダウンロード
サイズ
36 MBメモリ
4GB+精度
Hailo HEF / HailoRT使用しているデバイスを選択してください。セットアップガイドとドキュメントがそれに応じて更新されます。
はじめる
デプロイ
sudo docker run --rm \
--name cm5-hailo10h-yolact-1-6gf \
--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/yolact_regnetx_1_6gf:latest \
python web_detection.py --model_path model/yolact_regnetx_1_6gf.hef --video_path video/test.mp4REST API
REST API を使用して推論を実行します。以下のコマンドをコピーしてください。
Curl
curl -X POST "http://<Board_IP>:8000/api/models/yolact_regnetx_1_6gf/predict" \
-F "file=@test.jpg"Python
import requests
response = requests.post(
"http://<Board_IP>:8000/api/models/yolact_regnetx_1_6gf/predict",
files={"file": open("test.jpg", "rb")},
timeout=30,
)
print(response.json())モデル詳細
reComputer R Series (CM5 + Hailo-10H)reComputer R Series (CM5 + Hailo-10H) で YOLACT-RegNetX-1.6GF を実行
YOLACT(UC Davis)は HailoRT 5.1.1 を介して Hailo-10H 上でリアルタイムインスタンスセグメンテーションを実行し、COCO 80 クラスのボックス内の各物体にマスクを生成します。HEF は 16 個の生のヘッドを出力し、すべてのデコードはホスト CPU 上で行います。
モデル情報
| 項目 | 値 |
|---|---|
| アーキテクチャ | YOLACT (You Only Look At CoefficienTs), RegNetX-1.6GF バックボーン |
| タスク | インスタンスセグメンテーション |
| 入力 | 512x512x3 RGB (normalize_in_net ImageNet RGB mean/std) |
| 出力 | 16 ヘッド:proto(128x128x32)+ 5 スケール x {bbox, mask coeffs, conf} |
| 事前アンカー | 49,104 アンカー(9/セル、特徴マップ 64/32/16/8/4) |
| クラス数 | 80 (COCO) |
| パラメータ数 | 30.09M |
| 演算量 | 125.34G |
| HEF | Hailo Model Zoo v5.4.0, Hailo-10H (38.9 MB) |
ハードウェアとホストの設定
| 項目 | 値 |
|---|---|
| ボード | Raspberry Pi CM5 搭載 reComputer R Series |
| アクセラレータ | PCIe 接続 Hailo-10H、デバイスは /dev/hailo0 |
| ホストドライバー | hailo-h10-all apt パッケージ |
| ランタイム | HailoRT 5.1.1 |
| コンテナ内 Python | 3.13, aarch64 |
bash
sudo apt update
sudo apt install hailo-h10-all -y
sudo reboot
# After reboot
hailortcli fw-control identify
ls /dev/hailo0デモ動画で実行
bash
sudo docker run --rm \
--name cm5-hailo10h-yolact-1-6gf \
--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/yolact_regnetx_1_6gf:latest \
python web_detection.py --model_path model/yolact_regnetx_1_6gf.hef --video_path video/test.mp4http://<Board_IP>:8000 を開いて Web プレビューを確認します(MJPEG ストリームに色付きインスタンスマスクを重ねます)。
REST API
bash
curl -X POST "http://<Board_IP>:8000/api/models/yolact_regnetx_1_6gf/predict" -F "file=@test.jpg"| エンドポイント | メソッド | 用途 |
|---|---|---|
/api/models/yolact_regnetx_1_6gf/predict | POST | ボックス、信頼度、マスク面積(JSON) |
/api/video_feed | GET | マスク付き MJPEG プレビューストリーム |
実装上の注意
- CPU 後処理(
meta_arch=yolact):49,104 アンカー → SSD デコード → Fast NMS →sigmoid(proto @ coeffs^T)によるマスク合成。Model Zoo のinstance_segmentation_postprocessing.pyを numpy に移植しています。 - 実行器は HailoRT 5.1.1 の複数出力 FLOAT32 ラッパー(16 ヘッド)です。初回推論では SOP 受け入れチェックリストに従い各ヘッドの値域を表示します。
normalize_in_netは ImageNet RGB を使用し、アプリは生の uint8 RGB を入力します。- 前処理:単純な双線形補間で 512x512 にリサイズします(letterbox なし、パディングなし)。
開発上の注意
- ソースモジュール:
src/hailo10h_yolact_regnetx_1_6gf/ - Dockerfile:
docker/hailo10h/yolact_regnetx_1_6gf.dockerfile - コンテナ:
ghcr.io/seeed-projects/recomputer-hailo10h-cv/yolact_regnetx_1_6gf:latest - ファミリー:YOLACT(バリアント:regnetx_800mf / regnetx_1.6gf)
入力と出力
Input: image, video, or USB camera frame. Output: COCO 80-class boxes with confidences, per-object mask pixel areas, and an MJPEG preview with colored instance masks.