Комбинированный метод трекинга транспортных средств на основе глубокой нейронной сети Yolo
Одной из актуальных задач в области видеоанализа является трекинг объектов, в частности, людей автотранспорта[1]. Результаты данного процесса используется для подсчета объектов, обнаружение несанкционированного доступа к определенным зонам. Данные о траектории движения образов могут быть использованы как важнейший признак для распознавания более сложных ситуаций, таких как оставление вещей, драки, дорожно-транспортные происшествия. Кроме, того задача трекинга обычно характеризуется невысокой сложностью относительно непосредственно распознавания образов и могут комбинироваться для обеспечения высокого быстродействия.
Вопросам трекинга посвящено множество работ[2,3,4]. Обобщенный алгоритм отслеживания траектории объектов имеет следующий вид:
- идентификация объекта и выделение характерных признаков, в частности на основе характерных точек;
- обнаружение признаков объекта на других кадрах;
- фильтрация шума на основе модели поведения объекта.
Сложность первого класса задач во многом определяется следующими моментами:
- большинство современных систем видеоаналитики требуют решения задачи трекинга в режиме реального времени, что определяет необходимость минимизации количества параметров для соотнесения объекта на различных кадрах;
- современные системы видеонаблюдения требуют отслеживания траектории сложных объектов (разная форма, цвет, освещение), т.е данные объекты характеризуются сложными признаками;
- кроме того, неизвестно положение самого объекта в кадре.
Таким образом, на начальном этапе требуется выделение самого объекта и определение минимального достаточного количества его характерных признаков. На сегодняшний день разработаны достаточно эффективные решения отслеживания характерных точек объектов, значительная часть которых представлена в библиотеке OPenCV. Типичными методами поиска объекта в кадре изображения являются использование механизмы вычитания фона, гистограммы ориентированных градиентов (HOG-дескрипторы). Достижения в области применения глубоких нейронных сетей (ГНС) в задачах распознавания образов и росте производительности вычислительных средств, в частности видеокарт, определяет актуальность применения их в задачах трекинга объектов[6].
Известными методами сопровождения объектов являются методы оптических потоков, техника «сдвиг среднего»(mean shift)[5]. Несмотря на достоинства данных подходов, необходимо учитывать, что при трекинге множества объектов одного класса возможны ошибки вследствие перекрытия их траекторий. Для уменьшения вероятности данных ошибок используются методы прогнозирования, в частности, фильтры Кальмана, Марковские цепи[4,5].
Целью данной работы является автоматизация отслеживания транспортных средств с учетом требования режима работы в реальном времени.
Для решения данной задачи разработан метод отслеживания транспортных средств на основе комбинации двух подходов: глубокой нейронной сети Yolo и сопровождения объектов на основе оптического потока KLT(Kanade-Lucas-Tomasi). Основной идей данного подхода является следующее:
- выделение возможных объектов контроля на основе объекта Yolo;
- в области обнаруженного объекта выделить характерные признаки;
- отслеживать координаты характерных точек на последующих кадрах как методом KLT, так и ГНС и оценивать соответствие кандидатов образов исходному объекту.
Структурная схема предложенной модели трекинга ТС представлена на рисунке 1.
Входными данными модели являются поток видеоданных I={i1,i2..iN}. Блок 2 на основе ГНС Yolo формирует вектор данных об обнаруженных объектах для текущего кадра Ri={ri.1,ri.2 ..ri.K}. Каждый элемент множества R характеризуется следующим параметрами:
ri.j=<typei.j, recti,j, xi,j>,
где typei.j – класс транспортного средства;
recti.j – координаты и размеры прямоугольника, ограничивающего распознанный объект;
xi.j – центр прямоугольника.
Вектор Ri в качестве кандидатов возможных объектов множества O передается в блок оценивания соответствия кандидата Ri,j определенному объекту Ok, которая осуществляется по следующей формуле:
где
Z – оценочная функция соответствия двух образов, в частности кандидата Ri,j и распознанного объекта Ok;
z1 – признак оценки близости центров кандидата и объекта;
z2 – отклонения по размерам;
z3 – совпадение типа транспортного средства у объекта и кандидата;
hp, wp –максимальные допустимые пороговые оценки отклонения размеров кандидата и объекта;
zp – минимальная пороговая оценка соответствия кандидата эталонному образу;
wOK, hp –ширина и высота распознанного объекта;
wRi,j, hRi,j –ширина и высота образа-кандидата.
Формула (1) определяет правила соотнесения кандидата одному из эталонных образов, учитывая такие признаки как тип ТС, соотношение размеров и расстояние между координатами объектов. В работе используются следующие значения коэффициентов значимости признаков: k1=0.3, k2=0.6, k3=0.1 и zp=0.6. Это определяет значимость признака соответствия по размерам образа-кандидата и эталонного объекта. При соотнесения Ri,j к объекту Ok добавляется информация о новых координатах Xi,k в поле траектория Tk и сохраняется в базе данных объектов.
Не сопоставленные кандидаты образов СNi сохраняются в базе 4. При этом для каждого Ri,j добавляются данные о характерных точках P и рассчитываются их средние координаты Xср. В рамках данной работы для определения множества точек P используется вершины заметных углов изображения, извлеченных при помощи функции goodFeaturesToTrack библиотеки OpenCV. Выбор данного подхода определяется формой ТС: наличие достаточно большого количества угловых компонентов. В базе 4 сохраняются данные о кандидатах за последние M кадров. В итоге формируется новое множество кандидатов C={Сi,Ci-1,…Ci-M}, разделенные на группы по номеру «истории». Блок 7 анализирует множество С для обнаружения цепочек кандидатов в разных номерах буфера истории, для которых выполняется сопоставление аналогично формуле (1). При обнаружении цепочки, начиная с кандидата Сi,j, длиной Lj >M/2 формируется новый объект Onew.j. Данный элемент добавляется в базу данных объектов. Использование истории позволяет отфильтровать ошибочные распознавания кандидатов.
При обработке каждого нового кадра осуществляется уточнение координат объектов множества O в блоке 3 следующим образом: на основе множества характерных точек Pi объекта Oi определяются их новое расположение на новом кадре при помощи метода оптического потока (используется функция calcOpticalFlowPyrLK библиотек OpenCV). Далее заново рассчитывают средние координаты точек XU, которые используется как местоположение транспортного средства. При невозможности вычислить оптическим потоком большинство точек объекта (например из-за помех или перекрытия объектов) координаты XP определяются на основе средней скорости изменения координат ТС в блоке 8 на основе данных траектории T.
На основе данной модели разработано программное средство трекинга транспортных средств. На рисунке 2 представлены пример результата детектирования классов транспортных средств при помощи глубокой нейронной сети Yolo. Пример результата трекинга ТС с выводом отладочной информации представлена на рисунке 3. Зелеными точками выделяются характерные точки объектов.
Рисунок 2 – Результаты детектирования
Рисунок 3 – Результаты трекинга транспортных средств
Преимуществами данного алгоритма являются повышение качества трекинга транспортных средства за счет комбинирования двух подходов для определения новых координат объектов, что позволяет дополнить их возможности и снизить оценку вероятности потери объекта.
Список литературы
1. Орлов, С. Видеоаналитика: задачи и решения/С.Орлов// Журнал сетевых решений/LAN 2014 № 06.
2. Золотых, Н.Ю. Обзор методов поиска и сопровождения транспортных средств на потоке видеоданных/ Н.Ю. Золотых, В.Д. Кустикова, И.Б. Мееров// Информационные технологии. Вестник Нижегородского университета им. Н.И. Лобачевского, 2012, №5(2), с. 348 -358.
3. Казаков, А. Быстрый алгоритм обнаружения пешеходов по видеоданным/ А. Казаков, А.Бовырин// The 22nd International Conference on Computer Graphics and Vision.
4. S. Oh, S. Russell and S. Sastry, "Markov Chain Monte Carlo Data Association for Multi-Target Tracking," in IEEE Transactions on Automatic Control, vol. 54, no. 3, pp. 481-497, March 2009.
5. Adrian Kaehler and Gary Bradski. 2016. Learning OpenCV 3: Computer Vision in C++ with the OpenCV Library (1st. ed.). O’Reilly Media, Inc.
6. Захаров, Р. Алгоритм множественного трекинга пешеходов/ Р.Захаров// https://docplayer.ru/56423892-Algoritm-mnozhestvennogo-trekinga-peshehodov.html