CV / LPRNet

LPRNet

reComputer R Series (CM5 + Hailo-8)

reComputer RK3576、RK3588、および Hailo-8 または Hailo-10H 搭載の CM5 でナンバープレートを認識します。

167 ダウンロード
精度
RKNN / Hailo HEF

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

はじめる

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

REST API

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

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

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

モデル詳細

reComputer R Series (CM5 + Hailo-8)

CM5 + Hailo-8 上の LPRNet パイプライン

モデル情報

本アプリケーションは 2 つの公式 Hailo-8 HEF を実行します。

  1. tiny_yolov4_license_plates は 416x416 の交通フレームからプレートボックスを検出します。
  2. lprnet は元解像度のプレート切り出し画像を 300x75 BGR にリサイズし、5x19x11 のロジットを出力します。

OCR の後処理は Hailo TAPPAS に従います。5 つの出力スライスを平均化し、 softmax を適用し、CTC 貪欲デコードを行い、連続重複と blank クラスを除去した上で、 文字の平均信頼度が 0.90 以上、かつデコードされた数字が 7 桁以上であることを 要求します。OCR の前にラプラシアン分散ゲートがぼやけた切り出し画像を除外します。

公式の文字セットは 0123456789- です。この HEF は英字や中国の省名文字を認識できないため、 中国の青ナンバープレートの完全な文字列には対応していません。

Model Zoo v2.17 の構成情報では、Hailo 社内データセットで 99.86% の精度が報告されています。 これはソースのメタデータであり、CM5 上でのローカルベンチマーク結果ではありません。

実行

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

http://<Board_IP>:8000 を開きます。

REST API

bash
curl -X POST "http://<Board_IP>:8000/api/models/lprnet/predict" \
  -F "file=@traffic.jpg"

各予測結果には、検出器のボックス/信頼度、切り出し画像の品質、OCR の 候補/信頼度、および採用された plate の値または null が含まれます。

ソースと検証

  • OCR HEF:Hailo Model Zoo v2.16、Hailo-8 ターゲット。
  • 検出器 HEF:Hailo Model Zoo v2.17、Hailo-8 ターゲット。
  • OCR アルゴリズムとデモ動画:Hailo TAPPAS v3.29。

入力と出力

RKNN: cropped plate or selected region to recognized text. Hailo: traffic frame to detected plate box and CTC-decoded numeric plate text.