Rozpoznawanie czołgów w strumieniu wideo za pomocą metod uczenia maszynowego (+2 filmy na platformach Elbrus i Bajkał)

Rozpoznawanie czołgów w strumieniu wideo za pomocą metod uczenia maszynowego (+2 filmy na platformach Elbrus i Bajkał)

W toku naszej działalności codziennie stajemy przed problemem określenia priorytetów rozwojowych. Mając na uwadze wysoką dynamikę rozwoju branży IT, stale rosnące zapotrzebowanie ze strony biznesu i rządu na nowe technologie, każdorazowo ustalając wektor rozwoju i inwestując własne siły i środki w potencjał naukowy naszej firmy, dbamy o to, aby wszystkie nasze badania i projekty mają charakter fundamentalny i interdyscyplinarny.

Dlatego rozwijając naszą główną technologię - framework do rozpoznawania danych HIEROGLYPH, dbamy zarówno o poprawę jakości rozpoznawania dokumentów (nasza główna linia biznesowa), jak i możliwość wykorzystania tej technologii do rozwiązywania powiązanych problemów z rozpoznawaniem. W dzisiejszym artykule opowiemy Wam jak w oparciu o nasz silnik rozpoznawania (dokumenty) dokonaliśmy rozpoznawania w strumieniu wideo większych, strategicznie ważnych obiektów.

Stwierdzenie problemu

Wykorzystując istniejące rozwiązania, zbudować system rozpoznawania czołgów, który umożliwi klasyfikację obiektu, a także określenie podstawowych wskaźników geometrycznych (orientacji i odległości) w słabo kontrolowanych warunkach bez użycia specjalistycznego sprzętu.

decyzja

Jako główny algorytm rozwiązania problemu wybraliśmy statystyczne podejście do uczenia maszynowego. Jednak jednym z kluczowych problemów uczenia maszynowego jest konieczność posiadania wystarczającej ilości danych szkoleniowych. Oczywiście naturalne obrazy uzyskane z rzeczywistych scen zawierających potrzebne nam obiekty nie są dla nas dostępne. Dlatego zdecydowano się na szczęście wygenerować niezbędne dane do treningu Mamy w tym miejscu duże doświadczenie. A jednak całkowita synteza danych do tego zadania wydawała nam się nienaturalna, dlatego przygotowano specjalny układ symulujący rzeczywiste sceny. Model zawiera różne obiekty symulujące wieś: charakterystyczne pokrycia krajobrazu, krzewy, drzewa, płoty itp. Zdjęcia wykonano małoformatowym aparatem cyfrowym. Podczas procesu przechwytywania obrazu tło sceny uległo znacznej zmianie, aby algorytmy były bardziej odporne na zmiany tła.

Rozpoznawanie czołgów w strumieniu wideo za pomocą metod uczenia maszynowego (+2 filmy na platformach Elbrus i Bajkał)

Obiektem docelowym były 4 modele czołgów bojowych: T-90 (Rosja), M1A2 Abrams (USA), T-14 (Rosja), Merkava III (Izrael). Obiekty lokalizowano w różnych pozycjach wielokąta, poszerzając tym samym listę dopuszczalnych kątów widzialnych obiektu. Istotną rolę odegrały bariery inżynieryjne, drzewa, krzewy i inne elementy krajobrazu.

Rozpoznawanie czołgów w strumieniu wideo za pomocą metod uczenia maszynowego (+2 filmy na platformach Elbrus i Bajkał)

Tym samym w ciągu kilku dni zebraliśmy wystarczający zbiór do szkolenia i późniejszej oceny jakości algorytmu (kilkadziesiąt tysięcy obrazów).

Postanowili podzielić samo rozpoznanie na dwie części: lokalizację obiektu i klasyfikację obiektu. Lokalizacji dokonano przy użyciu wyszkolonego klasyfikatora Violi i Jonesa (w końcu czołg to normalny sztywny obiekt, nie gorszy od twarzy, więc metoda „ślepej na szczegóły” Violi i Jonesa szybko lokalizuje docelowy obiekt). Ale klasyfikację i określenie kąta powierzyliśmy splotowej sieci neuronowej - w tym zadaniu ważne jest dla nas, aby detektor skutecznie zidentyfikował te cechy, które, powiedzmy, odróżniają T-90 od Merkawy. W rezultacie udało się skonstruować efektywną kompozycję algorytmów, która skutecznie rozwiązuje problem lokalizacji i klasyfikacji obiektów tego samego typu.

Rozpoznawanie czołgów w strumieniu wideo za pomocą metod uczenia maszynowego (+2 filmy na platformach Elbrus i Bajkał)

Następnie powstały program uruchomiliśmy na wszystkich naszych istniejących platformach (Intel, ARM, Elbrus, Baikal, KOMDIV), zoptymalizowaliśmy trudne obliczeniowo algorytmy w celu zwiększenia wydajności (pisaliśmy już o tym kilkukrotnie w naszych artykułach, na przykład tutaj https://habr.com/ru/company/smartengines/blog/438948/ lub https://habr.com/ru/company/smartengines/blog/351134/) i uzyskano stabilną pracę programu na urządzeniu w czasie rzeczywistym.


W wyniku wszystkich opisanych działań uzyskaliśmy pełnoprawny produkt programowy o istotnych parametrach taktyczno-technicznych.

Inteligentny czytnik czołgów

Dlatego przedstawiamy Państwu nasze nowe osiągnięcie - program do rozpoznawania obrazów czołgów w strumieniu wideo Inteligentny czytnik czołgów, Który:

Rozpoznawanie czołgów w strumieniu wideo za pomocą metod uczenia maszynowego (+2 filmy na platformach Elbrus i Bajkał)

  • Rozwiązuje problem „przyjaciel czy wróg” dla danego zbioru obiektów w czasie rzeczywistym;
  • Określa parametry geometryczne (odległość od obiektu, preferowana orientacja obiektu);
  • Działa w niekontrolowanych warunkach atmosferycznych, a także w przypadku częściowego zablokowania obiektu przez ciała obce;
  • W pełni autonomiczna praca na urządzeniu docelowym, także przy braku komunikacji radiowej;
  • Lista obsługiwanych architektur procesorów: Elbrus, Baikal, KOMDIV, a także x86, x86_64, ARM;
  • Lista obsługiwanych systemów operacyjnych: Elbrus OS, AstraLinux OS, Atlix OS, a także MS Windows, macOS, różne dystrybucje Linuksa obsługujące gcc 4.8, Android, iOS;
  • Całkowicie krajowy rozwój.

Zwykle w podsumowaniu naszych artykułów na temat Habré podajemy link do marketplace, gdzie każdy korzystający ze swojego telefonu komórkowego może pobrać wersję demonstracyjną aplikacji, aby faktycznie ocenić wydajność technologii. Tym razem, biorąc pod uwagę specyfikę powstałej aplikacji, życzymy wszystkim naszym czytelnikom, aby nigdy w życiu nie stanęli przed problemem szybkiego ustalenia, czy czołg należy do określonej strony.

Źródło: www.habr.com

Dodaj komentarz