{"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/surrounddepth-entangling-surrounding-views","title":"SurroundDepth: Entangling Surrounding Views for Self-Supervised Multi-Camera Depth Estimation","arxiv_id":"2204.03636","date":"2022-04-07","proceeding":null,"authors":["Yi Wei","Linqing Zhao","Wenzhao Zheng","Zheng Zhu","Yongming Rao","Guan Huang","Jiwen Lu","Jie zhou"],"abstract":"Depth estimation from images serves as the fundamental step of 3D perception for autonomous driving and is an economical alternative to expensive depth sensors like LiDAR. The temporal photometric constraints enables self-supervised depth estimation without labels, further facilitating its application. However, most existing methods predict the depth solely based on each monocular image and ignore the correlations among multiple surrounding cameras, which are typically available for modern self-driving vehicles. In this paper, we propose a SurroundDepth method to incorporate the information from multiple surrounding views to predict depth maps across cameras. Specifically, we employ a joint network to process all the surrounding views and propose a cross-view transformer to effectively fuse the information from multiple views. We apply cross-view self-attention to efficiently enable the global interactions between multi-camera feature maps. Different from self-supervised monocular depth estimation, we are able to predict real-world scales given multi-camera extrinsic matrices. To achieve this goal, we adopt the two-frame structure-from-motion to extract scale-aware pseudo depths to pretrain the models. Further, instead of predicting the ego-motion of each individual camera, we estimate a universal ego-motion of the vehicle and transfer it to each view to achieve multi-view ego-motion consistency. In experiments, our method achieves the state-of-the-art performance on the challenging multi-camera depth estimation datasets DDAD and nuScenes.","url_abs":"https://arxiv.org/abs/2204.03636v3","url_pdf":"https://arxiv.org/pdf/2204.03636v3.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":"surrounddepth-entangling-surrounding-views","repo_url":"https://github.com/weiyithu/surrounddepth","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"autonomous-driving","task_name":"Autonomous Driving"},{"task_slug":"depth-estimation","task_name":"Depth Estimation"},{"task_slug":"monocular-depth-estimation","task_name":"Monocular Depth Estimation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2204.03636","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2204.03636"}},"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/weiyithu/surrounddepth","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_honours":2,"ran":5,"unverified":2},"by_repo_kind":{"official":{"samples":9,"ran":7,"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":"edd4f86e8f02732f","entry":"compute_errors","repo":"weiyithu/surrounddepth","repo_kind":"official","path":"utils.py","file_url":"https://github.com/weiyithu/surrounddepth/blob/HEAD/utils.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"edd4f86e8f02732f"}},{"code_sha256_prefix":"62287188376f0ba0","entry":"disp_to_depth","repo":"weiyithu/surrounddepth","repo_kind":"official","path":"layers.py","file_url":"https://github.com/weiyithu/surrounddepth/blob/HEAD/layers.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"62287188376f0ba0"}},{"code_sha256_prefix":"955112f5788539a8","entry":"get_translation_matrix","repo":"weiyithu/surrounddepth","repo_kind":"official","path":"layers.py","file_url":"https://github.com/weiyithu/surrounddepth/blob/HEAD/layers.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"955112f5788539a8"}},{"code_sha256_prefix":"1df9a5ffd9b38c34","entry":"pil_loader","repo":"weiyithu/surrounddepth","repo_kind":"official","path":"datasets/mono_dataset.py","file_url":"https://github.com/weiyithu/surrounddepth/blob/HEAD/datasets/mono_dataset.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1df9a5ffd9b38c34"}},{"code_sha256_prefix":"859a6ec5fa262fcb","entry":"readlines","repo":"weiyithu/surrounddepth","repo_kind":"official","path":"utils.py","file_url":"https://github.com/weiyithu/surrounddepth/blob/HEAD/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"859a6ec5fa262fcb"}},{"code_sha256_prefix":"cdc03d6bfc4d3a34","entry":"transformation_from_parameters","repo":"weiyithu/surrounddepth","repo_kind":"official","path":"layers.py","file_url":"https://github.com/weiyithu/surrounddepth/blob/HEAD/layers.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cdc03d6bfc4d3a34"}},{"code_sha256_prefix":"2379a0f9748e837f","entry":"visualize_depth","repo":"weiyithu/surrounddepth","repo_kind":"official","path":"utils.py","file_url":"https://github.com/weiyithu/surrounddepth/blob/HEAD/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2379a0f9748e837f"}},{"code_sha256_prefix":"59c37841287955b4","entry":"get_dist_info","repo":"weiyithu/surrounddepth","repo_kind":"official","path":"runer.py","file_url":"https://github.com/weiyithu/surrounddepth/blob/HEAD/runer.py","link_basis":"harvester_set","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":"59c37841287955b4"}},{"code_sha256_prefix":"b3ec915279abf3e1","entry":"resnet_multiimage_input","repo":"weiyithu/surrounddepth","repo_kind":"official","path":"networks/resnet_encoder.py","file_url":"https://github.com/weiyithu/surrounddepth/blob/HEAD/networks/resnet_encoder.py","link_basis":"harvester_set","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":"b3ec915279abf3e1"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}