{"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/dr-vic-decomposition-and-reasoning-for-video","title":"DR.VIC: Decomposition and Reasoning for Video Individual Counting","arxiv_id":"2203.12335","date":"2022-03-23","proceeding":"CVPR 2022 1","authors":["Tao Han","Lei Bai","Junyu Gao","Qi Wang","Wanli Ouyang"],"abstract":"Pedestrian counting is a fundamental tool for understanding pedestrian patterns and crowd flow analysis. Existing works (e.g., image-level pedestrian counting, crossline crowd counting et al.) either only focus on the image-level counting or are constrained to the manual annotation of lines. In this work, we propose to conduct the pedestrian counting from a new perspective - Video Individual Counting (VIC), which counts the total number of individual pedestrians in the given video (a person is only counted once). Instead of relying on the Multiple Object Tracking (MOT) techniques, we propose to solve the problem by decomposing all pedestrians into the initial pedestrians who existed in the first frame and the new pedestrians with separate identities in each following frame. Then, an end-to-end Decomposition and Reasoning Network (DRNet) is designed to predict the initial pedestrian count with the density estimation method and reason the new pedestrian's count of each frame with the differentiable optimal transport. Extensive experiments are conducted on two datasets with congested pedestrians and diverse scenes, demonstrating the effectiveness of our method over baselines with great superiority in counting the individual pedestrians. Code: https://github.com/taohan10200/DRNet.","url_abs":"https://arxiv.org/abs/2203.12335v2","url_pdf":"https://arxiv.org/pdf/2203.12335v2.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":"dr-vic-decomposition-and-reasoning-for-video","repo_url":"https://github.com/taohan10200/drnet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"dr-vic-decomposition-and-reasoning-for-video","repo_url":"https://github.com/taohan10200/steerer","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"crowd-counting","task_name":"Crowd Counting"},{"task_slug":"density-estimation","task_name":"Density Estimation"},{"task_slug":"multiple-object-tracking","task_name":"Multiple Object Tracking"},{"task_slug":"object-tracking","task_name":"Object Tracking"},{"task_slug":"video-individual-counting","task_name":"Video Individual Counting"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2203.12335","atlas_url":"https://app.syntology.ai/?focus=2203.12335","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2203.12335"}},"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":"deterministic:regex_extraction","url":"https://github.com/taohan10200/DRNet","reach":null}],"summary":{"ran":3,"ran_draft_wrong":2,"ran_fixture":1,"unverified":5},"by_repo_kind":{"official":{"samples":11,"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":11,"samples":[{"code_sha256_prefix":"5ca315c5d0aefe2e","entry":"BasicConv","repo":"taohan10200/DRNet","repo_kind":"official","path":"model/VIC.py","file_url":"https://github.com/taohan10200/DRNet/blob/HEAD/model/VIC.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5ca315c5d0aefe2e"}},{"code_sha256_prefix":"4e147f71dff3b5ea","entry":"Optimal_Transport_Layer","repo":"taohan10200/DRNet","repo_kind":"official","path":"model/VIC.py","file_url":"https://github.com/taohan10200/DRNet/blob/HEAD/model/VIC.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4e147f71dff3b5ea"}},{"code_sha256_prefix":"a42c52e0af75ca67","entry":"ResBlock","repo":"taohan10200/DRNet","repo_kind":"official","path":"model/VIC.py","file_url":"https://github.com/taohan10200/DRNet/blob/HEAD/model/VIC.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a42c52e0af75ca67"}},{"code_sha256_prefix":"8b51984d5c6a86dd","entry":"hungarian","repo":"taohan10200/DRNet","repo_kind":"official","path":"model/VIC.py","file_url":"https://github.com/taohan10200/DRNet/blob/HEAD/model/VIC.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8b51984d5c6a86dd"}},{"code_sha256_prefix":"7468aafa291f78e9","entry":"log_optimal_transport","repo":"taohan10200/DRNet","repo_kind":"official","path":"model/VIC.py","file_url":"https://github.com/taohan10200/DRNet/blob/HEAD/model/VIC.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7468aafa291f78e9"}},{"code_sha256_prefix":"3eca8688c49c8b0b","entry":"log_sinkhorn_iterations","repo":"taohan10200/DRNet","repo_kind":"official","path":"model/VIC.py","file_url":"https://github.com/taohan10200/DRNet/blob/HEAD/model/VIC.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3eca8688c49c8b0b"}},{"code_sha256_prefix":"2bd2eb70a1fb0985","entry":"Gaussianlayer","repo":"taohan10200/DRNet","repo_kind":"official","path":"model/VIC.py","file_url":"https://github.com/taohan10200/DRNet/blob/HEAD/model/VIC.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2bd2eb70a1fb0985"}},{"code_sha256_prefix":"9e77b760258969cc","entry":"VGG16_FPN","repo":"taohan10200/DRNet","repo_kind":"official","path":"model/VIC.py","file_url":"https://github.com/taohan10200/DRNet/blob/HEAD/model/VIC.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9e77b760258969cc"}},{"code_sha256_prefix":"b5ed6012efc43f34","entry":"Video_Individual_Counter","repo":"taohan10200/DRNet","repo_kind":"official","path":"model/VIC.py","file_url":"https://github.com/taohan10200/DRNet/blob/HEAD/model/VIC.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b5ed6012efc43f34"}},{"code_sha256_prefix":"0a659fcd558f52e2","entry":"associate_pred2gt_point","repo":"taohan10200/DRNet","repo_kind":"official","path":"model/VIC.py","file_url":"https://github.com/taohan10200/DRNet/blob/HEAD/model/VIC.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0a659fcd558f52e2"}},{"code_sha256_prefix":"1af15b82e4054ad3","entry":"compute_metrics","repo":"taohan10200/DRNet","repo_kind":"official","path":"model/VIC.py","file_url":"https://github.com/taohan10200/DRNet/blob/HEAD/model/VIC.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1af15b82e4054ad3"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}