Depth Estimation
깊이 추정(depth estimation)이 어떻게 컴퓨터 비전에 3D 관점을 더하는지 배우십시오. Ultralytics YOLO26 모델을 사용하여 단안 깊이 및 스테레오 비전 같은 기법을 탐구하십시오.
깊이 추정은 컴퓨터 비전에서 물체와 카메라 사이의 거리를 결정하는 중요한 과정으로, 2D 이미지에 3차원을 효과적으로 추가합니다. 이미지 내 모든 픽셀이 얼마나 멀리 있는지 계산함으로써, 이 기술은 픽셀의 강도가 거리와 대응되는 표현인 깊이 맵(depth map)을 생성합니다. 이러한 기능은 인간의 양안 시각(binocular vision)을 모방하여 기계가 공간적 관계와 기하학적 구조를 파악할 수 있게 합니다. 이는 자율 시스템이 안전하게 주행하고, 환경을 이해하며, 물리적 물체와 상호작용할 수 있도록 하는 핵심 기술입니다.
Link to this section핵심 메커니즘 및 기술#
깊이 추정을 구현하는 방법은 하드웨어 기반 솔루션부터 인공지능을 활용한 순수 소프트웨어 방식까지 다양합니다.
- 스테레오 비전 시스템: 인간의 눈과 유사하게 스테레오 비전(stereo vision)은 나란히 배치된 두 대의 카메라를 사용합니다. 알고리즘은 왼쪽과 오른쪽 이미지 간의 미세한 차이, 즉 시차(disparity)를 분석하여 거리를 삼각측량합니다. 이는 두 프레임에서 동일한 지점을 식별하기 위한 정확한 특징점 매칭(feature matching)에 크게 의존합니다.
- 단안 깊이 추정(Monocular Depth Estimation): 이 고급 방법은 단일 이미지에서 깊이를 추정합니다. 단일 2D 사진에는 고유한 깊이 데이터가 부족하기 때문에, 딥러닝 모델(deep learning models)을 방대한 데이터셋으로 학습시켜 원근감, 물체 크기, 가림 현상과 같은 시각적 단서를 인식하게 합니다. 합성곱 신경망(CNN)과 같은 현대적 아키텍처는 이 작업에 뛰어나며, 표준 카메라로부터 3D 구조를 도출할 수 있게 합니다.
- LiDAR 및 Time-of-Flight(ToF): LiDAR(Light Detection and Ranging) 및 Time-of-Flight 카메라와 같은 능동형 센서는 광 펄스를 방출하고 반사되어 돌아오는 시간을 측정합니다. 이러한 방법은 매우 정확한 포인트 클라우드(point clouds)를 생성하며, 머신 러닝 모델 학습을 위한 그라운드 트루스(ground truth) 데이터를 수집하는 데 자주 사용됩니다.
Link to this section실제 애플리케이션 사례#
거리를 측정하는 능력은 많은 산업 전반에 걸쳐 혁신적이며, 공간 인식이 필요한 애플리케이션을 구동합니다.
- 자율 주행: 자율 주행 자동차는 장애물을 감지하고 다른 차량과의 거리를 측정하며 복잡한 도로망을 안전하게 주행하기 위해 깊이 추정에 의존합니다. 이는 보행자와 자전거 이용자를 식별하기 위한 3D 객체 탐지(3D object detection)에 필수적입니다.
- 로봇 공학 및 자동화: 로봇은 경로 계획(path planning) 및 물체 조작과 같은 작업을 위해 깊이 인식을 사용합니다. 예를 들어, 창고 로봇은 물건을 집어 들 때 충돌하지 않도록 선반과의 정확한 거리를 알아야 합니다.
- 증강 현실(AR): 가상 물체를 실제 환경에 자연스럽게 배치하기 위해 AR 기기는 환경의 3D 기하학적 구조를 이해해야 합니다. 깊이 추정은 가상 캐릭터가 실제 가구 뒤에 숨을 수 있도록 보장하며, 이를 오클루전(occlusion) 처리라고 합니다.
Link to this section코드 예제: 단안 깊이 추정#
특수 깊이 모델이 존재하지만, 간단한 시나리오에서는 객체 탐지 바운딩 박스를 거리의 대리 지표(박스가 클수록 물체가 가까움)로 사용하여 공간적 관계를 추론할 수 있습니다. 다음은 많은 깊이 인식 파이프라인의 첫 단계인 객체 탐지를 위해 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}")Link to this section다른 컴퓨터 비전 개념과의 관계#
깊이 추정을 관련 용어들과 구분하는 것이 중요합니다. 객체 탐지(object detection)가 (바운딩 박스를 사용하여) 2D 공간에서 물체가 무엇이고 어디에 있는지 식별한다면, 깊이 추정은 물체가 얼마나 멀리 있는지(Z축)를 식별합니다. 마찬가지로 시맨틱 세그멘테이션(semantic segmentation)은 픽셀을 범주(예: 도로, 하늘, 자동차)로 분류하는 반면, 깊이 추정은 동일한 픽셀에 거리 값을 할당합니다.
Link to this section공간 AI의 발전#
생성형 AI(generative AI)의 최근 발전은 2D와 3D 비전 사이의 격차를 메우고 있습니다. Neural Radiance Fields(NeRF)와 같은 기술은 여러 2D 이미지를 사용하여 복잡한 3D 장면을 재구성하며, 이는 근본적인 깊이 원리에 크게 의존합니다. 또한 모델 최적화(model optimization) 기술이 향상됨에 따라 엣지 AI 기기(edge AI devices)에서 매우 정확한 깊이 추정을 실행하는 것이 가능해지고 있습니다. 이는 효율적인 모델 학습 및 배포를 위한 Ultralytics Platform과 같은 플랫폼을 통해 드론이나 스마트 글래스와 같이 작은 하드웨어에서도 실시간 공간 컴퓨팅을 가능하게 합니다.






