Saltar al contenido principal

Reconocimiento de placas vehiculares (LPR)

SecureVu puede reconocer placas vehiculares en vehículos y añadir automáticamente los caracteres detectados al campo recognized_license_plate o un nombre conocido como sub_label a objetos rastreados de tipo car o motorcycle. Un caso de uso común puede ser leer las placas de los autos que entran a un camino de acceso o autos que pasan por la calle.

El LPR funciona mejor cuando la placa es claramente visible para la cámara. Para vehículos en movimiento, SecureVu refina continuamente el proceso de reconocimiento, manteniendo el resultado más confiable.

Cuando se reconoce una placa, los detalles se:

  • Añaden como sub_label (si es conocida) o al campo recognized_license_plate (si es desconocida) a un objeto rastreado.
  • Pueden verse en el panel de Detalles en Revisión/Historial.
  • Publican mediante el topic MQTT securevu/events como sub_label o recognized_license_plate.
  • Publican mediante el topic MQTT securevu/tracked_object_update con name y plate.

Requisitos del modelo

Los usuarios con un modelo SecureVu+ (o cualquier modelo personalizado que detecte placas de forma nativa) deben asegurarse de que license_plate esté añadido a la lista de objetos a rastrear.

Los usuarios sin un modelo que detecte placas pueden igualmente ejecutar LPR. SecureVu usa un modelo ligero YOLOv9 de detección de placas que puede ejecutarse en tu CPU o GPU.

nota

En el modo predeterminado, el LPR de SecureVu necesita primero detectar un car o motorcycle antes de reconocer una placa. Si tienes una cámara LPR dedicada, consulta la sección Cámaras LPR Dedicadas a continuación.

Requisitos mínimos del sistema

Se requieren al menos 4GB de RAM y una CPU con instrucciones AVX + AVX2.

Configuración

El reconocimiento de placas está deshabilitado por defecto. Habilítalo en tu archivo de configuración:

lpr:
enabled: True

Debe habilitarse globalmente para usar la función. Puedes deshabilitarlo para cámaras específicas:

cameras:
garage:
...
lpr:
enabled: False

Configuración avanzada

Detección

  • detection_threshold: Puntuación de confianza de detección requerida antes de ejecutar el reconocimiento.
    • Predeterminado: 0.7
  • min_area: Área mínima (en píxeles) que debe tener una placa antes de ejecutar el reconocimiento.
    • Predeterminado: 1000 píxeles.
  • device: Dispositivo para ejecutar los modelos de detección y reconocimiento.
    • Predeterminado: None (seleccionado automáticamente por SecureVu).
  • model_size: Tamaño del modelo de reconocimiento de texto.
    • Predeterminado: small
    • small: rápido, identifica grupos de caracteres latinos y chinos.
    • large: solo caracteres latinos, con detector de texto mejorado para placas de múltiples líneas.

Reconocimiento

  • recognition_threshold: Puntuación de confianza requerida para añadir la placa al objeto.
    • Predeterminado: 0.9.
  • min_plate_length: Número mínimo de caracteres que debe tener una placa detectada.
  • format: Expresión regular que define el formato esperado de las placas detectadas.

Coincidencias

  • known_plates: Lista de cadenas o expresiones regulares que asignan un sub_label personalizado a objetos car y motorcycle cuando una placa reconocida coincide.
  • match_distance: Permite variaciones menores al comparar una placa detectada con una placa conocida.

Mejora de imagen

  • enhancement: Valor entre 0 y 10 que ajusta el nivel de mejora de imagen aplicado a las placas capturadas.
    • Predeterminado: 0 (sin mejora).

Reglas de normalización

  • replace_rules: Lista de reglas de reemplazo regex para normalizar placas detectadas.
lpr:
replace_rules:
- pattern: "[%#*?]"
replacement: ""
- pattern: "[= ]"
replacement: "-"
- pattern: "O"
replacement: "0"
- pattern: "I"
replacement: "1"
- pattern: '(\w{3})(\w{3})'
replacement: '\1-\2'

Depuración

  • debug_save_plates: Establece en True para guardar imágenes del texto detectado en las placas. Se almacenan en /media/securevu/clips/lpr.

Ejemplos de configuración

lpr:
enabled: True
min_area: 1500
min_plate_length: 4
known_plates:
Auto de la esposa:
- "ABC-1234"
- "ABC-I234"
Johnny:
- "J*N-*234"
Sally:
- "[S5]LL 1234"
Camiones de trabajo:
- "EMP-[0-9]{3}[A-Z]"

Cámaras LPR Dedicadas

Las cámaras LPR dedicadas son cámaras de propósito único con potente zoom óptico para capturar placas en vehículos distantes.

Para marcar una cámara como cámara LPR dedicada, añade type: "lpr" a la configuración de la cámara.

Usando un modelo SecureVu+ (o que detecte license_plate de forma nativa)

lpr:
enabled: True
device: CPU

cameras:
dedicated_lpr_camera:
type: "lpr"
ffmpeg: ...
detect:
enabled: True
fps: 5
width: 1920
height: 1080
objects:
track:
- license_plate
filters:
license_plate:
threshold: 0.7
motion:
threshold: 30
contour_area: 60
improve_contrast: false
record:
enabled: True
snapshots:
enabled: True
review:
detections:
labels:
- license_plate

Usando el pipeline LPR secundario (sin SecureVu+)

lpr:
enabled: True
device: CPU
detection_threshold: 0.7

cameras:
dedicated_lpr_camera:
type: "lpr"
lpr:
enabled: True
enhancement: 3
ffmpeg: ...
detect:
enabled: False
fps: 5
width: 1920
height: 1080
objects:
track: []
motion:
threshold: 30
contour_area: 60
improve_contrast: false
record:
enabled: True
review:
detections:
enabled: True
retain:
default: 7

Preguntas frecuentes

¿Por qué no se detecta y reconoce mi placa?

Asegúrate de que:

  • Tu cámara tiene una vista clara y bien iluminada de la placa.
  • La placa es suficientemente grande en la imagen.
  • Tu nivel de enhancement no es demasiado alto.

¿El LPR ralentizará mi sistema?

El impacto en el rendimiento depende de tu hardware. Asegúrate de tener al menos 4GB de RAM y una CPU o GPU capaz.