Глоссарий

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

Открой для себя мощь Optical Flow в компьютерном зрении. Узнай, как он оценивает движение, улучшает анализ видео и стимулирует инновации в области искусственного интеллекта.

Обучай модели YOLO просто
с помощью Ultralytics HUB.

Узнай больше

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

Как работает оптический поток

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

  • Sparse Optical Flow: отслеживает движение ограниченного набора специфических точек (например, углов) между кадрами. Популярный пример - метод Лукаса-Канаде.
  • Плотный оптический поток: вычисляет вектор движения для каждого пикселя на изображении. Классическим примером является метод Хорна-Шунка, хотя более современные подходы часто используют глубокое обучение. Более подробно ты можешь изучить сравнение плотного и разреженного потока.

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

Применение оптического потока

Оптический поток имеет множество практических применений в различных областях:

  • Сжатие видео: Векторы движения помогают предсказывать последующие кадры, уменьшая объем данных, необходимых для хранения или передачи, что наблюдается в таких стандартах, как MPEG.
  • Автономные системы: Используется в робототехнике и автономных транспортных средствах для таких задач, как оценка эго-движения (определение собственного движения камеры), обход препятствий и понимание относительного движения других объектов. Например, ИИ в самоуправляемых автомобилях использует поток для отслеживания близлежащих машин и пешеходов.
  • Распознавание действий: Анализ паттернов движения помогает идентифицировать на видео такие действия, как ходьба, бег или падение. Это полезно для видеонаблюдения, спортивной аналитики и взаимодействия человека и компьютера. Система охранной сигнализации может использовать оптический поток для обнаружения подозрительных движений. Узнай больше об исследованиях в области распознавания действий.
  • Медицинская визуализация: Отслеживает движение органов или тканей в таких последовательностях, как УЗИ или МРТ, помогая в диагностике и анализе. Подробнее об анализе медицинских изображений.
  • Стабилизация видео: Оценивает движение камеры, чтобы цифровым способом устранить нежелательную тряску и дрожание, что приводит к более плавному выходу видео. Читай о методах электронной стабилизации изображения.

Оптический поток против отслеживания объектов

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

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

Библиотеки вроде OpenCV предоставляют легкодоступные реализации различных алгоритмов оптического потока.

Читать полностью