Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Scene Flow

Поток сцены — это поле трёхмерного движения сцены: вектор смещения для каждой видимой точки между кадрами, оцениваемый по стереоданным, RGB-D или данным LiDAR.

Поток сцены — это трёхмерное поле движения сцены: для каждой видимой точки поверхности задаётся 3D-вектор от её положения в одном кадре до положения в следующем. Сундар Ведула, Саймон Бейкер и их коллеги из Университета Карнеги-Меллона ввели этот термин в статье 1999 года Three-Dimensional Scene Flow, определив его как 3D-аналог оптического потока. Поток сцены объединяет геометрию и движение: он сообщает системе компьютерного зрения, где находится каждая точка и с какой скоростью в метрах она движется, в том числе к камере или от неё. Поэтому это ключевой сигнал для автономных транспортных средств и робототехники, где необходимо распознавать движение автомобиля, выезжающего на дорогу, или человека, ступающего на траекторию.

Поток сцены и оптический поток#

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

import numpy as np

K_inv = np.linalg.inv(np.array([[500.0, 0, 320], [0, 500.0, 240], [0, 0, 1]]))  # inverse camera intrinsics

# Two objects with identical optical flow: each moves from pixel (400, 240) to (410, 240) in 0.1 s
for name, depth_before, depth_after in [("cyclist crossing", 8.0, 8.0), ("car approaching", 8.0, 6.0)]:
    # Back-project each pixel along its viewing ray to the measured depth
    before = depth_before * K_inv @ np.array([400, 240, 1.0])
    after = depth_after * K_inv @ np.array([410, 240, 1.0])

    # Scene flow is the 3D displacement of the same surface point
    flow = after - before
    print(f"{name}: scene flow {flow.round(2)} m, speed {np.linalg.norm(flow) / 0.1:.1f} m/s")

Оба объекта смещаются вправо на 10 пикселей, но велосипедист перемещается вбок на 0,16 м со скоростью 1,6 м/с, а автомобиль за десятую долю секунды приближается на 2 м со скоростью 20,1 м/с. На расстоянии 6 м и при скорости сближения 20 м/с автомобиль достигнет камеры через 0,3 секунды.

Поток сцены также отличается от отслеживания объектов, при котором отслеживаются идентификаторы объектов в виде ограничивающих рамок, и от отслеживания точек, при котором выбранные 2D-точки отслеживаются на протяжении нескольких кадров. Оценка скорости в Ultralytics YOLO работает на уровне отслеживания в 2D: она отслеживает каждую рамку и преобразует её смещение в пикселях в км/ч, используя единый масштаб метров на пиксель для всего изображения. Это работает, когда камера смотрит на дорогу сверху, а транспорт движется параллельно изображению.

Как оценивают поток сцены#

Метод зависит от входных данных. Стереокамера даёт карты смещений в оба момента времени и оптический поток между кадрами. Именно такую конфигурацию использует бенчмарк потока сцены KITTI, выпущенный Морицем Менце и Андреасом Гайгером в 2015 году: 200 обучающих и 200 тестовых дорожных сцен. Камеры RGB-D и LiDAR формируют два облака точек, которые часто объединяют с изображениями камер посредством слияния данных сенсоров. Сети, например FlowNet3D, обучаются напрямую сопоставлять точки между этими облаками. Для одной камеры используют монокулярную оценку глубины, полученную с помощью обучения, и оптический поток для каждой пары кадров.

Когда камера движется, кажется, что все неподвижные точки тоже движутся. Поэтому полная система также оценивает собственное движение камеры — обычно с помощью визуальной SLAM или одометрии — и считает точки с несовпадающим потоком независимо движущимися. Дорожные сцены состоят преимущественно из твёрдых тел, поэтому такие методы, как поток сцены объектов Менце и Гайгера и RAFT-3D, объединяют пиксели в несколько твёрдых тел, движущихся как единое целое. Это стабилизирует оценки на лишённых текстуры кузовах автомобилей. Сложнее всего обрабатывать перекрытия: точки, появляющиеся или исчезающие между кадрами, невозможно сопоставить.

Моделям глубокого обучения нужны плотные эталонные данные, которые реальные сенсоры не могут получить, поэтому при обучении широко используют синтетические данные. Наборы данных Фрайбургского университета по потоку сцены, включая FlyingThings3D, содержат десятки тысяч стереокадров с точными данными о смещении, оптическом потоке и изменении смещения. FlowNet3D, обученную только на FlyingThings3D, удалось перенести на реальные сканы LiDAR из KITTI.

Примеры применения в реальных условиях#

  • Мобильные роботы: Роботы, работающие в складских помещениях и на тротуарах рядом с людьми, используют трёхмерное движение ближайших препятствий, чтобы предсказать, где те окажутся через секунду, и скорректировать маршрут.
  • Реконструкция динамической сцены: гауссово сплаттинг-представление 4D и динамические нейронные радиационные поля моделируют движущуюся сцену, обучаясь перемещению каждой точки или гауссианы во времени. Полученный поток сцены позволяет воспроизводить записанное видео с новых ракурсов.
  • Автономное вождение: Поток сцены на данных LiDAR отделяет движущиеся автомобили и пешеходов от неподвижного окружения в последовательных сканах. В 2021 году в Waymo Open Dataset появились разметки потока сцены: размеченных кадров там примерно в 1 000 раз больше, чем в более ранних наборах реальных данных по потоку сцены.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

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

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

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

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

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

Компьютерное зрение в сельском хозяйстве

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

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения