Автоматическое сопровождение объекта по видеопотоку

Алгоритм автоматического сопровождения объектов по видеопотоку

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

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

На основании анализа методов и алгоритмов автоматического сопровождения объектов[1] выбран корреляционный метод для реализации разрабатываемого устройства, так как метод достаточно прост в реализации и относительно быстрый.

Описание алгоритма автосопровождения объектов

Корреляция является достаточно простой концепцией. Имея изображение f(х, у), корреляционная задача заключается в нахождении позиций на изображении, которые лучше всего соответствуют заданному подизображению w(x, y) (которое называется маской или эталоном).

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

Рис. 1 – Схема получения обучающего изображения с помощью окна слежения

После этапа инициализации, сопровождение и обучение фильтра работают одновременно. Цель сопровождается на основании корреляции:

 

где  и  – определяют координату фрагмента кадра, координаты пикселей  и  изменяются в пределах шаблона , высота и ширина которого составляет M и N соответственно. Местоположение максимального значения корреляции указывает на новую позицию объекта. Основываясь на новой позиции объекта выполняется обновление фильтра.

В дипломном проекте реализован метод сопровождения на основе корреляционной фильтрации с минимальной выходной суммой квадратичной ошибки (Minimum Output Sum of Squared Error – MOSSE) [3], в котором для вычисления корреляции используется не образ шаблона  непосредственно, а специальный фильтр , который минимизирует квадратичное отклонение идеального отклика  при расчете корреляции.

Фильтр  рассчитывается следующим образом:

где s и t – определяют координату фрагмента кадра, координаты пикселей x и y изменяются в пределах шаблона t, высота и ширина которого составляет M и N соответственно.

Местоположение максимального значения корреляции указывает на новую позицию объекта. Основываясь на новой позиции объекта выполняется обновление фильтра.

В дипломном проекте реализован метод сопровождения на основе корреляционной фильтрации с минимальной выходной суммой квадратичной ошибки (Minimum Output Sum of Squared Error – MOSSE) [3], в котором для вычисления корреляции используется не образ шаблона непосредственно, а специальный фильтр  который минимизирует квадратичное отклонение идеального отклика  при расчете корреляции.

Фильтр рассчитывается следующим образом:

где  – желаемые отклики при расчете корреляции, которые в пространственной области имеют вид распределения Гаусса с центром в заданном месте на изображении, а  – шаблоны.

Поиск объекта выполняется на основании вычисления функции:

где c – корреляционная матрица, найденная для всех фрагментов кадра;  – прямое двумерное преобразование Фурье; обратное двумерное преобразование Фурье; оператор  – обозначает комплексное-сопряженное; оператор  – обозначает поэлементное умножение матриц.

Сопровождение объекта определяется на основании расчета параметра PSR (Peak to Sidelobe Ratio), описанного в работе [3], который позволяет определить момент, когда трекер потерял объект. Параметр PSR рассчитывается по формуле:

где  – максимальное значение корреляции в пространственной области,  – среднее значение, а  – среднеквадратичное отклонение.

При нормальных условиях сопровождения, значение PSR варьируется между 20.0 и 60.0 что указывает на стабильное сопровождение объекта трекером, если значение PSR падает ниже 7.0 – это свидетельствует о потере объекта.

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

 

Моделирование алгоритма автосопровождения объектов

Блок-схема алгоритма автосопровождения

Блок-схема алгоритма работы метода автосопровождения представлена на рис. 2:

Рис. 2 – Алгоритм работы метода корреляционной фильтрации с минимальной выходной суммой квадратичной ошибки

Разработка математической модели в среде MATLAB

Разработка математической модели алгоритма автосопровождения была выполнена в программной среде MATLAB.

На языке MATLAB была написана математическая модель, реализующая работу корреляционного алгоритма с использованием MOSSE-фильтра. Для проверки работоспособности модели взята тестовая видеопоследовательность, которая имитирует видеопоток, входящий в блок сопровождения (рис. 3).

    По результатам моделирования можно сделать вывод, что метод корреляционной фильтрации с минимальной выходной суммой квадратичной ошибки успешно выполняет задачу сопровождения объекта на тестовой видеопоследовательности.

Разработка поведенческой целочисленной модели в среде SIMULINK

    Условная схема поведенческой модели алгоритма автосопровождения представлена на рис. 5:

Рис. 5 – Условная схема поведенческой модели алгоритма автосопровождения

Программно-аппаратное моделирование проекта

    Отладка сгенерированного HDL-кода была проведена на отладочном стенде DE2-115 с помощью программно-аппаратного моделирования в SIMULINK.

Условная схема программно-аппаратного моделирования представлена на рис. 6:

Рис. 6 – Условная схема модели программно-аппаратного моделирования

Программно-аппаратное моделирование (Hardware-in-the-loop, HIL) с применением ПЛИС, или HIL-моделирование, позволяет протестировать и верифицировать встраиваемую систему в программной тестовой платформе на определенном аппаратном устройстве. Программно-аппаратное моделирование работает следующим образом: исполняемый код проекта компилируется под определенное устройство и загружается в специализированный SIMULINK-блок, который обеспечивает связь между поведенческой моделью проекта и макетной платой, и в результате поведенческая модель проекта используется в качестве виртуальной тестовой программы, которая выдает входные сигналы для встроенной системы и получает ее выходные сигналы, как если бы система использовалась на реальном проекте.

Тестирование проекта в режиме реального времени

    На основании сгенерированного HDL-кода был скомпилирован проект устройства автоматического сопровождения в САПР Quartus II под отладочный стенд DE2-115. Тестирование проводилось в режиме реального времени с использованием видеокамеры в качестве входящего видеосигнала.

Результаты компиляции проекта автосопровождения в САПР Quartus II представлены на рис. 7:

Рис. 7 – Результаты компиляции проекта в САПР Quartus II

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

Разработка устройства автоматического сопровождения на ПЛИС

Устройство, разработанное на ПЛИС, предназначено для цифровой обработки видеосигнала и автоматического сопровождения объекта. Код устройства разработан на языке описания цифровой аппаратуры Verilog. Для синтеза и моделирования использовались САПР Quartus II, MATLAB и SIMULINK.

Структурная схема устройства на ПЛИС представлена на рис. 8:

Рис. 8 – Структурная схема устройства на ПЛИС для обработки видеосигнала

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

Декодер ITU-R 656 принимает входной массив данных с внешнего видеодекодера и преобразовывает в формат кадра, представленный в цветовом поле YUV 4:2:2, (яркость – цветоразностный сигнал синего – цветоразностный сигнал красного). Обозначение «4:2:2» указывает на способ сжатия цифрового видеосигнала (представления информации о яркости и цвете в видеосигнале). Метод кодирования описывается в виде отношения трех частей, J:a:b (например, 4:2:2), которые указывают на соотношение количества значений яркости пикселя и цветности пикселя в пространственной области, равной J пикселей в ширину и а пикселя в высоту.

SDRAM Frame Buffer выполняет функцию обмена данными с внешней оперативной памятью для хранения одного кадра видеопоследовательности.

С SDRAM Frame Buffer, через мультиплексор четных и нечетных строк, массив данных поступает на преобразователь YUV 4:2:2 в YUV 4:4:4. Этот блок изменяет метод кодирования цветоразностной составляющей с 4:2:2 на 4:4:4.

С преобразователя YUV 4:2:2 в YUV 4:4:4 видеосигнал попадает в преобразователь YUV 4:4:4 в RGB. Переход с цветного пространства YUV в цветное пространство RGB осуществляется по соотношению (5).

            (5)

    Далее видеосигнал поступает на формирователь графической информации, где на него накладываются прицельная марка и метки индикации. После чего видеосигнал передается на VGA-контроллер. Блок генерирует стандартный сигнал с разрешением 640х480 пикселей.

Блок вычисления местоположения объекта алгоритмом автосопровождения принимает видеосигнал с преобразователя RGB в оттенки серого, и вычисляет координаты центра отслеживаемого объекта.

В результате разработки устройства на ПЛИС реализованы обработка входного телевизионного видеосигнала и сопровождение объекта методом корреляционной фильтрации с минимальной выходной суммой квадратичной ошибки. Результаты разработки устройства показали, что алгоритм успешно решает задачу сопровождения объекта.

Литература по автоматическому сопровождению объектов, использованная в данной статье:

  1. Варфоломєєв А. Ю. Методи та алгоритми автоматичного вiдслiдковування об’єктiв на вiдеопослiдовностях: Монографiя – 100 с.
  2. Алпатов Б. А., Бабаян П. В., Балашов О. Е., Степашкин А. И. Системы автоматического обнаружения и сопровождения объектов. – М.:Радиотехника, 2008. – 175 с.
  3.  Bolme D. S., Beveridge R. J., Draper B. A., Lui Y. M. Visual Object Tracking using Adaptive Correlation Filters // Conference on Computer Vision and Pattern Recognition (CVPR), 2010. — 2544–2550 pp.

Ссылки на видео Youtube:

http://www.youtube.com/watch?v=kfVMSNzCg-A

http://www.youtube.com/watch?v=-6kX6oP22Xw

http://www.youtube.com/watch?v=OHLvNF7SHmY&feature=youtu.be

 

Информация об авторах:

Лукавский Станислав Николаевич, выпускник 2014 года, группа ДК-81, , КЭВА, НТУУ «КПИ»

email:   StanislavLukavsky гав-гав gmail.com

Стеценко Роман Анатольевич, выпускник 2013 года, группа ДК-71, КЭВА, НТУУ «КПИ»

email:   divirgencia собака gmail.com