Розпізнавання танків у відеопотоці методами машинного навчання (+2 відео на платформах Ельбрус та Байкал)

Розпізнавання танків у відеопотоці методами машинного навчання (+2 відео на платформах Ельбрус та Байкал)

У процесі своєї діяльності ми щодня стикаємося із проблемою визначення пріоритетів розвитку. Враховуючи високу динаміку розвитку IT індустрії, постійно зростаючу затребуваність з боку бізнесу та держави до нових технологій, щоразу, визначаючи вектор розвитку та інвестуючи власні сили та кошти у науковий потенціал нашої компанії, ми стежимо за тим, щоб усі наші дослідження та проекти носили фундаментальний та міждисциплінарний характер.

Тому, розвиваючи нашу головну технологію – фреймворк розпізнавання даних HIEROGLYPH, ми дбаємо як про підвищення якості розпізнавання документів (наша основна бізнес-лінія), так і про можливість застосування технології для вирішення суміжних завдань розпізнавання. У сьогоднішній статті ми розповімо, як на основі нашого двигуна розпізнавання (документів), ми зробили розпізнавання більших, стратегічно важливих об'єктів у відеопотоці.

Постановка завдання

Використовуючи наявні напрацювання, побудувати систему розпізнавання танків, що дозволяє проводити класифікацію об'єкта, а також визначати базові геометричні показники (орієнтацію та відстань) у слабоконтрольованих умовах без використання спеціалізованого обладнання.

Рішення

Як основний алгоритм під час вирішення завдання ми вибрали підхід статистичного машинного навчання. Але однією з ключових проблем машинного навчання є необхідність наявності достатньої кількості даних, що навчаються. Очевидно, що натуральні зображення, отримані з реальних сцен, що містять необхідні об'єкти, нам недоступні. Тому було вирішено вдатися до створення необхідних даних для навчання, благо досвід у цьому місці у нас великий. І все ж таки, повністю синтезувати дані для цього завдання нам здалося неприродним, тому для моделювання реальних сцен був підготовлений спеціальний макет. На макеті встановлено різні об'єкти, що моделюють сільську місцевість: характерне ландшафтне покриття, кущі, дерева, загородження тощо. Зображення захоплювалися цифровою малоформатною камерою. У процесі захоплення зображень суттєво змінювався задній план сцени для забезпечення більшої стійкості алгоритмів змін фону.

Розпізнавання танків у відеопотоці методами машинного навчання (+2 відео на платформах Ельбрус та Байкал)

Як цільові об'єкти виступали 4 моделі бойових танків: Т-90 (Росія), М1А2 Абрамс (США), Т-14 (Росія), Меркава III (Ізраїль). Об'єкти розташовувалися різних позиціях полігону, тим самим розширюючи список допустимих видимих ​​ракурсів об'єкта. Значну роль відіграли інженерні загородження, дерева, кущі та інші ландшафтні елементи.

Розпізнавання танків у відеопотоці методами машинного навчання (+2 відео на платформах Ельбрус та Байкал)

Таким чином, за пару днів ми зібрали достатній набір для навчання та подальшої оцінки якості роботи алгоритму (кілька десятків тисяч зображень).

Безпосередньо розпізнавання вирішили розбити на дві частини: локалізація об'єкта та класифікація об'єкта. Локалізація виконувалася за допомогою навченого класифікатора Віоли та Джонса (все-таки танк — це нормальний ригідний об'єкт, нічим не гірший за особу, тому “сліпуватий на деталі” метод Віоли та Джонса швидко локалізує цільовий об'єкт). А ось класифікацію та визначення ракурсу ми довірили згортковій нейронній мережі — у цьому завдання нам важливо, щоб детектор успішно виділяв ті особливості, які, скажімо, відрізняють Т-90 від Меркави. В результаті вдалося побудувати ефективну композицію алгоритмів, що успішно вирішує завдання локалізації та класифікації однотипних об'єктів.

Розпізнавання танків у відеопотоці методами машинного навчання (+2 відео на платформах Ельбрус та Байкал)

Далі, ми запустили отриману програму на всіх платформах (Intel, ARM, Ельбрус, Байкал, КОМДІВ), оптимізували обчислювально-важкі алгоритми для підвищення швидкодії (про це ми вже неодноразово писали у своїх статтях, наприклад тут https://habr.com/ru/company/smartengines/blog/438948/ або https://habr.com/ru/company/smartengines/blog/351134/) і досягли стійкої роботи програми на пристрої в режимі реального часу.


В результаті проведення всіх описаних дій у нас вийшов повноцінний програмний продукт, що має суттєві тактико-технічні характеристики.

Smart Tank Reader

Отже, представляємо вам нашу нову розробку – програму для розпізнавання образів танків у відеопотоці. Smart Tank Reader, яка:

Розпізнавання танків у відеопотоці методами машинного навчання (+2 відео на платформах Ельбрус та Байкал)

  • Вирішує завдання "свій-чужий" для заданого набору об'єктів у режимі реального часу;
  • визначає геометричні показники (відстань до об'єкта, переважна орієнтація об'єкта);
  • Працює у неконтрольованих погодних умовах, а також у разі часткового перекриття об'єкта сторонніми об'єктами;
  • Повністю автономна робота на цільовому пристрої, у тому числі в умовах відсутності радіозв'язку;
  • Список підтримуваних процесорних архітектур: Ельбрус, Байкал, КОМДІВ, а також x86, x86_64, ARM;
  • Список операційних систем, що підтримуються: ОС Ельбрус, ОС AstraLinux, ОС Атлікс, а також MS Windows, macOS, різні дистрибутиви Linux, що підтримують gcc 4.8, Android, iOS;
  • Повністю вітчизняна технологія.

Зазвичай у висновку до своїх статей на Хабре ми даємо посилання на маркетплейс, де кожен бажаючий за допомогою свого мобільного телефону може завантажити демонстраційну версію програми, щоб насправді оцінити працездатність технології. Цього разу, враховуючи специфіку програми, що вийшла, ми бажаємо всім нашим читачам ніколи не в житті стикатися з проблемою оперативного визначення приналежності танка до певної сторони.

Джерело: habr.com

Додати коментар або відгук