{"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/vcgan-video-colorization-with-hybrid","title":"VCGAN: Video Colorization with Hybrid Generative Adversarial Network","arxiv_id":"2104.12357","date":"2021-04-26","proceeding":null,"authors":["Yuzhi Zhao","Lai-Man Po","Wing-Yin Yu","Yasar Abbas Ur Rehman","Mengyang Liu","Yujia Zhang","Weifeng Ou"],"abstract":"We propose a hybrid recurrent Video Colorization with Hybrid Generative Adversarial Network (VCGAN), an improved approach to video colorization using end-to-end learning. The VCGAN addresses two prevalent issues in the video colorization domain: Temporal consistency and unification of colorization network and refinement network into a single architecture. To enhance colorization quality and spatiotemporal consistency, the mainstream of generator in VCGAN is assisted by two additional networks, i.e., global feature extractor and placeholder feature extractor, respectively. The global feature extractor encodes the global semantics of grayscale input to enhance colorization quality, whereas the placeholder feature extractor acts as a feedback connection to encode the semantics of the previous colorized frame in order to maintain spatiotemporal consistency. If changing the input for placeholder feature extractor as grayscale input, the hybrid VCGAN also has the potential to perform image colorization. To improve the consistency of far frames, we propose a dense long-term loss that smooths the temporal disparity of every two remote frames. Trained with colorization and temporal losses jointly, VCGAN strikes a good balance between color vividness and video continuity. Experimental results demonstrate that VCGAN produces higher-quality and temporally more consistent colorful videos than existing approaches.","url_abs":"https://arxiv.org/abs/2104.12357v2","url_pdf":"https://arxiv.org/pdf/2104.12357v2.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":"vcgan-video-colorization-with-hybrid","repo_url":"https://github.com/zhaoyuzhi/VCGAN","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"colorization","task_name":"Colorization"},{"task_slug":null,"task_name":"Generative Adversarial Network"},{"task_slug":"image-colorization","task_name":"Image Colorization"}],"methods":[{"method_slug":"colorization","method_name":"Colorization"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2104.12357","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2104.12357"}},"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/zhaoyuzhi/VCGAN","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":3,"unverified":8},"by_repo_kind":{"official":{"samples":11,"ran":3,"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":"d9def42110729a85","entry":"conv1x1","repo":"zhaoyuzhi/VCGAN","repo_kind":"official","path":"resnet50_in_pre_training/network.py","file_url":"https://github.com/zhaoyuzhi/VCGAN/blob/HEAD/resnet50_in_pre_training/network.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d9def42110729a85"}},{"code_sha256_prefix":"fac5364e2f53c6db","entry":"conv3x3","repo":"zhaoyuzhi/VCGAN","repo_kind":"official","path":"resnet50_in_pre_training/network.py","file_url":"https://github.com/zhaoyuzhi/VCGAN/blob/HEAD/resnet50_in_pre_training/network.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fac5364e2f53c6db"}},{"code_sha256_prefix":"bedff51745d2cf84","entry":"l2normalize","repo":"zhaoyuzhi/VCGAN","repo_kind":"official","path":"train/network_module.py","file_url":"https://github.com/zhaoyuzhi/VCGAN/blob/HEAD/train/network_module.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bedff51745d2cf84"}},{"code_sha256_prefix":"215ab102388c6606","entry":"PWCEstimate","repo":"zhaoyuzhi/VCGAN","repo_kind":"official","path":"train/pwcnet.py","file_url":"https://github.com/zhaoyuzhi/VCGAN/blob/HEAD/train/pwcnet.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":"215ab102388c6606"}},{"code_sha256_prefix":"e94b8aaedb36ef3a","entry":"PWCNetBackward","repo":"zhaoyuzhi/VCGAN","repo_kind":"official","path":"train/pwcnet.py","file_url":"https://github.com/zhaoyuzhi/VCGAN/blob/HEAD/train/pwcnet.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":"e94b8aaedb36ef3a"}},{"code_sha256_prefix":"eeeb6ad83023b696","entry":"PWCNetBackward","repo":"zhaoyuzhi/VCGAN","repo_kind":"official","path":"evaluation/WarpError/pwcnet.py","file_url":"https://github.com/zhaoyuzhi/VCGAN/blob/HEAD/evaluation/WarpError/pwcnet.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":"eeeb6ad83023b696"}},{"code_sha256_prefix":"bf90a9d890668ca8","entry":"Reshape_Tensor","repo":"zhaoyuzhi/VCGAN","repo_kind":"official","path":"train/pwcnet.py","file_url":"https://github.com/zhaoyuzhi/VCGAN/blob/HEAD/train/pwcnet.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":"bf90a9d890668ca8"}},{"code_sha256_prefix":"262657b0ce1b117c","entry":"cupy_kernel","repo":"zhaoyuzhi/VCGAN","repo_kind":"official","path":"train/correlation.py","file_url":"https://github.com/zhaoyuzhi/VCGAN/blob/HEAD/train/correlation.py","link_basis":"plan_row","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":"262657b0ce1b117c"}},{"code_sha256_prefix":"889fe30d9fa3b00d","entry":"get_files","repo":"zhaoyuzhi/VCGAN","repo_kind":"official","path":"resnet50_in_pre_training/utils.py","file_url":"https://github.com/zhaoyuzhi/VCGAN/blob/HEAD/resnet50_in_pre_training/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":"889fe30d9fa3b00d"}},{"code_sha256_prefix":"a7688ed9fd9208bc","entry":"get_jpgs","repo":"zhaoyuzhi/VCGAN","repo_kind":"official","path":"resnet50_in_pre_training/utils.py","file_url":"https://github.com/zhaoyuzhi/VCGAN/blob/HEAD/resnet50_in_pre_training/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":"a7688ed9fd9208bc"}},{"code_sha256_prefix":"2c0f9420e07c7b34","entry":"text_readlines","repo":"zhaoyuzhi/VCGAN","repo_kind":"official","path":"resnet50_in_pre_training/utils.py","file_url":"https://github.com/zhaoyuzhi/VCGAN/blob/HEAD/resnet50_in_pre_training/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":"2c0f9420e07c7b34"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}