Lucas–Kanade method
В компьютерном зрении метод Лукаса-Канаде — это широко используемый дифференциальный метод оценки оптического потока , разработанный Брюсом Д. Лукасом и Такео Канаде . Он предполагает, что поток по существу постоянен в локальной окрестности рассматриваемого пикселя , и решает основные уравнения оптического потока для всех пикселей в этой окрестности по критерию наименьших квадратов . [ 1 ] [ 2 ]
Объединив информацию из нескольких соседних пикселей, метод Лукаса-Канаде часто может разрешить присущую уравнению оптического потока неоднозначность. Он также менее чувствителен к шуму изображения, чем точечные методы. С другой стороны, поскольку это чисто локальный метод, он не может предоставить информацию о потоке внутри однородных областей изображения.
Концепция
[ редактировать ]Метод Лукаса-Канаде предполагает, что смещение содержимого изображения между двумя близкими моментами (кадрами) невелико и примерно постоянно в пределах окрестности точки. на рассмотрении. Таким образом, можно предположить, что уравнение оптического потока справедливо для всех пикселей в окне с центром в . А именно, вектор локального потока изображения (скорости) должен удовлетворить
где — это пиксели внутри окна, а являются частными производными изображения относительно позиции и время , оцененный в точке и в настоящее время.
Эти уравнения можно записать в матричной форме , где
В этой системе больше уравнений, чем неизвестных, и поэтому она обычно переопределена. Метод Лукаса-Канаде позволяет получить компромиссное решение по принципу наименьших квадратов . А именно, решает система или где это транспонирование матрицы . То есть он вычисляет где центральная матрица в уравнении является обратной матрицей . Суммы исчисляются к .
Матрица часто называют структурным тензором изображения в точке .
Взвешенное окно
[ редактировать ]Приведенное выше простое решение методом наименьших квадратов придает одинаковую важность всем пиксели в окне. На практике обычно лучше придавать больший вес пикселям, расположенным ближе к центральному пикселю. . Для этого используется взвешенная версия уравнения наименьших квадратов: или где это диагональная матрица, содержащая веса быть присвоено уравнению пикселя . То есть он вычисляет
Вес обычно устанавливается как гауссова функция расстояния между и .
Условия использования и приемы
[ редактировать ]Чтобы уравнение быть разрешимой, должно быть обратимым, или собственные значения удовлетворяют . Чтобы избежать проблем с шумом, обычно требуется, чтобы оно не было слишком маленьким. Кроме того, если слишком велико, это означает, что точка находится на грани, и этот метод страдает от проблемы с апертурой . Итак, чтобы этот метод работал правильно, условие состоит в том, что и достаточно велики и имеют одинаковую величину. Это условие также является условием обнаружения угла . Это наблюдение показывает, что можно легко определить, какой пиксель подходит для работы метода Лукаса-Канаде, проверив одно изображение.
Одним из основных предположений этого метода является то, что движение невелико (например, менее 1 пикселя между двумя изображениями). Если движение велико и нарушает это предположение, один из методов — сначала уменьшить разрешение изображений, а затем применить метод Лукаса-Канаде. [ 3 ]
Чтобы добиться отслеживания движения с помощью этого метода, вектор потока можно итеративно применять и пересчитывать до тех пор, пока не будет достигнут некоторый порог, близкий к нулю, после чего можно предположить, что окна изображений очень близки по сходству. [ 1 ] Делая это для каждого последующего окна отслеживания, точку можно отслеживать на нескольких изображениях в последовательности, пока она не закроется или не выйдет за пределы кадра.
Улучшения и расширения
[ редактировать ]Подход наименьших квадратов неявно предполагает, что ошибки в данных изображения имеют гауссово распределение с нулевым средним значением. Если ожидается, что окно будет содержать определенный процент « выбросов » (значительно неверных значений данных, которые не соответствуют «обычному» распределению ошибок Гаусса), можно использовать статистический анализ, чтобы обнаружить их и соответствующим образом уменьшить их вес.
Метод Лукаса-Канаде сам по себе может использоваться только тогда, когда вектор потока изображения между двумя кадрами достаточно мало, чтобы сохранить дифференциальное уравнение оптического потока, которое часто меньше, чем расстояние между пикселями. Когда вектор потока может превышать этот предел, например, при стереофоническом сопоставлении или регистрации искаженного документа, метод Лукаса-Канаде все равно может использоваться для уточнения некоторой грубой оценки того же самого, полученной другими способами; например, экстраполируя векторы потока, вычисленные для предыдущих кадров, или запустив алгоритм Лукаса-Канаде на версиях изображений уменьшенного масштаба. Действительно, последний метод лежит в основе популярного алгоритма сопоставления признаков Канаде-Лукаса-Томази (KLT) .
Подобный метод можно использовать для вычисления дифференциальных аффинных деформаций содержимого изображения.
См. также
[ редактировать ]- Оптический поток
- Метод Хорна – Шунка
- Алгоритм обнаружения углов Ши – Томаси
- Kanade–Lucas–Tomasi feature tracker
Ссылки
[ редактировать ]- ^ Jump up to: а б Б.Д. Лукас и Т. Канаде (1981), Итеративный метод регистрации изображений с применением к стереозрению. Материалы семинара по пониманию изображений, страницы 121–130.
- ^ Брюс Д. Лукас (1984) Обобщенное сопоставление изображений методом различий (докторская диссертация)
- ^ JY Буге, (2001) . Пирамидальная реализация аффинного описания алгоритма отслеживания функций Lucas kanade. Корпорация Интел, 5.
Внешние ссылки
[ редактировать ]- Плагин стабилизатора изображения для ImageJ, основанный на методе Лукаса-Канаде.
- Mathworks Лукас-Канаде Реализация Matlab обратного и нормального аффинного метода Лукаса-Канаде
- FolkiGPU: реализация на графическом процессоре итеративного оптического потока на основе Лукаса-Канаде.
- KLT : реализация трекера функций Канаде-Лукаса-Томази
- Takeo Kanade
- Пример C с использованием алгоритма оптического потока Лукаса-Канаде
- Пример C++ с использованием алгоритма оптического потока Лукаса-Канаде
- Пример Python с использованием алгоритма оптического потока Лукаса-Канаде
- Пример Python с использованием трекера Lucas-Kanade для сопоставления гомографии
- Быстрый пример MATLAB метода Лукаса-Канаде для отображения поля оптического потока
- Быстрый пример MATLAB метода Лукаса-Канаде для отображения вектора скорости объектов