CV / LPRNet
LPRNet
reComputer R Series (CM5 + Hailo-8)
Reconnaissance de plaques d’immatriculation sur reComputer RK3576, RK3588 et CM5 avec Hailo-8 ou Hailo-10H.
Choisissez l'appareil que vous utilisez. Le guide de configuration et la documentation seront mis à jour en conséquence.
Pour commencer
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.mp4API REST
Utilisez l'API REST pour exécuter l'inférence. Copiez les commandes ci-dessous.
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())Détails du modèle
reComputer R Series (CM5 + Hailo-8)Pipeline LPRNet sur CM5 + Hailo-8
Informations du modèle
Cette application exécute deux HEF officiels pour Hailo-8 :
tiny_yolov4_license_platesdétecte une boîte de plaque dans une image de circulation 416x416.lprnetredimensionne la zone de plaque issue de l'image à résolution originale en 300x75 BGR et produit des logits 5x19x11.
Le post-traitement OCR suit Hailo TAPPAS : moyenne des cinq tranches de sortie, application de softmax, décodage CTC glouton, suppression des répétitions et de la classe vide, puis exigence d'une confiance moyenne des caractères d'au moins 0.90 et d'au moins sept chiffres décodés. Un filtre fondé sur la variance du laplacien rejette les zones floues avant l'OCR.
L'alphabet officiel est
0123456789-. Ce HEF ne reconnaît ni les lettres ni les caractères des provinces chinoises ; il ne prend donc pas en charge les chaînes complètes des plaques bleues chinoises.
La configuration Model Zoo v2.17 indique une précision de 99.86% sur le jeu de données interne de Hailo. Il s'agit de métadonnées de la source, pas d'un benchmark local sur CM5.
Exécution
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.mp4Ouvrez http://<Board_IP>:8000.
API REST
curl -X POST "http://<Board_IP>:8000/api/models/lprnet/predict" \
-F "file=@traffic.jpg"Chaque prédiction comprend la boîte et la confiance du détecteur, la qualité de la zone découpée, le candidat et la confiance OCR, ainsi qu'une valeur plate acceptée ou null.
Sources et validation
- HEF OCR : Hailo Model Zoo v2.16, cible Hailo-8.
- HEF du détecteur : Hailo Model Zoo v2.17, cible Hailo-8.
- Algorithme OCR et vidéo de démonstration : Hailo TAPPAS v3.29.
Entrées et sorties
RKNN: cropped plate or selected region to recognized text. Hailo: traffic frame to detected plate box and CTC-decoded numeric plate text.