Телевидение и обработка изображений
УДК 621.397.13
Н. А. Обухова
Санкт-Петербургский государственный университет
аэрокосмического приборостроения
Векторы оптического потока в задачах сегментации и сопровождения подвижных объектов
Рассмотрены особенности определения и обработки векторов оптического потока (векторов движения) в условиях жестких требований к их достоверности. Приведены результаты исследования алгоритмов поиска векторов движения по критерию надежности. Описана предобработка изображений, позволяющая уменьшить число аномальных векторов движения. Предложены алгоритмы, снимающие ограничения на скорость движения объекта. Дискретная оценка векторов движения заменена непрерывной, что позволяет сегментировать объекты со скоростью меньше одного пикселя. Рассмотрены способы постобработки поля векторов движения с целью уменьшения вероятности рассегментации объекта.
Векторы оптического потока, векторы движения, сегментация объектов интереса, иерархический подход, многомасштабная межкадровая разность, векторная медианная фильтрация
Векторы оптического потока (векторы движения) широко применяются в системах видеонаблюдения, автоматической сегментации и сопровождения объектов. В системах видеонаблюдения они используются для оценки скорости движения объекта интереса, например при построении его панорамного изображения [1], [2]; в системах автоматической сегментации - для оценки признака движения и последующей сегментации объектов интереса на основе этой оценки. Указанное использование векторов оптического потока обусловливает дополнительные требования и существенные особенности их определения и обработки по сравнению с методами, использующимися в стандартах видеосжатия МРЕО-1,2 - традиционных областях применения этих векторов.
Анализ основного уравнения оптического потока VIх V + ^ = 0, где
VI = {( дЦ дх ), ( дЦ ду )} - - ;
V = {(дх/ дt), (ду/дt)} - вектор оптического потока; = д1/ д1 - производная яркости по
времени, показывает необходимость соблюдения достаточно большого числа жестких условий для корректного нахождения векторов. Получение достоверных оценок векторов движения возможно только при постоянстве яркости точки вдоль траектории ее движения и в присутствии на изображении ярко выраженной детальности. На практике эти условия достаточно часто нарушаются. Наличие бликов, теней, полупрозрачных и слаботекстури-рованных поверхностей приводит к появлению аномальных векторов.
42
© Н. А. Обухова, 2006
В задачах видеокомпрессии появление аномальных векторов движения - векторов, не отражающих реальное движение, а являющихся результатом шумов и изменений освещенности, - приводит к уменьшению коэффициента сжатия. "Цена ошибки" в задачах, решаемых прикладными телевизионными системами, существенно выше. При сегментации последствия аномальных векторов - рассегментация или потеря объекта интереса, а при построении панорамных изображений ошибка векторов движения - грубое нарушение геометрии объекта интереса (сжатие или растяжение последнего). Отсюда следует необходимость применения специальных мер для снижения вероятности появления аномальных векторов.
Особенности поиска векторов движения. Существует три класса методов для определения векторов движения: дифференциальный анализ [3], [4], частотные методы и метод совмещения блоков.
Максимальной устойчивостью к шумам обладают корреляционные методы (методы совмещения блоков). Самый надежный алгоритм этой группы - полный перебор (FF), однако из-за большого объема проводимых вычислений он обладает низкой скоростью. Вследствие этого существует значительное число алгоритмов, направленных на оптимизацию стратегии поиска минимума с целью повышения скорости достижения результата. Данные алгоритмы можно разделить на следующие группы:
• уменьшающие число контрольных точек, основываясь на предположении об унимодальности целевой функции: трехшаговый алгоритм (3SS) [5], алгоритмы логарифмического (LOGS) [6], ортогонального (OSA) и поперечного (CSA) поисков [7], алгоритм поиска по квадрантам (SES) [8];
• учитывающие скорость оцениваемого движения. К этой группе относятся алгоритмы двух видов: ориентированные на работу с видеопоследовательностями, в которых преобладает медленное движение - блочный градиентный поиск (BBGDS) [9], новый трехшаговый алгоритм (N3SS) [10], четырехшаговый алгоритм (4SS) [11], и гибридные алгоритмы, предсказывающие характер оцениваемого движения (быстрое/медленное) и затем использующие наиболее эффективный для данного вида движения алгоритм [12];
• предсказывающие начальное приближение (в этом случае сужается область поиска): алгоритмы с предсказанием;
• уменьшающие число вычислений при определении целевой функции: алгоритм поиска частичного искажения; алгоритм остановки на полпути (PDS); алгоритм остановки на полпути c нормировкой (NPDS).
В рамках задач, решаемых прикладными телевизионными системами, основным критерием является не быстродействие, а надежность - доля верных векторов движения от общего числа найденных.
Для оценки надежности указанных алгоритмов предложена методика эксперимента и разработано специальное программное обеспечение. Получены две оценки: первая -число верных векторов при условии постоянства яркости и шумовой обстановки, вторая -это же число, но при реальных условиях видеонаблюдения. Оценки надежности для наиболее характерных методов каждой группы представлены на гистограмме математических
математическое ожидание Ц- мода
□ - реальные условия
□ - идеальные условия
100 I
33
35
ш
62 I
60
65 \N
69
ш
87
57 ii
56
ш
91
ш
100 ожиданий и мод распределений доли (в
процентах) правильно определенных векторов движений (рис. 1).
Полученные результаты совместно с исследованием рельефов целевых функций (для которых решалась задача минимизации при определении векторов движения) позволили сделать следующие выводы. 3SS 4SS FF LPT + 3SS 1. Получаемые в реальных условиях
Рис. 1 целевые функции практически всегда муль-
тимодальны и имеют очень сложный рельеф (рис. 2, а для блоков с высоким и рис. 2, б - с низким уровнями детальности; уровень черного соответствует близким к нулю отсчетам целевой функции, белого - к их максимальному значению). Поэтому применение алгоритмов поиска, основывающихся на предположении об унимодальном характере целевой функции, приводит к значительному числу аномальных векторов. Так, при поиске алгоритмами 3SS или 4SS число верных векторов составляет не более 30% от общего числа найденных, что делает их неприменимыми для использования в задачах автоматического обнаружения и сегментации объектов.
2. В реальных условиях видеонаблюдения даже использование полного перебора не исключает появление аномальных векторов: только 70% от общего числа найденных векторов являются верными. Это обусловлено нарушением постулата о постоянстве яркости точки при ее движение вдоль траектории, положенного в основу уравнения оптического потока. Два соседних кадра могут существенно отличаться друг от друга по уровню яркости вследствие как изменения общей освещенности сцены в процессе видеонаблюдения, так и работы системы автоматической регулировки чувствительности камеры.
3. Максимальное количество аномальных векторов приходится на блоки с низким уровнем детальности и на блоки, в которых движение как таковое отсутствует, а наличие изменений обусловлено присутствием шумов.
Исходя из изложенного, для определения векторов движения наиболее эффективным в рамках задач сегментации и сопровождения объектов интереса является полный пере-
Рис. 2
6
а
бор. Эта процедура, безусловно, очень вычислительно емкая. Так, для блока 16x16 и зоны поиска 64x64 элементов число проб составляет 4096, а число операций для получения одного значения целевой функции 767. Поэтому предпочтительнее использовать аппаратное определение векторов движения, хотя современный уровень развития вычислительной техники позволяет решить данную задачу и на программном уровне.
В случае жесткой необходимости уменьшения вычислительной емкости задачи вместо полного перебора можно использовать следующий алгоритм: зондирование пространства на основе LPT-последовательности [13] с последующим применением алгоритма 3SS. LPT-Последовательность генерируют для 32 точек, затем из каждой точки осуществляют спуск алгоритмом 3SS и из полученного набора локальных минимумов определяют глобальный минимум. Применение LPT-последовательности позволяет уменьшить число проб до 800 (32x25) против 4096 (64x64) при полном переборе. Количество аномальных векторов в случае алгоритма LPT + 3SS, как видно из гистограммы (см. рис. 1), соизмеримо с их числом при полном переборе.
Для увеличения быстродействия алгоритмов поиска при определении значения целевой функции в пробных точках целесообразно использовать метод остановки на полпути.
При использовании корреляционных методов для определения векторов движения возникает также проблема оценки очень быстрого и очень медленного движений. При оценке быстрого движения возможен выход за границы зоны поиска, в то время как ее расширение приводит к существенному повышению вычислительной емкости. Проблема оценки медленного движения связана с тем, что смещение блока в зоне поиска при определении вектора движения может быть только дискретным и его минимальная величина равной одному пикселю. Следовательно, вектор движения может быть найден, только если смещение блока (объекта) больше одного пикселя.
Оценить быстрое движение позволяет иерархический подход [14]. В этом случае каждый кадр видеопоследовательности представляется как некоторый набор слоев, где каждый слой имеет свой размер блоков (уровень разрешения) для выполнения совмещения. Пусть слои обозначены как l, l = 0, 1, ..., L, где 0 - уровень наименьшего разрешения (верхний уровень с блоками максимального размера); L - уровень полного разрешения (нижний уровень с блоками минимального размера). Общее число слоев составляет L +1.
Тогда, если размер блока на уровне l равен Nl х Nl, то на уровне l +1 размер блока становится равным 2Nl х 2Nl, т. е. уровень с более низким разрешением формируется субдискретизацией уровня с более высоким разрешением с коэффициентом 2.
Первоначально нахождение вектора движения выполняется на уровне более низкого разрешения. Затем найденный вектор передается на уровень более высокого разрешения, где он используется в качестве начального приближения. На уровнях высокого разрешения поиск начинается с начальной оценки, поэтому целесообразно использовать меньшую область поиска. Описанный алгоритм обладает избыточностью. Векторы движения, полученные на промежуточном уровне, полностью переносятся на уровень с более высоким разрешением, хотя только часть из них нуждается в дальнейшем уточнении, а другие уже имеют
достаточную точность. Для устранения избыточности алгоритм может быть дополнен пороговой обработкой, которая исключает из дальнейшего рассмотрения векторы, имеющие удовлетворительную точность.
Пусть vl (i, j) = (vlx, vly) - вектор движения блока (i, j)l, найденный на уровне разрешения l. Для выполнения пороговой обработки вектор vl (i, j) переносится на уровень L, имеющий максимальное разрешение. Вектор движения на этом уровне вычисляется как
vL (2L-li,2L-l j) = 2L-1 vl (i, j) . Далее находится и сравнивается с порогом средняя абсолютная разность (mean absolute difference - MAD) между блоком на нижнем уровне разрешения текущего кадра и его прототипом в предыдущем кадре c учетом вектора движения vL . Если величина MAD меньше порога, то обработка для этого блока прекращается.
В противном случае вектор движения
vl (i, j) переносится на уровень l +1 для дальнейшего уточнения. Описанный алгоритм проиллюстрирован рис. 3.
Порог определяется заранее. Для нахождения порога обычно используют пиковое соотношение сигнал/шум (PSNR), определяемое как
PSNR = 10 • log10 (2552/MSE),
где MSE - среднеквадратическая ошибка. По заданному PSNR рассчитывается значение MSE, квадратный корень из которого используется в качестве порога, если целевая функция формируется как MAD.
Проблему оценки медленного движения позволяет решить использование многмасштабной межкадровой разности (рис. 4). Для определения векторов движения используются не два соседних кадра, а пакет кадров, длина которого определяется самой низкой оцениваемой скоростью. Первоначально нахождение вектора движения выполняется для кадров t и t -1. Если найденный вектор меньше заданного уровня, то
Пирамида Гаусса
для кадра n Оценка движения и
движения Рис. 3
v
к
v
v
Рис. 5
процедура выполняется для пары кадров t t - к, к = 2, 4, 8, N.
и
Рис. 4
Предварительная сортировка. Как было показано ранее, применение полного перебора не исключает появление аномальных векторов движения, максимальное количество которых приходится на блоки фона (рис. 5). В идеале блок фона должен иметь нулевой вектор движения, в реальности же вектор движения может быть любого направления и любой амплитуды, вследствие изменения MAD шумами и яр-костными флуктуациями. Именно для блоков фона характерны целевые функции с большим количеством неглубоких локальных минимумов. Поэтому целесообразно разделить блоки изображения на блоки, в которых произошли существенные изменения (движение), и блоки, где изменения обусловлены наличием шумов. Для этого определяется уровень корреляции между блоками текущего и предыдущего кадров, находящимися в одной и той же позиции. Если уровень корреляции больше некоторого порога, то блок является статичным, т. е. фоном, и ему присваивается нулевой вектор движения. В противном случае выполняется поиск вектора движения.
Уровень корреляции оценивается по энергии движения для каждого блока. Находится MAD в каждом блоке, определяется уровень средней MAD и устанавливается порог 5... 10% от найденного среднего уровня:
. Q , N-1N-1 porog = °.°5 .- X -2 Е Е |Fc
^ q=0 N j=0 i=0
(к + i, I + j ) - Fp (к + i, I + j )
где Q - число блоков в кадре; N - размер блока; Fc (•) и FD (•) - яркость пикселя в теку-
щем и в предыдущем кадрах соответственно; (k, l) - координаты пикселя левого верхнего угла текущего блока.
Если в процессе обнаружения объектов принимает участие оператор, указывающий с помощью строба (рис. 6, а, 1) объект, для которого далее решается задача сопровождения, то порог может быть определен автоматически. Вокруг строба, созданного оператором, формируется охранная зона: площадь зоны равна площади строба (рис. 6, a, 2). Алгоритм определения порога заключается в максимизации целевой функции (рис. 6, в)
Porog = arg max |P^j(Pg + s )J , где PH - число блоков с истинным движением (MAD превышает порог), находящихся внутри указанного оператором строба; Гд - допустимое
число блоков с ложным движением (MAD превышает порог и блок принадлежит охранной зоне); в - малая величина для избежания деления на нуль.
Результат разделения блоков при автоматически установленном пороге приведен на рис. 6, б. Предварительная сортировка позволяет исключить из рассмотрения до 90% блоков кадра (рис. 6, г), уменьшая таким образом как вероятность появления аномальных векторов, так и вычислительную емкость задачи в целом.
26 в
P P
320
160
Porog 0
Рис. 6
Pu
^________
±
13
26
39 Porog
б
а
г
пу , nvф
1200
800 400
nvф пу
25
50 Рис. 7
75
Пространственное сглаживание векторов движения. Описанные способы предобработки в значительной мере снижают, но не исключают полностью вероятность появления аномальных векторов. Поэтому перед работой с полученным полем векторов движения целесообразно провести его обработку: выполнить пространственную или временную фильтрацию.
Высокую эффективность обработки поля векторов в пределах одного кадра обеспечивает рекурсивная векторная медианная фильтрация.
Под векторной медианой множества векторов понимается такой вектор из рассматриваемого множества, у которого сумма расстояний до всех других минимальна [15]. Расстояние между двумя векторами и (хи, уи) и V (Ху, уу) вычисляется на основе нормы ¿2:
\\и - У\\ь2 (хи - ХУ )2 + (Уи - Уу )2 .
^и ) 1
В применении к задаче удаления аномальных векторов под медианной фильтрацией понимается замена каждого вектора движения векторной медианой множества, составленного из самого вектора и восьми его ближайших соседей. При вычислении расстояний используются только ненулевые векторы, т. е. каждый ненулевой вектор превращается в векторную медиану, вычисленную с помощью его восьми ненулевых соседей. Это делается для того, чтобы избежать замены ненулевых векторов на нулевые в случае, когда в этом соседстве доминируют нулевые векторы.
Для оценки эффективности предложенной процедуры проведено компьютерное моделирование. Зависимости количеств корректных векторов движения до фильтрации пв и
после нее пвф, а также числа исправленных векторов (пвф -пв) от числа кадров N. тес-
товой видеопоследовательности, приведены на рис. 7. Полученные данные показывают, что рекурсивная векторная медианная фильтрация позволяет уменьшить число аномальных векторов в среднем на 30% (рис. 8).
На рис. 9 приведены исходные и обработанные с помощью медианной фильтрации поля векторов для нескольких кадров тестовых видеопоследовательностей.
п, % 75 50
25
0
¡1- математическое ожидание Н - мода
пвф Рис. 8
пвф
п
у
0
п
в
в
Поле векторов после фильтрации
Рис. 9
На основании представленного анализа и в результате экспериментального исследования разработанных алгоритмов могут быть сделаны следующие выводы.
1. Высокая "цена ошибки" при определении векторов движения в задачах сегментации и сопровождения подвижных объектах, а также при видеонаблюдении, обусловливает существенные особенности их нахождения и обработки.
2. Для поиска векторов движения неприменимы алгоритмы, базирующиеся на унимодальном характере целевой функции (такие, как 3SS, 4SS и др.), вследствие их низкой надежности: количество верных векторов составляет 30.. .40% от всех найденных.
3. Наиболее адекватным в рамках решаемых задач является алгоритм полного перебора, а в случае жестких ограничений на вычислительную емкость алгоритм LPT + 3SS, соизмеримый с полным перебором по уровню надежности.
4. Поскольку даже полный перебор не исключает возникновения аномальных векторов движения, целесообразно проводить предварительную классификацию блоков и сглаживание полученного поля векторов. Эффективными являются разделение блоков по 50
уровню межкадоровой разности, что исключает из дальнейшего рассмотрения до 90% блоков, и рекурсивная медианная фильтрация, увеличивающая число верных векторов в среднем на 30%.
5. Ограничения на скорость движения объекта при определении векторов движения корреляционными методами снимаются использованием иерархического подхода и многомасштабной межкадровой разности.
Библиографический список
1. Обухова Н. А., Тимофеев Б. С. Методы повышения эффективности систем видеонаблюдения // Телевидение: передача и обработка изображений: Мат-лы IV междунар. конф., Санкт-Петербург, 24-26 июня 2005 г. СПб.: Изд-во СПбГЭТУ "ЛЭТИ", 2005. С. 87-89.
2. Обухова Н. А. Тимофеев Б. С. Анализ параметров движения в системе видеонаблюдения железнодорожных составов // Изв. вузов России. Радиоэлектроника. 2003. Вып. 4. С. 32-44.
3. Beauchemin S. S., Barron J. L. The computation of optical flow ACM // Comp. Surv. 1995. Vol. 27, № 3. P. 433-467.
4. McCandless J. W. Detection of aircraft in video sequences using a predictive optical flow algorithm // Opt. Eng. 1999. № 3. P. 523-530.
5. Motion compensated interframe coding for video conferencing / T. Koga, K. Linuma, A. Hirano et al. // NTC81, Nov. 1981. P. G.5.3.1-G.5.3.5.
6. Jain J. R, Jain K. A. Displlacement measurement and its application in interframe image coding // IEEE Trans. Commun. 1981. Vol. Com-29. P. 1799-1806.
7. Puri A, Hang H. M., Shilling D. L An efficient block matching algorithm for motion-compensated coding // IEEE Int. Conf. Acoustic, Speach and Signal Proc. 1987. Vol. 19. P. 1063-1066.
8. Chanbani M. The cross-search algorithm for motion estimation // IEEE Trans. Commun. 1990. Vol. Com-38, № 8. P. 950-953.
9. Liu L. K, Feig E. A. Block-based gradient descent search algorithm for block motion estimation in video coding // IEEE Trans. Circuit and Syst. Videotech. 1996. Vol. CSV-6, № 1. P. 108-115.
10. Li R., Zeng B., Liou M. L. A new three-step search algorithm for block motion estimation// IEEE Trans. Circuit Syst. and Videotech. 1994. Vol. CSV-4, № 1. P. 438-442.
11. Po L. M., Ma W. C. A Novel four-step search algorithm for fast block estimation // IEEE Trans. Circuit and Syst. Videotech. 1996. Vol. CSV-6, № 3. P. 313-317.
12. Xu J. B., Po L. M., Cheung C. K. Adaptive motion tracking block matching algorithms for video coding // IEEE Trans. Circuit and Syst. Videotech. 2000. Vol. CSV-10, № 3. P. 417-422.
13. Соболь И. М., Статников Р. Б. Выбор оптимальных параметров в задачах со многими критериями. М.: Наука, 1981. 110 с.
14. Shi Y. Q., Xia X. A. Thresholding multiresolution block matching algorithm // IEEE Trans. Circuit and Syst. Videotech. 1997. Vol. CSV-7, № 2. P. 437-440.
15. Astola J., Haavisto P., Neuvo Y. Vector Median Filters // IEEE Trans. on circuit and system. 1990. Vol. CS-78, № 4. P. 237-260.
N. A. Obukhova
Saint-Petersburg state university for aerospace instrumentation
Optical flow vectors in tasks of moving objects segmentation and tracking
Features of optical flow vectors definition and processing in conditions of the rigid requirements to their reliability are considered. Results of optical flow vectors definition algorithms research by reliability criterion are given. Preprocessing of the images allowing to reduce number of abnormal optical flow vectors is described. Algorithms removing restrictions on object speed of movement are offered. Discrete rating of optical flow vectors is replaced continuous, that allows to segment objects with speed less than one pixel. Ways of movement vectors field post processing to reduce probability of object oversegmentation are discussed.
Optical flow vectors, vector of movement, objects of interest segmentation, hierarchical approach, multiscale MAD, vector median filter
Статья поступила в редакцию 7 ноября 2005 г.