{"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/dsac-differentiable-ransac-for-camera","title":"DSAC - Differentiable RANSAC for Camera Localization","arxiv_id":"1611.05705","date":"2016-11-17","proceeding":"CVPR 2017 7","authors":["Eric Brachmann","Alexander Krull","Sebastian Nowozin","Jamie Shotton","Frank Michel","Stefan Gumhold","Carsten Rother"],"abstract":"RANSAC is an important algorithm in robust optimization and a central\nbuilding block for many computer vision applications. In recent years,\ntraditionally hand-crafted pipelines have been replaced by deep learning\npipelines, which can be trained in an end-to-end fashion. However, RANSAC has\nso far not been used as part of such deep learning pipelines, because its\nhypothesis selection procedure is non-differentiable. In this work, we present\ntwo different ways to overcome this limitation. The most promising approach is\ninspired by reinforcement learning, namely to replace the deterministic\nhypothesis selection by a probabilistic selection for which we can derive the\nexpected loss w.r.t. to all learnable parameters. We call this approach DSAC,\nthe differentiable counterpart of RANSAC. We apply DSAC to the problem of\ncamera localization, where deep learning has so far failed to improve on\ntraditional approaches. We demonstrate that by directly minimizing the expected\nloss of the output camera poses, robustly estimated by RANSAC, we achieve an\nincrease in accuracy. In the future, any deep learning pipeline can use DSAC as\na robust optimization component.","url_abs":"http://arxiv.org/abs/1611.05705v4","url_pdf":"http://arxiv.org/pdf/1611.05705v4.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":"dsac-differentiable-ransac-for-camera","repo_url":"https://github.com/cvlab-dresden/DSAC","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"dsac-differentiable-ransac-for-camera","repo_url":"https://github.com/vislearn/DSACLine","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"BSD-3-Clause"}},{"paper_slug":"dsac-differentiable-ransac-for-camera","repo_url":"https://github.com/vislearn/dsacstar","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"BSD-3-Clause"}},{"paper_slug":"dsac-differentiable-ransac-for-camera","repo_url":"https://github.com/vislearn/ngdsac_camreloc","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"tasks":[{"task_slug":"camera-localization","task_name":"Camera Localization"},{"task_slug":"deep-learning","task_name":"Deep Learning"},{"task_slug":"medical-image-segmentation","task_name":"Medical Image Segmentation"},{"task_slug":"reinforcement-learning","task_name":"Reinforcement Learning"},{"task_slug":"visual-localization","task_name":"Visual Localization"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=1611.05705","mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}