ГОУ ВПО «Сибирский государственный аэрокосмический университет им.академика М.Ф.Решетнева» Пространственно-временная коррекция видеопоследовательностей в задачах стереовидения Фаворская М. Н., Пьянков Д. И., Горошкин А. Н. Красноярск 2011 DLab SibSAU Классификация методов преобразования частоты кадров Методы преобразования частоты кадров Без оценки движения С оценкой движения Повторение кадров (Frame Repetition) Слежение за особенными точками (Feature Tracking) Линейная интерполяция (Linear Interpolation) Методы оптического потока (Optical Flow) Нелинейная интерполяция (Non-Linear Interpolation) Методы сопоставления блоков (Block-matching Algorithm) 2 DLab SibSAU Классификация методов совмещения изображений Методы совмещения изображений Методы корреляции Фазовая корреляция (Phase Correlation) Методы на основе преобразований Перекрестная спектральная функция (Cross power spectrum) Степенной кепстр (Power cepstrum) Методы на основе отображения точек Управляющие точки (Control points) Отображение точек с обратной связью (Point Mapping with Feedback) Общий многочлен (Global Polynomial) 3 DLab SibSAU Обзор существующих программных средств Системы преобразования частоты кадров на основе интерполяции Программы Название Плагины Версия Дата выпуска Название Дата выпуска Предназначен для DynaPel MotionPerfect 4.3.1.1 июнь, 2003 FrameDouble июнь, 2003 Avisynth Dynapel SlowMotion 1.0.4.0 июнь, 2003 Motion июнь, 2003 Avisynth Smootz7 1.6 beta июнь, 2003 Twixtor июнь, 2003 Adobe AfterEffects RealViz Retimer лето, 2007 Adobe AfterEffects MSU FRC сентябрь, 2007 Avisynth MVTools ноябрь, 2008 Avisynth MVTools2 ноябрь, 2009 Avisynth Системы ручной коррекции стереопар Название Страна Год выпуска StereoFoto Maker USA 2010 Zerene Stacker USA 2009 Anaglyph Maker Japan 2004 4 DLab SibSAU Обобщенная схема пространственно-временной коррекции Левая видеопоследовательность Правая видеопоследовательность Преобразование в YUVпространство Преобразование в YUVпространство Построение интерполированных кадров Текущий кадр Последовательное совмещение интерполированных кадров с текущим кадром Выбор оптимального интерполированного кадра Построение стереовидеопоследовательности 5 DLab SibSAU Построение интерполированных кадров Lin (t ) , z n t , t {0,1,2,3,...} Lout ( z ) , Lin (t ) , z n t l , l {1,2,3,.., n 1} z {0,1,2,3,...}, n {2,3, 4...} , где n – параметр, определяющий, во сколько раз увеличить число кадров; z – общее число кадров. 6 DLab SibSAU Обобщенная схема построения интерполированных кадров Текущий кадр L(t) Следующий кадр L(t+1) Оценка движения по межкадровой разнице Построение поля векторов движения Интерполяция в найденных областях движения Построение интерполированных кадров 7 DLab SibSAU Оценки движения при построении интерполированных кадров Область поиска движения Вектор движения B(x,y- shift) x x B(x-shift,y- shift) B(x+shift,y- shift) B(x+shift,y- shift) move shift shift B(x-shift,y) B(x+shift,y) B(x,y) y B(x,y) y B(x-shift,y+ shift) B(x+shift,y+ shift) B(x,y+ shift) x Поле векторов движения y 8 DLab SibSAU Схема оценки движения при построении интерполированных кадров Текущий кадр L(t) Следующий кадр L(t+1) Разбиение на блоки B(x,y) заданного размера Выбор текущего блока B(x,y) Вычисление суммы s яркости пикселей для B(x,y) Сравнение суммы s с пороговым значением err s < err, движения нет s > err, движение есть Вычисление соседних блоков со смещением Вычисление суммы s с пороговым значением err Минимизация функции ошибки Построение векторов движения 9 DLab SibSAU Интерполяция кадров n=2 L(t+1) 2 move 1 B(x,y) L(t) 10 DLab SibSAU Схема построения интерполированных кадров Текущий кадр L(t) Следующий кадр L(t+1) Текущий блок B(x,y) с вектором движения move Линейное смещение каждого пикселя C1 к C2 Построение интерполированного кадра C n C1 (C 2 C1 ) t , t [0;1] где Cn - значение цветовой компоненты Y пикселя (x,y) блока B(x,y) на интерполированном кадре n; t – параметр, задающий линейное смещение t пикселей на каждом интерполированном кадре. m , m {1,2,3,..., n} n 1 11 DLab SibSAU Совмещение кадров n L(t) R(t) L(z) h 1 w1 MSE ((Y2 ( x, y ) Y1 ( x, y)) 2 (U 2 ( x, y ) U 1 ( x, y )) 2 (V2 ( x, y ) V1 ( x, y )) 2 ) x 0 y 0 3hw psnr( z ) 20 log10 MAX MSE like max( psnr( z ), psnr( L(t ))), z {2,3,..., n} 12 DLab SibSAU Схема совмещения кадров Левая видеопоследовательность Правая видеопоследовательность Текущий кадр L(t) Текущий кадр R(t) Построение интерполированных кадров Вычисление попиксельной межкадровой разницы по метрике PSNR Построение стереокадра 13 DLab SibSAU Реализация программного продукта Левая видеопоследовательность Правая видеопоследовательность Плагин интерполяции MyPlugin.dll Плагин интерполяции MyCompare.dll Скрипт avs Фреймсервер Avisynth Видеоредактор (VirtualDub, Windows Media player) Откорректированная левая видеопоследовательность Стереовидеопоследовательность 14 DLab SibSAU Реализация метода. Построение векторов движения 15 DLab SibSAU Реализация метода. Преобразование частоты кадров 16 DLab SibSAU Реализация метода. Совмещение кадров 17 DLab SibSAU Результаты экспериментов. PSNR (быстрая видеопоследовательность) 79,400 79,367 psnr 1 psnr 2 79,350 79,297 79,300 psnr, dB 79,250 79,229 79,187 79,200 79,159 79,100 79,050 79,159 79,147 79,150 79,095 79,085 79,095 79,045 79,043 79,028 79,045 79,043 79,028 79,000 Быстрая видеопоследовательность foreman 18 DLab SibSAU Результаты экспериментов. PSNR (медленная видеопоследовательность) 85,700 85,684 85,650 psnr 1 85,634 85,634 85,600 85,564 85,550 85,514 85,514 85,487 85,500 psnr, dB psnr 2 85,487 85,450 85,407 85,407 85,400 85,373 85,373 85,350 85,300 85,284 85,263 85,284 85,263 85,250 85,200 Медленная видеопоследовательность container 19 DLab SibSAU Результаты экспериментов. Время выполнения алгоритма Быстрая видеопоследовательность foreman, 300 кадров Медленная видеопоследовательность container, 300 кадров 14250 7150 10000 Время выполнениея, с 4460 2218 1190 1000 587 365 176 94 100 44 37 33 76 69 60 28 10 20 DLab SibSAU Заключение • Приведена классификация методов преобразования частоты кадров и методов совмещения изображений. Представлен обзор существующих программных средств для построения стереовидеопоследовательности. • Разработаны схемы пространственно-временной коррекции, построения интерполированных кадров, оценки движения, совмещения кадров. • Рассмотрена реализация программного продукта, приведены примеры построения векторов движения, преобразования частоты кадров, совмещения кадров. • Построены экспериментальные зависимости отношения сигнал/шум для «быстрой» и «медленной» видеопоследовательностей, а также время выполнения алгоритмов. 21 DLab SibSAU Спасибо за внимание Фаворская Маргарита Николаевна e-mail: [email protected] Пьянков Дмитрий Игоревич e-mail: [email protected] Горошкин Антон Николаевич e-mail: [email protected]