Rozpoznanie tankov vo videostreame pomocou metód strojového učenia (+2 videá na platformách Elbrus a Bajkal)

Rozpoznanie tankov vo videostreame pomocou metód strojového učenia (+2 videá na platformách Elbrus a Bajkal)

Pri našej činnosti sa denne stretávame s problémom určovania priorít rozvoja. Vzhľadom na vysokú dynamiku rozvoja IT priemyslu, neustále sa zvyšujúci dopyt zo strany biznisu a vlády po nových technológiách, zakaždým, keď určujeme vektor vývoja a investujeme vlastné sily a prostriedky do vedeckého potenciálu našej spoločnosti, dbáme na to, aby všetky naše výskumy a projekty majú zásadný a interdisciplinárny charakter.

Preto sa vývojom našej hlavnej technológie – rámca rozpoznávania údajov HIEROGLYPH, obávame o zlepšenie kvality rozpoznávania dokumentov (naša hlavná obchodná línia), ako aj o možnosť využitia technológie na riešenie súvisiacich problémov s rozpoznávaním. V dnešnom článku vám povieme, ako sme na základe nášho rozpoznávacieho nástroja (dokumentov) dokázali rozpoznávať väčšie, strategicky dôležité objekty vo video streame.

Vyhlásenie o probléme

Pomocou existujúceho vývoja vytvorte systém rozpoznávania nádrží, ktorý umožňuje klasifikovať objekt, ako aj určiť základné geometrické ukazovatele (orientácia a vzdialenosť) v zle kontrolovaných podmienkach bez použitia špecializovaného zariadenia.

rozhodnutie

Ako hlavný algoritmus riešenia problému sme zvolili štatistický prístup strojového učenia. Ale jedným z kľúčových problémov strojového učenia je potreba mať dostatočné množstvo tréningových dát. Je zrejmé, že prirodzené obrazy získané zo skutočných scén obsahujúcich predmety, ktoré potrebujeme, nemáme k dispozícii. Preto bolo našťastie rozhodnuté uchýliť sa ku generovaniu potrebných údajov na školenie Na tomto mieste máme veľa skúseností. Napriek tomu sa nám zdalo neprirodzené úplne syntetizovať údaje pre túto úlohu, takže bolo pripravené špeciálne usporiadanie na simuláciu skutočných scén. Model obsahuje rôzne objekty, ktoré simulujú vidiek: charakteristickú krajinnú pokrývku, kríky, stromy, ploty atď. Snímky boli zachytené pomocou maloformátového digitálneho fotoaparátu. Počas procesu snímania obrazu sa pozadie scény výrazne zmenilo, aby boli algoritmy odolnejšie voči zmenám pozadia.

Rozpoznanie tankov vo videostreame pomocou metód strojového učenia (+2 videá na platformách Elbrus a Bajkal)

Cieľovými objektmi boli 4 modely bojových tankov: T-90 (Rusko), M1A2 Abrams (USA), T-14 (Rusko), Merkava III (Izrael). Objekty boli umiestnené na rôznych pozíciách polygónu, čím sa rozšíril zoznam prijateľných viditeľných uhlov objektu. Významnú úlohu zohrali inžinierske bariéry, stromy, kríky a iné krajinné prvky.

Rozpoznanie tankov vo videostreame pomocou metód strojového učenia (+2 videá na platformách Elbrus a Bajkal)

Za pár dní sme tak nazbierali dostatočnú sadu na trénovanie a následné vyhodnotenie kvality algoritmu (niekoľko desiatok tisíc obrázkov).

Samotné rozpoznávanie sa rozhodli rozdeliť na dve časti: lokalizáciu objektu a klasifikáciu objektu. Lokalizácia bola vykonaná pomocou trénovaného klasifikátora Viola a Jones (koniec koncov, tank je normálny pevný objekt, nie horší ako tvár, takže metóda Violy a Jonesa „detail-blind“ rýchlo lokalizuje cieľový objekt). Ale klasifikáciu a určenie uhla sme zverili konvolučnej neurónovej sieti – pri tejto úlohe je pre nás dôležité, aby detektor úspešne identifikoval tie znaky, ktoré povedzme odlišujú T-90 od Merkavy. V dôsledku toho bolo možné zostaviť efektívnu kompozíciu algoritmov, ktoré úspešne riešia problém lokalizácie a klasifikácie objektov rovnakého typu.

Rozpoznanie tankov vo videostreame pomocou metód strojového učenia (+2 videá na platformách Elbrus a Bajkal)

Následne sme výsledný program spustili na všetkých našich existujúcich platformách (Intel, ARM, Elbrus, Baikal, KOMDIV), optimalizovali výpočtovo náročné algoritmy na zvýšenie výkonu (o tom sme už viackrát písali v našich článkoch, napríklad tu https://habr.com/ru/company/smartengines/blog/438948/ alebo https://habr.com/ru/company/smartengines/blog/351134/) a dosiahol stabilnú prevádzku programu na zariadení v reálnom čase.


V dôsledku všetkých opísaných akcií sme získali plnohodnotný softvérový produkt s významnými taktickými a technickými vlastnosťami.

Smart Tank Reader

Predstavujeme vám teda náš nový vývoj - program na rozpoznávanie obrázkov tankov vo video streame Smart Tank Reader, ktorý:

Rozpoznanie tankov vo videostreame pomocou metód strojového učenia (+2 videá na platformách Elbrus a Bajkal)

  • Rieši problém „priateľa alebo nepriateľa“ pre daný súbor objektov v reálnom čase;
  • Určuje geometrické parametre (vzdialenosť od objektu, preferovaná orientácia objektu);
  • Pracuje v nekontrolovaných poveternostných podmienkach, ako aj v prípade čiastočného zablokovania objektu cudzími predmetmi;
  • Plne autonómna prevádzka na cieľovom zariadení, a to aj bez rádiovej komunikácie;
  • Zoznam podporovaných architektúr procesorov: Elbrus, Baikal, KOMDIV, ako aj x86, x86_64, ARM;
  • Zoznam podporovaných operačných systémov: Elbrus OS, AstraLinux OS, Atlix OS, ako aj MS Windows, macOS, rôzne linuxové distribúcie podporujúce gcc 4.8, Android, iOS;
  • Úplne domáci vývoj.

Zvyčajne v závere našich článkov o Habré uvádzame odkaz na trhovisko, kde si každý, kto používa svoj mobilný telefón, môže stiahnuť demo verziu aplikácie, aby mohol reálne zhodnotiť výkon technológie. Tentoraz s prihliadnutím na špecifiká výslednej aplikácie prajeme všetkým našim čitateľom, aby sa už nikdy v živote nestretli s problémom rýchleho určenia, či tank patrí k určitej strane.

Zdroj: hab.com

Pridať komentár