For the complete documentation index, see llms.txt. This page is also available as Markdown.

Depth Anything V2

Dedicated Deployment 또는 자체 호스팅 Inference에서 단안 깊이 추정을 위해 Depth Anything V2를 사용하세요.

Depth Anything V2는 단안 깊이 추정 모델입니다. 입력 이미지마다 정규화된 깊이 맵(0과 1 사이의 값)을 반환합니다.

Depth Anything V2는 Serverless Cloud API에서 사용할 수 없습니다. 다음에서 실행하세요: 전용 배포 또는 자가 호스팅 추론.

코드 예시

1

API 키를 받으세요

Roboflow 계정을 만들고, 다음에서 키를 찾으세요. Roboflow API 설정 페이지 그리고 셸에서 사용할 수 있도록 하세요:

export ROBOFLOW_API_KEY="your-key-here"
2

종속성을 설치하세요

다음을 설치하세요 Inference SDK:

pip install -U inference-sdk opencv-python supervision
3

모델을 실행하세요

설정하세요 api_url 사용자 전용 배포 URL 또는 로컬 Inference 서버에서. 이 스크립트는 깊이 맵에 컬러를 입히고 입력과 나란히 비교한 결과를 작성합니다.

import os
import cv2
import numpy as np
import supervision as sv
from inference_sdk import InferenceHTTPClient

image = sv.load_image_from_url("https://media.roboflow.com/notebooks/examples/bicycle.png")
client = InferenceHTTPClient(
    api_url="https://your-deployment.roboflow.cloud",
    api_key=os.environ["ROBOFLOW_API_KEY"],
)
result = client.depth_estimation(image)

depth = np.array(result["normalized_depth"], dtype=np.float32)
depth = cv2.resize(depth, (image.shape[1], image.shape[0]))
depth_vis = (depth * 255).astype(np.uint8)
depth_color = cv2.applyColorMap(depth_vis, cv2.COLORMAP_INFERNO)

cv2.imwrite("depth_annotated.png", np.hstack([image, depth_color]))

추론 속도

다음으로 측정한 지연 시간 Roboflow Inference 1x NVIDIA L4, 배치 크기 1에서, 워밍업 후 평균.

모델
지연 시간(ms)

depth-anything-v2

40.1

Small 체크포인트에서 측정됨.

설정하세요 api_url 를 배포 대상에 맞게:

사용 가능한 모델

깊이 추정 엔드포인트와 depth_estimation@v1 워크플로 블록은 하나의 순서 기반 깊이 계약 뒤에 두 모델 계열을 제공합니다: 이미지 크기와 같은 맵을 이미지별로 정규화하며, 여기서 1.0 는 가장 가깝고 0.0 는 가장 멉니다.

  • Depth Anything (상대 깊이): depth-anything-v2/small, depth-anything-v3/small, depth-anything-v3/base

  • YOLO26 depth (메트릭 깊이, 이 경로에서는 정규화됨, 훨씬 더 빠름): yolo26n-depth-768, yolo26s-depth-768, yolo26m-depth-768, yolo26l-depth-768, yolo26x-depth-768

공유 출력은 모델 간에 형태, 범위, 그리고 가까움에서 멂으로의 순서를 유지하지만, 중간 값은 모델 계열 간에 기하학적으로 동일하지 않습니다. 값은 실제 거리지가 아니라 순서형 근접 점수이며, 서로 다른 이미지나 모델 계열 간에 수치적으로 비교해서는 안 됩니다. YOLO26 체크포인트에서 미터 단위의 절대 메트릭 깊이가 필요하면, 다음과 같이 직접 불러오세요. inference_models.AutoModel.

응답 형식

다음 /infer/depth-estimation 엔드포인트는 normalized_depth 을 요청의 depth_map_format 필드에 따라 직렬화합니다:

  • json (기본값): 0과 1 사이의 부동소수점 숫자 중첩 리스트입니다. 이전 클라이언트와 호환되지만, 1080x810 이미지의 경우 대략 17MB입니다.

  • png16: 16비트 그레이스케일 PNG의 base64(양자화 단계 1/65535, 일반적으로 10배 이상 더 작고 서빙도 훨씬 빠름).

  • png8: 8비트 그레이스케일 PNG의 base64(256개의 깊이 레벨, 대략 또 한 차수 더 작음). 시각화와 임계값 설정에는 적합하지만, 미분 기반 기하학적 용도에는 손실이 있습니다.

SDK의 depth_estimation() 메서드의 기본값은 json이며, 따라서 기존 통합은 계속 중첩 리스트를 받습니다. 다음을 전달하세요 depth_map_format="png16" (또는 "png8")를 사용해 더 작은 페이로드를 선택할 수 있습니다. SDK는 이를 다시 numpy.ndarray 로 디코딩합니다( .tolist() 을 호출하면 JSON 직렬화 가능한 출력을 얻을 수 있습니다).

Inference(자가 호스팅)와 함께 사용

다음의 모델을 직접 불러올 수도 있습니다. inference 패키지.

1

패키지를 설치하세요

사용하세요 inference-gpu[transformers] GPU 머신에서.

2

Hugging Face로 인증하기

가중치는 Hugging Face에서 가져오므로, 다음을 설정하세요. Hugging Face 토큰:

3

모델을 실행하세요

normalized_depth 는 이미지별 깊이 맵을 보유하고, image 는 밝은 색이 더 가깝고 어두운 색이 더 먼 컬러화된 시각화를 보유합니다.

워크플로의 실행 모드

다음에서 사용될 때 워크플로에서는, 깊이 추정이 두 가지 모드 중 하나로 실행됩니다:

  • 로컬 실행: 모델이 Inference 서버에서 실행됩니다(GPU 권장).

  • 원격 실행: 모델이 depth_estimation() 클라이언트 메서드를 통해 원격 Inference 서버에서 HTTP로 호출됩니다.

마지막 업데이트

도움이 되었나요?