CV / LPRNet
LPRNet
reComputer R Series (CM5 + Hailo-8)
Kennzeichenerkennung auf reComputer RK3576, RK3588 und CM5 mit Hailo-8 oder Hailo-10H.
Wähle das Gerät, das du verwendest. Die Einrichtungsanleitung und Dokumentation werden entsprechend aktualisiert.
Erste Schritte
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.mp4REST API
Verwende die REST API für die Inferenz. Kopiere die folgenden Befehle.
curl http://localhost:8080/v1/chat/completions -d '{
"model": "lprnet-rknn",
"messages": [{"role": "user", "content": "Hello"}]
}'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:
tiny_yolov4_license_plateserkennt eine Kennzeichenbox in einem Verkehrsbild mit 416x416.lprnetskaliert 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
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
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.