Почти 200° обзора: проверяем SOTA-модели оценки глубины на fisheye

Fisheye-камера позволяет роботу видеть почти всё помещение одним кадром, но широкий обзор снижает точность моделей монокулярной оценки глубины. Инженеры Сбера создали бенчмарк WideDepth, чтобы выяснить, как угол обзора влияет на ошибки и как исправить ситуацию.

Почти 200° обзора: проверяем SOTA-модели оценки глубины на fisheye

Fisheye-камера позволяет роботу видеть почти всё помещение одним кадром, но за широкий обзор приходится платить: на бенчмарке WideDepth при увеличении угла обзора (FOV) со 120° до 195° ошибка некоторых SOTA-моделей монокулярной оценки глубины увеличивается более чем вдвое. Без точной эталонной разметки трудно понять, что именно подвело модель — геометрия камеры, отличие новых данных от обучающей выборки или погрешность самой разметки. Чтобы разделить эти факторы, команда инженеров Сбера создала WideDepth — открытый бенчмарк для оценки глубины по fisheye-изображениям, который позволяет проверять модели при разных углах обзора, стереобазах и ориентациях камер.

Сбер представил WideDepth — бенчмарк для fisheye-камер

В статье на Habr инженеры Сбера рассказали о WideDepth — новом бенчмарке, предназначенном для тестирования моделей монокулярной оценки глубины на изображениях с камер типа «рыбий глаз». Бенчмарк включает синтетический датасет с разнообразными сценами, имитирующими реальные условия: комнаты, склады, офисы и уличные сцены. Для каждой сцены доступны точные карты глубины, полученные с помощью симулятора, что исключает ошибки ручной разметки.

Ключевая особенность WideDepth — возможность изменять угол обзора (от 120° до 195°), стереобазу (расстояние между камерами) и ориентацию камеры (наклон, поворот). Это позволяет изолированно изучать влияние каждого параметра на качество предсказаний. В ходе экспериментов авторы протестировали несколько популярных SOTA-моделей, включая MiDaS, Depth Anything V2 и другие, и обнаружили, что с увеличением FOV относительная ошибка глубины (AbsRel) может вырасти более чем в два раза — например, с 0.08 до 0.17 у Depth Anything V2.

Почему это важно? Роботы, дроны и системы автономного вождения всё чаще используют fisheye-камеры для кругового обзора. Одна такая камера заменяет несколько обычных, снижая стоимость и вес системы. Но если модель не справляется с сильными искажениями по краям кадра, робот может неправильно оценивать расстояние до препятствий, что приводит к столкновениям или неверной навигации. WideDepth помогает разработчикам понять, какие модели действительно готовы к работе с широкоугольными камерами, и стимулирует создание более устойчивых алгоритмов.

Предыстория: почему fisheye-камеры сложны для оценки глубины

Оценка глубины по одному изображению — одна из фундаментальных задач компьютерного зрения. Модели обучаются на датасетах с обычными камерами, где угол обзора редко превышает 90°. Fisheye-камеры дают сильные искажения, особенно по краям кадра: объекты выглядят искривлёнными, а перспектива нарушается. Это создаёт распределённый сдвиг (domain shift) между обучающими данными и реальными условиями эксплуатации.

Долгое время не существовало стандартизированного способа оценить, насколько хорошо модель переносит этот сдвиг. Исследователи использовали разрозненные датасеты, часто с неточной разметкой, полученной вручную или с помощью LiDAR, что вносило шум в метрики. WideDepth решает эту проблему, предоставляя синтетические данные с идеальной точностью и контролируемыми параметрами съёмки.

Интересно, что авторы обнаружили: не все модели деградируют одинаково. Некоторые, обученные на разнообразных данных, показывают стабильные результаты даже при 195°, в то время как другие резко теряют точность. Это говорит о том, что проблема не только в архитектуре сети, но и в стратегии обучения — например, в использовании аугментаций с искажениями.

Что такое монокулярная оценка глубины?

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

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

Как устроен WideDepth: технические детали

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

Авторы выбрали несколько базовых моделей для тестирования: MiDaS (разные версии), Depth Anything V2, и другие. Модели запускались без дообучения, чтобы проверить их способность к генерализации. Метрики включают AbsRel, RMSE, δ1 (доля пикселей с ошибкой менее 1.25) и другие. Результаты показали, что при FOV 120° модели работают приемлемо, но при 195° ошибка растёт в среднем в 1.5–2.5 раза.

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

Кого затронет WideDepth и как его использовать

Разработчики робототехники и автономных систем — главная аудитория WideDepth. Если вы создаёте робота-курьера, который должен ориентироваться в помещениях, или беспилотный автомобиль, использующий fisheye-камеры, этот бенчмарк поможет выбрать подходящую модель глубины или понять, какие данные нужны для дообучения. Бенчмарк открыт и доступен на GitHub, что позволяет воспроизвести эксперименты и добавить свои модели.

Для исследователей WideDepth — это инструмент для изучения влияния параметров камеры на качество глубины. Он может стать стандартом в области, аналогичным KITTI или NYU Depth, но сфокусированным на широкоугольных камерах. В России и СНГ это особенно актуально: растёт число компаний, разрабатывающих роботов для складов, доставки и инспекции, и им нужны надёжные решения.

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

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

Авторы планируют расширять WideDepth: добавлять новые сцены, типы камер и сценарии использования. В ближайшее время они намерены включить данные с реальных роботов, чтобы проверить, насколько синтетические результаты коррелируют с реальностью. Также рассматривается возможность добавления задач семантической сегментации и оптического потока, чтобы создать комплексный бенчмарк для fisheye-зрения.

Уже сейчас WideDepth демонстрирует, что SOTA-модели не готовы к экстремально широким углам обзора, и это стимулирует исследователей разрабатывать новые архитектуры, устойчивые к искажениям. Возможно, в будущем мы увидим модели, специально обученные на fisheye-данных, и тогда роботы станут ещё более автономными.

Итог

WideDepth — важный шаг в развитии компьютерного зрения для широкоугольных камер. Он не только выявил проблему деградации моделей при увеличении FOV, но и предоставил инструмент для её решения. Если вы работаете в робототехнике или автономных системах, обязательно изучите этот бенчмарк — он может стать ключом к созданию более надёжных и безопасных роботов. Следите за обновлениями на GitHub и в блоге Сбера: проект активно развивается.