CV / LPRNet

LPRNet

reComputer R Series (CM5 + Hailo-8)

Kennzeichenerkennung auf reComputer RK3576, RK3588 und CM5 mit Hailo-8 oder Hailo-10H.

167 Downloads
Präzision
RKNN / Hailo HEF

Wähle das Gerät, das du verwendest. Die Einrichtungsanleitung und Dokumentation werden entsprechend aktualisiert.

Erste Schritte

Bereitstellen
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

Verwende die REST API für die Inferenz. Kopiere die folgenden Befehle.

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())

Modelldetails

reComputer R Series (CM5 + Hailo-8)

LPRNet Pipeline auf CM5 + Hailo-8

Modellinformationen

Diese Anwendung führt zwei offizielle Hailo-8-HEFs aus:

  1. tiny_yolov4_license_plates erkennt eine Kennzeichenbox in einem Verkehrsbild mit 416x416.
  2. lprnet skaliert den Kennzeichenausschnitt in Originalauflösung auf 300x75 BGR und liefert 5x19x11 Logits.

Die OCR-Nachverarbeitung folgt Hailo TAPPAS: die fünf Ausgabescheiben mitteln, Softmax anwenden, CTC-Greedy-Decodierung ausführen und Wiederholungen sowie die Blank-Klasse verwerfen. Anschließend sind eine mittlere Zeichenkonfidenz von mindestens 0.90 und mindestens sieben decodierte Ziffern erforderlich. Eine Prüfung der Laplace-Varianz weist unscharfe Ausschnitte vor der OCR zurück.

Das offizielle Alphabet ist 0123456789-. Dieses HEF kann weder Buchstaben noch chinesische Provinzzeichen erkennen und unterstützt daher keine vollständigen Zeichenfolgen chinesischer blauer Kennzeichen.

Die Model-Zoo-v2.17-Konfiguration nennt 99.86% Genauigkeit auf Hailos internem Datensatz. Das sind Metadaten aus der Quelle, kein lokaler CM5-Benchmark.

Ausführen

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

Öffnen Sie http://<Board_IP>:8000.

REST-API

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

Jede Vorhersage enthält Detektorbox und -konfidenz, Ausschnittqualität, OCR-Kandidat und -konfidenz sowie einen akzeptierten plate-Wert oder null.

Quellen und Validierung

  • OCR-HEF: Hailo Model Zoo v2.16, Zielplattform Hailo-8.
  • Detektor-HEF: Hailo Model Zoo v2.17, Zielplattform Hailo-8.
  • OCR-Algorithmus und Demovideo: Hailo TAPPAS v3.29.

Eingaben und Ausgaben

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