Информационно-измерительная система слежения за движущимися объектами

УДК 004.931, 681.518.3

С. Аун, Л. М. Шарнин, А. П. Кирпичников

ИНФОРМАЦИОННО-ИЗМЕРИТЕЛЬНАЯ СИСТЕМА СЛЕЖЕНИЯ ЗА ДВИЖУЩИМИСЯ ОБЪЕКТАМИ

Ключевые слова: видеослежение, ключевые точки, сопоставление изображения.

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

Keywords: video tracking, key point, image matching.

In this paper we examine the task of building a moving object semi-automatic video tracking system using the SIFT key point. This system requires that the operator choose the moving object on one frame of the video sequence, after that the object will be automatically detected in successive frames using image matching method and key points spatial descriptors. Results of some tests on real video files are presented showing the performance of this system.

Введение и постановка задачи

Основной задачей телевизионной информационно-измерительной системы (ТИИС) является извлечение количественной информации об объектах, находящихся в поле зрения видеокамеры, с целью её использования для конкретных задач контроля и управления. Эти задачи включают дистанционный автоматический контроль за состоянием пространства в поле зрения видеокамеры, измерения параметров совокупности объектов, находящихся в контролируемом пространстве, и при необходимости управление состоянием и взаимодействием этих объектов. Это позволяет отнести к ТИИС широкий класс приборов и устройств, используемых в прикладном и промышленном телевидении для сбора и обработки разнообразной информации, а также для контроля и управления технологическими процессами в составе робототехнических комплексов [1]. Среди параметров наблюдаемых объектов, которые могут быть определены по его оптическому изображению, выделим три группы: геометрические, энергетические и цветовые. Геометрические параметры объекта включает габаритные размеры, такие как линейные размеры, угловые размеры и площадь, и координатные параметры объекта, такие как линейные и угловые координаты [1].

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

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

При разработке автоматизированных систем слежения за движущимися объектами выделяются следующие основные этапы: выделение признаков изображений объекта слежения; выделение признаков входного изображения видеопоследовательности;

обнаружение и локализация объекта на основе сопоставления этих признаков с признаками искомого объекта слежения; подбор геометрического преобразования для удаления выбросов; оценивание траектории движения объекта.

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

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

Xk = (xk yk),

где Xk, Ук - координаты центра окна слежения в плоскости изображения.

Аппаратной платформой для проведения компьютерного моделирования является персональный компьютер c процессором i5-660, и памятью 4 ГБ.

Ключевые точки и их дескриптор

В качестве детектора ключевых точек используется SIFT-алгоритм. Применимость SIFT-алгоритма для слежения за движущимися объектами оправдается производительностью этого алгоритма в задачах сопоставления изображений, его инвариантностью к геометрическим преобразованиям типа смещения, вращения и масштабирования, и его робастностью к изменению ракурса и размытию изображения [2], присушим к случаю движущегося объекта в видеопоследовательности.

Рассмотрение различных научных работ, посвященных исследованию производительности алгоритмов сопоставления изображений на основе ключевых точек, показывает, что огромное количество времени теряется на вычислении дескрипторов. Примером этого факта служит широко применяемый алгоритм SIFT [3], дескриптор которого имеет размерность 128. Вычисление этих дескрипторов занимает 40% времени вычисления алгоритма, как показано в некоторых работах [4].

Для вычисления каждого SIFT-дескриптора обрабатываются ориентации и модули градиентов пикселей в пределах окна размером 16x16 пикселей [3]. В итоге, объём информации, участвующей в вычислении SIFT-дескриптора равен 2x16x16=512 значений, что объясняет их вычислительную сложность, а размер SIFT-дескриптора каждой КТ равен 128. Поэтому предлагается в данной работе убрать этап построения дескрипторов градиентов изображения в SIFT-алгоритме и строить более простой компактный дескриптор пространственного распределения ключевых точек без использования интенсивности изображения. В литературе сопоставления изображений на основе ключевых точек многие работы использовали пространственное распределение в качестве дополнительного критерия для улучшения устойчивости и удаления выбросов. Однако основные результаты сопоставления в этих работах получается с использованием информации о текстуре изображения вокруг ключевой точки [5].

Каждая ключевая точка SIFT-алгоритма определяется величинами её местоположения (Xi, yi), её масштаба üj, и её ориентации 9j. Пусть имеется множество КТ SIFT-алгоритма, обнаруженных на изображения I1,

G1=KPi =(xi, y, *i, Ъ У i = 0..Л1

Предлагаемый пространственный дескриптор опирается на описание пространственного распределения определенного числа (Nnn) соседних КТ вокруг исследуемой КТ. Таким образом, построится массив дескриптора в виде, изображенном в таблице 1, размером 5^Nnn. Каждая KPi (Key Point) описывается отношением Nnn наиболее

ближайших КТ (пКР|) в полярной системе координат, начало которой находится в (Х|,у|), а направление оси Y определяется ориентацией 0|, как показано на рис. 1. Для обеспечения инвариантности к изменению масштаба КТ необходимо нормализировать полярные радиусы и масштабы соседних точек разделением на о. Компьютерное моделирование показывает хорошую производительность при Ыпп = 10, который будет использоваться в дальнейшем.

Таблица 1- пространственный дескриптор

KP KPi

nKPi ПКР2 nKPio

RN Rii/o Ri2/0i Riio/Oi

р Pi P Pio

ON Oi/Oi O/Oi Oi 0/ Oi

Qn Qi -Qi Q2-Qi Qio-Qi

nKP nKPii nKPi2 nKPiio

При изменении масштаба изображения его пятна, имеющие одинаковые размеры, исчезнут и появятся вместе. Поэтому для увеличения информативности пространственного дескриптора предлагается его строить с использованием ближайших соседних КТ в трехмерном пространстве (х, у, о). Поиск ближайших соседей проводится с использованием классического алгоритма бинарного поиска в kd-деревьях (kd-tree), обеспечивающего логарифмическую вычислительную сложность относительно числа ключевых точек по сравнению с линейным законом для дескриптора SIFT-алгоритма. На рис. 2 показаны времена выделения КТ (сплошная линия), вычисления SIFT-дескрипторов (пунктирная линия) и вычисления предложенного дескриптора (штриховая линия) в зависимости от числа ключевых точек. Для этого используется библиотека Vedaldi [3], программируемая в языке С. На этом рисунке заметно, что время вычисления дескрипторов значительно уменьшается. Таким образом, предлагаемый дескриптор позволит значительно ускорить этап их вычисления (примерно в 40 раз) и уменьшить его размерность от 128 до 50.

Compare descriptor's calculation time

Q------'---1----1 -

0 200 400 600 800 1000

Number of key points

Рис. 1 - Геометрическое отношение КТ Рис. 2 - Время вычисления дескрипторов

Для улучшения производительности сопоставления пространственный дескриптор может дополняться информация об интенсивности изображения или о значении пирамиды БоО в ключевой точке.

Сопоставление изображений

Пусть имеется два изображения: 11 - изображение объекта слежения (несколько); 12 — изображение кадра видеопоследовательности.

На этих изображениях выделяются множества КТ 01 и 02 соответственно.

в1= ^ : I = 0..Л1 , в2 = : I = 0-1Ч2)

Задача сопоставления изображений является установлением соответствий между областями изображений II и 12. Таким образом, при использовании КТ это означает нахождение М правильных, по некоторому критерию, соответствий между множествами О1 и О2.

Сопоставление двух КТ проводится к сравнению пространственного отношения всех их Ыпп соседних КТ, т.е. к сравнению столбцов их пространственных дескрипторов й^ й2. Два столбца из двух дескрипторов й1, й2 считаются пространственно соответствующими, когда выполняются следующие неравенства, которые отображают ограничения на перемещение, изменение масштаба и ориентации соседней точки при локальном аффинном преобразовании:

ак! =

Ск! =

1 2

<0.5,

<0.2,

Ьк! =

в1- в2

< 25°: к,! е[1,Мпп ],

ст

6к! =

N

й1 р2 0N- 0N

< 25°: к,! е[1,^п],

где верхние индексы 1 и 2 обозначают принадлежность множеству О1 и О2. Из отклонений в уравнениях 1 и 2 вычисляется нормализированное отклонение двух столбцов из и Б2 в виде:

Зск! =

а

к!

^2

0.5

+

ЬкЬ

25

2 (С

+

к!

0.2

+

г6 л

25

2

ч

Поиск минимальных значений ЭСи приводит к нахождению всех правильных соответствий между соседними КТ, количество которых равно М (значение от 0 до 10) и определяет качество соответствия двух КТ.

Здесь предлагается воспользоваться упрощенными условиями для ускорения задачи сопоставления. Поиск соответствия точки Р1 из 01 остановится, когда найдется соответствующая КТ Р2 из 02 с количеством соответствующих соседей более 8. Эта пара КТ позволит вычислить параметры локального аффинного преобразования. Затем параметры глобального аффинного преобразования вычисляются усреднением параметров локальных преобразования. Преимущество этого заключается в удалении дополнительной задачи подгонки модели преобразования (такой как ЯЛКБЛС). Кроме этого, использование локального преобразования подходит для подгонки соответствий в случае не планарных объектов.

Экспериментальное исследование производительности данного дескриптора в задаче сопоставления изображения показало, что он производит одинаковое количество соответствия с уменьшением времени сопоставления с учетом этапа вычисления дескрипторов на 20 процентов.

Видеослежение

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

^ богатство текстуры объекта: это условие поставлено тем фактом, что БГРТ-алгоритм принадлежит множеству детекторов пятен (блоб).

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

> Наличие плоских участков в объекте слежения.

Для упрощения и ускорения задачи сопоставления в системе видеослежения используются ограничение на движении объекта типа проксимальной равномерности, в котором поставлены следующие два условия [6]:

^ Соседство: небольшое передвижение объекта через кадры.

> Максимальная скорость: определяется круг возможных соответствующих точек на следующем кадре.

Кроме этого, предлагается, что скорость изменения масштаба объекта, т.е. его скорость вдоль оптической оси видеокамеры невелико. От этого следует, что поиск соответствия КТ объекта из множества 01 с масштабом 01 проводится только среди КТ множества 02, масштаб которых 02 выполняет условие 0.5 01 < 02 < 1.5о1.

Таким образом, после нахождения соответствий КТ с высокими качествами вычисляются сдвиг 1-ой КТ в плоскости изображения по уравнению:

ДХ1 Дх2 + Ду2

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

Зная вектор состояния, оцененный на предыдущий момент к-1, тогда оценивание вектора состояния на момент к запишется следующим образом:

М/

М I

ЛК

Хк=Хк-1+ ДХк=Хк-1+М^, (4) ,

где М - число ключевых точек, правильно сопоставленных между кадрами к-1 и к; АХк' -сдвиг /-ой правильно сопоставленной КТ; АХк - сдвиг объекта слежения.

Предлагаемый алгоритм слежения выполняется следующими этапами:

1. Оператор выбирает на экране объект с использованием мышки одним щелчком для определения центра объекта, вокруг которого определяется окно слежения размером 101x101 пикселей;

2. Внутри полученного окна выделяются ключевые точки БШТ-алгоритма, количество которых ограничено. Строятся множество ключевых точек и дескрипторов их пространственного распределения как показано выше. Эти КТ имеют нулевое количество очков. Это множество обозначаем 01 - модель объекта слежения;

3. При поступлении нового кадра вычисляются новые дескрипторы окна слежения вокруг последнего оцененного местоположения объекта и строятся множество ключевых точек 0к;

4. Следовательно, выполняется задача сопоставления дескрипторов 01 с дескрипторами КТ окна текущего кадра Ок. В результате этого определяются правильно сопоставленные КТ, количество очков которых увеличится на единицу, и вычисляется сдвиг объекта;

5. При увлечении количества сохраненных КТ удалятся те КТ, имеющие малое количество очков;

6. Сдвиг объекта между двумя кадрами (АХ|) вычисляется вычитанием ценроида М КТ с большим количеством очков в О1 от их ценроида в текущем кадре;

7. Повторно выполняется этапы 3-7.

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

190-ый кадр Сопоставление КТ

Рис. 3 - Кадры при слежении за машиной

Программное обеспечение

Для проведения компьютерного моделирования существуют некоторые среды программирования. Среди этих наиболее удобной является система Матлаба благодаря своей исключительно высокой эффективности при программировании численных алгоритмов и визуализации результатов. Однако, недостатком системы Матлаба является тот факт, что она основана на интерпретаторе (Interpreter Based Language), т. е. каждая команда исполняется в отдельности. Поэтому она исполняет команды медленнее языков на основании компилятора (Compiler Based), таких как. С++ [7].

Для ускорения вычисления в системе MATLAB, имеется интерфейс взаимодействия с внешними приложениями, написанными на языках C и Фортран. Это взаимодействие осуществляется через MEX-файлы, которые позволят вызвать подпрограммы, написанные на C или Фортране из Матлаба, как будто это встроенные функции пакета. MEX-файлы представляют собой динамически подключаемые библиотеки, которые могут быть загружены и исполнены интерпретатором, встроенным в MATLAB [8]. Таким образом, система Матлаба вместе с MEX-файлом используются для отладки алгоритмов обработки информации, а для исполнения в реальном масштабе времени необходимо воспользоваться другой средой программирования. Предлагается использовать visual studio C++.

Для исследования производительности предлагаемого дескриптора используется библиотека Vedaldi, программируемой в С-языке, предназначенной для исполнения SIFT-алгоритма в системе Матлаба [3].

Экспериментальные результаты

данные эксперименты посвящаются исследованию инвариантности задачи слежения за объектом к преобразованиям типа подобия. В данном примере слежение производится без использования этапа фильтрации для прогнозирования вектора состояния. Размер окна слежения равен 101*101 пикселей.

Первый тестовый видеофайл показывает дорожное движение, снятое с использованием фиксированной видеокамеры с разрешением 640*424 пикселей. Оператор выбирает объект слежения (машину) на изображении. В этой видеопоследовательности выбранный объект слежения подвергается перемещением, частичным перекрытием и изменением освещенности и фона.

На рис. 3 показаны три кадра из видеопоследовательности в различные моменты слежения. На каждом кадре видеопоследовательности система видеослежения показывает местоположение объекта слежения в плоскости изображения (квадрат), и также траекторию движения объекта слежения с начала слежения (прямой линия).

Первоначальный кадр (сверху слева) показывает выбранный объекта слежения. На 60-ом кадре (сверху справа) объект слежения перекрывается частично. Однако, слежения за объектом продолжается из-за робастности сопоставления изображения на основе ключевых точек к частичному перекрытию. Третий кадр (снизу слева) показывает робастность слежения к размытию изображения объекта вследствие движения. Последнее изображение (снизу справа) показывает соответствия между КТ первоначальным окном слежения и окном слежения на 60-ом кадре.

Одним из критериев оценивания качества видеослежения является эмпирический автономный метод, который не требуют истинностных контрольных данных (ground truth), а оценит качество слежения на основе некоторых качественных критериев траектории объекта, таких как ее сглаженность и устойчивость во времени [9]. В данном примере предлагается использовать отклонение траектория слежения от усредненной траектории объекта. В ходе слежения вычисляется отклонение оцененной траектории от прямой линии, соединяющей первоначальное и конечное местоположения машины. В данном примере максимальное отклонение не превышает 1.6 пикселя, а среднее отклонение не превышает 0.5 пикселя.

Время исполнения различных задач слежения в данном примере приведены в табл. 2. Можно отметит, что большое время сбора кадров из видеопоследовательности не позволит исполнить слежение в реальном масштабе времени, а только на кадровой частоте не больше 10 Гц.

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

Таблица 2 - Времена исполнения

Число выделенных КТ Время выделения КТ [МС] Время сопоставления КТ [МС] Время Сбора кадр [МС]

~100 14 10 80

На рис. 4 показаны два кадра из видеопоследовательности. Первый кадр (слева) показывает первоначальный кадр слежения, на котором был выбран объект слежения. Второй кадр (справа) показывает 70-ый кадр, где масштаб объекта слежения уменьшается примерно в два раза. В данном кадре можно заметит, что объект слежения занимает небольшую часть окна слежения, при этом сохраняется состояние слежения. Изображение в середине Рис.4 показывает соответствия (matches) между КТ окон слежения в обоих кадрах, включающие некоторые выбросы.

Firsl üanu: Ма,Лы 70-4 hmt

Рис. 4 - Видеослежение при изменении масштаба Заключение

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

Для компьютерного моделирования используется система матлаба для чтения видео файлов и для отображения результатов, а сами алгоритмы вычисления были запрограммированы в С-языке в среде Visual studio C++ и импортированы в матлабе с помощью динамически подключаемой библиотеки.

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

Данная система видеослежения, опирающая на матлаб, обеспечивает исполнение в реальном масштабе времени при кадровой частоте не выше 10 Гц.

Литература

1. Коротаев, В.В. Телевизионные измерительные системы / В. В. Коротаев, А. В. Краснящих. - СПб: СПбГУ ИТМО, 2008. - 108 стр.

2. Lowe, D.G. Distinctive Image Features from Scale-Invariant Keypoints / D.G Lowe. // International Journal of Computer Vision. - 2004. - Vol. 60, - № 2. - P. 91-110.

3. Vedaldi, A. Code - SIFT for Matlab / Vedaldi A // http://www.vlfeat.org/~vedaldi/code/sift.html.

4. Warn, S. Accelerating SIFT on Parallel Architectures / S. Warn, W. Emeneker, J. Cothren. // IEEE Cluster 2009 Proceedings - New Orleans, LA - 2009 - P. 1.

5. Аун, С. Дескриптор пространственного распределения ключевых точек для сопоставления изображений. / С. Аун, Л. М. Шарнин // Вестник КГТУ им. А.Н. Туполева. - 2011.- № 3.

6. Yilmaz, A. Object tracking: A survey / A. Yilmaz, O. Javed // ACM Computing Surveys .- December 2006

- Vol. 38. - No. 4. - Article 13. - P. 1-45.

7. Chapman, S J. Essentials of MATLAB Programming, Second Edition / S. J. Chapman - Cengage Learning, 2009 - 432 p.

8. The Mathworks Inc. Product Support. MEX-files Guide (http://www.mathworks.com/support/tech-notes/1600/1605.html?BB=1#intro).

9. Maggio, E. VIDEO TRACKING Theory and Practice / E. Maggio, A. Cavallaro.- Wiley: March 15, 2011

- 296p.

© С. Аун - асп. каф. АСОИУ КНИТУ-КАИ им. А. Н. Туполева, aoun.samer@gmail.com; Л. М. Шарнин - д-р техн. наук, проф., зав. каф. АСОИУ КНИТУ-КАИ им. А. Н. Туполева, sharnin@asu.kstu-kai.ru; А. П. Кирпичников - д-р физ.-мат. наук, проф., зав. каф. интеллектуальных систем и управления информационными ресурсами КНИТУ, kirpichnikov@kstu.ru.