У процесі своєї діяльності ми щодня стикаємося із проблемою визначення пріоритетів розвитку. Враховуючи високу динаміку розвитку IT індустрії, постійно зростаючу затребуваність з боку бізнесу та держави до нових технологій, щоразу, визначаючи вектор розвитку та інвестуючи власні сили та кошти у науковий потенціал нашої компанії, ми стежимо за тим, щоб усі наші дослідження та проекти носили фундаментальний та міждисциплінарний характер.
Тому, розвиваючи нашу головну технологію – фреймворк розпізнавання даних HIEROGLYPH, ми дбаємо як про підвищення якості розпізнавання документів (наша основна бізнес-лінія), так і про можливість застосування технології для вирішення суміжних завдань розпізнавання. У сьогоднішній статті ми розповімо, як на основі нашого двигуна розпізнавання (документів), ми зробили розпізнавання більших, стратегічно важливих об'єктів у відеопотоці.
Постановка завдання
Використовуючи наявні напрацювання, побудувати систему розпізнавання танків, що дозволяє проводити класифікацію об'єкта, а також визначати базові геометричні показники (орієнтацію та відстань) у слабоконтрольованих умовах без використання спеціалізованого обладнання.
Рішення
Як основний алгоритм під час вирішення завдання ми вибрали підхід статистичного машинного навчання. Але однією з ключових проблем машинного навчання є необхідність наявності достатньої кількості даних, що навчаються. Очевидно, що натуральні зображення, отримані з реальних сцен, що містять необхідні об'єкти, нам недоступні. Тому було вирішено вдатися до створення необхідних даних для навчання, благо
Як цільові об'єкти виступали 4 моделі бойових танків: Т-90 (Росія), М1А2 Абрамс (США), Т-14 (Росія), Меркава III (Ізраїль). Об'єкти розташовувалися різних позиціях полігону, тим самим розширюючи список допустимих видимих ракурсів об'єкта. Значну роль відіграли інженерні загородження, дерева, кущі та інші ландшафтні елементи.
Таким чином, за пару днів ми зібрали достатній набір для навчання та подальшої оцінки якості роботи алгоритму (кілька десятків тисяч зображень).
Безпосередньо розпізнавання вирішили розбити на дві частини: локалізація об'єкта та класифікація об'єкта. Локалізація виконувалася за допомогою навченого класифікатора Віоли та Джонса (все-таки танк — це нормальний ригідний об'єкт, нічим не гірший за особу, тому “сліпуватий на деталі” метод Віоли та Джонса швидко локалізує цільовий об'єкт). А ось класифікацію та визначення ракурсу ми довірили згортковій нейронній мережі — у цьому завдання нам важливо, щоб детектор успішно виділяв ті особливості, які, скажімо, відрізняють Т-90 від Меркави. В результаті вдалося побудувати ефективну композицію алгоритмів, що успішно вирішує завдання локалізації та класифікації однотипних об'єктів.
Далі, ми запустили отриману програму на всіх платформах (Intel, ARM, Ельбрус, Байкал, КОМДІВ), оптимізували обчислювально-важкі алгоритми для підвищення швидкодії (про це ми вже неодноразово писали у своїх статтях, наприклад тут
В результаті проведення всіх описаних дій у нас вийшов повноцінний програмний продукт, що має суттєві тактико-технічні характеристики.
Smart Tank Reader
Отже, представляємо вам нашу нову розробку – програму для розпізнавання образів танків у відеопотоці. Smart Tank Reader, яка:
- Вирішує завдання "свій-чужий" для заданого набору об'єктів у режимі реального часу;
- визначає геометричні показники (відстань до об'єкта, переважна орієнтація об'єкта);
- Працює у неконтрольованих погодних умовах, а також у разі часткового перекриття об'єкта сторонніми об'єктами;
- Повністю автономна робота на цільовому пристрої, у тому числі в умовах відсутності радіозв'язку;
- Список підтримуваних процесорних архітектур: Ельбрус, Байкал, КОМДІВ, а також x86, x86_64, ARM;
- Список операційних систем, що підтримуються: ОС Ельбрус, ОС AstraLinux, ОС Атлікс, а також MS Windows, macOS, різні дистрибутиви Linux, що підтримують gcc 4.8, Android, iOS;
- Повністю вітчизняна технологія.
Зазвичай у висновку до своїх статей на Хабре ми даємо посилання на маркетплейс, де кожен бажаючий за допомогою свого мобільного телефону може завантажити демонстраційну версію програми, щоб насправді оцінити працездатність технології. Цього разу, враховуючи специфіку програми, що вийшла, ми бажаємо всім нашим читачам ніколи не в житті стикатися з проблемою оперативного визначення приналежності танка до певної сторони.
Джерело: habr.com