Depth Estimation
Узнай, как оценка глубины добавляет 3D-перспективу в компьютерное зрение. Исследуй методы, такие как монокулярная глубина и стереозрение, используя модели Ultralytics YOLO26.
Оценка глубины — это критически важный процесс в компьютерном зрении, который определяет расстояние до объектов от камеры, фактически добавляя третье измерение к двумерным изображениям. Вычисляя расстояние до каждого пикселя на изображении, этот метод создает карту глубины — представление, где интенсивность пикселя соответствует расстоянию. Эта способность имитирует человеческое бинокулярное зрение, позволяя машинам воспринимать пространственные отношения и геометрию. Это ключевая технология, позволяющая автономным системам безопасно навигировать, понимать свое окружение и взаимодействовать с физическими объектами.
Основные механизмы и методы#
Существует несколько способов оценки глубины, от аппаратных решений до чисто программных подходов с использованием искусственного интеллекта.
- Системы стереозрения: Подобно человеческим глазам, стереозрение использует две камеры, расположенные бок о бок. Алгоритмы анализируют небольшие различия, или диспаратность, между левым и правым изображениями для триангуляции расстояния. Это в значительной степени опирается на точное сопоставление признаков для определения одних и тех же точек в обоих кадрах.
- Монокулярная оценка глубины: Этот продвинутый метод оценивает глубину по одному изображению. Поскольку одна 2D-фотография не содержит встроенных данных о глубине, модели глубокого обучения обучаются на обширных датасетах для распознавания визуальных подсказок, таких как перспектива, размер объекта и окклюзия. Современные архитектуры, такие как сверточные нейросети (CNN), преуспевают в этой задаче, позволяя получать трехмерную структуру с помощью стандартных камер.
- LiDAR и времяпролетные камеры (ToF): Активные датчики, такие как LiDAR (обнаружение и определение дальности с помощью света) и времяпролетные камеры (ToF), излучают световые импульсы и измеряют время их возвращения. Эти методы генерируют высокоточные облака точек и часто используются для сбора эталонных (ground truth) данных для обучения моделей машинного обучения.
Реальные приложения#
Способность определять расстояние является революционной во многих отраслях, обеспечивая работу приложений, требующих пространственного восприятия.
- Автономное вождение: Беспилотные автомобили полагаются на оценку глубины для обнаружения препятствий, измерения расстояния до других транспортных средств и безопасной навигации по сложным дорожным сетям. Это неотъемлемая часть 3D-обнаружения объектов для идентификации пешеходов и велосипедистов.
- Робототехника и автоматизация: Роботы используют восприятие глубины для таких задач, как планирование траектории и манипуляции с объектами. Например, роботу на складе нужно точно знать, на каком расстоянии находится полка, чтобы забрать посылку, не столкнувшись с ней.
- Дополненная реальность (AR): чтобы убедительно размещать виртуальные объекты в реальной сцене, AR-устройства должны понимать 3D-геометрию окружения. Оценка глубины гарантирует, что виртуальные персонажи могут скрываться за реальной мебелью, — это концепция, известная как обработка перекрытий (occlusion handling).
Пример кода: монокулярная оценка глубины#
Хотя существуют специализированные модели глубины, в простых сценариях ты часто можешь определять пространственные отношения, используя ограничивающие рамки (bounding boxes) обнаружения объектов в качестве прокси для расстояния (более крупные рамки часто означают более близкие объекты). Вот как загрузить модель с помощью пакета ultralytics для обнаружения объектов, что является первым шагом во многих конвейерах с поддержкой оценки глубины.
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Process results
for result in results:
# Get bounding boxes (xyxy format)
boxes = result.boxes.xyxy
# Iterate through detections
for box in boxes:
print(f"Detected object at: {box}")Связь с другими концепциями компьютерного зрения#
Важно отличать оценку глубины от связанных терминов. В то время как обнаружение объектов определяет, что и где находится в 2D-пространстве (с использованием ограничивающей рамки), оценка глубины определяет, на каком расстоянии оно находится (по оси Z). Аналогично, семантическая сегментация классифицирует пиксели по категориям (например, дорога, небо, автомобиль), тогда как оценка глубины присваивает тем же пикселям значение расстояния.
Достижения в области пространственного ИИ#
Недавний прогресс в генеративном ИИ стирает грань между 2D- и 3D-зрением. Такие методы, как нейронные поля излучения (NeRF), используют несколько 2D-изображений для реконструкции сложных 3D-сцен, сильно опираясь на лежащие в их основе принципы глубины. Более того, по мере совершенствования методов оптимизации моделей запуск высокоточной оценки глубины на периферийных AI-устройствах становится реальным. Это делает возможными вычисления пространственных данных в реальном времени на таком маленьком оборудовании, как дроны или умные очки, чему способствуют такие платформы, как Ultralytics Platform для эффективного обучения и развертывания моделей.






