Оптический поток Лукаса Канаде, вектор направления - PullRequest
7 голосов
/ 30 сентября 2011

Я работаю над оптическим потоком, и на основе примечаний к лекции здесь и некоторых примеров в Интернете Я написал этот код Python .

Все коды и примеры изображений также там. Для небольших смещений, составляющих около 4-5 пикселей, вычисленное направление вектора выглядит хорошо, но величина вектора слишком мала (поэтому мне пришлось умножить u, v на 3, прежде чем строить их на графике).

Это из-за ограничения алгоритма или ошибки в коде? В приведенной выше заметке о лекции также говорится, что движение должно быть маленьким: «u, v меньше 1 пикселя», может быть, поэтому. В чем причина этого ограничения?

Ответы [ 2 ]

3 голосов
/ 05 октября 2011

@ belisarius говорит: «LK использует приближение первого порядка, и поэтому (u, v) в идеале должно быть << 1, если нет, то в поведении доминируют члены более высокого порядка, а вы - тост». </p>

0 голосов
/ 10 декабря 2016

Стандартный вывод из уравнения ограничения оптического потока (OFCE, слайд 5 из вашей справки) состоит в том, что «ваше движение должно быть меньше пикселя, меньше членов высшего порядка убьют вас». Хотя это технически верно, вы можете преодолеть это на практике, используя большие окна усреднения. Это требует, чтобы вы делали вменяемую статистику, то есть не чистые наименьшие квадратные значения, как предложено на слайдах. Столь же быстрые вычисления и гораздо лучшие результаты могут быть достигнуты благодаря регуляризации Тихонова. Это требует установки значения настройки (постоянной Тихонова). Это можно сделать как глобальную константу или разрешить ее настройку на локальную информацию в изображении (например, достоверность Ши-Томази, известную как определитель тензора структуры).

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

Реализации, визуализации и код доступны в учебном формате здесь, хотя и в Matlab , а не в Python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...