Transformers documentation
CHMv2
이 모델은 2026-03-06에 HF papers에 게시되었으며, 2026-03-11에 Hugging Face Transformers에 기여되었습니다.
CHMv2
개요
Canopy Height Maps v2 (CHMv2) 모델은 CHMv2: Improvements in Global Canopy Height Mapping using DINOv3에서 제안되었습니다. 2024년에 공개된 원본 고해상도 수관 높이 지도를 기반으로, CHMv2는 Meta의 자기지도형 비전 모델인 DINOv3를 활용하여 정확도, 세부 정보, 그리고 전 지구적 일관성에서 상당한 개선을 제공합니다.
더 자세한 정보는 여기에서, 원본 코드는 여기에서 확인할 수 있습니다.
해당 논문의 초록은 다음과 같습니다:
정확한 수관 높이 정보는 산림 탄소 정량화, 복원 및 훼손 모니터링, 서식지 구조 평가에 필수적이지만, 항공 레이저 스캐닝(ALS)을 통한 고해상도 측정은 전 세계적으로 고르게 제공되지 않고 있습니다. 본 논문에서는 DINOv3 기반 깊이 추정 모델을 활용하여 ALS 수관 높이 모델에 대해 학습시킨 후, 고해상도 광학 위성 영상을 통해 전 지구적 미터 해상도 수관 높이 지도인 CHMv2를 생성하는 방법을 제시합니다. 기존 제품과 비교할 때, CHMv2는 정확도를 크게 향상시키고, 높은 산림에서의 편향을 줄이며, 수관 가장자리와 빈 공간과 같은 미세한 구조를 더 잘 보존합니다. 이러한 성능 향상은 지리적으로 다양한 대규모 학습 데이터의 확장, 자동화된 데이터 큐레이션 및 정렬, 그리고 수관 높이 분포에 맞춤화된 손실 함수 구성 및 데이터 샘플링 전략에 의해 가능해졌습니다. 독립적인 ALS 테스트 세트 및 수천만 건의 GEDI와 ICESat-2 관측 데이터에 대해 CHMv2를 검증한 결과, 주요 산림 생물 군계 전반에서 일관된 성능을 입증했습니다.
사용 예시
다음 코드로 이미지에 대해 추론을 실행합니다:
import torch
from PIL import Image
from transformers import AutoImageProcessor, AutoModelForDepthEstimation
processor = AutoImageProcessor.from_pretrained("facebook/dinov3-vitl16-chmv2-dpt-head")
model = AutoModelForDepthEstimation.from_pretrained("facebook/dinov3-vitl16-chmv2-dpt-head", device_map="auto")
image = Image.open("image.tif")
inputs = processor(images=image, return_tensors="pt").to(model.device)
with torch.no_grad():
outputs = model(**inputs)
depth = processor.post_process_depth_estimation(
outputs, target_sizes=[(image.height, image.width)]
)[0]["predicted_depth"]CHMv2Config
클래스 transformers.CHMv2Config
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonebackbone_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonepatch_size: int = 16initializer_range: float = 0.02reassemble_factors: list[float | int] | None = Nonepost_process_channels: list[int] | None = Nonefusion_hidden_size: int = 256head_hidden_size: int = 128number_output_channels: int = 256readout_type: str = 'project'min_depth: float = 0.001max_depth: float = 96.0bins_strategy: typing.Literal['linear', 'log', 'chmv2_mixlog'] = 'chmv2_mixlog'norm_strategy: typing.Literal['linear', 'softmax', 'sigmoid', 'chmv2_mixlog'] = 'chmv2_mixlog' )
매개변수
- backbone_config (
Union[dict, "PreTrainedConfig"], 선택) — 백본 모델의 설정입니다. 현재 DINOv3ViTConfig만 지원됩니다. - patch_size (
int, 선택 사항, 기본값 16) — 백본 비전 트랜스포머에서 사용하는 패치 크기입니다. - initializer_range (
float, 선택 사항, 기본값0.02) — 모든 가중치 행렬을 초기화하는 truncated_normal_initializer의 표준 편차입니다. - reassemble_factors (
list[float], 선택 사항, 기본값[4, 2, 1, 0.5]) — reassemble 레이어의 업/다운샘플링 계수입니다. - post_process_channels (
list[int], 선택 사항, 기본값[128, 256, 512, 1024]) — 각 backbone feature level에 대한 reassemble stage의 출력 채널 크기입니다. - fusion_hidden_size (
int, 선택 사항, 기본값 256) — 퓨전 이전의 채널 수입니다. - head_hidden_size (
int, 선택 사항, 기본값 128) — 깊이 추정 헤드(hidden layer)의 히든 레이어 채널 수입니다. - number_output_channels (
int, 선택 사항, 기본값 256) — CHMv2 헤드에 대한 출력 채널 수(깊이 빈의 수). - readout_type (
str, 선택 사항, 기본값"project") — CLS 토큰에 대한 readout 연산의 유형.["ignore", "add", "project"]중 하나입니다. - min_depth (
float, 선택 사항, 기본값 0.001) — 깊이 버킷 계산에 사용되는 최소 깊이 값입니다. - max_depth (
float, 선택 사항, 기본값 96.0) — 깊이 bin 계산에 사용되는 최대 깊이 값입니다. - bins_strategy (
str, 선택 사항, 기본값"chmv2_mixlog") — 깊이 bins 분포에 사용할 전략입니다.["linear", "log", "chmv2_mixlog"]중 하나를 지정합니다. - norm_strategy (
str, 선택 사항, 기본값"chmv2_mixlog") — 깊이 예측에 사용되는 정규화 전략입니다.["linear", "softmax", "sigmoid", "chmv2_mixlog"]중 하나를 지정합니다.
이것은 Chmv2Model의 설정을 저장하기 위한 설정 클래스입니다. 지정된 인자에 따라 Chmv2 모델을 인스턴스화하고 모델 아키텍처를 정의하는 데 사용됩니다. 기본값으로 설정을 인스턴스화하면 facebook/dinov3-vitl16-chmv2-dpt-head와 유사한 설정이 생성됩니다.
Configuration 객체는 PreTrainedConfig를 상속하며 모델 출력을 제어하는 데 사용할 수 있습니다. 자세한 내용은 PreTrainedConfig의 문서를 참고하세요.
CHMv2ImageProcessor
class transformers.CHMv2ImageProcessor
< source >( **kwargs: *<class 'transformers.models.chmv2.image_processing_chmv2.CHMv2ImageProcessorKwargs'> )
매개변수
- do_convert_rgb (
bool, kwargs, 선택 사항) — 이미지를 RGB로 변환할지 여부입니다. - do_resize (
bool, kwargs, 선택, 기본값False) — 이미지를 리사이즈할지 여부. - size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, 기본값{'height' -- 384, 'width': 384}): 모델에 입력되는 최대 차원을 설명합니다. - default_to_square (
bool, kwargs, 선택 사항, 기본값True) — size가 int인 경우 리사이즈 시 정사각형 이미지로 기본 설정할지 여부입니다. - crop_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, 기본값None) —center_crop을 적용한 후의 출력 이미지 크기입니다. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, 기본값3) — 이미지를 리사이즈할 때 사용할 리샘플링 필터입니다.PILImageResamplingenum 중 하나를 사용할 수 있습니다.do_resize가True로 설정된 경우에만 효과가 있습니다. - do_rescale (
bool, kwargs, 선택, 기본값True) — 이미지를 다시 스케일링할지 여부. - rescale_factor (
float, kwargs, 선택 사항, 기본값0.00392156862745098) —do_rescale이True로 설정된 경우 이미지를 재조정(rescale)하는 데 사용할 재조정 계수입니다. - do_normalize (
bool, kwargs, 선택, 기본값True) — 이미지를 정규화할지 여부. - image_mean (
Union[float, list[float], tuple[float, ...]], kwargs, 선택, 기본값[0.42, 0.411, 0.296]) — 정규화에 사용할 이미지 평균입니다.do_normalize가True로 설정된 경우에만 효과가 있습니다. - image_std (
Union[float, list[float], tuple[float, ...]], kwargs, 선택, 기본값[0.213, 0.156, 0.143]) — 정규화에 사용할 이미지 표준 편차입니다.do_normalize가True로 설정된 경우에만 효과가 있습니다. - do_pad (
bool, kwargs, 선택, 기본값True) — 이미지에 패딩을 적용할지 여부입니다. 패딩은 배치 내 가장 큰 크기로 수행하거나, 이미지마다 고정된 정사각형 크기로 수행합니다. 정확한 패딩 전략은 모델에 따라 달라집니다. - pad_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — 이미지를 패딩할{"height": int, "width" int}크기를 지정합니다. 전처리용으로 제공된 모든 이미지 크기보다 커야 합니다.pad_size가 제공되지 않으면, 배치 내 가장 큰 높이와 너비로 패딩됩니다.do_pad=True.일 때만 적용됩니다. - do_center_crop (
bool, kwargs, 선택, 기본값None) — 이미지를 중앙으로 크롭할지 여부. - data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, 선택 사항) —ChannelDimension.FIRST만 지원됩니다. 느린 프로세서와의 호환성을 위해 추가되었습니다. - input_data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, 선택 사항) — 입력 이미지의 채널 차원 형식입니다. 설정되지 않으면 입력 이미지에서 채널 차원 형식을 추론합니다. 다음 중 하나일 수 있습니다:"channels_first"또는ChannelDimension.FIRST: (num_channels, height, width) 형식의 이미지."channels_last"또는ChannelDimension.LAST: (height, width, num_channels) 형식의 이미지."none"또는ChannelDimension.NONE: (height, width) 형식의 이미지.
- device (
Annotated[Union[str, torch.device, NoneType], None], kwargs) — 동영상을 처리할 장치입니다. 설정되지 않은 경우, 입력 동영상에서 장치를 추론합니다. - return_tensors (
Annotated[str | ~utils.generic.TensorType | None, None], kwargs) —'pt'로 설정된 경우 스택된 텐서를 반환하고, 그렇지 않으면 텐서 목록을 반환합니다. - disable_grouping (
bool, kwargs, 선택 사항) — 이미지를 크기에 따라 그룹화하는 것을 비활성화하여 배치 대신 개별적으로 처리할지 여부입니다. None인 경우, 이미지가 CPU에 있으면 True, 그렇지 않으면 False로 설정됩니다. 이 선택은 https://github.com/huggingface/transformers/pull/38157에 자세히 설명된 경험적 관찰에 기반합니다. - image_seq_length (
int, kwargs, 선택 사항) — 입력에서 각 이미지에 사용할 이미지 토큰의 수입니다. 하위 호환성을 위해 추가되었지만, 향후 모델에서는 프로세서 속성으로 설정해야 합니다. - ensure_multiple_of (
int, kwargs, 선택 사항, 기본값 1) —do_resize가True인 경우, 이미지는 이 값의 배수가 되는 크기로 리사이즈됩니다.preprocess의ensure_multiple_of로 재정의할 수 있습니다. - size_divisor (
int, kwargs, 기본값16) — 높이와 너비가 모두 나뉘도록 보장하는 크기입니다. - keep_aspect_ratio (
bool, kwargs, 선택 사항, 기본값False) —True인 경우, 종횡비가 유지되도록 가능한 가장 큰 크기로 이미지가 리사이즈됩니다.preprocess의keep_aspect_ratio로 이 값을 재정의할 수 있습니다. - do_reduce_labels (
bool, kwargs, 선택 사항, 기본값self.do_reduce_labels) — 세그멘테이션 맵의 모든 라벨 값을 1만큼 줄일지 여부입니다. 일반적으로 배경에 0이 사용되고, 배경 자체가 데이터셋의 모든 클래스에 포함되지 않는 데이터셋(예: ADE20k)에서 사용됩니다. 배경 라벨은 255로 대체됩니다.
CHMv2ImageProcessor 이미지 프로세서를 생성합니다.
preprocess
< source >( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]segmentation_maps: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor'], NoneType] = None**kwargs: *<class 'transformers.models.chmv2.image_processing_chmv2.CHMv2ImageProcessorKwargs'> ) → ~image_processing_base.BatchFeature
매개변수
- images (
Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]) — 전처리할 이미지. 픽셀 값이 0에서 255 범위로 이루어진 단일 이미지 또는 배치 이미지를 기대합니다. 픽셀 값이 0에서 1 사이인 이미지를 전달하는 경우do_rescale=False로 설정하세요. - segmentation_maps (
ImageInput, 선택 사항) — 전처리할 분할 맵입니다. - do_convert_rgb (
bool, kwargs, 선택 사항) — 이미지를 RGB로 변환할지 여부입니다. - do_resize (
bool, kwargs, 선택) — 이미지를 리사이즈할지 여부. - size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — 모델의 최대 입력 차원을 설명합니다. - default_to_square (
bool, kwargs, 선택 사항) — size가 int인 경우 리사이즈 시 정사각형 이미지로 기본 설정할지 여부. - crop_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) —center_crop을 적용한 후 출력 이미지의 크기. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None], kwargs) — 이미지를 리사이즈할 경우 사용할 리샘플링 필터입니다. 이는PILImageResamplingenum 중 하나일 수 있습니다.do_resize가True로 설정된 경우에만 효과가 있습니다. - do_rescale (
bool, kwargs, 선택 사항) — 이미지를 다시 스케일링할지 여부입니다. - rescale_factor (
float, kwargs, optional) —do_rescale이True로 설정된 경우 이미지를 리스케일하기 위한 리스케일 팩터입니다. - do_normalize (
bool, kwargs, optional) — 이미지를 정규화할지 여부. - image_mean (
Union[float, list[float], tuple[float, ...]], kwargs, 선택) — 정규화에 사용할 이미지 평균입니다.do_normalize가True로 설정된 경우에만 효과가 있습니다. - image_std (
Union[float, list[float], tuple[float, ...]], kwargs, 선택) — 정규화에 사용할 이미지 표준 편차.do_normalize가True로 설정된 경우에만 효과가 있습니다. - do_pad (
bool, kwargs, optional) — 이미지를 패딩할지 여부입니다. 패딩은 배치 내 가장 큰 크기로 수행하거나, 이미지마다 고정된 정사각형 크기로 수행합니다. 정확한 패딩 전략은 모델에 따라 달라집니다. - pad_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — 이미지를 패딩할{"height": int, "width" int}크기를 지정합니다. 전처리용으로 제공된 모든 이미지 크기보다 커야 합니다.pad_size가 제공되지 않으면, 배치 내 가장 큰 높이와 너비로 패딩됩니다.do_pad=True.일 때만 적용됩니다. - do_center_crop (
bool, kwargs, 선택) — 이미지를 중앙으로 크롭할지 여부. - data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, 선택 사항) —ChannelDimension.FIRST만 지원됩니다. 느린 프로세서와의 호환성을 위해 추가되었습니다. - input_data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, 선택 사항) — 입력 이미지의 채널 차원 형식입니다. 설정되지 않으면 입력 이미지에서 채널 차원 형식을 추론합니다. 다음 중 하나일 수 있습니다:"channels_first"또는ChannelDimension.FIRST: (num_channels, height, width) 형식의 이미지."channels_last"또는ChannelDimension.LAST: (height, width, num_channels) 형식의 이미지."none"또는ChannelDimension.NONE: (height, width) 형식의 이미지.
- device (
Annotated[Union[str, torch.device, NoneType], None], kwargs) — 동영상을 처리할 장치입니다. 설정되지 않은 경우, 입력 동영상에서 장치를 추론합니다. - return_tensors (
Annotated[str | ~utils.generic.TensorType | None, None], kwargs) —'pt'로 설정된 경우 스택된 텐서를 반환하고, 그렇지 않으면 텐서 목록을 반환합니다. - disable_grouping (
bool, kwargs, 선택 사항) — 이미지를 크기에 따라 그룹화하는 것을 비활성화하여 배치 대신 개별적으로 처리할지 여부입니다. None인 경우, 이미지가 CPU에 있으면 True, 그렇지 않으면 False로 설정됩니다. 이 선택은 https://github.com/huggingface/transformers/pull/38157에 자세히 설명된 경험적 관찰에 기반합니다. - image_seq_length (
int, kwargs, 선택 사항) — 입력에서 각 이미지에 사용할 이미지 토큰의 수입니다. 하위 호환성을 위해 추가되었지만, 향후 모델에서는 프로세서 속성으로 설정해야 합니다. - ensure_multiple_of (
int, kwargs, 선택 사항, 기본값 1) —do_resize가True인 경우, 이미지는 이 값의 배수가 되는 크기로 리사이즈됩니다.preprocess의ensure_multiple_of로 재정의할 수 있습니다. - size_divisor (
int, kwargs) — 높이와 너비가 모두 나뉘도록 보장하기 위한 크기입니다. - keep_aspect_ratio (
bool, kwargs, 선택 사항, 기본값False) —True인 경우, 종횡비가 유지되도록 가능한 가장 큰 크기로 이미지가 리사이즈됩니다.preprocess의keep_aspect_ratio로 이 값을 재정의할 수 있습니다. - do_reduce_labels (
bool, kwargs, 선택 사항, 기본값self.do_reduce_labels) — 세그멘테이션 맵의 모든 라벨 값을 1만큼 줄일지 여부입니다. 일반적으로 배경에 0이 사용되고, 배경 자체가 데이터셋의 모든 클래스에 포함되지 않는 데이터셋(예: ADE20k)에서 사용됩니다. 배경 라벨은 255로 대체됩니다.
반환값
~image_processing_base.BatchFeature
- data (
dict) — call 메서드가 반환하는 리스트/배열/텐서 딕셔너리(‘pixel_values’ 등). - tensor_type (
Union[None, str, TensorType], 선택 사항) — 초기화 시 PyTorch/Numpy 텐서에서 정수 목록을 변환하려면 여기에 tensor_type를 지정할 수 있습니다.
post_process_depth_estimation
< source >( outputs: DepthEstimatorOutputtarget_sizes: transformers.utils.generic.TensorType | list[tuple[int, int]] | None = None ) → List[Dict[str, TensorType]]
DepthEstimatorOutput의 원시 출력을 최종 깊이 예측값과 깊이 PIL 이미지로 변환합니다.
PyTorch만 지원합니다.
CHMv2ForDepthEstimation
class transformers.CHMv2ForDepthEstimation
< source >( config: CHMv2Config )
매개변수
- config (CHMv2Config) — 모델의 모든 매개변수를 포함하는 모델 구성 클래스입니다. 구성 파일로 초기화하는 것은 모델과 관련된 가중치를 로드하지 않으며, 구성만 로드합니다. 모델 가중치를 로드하려면 from_pretrained() 메서드를 확인하세요.
CHMv2 모델은 상단에 depth estimation 헤드(합성곱 계층으로 구성)를 포함하여, 예를 들어 수관 높이 추정과 같은 용도로 사용됩니다.
이 모델은 PreTrainedModel에서 상속됩니다. 라이브러리가 모든 모델에 대해 구현하는 일반적 메서드(다운로드 또는 저장, 입력 임베딩 크기 조정, 헤드 프루닝 등)에 대한 세부 사항은 상위 클래스 문서를 확인하세요.
이 모델은 또한 PyTorch torch.nn.Module의 하위 클래스입니다. 일반적인 PyTorch Module처럼 사용하며, 일반적인 사용법 및 동작과 관련된 모든 사항은 PyTorch 문서를 참조하세요.
forward
< source >( pixel_values: FloatTensorlabels: typing.Optional[torch.LongTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → DepthEstimatorOutput or tuple(torch.FloatTensor)
매개변수
- pixel_values (
torch.FloatTensor, shape(batch_size, num_channels, image_size, image_size)) — 입력 이미지에 해당하는 텐서입니다. 픽셀 값은 CHMv2ImageProcessor를 사용하여 얻을 수 있습니다. 자세한 내용은 CHMv2ImageProcessor.call()를 참조하세요 (processor_class는 이미지 처리에 CHMv2ImageProcessor를 사용합니다). - labels (
torch.LongTensor, shape(batch_size, height, width), 선택 사항) — 손실을 계산하기 위한 ground truth depth estimation map입니다.
반환값
DepthEstimatorOutput 또는 tuple(torch.FloatTensor)
torch.FloatTensor의 튜플 또는 DepthEstimatorOutput(return_dict=False가 전달되었거나 config.return_dict=False인 경우)로, 구성(CHMv2Config)과 입력에 따라 다양한 요소를 포함합니다.
CHMv2ForDepthEstimation의 forward 메서드는 __call__ 특수 메서드를 오버라이드합니다.
이 함수 내에서 forward pass의 레시피를 정의해야 하지만, 이후에는 이 함수 대신
Module인스턴스를 호출해야 합니다. 전자는 전처리 및 후처리 단계를 실행하는 것을 처리하는 반면, 후자는 이를 조용히 무시하기 때문입니다.
loss (
torch.FloatTensor, shape(1,), 선택 사항,labels가 제공될 때 반환됨) — 분류(또는 config.num_labels==1인 경우 회귀) 손실.predicted_depth (
torch.FloatTensor, shape(batch_size, height, width)) — 각 픽셀에 대한 예측된 깊이.hidden_states (
tuple(torch.FloatTensor), 선택 사항,output_hidden_states=True가 전달되었거나config.output_hidden_states=True인 경우 반환됨) —torch.FloatTensor의 튜플(모델에 임베딩 레이어가 있는 경우 임베딩 출력용 1개 + 각 레이어의 출력용 1개)로, 모양은(batch_size, num_channels, height, width)입니다.각 레이어의 출력에서 모델의 Hidden-states와 선택적 초기 임베딩 출력을 포함합니다.
attentions (
tuple(torch.FloatTensor), 선택 사항,output_attentions=True가 전달되었거나config.output_attentions=True인 경우 반환됨) — 각 레이어마다 하나씩 포함된torch.FloatTensor의 튜플로, 모양은(batch_size, num_heads, patch_size, sequence_length)입니다.self-attention 헤드에서 가중 평균을 계산하는 데 사용되는 attention softmax 이후의 attention 가중치.
예:
>>> from transformers import AutoImageProcessor, CHMv2ForDepthEstimation
>>> import torch
>>> from PIL import Image
>>> from huggingface_hub.utils import httpx
>>> from io import BytesIO
>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> with httpx.stream("GET", url) as response:
... image = Image.open(BytesIO(response.read())).convert("RGB")
>>> processor = AutoImageProcessor.from_pretrained("facebook/dinov3-vitl16-chmv2-dpt-head")
>>> model = CHMv2ForDepthEstimation.from_pretrained("facebook/dinov3-vitl16-chmv2-dpt-head")
>>> device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
>>> model.to(device)
>>> # prepare image for the model
>>> inputs = processor(images=image, return_tensors="pt").to(device)
>>> with torch.no_grad():
... outputs = model(**inputs)
>>> # interpolate to original size
>>> post_processed_output = processor.post_process_depth_estimation(
... outputs, [(image.height, image.width)],
... )
>>> predicted_depth = post_processed_output[0]["predicted_depth"]