{"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/3d-affordancenet-a-benchmark-for-visual","title":"3D AffordanceNet: A Benchmark for Visual Object Affordance Understanding","arxiv_id":"2103.16397","date":"2021-03-30","proceeding":"CVPR 2021 1","authors":["Shengheng Deng","Xun Xu","Chaozheng Wu","Ke Chen","Kui Jia"],"abstract":"The ability to understand the ways to interact with objects from visual cues, a.k.a. visual affordance, is essential to vision-guided robotic research. This involves categorizing, segmenting and reasoning of visual affordance. Relevant studies in 2D and 2.5D image domains have been made previously, however, a truly functional understanding of object affordance requires learning and prediction in the 3D physical domain, which is still absent in the community. In this work, we present a 3D AffordanceNet dataset, a benchmark of 23k shapes from 23 semantic object categories, annotated with 18 visual affordance categories. Based on this dataset, we provide three benchmarking tasks for evaluating visual affordance understanding, including full-shape, partial-view and rotation-invariant affordance estimations. Three state-of-the-art point cloud deep learning networks are evaluated on all tasks. In addition we also investigate a semi-supervised learning setup to explore the possibility to benefit from unlabeled data. Comprehensive results on our contributed dataset show the promise of visual affordance understanding as a valuable yet challenging benchmark.","url_abs":"https://arxiv.org/abs/2103.16397v2","url_pdf":"https://arxiv.org/pdf/2103.16397v2.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":"3d-affordancenet-a-benchmark-for-visual","repo_url":"https://github.com/Gorilla-Lab-SCUT/AffordanceNet","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"affordance-detection","task_name":"Affordance Detection"},{"task_slug":"benchmarking","task_name":"Benchmarking"},{"task_slug":"object","task_name":"Object"}],"methods":[],"datasets_introduced":[{"slug":"3d-affordancenet","name":"3D AffordanceNet","full_name":""}],"methods_introduced":[],"results":[{"leaderboard":"/sota/affordance-detection-on-3d-affordancenet","task":"Affordance Detection","dataset":"3D AffordanceNet","model":"DGCNN","rank_in_archive_order":1,"of":1,"metrics":{"AIOU":"0.178","mAP":"0.464"},"uses_additional_data":false},{"leaderboard":"/sota/affordance-detection-on-3d-affordancenet-1","task":"Affordance Detection","dataset":"3D AffordanceNet Partial View","model":"DGCNN","rank_in_archive_order":1,"of":1,"metrics":{"AIOU":"0.138","mAP":"0.422"},"uses_additional_data":false},{"leaderboard":"/sota/affordance-detection-on-3d-affordancenet-3","task":"Affordance Detection","dataset":"3D AffordanceNet Rotate SO(3)","model":"DGCNN","rank_in_archive_order":1,"of":1,"metrics":{"AIOU":"0.128","mAP":"0.373"},"uses_additional_data":false},{"leaderboard":"/sota/affordance-detection-on-3d-affordancenet-2","task":"Affordance Detection","dataset":"3D AffordanceNet Rotate z","model":"DGCNN","rank_in_archive_order":1,"of":1,"metrics":{"AIOU":"0.161","mAP":"0.448"},"uses_additional_data":false}],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2103.16397","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2103.16397"}},"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/Gorilla-Lab-SCUT/AffordanceNet","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_fixture":3,"ran":2,"ran_honours":1,"unverified":6},"by_repo_kind":{"official":{"samples":12,"ran":6,"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":"cdd0141594039dcb","entry":"knn","repo":"Gorilla-Lab-SCUT/AffordanceNet","repo_kind":"official","path":"models/dgcnn.py","file_url":"https://github.com/Gorilla-Lab-SCUT/AffordanceNet/blob/HEAD/models/dgcnn.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cdd0141594039dcb"}},{"code_sha256_prefix":"59e9008f0a3743f1","entry":"normalize_data","repo":"Gorilla-Lab-SCUT/AffordanceNet","repo_kind":"official","path":"utils/provider.py","file_url":"https://github.com/Gorilla-Lab-SCUT/AffordanceNet/blob/HEAD/utils/provider.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":"59e9008f0a3743f1"}},{"code_sha256_prefix":"ec413739d406e611","entry":"pc_normalize","repo":"Gorilla-Lab-SCUT/AffordanceNet","repo_kind":"official","path":"models/pointnet_util.py","file_url":"https://github.com/Gorilla-Lab-SCUT/AffordanceNet/blob/HEAD/models/pointnet_util.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":"ec413739d406e611"}},{"code_sha256_prefix":"06353aadebc1724b","entry":"shuffle_data","repo":"Gorilla-Lab-SCUT/AffordanceNet","repo_kind":"official","path":"utils/provider.py","file_url":"https://github.com/Gorilla-Lab-SCUT/AffordanceNet/blob/HEAD/utils/provider.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":"06353aadebc1724b"}},{"code_sha256_prefix":"a97f76b9c0811c93","entry":"shuffle_points","repo":"Gorilla-Lab-SCUT/AffordanceNet","repo_kind":"official","path":"utils/provider.py","file_url":"https://github.com/Gorilla-Lab-SCUT/AffordanceNet/blob/HEAD/utils/provider.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a97f76b9c0811c93"}},{"code_sha256_prefix":"580dee6761649b29","entry":"square_distance","repo":"Gorilla-Lab-SCUT/AffordanceNet","repo_kind":"official","path":"models/pointnet_util.py","file_url":"https://github.com/Gorilla-Lab-SCUT/AffordanceNet/blob/HEAD/models/pointnet_util.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"580dee6761649b29"}},{"code_sha256_prefix":"4ee4a7435a0d609e","entry":"build_dataset","repo":"Gorilla-Lab-SCUT/AffordanceNet","repo_kind":"official","path":"utils/builder.py","file_url":"https://github.com/Gorilla-Lab-SCUT/AffordanceNet/blob/HEAD/utils/builder.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":"4ee4a7435a0d609e"}},{"code_sha256_prefix":"16179f76ca18ce19","entry":"build_loader","repo":"Gorilla-Lab-SCUT/AffordanceNet","repo_kind":"official","path":"utils/builder.py","file_url":"https://github.com/Gorilla-Lab-SCUT/AffordanceNet/blob/HEAD/utils/builder.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":"16179f76ca18ce19"}},{"code_sha256_prefix":"9019aa1bd21a7d63","entry":"get_graph_feature","repo":"Gorilla-Lab-SCUT/AffordanceNet","repo_kind":"official","path":"models/dgcnn.py","file_url":"https://github.com/Gorilla-Lab-SCUT/AffordanceNet/blob/HEAD/models/dgcnn.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":"9019aa1bd21a7d63"}},{"code_sha256_prefix":"a35d3df543c7cc58","entry":"pc_normalize","repo":"Gorilla-Lab-SCUT/AffordanceNet","repo_kind":"official","path":"dataset/AffordanceNet.py","file_url":"https://github.com/Gorilla-Lab-SCUT/AffordanceNet/blob/HEAD/dataset/AffordanceNet.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":"a35d3df543c7cc58"}},{"code_sha256_prefix":"109780e2940e1431","entry":"semi_points_transform","repo":"Gorilla-Lab-SCUT/AffordanceNet","repo_kind":"official","path":"dataset/AffordanceNet.py","file_url":"https://github.com/Gorilla-Lab-SCUT/AffordanceNet/blob/HEAD/dataset/AffordanceNet.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":"109780e2940e1431"}},{"code_sha256_prefix":"b1227ddb721e2999","entry":"timeit","repo":"Gorilla-Lab-SCUT/AffordanceNet","repo_kind":"official","path":"models/pointnet_util.py","file_url":"https://github.com/Gorilla-Lab-SCUT/AffordanceNet/blob/HEAD/models/pointnet_util.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":"b1227ddb721e2999"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}