Методы подавления дрожания кадра в видео

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

Хранение видео на кинопленках сопряжено с массой проблем: при воспроизведении пленка царапается, а иногда и рвется; при длительном хранении кинопленка требует постоянного ухода; к тому же, работа с пленкой очень сложна. С появление цифрового видео, все эти и многие другие проблемы были решены. Цифровые носители более надежны и долговечны чем кинопленка, и не требуют особого ухода. Воспроизведение видео не влечет за собой ухудшение его качества, работа с ним (копирование, объединение или разбиение на фрагменты) очень проста и не требует специальной подготовки и сложного оборудования, любой человек, имеющий компьютер, может заниматься этим у себя дома.

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

Часто алгоритмы обработки видео применяются в рамках других задач (например, при сжатии) с целью улучшения результатов. Поэтому эта область очень важна и нуждается в активном исследовании.

Постановка задачи

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

Дрожание кадра, обычно, появляется при съемках без использования штатива или специальных платформ, которые применяются при киносъемках. Это, как правило, материал журналистов или домашнее видео. На рисунке (1) приведена последовательность кадров из ролика с дрожанием.

Введем обозначения:

1)            - кадры видео, где значение в точке определяет ее цвет;

2)            - сдвиг вдоль Ox, вдоль Oy, увеличение и поворот i-го кадра относительно (i-1)-го;

3)            - сдвиг кадра связанный с дрожанием;

4)            - преднамеренный сдвиг кадра (без дрожания);

Значение определяется по формуле (1)

                                                                                                                                                                          (1)

В данных обозначениях задача формулируется так: необходимо найти для всех и привести сдвиги между кадрами в соответствие с .

 

Рисунок 1.     Последовательность кадров из видео с дрожанием кадра

Для завершения картины определим математически понятие сдвига между двумя кадрами:

1)            Пусть - два кадра;

 2)            - оператор, осуществляющий сдвиг, поворот и увеличение;

3)            Тогда определяется по формуле (2)

   (2)         

Обзор существующих алгоритмов подавления дрожания кадра

Можно выделить четыре разных подхода к подавлению дрожания кадра:

1)            с использованием векторов движения (Motion Vectors)

2)            с использованием особых точек (Feature)

3)            подход на основе Image-Based Rendering

4)            с построением аффинной модели

Далее будут рассмотрены несколько алгоритмов, использующих эти подходы.

Алгоритмы подавления дрожания кадра, использующие вектора движения

Аппарат Motion Estimation используется практически во всех областях обработки видео. Задача - определить направление и скорость движения небольших частей кадра. Для этого кадр разбивается прямоугольной сеткой на блоки (обычно размера 16x16), и для каждого блока в предыдущем кадре ищется наиболее похожий блок. Т.е. ищутся такие , что минимальна ошибка

Таким образом, каждому блоку ставится в соответствие пара , которая называется вектор движения. На рисунке (2) приведен пример векторов движения.

Рисунок 2.      Вектора движения

Рассмотрим подходы с применением Motion Estimation при подавлении дрожания видео.

Простейший подход [1]

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

                                                                                                                                              (3)           

Подавление дрожания осуществляется смещением каждого кадра на разницу между сглаженным сдвигом и сдвигом в исходном видео, т.е. .

Этот подход очень прост и дает не очень хороший результат. К тому же, он не определяет поворот.

Восстановление движения камеры [2]

В данном алгоритме производится определение параметров движения камеры в пространстве по известным векторам движения. Каждой точке на картинной плоскости соответствует определенная точка сцены и они связаны соотношением

                                                                                                                                           (4)           

где - фокусное расстояние.

Движение камеры определяется сдвигами вдоль соответствующих координатных осей и поворотами вокруг соответствующих координатных осей. А связь между движением кадра и движением камеры задает равенство

                                                                                              (5)           ,

  • и - координаты точки в текущем и предыдущем кадре;
  • Z - дальность до точки, представленной в предыдущем кадре

координатами ;

Далее исходим из предположения, что на любой картинке есть область, которой в сцене соответствует плоскость. Эта область - задний план.

                                                                                                                                                    (6)           

                                                                                                                                                       (7)           

Переписываем формулу (18) используя формулу (20) получаем

                                                                                                                   (8)           

Качественно оценить все параметры нельзя, поэтому оцениваются только a, b, c, e, f, с помощью которых могут быть определены только

Полученная траектория камеры сглаживается, и производится сдвиг кадров соответственно новой траектории камеры.

Алгоритмы подавления дрожания кадра, использующие особые точки [3,4]

Существуют разные методы Feature Tracking (например, KLT, IPAN), но каждый, как правило, из двух шагов:

1)      Выбор особых точек (Feature Selection)

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

2)      Определение смещения особой точки между соседними кадрами (Tracking)

Для каждой особой точки из i-го кадра определяется ее положение в (i+1)-м кадре. Далее приведен способ сопоставления особых точек.

Kanade-Lucas-Tomasi (KLT) [8]

Для примера приведем метод выделения особых точек Kanade-Lucas-Tomasi (KLT). Для каждой точки вводится величина

                                                                                                              (9)           

которая отражает степень изменения картинки в окрестности точки вдоль Ox и вдоль Oy. После чего для каждой точки рассматривается некоторая окрестность и вычисляется матрица

                                                                                (10)           

Для полученной матрицы находятся собственные значения и, если они больше заданного порога, то точка считается особой. На рисунке (3) приведен пример работы KLT (особые точки помечены красным цветом)

Рисунок 3.                 Результат работы KLT

Для определения смещения особой точки, выделяется некоторая ее окрестность, смещение ищется путем нахождения в следующем кадре области наиболее похожей на выделенную (аналогично Motion Estimation).

2D Ridge Motion [1]

В данном методе сдвиг ищется в виде . Используется небольшое число особых точек. Проведя сопровождение особых точек, получаем для каждой особой точки траекторию движения - x(t) и y(t). Движение камеры считается линейным, поэтому полученные траектории приближают наиболее близкой прямой. Т.е. определяются a и b такие, что

                                                                                                                                            (11)           

где p - точки траектории.

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

Ограничение на движение (линейность) не является существенным для алгоритма, оно используется только на этапе сглаживания, и можно применять и другие подходы к сглаживанию.

Image-Based Rendering [5]

Данный метод использует аппарат особых точек, но основная идея заключается в использовании Image-Based Rendering. Поэтому он рассматривается отдельно.

Метод работает по следующей схеме:

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

Для определения нового значения яркости в точке выбирается несколько кадров, в которых положение этой же особой точки близко к полученному сглаживанием (см. рисунок 4). После чего яркость в построенных точках вычисляется по формуле

,

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

Рисунок 4.      Определение яркости в точке

По найденным точкам строится треугольная сетка, и производится рендеринг [6]. Пример построения сетки приведен на рисунке (5).

Рисунок 5.      Пример построения сетки

Алгоритм подавления дрожания кадра, строящий аффинную модель движения [7]

При данном подходе оценка изменения положения кадра определяется с помощью аффинной модели

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

После определения матриц A и векторов b для всех кадров проводиться сглаживание каждой их компоненты (например, с помощью фильтра Кальмана).

Рисунок 6.      Пример сглаживания параметра аффинной модели

В результате, каждому и ставятся в соответствие и , которые отражают истинное движение кадра (без дрожания). С использованием и строится стабилизированное видео, в котором отсутствует дрожание кадра.

Литература

1.      Kwong Kin Wah, Eric Video Stabilization Algorithms // ELEC 533 Project Report, Spring 2003

2.      Irani M., Rousso B., Peleg S. Recovery of Ego-Motion Using Image Stabilization // CVPR '94, pp. 454-460, 1994

3.      Tomasi C., Kanade T. Detection and Tracking of Point Features // Carnegie Mellon University Technical Report CMU-CS-91-132, April 1991

4.      Donnell M.M. Video Stabilization // Computer Science Final Year Project, May 2004

5.      Buehler C., Bosse M., McMillan L. Non-Metric Image-Based Rendering for Video Stabilization // Proceedings of CVPR, 2001

6.      Buehler C., Bosse M., McMillan L., Gortler S. and Cohen M., Unstructured Lumigraph Rendering // SIGGRAPH 2001, 2001

7.      Litvin A., Konrad J., Karl W.C. Probabilistic video stabilization using Kalman filtering and mosaicking // Symposium on Electronic Imaging, Image and Video Communications, 2003

8.      http://visual.ipan.sztaki.hu/pivweb/node5.html

Дополнительная информация
Ссылка: 
Константин Стрельников. Методы подавления дрожания кадра в видео. Компьютерная графика и мультимедиа. Выпуск №4(1)/2006. http://cgm.computergraphics.ru/content/view/108
Выпуск: 
Выпуск №4(1)/2006

Комментарии

Хорошая статья,

Хорошая статья, но формулы увы не везде читаемы(((

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.

Подробнее о форматировании

CAPTCHA
Тест предназначен для отсеивания спама
Fill in the blank