Pagkilala sa mga tangke sa isang video stream gamit ang mga pamamaraan ng machine learning (+2 video sa mga platform ng Elbrus at Baikal)

Pagkilala sa mga tangke sa isang video stream gamit ang mga pamamaraan ng machine learning (+2 video sa mga platform ng Elbrus at Baikal)

Sa takbo ng ating mga aktibidad, araw-araw nating nahaharap ang problema sa pagtukoy ng mga priyoridad sa pag-unlad. Isinasaalang-alang ang mataas na dinamika ng pag-unlad ng industriya ng IT, ang patuloy na pagtaas ng demand mula sa negosyo at gobyerno para sa mga bagong teknolohiya, sa tuwing matutukoy namin ang vector ng pag-unlad at mamuhunan ng aming sariling mga pwersa at pondo sa potensyal na siyentipiko ng aming kumpanya, tinitiyak namin na lahat ng aming pananaliksik at proyekto ay pangunahing at interdisiplinaryong kalikasan.

Samakatuwid, sa pamamagitan ng pagbuo ng aming pangunahing teknolohiya - ang HIEROGLYPH data recognition framework, kami ay nag-aalala tungkol sa parehong pagpapabuti ng kalidad ng pagkilala sa dokumento (ang aming pangunahing linya ng negosyo) at ang posibilidad ng paggamit ng teknolohiya upang malutas ang mga nauugnay na problema sa pagkilala. Sa artikulong ngayon, sasabihin namin sa iyo kung paano, batay sa aming recognition engine (mga dokumento), nakilala namin ang mas malaki, madiskarteng mahahalagang bagay sa isang video stream.

Pahayag ng problema

Gamit ang mga umiiral na pag-unlad, bumuo ng isang sistema ng pagkilala sa tangke na ginagawang posible na pag-uri-uriin ang isang bagay, pati na rin matukoy ang mga pangunahing geometric na tagapagpahiwatig (orientasyon at distansya) sa mga kondisyon na hindi kinokontrol nang hindi gumagamit ng mga dalubhasang kagamitan.

desisyon

Pinili namin ang statistical machine learning approach bilang pangunahing algorithm para sa paglutas ng problema. Ngunit ang isa sa mga pangunahing problema ng machine learning ay ang pangangailangang magkaroon ng sapat na dami ng data ng pagsasanay. Malinaw, ang mga natural na imahe na nakuha mula sa mga totoong eksena na naglalaman ng mga bagay na kailangan namin ay hindi magagamit sa amin. Samakatuwid, napagpasyahan na gamitin ang pagbuo ng kinakailangang data para sa pagsasanay, sa kabutihang palad Marami kaming karanasan sa lugar na ito. Gayunpaman, tila hindi natural sa amin na ganap na i-synthesize ang data para sa gawaing ito, kaya isang espesyal na layout ang inihanda upang gayahin ang mga totoong eksena. Ang modelo ay naglalaman ng iba't ibang mga bagay na gayahin ang kanayunan: katangian na pantakip sa landscape, mga palumpong, mga puno, mga bakod, atbp. Ang mga imahe ay nakunan gamit ang isang maliit na format na digital camera. Sa panahon ng proseso ng pagkuha ng larawan, ang background ng eksena ay nagbago nang malaki upang gawing mas matatag ang mga algorithm sa mga pagbabago sa background.

Pagkilala sa mga tangke sa isang video stream gamit ang mga pamamaraan ng machine learning (+2 video sa mga platform ng Elbrus at Baikal)

Ang mga target na bagay ay 4 na modelo ng mga tanke ng labanan: T-90 (Russia), M1A2 Abrams (USA), T-14 (Russia), Merkava III (Israel). Ang mga bagay ay matatagpuan sa iba't ibang mga posisyon ng polygon, sa gayon ay pinalawak ang listahan ng mga katanggap-tanggap na nakikitang mga anggulo ng bagay. Ang mga hadlang sa engineering, mga puno, mga palumpong at iba pang mga elemento ng landscape ay may mahalagang papel.

Pagkilala sa mga tangke sa isang video stream gamit ang mga pamamaraan ng machine learning (+2 video sa mga platform ng Elbrus at Baikal)

Kaya, sa loob ng ilang araw nakolekta namin ang isang sapat na hanay para sa pagsasanay at kasunod na pagsusuri ng kalidad ng algorithm (ilang sampu-sampung libong mga larawan).

Nagpasya silang hatiin ang mismong pagkilala sa dalawang bahagi: object localization at object classification. Ang lokalisasyon ay isinagawa gamit ang isang sinanay na Viola at Jones classifier (pagkatapos ng lahat, ang tangke ay isang normal na matibay na bagay, hindi mas masahol pa kaysa sa isang mukha, kaya ang "detalye-blind" na paraan ng Viola at Jones ay mabilis na naglo-localize ng target na bagay). Ngunit ipinagkatiwala namin ang pag-uuri at pagpapasiya ng anggulo sa isang convolutional neural network - sa gawaing ito mahalaga para sa amin na matagumpay na natukoy ng detector ang mga tampok na iyon na, sabihin nating, nakikilala ang T-90 mula sa Merkava. Bilang isang resulta, posible na bumuo ng isang epektibong komposisyon ng mga algorithm na matagumpay na malulutas ang problema ng lokalisasyon at pag-uuri ng mga bagay ng parehong uri.

Pagkilala sa mga tangke sa isang video stream gamit ang mga pamamaraan ng machine learning (+2 video sa mga platform ng Elbrus at Baikal)

Susunod, inilunsad namin ang nagresultang programa sa lahat ng aming umiiral na mga platform (Intel, ARM, Elbrus, Baikal, KOMDIV), na-optimize ang computationally mahirap na mga algorithm upang mapataas ang pagganap (isinulat na namin ang tungkol dito nang ilang beses sa aming mga artikulo, halimbawa dito. https://habr.com/ru/company/smartengines/blog/438948/ o https://habr.com/ru/company/smartengines/blog/351134/) at nakamit ang matatag na operasyon ng program sa device sa real time.


Bilang resulta ng lahat ng inilarawang aksyon, nakakuha kami ng isang ganap na produkto ng software na may makabuluhang taktikal at teknikal na katangian.

Smart Tank Reader

Kaya, ipinakita namin sa iyo ang aming bagong pag-unlad - isang programa para sa pagkilala sa mga larawan ng mga tangke sa isang video stream Smart Tank Reader, na:

Pagkilala sa mga tangke sa isang video stream gamit ang mga pamamaraan ng machine learning (+2 video sa mga platform ng Elbrus at Baikal)

  • Nilulutas ang problemang "kaibigan o kalaban" para sa isang naibigay na hanay ng mga bagay sa real time;
  • Tinutukoy ang mga geometric na parameter (distansya sa bagay, ginustong oryentasyon ng bagay);
  • Gumagana sa hindi makontrol na mga kondisyon ng panahon, pati na rin sa kaso ng bahagyang pagharang ng bagay sa pamamagitan ng mga dayuhang bagay;
  • Ganap na autonomous na operasyon sa target na aparato, kabilang ang kawalan ng komunikasyon sa radyo;
  • Listahan ng mga sinusuportahang arkitektura ng processor: Elbrus, Baikal, KOMDIV, pati na rin ang x86, x86_64, ARM;
  • Listahan ng mga sinusuportahang operating system: Elbrus OS, AstraLinux OS, Atlix OS, pati na rin ang MS Windows, macOS, iba't ibang pamamahagi ng Linux na sumusuporta sa gcc 4.8, Android, iOS;
  • Ganap na domestic development.

Karaniwan, sa pagtatapos ng aming mga artikulo sa HabrΓ©, nagbibigay kami ng isang link sa marketplace, kung saan ang sinumang gumagamit ng kanilang mobile phone ay maaaring mag-download ng demo na bersyon ng application upang aktwal na suriin ang pagganap ng teknolohiya. Sa oras na ito, isinasaalang-alang ang mga detalye ng nagresultang aplikasyon, nais naming ang lahat ng aming mga mambabasa ay hindi kailanman sa kanilang buhay na harapin ang problema ng mabilis na pagtukoy kung ang isang tangke ay kabilang sa isang tiyak na panig.

Pinagmulan: www.habr.com

Magdagdag ng komento