Tankų atpažinimas vaizdo sraute naudojant mašininio mokymosi metodus (+2 vaizdo įrašai Elbruso ir Baikalo platformose)

Tankų atpažinimas vaizdo sraute naudojant mašininio mokymosi metodus (+2 vaizdo įrašai Elbruso ir Baikalo platformose)

Vykdydami savo veiklą kasdien susiduriame su plėtros prioritetų nustatymo problema. Atsižvelgdami į didelę IT pramonės plėtros dinamiką, nuolat didėjantį verslo ir valdžios poreikį naujoms technologijoms, kiekvieną kartą nustatydami plėtros vektorių ir investuodami savo jėgas bei lėšas į mūsų įmonės mokslinį potencialą, užtikriname, kad visi mūsų tyrimai ir projektai yra esminiai ir tarpdisciplininiai.

Todėl kurdami savo pagrindinę technologiją – duomenų atpažinimo sistemą HIEROGLYPH, esame susirūpinę tiek dokumentų atpažinimo (pagrindinės veiklos krypties) kokybės gerinimu, tiek galimybe technologiją panaudoti sprendžiant susijusias atpažinimo problemas. Šiandienos straipsnyje papasakosime, kaip, remdamiesi savo atpažinimo varikliu (dokumentais), atpažinome didesnius, strategiškai svarbius objektus vaizdo sraute.

Problemos teiginys

Naudodami esamus pokyčius, sukurkite rezervuaro atpažinimo sistemą, kuri leidžia klasifikuoti objektą, taip pat nustatyti pagrindinius geometrinius rodiklius (orientaciją ir atstumą) blogai kontroliuojamomis sąlygomis, nenaudojant specializuotos įrangos.

sprendimas

Kaip pagrindinį problemos sprendimo algoritmą pasirinkome statistinio mašininio mokymosi metodą. Tačiau viena iš pagrindinių mašininio mokymosi problemų yra būtinybė turėti pakankamai mokymo duomenų. Akivaizdu, kad natūralūs vaizdai, gauti iš tikrų scenų, kuriuose yra mums reikalingų objektų, mums neprieinami. Todėl, laimei, buvo nuspręsta griebtis treniruotėms reikalingų duomenų generavimo Šioje vietoje turime daug patirties. Ir vis dėlto mums atrodė nenatūralu visiškai susintetinti šios užduoties duomenis, todėl buvo paruoštas specialus maketas, imituojantis tikras scenas. Modelyje yra įvairių objektų, imituojančių kaimą: būdingą kraštovaizdžio dangą, krūmus, medžius, tvoras ir kt. Vaizdai buvo užfiksuoti naudojant mažo formato skaitmeninę kamerą. Vaizdo fiksavimo proceso metu scenos fonas labai pasikeitė, kad algoritmai būtų atsparesni fono pakeitimams.

Tankų atpažinimas vaizdo sraute naudojant mašininio mokymosi metodus (+2 vaizdo įrašai Elbruso ir Baikalo platformose)

Taikiniai buvo 4 kovos tankų modeliai: T-90 (Rusija), M1A2 Abrams (JAV), T-14 (Rusija), Merkava III (Izraelis). Objektai buvo išdėstyti skirtingose ​​daugiakampio vietose, taip išplečiant priimtinų matomų objekto kampų sąrašą. Didelį vaidmenį atliko inžineriniai barjerai, medžiai, krūmai ir kiti kraštovaizdžio elementai.

Tankų atpažinimas vaizdo sraute naudojant mašininio mokymosi metodus (+2 vaizdo įrašai Elbruso ir Baikalo platformose)

Taigi per porą dienų surinkome pakankamą komplektą mokymui ir vėlesniam algoritmo kokybės įvertinimui (kelios dešimtys tūkstančių vaizdų).

Jie nusprendė padalyti patį atpažinimą į dvi dalis: objekto lokalizaciją ir objektų klasifikaciją. Lokalizavimas buvo atliktas naudojant apmokytą Viola ir Jones klasifikatorių (juk tankas yra įprastas standus objektas, ne prastesnis už veidą, todėl Viola ir Jones metodas „detaliai aklas“ greitai lokalizuoja tikslinį objektą). Bet kampo klasifikavimą ir nustatymą patikėjome konvoliuciniam neuroniniam tinklui – atliekant šią užduotį mums svarbu, kad detektorius sėkmingai identifikuotų tas savybes, kurios, tarkime, skiria T-90 nuo Merkavos. Dėl to buvo galima sukurti efektyvią algoritmų kompoziciją, kuri sėkmingai išsprendžia to paties tipo objektų lokalizavimo ir klasifikavimo problemą.

Tankų atpažinimas vaizdo sraute naudojant mašininio mokymosi metodus (+2 vaizdo įrašai Elbruso ir Baikalo platformose)

Tada paleidome gautą programą visose esamose platformose (Intel, ARM, Elbrus, Baikal, KOMDIV), optimizavome sudėtingus skaičiavimo algoritmus, kad padidintume našumą (apie tai jau rašėme keletą kartų savo straipsniuose, pavyzdžiui, čia https://habr.com/ru/company/smartengines/blog/438948/ arba https://habr.com/ru/company/smartengines/blog/351134/) ir pasiektas stabilus programos veikimas įrenginyje realiu laiku.


Atlikdami visus aprašytus veiksmus, gavome visavertį programinės įrangos produktą su reikšmingomis taktinėmis ir techninėmis savybėmis.

Smart Tank Reader

Taigi, mes pristatome jums savo naują plėtrą - programą, skirtą atpažinti tankų vaizdus vaizdo sraute Smart Tank Reader, kuris:

Tankų atpažinimas vaizdo sraute naudojant mašininio mokymosi metodus (+2 vaizdo įrašai Elbruso ir Baikalo platformose)

  • Realiu laiku išsprendžia tam tikro objektų rinkinio „draugo ar priešo“ problemą;
  • Nustato geometrinius parametrus (atstumą iki objekto, pageidaujamą objekto orientaciją);
  • Dirba nekontroliuojamomis oro sąlygomis, taip pat esant daliniam objekto blokavimui pašaliniais objektais;
  • Visiškai autonomiškas tikslinio įrenginio veikimas, įskaitant ir nesant radijo ryšio;
  • Palaikomų procesorių architektūrų sąrašas: Elbrus, Baikal, KOMDIV, taip pat x86, x86_64, ARM;
  • Palaikomų operacinių sistemų sąrašas: Elbrus OS, AstraLinux OS, Atlix OS, taip pat MS Windows, macOS, įvairūs Linux distribucijos, palaikančios gcc 4.8, Android, iOS;
  • Visiškai vidaus plėtra.

Paprastai straipsnių apie Habré pabaigoje pateikiame nuorodą į prekyvietę, kurioje kiekvienas, besinaudojantis savo mobiliuoju telefonu, gali atsisiųsti demonstracinę programos versiją, kad iš tikrųjų įvertintų technologijos našumą. Šį kartą, atsižvelgdami į gautos programos specifiką, linkime visiems savo skaitytojams niekada gyvenime nesusidurti su problema, kaip greitai nustatyti, ar tankas priklauso tam tikrai pusei.

Šaltinis: www.habr.com

Добавить комментарий