Gjenkjenning av tanker i en videostrøm ved hjelp av maskinlæringsmetoder (+2 videoer på Elbrus- og Baikal-plattformene)

Gjenkjenning av tanker i en videostrøm ved hjelp av maskinlæringsmetoder (+2 videoer på Elbrus- og Baikal-plattformene)

I løpet av våre aktiviteter står vi daglig overfor problemet med å bestemme utviklingsprioriteringer. Med tanke på den høye dynamikken i utviklingen av IT-industrien, den stadig økende etterspørselen fra næringslivet og myndigheter etter nye teknologier, hver gang vi bestemmer utviklingsvektoren og investerer våre egne krefter og midler i det vitenskapelige potensialet til selskapet vårt, sørger vi for at all vår forskning og alle prosjekter er grunnleggende og tverrfaglige.

Derfor, ved å utvikle vår hovedteknologi - HIEROGLYPH datagjenkjenningsrammeverket, er vi bekymret for både å forbedre kvaliteten på dokumentgjenkjenning (vår hovedvirksomhet) og muligheten for å bruke teknologien til å løse relaterte gjenkjenningsproblemer. I dagens artikkel vil vi fortelle deg hvordan vi, basert på vår gjenkjenningsmotor (dokumenter), gjorde gjenkjennelse av større, strategisk viktige objekter i en videostrøm.

Formulering av problemet

Ved å bruke eksisterende utviklinger, bygg et tankgjenkjenningssystem som gjør det mulig å klassifisere et objekt, samt bestemme grunnleggende geometriske indikatorer (orientering og avstand) under dårlig kontrollerte forhold uten bruk av spesialutstyr.

beslutning

Vi valgte den statistiske maskinlæringstilnærmingen som hovedalgoritmen for å løse problemet. Men et av hovedproblemene ved maskinlæring er behovet for å ha en tilstrekkelig mengde treningsdata. Naturlige bilder hentet fra virkelige scener som inneholder objektene vi trenger er åpenbart ikke tilgjengelige for oss. Derfor ble det besluttet å ty til å generere nødvendige data for trening, heldigvis Vi har mye erfaring på dette stedet. Og likevel virket det unaturlig for oss å fullstendig syntetisere dataene for denne oppgaven, så det ble utarbeidet en spesiell layout for å simulere virkelige scener. Modellen inneholder ulike objekter som simulerer landskapet: karakteristisk landskapsdekke, busker, trær, gjerder, etc. Bildene ble tatt med et digitalt kamera i lite format. Under bildeopptaksprosessen endret bakgrunnen til scenen seg betydelig for å gjøre algoritmene mer robuste for bakgrunnsendringer.

Gjenkjenning av tanker i en videostrøm ved hjelp av maskinlæringsmetoder (+2 videoer på Elbrus- og Baikal-plattformene)

Målobjektene var 4 modeller av kampvogner: T-90 (Russland), M1A2 Abrams (USA), T-14 (Russland), Merkava III (Israel). Objekter ble plassert på forskjellige posisjoner av polygonet, og utvidet dermed listen over akseptable synlige vinkler på objektet. Tekniske barrierer, trær, busker og andre landskapselementer spilte en betydelig rolle.

Gjenkjenning av tanker i en videostrøm ved hjelp av maskinlæringsmetoder (+2 videoer på Elbrus- og Baikal-plattformene)

På et par dager samlet vi derfor et tilstrekkelig sett for trening og påfølgende evaluering av kvaliteten på algoritmen (flere titusenvis av bilder).

De bestemte seg for å dele selve gjenkjennelsen i to deler: objektlokalisering og objektklassifisering. Lokalisering ble utført ved hjelp av en trent Viola og Jones-klassifiserer (tross alt er en tank et normalt stivt objekt, ikke verre enn et ansikt, så den "detaljblinde" metoden til Viola og Jones lokaliserer raskt målobjektet). Men vi har betrodd klassifiseringen og bestemmelsen av vinkelen til et konvolusjonelt nevralt nettverk - i denne oppgaven er det viktig for oss at detektoren lykkes med å identifisere funksjonene som, for eksempel, skiller T-90 fra Merkava. Som et resultat var det mulig å konstruere en effektiv sammensetning av algoritmer som vellykket løser problemet med lokalisering og klassifisering av objekter av samme type.

Gjenkjenning av tanker i en videostrøm ved hjelp av maskinlæringsmetoder (+2 videoer på Elbrus- og Baikal-plattformene)

Deretter lanserte vi det resulterende programmet på alle våre eksisterende plattformer (Intel, ARM, Elbrus, Baikal, KOMDIV), optimaliserte beregningsmessig vanskelige algoritmer for å øke ytelsen (vi har allerede skrevet om dette flere ganger i artiklene våre, for eksempel her https://habr.com/ru/company/smartengines/blog/438948/ eller https://habr.com/ru/company/smartengines/blog/351134/) og oppnådde stabil drift av programmet på enheten i sanntid.


Som et resultat av alle de beskrevne handlingene har vi fått et fullverdig programvareprodukt med betydelige taktiske og tekniske egenskaper.

Smart tankleser

Så vi presenterer for deg vår nye utvikling - et program for å gjenkjenne bilder av tanks i en videostrøm Smart tankleser, hvilken:

Gjenkjenning av tanker i en videostrøm ved hjelp av maskinlæringsmetoder (+2 videoer på Elbrus- og Baikal-plattformene)

  • Løser "venn eller fiende"-problemet for et gitt sett med objekter i sanntid;
  • Bestemmer geometriske parametere (avstand til objektet, foretrukket orientering av objektet);
  • Fungerer under ukontrollerte værforhold, så vel som ved delvis blokkering av gjenstanden av fremmedlegemer;
  • Fullstendig autonom drift på målenheten, inkludert i fravær av radiokommunikasjon;
  • Liste over støttede prosessorarkitekturer: Elbrus, Baikal, KOMDIV, samt x86, x86_64, ARM;
  • Liste over støttede operativsystemer: Elbrus OS, AstraLinux OS, Atlix OS, samt MS Windows, macOS, ulike Linux-distribusjoner som støtter gcc 4.8, Android, iOS;
  • Helt innenlandsk utvikling.

Vanligvis, i konklusjonen til artiklene våre om Habré, gir vi en lenke til markedsplassen, der alle som bruker mobiltelefonen kan laste ned en demoversjon av applikasjonen for å faktisk evaluere ytelsen til teknologien. Denne gangen, med tanke på spesifikasjonene til den resulterende applikasjonen, ønsker vi at alle våre lesere aldri i livet skal møte problemet med raskt å avgjøre om en tank tilhører en bestemt side.

Kilde: www.habr.com

Legg til en kommentar