CV / YOLOX

YOLOX

reComputer R Series (CM5 + Hailo-8)

reComputer RK3576、RK3588、および Hailo-8 または Hailo-10H 搭載の CM5 で YOLOX の COCO 物体検出を実行します。

246 ダウンロード
サイズ
5.5 MB
メモリ
4GB+
精度
RKNN / Hailo HEF

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

はじめる

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

REST API

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

Curl
curl http://localhost:8080/v1/chat/completions -d '{
  "model": "yolox-rknn",
  "messages": [{"role": "user", "content": "Hello"}]
}'
Python
import requests

resp = requests.post(
    "http://localhost:8080/v1/chat/completions",
    json={"model": "yolox-rknn", "messages": [{"role": "user", "content": "Hello"}]},
)
print(resp.json())

モデル詳細

reComputer R Series (CM5 + Hailo-8)

reComputer R Series(CM5 + Hailo-8)上の YOLOX

Hailo-8 の YOLOX サービスは、オンチップの Hailo HPP NMS による COCO 80 クラスの物体検出を提供します。HEF はデコード済みの検出結果を出力し、FastAPI アプリが画像推論、映像・カメラ入力、MJPEG プレビューを提供します。

モデル情報

バリアント入力同梱 HEFコンテナイメージ
YOLOX-Tiny416x416x3 RGB5.5 MByolox_tiny
YOLOX-S-Leaky640x640x3 RGB9.0 MByolox_s_leaky
YOLOX-L-Leaky640x640x3 RGB53 MByolox_l_leaky

3 つのバリアントはいずれも Hailo Model Zoo v2.19.0 の Hailo-8 HEF を使用し、CM5 + Hailo-8 で検証済みです。

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

項目値
ボードreComputer R Series(Raspberry Pi CM5 搭載)
アクセラレータPCIe 接続の Hailo-8(/dev/hailo0)
ランタイムHailoRT 4.23.x
コンテナ内 Python3.11, aarch64

ホストのドライバー、ファームウェア、ネイティブ HailoRT ライブラリ、コンテナ内の Python wheel は同じ HailoRT のメジャー/マイナーである必要があります。

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

hailortcli fw-control identify
ls /dev/hailo0

同梱デモ映像での実行

YOLOX-Tiny

bash
sudo docker run --rm --privileged --net=host \
  --name cm5-hailo8-yolox-tiny \
  -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/yolox_tiny:latest \
  python web_detection.py --model_path model/yolox_tiny.hef --video_path video/test.mp4

YOLOX-S-Leaky

bash
sudo docker run --rm --privileged --net=host \
  --name cm5-hailo8-yolox-s-leaky \
  -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/yolox_s_leaky:latest \
  python web_detection.py --model_path model/yolox_s_leaky.hef --video_path video/test.mp4

YOLOX-L-Leaky

bash
sudo docker run --rm --privileged --net=host \
  --name cm5-hailo8-yolox-l-leaky \
  -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/yolox_l_leaky:latest \
  python web_detection.py --model_path model/yolox_l_leaky.hef --video_path video/test.mp4

http://<BOARD_IP>:8000 を開くと Web プレビューが表示されます。

REST API

各バリアントは個別の予測エンドポイントを提供します:

バリアントエンドポイント
YOLOX-TinyPOST /api/models/yolox_tiny/predict
YOLOX-S-LeakyPOST /api/models/yolox_s_leaky/predict
YOLOX-L-LeakyPOST /api/models/yolox_l_leaky/predict
bash
curl -X POST "http://<BOARD_IP>:8000/api/models/yolox_tiny/predict" \
  -F "file=@test.jpg"

レスポンスには COCO クラス ID、信頼度、バウンディングボックスが含まれます。

開発メモ

バリアントソースDockerfile
YOLOX-Tinysrc/rpi5_hailo8_yolox_tiny/docker/hailo8/yolox_tiny.dockerfile
YOLOX-S-Leakysrc/rpi5_hailo8_yolox_s_leaky/docker/hailo8/yolox_s_leaky.dockerfile
YOLOX-L-Leakysrc/rpi5_hailo8_yolox_l_leaky/docker/hailo8/yolox_l_leaky.dockerfile

入力と出力

Input: image, video frame, or camera frame. Output: COCO classes, confidence scores, and boxes.