Узнайте, как оценка глубины создает карты глубины из изображений - стерео, ToF, LiDAR и монокулярное глубокое обучение - для робототехники, AR/VR и 3D-восприятия.
Оценка глубины - фундаментальная задача в компьютерного зрения (КВ), которая заключается в определении расстояние объектов в сцене относительно камеры. Вычисляя значение глубины для каждого пикселя изображения, этот процесс преобразует стандартные двумерные данные в насыщенное 3D-представление, часто называемое картой глубины. Эта способность необходима машинам для восприятия пространственных отношений, что позволяет им ориентироваться в окружающей среде, манипулировать объектами и понимать геометрию мира, как это делает зрительная система человека.
Оценка глубины может быть достигнута с помощью различных методов, начиная от аппаратно-интенсивного активного зондирования и заканчивая программно-управляемых подходов глубокого обучения (DL).
Способность воспринимать третье измерение открывает важнейшие функциональные возможности в различных отраслях.
В области автономных транспортных средств оценка глубины Оценка глубины жизненно важна для безопасности и навигации. Самостоятельно управляемые автомобили комбинируют данные с камер и LiDAR для detect препятствий, оценки расстояния до других автомобилей и построения карты дороги в реальном времени. Аналогичным образом робототехнике восприятие глубины позволяет автоматическим манипуляторам выполнять операции "подобрать и разместить", точно определяя положение и форму предметов в автоматизации производства.
Для дополненная реальность Чтобы впечатления от использования дополненной реальности были захватывающими, виртуальные объекты должны реалистично взаимодействовать с физическим миром. Оценка глубины позволяет мобильным устройствам понимать геометрию помещения, что позволяет размещать виртуальную мебель или персонажей на на полу или спрятать за реальными объектами (окклюзия), что значительно улучшает пользовательский опыт.
Хотя существуют специальные модели глубины, разработчики часто используют 2D
обнаружение объектов наряду с данными калибровки для
приблизительного определения расстояния. Сайт ultralytics Библиотека упрощает эту задачу с помощью модуля решений, позволяя пользователям
оценивать расстояние до отслеживаемых объектов на основе их положения в ограничительной рамке.
Следующий код демонстрирует, как использовать YOLO11 для track объектов и вычисления их приблизительного расстояние от камеры.
import cv2
from ultralytics import YOLO, solutions
# Load the YOLO11 model for object detection
model = YOLO("yolo11n.pt")
# Initialize the DistanceCalculation solution
# This estimates distance based on bounding box centroids
dist_obj = solutions.DistanceCalculation(names=model.names, view_img=True)
# Open a video file or camera stream
cap = cv2.VideoCapture("path/to/video.mp4")
while cap.isOpened():
success, im0 = cap.read()
if not success:
break
# Track objects and calculate distance
tracks = model.track(im0, persist=True, show=False)
im0 = dist_obj.start_process(im0, tracks)
# Display result (or save/process further)
cv2.imshow("Distance Estimation", im0)
if cv2.waitKey(1) == ord("q"):
break
cap.release()
cv2.destroyAllWindows()
Важно отличать оценку глубины от аналогичных терминов в экосистеме ИИ:
Последние достижения в области генеративного искусственного интеллекта и фундаментальных модели еще больше сокращают разрыв между 2D и 3D. Такие техники, как Neural Radiance Fields (NeRF) используют разреженные 2D-изображения для реконструкции сложных 3D-сцен, в значительной степени опираясь на базовые принципы глубины. По мере оптимизации улучшается оптимизация моделей, высокоточная оценка глубины становится возможной на устройствах, работающих на границе, что позволит создать следующее поколение интеллектуальных беспилотников, сервисных роботов и устройств для пространственных вычислений.