Uso elevado de CPU
El uso elevado de CPU puede afectar al rendimiento y la capacidad de respuesta de SecureVu. Esta guía describe los cambios de configuración más efectivos para ayudar a reducir el consumo de CPU y optimizar el uso de recursos.
1. Aceleración por hardware para decodificación de vídeo
Prioridad: Crítica
La decodificación de vídeo es una de las tareas más intensivas en CPU dentro de SecureVu. Si bien un acelerador de IA se encarga de la detección de objetos, no ayuda con la decodificación de flujos de vídeo. La aceleración por hardware (hwaccel) transfiere este trabajo a tu GPU o hardware especializado de decodificación de vídeo, reduciendo significativamente el uso de CPU y permitiéndote soportar más cámaras con el mismo hardware.
Conceptos clave
Impacto de la resolución y los FPS: La carga de decodificación crece exponencialmente con la resolución y la velocidad de fotogramas. Un flujo 4K a 30 FPS requiere aproximadamente 4 veces la potencia de procesamiento de un flujo 1080p a la misma velocidad de fotogramas, y duplicar la velocidad de fotogramas duplica la carga de decodificación. Por ello, la aceleración por hardware se vuelve crítica cuando se trabaja con múltiples cámaras de alta resolución.
Beneficios de la aceleración por hardware: Al usar hardware dedicado de decodificación de vídeo, puedes:
- Reducir significativamente el uso de CPU por flujo de cámara
- Soportar entre 2 y 3 veces más cámaras con el mismo hardware
- Liberar recursos de CPU para la detección de movimiento y otros procesos de SecureVu
- Reducir el calor del sistema y el consumo energético
Configuración
SecureVu proporciona configuraciones predeterminadas para los escenarios más comunes de aceleración por hardware. Configura hwaccel_args según tu hardware en tu configuración tal como se describe en la guía de primeros pasos.
Solución de problemas de aceleración por hardware
Si la aceleración por hardware no funciona:
- Revisa los registros de SecureVu para ver errores de FFmpeg relacionados con hwaccel
- Verifica que el dispositivo de hardware sea accesible dentro del contenedor
- Asegúrate de que tus flujos de cámara usen códecs H.264 o H.265 (los más comunes)
- Prueba diferentes presets si la detección automática falla
- Comprueba que los drivers de tu GPU estén correctamente instalados en el sistema host
2. Selección y configuración del detector
Prioridad: Crítica
Elegir el detector adecuado para tu hardware es el factor más importante para el rendimiento de la detección. El detector es responsable de ejecutar el modelo de IA que identifica objetos en los fotogramas de vídeo. Los distintos tipos de detectores tienen características de rendimiento y requisitos de hardware muy diferentes, tal como se detalla en la documentación de hardware.
Comprender el rendimiento del detector
SecureVu usa la detección de movimiento como comprobación de primera línea antes de ejecutar la costosa detección de objetos, como se explica en la documentación de detección de movimiento. Cuando se detecta movimiento, SecureVu crea una "región" (los cuadros verdes en el visor de depuración) y la envía al detector. La velocidad de inferencia del detector determina cuántas detecciones por segundo puede manejar tu sistema.
Calcular la capacidad del detector: Tu detector tiene una capacidad finita medida en detecciones por segundo. Con una velocidad de inferencia de 10 ms, tu detector puede manejar aproximadamente 100 detecciones por segundo (1000ms / 10ms = 100). Si tus cámaras requieren colectivamente más que esta capacidad, experimentarás retrasos, detecciones perdidas o el sistema se quedará rezagado.
Elegir el detector adecuado
Los distintos detectores tienen características de rendimiento muy diferentes; consulta el rendimiento esperado para los detectores de objetos en la documentación de hardware
Múltiples instancias de detector
Cuando un solo detector no puede mantenerse al ritmo de tu cantidad de cámaras, algunos tipos de detectores (openvino, onnx) te permiten definir múltiples instancias de detector para compartir la carga. Esto es especialmente útil con detectores basados en GPU que tienen suficiente VRAM para ejecutar múltiples procesos de inferencia.
Para instrucciones detalladas sobre cómo configurar múltiples detectores, consulta la documentación de Detectores de objetos.
Cuándo añadir un segundo detector:
- Los FPS omitidos son consistentemente > 0 incluso durante la actividad normal
Selección y optimización del modelo
El modelo que uses impacta significativamente en el rendimiento del detector. SecureVu proporciona modelos predeterminados optimizados para cada tipo de detector, pero puedes personalizarlos según se describe en la documentación del detector.
Compromisos del tamaño del modelo:
- Modelos más pequeños (320x320): Inferencia más rápida, SecureVu está específicamente optimizado para un modelo de tamaño 320x320.
- Modelos más grandes (640x640): Inferencia más lenta, a veces pueden tener mayor precisión en objetos muy grandes que ocupan la mayor parte del fotograma.