Rozpoznávání tanků ve videostreamu pomocí metod strojového učení (+2 videa na platformách Elbrus a Bajkal)

Rozpoznávání tanků ve videostreamu pomocí metod strojového učení (+2 videa na platformách Elbrus a Bajkal)

Při své činnosti se denně potýkáme s problémem stanovení priorit rozvoje. S ohledem na vysokou dynamiku rozvoje IT průmyslu, neustále se zvyšující poptávku ze strany byznysu a státní správy po nových technologiích, pokaždé, když určujeme vektor vývoje a investujeme vlastní síly a finanční prostředky do vědeckého potenciálu naší společnosti, dbáme na to, aby všechny naše výzkumy a projekty jsou zásadní a interdisciplinární povahy.

Proto se vývojem naší hlavní technologie – rámce pro rozpoznávání dat HIEROGLYPH, zajímáme jak o zlepšení kvality rozpoznávání dokumentů (naše hlavní obchodní linie), tak o možnost využití technologie k řešení souvisejících problémů s rozpoznáváním. V dnešním článku vám řekneme, jak jsme na základě našeho rozpoznávacího enginu (dokumentů) provedli rozpoznání větších, strategicky důležitých objektů ve video streamu.

Formulace problému

Pomocí stávajícího vývoje vybudujte systém rozpoznávání tanků, který umožní klasifikovat objekt a také určit základní geometrické ukazatele (orientace a vzdálenost) ve špatně kontrolovaných podmínkách bez použití specializovaného vybavení.

rozhodnutí

Jako hlavní algoritmus pro řešení problému jsme zvolili přístup statistického strojového učení. Jedním z klíčových problémů strojového učení je ale potřeba mít dostatečné množství trénovacích dat. Je zřejmé, že přirozené obrazy získané ze skutečných scén obsahujících předměty, které potřebujeme, nemáme k dispozici. Proto bylo rozhodnuto uchýlit se ke generování potřebných dat pro trénink, naštěstí V tomto místě máme mnoho zkušeností. A přesto se nám zdálo nepřirozené kompletně syntetizovat data pro tento úkol, takže bylo připraveno speciální rozložení pro simulaci skutečných scén. Model obsahuje různé objekty, které simulují krajinu: charakteristickou krajinnou pokrývku, keře, stromy, ploty atd. Snímky byly pořízeny pomocí maloformátového digitálního fotoaparátu. Během procesu snímání obrazu se pozadí scény výrazně změnilo, aby byly algoritmy odolnější vůči změnám pozadí.

Rozpoznávání tanků ve videostreamu pomocí metod strojového učení (+2 videa na platformách Elbrus a Bajkal)

Cílovými objekty byly 4 modely bitevních tanků: T-90 (Rusko), M1A2 Abrams (USA), T-14 (Rusko), Merkava III (Izrael). Objekty byly umístěny na různých pozicích polygonu, čímž se rozšířil seznam přijatelných viditelných úhlů objektu. Významnou roli sehrály inženýrské bariéry, stromy, keře a další krajinné prvky.

Rozpoznávání tanků ve videostreamu pomocí metod strojového učení (+2 videa na platformách Elbrus a Bajkal)

Za pár dní jsme tak nasbírali dostatečnou sadu pro trénování a následné vyhodnocení kvality algoritmu (několik desítek tisíc snímků).

Samotné rozpoznávání se rozhodli rozdělit na dvě části: lokalizaci objektu a klasifikaci objektu. Lokalizace byla provedena pomocí trénovaného klasifikátoru Viola a Jones (koneckonců, tank je normální tuhý objekt, o nic horší než obličej, takže „detail-blind“ metoda Violy a Jonese rychle lokalizuje cílový objekt). Klasifikaci a určení úhlu jsme ale svěřili konvoluční neuronové síti – v tomto úkolu je pro nás důležité, aby detektor úspěšně identifikoval ty znaky, které řekněme odlišují T-90 od Merkavy. V důsledku toho bylo možné sestavit efektivní složení algoritmů, které úspěšně řeší problém lokalizace a klasifikace objektů stejného typu.

Rozpoznávání tanků ve videostreamu pomocí metod strojového učení (+2 videa na platformách Elbrus a Bajkal)

Následně jsme výsledný program spustili na všech našich stávajících platformách (Intel, ARM, Elbrus, Baikal, KOMDIV), optimalizovali výpočetně náročné algoritmy pro zvýšení výkonu (o tom jsme již několikrát psali v našich článcích, například zde https://habr.com/ru/company/smartengines/blog/438948/ nebo https://habr.com/ru/company/smartengines/blog/351134/) a dosáhli stabilního provozu programu na zařízení v reálném čase.


V důsledku všech popsaných akcí jsme získali plnohodnotný softwarový produkt s významnými taktickými a technickými vlastnostmi.

Smart Tank Reader

Představujeme vám tedy náš nový vývoj - program pro rozpoznávání obrázků tanků ve video streamu Smart Tank Reader, který:

Rozpoznávání tanků ve videostreamu pomocí metod strojového učení (+2 videa na platformách Elbrus a Bajkal)

  • Řeší problém „přítel nebo nepřítel“ pro danou sadu objektů v reálném čase;
  • Určuje geometrické parametry (vzdálenost k objektu, preferovaná orientace objektu);
  • Pracuje v nekontrolovaných povětrnostních podmínkách, stejně jako v případě částečného zablokování objektu cizími předměty;
  • Plně autonomní provoz na cílovém zařízení, včetně nepřítomnosti rádiové komunikace;
  • Seznam podporovaných architektur procesorů: Elbrus, Baikal, KOMDIV, stejně jako x86, x86_64, ARM;
  • Seznam podporovaných operačních systémů: Elbrus OS, AstraLinux OS, Atlix OS, dále MS Windows, macOS, různé linuxové distribuce podporující gcc 4.8, Android, iOS;
  • Úplně domácí vývoj.

Obvykle v závěru našich článků o Habré uvádíme odkaz na tržiště, kde si každý, kdo používá svůj mobilní telefon, může stáhnout demo verzi aplikace, aby mohl skutečně zhodnotit výkon technologie. Tentokrát s přihlédnutím ke specifikům výsledné aplikace přejeme všem našim čtenářům, aby nikdy v životě nečelili problému rychlého určení, zda tank patří k určité straně.

Zdroj: www.habr.com

Přidat komentář