Уточнение ViFlow метода поиска оптического потока Выполнил : Расторгуев Алексей Руководитель : Пименов Александр
Optical Flow Оптический поток между парой изображений есть векторное поле, задающее естественную трансформацию первого изображения во второе.
Применение 1.Видеоморфинг и другие спецэффекты 2.Компрессирование видеоинформации 3.Машинное зрение 4.Получение и визуализация научно-технических данных 5.Другие приложения
Цель работы Получение субпиксельной реализации алгоритма ViFlow. Сравнение результатов работы уточненного ViFlow с результатами метода Лукаса-Канаде.
Классический KLT алгоритм Цель – для точки u поиск вектора d, минимизирующего следующую сумму где I(x,y),J(x,y) – яркости первого и второго изображений в точке (x,y). Происходит итеративное уточнение текущего вектора потока(метод Ньютона).В качестве начального приближения берется нулевой вектор.
Пирамидальный KLT алгоритм 1.Строится пирамида изображений => 2.Производится поиск сдвига на самом верхнем уровне=> 3.Найденный вектор посылается на уровень выше => 4.Производится уточнение(используя классический KLT) => 5.Продолжается,пока не дойдем до самого нижнего уровня => 6.Получаем вектор смещения d
Фильтрация в KLT Если на данном уровне пирамиды определитель обратной матрицы пространственного градиента меньше заранее определенного порога, вектор потока считается неизвестным. Пороги для каждого уровня определяются опытным путем. Для 12ти битных изображений сравнительно неплохие результаты получаются при величине порога * 2 24
ViFlow Для каждой точки обоих изображений вычисляется hash – функция.Для каждого изображения получается массив значений этой функции. Каждый из полученных массивов сортируется. Считается, что точка u первого изображения переходит в точку v второго изображения, если соответствующие им значения хэша равны.
Уточнение ViFlow К двум изображениям применяется ViFlow. Если для точки определен вектор потока, он принимается за начальное приближение в методе Ньютона, применяющимся в классическом KLT.
ViFlow Density = % Time = 280
ViFlow Density = 5.07 % Time = 470
KLT Высота 3 4 итерации метода Ньютона
KLT Высота 2 4 итерации метода Ньютона
KLT vs. ViFlow ViFlowViFlow + filter ViFlow + фильтр + уточнение KLT (3,4)KLT(2,4)KLT(3,4) + фильтр Время, clocks Плотность, %
KLT vs. ViFlow Результаты сравнения: Скорость работы уточненного фильтрованного ViFlow выше скорости работы фильтрованного пирамидального KLT примерно в 4-7 раз. Плотность потока, полученного фильтрованным пирамидальным KLT, более чем в 2-3 раза превосходит плотность потока, полученного уточненным фильтрованным ViFlow.
Результат Получена реализация уточненного метода ViFlow. Получена реализация фильтрованного пирамидального KLT метода. Произведено сравнение двух методов по скорости и плотности полученного потока. Получены дополнительные функции:построение пирамиды изображений по заданному изображению, уточнение потока с субпиксельной точностью, вспомогательные функции для ускорения обработки изображений.
Спасибо! Вопросы?