CV / Plaques d’immatriculation

Tiny-YOLOv4 Détection de plaques d’immatriculation

reComputer R Series (CM5 + Hailo-8)

Détection de plaques d’immatriculation à classe unique sur reComputer R Series avec Hailo-8 ou Hailo-10H.

59 téléchargements
Taille
8.21 MB
Mémoire
4GB+
Précision
Hailo HEF / HailoRT 4.23.x (Hailo-8) / 5.1.1 (Hailo-10H)

Choisissez l'appareil que vous utilisez. Le guide de configuration et la documentation seront mis à jour en conséquence.

Pour commencer

Déployer
sudo docker run --rm \
  --name cm5-hailo8-lp-detector \
  --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/tiny_yolov4_license_plates:latest \
  python web_detection.py --model_path model/tiny_yolov4_license_plates.hef --video_path video/test.mp4

API REST

Utilisez l'API REST pour exécuter l'inférence. Copiez les commandes ci-dessous.

Curl
curl -X POST "http://<Board_IP>:8000/api/models/tiny_yolov4_license_plates/predict" \
  -F "file=@traffic.jpg"
Python
import requests

response = requests.post(
    "http://<Board_IP>:8000/api/models/tiny_yolov4_license_plates/predict",
    files={"file": open("traffic.jpg", "rb")},
    timeout=30,
)
print(response.json())

Détails du modèle

reComputer R Series (CM5 + Hailo-8)

Tiny-YOLOv4 License Plates sur CM5 + Hailo-8

Informations du modèle

Ce détecteur à classe unique utilise le HEF Hailo-8 officiel de Hailo Model Zoo v2.17. Il accepte une image RGB 416x416 et produit des têtes brutes 13x13x18 et 26x26x18. L'application exécute l'activation sigmoid, le décodage des ancres/grilles, le seuillage et la NMS sur le CPU.

Model Zoo indique 74.083 mAP sur le jeu interne de plaques d'immatriculation de Hailo. Cette valeur provient de la source, pas d'un benchmark local sur CM5.

Vidéo de démonstration

La vidéo fournie, de 33.17 secondes, 1280x720 et H.264, est transcodée depuis la vidéo LPR officielle par défaut de Hailo TAPPAS v3.29 :

https://hailo-tappas.s3.eu-west-2.amazonaws.com/v3.29/general/media/lpr_ayalon.mp4

Elle montre des véhicules approchant d'une caméra de circulation fixe en hauteur, avec des plaques numériques visibles pendant toute la séquence.

Exécution

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

Ouvrez http://<Board_IP>:8000.

API REST

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

La réponse contient la confiance license_plate et une boîte xyxy en pixels pour chaque détection.

Sources et validation

  • HEF : Hailo Model Zoo v2.17, cible Hailo-8.
  • Informations réseau : tiny_yolov4_license_plates.yaml de Model Zoo v2.17.
  • Vidéo et pipeline officiel : Hailo TAPPAS v3.29.

Entrées et sorties

Input: 416x416 RGB traffic frame. Output: license-plate confidence and xyxy box after raw-head decoding and CPU NMS.