Clasificación de Estado
La clasificación de estado le permite entrenar un modelo de clasificación MobileNetV2 personalizado en una región fija del fotograma de su(s) cámara(s) para determinar un estado actual. El modelo puede configurarse para ejecutarse en un horario programado y/o cuando se detecta movimiento en esa región. Los resultados de clasificación están disponibles a través del tema MQTT securevu/<camera_name>/classification/<model_name> y en los sensores de Home Assistant a través de la integración oficial de SecureVu.
Requisitos Mínimos del Sistema
Los modelos de clasificación de estado son ligeros y se ejecutan muy rápido en CPU.
El entrenamiento del modelo utiliza brevemente una gran cantidad de recursos del sistema durante aproximadamente 1 a 3 minutos por ciclo de entrenamiento. En dispositivos de menor potencia, el entrenamiento puede tardar más.
Se requiere un CPU con instrucciones AVX + AVX2 para el entrenamiento y la inferencia.
Clases
Las clases son los diferentes estados en los que puede estar un área de su cámara. Cada clase representa un estado visual distinto que el modelo aprenderá a reconocer.
Para la clasificación de estado:
- Defina clases que representen estados mutuamente excluyentes
- Ejemplos:
openyclosedpara una puerta de garaje,onyoffpara las luces - Use al menos 2 clases (típicamente los estados binarios funcionan mejor)
- Mantenga los nombres de las clases claros y descriptivos
Casos de Uso de Ejemplo
- Estado de la puerta: Detectar si una puerta de garaje o entrada está abierta o cerrada.
- Estado del portón: Seguir si un portón de entrada está abierto o cerrado.
- Día de basura: Contenedores en la acera vs no hay contenedores.
- Cubierta de piscina: Cubierta puesta vs no puesta.
Configuración
La clasificación de estado se configura como un modelo de clasificación personalizado. Cada modelo tiene su propio nombre y configuración. Debe proporcionar al menos un recorte de cámara bajo state_config.cameras.
classification:
custom:
front_door:
threshold: 0.8
state_config:
motion: true # run when motion overlaps the crop
interval: 10 # also run every N seconds (optional)
cameras:
front:
crop: [0, 180, 220, 400]
Una configuración opcional, save_attempts, puede establecerse como clave bajo el nombre del modelo. Esto define el número de intentos de clasificación que se guardan en la pestaña Clasificaciones Recientes. Para los modelos de clasificación de estado, el valor predeterminado es 100.
Entrenamiento del modelo
La creación y el entrenamiento del modelo se realizan dentro de la interfaz de usuario de SecureVu usando la página Clasificación. El proceso consta de tres pasos:
Paso 1: Nombre y Definición
Introduzca un nombre para su modelo y defina al menos 2 clases (estados) que representen estados mutuamente excluyentes. Por ejemplo, open y closed para una puerta, o on y off para las luces.
Paso 2: Selección del Área de Recorte
Elija una o más cámaras y dibuje un rectángulo sobre el área de interés para cada cámara. El recorte debe estar ajustado alrededor de la región que desea clasificar para evitar señales adicionales no relacionadas con lo que se está clasificando. Puede arrastrar y redimensionar el rectángulo para ajustar el área de recorte.
Paso 3: Asignación de Ejemplos de Entrenamiento
El sistema generará automáticamente imágenes de ejemplo de las transmisiones de su cámara. Se le guiará clase por clase para seleccionar qué imágenes representan ese estado. No es estrictamente necesario seleccionar todas las imágenes que vea. Si falta un estado en las muestras, puede entrenarlo desde la pestaña Recientes más tarde.
Una vez asignadas algunas imágenes, el entrenamiento comenzará automáticamente.
Mejora del Modelo
- Planteamiento del problema: Mantenga las clases visualmente distintas y centradas en el estado (p. ej.,
open,closed,unknown). Evite combinar la identidad del objeto con el estado en un único modelo a menos que sea necesario. - Recopilación de datos: Use la pestaña Clasificaciones Recientes del modelo para reunir ejemplos equilibrados en diferentes momentos del día y condiciones meteorológicas.
- Cuándo entrenar: Concéntrese en los casos en que el modelo es completamente incorrecto o cambia entre estados cuando no debería. No es necesario entrenar imágenes adicionales cuando el modelo ya funciona de manera consistente.
- Selección de imágenes de entrenamiento: Las imágenes con puntuación inferior al 100% debido a nuevas condiciones (p. ej., primera nevada del año, cambios estacionales) o variaciones (p. ej., objetos temporalmente en vista, insectos por la noche) son buenos candidatos para el entrenamiento, ya que representan escenarios diferentes del estado predeterminado. Entrenar estas imágenes de puntuación más baja que difieren de los datos de entrenamiento existentes ayuda a evitar el sobreajuste. Evite entrenar grandes cantidades de imágenes que se vean muy similares, especialmente si ya tienen una puntuación del 100%, ya que esto puede provocar sobreajuste.
Depuración de Modelos de Clasificación
Para solucionar problemas con los modelos de clasificación de estado, habilite el registro de depuración para ver información detallada sobre los intentos de clasificación, las puntuaciones y la verificación de estado.
Habilite los registros de depuración para los modelos de clasificación añadiendo securevu.data_processing.real_time.custom_classification: debug a su configuración de logger. Estos registros son detallados, así que mantenga esto habilitado solo cuando sea necesario. Reinicie SecureVu después de este cambio.
logger:
default: info
logs:
securevu.data_processing.real_time.custom_classification: debug
Los registros de depuración mostrarán:
- Probabilidades de clasificación para cada intento
- Si las puntuaciones cumplen con el requisito de umbral
- Progreso de verificación de estado (detecciones consecutivas necesarias)
- Cuándo se publican los cambios de estado
Clasificaciones Recientes
Para la clasificación de estado, las imágenes solo se añaden a las clasificaciones recientes en circunstancias específicas:
- Primera detección: El primer intento de clasificación para una cámara siempre se guarda
- Cambios de estado: Las imágenes se guardan cuando el estado detectado difiere del estado verificado actual
- Verificación pendiente: Las imágenes se guardan cuando hay un cambio de estado pendiente siendo verificado (requiere 3 estados idénticos consecutivos)
- Baja confianza: Las imágenes con puntuaciones inferiores al 100% se guardan incluso si el estado coincide con el estado actual (útil para el entrenamiento)
Las imágenes no se guardan cuando el estado es estable (el estado detectado coincide con el estado actual) y la puntuación es del 100%. Esto evita el almacenamiento innecesario de clasificaciones redundantes de alta confianza.