Алгоритм стабилизации видеопоследовательности, основанный на построении нечеткой модели движения
Автор: Буряченко Владимир Викторович
Журнал: Сибирский аэрокосмический журнал @vestnik-sibsau
Рубрика: Математика, механика, информатика
Статья в выпуске: 4 (50), 2013 года.
Бесплатный доступ
Рассмотрены этапы алгоритма стабилизации видеопоследовательности. Предложен алгоритм построения нечеткой модели для оценки достоверности локальных векторов движения. Представлен алгоритм низкочастотной фильтрации с адаптивной подстройкой фактора стабилизации для расчета сглаживающего вектора. Выполнена оценка качества работы алгоритма стабилизации в сравнении с другими известными системами.
Стабилизация видео, оценка движения, метод соответствия блоков, нечеткая модель, коррекция движения
Короткий адрес: https://sciup.org/148177156
IDR: 148177156
Текст научной статьи Алгоритм стабилизации видеопоследовательности, основанный на построении нечеткой модели движения
В последнее десятилетие методы стабилизации видеопоследовательностей широко используются для того, чтобы устранять нежелательные вибрации, которые часто встречаются в непрофессиональных домашних видео, сделанных ручными видеокамерами. Такие видеопоследовательности часто содержат эффекты тряски и страдают от нежелательного дрожания. Поэтому стабилизация видеопоследовательностей часто используется, чтобы улучшить качество, что позволяет получить стабильные фрагменты видео, снятого даже в неоптимальных условиях. Лучшие методы стабилизации используют механические инструменты, которые физически устраняют тряску камеры, или используют оптические или электронные устройства для влияния на сенсор камеры при получении кадра [1]. С другой стороны, для применения методов цифровой стабилизации видео не нужно никаких дополнительных знаний о физическом движении камеры, поэтому такие подходы не являются дорогостоящими, так как они могут быть легко внедрены как в режиме реального времени, так и для постобработки уже имеющихся данных.
Большое число работ посвящено исследованию особенностей методов, основанных на методах соответствия блоков [2–5]: они используют различные фильтры для уточнения оценки движения и расчета локальных векторов движения. Эти алгоритмы обычно позволяют получить хорошие результаты, но могут давать ошибочные результаты для видеопоследова- тельностей, содержащих большие движущиеся объекты. Это происходит потому, что они не привязывают дескриптор к блоку и не ведут отслеживание движения объектов на последовательности кадров [6].
Качество оценки движения в методах, основанных на поиске локальных векторов, можно повысить несколькими способами. Предлагается использовать для расчета параметров преобразования кадра только достоверные вектора, которые описывают именно движение камеры, но не объектов в кадре [7; 8]. Для расчета глобального вектора движения применяется двумерная линейная модель, учитывающая аффинные преобразования. При оценке нежелательного движения применяется низкочастотный фильтр, позволяющий отделить дрожание камеры от преднамеренного движения, например панорамирования. Для подбора сглаживающего параметра предложен алгоритм, учитывающий интенсивность движения на видеопоследовательности. Общая схема предлагаемого алгоритма стабилизации представлена на рис. 1.
Блочная оценка движения. Схема блочной оценки движения содержит следующую последовательность действий. Изображение делится на неперекрывающиеся блоки пикселей, значение интенсивности которых определяется как In ( x , y ), где x , y – координаты пикселя, n – номер кадра. Для каждого блока в небольшой окрестности – Sx < dx < + Sx и – Sy < dy < + Sy ищутся наиболее похожие блоки на следующем кадре I n + 1( x + dx , y + dy ).

Сходство блоков определяется минимизацией функции ошибки e , в соответствии с используемой метрикой [8]. Обычно применяются три метрики: сумма абсолютных разностей ( SAD ), сумма квадратичных отклонений ( SSD ) и среднее значение квадратов разностей ( MSD ):
NN
SAD ( d x , d y ) = ££ I n ,, + 1 ( x , y ) - I n ( x + d x , y + d x )| , (1) x = 1 y = 1
NN
SSD ( d x , d y ) = ££( I n + 1 ( x , y ) - I n ( x + d x , y + d x ) ) , (2) x = 1 y = 1
MSD (d,, dv) =-----1
xy num num
NN
XZZ( In+1 ( x, y )-In ( x + dx , y + dx )) , x=1 y=1
где B num – количество анализируемых блоков.
Результатом данного этапа являются рассчитанные для каждого блока изображения локальные векторы движения ( LMV ).
Исключение ложных локальных векторов движения. После нахождения локальных векторов движения требуется определить, описывают ли они движение камеры либо некоторых объектов в кадре. Для этого строится нечеткая модель, аналогичная описанной в работе [7], на выходе которой определяется мера достоверности векторов движения. Для каждого локального вектора движения рассчитывается мера ошибки двумя способами: евклидово расстояние (величина вектора) E’ = ( e 1 , e 2 , … , e n ), где 1– n – номер вектора; угол наклона вектора относительно горизонтали C’ = ( c 1 , c 2 ,…, c n ). Производится расчет средней ошибки M E – median error . Для каждого элемента E’ , C’ выполняется расчет ошибки отклонения:
d i = e i/ M E , d i = cjM c , (4)
где M E и M c – медианные значения E’ и C’ соответственно.
Для улучшения оценки движения применяются сигмоидальные функции принадлежности, что позволяет более точно отделить движение объектов в кадре
от смещения камеры. При непрофессиональной съемке на видеопоследовательностях часто возникают
шумы различного вида, которые ухудшают возможность оценки движения и последующей стабилизации. Поэтому предложено использовать различные
параметры для незашумленных и зашумленных видеопоследовательностей.
Ошибка отклонения di подается на вход функции принадлежности, её значение отображается на различных классах точности: высокий, средний, низкий. Более низкие значения погрешности отображаются на
лучшем классе, высокие значения погрешности – на худшем [8]. Строятся сигмоидальные функции при-
надлежности, представлено значений лучшего класса:
' 1,
выражение для расчета
x < a ,
1 - 2
— a ।
f ( x ; a , b ) =
( b - a
2 ( x — Ь ) 2 V b - a J
0,
,
a + b
2,
a + b 7 -----< x < b, x > b.
Рекомендуется использовать значения 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. Сигмоидальные нечеткие функции принадлежности для незашумленных и зашумленных видеопоследовательностей


Рис. 3. Нечеткие модели поверхностей, отображающих две входные функции и одну выходную для незашумленных и зашумленных видеопоследовательностей
Результат нечеткой модели – это мера правдоподобия вектора движения, которая находится в диапазоне [0; 1]. Настраивая параметры функции принадлежности, можно регулировать, каким образом значения ошибки E влияют на выходное значение правдоподобия вектора. Когда вычислены меры правдоподобия векторов, выбираются только лучшие 60 % значений, которые передаются на вход метода для расчета параметров стабилизации движения.
Расчет вектора глобального движения кадра. Глобальное движение между соседними кадрами можно оценить при помощи двумерной линейной модели, которая представляет собой хороший компромисс между точностью и вычислительной сложностью. Эта модель описывает межкадровое движение с помощью четырех различных параметров, а именно: два направления движения, угол поворота и коэффициент увеличения, которые связывают координаты точки (Xi,Yi) в кадре с точкой (Xf ,Yf ) в следующем кадре преобразованием
X f = x i X cos 0 - y j X sin 0 + Tx , yj = x i X sin 0 + y j X cos 0 + T y ,
где X - параметр увеличения; 0 - угол поворота; Tx , Ty – модули вектора движения по направлениям x , y соответственно.
Поскольку векторы движения, полученные с фона изображения, должны быть очень похожи по величине и направлению, используется механизм кластеризации для классификации поля движения на два кластера, соответствующих фону и переднему плану изображения [4]. Глобальное движение, вызванное движением камеры, оценивается в процессе кластеризации, состоящем из двух этапов:
-
1. Построение гистограммы H , содержащей достоверные локальные векторы движения ( Valid LMV ). Значение H (x,y) увеличивается на единицу каждый раз, когда встречается локальный вектор с соответствующими координатами LMV ( x, y ).
-
2. Выбор значения глобального вектора движения. За исключением случая, когда в сцене преобладает крупный движущийся объект, блок кластера, соответствующий фону изображения, имеет максимальное количество голосов. Максимальное значение этого кластера выбирается в качестве глобального вектора движения ( GMV ).
Оценка нежелательного движения. Рассчитанный вектор глобального движения кадра может состоять из двух основных компонент: намеренное движение (например, панорамирование камеры) и непреднамеренное движение. Качественный алгоритм коррекции должен удалять только нежелательное движение, при этом не затрагивая преднамеренное движение камеры.
Предполагая, что нежелательное движение соответствует высокочастотной компоненте, предлагаемый алгоритм использует фильтр низких частот, чтобы удалить нежелательные компоненты движения. Сглаживающий вектор движения ( SMV ) получен путем фильтрации, которая сохраняет преднамеренное движение камеры.
Предлагаемый метод вычисляет SMV в виде регрессии первого порядка по формуле
SMV (k ) = а X SMV (k - 1) + ( 1 - a ) x GMV( k ) , (7) где k - номер кадра; 0 < a < 1 - варьируемый параметр.
Фильтр первого порядка может быть использован в системах реального времени, его применение требует мало памяти. При этом сглаживание движения будет удовлетворять визуально при выборе подходящего значения α. Параметр α можно рассматривать как фактор сглаживания: больший коэффициент сглаживания приводит к плавному движению, но большей задержке при преднамеренном движении камеры. Предложена адаптивная подстройка параметра α, основанная на величине глобального смещения камеры на предыдущих тридцати кадрах, рассчитанной по формуле
k
G Diff k ) = E GLV + GLy4, (8)
i = k - 30
где k – номер кадра; GLV k – вектор глобального движения кадра k .
Значение коэффициента α выбирается по формуле
GDiff k a,
“(k) = ‘
GLV max a max ,
—, если GDiff k < GLV max
a min
если GDiff k > GLV max ,
где GLV max – максимальное значение, принимаемое глобальным вектором движения кадра; a max, a min -максимальное и минимальное значения параметра a max = 0,98, a min = 0,5 , выбранные опытным путем.
На рис. 4 представлен график, показывающий уровень исходного движения анализируемой видеопоследовательности и рассчитанный при адаптивной подстройке параметра α сглаживающий вектор ( SMV k ).
Коррекция движения. После расчета фактора сглаживания α, сглаживающий вектор SMV k вычисля-
ется по формуле (7). Вычисление значения вектора нежелательного движения ( UMVk ) производится по формуле
UMV k = GMV k - SMV k . (10)
Для восстановления текущего кадра к его стабилизированному положению требуется изменить его позицию на вектор накопленного нежелательного движения ( AMV k ), рассчитываемой по формуле (11), поскольку стабилизированное положение кадра определяется на основании предыдущих кадров, которые учитываются с последней смены сцены:
k
AMVk =£ UMVi, (11) i=m где m – номер первого кадра с момента последнего изменения сцены.
Экспериментальные результаты. Тестирование разработанного алгоритма проводилось на 15 стандартных видеопоследовательностях [10], приведены результаты оценки качества стабилизации для видеопоследовательностей, полученных с различными условиями съемки (рис. 5):
-
– движение камеры со значительными проективными преобразованиями в сцене, а также наличием неконтрастного фона (рис. 5, a );
-
– движение камеры вперед с резким вертикальным и горизонтальным смещением (рис. 5, б );
-
– резкое движение камеры по различным направлениям с поворотом, увеличением; наличие крупного объекта интереса в центре кадра (рис. 5, в ).


a

б
в
Объективная оценка качества стабилизации видеопоследовательности выполняется с использованием метрики: пиковое отношение сигнала к шуму ( PSNR ) как меры ошибки. PSNR между кадрами k и k – 1 определяется по формулам
MN
MSE = MN ££ [ I k ( x , y ) - I k - 1 ( x , y ) ] 2, (12)
( I2,™ )
PSNR ( k ) = io log i O ^ M^ J , (13, где MSE ( k ) – это среднеквадратичная межкадровая ошибка; I max – максимальное значение интенсивности пикселя; M , N – размеры кадра.
Значение PSNR показывает, насколько одно изображение похоже на другое, что полезно для оценки качества стабилизации простым сравнением соседних кадров [8]. Качество межкадрового преобразования Inteframe Transformation Fidelity – (ITF) используется для объективной оценки эффективности алгоритма стабилизации: стабилизированная видеопоследовательность должна иметь более высокое значение ITF, чем оригинальная:
NFrame
ITF = ---- £ pSNR ( k ), (14)
N Frame k = 0
где N Frame – количество кадров видеопоследовательности.
В таблице приведены результаты оценки качества стабилизации ITF , рассчитанной с применением метрики PSNR , для представленных на рис. 5 видеопоследовательностей.
Оценка качества стабилизации видеопоследовательностей
Название |
Оригинальное значение ITF , дБ |
Стабилизированное значение ITF без применения модели ТСК, дБ |
Стабилизированное значение ITF c применением нечеткой модели ТСК, дБ |
SANY0025_xvid.avi |
20,53892 |
21,09076 |
23,79189 |
lf_juggle.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 |
Gleicher1.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 |
yuna_long_original.avi |
17,84131 |
18,94389 |
21,46971 |
Для видеопоследовательностей статических сцен оценка движения с применением нечеткой модели ТСК более точно отражает глобальное движение кадра, поскольку не учитывается движение объектов переднего плана. Для видеопоследовательностей, содержащих большое количество мелких объектов ( butovo_synthetic.avi; lf_juggle.avi ) алгоритм оценки движения с применением модели ТСК показывает наилучшие результаты: увеличение значения ITF в среднем на 3 дБ. При стабилизации динамических сцен алгоритм оценки движения позволяет избежать влияние крупных движущихся объектов переднего плана, присутствующих на видеопоследовательностях EllenPage_Juggling.avi , Sam_1.avi , gleicher3.avi.
В зависимости от типов движения, присутствующих на видеопоследовательности, достигаются различные результаты стабилизации. Для new_gleicher.avi, где присутствует увеличение изображения, связанное с перемещением изображения по направлению движения камеры, алгоритм расчета достоверных векторов движения практически не даёт прироста значение ITF. Наоборот, для видеопоследовательности gleicher4.avi, в которой алгоритм нахождения локальных векторов движе- ния дает сбои в связи с неконтрастным фоном, занимающим большую часть изображения, алгоритм исключения ложных векторов обеспечивает улучшение стабилизации видеопоследовательности. Таким образом, достигается цель повышения качества стабилизации сложных статических и динамических сцен, поскольку для расчета вектора коррекции используются только достоверные векторы движения.