CV / STDC1

STDC1

reComputer R Series (CM5 + Hailo-8)

STDC1リアルタイムセマンティックセグメンテーション(reComputer Rシリーズ + Hailo-10H対応)

53 ダウンロード
サイズ
11 MB
メモリ
4GB+
精度
Hailo HEF / HailoRT

使用しているデバイスを選択してください。セットアップガイドとドキュメントがそれに応じて更新されます。

はじめる

デプロイ
sudo docker run --rm \
  --name cm5-hailo8-stdc1 \
  --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/stdc1:latest \
  python web_detection.py --model_path model/stdc1.hef --video_path video/test.mp4

REST API

REST API を使用して推論を実行します。以下のコマンドをコピーしてください。

Curl
curl -X POST "http://<Board_IP>:8000/api/models/stdc1/predict" \
  -F "file=@test.jpg"
Python
import requests

resp = requests.post(
    "http://<Board_IP>:8000/api/models/stdc1/predict",
    files={"file": open("test.jpg", "rb")},
    timeout=30,
)
print(resp.json())

モデル詳細

reComputer Rシリーズ (CM5 + Hailo-8)

reComputer Rシリーズ(CM5 + Hailo-8)でのSTDC1

STDC1(Short-Term Dense Concatenate)は、HailoRTを介してHailo-8上で19クラスのCityscapesリアルタイムセマンティックセグメンテーションを実行します。

このページは、PCIe Hailo-8アクセラレータを搭載した reComputer Rシリーズ(CM5 + Hailo-8) を対象としています。

モデル情報

PropertyValue
ArchitectureSTDC1 (Short-Term Dense Concatenate)
TaskSemantic segmentation
Input1024x1920x3 RGB
Output1024x1920 class mask (19 classes)
Parameters8.27M
mIoU (Cityscapes)73.8% hardware reference
HEFHailo Model Zoo v2.19.0, Hailo-8

上記の精度はHailo Model Zooの参考値であり、CM5で測定したベンチマークではありません。

Cityscapesクラス

IDClassIDClassIDClass
0road7traffic sign14truck
1sidewalk8vegetation15bus
2building9terrain16train
3wall10sky17motorcycle
4fence11person18bicycle
5pole12rider
6traffic light13car

ハードウェアとホストの設定

ItemValue
BoardreComputer R Series with Raspberry Pi CM5
AcceleratorHailo-8 over PCIe, exposed as /dev/hailo0
RuntimeHailoRT 4.23.x
Python in container3.11, aarch64

コンテナを起動する前に、ホストへHailo-8パッケージをインストールし、ドライバとデバイスが使用可能であることを確認します。

bash
sudo apt update
sudo apt install hailo-all
sudo reboot

# After reboot
hailortcli --version
hailortcli fw-control identify
ls -l /dev/hailo0

このイメージで想定されるHailoRTバージョンは4.23.xです。

デモ動画で実行

bash
sudo docker run --rm \
  --name cm5-hailo8-stdc1 \
  --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/stdc1:latest \
  python web_detection.py --model_path model/stdc1.hef --video_path video/test.mp4

http://<Board_IP>:8000 を開いてWebプレビューを確認します。

USBカメラモード

bash
sudo docker run --rm \
  --name cm5-hailo8-stdc1 \
  --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/stdc1:latest \
  python web_detection.py --model_path model/stdc1.hef --camera_id 0

REST API

推論エンドポイント:

text
POST http://<Board_IP>:8000/api/models/stdc1/predict

画像リクエストの例:

bash
curl -X POST "http://<Board_IP>:8000/api/models/stdc1/predict" \
  -F "file=@test.jpg"
EndpointMethodPurpose
/GETWeb preview UI
/api/models/stdc1/predictPOSTSegmentation mask (JSON)
/api/models/stdc1/visualizePOSTOverlay image (JPEG)
/api/models/stdc1/classesGETCityscapes class list
/api/video_feedGETMJPEG preview stream

開発情報

  • Source module: src/rpi5_hailo8_stdc1/
  • Dockerfile: docker/hailo8/stdc1.dockerfile
  • Container: ghcr.io/seeed-projects/recomputer-hailo8-cv/stdc1:latest
  • The module uses the HailoRT 4.23 VStreams API and a Hailo-8-specific HEF.

入力と出力

入力: 画像(1024x1920 RGB)。出力: 19クラスのセマンティックセグメンテーションマスク(Cityscapes)。