1. 仕組み
本プロジェクトは Raspberry Pi 5 と Hailo-8 上で 2 段階のナンバープレート認識を実行します。Tiny-YOLOv4 がプレートを検出し、LPRNet が元解像度の切り出し画像から数字を認識します。2 つの HEF ネットワークは HailoRT のスケジューリングで 1 台の Hailo-8 を共有します。
主な機能
- Hailo-8 によるプレート検出と OCR の高速化
- FastAPI によるローカルネットワークのブラウザ表示
- 画像予測 REST API
- 動画、画像、カメラ入力への対応
必要環境
Raspberry Pi 5 または互換 CM5 システム、Hailo-8 M.2、64 ビット ARM Linux、互換性のある HailoRT 4.23.x、Python、FastAPI、OpenCV、Docker が必要です。
2. Raspberry Pi 5 + Hailo-8 デプロイガイド
bash
git clone https://github.com/Seeed-Projects/reComputer-Hailo8-CV.git
cd reComputer-Hailo8-CV
hailortcli scan
hailortcli fw-control identify
sudo docker build \
-f docker/hailo8/lprnet.dockerfile \
-t lprnet:latest \
src/rpi5_hailo8_lprnetbash
sudo docker run --rm \
--name rpi5-hailo8-lprnet \
--privileged --net=host \
--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 \
lprnet:latest同じネットワークから http://<BOARD_IP>:8000 を開きます。画像 API は /api/models/lprnet/predict です。
3. 認識ロジックと運用上の注意
検出器は 416 × 416 RGB 入力から 2 つの YOLO Head を出力し、CPU でデコードと NMS を行います。LPRNet は 300 × 75 BGR クロップを受け取り、Softmax と CTC デコードで数字列を生成します。
公式モデルの文字集合は 0123456789- で、文字や中国の省略文字には対応していません。鮮明で十分に大きいプレート画像を使用し、HailoRT の各コンポーネントを互換バージョンにそろえ、設置場所の映像でしきい値を調整してください。