{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/depth-any-camera-zero-shot-metric-depth","title":"Depth Any Camera: Zero-Shot Metric Depth Estimation from Any Camera","arxiv_id":"2501.02464","date":"2025-01-05","proceeding":"CVPR 2025 1","authors":["Yuliang Guo","Sparsh Garg","S. Mahdi H. Miangoleh","Xinyu Huang","Liu Ren"],"abstract":"While recent depth foundation models exhibit strong zero-shot generalization, achieving accurate metric depth across diverse camera types-particularly those with large fields of view (FoV) such as fisheye and 360-degree cameras-remains a significant challenge. This paper presents Depth Any Camera (DAC), a powerful zero-shot metric depth estimation framework that extends a perspective-trained model to effectively handle cameras with varying FoVs. The framework is designed to ensure that all existing 3D data can be leveraged, regardless of the specific camera types used in new applications. Remarkably, DAC is trained exclusively on perspective images but generalizes seamlessly to fisheye and 360-degree cameras without the need for specialized training data. DAC employs Equi-Rectangular Projection (ERP) as a unified image representation, enabling consistent processing of images with diverse FoVs. Its core components include pitch-aware Image-to-ERP conversion with efficient online augmentation to simulate distorted ERP patches from undistorted inputs, FoV alignment operations to enable effective training across a wide range of FoVs, and multi-resolution data augmentation to further address resolution disparities between training and testing. DAC achieves state-of-the-art zero-shot metric depth estimation, improving $\\delta_1$ accuracy by up to 50% on multiple fisheye and 360-degree datasets compared to prior metric depth foundation models, demonstrating robust generalization across camera types.","url_abs":"https://arxiv.org/abs/2501.02464v2","url_pdf":"https://arxiv.org/pdf/2501.02464v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"depth-any-camera-zero-shot-metric-depth","repo_url":"https://github.com/yuliangguo/depth_any_camera","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"data-augmentation","task_name":"Data Augmentation"},{"task_slug":"depth-estimation","task_name":"Depth Estimation"},{"task_slug":"erp","task_name":"ERP"},{"task_slug":"zero-shot-generalization","task_name":"Zero-shot Generalization"}],"methods":[{"method_slug":"dac","method_name":"DAC"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2501.02464","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2501.02464"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/yuliangguo/depth_any_camera","reach":null}],"summary":{"ran":3,"unverified":9},"by_repo_kind":{"official":{"samples":12,"ran":3,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"1470abcb2036f263","entry":"AttentionLayer","repo":"yuliangguo/depth_any_camera","repo_kind":"official","path":"dac/models/idisc.py","file_url":"https://github.com/yuliangguo/depth_any_camera/blob/HEAD/dac/models/idisc.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1470abcb2036f263"}},{"code_sha256_prefix":"b10f25b29473c32d","entry":"MSDeformAttnTransformerEncoder","repo":"yuliangguo/depth_any_camera","repo_kind":"official","path":"dac/models/idisc.py","file_url":"https://github.com/yuliangguo/depth_any_camera/blob/HEAD/dac/models/idisc.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b10f25b29473c32d"}},{"code_sha256_prefix":"e19a81e9ad95806e","entry":"PositionEmbeddingSine","repo":"yuliangguo/depth_any_camera","repo_kind":"official","path":"dac/models/idisc.py","file_url":"https://github.com/yuliangguo/depth_any_camera/blob/HEAD/dac/models/idisc.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e19a81e9ad95806e"}},{"code_sha256_prefix":"fbd83b183d872629","entry":"AFP","repo":"yuliangguo/depth_any_camera","repo_kind":"official","path":"dac/models/idisc.py","file_url":"https://github.com/yuliangguo/depth_any_camera/blob/HEAD/dac/models/idisc.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fbd83b183d872629"}},{"code_sha256_prefix":"83928384896c9544","entry":"BasePixelDecoder","repo":"yuliangguo/depth_any_camera","repo_kind":"official","path":"dac/models/idisc.py","file_url":"https://github.com/yuliangguo/depth_any_camera/blob/HEAD/dac/models/idisc.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"83928384896c9544"}},{"code_sha256_prefix":"71a5ed81089d02cc","entry":"IDisc","repo":"yuliangguo/depth_any_camera","repo_kind":"official","path":"dac/models/idisc.py","file_url":"https://github.com/yuliangguo/depth_any_camera/blob/HEAD/dac/models/idisc.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"71a5ed81089d02cc"}},{"code_sha256_prefix":"72980093ba1c4588","entry":"ISD","repo":"yuliangguo/depth_any_camera","repo_kind":"official","path":"dac/models/idisc.py","file_url":"https://github.com/yuliangguo/depth_any_camera/blob/HEAD/dac/models/idisc.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"72980093ba1c4588"}},{"code_sha256_prefix":"bb968b2914b536b2","entry":"ISDHead","repo":"yuliangguo/depth_any_camera","repo_kind":"official","path":"dac/models/idisc.py","file_url":"https://github.com/yuliangguo/depth_any_camera/blob/HEAD/dac/models/idisc.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bb968b2914b536b2"}},{"code_sha256_prefix":"51b14f91451eddd0","entry":"MSDeformAttn","repo":"yuliangguo/depth_any_camera","repo_kind":"official","path":"dac/models/idisc.py","file_url":"https://github.com/yuliangguo/depth_any_camera/blob/HEAD/dac/models/idisc.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"51b14f91451eddd0"}},{"code_sha256_prefix":"690f567da9f88ad1","entry":"MSDeformAttnPixelDecoder","repo":"yuliangguo/depth_any_camera","repo_kind":"official","path":"dac/models/idisc.py","file_url":"https://github.com/yuliangguo/depth_any_camera/blob/HEAD/dac/models/idisc.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"690f567da9f88ad1"}},{"code_sha256_prefix":"c54c2ee409c8abce","entry":"MSDeformAttnTransformerEncoderLayer","repo":"yuliangguo/depth_any_camera","repo_kind":"official","path":"dac/models/idisc.py","file_url":"https://github.com/yuliangguo/depth_any_camera/blob/HEAD/dac/models/idisc.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c54c2ee409c8abce"}},{"code_sha256_prefix":"6fa4fc65b2050313","entry":"MSDeformAttnTransformerEncoderOnly","repo":"yuliangguo/depth_any_camera","repo_kind":"official","path":"dac/models/idisc.py","file_url":"https://github.com/yuliangguo/depth_any_camera/blob/HEAD/dac/models/idisc.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6fa4fc65b2050313"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}