A VIDEO STABILIZATION ALGORITHM BASED ON THE CONSTRUCTION OF A FUZZY MOTION MODEL


Cite item

Full Text

Abstract

In the paper the technique for the motion estimation is presented. An algorithm for the construction of a fuzzy model to evaluate the reliability of the local motion vectors is proposed. An algorithm for the low-pass filtering with an adaptive tuning stabilizing factor for the calculation of the smoothing vector is described. Experimental results have indicated a good performance of the proposed digital video stabilization algorithm in comparison with other systems.

Full Text

В последнее десятилетие методы стабилизации видеопоследовательностей широко используются для того, чтобы устранять нежелательные вибрации, которые часто встречаются в непрофессиональных домашних видео, сделанных ручными видеокамерами. Такие видеопоследовательности часто содержат эффекты тряски и страдают от нежелательного дрожания. Поэтому стабилизация видеопоследовательностей часто используется, чтобы улучшить качество, что позволяет получить стабильные фрагменты видео, снятого даже в неоптимальных условиях. Лучшие методы стабилизации используют механические инструменты, которые физически устраняют тряску камеры, или используют оптические или электронные устройства для влияния на сенсор камеры при получении кадра [1]. С другой стороны, для применения методов цифровой стабилизации видео не нужно никаких дополнительных знаний о физическом движении камеры, поэтому такие подходы не являются дорогостоящими, так как они могут быть легко внедрены как в режиме реального времени, так и для постобработки уже имеющихся данных. Большое число работ посвящено исследованию особенностей методов, основанных на методах соответствия блоков [2-5]: они используют различные фильтры для уточнения оценки движения и расчета локальных векторов движения. Эти алгоритмы обычно позволяют получить хорошие результаты, но могут давать ошибочные результаты для видеопоследова тельностей, содержащих большие движущиеся объекты. Это происходит потому, что они не привязывают дескриптор к блоку и не ведут отслеживание движения объектов на последовательности кадров [6]. Качество оценки движения в методах, основанных на поиске локальных векторов, можно повысить несколькими способами. Предлагается использовать для расчета параметров преобразования кадра только достоверные вектора, которые описывают именно движение камеры, но не объектов в кадре [7; 8]. Для расчета глобального вектора движения применяется двумерная линейная модель, учитывающая аффинные преобразования. При оценке нежелательного движения применяется низкочастотный фильтр, позволяющий отделить дрожание камеры от преднамеренного движения, например панорамирования. Для подбора сглаживающего параметра предложен алгоритм, учитывающий интенсивность движения на видеопоследовательности. Общая схема предлагаемого алгоритма стабилизации представлена на рис. 1. Блочная оценка движения. Схема блочной оценки движения содержит следующую последовательность действий. Изображение делится на неперекрывающиеся блоки пикселей, значение интенсивности которых определяется как In(x, y), где x, y - координаты пикселя, n -номер кадра. Для каждого блока в небольшой окрестности -Sx < dx < +Sx и -Sy < dy < +Sy ищутся наиболее похожие блоки на следующем кадре In + 1(x + dx, y + dy). 4 Математика, механика, информатика Поблочная оценка движения Оценка глобального движения кадра Локальные вектора движения Проверка локальных векторов движения Вектора нежелательного движения, вектор коррекции (UMV5CMV) Рис. 1. Схема алгоритма стабилизации видеопоследовательности Сходство блоков определяется минимизацией функции ошибки e, в соответствии с используемой метрикой [8]. Обычно применяются три метрики: сумма абсолютных разностей (SAD), сумма квадратичных отклонений (SSD) и среднее значение квадратов разностей (MSD): N N SAD ( > dy )=ΣΣΙ I«+1 y )-i^ (x+dx * y+dx )l’(1) x=1 y=1 NN 2 SSD(,dy ) = ΣΣ((x,y)-In (xd dx,y + dx)) , (2) x=1 y=1 MSD (, dy ) = - 1 B x B 1^num nnum N N от смещения камеры. При непрофессиональной съемке на видеопоследовательностях часто возникают шумы различного вида, которые ухудшают возможность оценки движения и последующей стабилизации. Поэтому предложено использовать различные параметры для незашумленных и зашумленных видеопоследовательностей. Ошибка отклонения d подается на вход функции принадлежности, её значение отображается на различных классах точности: высокий, средний, низкий. Более низкие значения погрешности отображаются на лучшем классе, высокие значения погрешности - на худшем [8]. Строятся сигмоидальные функции принадлежности, представлено выражение для расчета значений лучшего класса: χΣΣΧ+1 d y )-In d+dx » y+dx ) > (3) x=1 y=1 где Bnum - количество анализируемых блоков. Результатом данного этапа являются рассчитанные для каждого блока изображения локальные векторы движения (LMV). Исключение ложных локальных векторов движения. После нахождения локальных векторов движения требуется определить, описывают ли они движение камеры либо некоторых объектов в кадре. Для этого строится нечеткая модель, аналогичная описанной в работе [7], на выходе которой определяется мера достоверности векторов движения. Для каждого локального вектора движения рассчитывается мера ошибки двумя способами: евклидово расстояние (величина вектора) E’ = (e1, e2, ..., en), где 1-n - номер вектора; угол наклона вектора относительно горизонтали C’ = (c1, c2,..., cn). Производится расчет средней ошибки Me - median error. Для каждого элемента E’, C’ выполняется расчет ошибки отклонения: de = ejME, dc = Ci IMc , (4) где Me и Mc - медианные значения E’ и C’ соответственно. Для улучшения оценки движения применяются сигмоидальные функции принадлежности, что позволяет более точно отделить движение объектов в кадре f (x; a, b ) = 1, 1 - 2 x-a b - a 2 a < x < x < a, a d b b - a a d b 0, < x < b, x > b. (5) Рекомендуется использовать значения a = 0,5 и b = 1,5 для описания класса «высокий» незашумленных видеопоследовательностей и a = 0,75 и b = 1,75 для зашумленных видеопоследовательностей (рис. 2). Применяется модель нечеткого вывода Такаги-Сугено-Канга [9], чтобы определить качество вектора. Модель нечеткого вывода TSK достаточно простая, так как она является компактным и вычислительно эффективным представлением, которое может быть реализовано с использованием адаптивных методов для построения нечетких моделей. Представлены четыре различных нечетких набора: отличный, хороший, средний, плохой (рис. 3). Каждому из четырех классов соответствует константа: (1, 0.75, 0.5, 0) для незашумленных и (1, 0.85, 0.65, 0) - для зашумленных видеопоследовательностей. Выходное значение определяется на основе обоих входных данных в соответствии с минимальным значением. 2 5 Вестник СибГАУ. № 4(50). 2013 Рис. 2. Сигмоидальные нечеткие функции принадлежности для незашумленных и зашумленных видеопоследовательностей Рис. 3. Нечеткие модели поверхностей, отображающих две входные функции и одну выходную для незашумленных и зашумленных видеопоследовательностей Результат нечеткой модели - это мера правдоподобия вектора движения, которая находится в диапазоне [0; 1]. Настраивая параметры функции принадлежности, можно регулировать, каким образом значения ошибки E влияют на выходное значение правдоподобия вектора. Когда вычислены меры правдоподобия векторов, выбираются только лучшие 60 % значений, которые передаются на вход метода для расчета параметров стабилизации движения. Расчет вектора глобального движения кадра. Глобальное движение между соседними кадрами можно оценить при помощи двумерной линейной модели, которая представляет собой хороший компромисс между точностью и вычислительной сложностью. Эта модель описывает межкадровое движение с помощью четырех различных параметров, а именно: два направления движения, угол поворота и коэффициент увеличения, которые связывают координаты точки (Xi,Yi ) в кадре с точкой (Xf ,Yf ) в следующем кадре преобразованием f xf = xi λ cos θ-y, λ sin θ + Tx, \ x (6) ly· = xi λ sin θ + yj λ cos θ+ Ty, где λ - параметр увеличения; θ - угол поворота; Tx, Ty - модули вектора движения по направлениям x, y соответственно. Поскольку векторы движения, полученные с фона изображения, должны быть очень похожи по величине и направлению, используется механизм кластеризации для классификации поля движения на два кластера, соответствующих фону и переднему плану изображения [4]. Глобальное движение, вызванное движением камеры, оценивается в процессе кластеризации, состоящем из двух этапов: 1. Построение гистограммы H, содержащей достоверные локальные векторы движения (Valid LMV). Значение H(x,y) увеличивается на единицу каждый раз, когда встречается локальный вектор с соответствующими координатами LMV(x, y). 2. Выбор значения глобального вектора движения. За исключением случая, когда в сцене преобладает крупный движущийся объект, блок кластера, соответствующий фону изображения, имеет максимальное количество голосов. Максимальное значение этого кластера выбирается в качестве глобального вектора движения (GMV). Оценка нежелательного движения. Рассчитанный вектор глобального движения кадра может состоять из двух основных компонент: намеренное движение (например, панорамирование камеры) и непреднамеренное движение. Качественный алгоритм коррекции должен удалять только нежелательное движение, при этом не затрагивая преднамеренное движение камеры. Предполагая, что нежелательное движение соответствует высокочастотной компоненте, предлагаемый алгоритм использует фильтр низких частот, чтобы удалить нежелательные компоненты движения. Сглаживающий вектор движения (SMV) получен путем фильтрации, которая сохраняет преднамеренное движение камеры. Предлагаемый метод вычисляет SMV в виде регрессии первого порядка по формуле SMVkk ) = α x SMVkk-1) + (1 - α ) x GMVik ), (7) где k - номер кадра; 0 < α < 1 - варьируемый параметр. Фильтр первого порядка может быть использован в системах реального времени, его применение требует мало памяти. При этом сглаживание движения 6 Математика, механика, информатика будет удовлетворять визуально при выборе подходящего значения α. Параметр α можно рассматривать как фактор сглаживания: больший коэффициент сглаживания приводит к плавному движению, но большей задержке при преднамеренном движении камеры. Предложена адаптивная подстройка параметра α, основанная на величине глобального смещения камеры на предыдущих тридцати кадрах, рассчитанной по формуле GDiffik) = Σ Glv1 + GLV1- (8) =k-30 где k - номер кадра; GLVk - вектор глобального движения кадра k. Значение коэффициента α выбирается по формуле GDiffk x—, если GDiffk <GLVmax, GDiffk > GLVmax, 4k ) GLVm α„ α„ если ется по формуле (7). Вычисление значения вектора нежелательного движения (UMVk) производится по формуле UMVk = GMVk - SMVk . (10) Для восстановления текущего кадра к его стабилизированному положению требуется изменить его позицию на вектор накопленного нежелательного движения (AMVk), рассчитываемой по формуле (11), поскольку стабилизированное положение кадра определяется на основании предыдущих кадров, которые учитываются с последней смены сцены: AMVk = Σ UMV1 (11) где GLVmax - максимальное значение, принимаемое глобальным вектором движения кадра; amax, amin -максимальное и минимальное значения параметра a max = 0,98, a min = 0,5, выбранные опытным путем. На рис. 4 представлен график, показывающий уровень исходного движения анализируемой видеопоследовательности и рассчитанный при адаптивной подстройке параметра α сглаживающий вектор (SMVk). Коррекция движения. После расчета фактора сглаживания α, сглаживающий вектор SMVk вычислягде m - номер первого кадра с момента последнего изменения сцены. Экспериментальные результаты. Тестирование разработанного алгоритма проводилось на 15 стандартных видеопоследовательностях [10], приведены результаты оценки качества стабилизации для видеопоследовательностей, полученных с различными условиями съемки (рис. 5): - движение камеры со значительными проективными преобразованиями в сцене, а также наличием неконтрастного фона (рис. 5, a); - движение камеры вперед с резким вертикальным и горизонтальным смещением (рис. 5, б); - резкое движение камеры по различным направлениям с поворотом, увеличением; наличие крупного объекта интереса в центре кадра (рис. 5, в). нГ'З ГГ -Tf -"ReiCTfyp птобллтт.ттого дштягеттпя тто осп Y -Стлжттлтотттгт пекто-р Номер кпдра Рис. 4. График расчета сглаживающего вектора для видеопоследовательности gleicher.avi a б в Рис. 5. Различные виды движения на видеопоследовательностях: a - gleicher4.avi; б - new gleicher.avi; в - sam_1.avi 7 Вестник СибГАУ. № 4(50). 2013 Объективная оценка качества стабилизации видеопоследовательности выполняется с использованием метрики: пиковое отношение сигнала к шуму (PSNR) как меры ошибки. PSNR между кадрами k и k- 1 определяется по формулам 1 MN 2 MSE = — ΣΣΙ (x,y) -Ik-1 (x, y)]2 , (12) Mn y=1 x=1 PSNR( k ) = 10 log ( 12„ 10 MSE(k ) (13) где MSE(k) - это среднеквадратичная межкадровая ошибка; Imax - максимальное значение интенсивности пикселя; M, N - размеры кадра. Значение PSNR показывает, насколько одно изображение похоже на другое, что полезно для оценки качества стабилизации простым сравнением соседних кадров [8]. Качество межкадрового преобразования Inteframe Transformation Fidelity - (ITF) используется для объективной оценки эффективности алгоритма стабилизации: стабилизированная видеопоследовательность должна иметь более высокое значение ITF, чем оригинальная: 1 NFrame ITF =- Σ PSNR(k), (14) NFrame k =0 где NFrame - количество кадров видеопоследовательности. В таблице приведены результаты оценки качества стабилизации ITF, рассчитанной с применением метрики PSNR, для представленных на рис. 5 видеопоследовательностей. Оценка качества стабилизации видеопоследовательностей Название Оригинальное значение ITF, дБ Стабилизированное значение ITF без применения модели ТСК, дБ Стабилизированное значение ITF c применением нечеткой модели ТСК, дБ SANY0025 xvid.avi 20,53892 21,09076 23,79189 lfjuggle.avi 24,30286 24,37177 28,06012 akiyo.avi 35,92952 39,14661 39,53257 Butovo synthetic.avi 22,26415 27,19789 27,20789 EllenPage Juggling.avi 24,65855 25,23049 28,58255 road cars krasnoyarsk.avi 22,70482 22,80707 25,91258 Cars.avi 14,67391 15,88153 19,49475 Gleicher4.avi 19,29703 19,50634 23,18371 Sam 1.avi 19,09737 19,28141 22,20112 cat orig.avi 25,07131 26,47094 28,14086 Gleicher 1 .avi 18,86996 19,48223 22,78846 Gleicher2.avi 19,91954 20,36718 24,56673 gleicher3.avi 16,55214 16,71899 20,12285 new gleicher.avi 17,28921 17,81638 21,70575 y una_long_original. avi 17,84131 18,94389 21,46971 Для видеопоследовательностей статических сцен оценка движения с применением нечеткой модели ТСК более точно отражает глобальное движение кадра, поскольку не учитывается движение объектов переднего плана. Для видеопоследовательностей, содержащих большое количество мелких объектов (butovo_synthetic.avi; lfjuggle.avi) алгоритм оценки движения с применением модели ТСК показывает наилучшие результаты: увеличение значения ITF в среднем на 3 дБ. При стабилизации динамических сцен алгоритм оценки движения позволяет избежать влияние крупных движущихся объектов переднего плана, присутствующих на видеопоследовательностях EllenPage_Juggling.avi, Sam_1.avi, gleicher3.avi. В зависимости от типов движения, присутствующих на видеопоследовательности, достигаются различные результаты стабилизации. Для new_gleicher.avi, где присутствует увеличение изображения, связанное с перемещением изображения по направлению движения камеры, алгоритм расчета достоверных векторов движения практически не даёт прироста значение ITF. Наоборот, для видеопоследовательности gleicher4.avi, в которой алгоритм нахождения локальных векторов движе ния дает сбои в связи с неконтрастным фоном, занимающим большую часть изображения, алгоритм исключения ложных векторов обеспечивает улучшение стабилизации видеопоследовательности. Таким образом, достигается цель повышения качества стабилизации сложных статических и динамических сцен, поскольку для расчета вектора коррекции используются только достоверные векторы движения.
×

About the authors

Vladimir Viktorovich Buryachenko

Siberian State Aerospace University named after academician M. F. Reshetnev

Email: gamernewb@yandex.ru
teaching assistant of the department of computer sciences 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660014, Russian Federation

References

  1. Jang S., Pomplun M., Kim G., Choi H. Adaptive robust estimation of affine parameters from block motion vectors, Image and Vision Computing, 2005. Р. 12501263.
  2. Ko-Cheung H., Wan-Chi S. Extended analysis of motion-compensated frame difference for block-based motion prediction error // Image Processing and Transactions on. 2007. Vol. 16.
  3. Acharjee S., Chaudhuri S. S. Fuzzy Logic Based Three Step Search Algorithm for Motion Vector Estimation // Int. J. Image, Graphics and Signal Processing. 2012. № 2. Р. 37-43.
  4. Леоненков А. В. Нечеткое моделирование в среде MATLAB и fuzzyTECH. СПб. : БХВ Петербург 2005. 736 с.
  5. Фаворская М. Н., Пахирка А. И., Шилов А. С., Дамов М. В. Методы поиска движения в видеопоследовательностях // Вестник СибГАУ. 2009. Вып. 1 (22). Ч. 2. С. 69-73.
  6. Favorskaya M. N., Buryachenko V. V. Video Stabilization of Static Scenes Based on Robust Detectors and Fuzzy Logic // Frontiers in Artificial Intelligence and Applications. Vol. 254: Intelligent Interactive Multimedia Systems and Services. 2013. Р. 11-20.
  7. Tanakian M., Rezaei M., Mohanna F. Digital Video Stabilization System by Adaptive Fuzzy Filtering // 19th European Signal Processing Conf. 2011. Р. 166-168.
  8. Буряченко В. В. Стабилизация видео для статичной сцены на базе модифицированного метода соответствия блоков // Вестник СибГАУ. 2012. Вып. 3 (43). С. 10-15.
  9. Sugeno M. Industrial Applications of Fuzzy Control Elsevier // Science Inc., 1985. Р. 645-661.
  10. Grundmann M., Kwatra V., Essa I. AutoDirected Video Stabilization with Robust L1 Optimal Camera Paths /IEEE Conf. on Computer Vision and Pattern Recognition. 2011.

Supplementary files

Supplementary Files
Action
1. JATS XML

Copyright (c) 2013 Buryachenko V.V.

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.

This website uses cookies

You consent to our cookies if you continue to use our website.

About Cookies