{"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/floornet-a-unified-framework-for-floorplan","title":"FloorNet: A Unified Framework for Floorplan Reconstruction from 3D Scans","arxiv_id":"1804.00090","date":"2018-03-31","proceeding":"ECCV 2018 9","authors":["Chen Liu","Jiaye Wu","Yasutaka Furukawa"],"abstract":"The ultimate goal of this indoor mapping research is to automatically\nreconstruct a floorplan simply by walking through a house with a smartphone in\na pocket. This paper tackles this problem by proposing FloorNet, a novel deep\nneural architecture. The challenge lies in the processing of RGBD streams\nspanning a large 3D space. FloorNet effectively processes the data through\nthree neural network branches: 1) PointNet with 3D points, exploiting the 3D\ninformation; 2) CNN with a 2D point density image in a top-down view, enhancing\nthe local spatial reasoning; and 3) CNN with RGB images, utilizing the full\nimage information. FloorNet exchanges intermediate features across the branches\nto exploit the best of all the architectures. We have created a benchmark for\nfloorplan reconstruction by acquiring RGBD video streams for 155 residential\nhouses or apartments with Google Tango phones and annotating complete floorplan\ninformation. Our qualitative and quantitative evaluations demonstrate that the\nfusion of three branches effectively improves the reconstruction quality. We\nhope that the paper together with the benchmark will be an important step\ntowards solving a challenging vector-graphics reconstruction problem. Code and\ndata are available at https://github.com/art-programmer/FloorNet.","url_abs":"http://arxiv.org/abs/1804.00090v1","url_pdf":"http://arxiv.org/pdf/1804.00090v1.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":"floornet-a-unified-framework-for-floorplan","repo_url":"https://github.com/art-programmer/FloorNet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"floornet-a-unified-framework-for-floorplan","repo_url":"https://github.com/vohoaiviet/FloorNet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}}],"tasks":[{"task_slug":"spatial-reasoning","task_name":"Spatial Reasoning"},{"task_slug":"vector-graphics","task_name":"Vector Graphics"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=1804.00090","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1804.00090"}},"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/vohoaiviet/FloorNet","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/art-programmer/FloorNet","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":17},"by_repo_kind":{"official":{"samples":17,"ran":0,"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":"42fa646f90a9f6a2","entry":"calcLineDim","repo":"art-programmer/FloorNet","repo_kind":"official","path":"floorplan_utils.py","file_url":"https://github.com/art-programmer/FloorNet/blob/HEAD/floorplan_utils.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":"42fa646f90a9f6a2"}},{"code_sha256_prefix":"bc6860c721e1ca51","entry":"calcLineDirection","repo":"art-programmer/FloorNet","repo_kind":"official","path":"floorplan_utils.py","file_url":"https://github.com/art-programmer/FloorNet/blob/HEAD/floorplan_utils.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":"bc6860c721e1ca51"}},{"code_sha256_prefix":"9e0ae4fc0ae9f859","entry":"drawDensityImage","repo":"art-programmer/FloorNet","repo_kind":"official","path":"utils.py","file_url":"https://github.com/art-programmer/FloorNet/blob/HEAD/utils.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":"9e0ae4fc0ae9f859"}},{"code_sha256_prefix":"0090988202b6ee53","entry":"filterWalls","repo":"art-programmer/FloorNet","repo_kind":"official","path":"IP.py","file_url":"https://github.com/art-programmer/FloorNet/blob/HEAD/IP.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":"0090988202b6ee53"}},{"code_sha256_prefix":"a69cb4c353278029","entry":"findMatches","repo":"art-programmer/FloorNet","repo_kind":"official","path":"QP.py","file_url":"https://github.com/art-programmer/FloorNet/blob/HEAD/QP.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":"a69cb4c353278029"}},{"code_sha256_prefix":"5e39328090adf21f","entry":"getCoarseIndicesMaps","repo":"art-programmer/FloorNet","repo_kind":"official","path":"augmentation_tf.py","file_url":"https://github.com/art-programmer/FloorNet/blob/HEAD/augmentation_tf.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":"5e39328090adf21f"}},{"code_sha256_prefix":"31866d3980dfb171","entry":"getDatasetTrain","repo":"art-programmer/FloorNet","repo_kind":"official","path":"RecordReader.py","file_url":"https://github.com/art-programmer/FloorNet/blob/HEAD/RecordReader.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":"31866d3980dfb171"}},{"code_sha256_prefix":"df0044e15ebfbff0","entry":"getDatasetVal","repo":"art-programmer/FloorNet","repo_kind":"official","path":"RecordReader.py","file_url":"https://github.com/art-programmer/FloorNet/blob/HEAD/RecordReader.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":"df0044e15ebfbff0"}},{"code_sha256_prefix":"861d6709f99ef98b","entry":"getOrientationRanges","repo":"art-programmer/FloorNet","repo_kind":"official","path":"floorplan_utils.py","file_url":"https://github.com/art-programmer/FloorNet/blob/HEAD/floorplan_utils.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":"861d6709f99ef98b"}},{"code_sha256_prefix":"8c69c6feae7b19b1","entry":"getZRotationMatrix","repo":"art-programmer/FloorNet","repo_kind":"official","path":"RecordWriterTango.py","file_url":"https://github.com/art-programmer/FloorNet/blob/HEAD/RecordWriterTango.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":"8c69c6feae7b19b1"}},{"code_sha256_prefix":"18b1c5ed1f9b1d53","entry":"load_pnt","repo":"art-programmer/FloorNet","repo_kind":"official","path":"RecordWriterTango.py","file_url":"https://github.com/art-programmer/FloorNet/blob/HEAD/RecordWriterTango.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":"18b1c5ed1f9b1d53"}},{"code_sha256_prefix":"7a2266d08518368f","entry":"parse_fn","repo":"art-programmer/FloorNet","repo_kind":"official","path":"RecordReader.py","file_url":"https://github.com/art-programmer/FloorNet/blob/HEAD/RecordReader.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":"7a2266d08518368f"}},{"code_sha256_prefix":"1611f4d59c9a4d96","entry":"pnts_to_heatmap_transformation_matrix","repo":"art-programmer/FloorNet","repo_kind":"official","path":"RecordWriterTango.py","file_url":"https://github.com/art-programmer/FloorNet/blob/HEAD/RecordWriterTango.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":"1611f4d59c9a4d96"}},{"code_sha256_prefix":"1e3845e7c5c400d7","entry":"scaleIndices","repo":"art-programmer/FloorNet","repo_kind":"official","path":"augmentation_tf.py","file_url":"https://github.com/art-programmer/FloorNet/blob/HEAD/augmentation_tf.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":"1e3845e7c5c400d7"}},{"code_sha256_prefix":"6701865fd32af533","entry":"sigmoid","repo":"art-programmer/FloorNet","repo_kind":"official","path":"utils.py","file_url":"https://github.com/art-programmer/FloorNet/blob/HEAD/utils.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":"6701865fd32af533"}},{"code_sha256_prefix":"70ee1b0d14e84ac1","entry":"softmax","repo":"art-programmer/FloorNet","repo_kind":"official","path":"utils.py","file_url":"https://github.com/art-programmer/FloorNet/blob/HEAD/utils.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":"70ee1b0d14e84ac1"}},{"code_sha256_prefix":"c56a3c66d83c7bba","entry":"warpIndices","repo":"art-programmer/FloorNet","repo_kind":"official","path":"augmentation_tf.py","file_url":"https://github.com/art-programmer/FloorNet/blob/HEAD/augmentation_tf.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":"c56a3c66d83c7bba"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}