¿Cuántas transmisiones de cámaras puede analizar un NVR doméstico con la misma tasa de detección?

Eva Wong es la Redactora técnica y manitas residente en ZimaSpace. Una geek de toda la vida con pasión por los homelabs y el software de código abierto, se especializa en traducir conceptos técnicos complejos en guías accesibles y prácticas. Eva cree que el autoalojamiento debe ser divertido, no intimidante. A través de sus tutoriales, empodera a la comunidad para desmitificar las configuraciones de hardware, desde construir su primer NAS hasta dominar los contenedores Docker.

Un NVR doméstico solo puede analizar tantos streams como su detector y su canalización de vídeo puedan procesar sin reducir la tasa de detección configurada para cada cámara.

Si ocho cámaras solicitan cinco fotogramas de detección por segundo cada una, el detector debe mantener al menos 40 inferencias por segundo después de considerar la sobrecarga. Sin embargo, la decodificación, el redimensionado, el seguimiento, la grabación y el filtrado por movimiento también consumen CPU, GPU, ancho de banda de memoria y E/S. El límite real de streams se alcanza cuando la cadencia de detección por cámara o la latencia de los eventos empiezan a deteriorarse durante la actividad simultánea del hogar.

La demanda de detección es igual al número de streams multiplicado por los FPS de detección

El cálculo mínimo es el número de cámaras multiplicado por los fotogramas de detección configurados por segundo. Diez cámaras a cinco FPS solicitan 50 fotogramas analizados por segundo. El filtrado por movimiento puede reducir el trabajo real, pero la planificación de capacidad debe contemplar los periodos en los que muchas cámaras están activas a la vez.

El proyecto de detección local de objetos separa la grabación local de la detección de objetos en tiempo real y recomienda aceleración dedicada en lugar de detección usando únicamente la CPU. Esas rutas imponen cargas diferentes sobre el mismo servidor.

Los FPS de origen de la cámara no son necesariamente los FPS de detección. Un stream de grabación de 25 FPS puede alimentar un stream de detección de cinco FPS, reduciendo la demanda de inferencia sin disminuir la fluidez del movimiento grabado. Confundir ambos valores hace que las estimaciones de capacidad sean derrochadoras o poco seguras.

La decodificación y el preprocesamiento pueden convertirse antes en el cuello de botella

Antes de la inferencia, el vídeo comprimido debe decodificarse, escalarse, convertirse de color y copiarse al detector. La decodificación por hardware puede descargar trabajo de la CPU, pero importan el códec, la resolución, la profundidad de bits y los límites de sesiones simultáneas. Las escrituras de grabación y la transcodificación de la vista en directo compiten por el mismo canal.

Una descripción general de los aceleradores de IA explica que los aceleradores pueden superar a las CPU generales en inferencias repetitivas, con una menor sobrecarga del equipo anfitrión. Aun así, la decodificación debe entregar los fotogramas a tiempo.

Por tanto, un detector rápido no garantiza que se puedan gestionar más cámaras. Si la cola de fotogramas crece antes de la inferencia, la capacidad adicional del detector queda desaprovechada. Si el almacenamiento se bloquea, la grabación puede verse afectada aunque los FPS de detección parezcan correctos.

Cuándo falla la fórmula de división

Dividir los FPS del detector entre los FPS por cámara presupone que el coste del modelo es igual y que los fotogramas son independientes. Los modelos secundarios de rostros, matrículas, poses o clasificación añaden trabajo únicamente a determinadas detecciones. El teselado con resoluciones variables y los streams remotos pueden generar costes desiguales.

Una explicación del producto sobre el reconocimiento secundario señala que este puede ralentizar el canal de procesamiento si las tareas no comparten las detecciones de forma eficiente. La selección de funciones cambia la capacidad incluso con los mismos FPS base.

La estimación también falla cuando el límite es la latencia y no el rendimiento. Un detector puede promediar 60 FPS y, aun así, retrasar ocasionalmente una cámara durante varios segundos porque las colas no se gestionan de forma equitativa. Las tasas medias iguales no garantizan la misma capacidad de respuesta por stream.

-15% OFF

Aumenta los streams hasta que la cámara más lenta empiece a fallar

Activa las cámaras una por una utilizando su códec, resolución, modo de grabación y FPS de detección definitivos. Provoca movimiento simultáneo en todas las vistas y registra los FPS de detección alcanzados por cámara, la antigüedad de la cola de fotogramas, el tiempo de inferencia, el uso de la decodificación, los fotogramas descartados, el retraso de los eventos y la latencia del disco.

Realiza la prueba en la misma configuración del equipo anfitrión de cómputo de vídeo compartido que compartirá los servicios de vídeo e IA. Desactiva las tareas no relacionadas únicamente si también se programarán fuera del horario de producción.

Mantén el número máximo de cámaras cuya cámara más lenta conserve al menos el 95 % de su tasa de detección configurada y cuyo retraso de eventos p95 permanezca dentro del objetivo establecido. Reserva un 20 % de margen de capacidad del detector y de la decodificación para el movimiento simultáneo y los modelos secundarios.

Centro de Tecnología e IA

Más para leer

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.