Andersons hoek

Een videocodec ontworpen voor AI-analyse

mm
Voeg Unite.AI toe aan je voorkeursbronnen op Google

Hoewel de techno-thriller The Circle (2017) meer een commentaar is op de ethische implicaties van sociale netwerken dan op de praktische aspecten van externe video-analyse, is de onwaarschijnlijk kleine ‘SeeChange’-camera in het centrum van het verhaal wat de film echt in de categorie ‘science-fiction’ plaatst.

De 'SeeChange'-camera/bewakingsapparaat uit de techno-thriller 'The Circle' (2017).

De ‘SeeChange’-camera/bewakingsapparaat uit de techno-thriller ‘The Circle’ (2017).

Een draadloos en vrij bewegende apparatuur ter grootte van een grote marmer, het is niet het ontbreken van zonnepanelen of de inefficiëntie van het opwekken van stroom uit andere omgevingsbronnen (zoals radiogolven) dat SeeChange een onwaarschijnlijk vooruitzicht maakt, maar het feit dat het 24/7 video moet comprimeren op welke schamele lading het in staat is te onderhouden.

Het aan de gang houden van goedkope sensoren van dit type is een kerngebied van onderzoek in computerzicht (CV) en video-analyse, met name in niet-stedelijke omgevingen waar de sensor het maximum aan prestaties moet halen uit zeer beperkte stroombronnen (batterijen, zon, enz.).

In gevallen waarin een dergelijk rand-IoT/CV-apparaat van dit type beeldinhoud naar een centrale server moet verzenden (vaak via conventionele celdekkingnetwerken), zijn de keuzes moeilijk: het apparaat moet ofwel een soort lichtgewicht neurale netwerk lokaal uitvoeren om alleen geoptimaliseerde segmenten van relevante gegevens te verzenden voor serverside-verwerking; ofwel ‘domme’ video verzenden voor de aangesloten cloudbronnen om te evalueren.

Hoewel motion-activation via event-gebaseerde Smart Vision Sensors (SVS) deze overhead kan verlagen, kost deze activatiebewaking ook energie.

Vasthouden aan de macht

Bovendien, zelfs met incidentele activatie (d.w.z. een schaap komt af en toe in zicht), heeft het apparaat niet voldoende stroom om gigabytes ongecomprimeerde video te verzenden; noch heeft het voldoende stroom om constant populaire video-compressiecodecs zoals H.264/5 uit te voeren, die verwachten dat de hardware is aangesloten of niet ver van de volgende laadsessie.

Video-analysepipelines voor drie typische computerzichttaken. De video-encoderingsarchitectuur moet worden getraind voor de taak in kwestie en meestal voor het neurale netwerk dat de gegevens ontvangt. Bron: https://arxiv.org/pdf/2204.12534.pdf

Video-analysepipelines voor drie typische computerzichttaken. De video-encoderingsarchitectuur moet worden getraind voor de taak in kwestie en meestal voor het neurale netwerk dat de gegevens ontvangt. Bron: https://arxiv.org/pdf/2204.12534.pdf

Hoewel de wijd verspreide H.264-codec een lagere energieverbruik heeft dan zijn opvolger H.265, heeft het slechte compressie-efficiëntie. Zijn opvolger, H.265, heeft betere compressie-efficiëntie, maar hoger energieverbruik. Terwijl Google’s open source VP9-codec ze beiden overtreft in elk gebied, vereist het hogere lokale berekeningsbronnen, wat aanvullende problemen oplevert in een verondersteld goedkope IoT-sensor.

Wat betreft het lokaal analyseren van de stroom: tegen de tijd dat u zelfs het lichtste lokale neurale netwerk hebt uitgevoerd om te bepalen welke frames (of delen van een frame) de moeite waard zijn om naar de server te verzenden, hebt u vaak de stroom uitgegeven die u zou hebben bespaard door alle frames te verzenden.

Het extraheren van gemaskeerde representaties van vee met een sensor die waarschijnlijk niet op het net is aangesloten. Besteedt het zijn beperkte stroomcapaciteit aan lokale semantische segmentatie met een lichtgewicht neurale netwerk; door beperkte informatie naar een server te verzenden voor verdere instructies (waardoor vertraging ontstaat); of door 'domme' gegevens te verzenden (energie verspillend aan bandbreedte)? Bron: https://arxiv.org/pdf/1807.01972.pdf

Het extraheren van gemaskeerde representaties van vee met een sensor die waarschijnlijk niet op het net is aangesloten. Besteedt het zijn beperkte stroomcapaciteit aan lokale semantische segmentatie met een lichtgewicht neurale netwerk; door beperkte informatie naar een server te verzenden voor verdere instructies (waardoor vertraging ontstaat); of door ‘domme’ gegevens te verzenden (energie verspillend aan bandbreedte)? Bron: https://arxiv.org/pdf/1807.01972.pdf

Het is duidelijk dat ‘in het wild’ computerzichtprojecten speciale video-compressiecodecs nodig hebben die zijn geoptimaliseerd voor de vereisten van specifieke neurale netwerken over specifieke en diverse taken zoals semantische segmentatie, sleutelpuntdetectie (menselijke bewegingsanalyse) en objectdetectie, onder andere mogelijke eindgebruiken.

Als u de perfecte balans tussen video-compressie-efficiëntie en minimale gegevensoverdracht kunt bereiken, bent u een stap dichter bij SeeChange en de mogelijkheid om betaalbare sensornetwerken in onvriendelijke omgevingen in te zetten.

AccMPEG

Nieuw onderzoek van de Universiteit van Chicago kan een stap dichter bij een dergelijke codec hebben genomen, in de vorm van AccMPEG – een nieuw video-encoderings- en streamingframework dat werkt met lage latentie, hoge nauwkeurigheid voor serverside Deep Neural Networks (DNN’s) en dat opvallend lage lokale berekeningsvereisten heeft.

Architectuur van AccMPEG. Bron: https://arxiv.org/pdf/2204.12534.pdf

Architectuur van AccMPEG. Bron: https://arxiv.org/pdf/2204.12534.pdf

Het systeem kan besparingen realiseren ten opzichte van eerdere methoden door de mate te beoordelen waarin elke 16x16px macroblock de nauwkeurigheid van de serverside DNN kan beïnvloeden. Eerdere methoden hebben meestal de nauwkeurigheid van dit type beoordeeld op basis van elke pixel in een afbeelding of hebben elektrisch dure lokale bewerkingen uitgevoerd om te bepalen welke regio’s van de afbeelding het meest interessant zouden kunnen zijn.

In AccMPEG wordt deze nauwkeurigheid geschat in een aangepast module genaamd AccGrad, dat de manieren meet waarop de encoderingskwaliteit van de macroblock waarschijnlijk relevant is voor het eindgebruik, zoals een serverside DNN dat probeert mensen te tellen, skeletschattingsanalyse van menselijke beweging uitvoert of andere gebruikelijke computerzichttaken.

Als een frame van video het systeem binnenkomt, verwerkt AccMPEG het eerst door een goedkope kwaliteitsselector-model, getiteld AccModel. Alle gebieden die niet waarschijnlijk bijdragen aan de nuttige berekeningen van een serverside DNN zijn in wezen ballast en moeten worden gemarkeerd voor encodering met de laagst mogelijke kwaliteit, in tegenstelling tot relevante regio’s, die op betere kwaliteit moeten worden verzonden.

Dit proces levert drie uitdagingen op: kan het proces snel genoeg worden uitgevoerd om aanvaardbare latentie te bereiken zonder energievretende lokale berekeningsbronnen te gebruiken? Kan een optimale relatie tussen framefrequentie en kwaliteit worden vastgesteld? En kan een model snel worden getraind voor een individuele serverside DNN?

Trainingslogistiek

Ideaal zou een computerzichtcodec vooraf moeten worden getraind op aangesloten systemen naar de exacte vereisten van een specifiek neurale netwerk. De AccGrad-module kan echter rechtstreeks worden afgeleid van een DNN met slechts twee voorwaartse propagaties, met een besparing van tien keer de standaardoverhead.

AccMPEG traint AccGrad voor slechts 15 epochs van drie propagaties elk door de finale DNN, en kan mogelijk live worden getraind met zijn huidige modelstatus als sjabloon, ten minste voor vergelijkbare CV-taken.

AccModel gebruikt de vooraf getrainde MobileNet-SSD-functie-extractor, gebruikelijk in betaalbare randapparaten. Bij een omzet van 12 GFLOPS gebruikt het model slechts een derde van de typische ResNet18-benaderingen. Behalve batchnormalisatie en activatie bestaat de architectuur alleen uit convolutielaag en is de berekeningsoverhead evenredig met de framesize.

AccGrad verwijdert de noodzaak voor finale DNN-inferentie, waardoor de inzetlogistiek wordt verbeterd.

AccGrad verwijdert de noodzaak voor finale DNN-inferentie, waardoor de inzetlogistiek wordt verbeterd.

Framefrequentie

De architectuur werkt optimaal bij 10 fps, wat het geschikt zou maken voor doeleinden zoals landbouwmonitoring, gebouwdegradatiebewaking, hoge-weergaveverkeersanalyse en representatieve skeletinferentie in menselijke beweging; echter zijn zeer snelle scenario’s, zoals lage-weergaveverkeer (van auto’s of mensen), en andere situaties waarin hoge framefrequenties gunstig zijn, niet geschikt voor deze benadering.

Een deel van de methodes zuinigheid ligt in de premisse dat aangrenzende macroblocks waarschijnlijk van soortgelijke waarde zijn, tot het punt waarop een macroblock onder de geschatte nauwkeurigheid daalt. De door deze benadering verkregen gebieden zijn duidelijker afgebakend en kunnen met grotere snelheid worden berekend.

Prestatieverbetering

De onderzoekers testten het systeem op een $60 Jetson Nano-bord met een enkele 128-core Maxwell GPU, en verschillende andere goedkope equivalenten. OpenVINO werd gebruikt om een deel van de energievraag van de zeer schaarse lokale DNN’s naar CPU’s te verplaatsen.

AccModel zelf was oorspronkelijk getraind offline op een server met 8 GeForce RTX 2080S-GPU’s. Hoewel dit een formidabele reeks rekenkracht is voor een initiële modelopbouw, betekent de lichtgewicht retraining die het systeem mogelijk maakt, en de manier waarop een model kan worden aangepast aan bepaalde tolerantieparameters over verschillende DNN’s die soortgelijke taken aanvallen, dat AccMPEG deel kan uitmaken van een systeem dat minimale aandacht in het wild nodig heeft.

 

Publicatie voor het eerst op 1 mei 2022.

Schrijver over machine learning, domeinspecialist in humane beeldsynthese. Voormalig hoofd van onderzoeksinhoud bij Metaphysic.ai, tot de opheffing ervan in DNEG's Brahma.ai.
Portfolio site: martinanderson.ai
Contact: [email protected]