Бизнес. Отчетность. Документация. Право. Производство
  • Главная
  • Отчетность
  • То, что вы хотели знать про оптический поток, но стеснялись спросить. Вычисление оптического потока методом Лукаса-Канаде

То, что вы хотели знать про оптический поток, но стеснялись спросить. Вычисление оптического потока методом Лукаса-Канаде

Оптический поток - это изображение видимого движения объектов, поверхностей или краев сцены, получаемое в результате перемещения наблюдателя (глаз или камеры) относительно сцены. Алгоритмы, основанные на оптическом потоке, - такие как регистрация движения, сегментация объектов, кодирование движений и подсчет диспаритета в стерео, - используют это движение объектов, поверхностей и краев.

Оценка оптического потока

Методы, основанные на оптическом потоке, вычисляют движение между двумя кадрами, взятыми в момент времени и, в каждом пикселе. Эти методы называются дифференциальными, так как они основаны на приближении сигнала отрезкомряда Тейлора; таким образом, они используют частные производные по времени и пространственным координатам.

В случае размерности 2D+t (случаи большей размерности аналогичны) пиксель в позиции с интенсивностьюза один кадр будет перемещен на,и, и можно записать следующее уравнение:

Считая, что перемещение мало, и используя ряд Тейлора, получаем:

Из этих равенств следует:

отсюда получается, что

Компоненты скорости оптического потока в ,

Производные изображения в в соответствующих направлениях.

Таким образом:

Полученное уравнение содержит две неизвестных и не может быть однозначно разрешено. Данное обстоятельство известно как проблема апертуры. Задачу решает наложение дополнительных ограничений -регуляризация.

Методы определения оптического потока:

    Фазовая корреляция - инверсия нормализованного перекрестного спектра.

    Блочные методы - минимизация суммы квадратов или суммы модулей разностей

    Дифференциальные методы оценки оптического потока, основанные на частных производных сигнала:

    Алгоритм Лукаса - Канаде - рассматриваются части изображения и аффинная модель движения

    Horn–Schunck - минимизация функционала, описывающего отклонение от предположения о постоянстве яркости и гладкость получаемого векторного поля.

    Buxton–Buxton - основан на модели движения границ объектов в последовательности изображений

    Общие вариационные методы - модификации метода Horn-Schunck, использующие другие ограничения на данные и другие ограничения на гладкость.

    Дискретные методы оптимизации - поисковое пространство квантуется, затем каждому пикселю изображения ставится в соответствие метка таким образом, чтобы расстояние между последовательными кадрами было минимальным. Оптимальное решение часто ищется с помощью алгоритмов нахождения минимального разреза и максимального потока в графе, линейного программирования или belief propagation.

Трекинг при помощи оптического потока часто применяется при использовании стационарных камер, таких как камеры в аэропортах или зданиях, а также стационарные камеры-видеорегистраторы.

В данной работе был использован метод с использованием алгоритма Лукаса-Канаде (рис. 4-6)

Рис. 4 Основное окно модели



Рис. 5 Блоки модели

Рис. 6 Результат работы модели

Данная модель использует метод оценки оптического потока, чтобы определить векторы движения в каждом кадре видеофайла. Путём ограничения и морфологического приближения векторов движения, модель создает бинарные изображения признаков. Модель находит машину в каждом бинарном изображении через блок «Blob Analysis». Затем блок «Draw Shapes» чертит зелёный прямоугольник вокруг машин, которые проходят через белую линию.

Недостаток метода заключается в том, что камера должна быть неподвижна, иначе результат распознавания и трекинга становится непредсказуемым.


В системах компьютерного зрения и обработки изображений часто возникает задача определения перемещений объектов в трехмерном пространстве с помощью оптического сенсора, то есть видеокамеры. Имея на входе последовательность кадров, необходимо воссоздать запечатленное на них трехмерное пространство и те изменения, которые происходят с ним с течением времени. Звучит сложно, но на практике зачастую достаточно найти смещения двухмерных проекций объектов в плоскости кадра.

Если мы хотим узнать на сколько тот или иной объект объект сместился по отношению к его же положению на предыдущем кадре за то время, которое прошло между фиксацией кадров, то скорее всего в первую очередь мы вспомним про оптический поток (optical flow). Для нахождения оптического потока можно смело воспользоваться готовой протестированной и оптимизированной реализацией одного из алгоритмов, например, из библиотеки OpenCV. При этом, однако, очень невредно разбираться в теории, поэтому я предлагаю всем заинтересованным заглянуть внутрь одного из популярных и хорошо изученных методов. В этой статье нет кода и практических советов, зато есть формулы и некоторое количество математических выводов.

Существует несколько подходов к определению смещений между двумя соседними кадрами. Например, можно для каждого небольшого фрагмента (скажем, 8 на 8 пикселей) одного кадра найти наиболее похожий фрагмент на следующем кадре. В этом случае разность координат исходного и найденного фрагментов даст нам смещение. Основная сложность тут состоит в том, как быстро отыскать нужный фрагмент, не перебирая весь кадр пиксель за пикселем. Различные реализации этого подхода так или иначе решают проблему вычислительной сложности. Некоторые настолько успешно, что применяются, например, в распространенных стандартах сжатия видео. Платой за скорость естественно является качество. Мы же рассмотрим другой подход, который позволяет получить смещения не для фрагментов, а для каждого отдельного пикселя, и применяется тогда, когда скорость не столь критична. Именно с ним в литературе часто связывают термин “оптический поток”.

Данный подход часто называют дифференциальным, поскольку в его основе лежит вычисление частных производных по горизонтальному и вертикальному направлениям изображения. Как мы увидим далее, одних только производных недостаточно чтобы определить смещения. Именно поэтому на базе одной простой идеи появилось великое множество методов, каждый из которых использует какую-нибудь свою математическую пляску с бубном, чтобы достичь цели. Сконцентрируемся на методе Лукаса-Канаде (Lucas-Kanade), предложенном в 81 году Брюсом Лукасом и Такео Канаде.

Метод Лукаса-Канаде
В основе всех дальнейших рассуждений лежит одно очень важное и не очень справедливое предположение: Предположим, что значения пикселей переходят из одного кадра в следующий без изменений . Таким образом, мы делаем допущение, что пиксели, относящиеся к одному и тому же объекту, могут сместиться в какую либо сторону, но их значение останется неизменным. Конечно же это предположение имеет мало общего с реальностью, потому что от кадра к кадру могут меняться глобальные условия освещения и освещенность самого движущегося объекта. Масса проблем связана с этим допущением, но, как ни странно, вопреки всему оно достаточно хорошо работает на практике.

На математическом языке это допущение можно записать так: . Где I - это функция яркости пикселей от положения на кадре и времени. Другими словами x и y - это координаты пикселя в плоскости кадра, и - это смещение, а t - это номер кадра в последовательности. Условимся, что между двумя соседними кадрами проходит единичный отрезок времени.

Одномерный случай
Для начала рассмотрим одномерный случай. Представим себе два одномерных кадра 1 пиксель в высоту и 20 пикселей в ширину (рисунок справа). На втором кадре изображение немного смещено вправо. Именно это смещение мы и хотим найти. Для этого представим эти же кадры в виде функций (рисунок слева). На входе позиция пикселя, на выходе - его интенсивность. В таком представление искомое смещение (d) видно еще более наглядно. В соответствии с нашим предположением, это просто смещенная , то есть можем сказать, что .

Обратите внимание, что и при желании можно записать и в общем виде: ; где y и t зафиксированы и равны нулю.

Для каждой координаты нам известны значения и в этой точке, кроме того мы можем вычислить их производные. Свяжем известные значения со смещением d. Для этого запишем разложение в ряд Тейлора для :

Сделаем второе важное предположение: Предположим, что достаточно хорошо аппроксимируется первой производной . Сделав это предположение, отбросим всё что после первой производной:

Насколько это корректно? В общем-то не очень, тут мы теряем в точности, если только наша функция/изображение не строго линейна, как в нашем искусственном примере. Зато это существенно упрощает метод, а для достижения требуемой точности можно сделать последовательное приближение, которе мы рассмотрим позже.

Мы почти у цели. Смещение d - это наша искомая величина, поэтому надо что-то сделать с . Как мы условились ранее, , поэтому просто перепишем:

Двумерный случай
Теперь перейдем от одномерного случая к двумерному. Запишем разложение в ряд Тейлора для и сразу отбросим все старшие производные. Вместо первой производной появляется градиент:

Где - вектор смещения.
В соответствии со сделанным допущением . Обратите внимание, что это выражение эквивалентно . Это то, что нам нужно. Перепишем:

Поскольку между двумя кадрами проходит единичный интервал времени, то можно сказать, что есть не что иное, как производная по времени.
Перепишем:

Перепишем ещё раз, раскрыв градиент:

Мы получили уравнение, которое говорит нам о том, что сумма частных производных должны быть равна нулю. Проблема только в том, что уравнение у нас одно, а неизвестных в нем два: и . На этом моменте начинается полет фантазии и разнообразие подходов.

Сделаем третье предположение: Предположим, что соседние пиксели смещаются на одинаковое расстояние . Возьмем фрагмент изображения, скажем 5 на 5 пикселей, и условимся, что для каждого из 25 пикселей и равны. Тогда вместо одного уравнения мы получим сразу 25 уравнений! Очевидно, что в общем случае система не имеет решения, поэтому будем искать такие и , которые минимизируют ошибку:

Здесь g - это функция, определяющая весовые коэффициенты для пикселей. Самые распространенный вариант - двухмерная гауссиана, которая дает наибольший вес центральному пикселю и все меньший по мере удаления от центра.

Чтобы найти минимум воспользуемся методом наименьших квадратов, найдем её частные производные по и :

Перепишем в более компактной форме и приравняем к нулю:

Перепишем эти два уравнения в матричной форме:

Если матрица М обратима (имеет ранг 2), можем вычислить и , которые минимизируют ошибку E:

Вот собственно и все. Мы знаем приблизительное смещение пикселей между двумя соседними кадрами.

Поскольку в нахождении смещения каждого пикселя участвуют также соседние с ним пиксели, при реализации данного метода целесообразно предварительно посчитать производные кадра по горизонтали и вертикали.

Недостатки метода
Описанный выше метод основан на трех значительных допущениях, которые с одной стороны дают нам принципиальную возможность определить оптический поток, но с другой стороны вносят погрешность. Хорошая новость для перфекционистов состоит в том, что одно допущение нужно нам только для упрощения метода, и с его последствиями мы можем бороться. Мы предполагали, что для аппроксимации смещения нам будет достаточно первой производной. В общем случае это конечно же не так (рисунок слева). Для достижение требуемой точности смещение для каждой пары кадров (назовём их и ) можно вычислять итеративно. В литературе это называется искажением (warping). На практике это означает, что, вычислив смещения на первой итерации, мы перемещаем каждый пиксель кадра в противоположную сторону так, чтобы это смещение компенсировать. На следующей итерации вместо исходного кадра мы будем использовать его искаженный вариант . И так далее, пока на очередной итерации все полученные смещения не окажутся меньше заданного порогового значения. Итоговое смещение для каждого конкретного пикселя мы получаем как сумму его смещений на всех итерациях.

По своей природе данный метод является локальным, то есть при определении смещения конкретного пикселя принимается во внимание только область вокруг этого пикселя - локальная окрестность. Как следствие, невозможно определить смещения внутри достаточно больших (больше размера локальной окрестности) равномерно окрашенных участков кадра. К счастью на реальных кадрах такие участки встречаются не часто, но эта особенность все же вносит дополнительное отклонение от истинного смещения.

Ещё одна проблема связана с тем, что некоторые текстуры в изображении дают вырожденную матрицу М, для которой не может быть найдена обратная матрица. Соответственно, для таких текстур мы не сможем определить смещение. То есть движение вроде есть, но непонятно в какую сторону. В общем-то от этой проблемы страдает не только рассмотренный метод. Даже глаз человека воспринимает такое движение не однозначно (Barber pole).

Заключение
Мы разобрали теоретические основы одного из дифференциальных методов нахождения оптического потока. Существует множество других любопытных методов, некоторые из которых по состоянию на сегодняшний день дают более надежные результаты. Однако, метод Лукаса-Канаде при своей неплохой эффективности остается достаточно простым для понимания, а потому хорошо подходит для ознакомления с математическими основами.

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

На этой пафосной ноте позвольте закруглиться и перейти к источникам и полезным ссылкам.
метод Лукаса-Канаде

  • Lucas-Kanade
  • Добавить метки

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

    Понятие оптического потока была предложенное американским психологом Джеймсом Дж. Гибсоном в 1940-х годах для описания визуального стимула (сигнала), что возникает у животных, которые движутся в пространстве относительно окружающей среды.

    Джеймс Гибсон подчеркивал важность оптического потока для возможности восприятия, способность различать ограничения и возможности для действий в окружающей обстановке. Последователи робот Гибсона и его экологического подхода к психологии впоследствии смогли показать роль стимула оптического потока для восприятия движения наблюдателя относительно окружающего мира; восприятие формы, дистанции и движения окружающих объектов; и контроль передвижения.

    Недавно оптического потока срок был кооптированы робототехники включить соответствующие приемы по обработке изображений и контроля навигационного, такие как обнаружение движения, объектов сегментации, время-контактную информацию, фокус расчетов расширения, яркости, с компенсацией движения кодирования, и стерео несоответствие измерений.

    С недавнего времени срок оптического потока был кооптирован роботицистамы, чтобы включить в это понятие соответствующие приемы по обработке изображений и навигационного контроля, такого как детект движения, сегментация объектов, информация о времени до столкновения (контакта), расчет фокуса расширения (focus of expansion), яркость, кодирование с компенсацией движения и измерения стерео диспаратности.

    Расчет

    Последовательность из упорядоченных изображений позволяет оценить движение, или в виде мгновенных скоростей изображение, или в виде дискретных величин смещения изображения. Есть материалы в виде урока по методу оптического потока на основе градиентов. Также исследователи проводили анализ сравнения различных техник оптического потока, анализируют точность и частоту измерений.

    Методы расчета оптического движения пытаются оценить движение между двумя кадрами изображения, видносятся к моментам времени t и в каждой позиции вокселя. Такие методы называются дифференциальными, так как они основаны на локальных оценках ряда Тейлора для сигнала изображения то есть они используют частные производные по пространственным и временным координатам.

    Для случая размерности 2D + t (так же и для 3D или n -D случаев) расположение вокселя с интенсивностью, который будет двигаться на, и между двумя кадрами изображения, и с последующим ограничением постоянства яркости (brightness constancy constraint) можно записать:

    Считая, что движение было незначительное, рассчитывая приближения изображения в с помощью рядов Тейлора можно получить:

    … (Члены высшего порядка)

    Из этих уравнений следует, что:

    в результате чего

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

    Таким образом:

    Это уравнение с двумя неизвестными, как таковое не может быть решен. Это известно как проблема апертуры (диафрагмы) алгоритма оптического потока. Для расчета оптического потока необходимо другой набор уравнений, задаваемых некоторыми дополнительными условиями. Все методы расчета оптического потока вводят дополнительные условия для оценки фактического потока.

    Датчик оптического потока

    Сенсор оптического потока это датчик зрения способен измерять оптический поток или визуальный движение и выдавать результат измерения на основе оптического потока. Существует много различных конфигураций таких сенсоров. Это может быть датчик изображения соединен с процессором, на котором выполняется запрограммирован алгоритм оптического потока. Другая конфигурация использует зрительный чип, выполненный в виде интегральной схемы, содержащей и матрица и процессор в одном кристалле, в виде компактного устройства. Примером этого является обычный датчик оптической мыши используется в оптических мышах. В некоторых случаях используются могут используются вычислительные схемы с использованием аналоговых схем со смешанными сигналами, для быстрых расчетов оптического потока при минимальном потреблении тока.

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

    Изображения по теме


    В системах компьютерного зрения и обработки изображений часто возникает задача определения перемещений объектов в трехмерном пространстве с помощью оптического сенсора, то есть видеокамеры. Имея на входе последовательность кадров, необходимо воссоздать запечатленное на них трехмерное пространство и те изменения, которые происходят с ним с течением времени. Звучит сложно, но на практике зачастую достаточно найти смещения двухмерных проекций объектов в плоскости кадра.

    Если мы хотим узнать на сколько тот или иной объект объект сместился по отношению к его же положению на предыдущем кадре за то время, которое прошло между фиксацией кадров, то скорее всего в первую очередь мы вспомним про оптический поток (optical flow). Для нахождения оптического потока можно смело воспользоваться готовой протестированной и оптимизированной реализацией одного из алгоритмов, например, из библиотеки OpenCV. При этом, однако, очень невредно разбираться в теории, поэтому я предлагаю всем заинтересованным заглянуть внутрь одного из популярных и хорошо изученных методов. В этой статье нет кода и практических советов, зато есть формулы и некоторое количество математических выводов.

    Существует несколько подходов к определению смещений между двумя соседними кадрами. Например, можно для каждого небольшого фрагмента (скажем, 8 на 8 пикселей) одного кадра найти наиболее похожий фрагмент на следующем кадре. В этом случае разность координат исходного и найденного фрагментов даст нам смещение. Основная сложность тут состоит в том, как быстро отыскать нужный фрагмент, не перебирая весь кадр пиксель за пикселем. Различные реализации этого подхода так или иначе решают проблему вычислительной сложности. Некоторые настолько успешно, что применяются, например, в распространенных стандартах сжатия видео. Платой за скорость естественно является качество. Мы же рассмотрим другой подход, который позволяет получить смещения не для фрагментов, а для каждого отдельного пикселя, и применяется тогда, когда скорость не столь критична. Именно с ним в литературе часто связывают термин “оптический поток”.

    Данный подход часто называют дифференциальным, поскольку в его основе лежит вычисление частных производных по горизонтальному и вертикальному направлениям изображения. Как мы увидим далее, одних только производных недостаточно чтобы определить смещения. Именно поэтому на базе одной простой идеи появилось великое множество методов, каждый из которых использует какую-нибудь свою математическую пляску с бубном, чтобы достичь цели. Сконцентрируемся на методе Лукаса-Канаде (Lucas-Kanade), предложенном в 81 году Брюсом Лукасом и Такео Канаде.

    Метод Лукаса-Канаде
    В основе всех дальнейших рассуждений лежит одно очень важное и не очень справедливое предположение: Предположим, что значения пикселей переходят из одного кадра в следующий без изменений . Таким образом, мы делаем допущение, что пиксели, относящиеся к одному и тому же объекту, могут сместиться в какую либо сторону, но их значение останется неизменным. Конечно же это предположение имеет мало общего с реальностью, потому что от кадра к кадру могут меняться глобальные условия освещения и освещенность самого движущегося объекта. Масса проблем связана с этим допущением, но, как ни странно, вопреки всему оно достаточно хорошо работает на практике.

    На математическом языке это допущение можно записать так: . Где I - это функция яркости пикселей от положения на кадре и времени. Другими словами x и y - это координаты пикселя в плоскости кадра, и - это смещение, а t - это номер кадра в последовательности. Условимся, что между двумя соседними кадрами проходит единичный отрезок времени.

    Одномерный случай
    Для начала рассмотрим одномерный случай. Представим себе два одномерных кадра 1 пиксель в высоту и 20 пикселей в ширину (рисунок справа). На втором кадре изображение немного смещено вправо. Именно это смещение мы и хотим найти. Для этого представим эти же кадры в виде функций (рисунок слева). На входе позиция пикселя, на выходе - его интенсивность. В таком представление искомое смещение (d) видно еще более наглядно. В соответствии с нашим предположением, это просто смещенная , то есть можем сказать, что .

    Обратите внимание, что и при желании можно записать и в общем виде: ; где y и t зафиксированы и равны нулю.

    Для каждой координаты нам известны значения и в этой точке, кроме того мы можем вычислить их производные. Свяжем известные значения со смещением d. Для этого запишем разложение в ряд Тейлора для :

    Сделаем второе важное предположение: Предположим, что достаточно хорошо аппроксимируется первой производной . Сделав это предположение, отбросим всё что после первой производной:

    Насколько это корректно? В общем-то не очень, тут мы теряем в точности, если только наша функция/изображение не строго линейна, как в нашем искусственном примере. Зато это существенно упрощает метод, а для достижения требуемой точности можно сделать последовательное приближение, которе мы рассмотрим позже.

    Мы почти у цели. Смещение d - это наша искомая величина, поэтому надо что-то сделать с . Как мы условились ранее, , поэтому просто перепишем:

    Двумерный случай
    Теперь перейдем от одномерного случая к двумерному. Запишем разложение в ряд Тейлора для и сразу отбросим все старшие производные. Вместо первой производной появляется градиент:

    Где - вектор смещения.
    В соответствии со сделанным допущением . Обратите внимание, что это выражение эквивалентно . Это то, что нам нужно. Перепишем:

    Поскольку между двумя кадрами проходит единичный интервал времени, то можно сказать, что есть не что иное, как производная по времени.
    Перепишем:

    Перепишем ещё раз, раскрыв градиент:

    Мы получили уравнение, которое говорит нам о том, что сумма частных производных должны быть равна нулю. Проблема только в том, что уравнение у нас одно, а неизвестных в нем два: и . На этом моменте начинается полет фантазии и разнообразие подходов.

    Сделаем третье предположение: Предположим, что соседние пиксели смещаются на одинаковое расстояние . Возьмем фрагмент изображения, скажем 5 на 5 пикселей, и условимся, что для каждого из 25 пикселей и равны. Тогда вместо одного уравнения мы получим сразу 25 уравнений! Очевидно, что в общем случае система не имеет решения, поэтому будем искать такие и , которые минимизируют ошибку:

    Здесь g - это функция, определяющая весовые коэффициенты для пикселей. Самые распространенный вариант - двухмерная гауссиана, которая дает наибольший вес центральному пикселю и все меньший по мере удаления от центра.

    Чтобы найти минимум воспользуемся методом наименьших квадратов, найдем её частные производные по и :

    Перепишем в более компактной форме и приравняем к нулю:

    Перепишем эти два уравнения в матричной форме:

    Если матрица М обратима (имеет ранг 2), можем вычислить и , которые минимизируют ошибку E:

    Вот собственно и все. Мы знаем приблизительное смещение пикселей между двумя соседними кадрами.

    Поскольку в нахождении смещения каждого пикселя участвуют также соседние с ним пиксели, при реализации данного метода целесообразно предварительно посчитать производные кадра по горизонтали и вертикали.

    Недостатки метода
    Описанный выше метод основан на трех значительных допущениях, которые с одной стороны дают нам принципиальную возможность определить оптический поток, но с другой стороны вносят погрешность. Хорошая новость для перфекционистов состоит в том, что одно допущение нужно нам только для упрощения метода, и с его последствиями мы можем бороться. Мы предполагали, что для аппроксимации смещения нам будет достаточно первой производной. В общем случае это конечно же не так (рисунок слева). Для достижение требуемой точности смещение для каждой пары кадров (назовём их и ) можно вычислять итеративно. В литературе это называется искажением (warping). На практике это означает, что, вычислив смещения на первой итерации, мы перемещаем каждый пиксель кадра в противоположную сторону так, чтобы это смещение компенсировать. На следующей итерации вместо исходного кадра мы будем использовать его искаженный вариант . И так далее, пока на очередной итерации все полученные смещения не окажутся меньше заданного порогового значения. Итоговое смещение для каждого конкретного пикселя мы получаем как сумму его смещений на всех итерациях.

    По своей природе данный метод является локальным, то есть при определении смещения конкретного пикселя принимается во внимание только область вокруг этого пикселя - локальная окрестность. Как следствие, невозможно определить смещения внутри достаточно больших (больше размера локальной окрестности) равномерно окрашенных участков кадра. К счастью на реальных кадрах такие участки встречаются не часто, но эта особенность все же вносит дополнительное отклонение от истинного смещения.

    Ещё одна проблема связана с тем, что некоторые текстуры в изображении дают вырожденную матрицу М, для которой не может быть найдена обратная матрица. Соответственно, для таких текстур мы не сможем определить смещение. То есть движение вроде есть, но непонятно в какую сторону. В общем-то от этой проблемы страдает не только рассмотренный метод. Даже глаз человека воспринимает такое движение не однозначно (Barber pole).

    Заключение
    Мы разобрали теоретические основы одного из дифференциальных методов нахождения оптического потока. Существует множество других любопытных методов, некоторые из которых по состоянию на сегодняшний день дают более надежные результаты. Однако, метод Лукаса-Канаде при своей неплохой эффективности остается достаточно простым для понимания, а потому хорошо подходит для ознакомления с математическими основами.

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

    На этой пафосной ноте позвольте закруглиться и перейти к источникам и полезным ссылкам.
    метод Лукаса-Канаде Добавить метки

    Лучшие статьи по теме