Intelligence Artificielle
Un codec vidéo conçu pour l'analyse de l'IA

Bien que techno-thriller Le Cercle (2017) est davantage 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 » incroyablement petite au centre de l'intrigue est ce qui pousse véritablement le film dans la catégorie « science-fiction ».

La caméra/dispositif de surveillance « SeeChange » du thriller techno « The Circle » (2017).
Un appareil sans fil et en libre-service de la taille d'une grosse bille, ce n'est pas le manque de panneaux solaires ou l'inefficacité de la consommation d'énergie à partir d'autres sources ambiantes (telles que les ondes radio) ce qui rend SeeChange une perspective improbable, mais le fait qu'il va devoir compresser la vidéo 24h/7 et XNUMXj/XNUMX, avec la faible charge qu'il est capable de maintenir.
L'alimentation de capteurs bon marché de ce type est un domaine central de recherche en vision par ordinateur (CV) et en analyse vidéo, en particulier dans les environnements non urbains où le capteur devra tirer le meilleur parti de ressources énergétiques très limitées (batteries, énergie solaire, etc. .).
Dans les cas où un tel appareil IoT/CV périphérique de ce type doit envoyer du contenu d'image à un serveur central (souvent via des réseaux de couverture cellulaire conventionnels), les choix sont difficiles : soit l'appareil doit exécuter une sorte de réseau neuronal léger localement afin envoyer seulement optimisé des segments de données pertinentes pour le traitement côté serveur ; ou il doit envoyer une vidéo « muette » pour que les ressources cloud connectées l'évaluent.
Bien que l'activation du mouvement via des capteurs de vision intelligents (SVS) basés sur des événements puisse réduire ces frais généraux, que la surveillance de l'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 erre de temps en temps dans le champ de vision), l'appareil n'a pas suffisamment de puissance pour envoyer des gigaoctets de vidéo non compressée ; il n'a pas non plus assez de puissance pour exécuter en permanence des codecs de compression vidéo populaires tels que H.264/5, qui attendent du matériel branché ou non loin de la prochaine session de charge.

Pipelines d'analyse vidéo pour trois tâches typiques de vision par ordinateur. L'architecture d'encodage vidéo doit être formée pour la tâche à accomplir, 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é consomme moins d'énergie que son successeur H.265, il a faible efficacité de compressionSon successeur, le H.265, offre une meilleure efficacité de compression, mais une consommation d'énergie plus élevée. Alors que le codec open source de Google Codec VP9 les bat tous les deux dans chaque domaine, il nécessite des ressources de calcul locales plus élevées, ce qui présente problèmes supplémentaires dans un capteur IoT soi-disant 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 afin de déterminer quelles trames (ou zones d'une trame) méritent d'être envoyées au serveur, vous avez souvent dépensé l'énergie que vous auriez économisée en envoyant simplement toutes les trames.

Extraire des représentations masquées de bovins à l'aide d'un capteur peu susceptible d'être connecté au réseau. Utilise-t-il sa puissance limitée pour la segmentation sémantique locale à l'aide d'un réseau neuronal léger ; envoie-t-il des informations limitées à un serveur pour obtenir des instructions supplémentaires (ce qui entraîne une latence) ; ou envoie-t-il des données « inutiles » (gaspillage d'énergie en bande passante) ? Source : https://arxiv.org/pdf/1807.01972.pdf
Il est clair que les projets de vision par ordinateur « dans la nature » nécessitent des codecs de compression vidéo dédiés, optimisés pour les exigences de réseaux neuronaux spécifiques sur des tâches spécifiques et diverses telles que la segmentation sémantique, la détection de points clés (analyse des mouvements humains) et la détection d'objets, entre autres utilisations finales possibles.
Si vous parvenez à obtenir le compromis parfait entre l'efficacité de la compression vidéo et la transmission minimale de données, vous vous rapprochez de SeeChange et de la capacité à déployer des réseaux de capteurs abordables dans des environnements hostiles.
AccMPEG
De nouvelles recherches de l'Université de Chicago auraient peut-être fait un pas de plus vers un tel codec, sous la forme de AccMPEG - un nouveau cadre d'encodage et de diffusion vidéo qui fonctionne à faible latence, avec une grande précision pour les réseaux de neurones 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
Le système est capable de réaliser des économies par rapport aux méthodes précédentes en évaluant dans quelle mesure chaque 16x16px macrobloc est susceptible d'affecter la précision du DNN côté serveur. Au lieu de cela, les méthodes précédentes devaient généralement évaluer ce type de précision en fonction de chaque pixel d'une image ou bien effectuer des opérations locales coûteuses en électricité pour évaluer quelles 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 manières dont la qualité d'encodage du macrobloc est susceptible d'être pertinente pour le cas d'utilisation final, comme un DNN côté serveur qui essaie de compter les personnes, d'effectuer une estimation squelettique sur le mouvement humain ou d'autres tâches courantes de vision par ordinateur.
Lorsqu'une image vidéo arrive dans le système, AccMPEG la traite initialement via un modèle de sélecteur de qualité bon marché, intitulé AccModèle. Toutes les zones qui ne sont pas susceptibles de contribuer aux calculs utiles d'un DNN côté serveur sont essentiellement du ballast et doivent être marquées pour un codage avec la qualité la plus basse possible, contrairement aux régions saillantes, qui doivent être envoyées avec une meilleure qualité.
Ce processus présente trois défis : le processus peut-il être exécuté assez rapidement pour atteindre une latence acceptable sans utiliser de ressources de calcul locales énergivores ? Peut-on établir une relation optimale entre fréquence d'images et qualité ? Et un modèle peut-il être rapidement formé 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, moyennant une économie de dix fois la surcharge standard.
AccMPEG entraîne AccGrad pendant seulement 15 époques de trois propagations chacune à travers le DNN final, et peut potentiellement être recyclé « en direct » en utilisant son état de modèle actuel comme modèle, au moins pour des tâches CV de spécifications similaires.
AccModel utilise le pré-formé MobileNet-SSD extracteur de fonctionnalités, courant dans les appareils de périphérie abordables. Avec un chiffre d'affaires de 12 GFLOPS, le modèle n'utilise qu'un tiers des approches ResNet18 typiques. Outre la normalisation et l'activation par lots, l'architecture se compose uniquement de couches convolutives et sa surcharge de calcul est proportionnelle à la taille de la trame.

AccGrad supprime le besoin d'inférence DNN finale, améliorant ainsi la logistique de déploiement.
Fréquence d'images
L'architecture fonctionne de manière optimale à 10 ips, 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 à haute visibilité et l'inférence représentative du squelette dans les mouvements humains ; cependant, les scénarios très rapides, tels que le trafic à faible visibilité (de voitures ou de personnes) et d'autres situations dans lesquelles des fréquences d'images élevées sont bénéfiques, ne sont pas adaptés à cette approche.
La frugalité de la méthode repose en partie sur le principe selon lequel les macroblocs adjacents ont probablement une valeur similaire, jusqu'au moment 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 plus rapidement.
Amélioration de la production
Les chercheurs ont testé le système sur une carte Jetson Nano à 60 $ avec un seul GPU Maxwell à 128 cœurs et divers autres équivalents bon marché. OpenVINO a été utilisé pour compenser certains des besoins énergétiques des DNN locaux très rares vers les processeurs.
AccModel lui-même a été initialement formé hors ligne sur un serveur avec 8 GPU GeForce RTX 2080S. Bien qu'il s'agisse d'une formidable gamme de puissance de calcul pour une construction de modèle initiale, le léger recyclage rendu possible par le système et la manière dont un modèle peut être ajusté à certains paramètres de tolérance sur différents DNN qui attaquent des tâches similaires signifient qu'AccMPEG peut font partie d'un système qui nécessite une présence minimale dans la nature.
Première publication le 1er mai 2022.












