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


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


    Поэтому, развивая нашу главную технологию – фреймворк распознавания данных HIEROGLYPH, мы заботимся как о повышении качества распознавания документов (наша основная бизнес-линия), так и возможности применения технологии для решения смежных задач распознавания. В сегодняшней статье мы расскажем, как на базе нашего движка распознавания (документов), мы сделали распознавание более крупных, стратегически важных объектов в видеопотоке.


    Постановка задачи


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


    Решение


    В качестве основного алгоритма при решении задачи мы выбрали подход статистического машинного обучения. Но одной из ключевых проблем машинного обучения, является необходимость наличия достаточного количества обучаемых данных. Очевидно, что натуральные изображения, полученные с реальных сцен, содержащие необходимые нам объекты, нам недоступны. Поэтому было решено прибегнуть к генерации необходимых данных для обучения, благо опыт в этом месте у нас большой. И все же, полностью синтезировать данные для данной задачи нам показалось неестественным, поэтому для моделирования реальных сцен был подготовлен специальный макет. На макете установлены различные объекты, моделирующие сельскую местность: характерное ландшафтное покрытие, кусты, деревья, заграждения и т.д. Изображения захватывались с помощью цифровой малоформатной камеры. В процессе захвата изображений существенно менялся задний план сцены для обеспечения большей устойчивости алгоритмов к изменениям фона.


    image


    В качестве целевых объектов выступали 4 модели боевых танков: Т-90 (Россия), М1А2 Абрамс (США), Т-14 (Россия), Меркава III (Израиль). Объекты располагались на различных позициях полигона, тем самым расширяя список допустимых видимых ракурсов объекта. Значительную роль сыграли инженерные заграждения, деревья, кусты и прочие ландшафтные элементы.


    image


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


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


    image


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




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


    Smart Tank Reader


    Итак, представляем вам нашу новую разработку — программу для распознавания образов танков в видеопотоке Smart Tank Reader, которая:



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

    Обычно в заключении к своим статьям на Хабре мы даем ссылку на маркетплейс, где каждый желающий с помощью своего мобильного телефона может скачать демонстрационную версию приложения, чтобы на деле оценить работоспособность технологии. В этот раз, учитывая специфику получившегося приложения, мы желаем всем нашим читателям никогда не в жизни сталкиваться проблемой оперативного определения принадлежности танка к определенной стороне.

    Smart Engines
    61,21
    Обработка изображений, распознавание в видеопотоке
    Поделиться публикацией

    Комментарии 14

      +7

      Причем тут эдьбрус и байкал? Кликбейт чистой воды.
      В статье всего 2 упоминания в названии и в списке поддерживаемых ос.


      Какова скорость распознавания в секунду на разных системах?

        0

        Не "причем", а "при чём"

          0
          Виноват, но на телефоне сложно контролировать автокомплит слов.
        +2
        Т.е. решается задача определение модели игрушечного танка на специальном макете имитирующем реальную местность с помощью вебкамеры? Хорошо.
        Далее была решена задача запустить приложение на различных платформах. Ок.
        Статья про что?
        если про платформы: то сравнение производительности алгоритма где?
        если про алгоритм: то точность срабатывания? Например график положительных и ложно отрицательных срабатываний алгоритма в зависимости от процента видимости силуэта коробочки?
        если про применении в военном деле: то вход сетки у Вас заведомо неверный, необходимо явно использовать системы наблюдения реального танка, в различных спектрах и различных погодных условиях и еще, что бы танк двигался, а по визорам работал снайпер (сарказм). но все равно не то.
        Но, то что научились распознавать модельки и компилиться под разные платформы это однозначно молодцы. Хотя ощущение от статьи, что ее конкретно отредактировал спец. отдел. (если это так то не отвечайте на это сообщение) :)

          +1

          А если маскировать танки ветками деревьев и надувными женщинами на броне, система окажется бессильна?

            +1
            как будете решать задачу, если танк будет раскрашен в защитные цвета или еще веселее, да банальные повреждения и грязь, ведь их не было в обучающих выборках.
              +1
              Таким образом, за пару дней мы собрали достаточный набор для обучения и последующей оценки качества работы алгоритма (несколько десятков тысяч изображений).

              Пфф, зачем? К Wargaming надо было обратиться — у них мощнейшая биологическая нейросеть уже натасканная на любые танки есть.
                +1
                комментаторы, посмотрите пожалуйста на дату публикации
                  +1
                  Не верю!
                    0
                    Нет, не в дате дело. У меня и ссылочка есть
                      0
                      Т.е. они реально бота для WoT пилят?
                      Забанят же.
                    0
                    Можно строить заглубленные автономные дальнобойные противотанковые системы, уничтожающие всё, что выглядит как танк. Ну, для подстраховки можно высылать беспилотник, чтобы убедиться, что это со всех сторон выглядит как танк, и заодно уточнять координаты.
                      +1
                      «Полностью отечественная разработка»? И архитекрура сети детектора полностью отечественная ?)))
                        0
                        На таком расстоянии? Это будет работать у ворот войсковой части, но ведь там есть нейроинтерфейс в виде солдата?

                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                        Самое читаемое