Kąt Andersona
Kodek wideo zaprojektowany do analizy sztucznej inteligencji

Chociaż techno-thriller The Circle (2017) jest bardziej komentarzem na temat implikacji etycznych sieci społecznościowych niż praktyczności zewnętrznej analizy wideo, to niezwykle mała kamera “SeeChange” w centrum fabuły jest tym, co naprawdę wprowadza film do kategorii “science-fiction”.

Urządzenie nadzoru/sprzęt ‘SeeChange’ z techno-thrillera ‘The Circle’ (2017).
Bezprzewodowe i swobodnie poruszające się urządzenie o wielkości dużej marble, to nie brak paneli słonecznych ani niewydajność pobierania energii z innych źródeł (takich jak fale radiowe) sprawia, że SeeChange jest mało prawdopodobnym rozwiązaniem, ale fakt, że musi on kompresować wideo 24/7, na jakiejś skromnej ładowaniu, które jest w stanie utrzymać.
Zasilanie tanich czujników tego typu jest podstawowym obszarem badań w dziedzinie widzenia komputerowego (CV) i analizy wideo, zwłaszcza w środowiskach nieurbanych, gdzie czujnik musi wydobyć maksymalną wydajność z bardzo ograniczonych zasobów energii (baterie, energia słoneczna itp.).
W przypadkach, w których takie urządzenie IoT/CV musi wysłać zawartość obrazu do centralnego serwera (często przez konwencjonalne sieci komórkowe), wybory są trudne: albo urządzenie musi uruchomić jakiś lekki model neuronowy lokalnie, aby wysłać tylko zoptymalizowane fragmenty danych istotnych dla serwera; albo musi wysłać “głupie” wideo do zasobów chmurowych do oceny.
Chociaż aktywacja ruchu za pomocą czujników Smart Vision Sensors (SVS) może zmniejszyć ten nakład, monitorowanie aktywacji również kosztuje energię.
Trzymanie się władzy
Ponadto, nawet z rzadką aktywacją (tj. owca czasami wchodzi w pole widzenia), urządzenie nie ma wystarczającej energii, aby wysłać gigabajty niekompresowanego wideo; nie ma również wystarczającej energii, aby nieustannie uruchamiać popularne kodeki kompresji wideo, takie jak H.264/5, które oczekują sprzętu, który jest podłączony lub niezbyt oddalony od następnego ładowania.

Potoki analityki wideo dla trzech typowych zadań widzenia komputerowego. Architektura kodowania wideo musi być przeszkolona do zadania, a zwykle dla sieci neuronowej, która otrzyma dane. Źródło: https://arxiv.org/pdf/2204.12534.pdf
Chociaż powszechnie rozpowszechniony kodek H.264 ma niższe zużycie energii niż jego następca H.265, ma słabą wydajność kompresji. Jego następca, H.265, ma lepszą wydajność kompresji, ale wyższe zużycie energii. Podczas gdy otwarty kodek Google VP9 bije oba w każdej dziedzinie, wymaga on wyższych lokalnych zasobów obliczeniowych, co stanowi dodatkowy problem w przypadku taniego czujnika IoT.
Jeśli chodzi o analizę strumienia lokalnie: do momentu, w którym uruchomisz nawet najlżejszy model neuronowy lokalnie, aby określić, które klatki (lub obszary klatki) są warte wysłania do serwera, często wydatkujesz energię, którą zaoszczędziłbyś, wysyłając wszystkie klatki.

Wydobywanie maskowanych reprezentacji bydła za pomocą czujnika, który nie jest prawdopodobnie podłączony do sieci. Czy wydatkuje on swoją ograniczoną pojemność energetyczną na lokalną segmentację semantyczną z lekkim modelem neuronowym; czy wysyła ograniczone informacje do serwera w celu dalszej instrukcji (wprowadzając opóźnienie); czy wysyła ‘głupie’ dane (marnując energię na przepustowość)? Źródło: https://arxiv.org/pdf/1807.01972.pdf
Jasne, że “w dziczy” projekty widzenia komputerowego potrzebują dedykowanych kodeków kompresji wideo, które są zoptymalizowane do wymagań konkretnych sieci neuronowych w konkretnych i różnorodnych zadaniach, takich jak segmentacja semantyczna, wykrywanie punktów kluczowych (analiza ruchu ludzi) i wykrywanie obiektów, wśród innych możliwych zastosowań.
Jeśli możesz uzyskać idealny kompromis między wydajnością kompresji wideo a minimalnym przesyłaniem danych, jesteś o krok bliżej SeeChange i możliwości wdrożenia tanich sieci czujników w nieprzyjaznych środowiskach.
AccMPEG
Nowe badania z Uniwersytetu Chicagowskiego mogły zbliżyć się do takiego kodeku, w postaci AccMPEG – nowej ramy kodowania i transmisji wideo, która działa z niskim opóźnieniem, wysoką dokładnością dla serwerowych Sieci Neuronowych Głębokich (DNN) i która ma niesamowicie niskie lokalne wymagania obliczeniowe.

Architektura AccMPEG. Źródło: https://arxiv.org/pdf/2204.12534.pdf
System jest w stanie uczynić oszczędności nad poprzednimi metodami, oceniając stopień, w jakim każdy 16x16px makroblok ma wpływ na dokładność serwerowej DNN. Poprzednie metody miały ogólnie tendencję do oceniania tej dokładności na podstawie każdego piksela w obrazie lub wykonywania elektrycznie drogich operacji lokalnych, aby ocenić, które obszary obrazu mogą być najbardziej interesujące.
W AccMPEG, ta dokładność jest szacowana w niestandardowym module o nazwie AccGrad, który mierzy sposoby, w jakie jakość kodowania makrobloku ma wpływ na końcowe zastosowanie, takie jak serwerowa DNN, która próbuje liczyć ludzi, wykonywać estymację szkieletu na ruchu ludzi lub inne powszechne zadania widzenia komputerowego.
Gdy klatka wideo dociera do systemu, AccMPEG najpierw przetwarza ją za pomocą taniego modelu wyboru jakości, zatytułowanego AccModel. Obszary, które nie są prawdopodobnie istotne dla przydatnych obliczeń serwerowej DNN, są podstawowo balastem i powinny być oznaczone do kodowania w najniższej możliwej jakości, w przeciwieństwie do istotnych obszarów, które powinny być wysłane w lepszej jakości.
Ten proces przedstawia trzy wyzwania: czy proces może być wykonany wystarczająco szybko, aby osiągnąć akceptowalne opóźnienie bez użycia energochłonnych lokalnych zasobów obliczeniowych? Czy można ustalić optymalną relację między częstotliwością klatek a jakością? I czy model może być szybko przeszkolony dla indywidualnej serwerowej DNN?
Logistyka szkolenia
Idealnie, kodek widzenia komputerowego powinien być przeszkolony na podłączonych systemach do dokładnych wymagań konkretnych sieci neuronowych. Moduł AccGrad może być jednak bezpośrednio pochodny od DNN z tylko dwoma propagacjami do przodu, przy oszczędności dziesięciokrotnego standardowego nakładu.
AccMPEG szkoli AccGrad przez zaledwie 15 epok trzech propagacji każdej przez końcową DNN i może potencjalnie być przeszkolony “na żywo” za pomocą swojego bieżącego stanu modelu jako szablonu, przynajmniej dla podobnych zadań CV.
AccModel używa przeszkolonego wyodrębniania funkcji MobileNet-SSD, powszechnego w tanich urządzeniach brzegowych. Przy przepływie 12 GFLOPS, model używa tylko jednej trzeciej podejść ResNet18. Poza normalizacją i aktywacją, architektura składa się tylko z warstw konwolucyjnych, a jej nakład obliczeniowy jest proporcjonalny do rozmiaru klatki.

AccGrad usuwa potrzebę końcowej inferencji DNN, poprawiając logistykę wdrożenia.
Częstotliwość klatek
Architektura działa optymalnie przy 10 klatkach na sekundę, co czyni ją odpowiednią do celów takich jak monitorowanie rolnictwa, nadzór nad degradacją budynków, analiza ruchu z wysokiego punktu widzenia i reprezentatywna inferencja szkieletu w ruchu ludzi; jednak bardzo szybko poruszające się scenariusze, takie jak analiza ruchu z niskiego punktu widzenia (samochodów lub ludzi), i inne sytuacje, w których wysokie częstotliwości klatek są korzystne, nie są odpowiednie dla tego podejścia.
Część metody polega na założeniu, że sąsiednie makrobloki są prawdopodobnie podobne, aż do momentu, w którym makroblok spada poniżej oszacowanej dokładności. Obszary uzyskane tym podejściem są bardziej wyraźnie wyodrębnione i mogą być obliczane z większą szybkością.
Poprawa wydajności
Badacze przetestowali system na płycie Jetson Nano za 60 dolarów z single 128-rdzeniowym procesorem GPU Maxwell, oraz na innych tanich odpowiednikach. OpenVINO zostało użyte do przesunięcia części wymagań energetycznych bardzo rzadkich lokalnych DNN do CPU.
Sam AccModel został początkowo przeszkolony offline na serwerze z 8 procesorami GPU GeForce RTX 2080S. Chociaż jest to imponująca kolekcja mocy obliczeniowej dla początkowego budowania modelu, lekkie przeszkolenie, które system umożliwia, oraz sposób, w jaki model może być dostosowany do pewnych parametrów tolerancji w różnych DNN, które atakują podobne zadania, oznacza, że AccMPEG może stanowić część systemu, który wymaga minimalnej opieki “w dziczy”.
Pierwotnie opublikowane 1 maja 2022.












