CV / LPRNet
LPRNet
reComputer R Series (CM5 + Hailo-8)
Reconocimiento de matrículas en reComputer RK3576, RK3588 y CM5 con Hailo-8 o Hailo-10H.
Elige el dispositivo que estás usando. La guía de configuración y la documentación se actualizarán en consecuencia.
Primeros pasos
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
Usa la API REST para ejecutar inferencia. Copia los comandos siguientes.
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())Detalles del modelo
reComputer R Series (CM5 + Hailo-8)Canalización LPRNet en CM5 + Hailo-8
Información del modelo
Esta aplicación ejecuta dos HEF oficiales de Hailo-8:
tiny_yolov4_license_platesdetecta una caja de matrícula en un fotograma de tráfico 416x416.lprnetredimensiona el recorte de la matrícula en resolución original a 300x75 BGR y produce logits de 5x19x11.
El posprocesamiento OCR sigue Hailo TAPPAS: promedia los cinco segmentos de salida, aplica softmax, realiza decodificación CTC voraz, elimina las repeticiones y la clase vacía, y después exige una confianza media de caracteres de al menos 0.90 y un mínimo de siete dígitos decodificados. Un filtro de varianza del laplaciano rechaza recortes borrosos antes del OCR.
El alfabeto oficial es
0123456789-. Este HEF no reconoce letras ni caracteres de provincias chinas, por lo que no admite las cadenas completas de las matrículas azules chinas.
La configuración de Model Zoo v2.17 informa de una precisión del 99.86% en el conjunto de datos interno de Hailo. Son metadatos de la fuente, no una medición local en CM5.
Ejecución
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.mp4Abra http://<Board_IP>:8000.
API REST
curl -X POST "http://<Board_IP>:8000/api/models/lprnet/predict" \
-F "file=@traffic.jpg"Cada predicción incluye la caja y la confianza del detector, la calidad del recorte, el candidato y la confianza OCR, y un valor plate aceptado o null.
Fuentes y validación
- HEF OCR: Hailo Model Zoo v2.16, destino Hailo-8.
- HEF del detector: Hailo Model Zoo v2.17, destino Hailo-8.
- Algoritmo OCR y vídeo de demostración: Hailo TAPPAS v3.29.
Entradas y salidas
RKNN: cropped plate or selected region to recognized text. Hailo: traffic frame to detected plate box and CTC-decoded numeric plate text.