Instructions to use bigshanedogg/Camera-Depth-Model-Base with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use bigshanedogg/Camera-Depth-Model-Base with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("depth-estimation", model="bigshanedogg/Camera-Depth-Model-Base", trust_remote_code=True)# pip install -U transformers accelerate # Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("bigshanedogg/Camera-Depth-Model-Base", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
Camera-Depth-Model-Base β transformers format (original code)
Unofficial transformers port of the Camera Depth Model (CDM) depth-anything/camera-depth-model-base (cdm_base.pth) that runs
the original code. Loads with trust_remote_code. model.safetensors holds the checkpoint's model tensors under
their original names (every tensor checked equal). The base model (not specific to one camera).
Not an official release. Camera Depth Models were created by Minghuan Liu, Zhengbang Zhu, Xiaoshen Han, Peng Hu, Haotong Lin, Xinyao Li, Jingxiao Chen, Jiafeng Xu, Yichu Yang, Yunfeng Lin, Xinghang Li, Yong Yu, Weinan Zhang, Tao Kong and Bingyi Kang (ByteDance Seed) β https://github.com/ByteDance-Seed/manip-as-in-sim-suite, paper "Manipulation as in Simulation: Enabling Accurate Geometry Perception in Robots" (arXiv 2509.02530).
What it is
Denoised metric depth from an RGB image plus the raw depth of a depth camera. CameraDepthModelForDepthEstimation
holds the official RGBDDepth's submodules (pretrained / depth_pretrained: two DINOv2 ViT-L/14, crossAtts,
depth_head_rgbd) and computes depth with that class's own forward, returning the standard DepthEstimatorOutput
(predicted_depth: inverse depth; meters = 1 / predicted_depth, as the original infer.py); the official
infer_image and image2tensor are kept. Code vendored from ByteDance-Seed/manip-as-in-sim-suite @ 757b2ea2 (cdm/rgbddepth/)
into cdm_dinov2.py / cdm_dpt.py; edits: imports, and Block β NestedTensorBlock where the original imported
NestedTensorBlock as Block. CameraDepthModelProcessor (processing_camera_depth_model.py, processor_config.json)
wraps CameraDepthModelImageProcessor: infer.py's load_images (raw depth / 1000, values above 25 m set to 0,
inverse depth) and image2tensor.
As in the original infer.py and README API, the image is given as RGB and image2tensor applies
cv2.COLOR_BGR2RGB to it, so the network sees the channels swapped. This port keeps that behaviour unchanged.
Verified against the official code (same process, V100): preprocessing (image and depth), predicted_depth (also as
a tuple), the hidden states, infer_image, the post-processing and fp16 autocast outputs are bit-identical.
Usage
import torch
from transformers import AutoModelForDepthEstimation, AutoProcessor
model = AutoModelForDepthEstimation.from_pretrained("Camera-Depth-Model-Base", trust_remote_code=True).eval().cuda()
processor = AutoProcessor.from_pretrained("Camera-Depth-Model-Base", trust_remote_code=True)
# image: path / PIL / RGB uint8 array; depth: the camera's raw depth png (millimeters, depth_scale=1000) or meters
inputs = processor(images="rgb.png", depth="depth.png", return_tensors="pt").to("cuda")
with torch.no_grad():
outputs = model(**inputs) # outputs.predicted_depth: (1, H', W') inverse depth
inverse = processor.post_process_depth_estimation(outputs, target_sizes=[(height, width)])[0]["predicted_depth"]
depth_m = 1 / inverse
AutoModelloads the same class.output_hidden_states=Trueadds the DINOv2 features of the RGB and depth branches;return_dict=Falsereturns a tuple.post_process_depth_estimationresizes as the originalinfer_image(nearest).depth_scale/max_depthof the processor: the original's--depth-scale(1000) and the 25 m cut-offinfer.pyuses.
Runtime packages beyond torch / transformers: opencv-python, torchvision (as the original).
Licensing
- Weights (
depth-anything/camera-depth-model-base): CC-BY-NC-4.0 (non-commercial) βLICENSE. - Code (vendored files and the port): Apache-2.0 β
LICENSE.code. - Attribution, sources and the changes made here:
NOTICE.
Citation
If you use this model, please cite the original work, as its authors ask:
@article{liu2025manipulation,
title={Manipulation as in Simulation: Enabling Accurate Geometry Perception in Robots},
author={Liu, Minghuan and Zhu, Zhengbang and Han, Xiaoshen and Hu, Peng and Lin, Haotong and
Li, Xinyao and Chen, Jingxiao and Xu, Jiafeng and Yang, Yichu and Lin, Yunfeng and
Li, Xinghang and Yu, Yong and Zhang, Weinan and Kong, Tao and Kang, Bingyi},
journal={arXiv preprint},
year={2025}
}
- Downloads last month
- 1
Model tree for bigshanedogg/Camera-Depth-Model-Base
Base model
depth-anything/camera-depth-model-base