Ultralytics YOLO26, 단안 깊이 추정 지원
Ultralytics YOLO26의 새로운 깊이 추정 작업이 스테레오 리그나 LiDAR 없이 단일 RGB 이미지에서 픽셀별 미터 단위 깊이를 예측하는 방법을 알아보세요.

지금까지 YOLO 파이프라인에 깊이 정보를 추가하려면 직접 구성해야 했습니다. 일반적으로 YOLO를 탐지에 사용한 다음 MiDaS 또는 Depth Anything과 같은 다른 프로젝트의 별도 깊이 모델을 함께 실행했습니다. 이 방식은 두 번째 의존성, 두 번째 프레임워크, 그리고 조정해야 하는 두 세트의 입력 및 출력 형식을 의미했습니다.
이제 단안 깊이 추정이 Ultralytics YOLO26의 기본 task로 제공됩니다. 하나의 RGB 이미지에서 모든 픽셀에 대한 거리 값을 생성하며, 탐지, segmentation, pose와 동일한 패키지, workflow, export 경로를 사용합니다.
깊이 추정이란 무엇인가요?#
깊이 추정은 두 번째 카메라나 추가 센서 없이 하나의 RGB 이미지에서 픽셀별 깊이 맵을 예측합니다. 각 출력 픽셀에는 미터 단위의 깊이 값이 포함되며, 이는 카메라에서 해당 표면 지점까지의 추정 거리를 나타냅니다.
출력은 입력에 맞춰 정렬된 (H, W) shape의 dense float 맵이며, 모든 픽셀에 미터 단위의 절대 거리를 포함합니다. 이는 카메라로부터의 거리이지, 어떤 대상이 더 가깝고 더 먼지를 나타내는 상대적 순서가 아닙니다.
깊이는 자체 checkpoint를 사용하는 독립적인 task이며, 출력은 깊이 맵뿐입니다. bounding box나 segmentation mask는 반환하지 않습니다. 따라서 탐지와 깊이를 결합하려면 두 모델과 두 번의 forward pass를 실행해야 합니다. 이전 방식과 달라진 점은 이제 두 task가 하나의 패키지 안에 포함되어 하나의 설치, 하나의 training 및 prediction interface, 하나의 export 경로, 하나의 추적할 버전을 공유한다는 것입니다. 첫 번째 프레임워크와 함께 유지 관리할 두 번째 프레임워크가 필요하지 않습니다.
이러한 픽셀별 출력 덕분에 깊이 정보는 장애물 및 free-space 탐지, clearance 확인, scene layout, 그리고 무엇이 무엇보다 앞에 있는지 파악하는 데 유용합니다.
그림 1. 안전 및 규정 준수 모니터링을 위한 Ultralytics YOLO26 깊이 추정입니다.
Ultralytics YOLO26은 yolo26n-depth부터 yolo26x-depth까지 5개의 pretrained 깊이 모델을 제공합니다. 이 모델들은 약 219만 개의 실내 및 실외 이미지를 아우르는 광범위한 다중 데이터셋 조합으로 학습되었습니다. NYU Depth V2 데이터셋에서 nano 모델의 0.882 δ1 정확도부터 extra-large 모델의 0.933까지 성능 범위를 제공하므로, deployment target에 맞는 속도와 정확도의 trade-off를 선택할 수 있습니다.
설계상 제한이 없는 깊이 추정#
대부분의 깊이 모델은 예측 범위를 0~10m와 같이 고정된 범위로 제한합니다. 이는 실내 장면에서는 잘 작동하지만 실외에서는 성능이 저하됩니다. 반면 Ultralytics는 고정된 cutoff 없이 개방형 log scale로 깊이를 예측합니다.
이 차이는 테스트에서 드러납니다. 제한된 모델은 실내 및 실외 데이터가 혼합된 데이터로 학습할 때 거의 즉시 성능이 정체되며, 객체가 80m 떨어져 있을 수 있는 KITTI와 같은 장거리 데이터셋에서는 제대로 작동하지 않습니다. Ultralytics YOLO26의 방식에는 이러한 상한이 없으므로 더 많은 데이터와 함께 계속 개선되며, 수 센티미터부터 수백 미터까지 안정적으로 작동합니다. KITTI에서 δ1은 80m 범위에서 0.942에 도달합니다. 즉, 하나의 모델 제품군이 탁상 장면과 고속도로 장면을 동일하게 잘 처리합니다.
Ultralytics YOLO26 깊이와 Depth Anything V2 비교#
현재 YOLO와 함께 Depth Anything을 실행하고 있다면 차이는 속도와 그에 따른 compute 비용입니다. Ultralytics YOLO26 depth는 훨씬 작은 모델에서 실행되며, nano 모델은 10M개 미만의 parameter를 사용하고 DA V2의 더 작은 checkpoint는 약 24M개를 사용합니다. 이를 바탕으로 Depth Anything V2 Base보다 최대 20.3배, Depth Anything V2 Small보다 최대 7.7배 빠릅니다.
그림 2. Depth Anything V2 대비 Ultralytics YOLO26 depth의 속도 benchmark입니다.
이러한 격차가 바로 이 설계의 목적입니다. Depth Anything V2의 모델은 상당히 더 큽니다. Ultralytics YOLO26-Depth는 프레임당 compute 비용이 낮고, 해당 모델들이 도달할 수 없는 hardware에도 배포할 수 있는 크기와 속도로 뛰어난 깊이 성능을 제공하도록 설계되었습니다. NYU Depth V2와 KITTI의 모델별 정확도 수치는 docs에 공개되어 있으므로, 실제 요구 사항과 비교해 확인할 수 있습니다.
실행 환경#
이러한 크기 차이가 깊이 추정을 실제로 어디에 적용할 수 있는지를 결정합니다. 깊이 추정을 평가하는 대부분의 팀은 아이디어가 부족한 것이 아니라 compute가 부족합니다. 저전력 drone, 사족보행 robot, wearable 기기, dashcam, conferencing hardware, industrial PC는 모두 정확도 한계에 도달하기 전에 전력 및 비용 한계에 도달합니다.
깊이 추정은 5개의 pretrained 모델로 제공되므로 benchmark에서 우승하는 크기가 아니라 target에 맞는 크기를 선택할 수 있습니다. 깊이가 기본 Ultralytics YOLO26 task이므로 탐지, segmentation, pose와 동일한 export 경로를 사용하며, 다음 형식을 지원합니다: ONNX, TensorRT, CoreML, NCNN, LiteRT.
Ultralytics YOLO26 depth 시작하기#
Ultralytics Python package는 depth를 포함한 모든 YOLO26 task에서 training, validation, inference 실행을 위한 단일 통합 interface를 제공합니다. pretrained depth 모델을 실행하려면 다음 단일 command를 사용합니다:
from ultralytics import YOLO
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-depth.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom model
# Predict with the model
results = model("https://ultralytics.com/images/bus.jpg") # predict on an image
# Access the results
for result in results:
depth_map = result.depth.data.cpu().numpy() # torch.Tensor → NumPy float32, shape (H, W), meters또는 CLI에서 다음과 같이 실행합니다:
yolo depth predict model=yolo26n-depth.pt source='https://ultralytics.com/images/bus.jpg' # predict with official model
yolo depth predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg' # predict with custom model절대 거리는 camera와 scene에 따라 달라집니다. 깊이 맵의 shape은 올바르지만 scale이 맞지 않는 경우, model.calibrate()는 약 100개의 label이 지정된 frame에서 모델의 depth head에 있는 두 변수, 즉 scale과 offset을 몇 초 만에 fitting합니다. training이 필요하지 않으며 네트워크의 나머지 부분도 변경하지 않습니다.
자체 데이터로 fine-tuning하기#
pretrained depth 모델을 자체 camera 또는 domain에 맞게 조정하려면 pretrained weight에서 시작하고 AdamW을 사용합니다. 그런 다음 from-scratch 기본값보다 learning rate를 크게 낮춰 fine-tuning이 모델을 덮어쓰는 대신 개선하도록 합니다:
from ultralytics import YOLO
from ultralytics import YOLO
model = YOLO("yolo26s-depth.pt") # start from pretrained weights
model.train(
data="path/to/your_dataset.yaml",
epochs=20,
imgsz=640,
optimizer="AdamW",
lr0=1e-4, # ~100x below the from-scratch default
warmup_bias_lr=1e-4, # keep warmup gentle too
)기본 log head는 제한이 없으므로 데이터셋이 근거리이든 장거리이든 max_depth tuning 없이 바로 작동합니다. 특정 camera에서 절대 scale만 맞지 않는 경우에는 model.calibrate()이 소규모 label split에 대해 lightweight closed-form correction을 몇 초 만에 fitting하며, 네트워크 weight는 변경하지 않습니다.
데이터셋에서는 각 RGB 이미지가 일치하는 folder structure 내의 .npy depth 파일과 연결됩니다. 또한 Ultralytics는 NYU Depth V2, KITTI, Hypersim, SUN RGB-D, ARKitScenes용 내장 config를 제공하므로 대부분의 팀이 즉시 standard benchmark를 기준으로 validation을 시작할 수 있습니다.
깊이 추정의 주요 사용 사례#
이 새로운 기능은 하나의 일반 camera만으로 작동할 수 있으므로, 단안 깊이 추정은 stereo 또는 LiDAR setup의 비용, 전력 소비, calibration overhead를 감당하기 어려운 제품과 산업에 수많은 기회를 제공합니다. 이 기능의 혜택을 받을 수 있는 주요 산업과 사용 사례를 살펴보겠습니다:
- Robotics 및 autonomous navigation. Mobile robot과 drone은 하나의 onboard camera만으로 장애물 거리와 free space를 추정하여 전용 깊이 hardware 없이 real-time path planning을 지원할 수 있습니다.
- Industrial 및 logistics awareness. 두 번째 sensor를 추가하기 어려운 곳에서 하나의 고정 camera만으로 clearance 확인, free-space 탐지, shelf 또는 aisle context를 확보할 수 있습니다.
- Safety 및 compliance monitoring. Forklift 및 warehouse safety zone, railway incident detection, 기존 CCTV를 활용한 쓰러진 사람 및 방치된 물체 탐지를 지원합니다. 이미 설치된 camera feed에 거리 context를 추가하며, 기존 safety-certified sensor를 대체하지 않고 함께 사용합니다.
- Infrastructure 및 asset inspection. overhead line clearance 분석, drone 기반 asset 및 corrosion inspection, aerial survey 작업을 지원합니다. 이러한 작업에서는 동일한 모델 제품군이 close-up detail과 장거리 scene을 모두 처리해야 합니다.
- Driver assistance 및 automotive perception. 장거리에서 제한 없는 depth output을 제공하므로, close-up 실내 scene을 처리하는 동일한 모델 제품군이 80m 이상의 driving scene에도 일반화됩니다.
- AR 및 spatial content. 실제 scene에 virtual object를 자연스럽게 배치하거나 depth-aware effect를 적용하려면 먼저 각 픽셀이 camera에서 실제로 얼마나 떨어져 있는지 알아야 합니다.
모든 Ultralytics YOLO26 deployment에 깊이 추정 적용하기#
깊이 추정이 기본 Ultralytics YOLO26 task로 제공되므로, 팀은 산업 전반에서 모든 RGB camera의 픽셀별 거리를 활용할 수 있습니다. 또한 탐지, segmentation, pose에서 이미 익숙한 동일한 train, val, predict, export workflow를 사용하며, 유지 관리해야 할 third-party dependency도 하나 줄어듭니다.
Ultralytics YOLO26 depth로 deployment 범위를 정할 때 고려해야 할 몇 가지 핵심 사항을 살펴보겠습니다:
- Ultralytics YOLO Depth는 RGB camera용으로 설계되었습니다. webcam, phone, industrial camera, drone을 포함한 모든 standard camera가 작동합니다. 그러나 LiDAR point cloud, radar, sonar, thermal 및 multispectral band, mesh 및 IFC data와 같은 다른 modality는 모델의 input format에 포함되지 않습니다.
- Perception 의사 결정을 위한 metric distance입니다. 출력은 미터 단위의 실제 거리이므로 navigation, clearance, monitoring에 적합합니다. 그러나 인증된 tolerance가 필요한 application에서는 전용 metrology 장비가 여전히 적절한 instrument입니다.
- Per-image inference입니다. 깊이는 다른 모든 Ultralytics YOLO26 task와 동일하게 각 frame에서 독립적으로 실행되므로, 변경 없이 기존 per-frame pipeline에 바로 적용할 수 있습니다. Sequence 전반에 걸친 reasoning은 application layer에서 처리합니다.
- Ultralytics YOLO26-Depth는 texture가 있고 불투명한 surface에서 가장 뛰어난 성능을 보입니다. Glass, mirror, 고인 물, polished metal, open sky는 모든 단일 camera 방식에서 본질적으로 모호하므로, 실제 environment를 대표하는 scene에서 validation하는 것이 좋습니다.
vision AI가 궁금하신가요? 라이선스 옵션을 살펴보고 프로젝트에 computer vision을 도입해 보세요. GitHub repository를 방문하여 Ultralytics task와 integration의 전체 범위를 확인하고, Ultralytics Platform에서 자체 end-to-end vision AI workflow 구축을 시작해 보세요.









