{"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/learning-human-object-interaction-detection","title":"Learning Human-Object Interaction Detection using Interaction Points","arxiv_id":"2003.14023","date":"2020-03-31","proceeding":"CVPR 2020 6","authors":["Tiancai Wang","Tong Yang","Martin Danelljan","Fahad Shahbaz Khan","Xiangyu Zhang","Jian Sun"],"abstract":"Understanding interactions between humans and objects is one of the fundamental problems in visual classification and an essential step towards detailed scene understanding. Human-object interaction (HOI) detection strives to localize both the human and an object as well as the identification of complex interactions between them. Most existing HOI detection approaches are instance-centric where interactions between all possible human-object pairs are predicted based on appearance features and coarse spatial information. We argue that appearance features alone are insufficient to capture complex human-object interactions. In this paper, we therefore propose a novel fully-convolutional approach that directly detects the interactions between human-object pairs. Our network predicts interaction points, which directly localize and classify the inter-action. Paired with the densely predicted interaction vectors, the interactions are associated with human and object detections to obtain final predictions. To the best of our knowledge, we are the first to propose an approach where HOI detection is posed as a keypoint detection and grouping problem. Experiments are performed on two popular benchmarks: V-COCO and HICO-DET. Our approach sets a new state-of-the-art on both datasets. Code is available at https://github.com/vaesl/IP-Net.","url_abs":"https://arxiv.org/abs/2003.14023v1","url_pdf":"https://arxiv.org/pdf/2003.14023v1.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":"learning-human-object-interaction-detection","repo_url":"https://github.com/vaesl/IP-Net","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"human-object-interaction-detection","task_name":"Human-Object Interaction Detection"},{"task_slug":"keypoint-detection","task_name":"Keypoint Detection"},{"task_slug":"object","task_name":"Object"},{"task_slug":"scene-understanding","task_name":"Scene Understanding"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2003.14023","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2003.14023"}},"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/vaesl/IP-Net","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_violates":1,"ran_draft_wrong":2,"ran_honours":1,"ran_fixture":1,"unverified":5},"by_repo_kind":{"official":{"samples":10,"ran":5,"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":"3dc1dc492dbbbf13","entry":"clip_xyxy_to_image","repo":"vaesl/IP-Net","repo_kind":"official","path":"src/vsrl_eval.py","file_url":"https://github.com/vaesl/IP-Net/blob/HEAD/src/vsrl_eval.py","link_basis":"plan_row","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3dc1dc492dbbbf13"}},{"code_sha256_prefix":"65d7a40d70c53ed9","entry":"compute_bin_loss","repo":"vaesl/IP-Net","repo_kind":"official","path":"src/lib/models/losses.py","file_url":"https://github.com/vaesl/IP-Net/blob/HEAD/src/lib/models/losses.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"65d7a40d70c53ed9"}},{"code_sha256_prefix":"7df13fb9e54d592b","entry":"compute_res_loss","repo":"vaesl/IP-Net","repo_kind":"official","path":"src/lib/models/losses.py","file_url":"https://github.com/vaesl/IP-Net/blob/HEAD/src/lib/models/losses.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7df13fb9e54d592b"}},{"code_sha256_prefix":"d5a0b6aba0d66951","entry":"get_overlap","repo":"vaesl/IP-Net","repo_kind":"official","path":"src/vsrl_eval.py","file_url":"https://github.com/vaesl/IP-Net/blob/HEAD/src/vsrl_eval.py","link_basis":"plan_row","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":"d5a0b6aba0d66951"}},{"code_sha256_prefix":"7c16bfea33d37328","entry":"voc_ap","repo":"vaesl/IP-Net","repo_kind":"official","path":"src/vsrl_eval.py","file_url":"https://github.com/vaesl/IP-Net/blob/HEAD/src/vsrl_eval.py","link_basis":"plan_row","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":"7c16bfea33d37328"}},{"code_sha256_prefix":"ddb5a5004c8da97a","entry":"DataParallel","repo":"vaesl/IP-Net","repo_kind":"official","path":"src/lib/models/data_parallel.py","file_url":"https://github.com/vaesl/IP-Net/blob/HEAD/src/lib/models/data_parallel.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":"ddb5a5004c8da97a"}},{"code_sha256_prefix":"b9d92be6fa999216","entry":"apply_prior","repo":"vaesl/IP-Net","repo_kind":"official","path":"src/apply_prior.py","file_url":"https://github.com/vaesl/IP-Net/blob/HEAD/src/apply_prior.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":"b9d92be6fa999216"}},{"code_sha256_prefix":"8accefa95d8419ec","entry":"compute_rot_loss","repo":"vaesl/IP-Net","repo_kind":"official","path":"src/lib/models/losses.py","file_url":"https://github.com/vaesl/IP-Net/blob/HEAD/src/lib/models/losses.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":"8accefa95d8419ec"}},{"code_sha256_prefix":"6992ab8e41a81b54","entry":"ctdet_decode","repo":"vaesl/IP-Net","repo_kind":"official","path":"src/lib/models/decode.py","file_url":"https://github.com/vaesl/IP-Net/blob/HEAD/src/lib/models/decode.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":"6992ab8e41a81b54"}},{"code_sha256_prefix":"61bf3906cbd2ee87","entry":"data_parallel","repo":"vaesl/IP-Net","repo_kind":"official","path":"src/lib/models/data_parallel.py","file_url":"https://github.com/vaesl/IP-Net/blob/HEAD/src/lib/models/data_parallel.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":"61bf3906cbd2ee87"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}