Ángulo de Anderson

Un Códec de Video Diseñado para Análisis de Inteligencia Artificial

mm
Añade Unite.AI a tus fuentes preferidas en Google

Aunque la película de suspenso tecnológico The Circle (2017) es más un comentario sobre las implicaciones éticas de las redes sociales que sobre las prácticas de análisis de video externo, la cámara ‘SeeChange’ improbablemente pequeña en el centro de la trama es lo que realmente impulsa la película a la categoría de ‘ciencia ficción’.

El dispositivo de cámara/vigilancia 'SeeChange' de la película de suspenso tecnológico 'The Circle' (2017).

El dispositivo de cámara/vigilancia ‘SeeChange’ de la película de suspenso tecnológico ‘The Circle’ (2017).

Un dispositivo inalámbrico y libre de aproximadamente el tamaño de una canica grande, no es la falta de paneles solares o la ineficiencia de obtener energía de otras fuentes ambientales (como ondas de radio) lo que hace que SeeChange sea una perspectiva poco probable, sino el hecho de que tendrá que comprimir video las 24 horas del día, los 7 días de la semana, con la escasa carga que pueda mantener.

Alimentar sensores baratos de este tipo es un área de investigación fundamental en visión por computadora (CV) y análisis de video, particularmente en entornos no urbanos donde el sensor tendrá que obtener el máximo rendimiento de recursos de energía muy limitados (baterías, solares, etc.).

En casos donde un dispositivo de IoT/CV de borde de este tipo debe enviar contenido de imagen a un servidor central (a menudo a través de redes de cobertura de células convencionales), las opciones son difíciles: el dispositivo debe ejecutar algún tipo de red neuronal ligera localmente para enviar solo segmentos optimizados de datos relevantes para el procesamiento del servidor; o debe enviar video ‘tonto’ para que los recursos de la nube conectados lo evalúen.

Aunque la activación por movimiento a través de sensores de visión inteligentes basados en eventos (SVS) puede reducir esta carga, esa supervisión de activación también cuesta energía.

Aferrarse al Poder

Además, incluso con activación infrecuente (es decir, una oveja ocasionalmente entra en la vista), el dispositivo no tiene suficiente energía para enviar gigabytes de video sin comprimir; tampoco tiene suficiente energía para ejecutar constantemente códecs de compresión de video populares como H.264/5, que esperan hardware que esté conectado o no muy lejos de la próxima sesión de carga.

Tuberías de análisis de video para tres tareas de visión por computadora típicas. La arquitectura de codificación de video debe ser entrenada para la tarea en cuestión, y generalmente para la red neuronal que recibirá los datos. Fuente: https://arxiv.org/pdf/2204.12534.pdf

Tuberías de análisis de video para tres tareas de visión por computadora típicas. La arquitectura de codificación de video debe ser entrenada para la tarea en cuestión, y generalmente para la red neuronal que recibirá los datos. Fuente: https://arxiv.org/pdf/2204.12534.pdf

Aunque el códec H.264 ampliamente difundido tiene un consumo de energía más bajo que su sucesor H.265, tiene pobre eficiencia de compresión. Su sucesor, H.265, tiene mejor eficiencia de compresión, pero mayor consumo de energía. Mientras que el códec VP9 de código abierto de Google supera a ambos en cada área, requiere recursos de computación locales más altos, lo que presenta problemas adicionales en un sensor de IoT supuestamente barato.

En cuanto a analizar la transmisión localmente: para cuando se ejecuta incluso la red neuronal local más ligera para determinar qué fotogramas (o áreas de un fotograma) son dignos de enviar al servidor, a menudo se ha gastado la energía que se habría ahorrado solo enviando todos los fotogramas.

Extraer representaciones enmascaradas de ganado con un sensor que es poco probable que esté conectado a la red. ¿Gasta su capacidad de energía limitada en segmentación semántica local con una red neuronal ligera; al enviar información limitada a un servidor para obtener instrucciones adicionales (introduciendo latencia); o al enviar datos 'tontos' (malgastando energía en ancho de banda)?

Extraer representaciones enmascaradas de ganado con un sensor que es poco probable que esté conectado a la red. ¿Gasta su capacidad de energía limitada en segmentación semántica local con una red neuronal ligera; al enviar información limitada a un servidor para obtener instrucciones adicionales (introduciendo latencia); o al enviar datos ‘tontos’ (malgastando energía en ancho de banda)? Fuente: https://arxiv.org/pdf/1807.01972.pdf

Está claro que los proyectos de visión por computadora ‘en el campo’ necesitan códecs de compresión de video dedicados que se optimicen para los requisitos de redes neuronales específicas en tareas diversas como segmentación semántica, detección de puntos clave (análisis de movimiento humano) y detección de objetos, entre otros usos finales posibles.

Si se puede obtener el equilibrio perfecto entre la eficiencia de compresión de video y la transmisión de datos mínima, se está un paso más cerca de SeeChange y la capacidad de implementar redes de sensores asequibles en entornos hostiles.

AccMPEG

Una nueva investigación de la Universidad de Chicago puede haber dado un paso hacia dicho códec, en la forma de AccMPEG – un marco de codificación y transmisión de video novedoso que opera a baja latencia, alta precisión para redes neuronales profundas (DNN) en el servidor, y que tiene requisitos de cómputo local notablemente bajos.

Arquitectura de AccMPEG.

Arquitectura de AccMPEG. Fuente: https://arxiv.org/pdf/2204.12534.pdf

El sistema puede hacer economías sobre métodos anteriores al evaluar la medida en que cada macrobloque de 16x16px es probable que afecte la precisión de la DNN en el servidor. Los métodos anteriores han tenido, en cambio, que evaluar este tipo de precisión en función de cada píxel en una imagen o realizar operaciones locales costosas en electricidad para evaluar qué regiones de la imagen podrían ser de mayor interés.

En AccMPEG, esta precisión se estima en un módulo personalizado llamado AccGrad, que mide las formas en que la calidad de codificación del macrobloque es probable que sea pertinente para el caso de uso final, como una DNN en el servidor que intenta contar personas, realizar estimación de esqueleto en movimiento humano o otras tareas de visión por computadora comunes.

Al llegar un fotograma de video al sistema, AccMPEG lo procesa inicialmente a través de un modelo de selector de calidad barato, titulado AccModel. Cualquier área que no sea probable que contribuya a los cálculos útiles de una DNN en el servidor es esencialmente lastre, y debe marcarse para codificar a la calidad más baja posible, en contraste con las regiones salientes, que deben enviarse a mejor calidad.

Este proceso presenta tres desafíos: ¿puede el proceso realizarse lo suficientemente rápido como para lograr una latencia aceptable sin utilizar recursos de cómputo local que drenan la energía? ¿Puede establecerse una relación óptima entre la tasa de fotogramas y la calidad? ¿Y puede entrenarse un modelo rápidamente para una DNN en el servidor individual?

Logística de Entrenamiento

Idealmente, un códec de visión por computadora debería estar preentrenado en sistemas conectados a los requisitos exactos de una red neuronal específica. El módulo AccGrad, sin embargo, puede derivarse directamente de una DNN con solo dos propagaciones hacia adelante, con un ahorro de diez veces la sobrecarga estándar.

AccMPEG entrena AccGrad durante solo 15 épocas de tres propagaciones cada una a través de la DNN final, y puede potencialmente ser reentrenado ‘en vivo’ utilizando su estado de modelo actual como plantilla, al menos para tareas de CV con especificaciones similares.

AccModel utiliza el extractor de características preentrenado MobileNet-SSD, común en dispositivos de borde asequibles. Con un rendimiento de 12 GFLOPS, el modelo utiliza solo un tercio de los enfoques típicos de ResNet18. Además de la normalización por lotes y la activación, la arquitectura consiste solo en capas convolucionales, y su sobrecarga de cómputo es proporcional al tamaño del fotograma.

AccGrad elimina la necesidad de inferencia de DNN final, mejorando la logística de implementación.

AccGrad elimina la necesidad de inferencia de DNN final, mejorando la logística de implementación.

Tasa de Fotogramas

La arquitectura se ejecuta óptimamente a 10fps, lo que la haría adecuada para propósitos como monitoreo agrícola, vigilancia de degradación de edificios, análisis de tráfico de alta vista y inferencia de esqueleto representativa en movimiento humano; sin embargo, escenarios de movimiento muy rápido, como tráfico de baja vista (de coches o personas), y otras situaciones en las que las tasas de fotogramas altas son beneficiosas, no son adecuados para este enfoque.

Parte de la frugalidad del método radica en la premisa de que los macrobloques adyacentes son probablemente de valor similar, hasta el punto en que un macrobloque cae por debajo de la precisión estimada. Las áreas obtenidas por este enfoque están más claramente delineadas y pueden calcularse a mayor velocidad.

Mejora del Rendimiento

Los investigadores probaron el sistema en una placa Jetson Nano de $60 con un solo GPU Maxwell de 128 núcleos, y varios otros equivalentes baratos. Se utilizó OpenVINO para compensar algunos de los requisitos de energía de las DNN locales muy dispersas en las CPU.

AccModel en sí se entrenó originalmente sin conexión en un servidor con 8 GPU GeForce RTX 2080S. Aunque esta es una formidable matriz de poder de cómputo para una construcción de modelo inicial, el reentrenamiento ligero que el sistema hace posible, y la forma en que un modelo puede ajustarse a ciertos parámetros de tolerancia en diferentes DNN que atacan tareas similares, significa que AccMPEG puede formar parte de un sistema que necesita una atención mínima en el campo.

 

Publicado por primera vez el 1 de mayo de 2022.

Escritor sobre aprendizaje automático, especialista en síntesis de imágenes humanas. Antiguo jefe de contenido de investigación en Metaphysic.ai, hasta su disolución en DNEG's Brahma.ai.
Portfolio site: martinanderson.ai
Contact: [email protected]