Depth Estimation
깊이 추정이 컴퓨터 비전에 3D 관점을 추가하는 방법을 알아보세요. Ultralytics YOLO26 모델을 사용한 단안 깊이 및 스테레오 비전과 같은 기법을 살펴보세요.
깊이 추정은 컴퓨터 비전에서 카메라로부터 객체까지의 거리를 파악하여 2D 이미지에 사실상 세 번째 차원을 추가하는 핵심 프로세스입니다. 이미지의 각 픽셀이 얼마나 멀리 떨어져 있는지 계산함으로써 이 기술은 픽셀 강도가 거리에 대응하는 표현인 깊이 맵을 생성합니다. 이러한 기능은 인간의 양안 시각을 모방하여 기계가 공간적 관계와 기하 구조를 인식할 수 있도록 합니다. 깊이 추정은 자율 시스템이 안전하게 탐색하고, 주변 환경을 이해하며, 물리적 객체와 상호작용하도록 지원하는 핵심 기술입니다.
핵심 메커니즘 및 기술#
깊이 추정을 달성하는 방법에는 하드웨어 기반 솔루션부터 인공지능을 사용하는 순수 소프트웨어 기반 접근 방식까지 여러 가지가 있습니다.
- 스테레오 비전 시스템: 인간의 눈과 유사한 스테레오 비전은 나란히 배치된 두 대의 카메라를 사용합니다. 알고리즘은 왼쪽 이미지와 오른쪽 이미지 사이의 미세한 차이 또는 시차를 분석하여 거리를 삼각 측량합니다. 이 과정은 두 프레임에서 동일한 지점을 식별하기 위한 정확한 특징 매칭에 크게 의존합니다.
- 단안 깊이 추정: 이 고급 방법은 단일 이미지에서 깊이를 추정합니다. 단일 2D 사진에는 본질적인 깊이 데이터가 없으므로 딥러닝 모델은 원근, 객체 크기, 가림과 같은 시각적 단서를 인식하도록 방대한 데이터셋으로 학습됩니다. 합성곱 신경망(CNN)과 같은 최신 아키텍처는 이 작업에 뛰어난 성능을 보여 표준 카메라에서 3D 구조를 도출할 수 있도록 합니다.
- LiDAR 및 비행 시간(ToF): LiDAR(빛 감지 및 거리 측정) 및 비행 시간 카메라와 같은 능동 센서는 광 펄스를 방출하고 광 펄스가 돌아오는 데 걸리는 시간을 측정합니다. 이러한 방법은 매우 정확한 포인트 클라우드를 생성하며, 머신 러닝 모델 학습을 위한 ground truth 데이터를 수집하는 데 자주 사용됩니다.
실제 적용 사례#
거리를 파악하는 기능은 공간 인식이 필요한 애플리케이션을 지원하며 다양한 산업을 혁신하고 있습니다.
- 자율주행: 자율주행 차량은 장애물을 감지하고, 다른 차량까지의 거리를 측정하며, 복잡한 도로망을 안전하게 주행하기 위해 깊이 추정에 의존합니다. 깊이 추정은 보행자와 자전거 이용자를 식별하는 3D 객체 감지에 필수적입니다.
- 로보틱스 및 자동화: 로봇은 경로 계획 및 객체 조작과 같은 작업에 깊이 인식을 사용합니다. 예를 들어 창고 로봇은 선반이 얼마나 떨어져 있는지 정확히 파악해야 선반과 충돌하지 않고 패키지를 집을 수 있습니다.
- 증강 현실(AR): 가상 객체를 실제 장면에 자연스럽게 배치하려면 AR 장치가 환경의 3D 기하 구조를 이해해야 합니다. 깊이 추정은 가상 캐릭터가 실제 가구 뒤에 가려질 수 있도록 하며, 이러한 개념을 가림 처리라고 합니다.
코드 예제: 단안 깊이 추정#
특화된 깊이 모델도 있지만, 간단한 시나리오에서는 객체 감지 바운딩 박스를 거리를 추정하는 대용 지표로 사용하여 공간적 관계를 파악할 수 있는 경우가 많습니다(더 큰 박스는 대개 더 가까운 객체를 의미합니다). 다음은 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축)를 식별합니다. 마찬가지로 시맨틱 세그멘테이션은 픽셀을 카테고리(예: 도로, 하늘, 자동차)로 분류하는 반면, 깊이 추정은 동일한 픽셀에 거리 값을 할당합니다.
공간 AI의 발전#
최근 생성형 AI의 발전은 2D 비전과 3D 비전 간의 격차를 좁히고 있습니다. Neural Radiance Fields(NeRF)와 같은 기술은 여러 2D 이미지를 사용하여 복잡한 3D 장면을 재구성하며, 기본적인 깊이 원리에 크게 의존합니다. 또한 모델 최적화 기술이 발전함에 따라 엣지 AI 장치에서 매우 정확한 깊이 추정을 실행하는 것이 가능해지고 있습니다. 이를 통해 드론이나 스마트 글래스처럼 작은 하드웨어에서도 실시간 공간 컴퓨팅을 구현할 수 있으며, 효율적인 모델 학습 및 배포를 지원하는 Ultralytics Platform과 같은 플랫폼이 이를 뒷받침합니다.









