УДК 004.932.4
ВЫДЕЛЕНИЕ НА ПОСЛЕДОВАТЕЛЬНОСТИ ИЗОБРАЖЕНИЙ ОБЛАСТИ ДВИЖУЩЕГОСЯ ОБЪЕКТА
© 2014 П.В. Смирнов
Ульяновский государственный технический университет
Поступила в редакцию 02.12.2014
Предложены и проанализированы алгоритмы выделения на последовательности изображений области движущегося объекта. Приведены экспериментальные результаты, полученные с использованием предложенных алгоритмов.
Ключевые слова: изображение, движение, деформация, оценивание, псевдоградиентный алгоритм
Проблема выделения на последовательности изображений (видеопоследовательности) областей движущихся объектов возникает при обнаружении факта и координат движения [1, 2], построении траектории движения [3, 4], оценке скорости движения объектов [4, 5], компенсации эффекта «сма-за» [6, 7] с целью улучшения качества изображений [6] и при решении ряда других задач. При этом эффективность решения указанных задач зависит от качества выделения области движения. Вследствие различных факторов, таких как отсутствие априорной информации об объекте, изменения освещенности, формы объекта, колебания камеры, сложный фон, шумы и пр., обнаружение движущихся объектов является непростой задачей. В работе рассмотрено несколько алгоритмов выделения области подвижного объекта (ряда объектов), различных по вычислительным затратам и точности выделения области движения.
Рис. 1. Пример смежных кадров Видеопоследовательности
На рис. 1 для примера показаны два смежных кадра видеопоследовательности Zt={zt(xy)}
Смирнов Павел Викторович, [email protected]
аспирант. E-mail:
(У - номер кадра; z - яркость узла с координатами x,y), представляющей собой упорядоченный набор кадров изображений, в которой автомобиль, расположенный по центру, движется, а автомобиль справа - неподвижен. Приведенные изображения далее использованы для получения экспериментальных результатов.
Известно много подходов к обнаружению движущихся объектов. Самым простым является алгоритм [3, 8], основанный на анализе разности яркостей между текущим Zt и предыдущим Zt.1 кадрами: Д^ =Zt - Zt_1. В отсчетах, где движение отсутствует, значение межкадровой разности определяется только шумом. Задав порог Т, существенно превышающий среднее значение шума, можно выделить пиксели изображения потенциально соответствующие движущемуся объекту:
£ (Х у) = I1' если ^(Х'У) > Т'
м [о, если \<Л11_1 (х, У )< Т'
где: ^¡Л(ху) - значение ДиЛ в узле (х, у). Единица соответствует выполнению гипотезы о движении. Описанный алгоритм прост и требует минимума вычислений, однако в большинстве практических задач он неприменим вследствие высоких вероятностей ошибок первого и второго рода.
Несколько лучшие результаты дают алгоритмы, основанные на вычитании фона [2, 9]. Самым простым способом получения фона является кадр без движущихся объектов, однако такая возможность имеется не всегда. В таком случае фоновое изображение получают из нескольких кадров, на каждом из которых ищутся области без движения, которые объединяются в одно изображение. Здесь уже используются разные критерии оценки схожести пикселей или небольших фрагментов изображений: разность яркостей, коэффициент корреляции и др. Алгоритмы вычитания фона достаточно просты в реализации и обладают небольшой вычислительной сложностью. Однако с течением времени текущий кадр все больше отличается от фонового из-за новых объектов фона, изменения освещения, других обстоятельств, и его требуется обновлять. Поэтому к недостаткам таких алгоритмов можно отнести чувствительность к шуму,
изменению освещенности и необходимость обновления фонового изображения.
Блочные алгоритмы выделения области движения. Более широкое распространение получили так называемые «блочные алгоритмы» обнаружения движения [3, 5, 10]. Они предполагают поиск местоположения априорно заданных небольших областей (блоков) предыдущего кадра на текущем. Кадр разбивается на множество неперекрывающихся блоков В,, где 1,] - координаты блоков. Размеры блоков выбираются исходя из размеров искомых движущихся объектов. Для всех блоков В, кадра Zí_1 оценивается вектор движения V
1,} •
аЫ ех^етит 0 VI,,))
где О - область поиска, Q(i,j,vij) - заданная функция соответствия блоков текущего и предыдущего кадров. Такие алгоритмы при относительно высокой эффективности требуют небольших вычислительных затрат. Однако недостатком их является предположение о неподвижности камеры. На практике это условие соблюдается далеко не всегда. Даже при небольших колебаниях камеры или конструкции, на которой она установлена, изображения смежных кадров могут иметь существенные взаимные пространственное сдвиги и алгоритмы покажут наличие движения на кадре.
Для преодоления этого недостатка в работе [7] предложено использовать более сложную модель местоположения блоков В,, а для нахождения параметров модели - безидентификационные псевдоградиентные процедуры оценивания [11, 12], которые устойчивы к импульсным помехам и требуют небольших вычислительных затрат, как при малых, так и при больших размерах блоков. В результате работы псевдоградиентного алгоритма на ^м кадре для каждого блока В, находится вектор оценок параметров его местоположения а1,/ . В качестве модели местоположения блоков может быть использована, в частности евклидова модель или модель подобия [11], которая включает параметры сдвига по базовым осям Ь = (кх,ку )Т , угла
поворота ф и масштаба к. Тогда а= (Ь, р, к)т.
Если камера неподвижна и смежные кадры не имеют глобальных пространственных деформаций, то оценки параметров блоков, не принадлежащих изображению подвижного объекта, будут близкими к нулю. Оценки же параметров блоков, принадлежащих подвижному объекту, будут сходиться к ненулевым значениям. В случае, когда соседние кадры имеют взаимные глобальные деформации, оценки параметров деформаций всех блоков будут отличаться от нуля. При этом блоки, соответствующие глобальным деформациям, будут расположены в среднем по всему кадру, в отличие от блоков, соответствующих движущимся объектам и образующих компактные кластеры, что и может быть критерием отличия движения фона от
движения объектов на этом фоне. Параметры движения объектов можно найти из компилирования параметров глобальных и локальных деформаций. При этом кроме направления и скорости движущегося объекта по последовательности кадров можно определить и траекторию наблюдаемой на изображении проекции объекта.
На рис. 2 приведен пример результатов работы алгоритмов межкадровой разности (рис. 2а), вычитания фона (рис. 2б) и предложенного алгоритма (рис. 2в) при небольших глобальных деформациях между смежными кадрами. Для удобства сравнения на каждом изображении добавлен контур движущегося автомобиля. Видно, что алгоритмы межкадровой разности и вычитания фона показывают ложное движения и в областях изображения, в которых движущихся объектов нет, равно как в области движения оно обнаруживается далеко не везде.
в)
Рис. 2. Обнаружение области движения: а) алгоритм межкадровой разности; б) алгоритм вычитания фона; в) предложенный алгоритм
Предложенный алгоритм выделяет область движения практически без пропусков. Он помехоустойчив и позволяет избавиться от влияния глобальных межкадровых деформаций, движения небольших объектов, не представляющих интерес для решаемой задачи: дождь, снег, опадающая листва и пр. С другой стороны нельзя не отметить, что указанное обстоятельство ограничивает возможность применения алгоритма в задачах, требующих выделения движения и небольших объектов.
Другим недостатком является относительно грубое выделение формы подвижного объекта, определяемое размером блоков. Ниже рассмотрен подход, позволяющий компенсировать отмеченные недостатки.
Узловые алгоритмы выделения области движения. Будем считать, что параметры глобальных деформаций известны, например, оценены с помощью предложенного выше алгоритма. Оценим локальные деформации всех узлов изображения. Обозначим вектор деформаций для узла г(1]) текущего кадра XI как Ь= (кх, ку ). В отличие от блока, деформацию которого можно описать разными моделями (разным набором параметров), деформацию узла можно описать только сдвигом по базовым осям (или двумя другими эквивалентными параметрами). Все узлы изображения, параметры
деформаций которых с заданной погрешностью отличаются от параметров глобальной модели, будут считаться содержащими движущийся объект. Если объект подвергается повороту и/или масштабированию, то параметры деформаций для узлов движущегося объекта будут отличаться, но всегда может быть выделен контур движущегося объекта, соответствующий разрывам в оценке деформаций (там, где параметры деформаций изменяются скачком).
Алгоритм оценивания локальных деформаций узлов изображения может быть следующим. Оценка ищется с помощью псевдоградинтной процедуры [12, 13]. При этом по строкам последовательно обходятся все узлы изображения. Причем каждая 1-я строка обходится дважды: сначала «слева направо», формируя оценки:
hlx(i, j +1) = hX(i, j) - X sign(4(i, j), h j)), hlx (/,0) = hX (i -1,0),
hy (i, j +1) = hy (i, j) - X sign (4 (i, j), h i, j)) hi y (/,0)=hi y (i -1,0)
а затем «справа налево, формируя оценки:
hX ^ Ny - j) = ^ ^ Ny - j + 1)-X sign (p(z, ft Ny - jX lii,Ny-j+1)) hrx (i,Ny ) = hX (i - 1,Ny )
hi y (i, Ny - j) = h1^ (i, Ny - j + 1)-X sign ^ (i, Ny - j), h^-j+1)) hy (i,Ny ) = hy (i - 1,Ny )
где в -псевдоградиент; Nx x Ny - размеры изображения. Параметр X выбирается исходя из предполагаемой скорости движущегося объекта.
Для примера на рис. 3а приведены графики полученных оценок параметра деформации Лх(1])
для одной из строк. Здесь: Кх (1, j) - оценка «слева
направо» (штриховая линия), К (/, j) - оценка «справа налево» (штрих-пунктирная линия), кх(1,]) - истинная деформация.
200 а)
К 0 -1 -2 -3
1
0
100
200 б)
300
Рис. 3. Оценки параметра деформации по одной строке
На рисунке видно, что оценки инерционны, при резком изменении параметра деформации его оценка приближается к истинному значению с некоторой задержкой. Для ее уменьшения может быть увеличен шаг X, однако это приведет и к увеличению погрешности оценивания. Другим путем уточнения оценок параметров деформаций является совместная обработка кХ (1, .)) и к (1, .)), результат которой показан на рис. 3б сплошной черной линией. Как видно, оценка, полученная в результате совместной обработки, незначительно отличается от истинного значения параметра деформации.
Рассмотрим возможный алгоритм совместной обработки оценок, полученных во встречных направлениях. Используем подход, описанный в работе [14], при котором после получения оценок во встречных направлениях они уточняются в каждом узле строки. Например, в узле г(1]) границами
возможных значений будут оценки кх(1, j) и
кх (1, j), а шагом изменения - некоторое заранее заданное значение А, определяемое требуемой точностью оценивания. Если в узле эти оценки одинаковы или модуль их разности меньше А, то уточненная оценка кх (1, j) параметра деформации
принимается равной значению кх (1, j). В противном случае набор возможных значений оценки параметра деформации определяется как:
К (и ]) = Я О' ]) + тА т = 0' к +1
где к
К (', у)_ К (/' у)
А
Оптимальное значение из
возможного набора определяется по минимальной величине псевдоградиента.
На рис. 4а приведен пример результатов работы рассмотренного алгоритма - модуль оценок параметров деформаций в узлах изображения. Здесь белый цвет соответствует параметру глобальной деформации, черный - максимальному отклонению от него. На рис. 4б показан результат выделения контура движущегося объекта, полученного с использованием морфологических операций замыкания и заполнения.
а)
предложенным способом. Видно, что здесь оценки К (/,у) и К (/,у) отличаются незначительно, т.е. учет межстрочной корреляции практически позволяет избавиться от инерционности. Отметим также существенное сокращение вычислительных затрат, поскольку каждая строка проходится только один раз.
К
Рис. 5. Оценки параметра деформации по двум строкам
На рис. 6 приведен результат работы алгоритма: на рис. 6а - модуль оценок параметров деформаций в узлах изображения, на рис. 6б - выделений контура движущегося объекта. Видно, что результат лучше, чем приведенный на рис. 4.
б)
Рис. 4. Результаты оценивания по одной строке: а) оценка параметра деформаций; б) контур подвижного объекта
Очевидно, что схожие результаты могут быть получены и по столбцам изображения, а их совместная обработка с оценками, полученными по строкам, улучшит выделение объекта. Однако это приведет и к удвоению объема вычислений. Заметим, что при использовании алгоритма из работы [14], двумерный сигнал (изображение) обрабатывается как одномерный. При этом не учитывается межстрочная корреляция. Исследования показали, что ее учет позволяет существенно улучшить выделения разрывных деформаций. Например, обход строк можно делать «змейкой», проходя строки поочередно «слева-направо» и «справа-налево». При этом при прохождении по строке «слева направо» оценка деформации Кх (/'у) для узла ^ (и у) сравнивается с оценкой К (' _ 1, у), полученной на
предыдущей строке. Уточненная оценка К(у) формируется, как описано выше. На рис. 5 представлен результат оценки параметра деформации
а)
б)
Рис. 6. Результаты оценивания по двум строкам: а) оценка параметров деформации; б) контур подвижного объекта
Выводы: алгоритмы выделения на изображении области движущегося объекта, базирующиеся на межкадровом вычитании и вычитании фона, просты в реализации и имеют небольшую вычислительную сложность, однако выделяют область объекта фрагментарно и практически неприемлемы для выделения контура объекта. Алгоритм, основанный на разбиении изображения на непересекающиеся блоки и оценке параметров движения этих блоков с помощью псевдоградиентной
процедуры, выделяет область движения практически без пропусков, но границы области находятся с погрешностью, обусловленной размером блоков. Лучшие результаты показали предложенные алгоритмы, использующие оценки движения всех узлов изображения, при которых для устранения инерционности псевдограциентного оценивания, либо каждая строка (столбец) обрабатывается повторно во встречном направлении, либо обработка строк проводится «змейкой». В последнем случае используется межстрочная корреляция и вычислительные затраты меньше.
Исследование выполнено при финансовой поддержке гранта РФФИ № 13-01-00555 а.
СПИСОК ЛИТЕРАТУРЫ:
1. Золотых, Н.Ю. Обзор методов поиска и сопровождения транспортных средств на потоке видеоданных / Н.Ю. Золотых, В.Д. Кустикова, И.Б. Мееров // Вестник Нижегородского университета им. Н.И. Лобачевского. 2012. №5 (2). С.348-358.
2. Скрипкина, АА. Обзор методов обнаружения движущегося объекта по видеоизображениям // Перспективы развития информационных технологий. 2011. № 3-1. С. 126-129.
3. Богуш, Р.П. Комбинирование блочных алгоритмов вычисления оптического потока для обнаружения и сопровождения движущихся объектов на видеопоследовательностях / Р.П. Богуш, В.Ю. Лысенко, Г.А. Самощенков // Вест. Полоц. гос. ун-та. Фундаментальные науки. 2011. № 4. С. 2-7.
4. Karasulu, B. Performance Evaluation Software: Moving Object Détection and Tracking in Videos / B. Karasulu, S. Korukoglu // Springer Briefs in Computer Science. 2013. P. 76.
5. Гришин, С.В. Обзор блочных методов оценки движения в цифровых видеосигналах / С.В. Гришин, Д.С. Ватолин, А.С. Лукин и др. // Тематический сборник «Программные системы и инструменты». 2008. Т. 9. С. 50-62.
6. Ягола, А.Г. Восстановление смазанных и дефоку-сированных цветных изображений / А.Г. Ягола, Н.А. Кошев // Вычислительные методы и программирование. 2008. № 2. С. 207-212.
7. Ташлинский, А.Г. Алгоритм компенсации эффекта смаза изображения движущегося объекта по последовательности кадров / А.Г. Ташлинский, П.В. Смирнов // Радиотехника. 2014. № 7. С. 81-87.
8. Weng, M. A new interframe difference algorithm for moving target detection / M. Weng, G. Huang, X. Da // Image and Signal Processing (CISP). 2010. V. 1. P. 285-289.
9. Karasulu, B. Performance Evaluation Software: Moving Object Detection and Tracking in Videos / B. Karasulu, S. Korukoglu // Springer Briefs in Computer Science. 2013. P. 76.
10. Jing, X. An Efficient Three-Step Search Algorithm for Block Motion Estimation /X Jing, L.-P. Chau // IEEE Trans. on Multimedia. 2004. V. 6. № 3. P. 435-438.
11. Ташлинский, А.Г. Оценивание параметров пространственных деформаций последовательностей изображений. Ульяновск: изд-во УлГТУ, 2000. 132 с.
12. Tashlinskii, A.G. Computational expenditure reduction in pseudo-gradient image parameter estimation // Lecture Notes in Computer Science. 2003. Vol. 2658. P. 456-462.
13. Tashlinskii, A.G. Method for detecting instability and recovery of signal shape under intense noise / A.G. Tashlinskii, R.M. Kurbanaliev, S.S. Zhukov // Pattern recognition and image analysis. 2013. V. 23, № 3. P. 425-428.
ALLOCATION ON SEQUENCE OF IMAGES THE AREA OF MOVING OBJECT
© 2014 P.V. Smirnov
Ulyanovsk State Technical University
Algorithms of allocation on sequence of images the area of moving object are offered and analyzed. The experimental results received with use of the offered algorithms are given.
Key words: image, movement, deformation, estimation, pseudogradient algorithm
Pavel Smirnov, Post-graduate Student. E-mail: [email protected]