{"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/corners-for-layout-end-to-end-layout-recovery","title":"Corners for Layout: End-to-End Layout Recovery from 360 Images","arxiv_id":"1903.08094","date":"2019-03-19","proceeding":null,"authors":["Clara Fernandez-Labrador","Jose M. Facil","Alejandro Perez-Yus","Cédric Demonceaux","Javier Civera","Jose J. Guerrero"],"abstract":"The problem of 3D layout recovery in indoor scenes has been a core research\ntopic for over a decade. However, there are still several major challenges that\nremain unsolved. Among the most relevant ones, a major part of the\nstate-of-the-art methods make implicit or explicit assumptions on the scenes --\ne.g. box-shaped or Manhattan layouts. Also, current methods are computationally\nexpensive and not suitable for real-time applications like robot navigation and\nAR/VR. In this work we present CFL (Corners for Layout), the first end-to-end\nmodel for 3D layout recovery on 360 images. Our experimental results show that\nwe outperform the state of the art relaxing assumptions about the scene and at\na lower cost. We also show that our model generalizes better to camera position\nvariations than conventional approaches by using EquiConvs, a type of\nconvolution applied directly on the sphere projection and hence invariant to\nthe equirectangular distortions.\n  CFL Webpage: https://cfernandezlab.github.io/CFL/","url_abs":"http://arxiv.org/abs/1903.08094v2","url_pdf":"http://arxiv.org/pdf/1903.08094v2.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":"corners-for-layout-end-to-end-layout-recovery","repo_url":"https://github.com/cfernandezlab/CFL","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"corners-for-layout-end-to-end-layout-recovery","repo_url":"https://github.com/palver7/CFLPytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"corners-for-layout-end-to-end-layout-recovery","repo_url":"https://github.com/palver7/EquiConvPytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"3d-room-layouts-from-a-single-rgb-panorama","task_name":"3D Room Layouts From A Single RGB Panorama"},{"task_slug":"robot-navigation","task_name":"Robot Navigation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/3d-room-layouts-from-a-single-rgb-panorama-on","task":"3D Room Layouts From A Single RGB Panorama","dataset":"PanoContext","model":"CFL","rank_in_archive_order":5,"of":7,"metrics":{"3DIoU":"78.79%"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/1903.08094","atlas_url":"https://app.syntology.ai/?focus=1903.08094","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1903.08094"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/palver7/CFLPytorch","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/palver7/EquiConvPytorch","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/cfernandezlab/CFL","reach":null}],"summary":{"ran_fixture":3,"ran_draft_wrong":1,"ran_honours":1,"unverified":1},"by_repo_kind":{"listed":{"samples":6,"ran":5,"repositories":2}},"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":6,"samples":[{"code_sha256_prefix":"64b75e2a61be6d29","entry":"ce_loss","repo":"palver7/CFLPytorch","repo_kind":"listed","path":"train_CFL.py","file_url":"https://github.com/palver7/CFLPytorch/blob/HEAD/train_CFL.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"64b75e2a61be6d29"}},{"code_sha256_prefix":"dc00c21173035bf4","entry":"evaluate","repo":"palver7/CFLPytorch","repo_kind":"listed","path":"train_CFL.py","file_url":"https://github.com/palver7/CFLPytorch/blob/HEAD/train_CFL.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"dc00c21173035bf4"}},{"code_sha256_prefix":"34e4a00890d36d76","entry":"evaluate","repo":"palver7/CFLPytorch","repo_kind":"listed","path":"test_CFL.py","file_url":"https://github.com/palver7/CFLPytorch/blob/HEAD/test_CFL.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"34e4a00890d36d76"}},{"code_sha256_prefix":"053ab19fd0ae8e48","entry":"map_loss","repo":"palver7/CFLPytorch","repo_kind":"listed","path":"train_CFL.py","file_url":"https://github.com/palver7/CFLPytorch/blob/HEAD/train_CFL.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"053ab19fd0ae8e48"}},{"code_sha256_prefix":"3efc6280c1e227d6","entry":"map_predict","repo":"palver7/CFLPytorch","repo_kind":"listed","path":"test_CFL.py","file_url":"https://github.com/palver7/CFLPytorch/blob/HEAD/test_CFL.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3efc6280c1e227d6"}},{"code_sha256_prefix":"80caa8a5692f45a6","entry":"evaluate","repo":"cfernandezlab/CFL","repo_kind":"listed","path":"test_CFL.py","file_url":"https://github.com/cfernandezlab/CFL/blob/HEAD/test_CFL.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"80caa8a5692f45a6"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}