Optical flow — векторное поле, описывающее движение пикселей между последовательными кадрами видео.
Определение
Optical flow — это метод оценки движения объектов в сцене, вычисляющий смещение каждого пикселя между двумя соседними кадрами. Результатом является векторное поле (u, v), указывающее направление и скорость движения. Optical flow используется в видеостабилизации, отслеживании объектов, 3D-реконструкции, depth estimation и в современных мультимодальных генеративных моделях для улучшения движения.
Как работает
Существуют два класса методов: классические (оптические уравнения) и нейросетевые.
Классические методы
- Horn–Schunck — глобальная оптимизация оптического потока; предполагает гладкость движения.
- Lucas–Kanade — локальная аппроксимация движения через окно соседних пикселей.
- Pyramidal LK — многомасштабная версия для больших смещений.
Нейросетевые методы
Современные модели обучаются на синтетических и реальных видеодатасетах:
- FlowNet / FlowNet2 — CNN-архитектуры для end-to-end оценки движения.
- PWC-Net — pyramid + warping + cost volume.
- RAFT — рекуррентная оптимизация потока в многомерном пространстве корреляций.
- GMFlow / GMA — attention-based flow estimation.
Нейросетевые подходы формируют cost volume, вычисляют корреляции между признаками двух кадров, затем оптимизируют потоки через итерации внимания и обновления.
Где применяется
- Отслеживание объектов и поведенческий анализ.
- Видео- и стабилизация движения камеры.
- 3D-реконструкция и SLAM.
- Depth estimation через motion cues.
- Compression-aware видео кодеки.
- Генеративные модели: улучшение движения и согласованности кадров.
Практические примеры использования
Optical flow — фундаментальный компонент компьютерного зрения. RAFT и GMFlow обеспечивают высокоточные оценки движения для задач отслеживания. В NeRF-подобных системах flow помогает отделять движение объектов от движения камеры. В text-to-video и video diffusion моделях optical flow используется для улучшения temporal coherence: модель может генерировать кадры, согласованные с ожидаемым направлением движения.
В робототехнике и автономном вождении optical flow используется для оценки скорости движения объектов и предотвращения столкновений. В индустрии кино — для стабилизации изображения и создания эффектов.
Ключевые свойства
- Пиксельная оценка движения.
- Высокая чувствительность к текстуре и освещению.
- Возможность large displacement через pyramidal или attention-подходы.
- Использование cost volumes и корреляционных слоёв.
- Ключевая роль в анализе динамики.
Проблемы и ограничения
- Плохо работает в однородных областях без текстуры.
- Чувствительность к изменению освещения и motion blur.
- Высокая вычислительная стоимость точных моделей.
- Неявная неоднозначность при быстрых движениях.
- Шумы приводят к накоплению ошибок в длительных последовательностях.
Преимущества и ограничения
- Плюс: предоставляет богатую информацию о движении сцены.
- Минус: требует качественных изображений и сложной оптимизации.
Связанные термины
- Depth estimation
- Motion estimation
- FlowNet
- RAFT
- Temporal coherence