Angle d’Anderson

Un codec vidéo conçu pour l’analyse d’IA

mm
Ajouter Unite.AI à vos sources préférées sur Google

Bien que le thriller techno The Circle (2017) soit plus un commentaire sur les implications éthiques des réseaux sociaux que sur les aspects pratiques de l’analyse vidéo externe, la caméra « SeeChange » improbablement petite au centre de l’intrigue est ce qui pousse vraiment le film dans la catégorie « science-fiction ».

Le dispositif de caméra/surveillance 'SeeChange' du thriller techno 'The Circle' (2017).

Le dispositif de caméra/surveillance ‘SeeChange’ du thriller techno ‘The Circle’ (2017).

Un dispositif sans fil et libre d’environ la taille d’une grande bille, ce n’est pas le manque de panneaux solaires ou l’inefficacité de puiser de l’énergie à partir d’autres sources ambiantes (comme les ondes radio) qui rend SeeChange une perspective peu probable, mais le fait qu’il devra compresser la vidéo 24 heures sur 24, sur la charge qu’il peut maintenir.

L’alimentation de capteurs bon marché de ce type est un domaine de recherche essentiel dans la vision par ordinateur (CV) et l’analyse de vidéos, en particulier dans les environnements non urbains où le capteur devra tirer le maximum de performances de ressources énergétiques très limitées (batteries, solaires, etc.).

Dans les cas où un tel dispositif de bord IoT/CV doit envoyer du contenu d’image à un serveur central (souvent via des réseaux de couverture cellulaire conventionnels), les choix sont difficiles: soit le dispositif doit exécuter une sorte de réseau neuronal léger localement pour envoyer uniquement des segments de données optimisés pour le traitement côté serveur; soit il doit envoyer une vidéo « bête » pour que les ressources connectées au cloud les évaluent.

Bien que l’activation par mouvement via des capteurs de vision intelligents basés sur des événements (SVS) puisse réduire cette surcharge, cette surveillance d’activation coûte également de l’énergie.

S’accrocher au pouvoir

De plus, même avec une activation peu fréquente (c’est-à-dire qu’un mouton entre occasionnellement dans le champ de vision), le dispositif n’a pas suffisamment de puissance pour envoyer des gigaoctets de vidéo non compressée; il n’a pas non plus suffisamment de puissance pour exécuter constamment des codecs de compression vidéo populaires comme H.264/5, qui s’attendent à un matériel branché ou non loin de la prochaine session de recharge.

Pipelines d'analyse de vidéos pour trois tâches de vision par ordinateur typiques. L'architecture d'encodage de la vidéo doit être formée pour la tâche en question, et généralement pour le réseau neuronal qui recevra les données. Source: https://arxiv.org/pdf/2204.12534.pdf

Pipelines d’analyse de vidéos pour trois tâches de vision par ordinateur typiques. L’architecture d’encodage de la vidéo doit être formée pour la tâche en question, et généralement pour le réseau neuronal qui recevra les données. Source: https://arxiv.org/pdf/2204.12534.pdf

Bien que le codec H.264 largement diffusé ait une consommation d’énergie inférieure à celle de son successeur H.265, il a une mauvaise efficacité de compression. Son successeur, H.265, a une meilleure efficacité de compression, mais une consommation d’énergie plus élevée. Alors que le codec open source VP9 de Google bat les deux dans chaque domaine, il nécessite des ressources de calcul locales plus élevées, ce qui présente des problèmes supplémentaires dans un capteur IoT bon marché.

En ce qui concerne l’analyse du flux localement: au moment où vous avez exécuté même le réseau neuronal local le plus léger pour déterminer quels cadres (ou zones d’un cadre) valent la peine d’être envoyés au serveur, vous avez souvent dépensé l’énergie que vous auriez économisée en envoyant simplement tous les cadres.

Extraction de représentations masquées de bovins avec un capteur qui n'est pas susceptible d'être connecté au réseau. Devrait-il dépenser sa capacité d'énergie limitée sur une segmentation sémantique locale avec un réseau neuronal léger; en envoyant des informations limitées à un serveur pour des instructions supplémentaires (en introduisant une latence); ou en envoyant des données 'bêtes' (en gaspillant de l'énergie sur la bande passante)? Source: https://arxiv.org/pdf/1807.01972.pdf

Extraction de représentations masquées de bovins avec un capteur qui n’est pas susceptible d’être connecté au réseau. Devrait-il dépenser sa capacité d’énergie limitée sur une segmentation sémantique locale avec un réseau neuronal léger; en envoyant des informations limitées à un serveur pour des instructions supplémentaires (en introduisant une latence); ou en envoyant des données ‘bêtes’ (en gaspillant de l’énergie sur la bande passante)? Source: https://arxiv.org/pdf/1807.01972.pdf

Il est clair que les projets de vision par ordinateur « dans la nature » ont besoin de codecs de compression de vidéo dédiés qui sont optimisés pour les exigences de réseaux neuronaux spécifiques sur des tâches diverses telles que la segmentation sémantique, la détection de points clés (analyse du mouvement humain) et la détection d’objets, entre autres utilisations possibles.

Si vous pouvez obtenir le compromis parfait entre l’efficacité de compression de la vidéo et la transmission minimale de données, vous êtes un pas plus près de SeeChange, et de la capacité de déployer des réseaux de capteurs abordables dans des environnements hostiles.

AccMPEG

De nouvelles recherches de l’Université de Chicago pourraient avoir fait un pas vers un tel codec, sous la forme de AccMPEG – un cadre de codage et de diffusion de vidéo novateur qui fonctionne à faible latence, à haute précision pour les réseaux neuronaux profonds (DNN) côté serveur, et qui a des exigences de calcul locales remarquablement faibles.

Architecture d'AccMPEG. Source: https://arxiv.org/pdf/2204.12534.pdf

Architecture d’AccMPEG. Source: https://arxiv.org/pdf/2204.12534.pdf

Le système peut faire des économies sur les méthodes précédentes en évaluant dans quelle mesure chaque macrobloc de 16x16px est susceptible d’affecter la précision du DNN côté serveur. Les méthodes précédentes ont généralement dû évaluer ce type de précision sur la base de chaque pixel dans une image ou exécuter des opérations locales coûteuses en énergie pour évaluer lesquelles des régions de l’image pourraient être les plus intéressantes.

Dans AccMPEG, cette précision est estimée dans un module personnalisé appelé AccGrad, qui mesure les moyens par lesquels la qualité d’encodage du macrobloc est susceptible d’être pertinente pour le cas d’utilisation final, tel qu’un DNN côté serveur qui tente de compter les personnes, d’effectuer une estimation du squelette sur le mouvement humain ou d’autres tâches de vision par ordinateur courantes.

Lorsqu’un cadre de vidéo arrive dans le système, AccMPEG le traite initialement à l’aide d’un modèle de sélection de qualité bon marché, intitulé AccModel. Les zones qui ne sont pas susceptibles de contribuer aux calculs utiles d’un DNN côté serveur sont essentiellement de la charge, et devraient être marquées pour être encodées à la qualité la plus basse possible, contrairement aux régions saillantes, qui devraient être envoyées à une meilleure qualité.

Ce processus présente trois défis: peut-on effectuer ce processus suffisamment rapidement pour atteindre une latence acceptable sans utiliser des ressources de calcul locales énergivores? Peut-on établir une relation optimale entre la fréquence d’images et la qualité? Et peut-on former rapidement un modèle pour un DNN côté serveur individuel?

Logistique de formation

Idéalement, un codec de vision par ordinateur serait pré-formé sur des systèmes branchés aux exigences exactes d’un réseau neuronal spécifique. Le module AccGrad, cependant, peut être directement dérivé d’un DNN avec seulement deux propagations vers l’avant, à un gain de dix fois la surcharge standard.

AccMPEG forme AccGrad pour seulement 15 époques de trois propagations chacune à travers le DNN final, et peut potentiellement être réformé « en direct » en utilisant son état de modèle actuel comme modèle, au moins pour des tâches de CV similaires.

AccModel utilise l’extracteur de fonctionnalités pré-formé MobileNet-SSD, commun dans les appareils de bord abordables. À un taux de 12 GFLOPS, le modèle n’utilise qu’un tiers des approches ResNet18 typiques. Outre la normalisation par lots et l’activation, l’architecture ne consiste qu’en couches convolutionnelles, et sa surcharge de calcul est proportionnelle à la taille du cadre.

AccGrad supprime le besoin d'inférence DNN finale, améliorant ainsi la logistique de déploiement.

AccGrad supprime le besoin d’inférence DNN finale, améliorant ainsi la logistique de déploiement.

Taux de trame

L’architecture fonctionne de manière optimale à 10 images par seconde, ce qui la rendrait adaptée à des fins telles que la surveillance agricole, la surveillance de la dégradation des bâtiments, l’analyse du trafic en haute vue et l’inférence du squelette représentatif dans le mouvement humain; cependant, des scénarios à déplacement rapide, tels que la vue basse du trafic (voitures ou personnes), et d’autres situations dans lesquelles des taux de trame élevés sont bénéfiques, ne conviennent pas à cette approche.

Une partie de la méthode de frugalité réside dans le postulat que les macrobloc adjacents sont susceptibles d’avoir une valeur similaire, jusqu’au point où un macrobloc tombe en dessous de la précision estimée. Les zones obtenues par cette approche sont plus clairement délimitées et peuvent être calculées à une vitesse plus élevée.

Amélioration des performances

Les chercheurs ont testé le système sur une carte Jetson Nano de 60 $ avec un seul GPU Maxwell 128-core, et divers autres équivalents bon marché. OpenVINO a été utilisé pour compenser certaines des exigences énergétiques des DNN locaux très épars aux CPU.

AccModel lui-même a été formé à l’origine hors ligne sur un serveur avec 8 GPU GeForce RTX 2080S. Bien que cela soit un ensemble de puissance de calcul formable pour une construction initiale de modèle, la réformation légère que le système rend possible, et la façon dont un modèle peut être ajusté à certains paramètres de tolérance à travers différents DNN qui attaquent des tâches similaires, signifie qu’AccMPEG peut faire partie d’un système qui nécessite une assistance minimale dans la nature.

 

Publié pour la première fois le 1er mai 2022.

Écrivain sur l'apprentissage automatique, spécialiste du domaine de la synthèse d'images humaines. Ancien responsable du contenu de recherche chez Metaphysic.ai, jusqu'à sa dissolution dans Brahma.ai de DNEG.
Portfolio site : martinanderson.ai
Contact : [email protected]