Künstliche Intelligenz
Ein Video-Codec, der für die KI-Analyse entwickelt wurde

Obwohl Techno-Thriller The Circle (2017) eher ein Kommentar zu den ethischen Implikationen sozialer Netzwerke als zu den praktischen Aspekten externer Videoanalyse ist, ist es die unglaublich kleine „SeeChange“-Kamera im Zentrum der Handlung, die den Film wirklich in die Kategorie „Science-Fiction“ einordnet.

Das Kamera-/Überwachungsgerät „SeeChange“ aus dem Technothriller „The Circle“ (2017).
Ein drahtloses und frei bewegliches Gerät von der Größe einer großen Murmel. Es liegt nicht am Fehlen von Solarzellen oder an der Ineffizienz der Energiegewinnung aus anderen Umgebungsquellen (wie z. B. Radiowellen), was SeeChange zu einer unwahrscheinlichen Aussicht macht, aber die Tatsache, dass es rund um die Uhr Videos komprimieren muss, egal wie gering die Kosten dafür sind.
Die Stromversorgung kostengünstiger Sensoren dieser Art ist ein Kerngebiet der Forschung im Bereich Computer Vision (CV) und Videoanalyse, insbesondere in nichtstädtischen Umgebungen, in denen der Sensor die maximale Leistung aus sehr begrenzten Energieressourcen (Batterien, Solar usw.) herausholen muss .).
In Fällen, in denen ein solches Edge-IoT/CV-Gerät Bildinhalte an einen zentralen Server senden muss (häufig über herkömmliche Mobilfunknetze), ist die Wahl schwierig: Entweder muss das Gerät lokal eine Art leichtes neuronales Netzwerk ausführen Nur zum Versenden optimiert Segmente relevanter Daten zur serverseitigen Verarbeitung; oder es muss „dumme“ Videos senden, damit die angeschlossenen Cloud-Ressourcen sie auswerten können.
Allerdings ist die Bewegungsaktivierung durch ereignisbasierte Smart Vision Sensoren (SVS) möglich Reduzieren Sie diesen Aufwand, dass die Aktivierungsüberwachung auch Energie kostet.
An der Macht festhalten
Darüber hinaus verfügt das Gerät selbst bei seltener Aktivierung (wenn z. B. gelegentlich ein Schaf ins Blickfeld gerät) nicht über genügend Leistung, um Gigabyte an unkomprimierten Videos zu senden. Auch reicht die Leistung nicht aus, um gängige Videokomprimierungscodecs wie H.264/5 ständig auszuführen, da diese Hardware entweder an die Steckdose angeschlossen ist oder nicht weit vom nächsten Ladevorgang entfernt ist.

Videoanalyse-Pipelines für drei typische Computer-Vision-Aufgaben. Die Videokodierungsarchitektur muss für die jeweilige Aufgabe trainiert werden, und normalerweise für das neuronale Netzwerk, das die Daten empfängt. Quelle: https://arxiv.org/pdf/2204.12534.pdf
Obwohl der weit verbreitete H.264-Codec einen geringeren Energieverbrauch hat als sein Nachfolger H.265, ist dies der Fall schlechte Komprimierungseffizienz. Sein Nachfolger, H.265, hat eine bessere Komprimierungseffizienz, aber einen höheren Stromverbrauch. Während Googles Open Source VP9 Codec übertrifft sie beide in jedem Bereich, es erfordert höhere lokale Rechenressourcen, was sich darstellt zusätzliche Probleme in einem vermeintlich günstigen IoT-Sensor.
Was die lokale Analyse des Streams betrifft: Bis Sie selbst das einfachste lokale neuronale Netzwerk ausgeführt haben, um zu bestimmen, welche Frames (oder Bereiche eines Frames) es wert sind, an den Server gesendet zu werden, haben Sie oft bereits die gesamte Leistung verbraucht, die Sie durch das Senden aller Frames gespart hätten.

Extrahieren maskierter Darstellungen von Rindern mit einem Sensor, der wahrscheinlich nicht an das Stromnetz angeschlossen ist. Verwendet er seine begrenzte Energiekapazität für die lokale semantische Segmentierung mit einem leichten neuronalen Netzwerk? Wird er begrenzte Informationen an einen Server senden, um weitere Anweisungen zu erhalten (was zu Latenz führt)? Oder wird er „dumme“ Daten senden (was Energie für die Bandbreite verschwendet)? Quelle: https://arxiv.org/pdf/1807.01972.pdf
Es ist klar, dass Computer-Vision-Projekte in der Praxis spezielle Videokomprimierungscodecs benötigen, die für die Anforderungen bestimmter neuronaler Netzwerke bei spezifischen und vielfältigen Aufgaben wie semantischer Segmentierung, Keypoint-Erkennung (Analyse menschlicher Bewegungen) und Objekterkennung sowie anderen möglichen Endanwendungen optimiert sind.
Wenn Sie den perfekten Kompromiss zwischen Videokomprimierungseffizienz und minimaler Datenübertragung finden, sind Sie dem SeeChange und der Möglichkeit, kostengünstige Sensornetzwerke in unwirtlichen Umgebungen einzusetzen, einen Schritt näher.
AccMPEG
Neue Forschungen der University of Chicago könnten einem solchen Codec in Form von einen Schritt näher gekommen sein AccMPEG – ein neuartiges Videokodierungs- und Streaming-Framework, das mit geringer Latenz und hoher Genauigkeit für serverseitige Deep Neural Networks (DNNs) arbeitet und bemerkenswert niedrige lokale Rechenanforderungen aufweist.

Architektur von AccMPEG. Quelle: https://arxiv.org/pdf/2204.12534.pdf
Das System ist in der Lage, Einsparungen gegenüber früheren Methoden zu erzielen, indem es das Ausmaß beurteilt, in dem jedes 16x16px groß ist Makroblock wirkt sich wahrscheinlich auf die Genauigkeit des serverseitigen DNN aus. Bisherige Methoden mussten diese Art der Genauigkeit stattdessen im Allgemeinen anhand jedes einzelnen Pixels in einem Bild bewerten oder elektrisch kostspielige lokale Operationen durchführen, um zu beurteilen, welche Bereiche des Bildes am interessantesten sein könnten.
In AccMPEG wird diese Genauigkeit in einem benutzerdefinierten Modul namens AccGrad geschätzt, das misst, inwiefern die Kodierungsqualität des Makroblocks für den endgültigen Anwendungsfall relevant sein kann, z. B. für ein serverseitiges DNN, das versucht, Personen zu zählen, Skelettschätzungen für menschliche Bewegungen durchzuführen oder andere gängige Computer Vision-Aufgaben auszuführen.
Wenn ein Videobild im System ankommt, verarbeitet AccMPEG es zunächst über ein kostengünstiges Qualitätsselektormodell mit dem Titel AccModel. Alle Bereiche, die wahrscheinlich nicht zu den nützlichen Berechnungen eines serverseitigen DNN beitragen, sind im Wesentlichen Ballast und sollten für die Codierung mit der niedrigstmöglichen Qualität markiert werden, im Gegensatz zu hervorstechenden Regionen, die mit besserer Qualität gesendet werden sollten.
Dieser Prozess stellt drei Herausforderungen dar: Kann der Prozess schnell genug durchgeführt werden, um eine akzeptable Latenz zu erreichen, ohne energieraubende lokale Rechenressourcen zu nutzen? Kann ein optimales Verhältnis zwischen Bildrate und Qualität hergestellt werden? Und kann ein Modell schnell für ein einzelnes serverseitiges DNN trainiert werden?
Ausbildung Logistik
Im Idealfall würde ein Computer-Vision-Codec auf angeschlossenen Systemen vorab auf die genauen Anforderungen eines bestimmten neuronalen Netzwerks trainiert werden. Das AccGrad-Modul kann jedoch mit nur zwei Vorwärtsausbreitungen direkt von einem DNN abgeleitet werden, was zu einer Einsparung des Zehnfachen des Standard-Overheads führt.
AccMPEG trainiert AccGrad für lediglich 15 Epochen mit jeweils drei Ausbreitungen durch das endgültige DNN und kann möglicherweise „live“ neu trainiert werden, indem der aktuelle Modellstatus als Vorlage verwendet wird, zumindest für CV-Aufgaben mit ähnlichen Spezifikationen.
AccModel verwendet das vorab trainierte MobileNet-SSD Feature-Extraktor, der in erschwinglichen Edge-Geräten üblich ist. Bei einem Umsatz von 12 GFLOPS nutzt das Modell nur ein Drittel typischer ResNet18-Ansätze. Abgesehen von der Batch-Normalisierung und -Aktivierung besteht die Architektur nur aus Faltungsschichten und ihr Rechenaufwand ist proportional zur Framegröße.

AccGrad macht eine abschließende DNN-Inferenz überflüssig und verbessert so die Bereitstellungslogistik.
Frame Rate
Die Architektur läuft optimal mit 10 Bildern pro Sekunde und eignet sich daher für Zwecke wie die Überwachung der Landwirtschaft, die Überwachung der Gebäudeschädigung, die Verkehrsanalyse mit hoher Sicht und repräsentative Skelett-Schlussfolgerungen in der menschlichen Bewegung. Allerdings sind sehr schnelle Szenarien, wie z. B. Verkehr mit geringer Sicht (von Autos oder Personen) und andere Situationen, in denen hohe Bildraten von Vorteil sind, für diesen Ansatz ungeeignet.
Die Sparsamkeit dieser Methode beruht unter anderem auf der Annahme, dass benachbarte Makroblöcke wahrscheinlich einen ähnlichen Wert haben, bis ein Makroblock die geschätzte Genauigkeit unterschreitet. Die mit diesem Ansatz ermittelten Bereiche sind klarer abgegrenzt und können schneller berechnet werden.
Leistungsverbesserung
Die Forscher testeten das System auf einem 60-Dollar-Jetson-Nano-Board mit einer einzelnen Maxwell-GPU mit 128 Kernen und verschiedenen anderen günstigen Äquivalenten. OpenVINO wurde verwendet, um einen Teil des Energiebedarfs der sehr spärlichen lokalen DNNs auf CPUs auszugleichen.
AccModel selbst wurde ursprünglich offline auf einem Server mit 8 GeForce RTX 2080S GPUs trainiert. Obwohl dies eine beeindruckende Menge an Rechenleistung für einen ersten Modellaufbau ist, bedeutet die einfache Umschulung, die das System ermöglicht, und die Art und Weise, wie ein Modell an bestimmte Toleranzparameter über verschiedene DNNs hinweg angepasst werden kann, die ähnliche Aufgaben angreifen, dass AccMPEG dies kann sind Teil eines Systems, das in freier Wildbahn nur minimale Anwesenheit erfordert.
Erstveröffentlichung am 1. Mai 2022.












