Оптический поток

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

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

Оценка оптического потока[править | править вики-текст]

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

Анализ методов вычисления оптического потока проведен в работе John L. Barron, David J. Fleet и Steven Beauchemin. Они раcсматривают методы как с точки зрения точности, так и с точки зрения плотности получаемого векторного поля.[3]

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

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

~I(x,y,t) \approx I(x+\delta x, y + \delta y, t + \delta t)

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

I(x+\delta x,y+\delta y,t+\delta t) \approx I(x,y,t) + \frac{\partial I}{\partial x}\delta x+\frac{\partial I}{\partial y}\delta y+\frac{\partial I}{\partial t}\delta t.

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

\frac{\partial I}{\partial x}\delta x+\frac{\partial I}{\partial y}\delta y+\frac{\partial I}{\partial t}\delta t = 0

или

\frac{\partial I}{\partial x}\frac{\delta x}{\delta t}+\frac{\partial I}{\partial y}\frac{\delta y}{\delta t}+\frac{\partial I}{\partial t}\frac{\delta t}{\delta t} = 0

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

~\frac{\partial I}{\partial x}V_x+\frac{\partial I}{\partial y}V_y+\frac{\partial I}{\partial t} = 0

где

~V_x,V_y — компоненты скорости оптического потока в ~I(x,y,t),
~\frac{\partial I}{\partial x}, ~\frac{\partial I}{\partial y}, ~\frac{\partial I}{\partial t} — производные изображения в ~(x,y,t) в соответствующих направлениях.

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

~I_xV_x+I_yV_y=-I_t

или

~\nabla I^T\cdot\vec{V} = -I_t

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

Методы определения оптического потока[править | править вики-текст]

  • Фазовая корреляция — инверсия нормализованного перекрестного спектра.
  • Блочные методы — минимизация суммы квадратов или суммы модулей разностей
  • Дифференциальные методы оценки оптического потока, основанные на частных производных сигнала:
    • Алгоритм Лукаса — Канаде — рассматриваются части изображения и аффинная модель движения
    • Horn–Schunck — минимизация функционала, описывающего отклонение от предположения о постоянстве яркости и гладкость получаемого векторного поля.
    • Buxton–Buxton — основан на модели движения границ объектов в последовательности изображений[4]
    • Общие вариационные методы — модификации метода Horn-Schunck, использующие другие ограничения на данные и другие ограничения на гладкость.
  • Дискретные методы оптимизации — поисковое пространство квантуется, затем каждому пикселю изображения ставится в соответствие метка таким образом, чтобы расстояние между последовательными кадрами было минимальным.[5] Оптимальное решение часто ищется с помощью алгоритмов нахождения минимального разреза и максимального потока в графе, линейного программирования или belief propagation.

Использование оптического потока[править | править вики-текст]

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

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

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

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

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

  1. S. S. Beauchemin , J. L. Barron 1995 вычисление оптического потока
  2. David J. Fleet and Yair Weiss (2006)оценка оптического потока. in Paragios et al.. Handbook of Mathematical Models in Computer Vision.
  3. John L. Barron, David J. Fleet, and Steven Beauchemin 1994.Performance of optical flow techniques
  4. Glyn W. Humphreys and Vicki Bruce 1989 Visual cognition
  5. B. Glocker, N. Komodakis, G. Tziritas, N. Navab & N. Paragios 2008 Dense Image Registration through MRFs and Efficient Linear Programming

Ссылки[править | править вики-текст]