{"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/image-inpainting-via-conditional-texture-and","title":"Image Inpainting via Conditional Texture and Structure Dual Generation","arxiv_id":"2108.09760","date":"2021-08-22","proceeding":"ICCV 2021 10","authors":["Xiefan Guo","Hongyu Yang","Di Huang"],"abstract":"Deep generative approaches have recently made considerable progress in image inpainting by introducing structure priors. Due to the lack of proper interaction with image texture during structure reconstruction, however, current solutions are incompetent in handling the cases with large corruptions, and they generally suffer from distorted results. In this paper, we propose a novel two-stream network for image inpainting, which models the structure-constrained texture synthesis and texture-guided structure reconstruction in a coupled manner so that they better leverage each other for more plausible generation. Furthermore, to enhance the global consistency, a Bi-directional Gated Feature Fusion (Bi-GFF) module is designed to exchange and combine the structure and texture information and a Contextual Feature Aggregation (CFA) module is developed to refine the generated contents by region affinity learning and multi-scale feature aggregation. Qualitative and quantitative experiments on the CelebA, Paris StreetView and Places2 datasets demonstrate the superiority of the proposed method. Our code is available at https://github.com/Xiefan-Guo/CTSDG.","url_abs":"https://arxiv.org/abs/2108.09760v2","url_pdf":"https://arxiv.org/pdf/2108.09760v2.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":"image-inpainting-via-conditional-texture-and","repo_url":"https://github.com/xiefan-guo/ctsdg","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"image-inpainting-via-conditional-texture-and","repo_url":"https://github.com/MindSpore-paper-code-3/code2/tree/main/CTSDG","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"image-inpainting-via-conditional-texture-and","repo_url":"https://github.com/MindSpore-paper-code-3/code8/tree/main/CTSDG","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"image-inpainting-via-conditional-texture-and","repo_url":"https://github.com/yangyucheng000/cstdg","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":{"status":"ok"}}],"tasks":[{"task_slug":"image-inpainting","task_name":"Image Inpainting"},{"task_slug":"texture-synthesis","task_name":"Texture Synthesis"}],"methods":[{"method_slug":"pixel-prediction","method_name":"Inpainting"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2108.09760","atlas_url":"https://app.syntology.ai/?focus=2108.09760","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2108.09760"}},"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":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/MindSpore-paper-code-3/code8/tree/main/CTSDG","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/xiefan-guo/ctsdg","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/MindSpore-paper-code-3/code2/tree/main/CTSDG","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/yangyucheng000/cstdg","reach":{"status":"ok"}}],"summary":{"unverified":5},"by_repo_kind":{"official":{"samples":5,"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":"95752afb8fecca76","entry":"discriminator_loss_func","repo":"xiefan-guo/ctsdg","repo_kind":"official","path":"criteria/loss.py","file_url":"https://github.com/xiefan-guo/ctsdg/blob/HEAD/criteria/loss.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":"95752afb8fecca76"}},{"code_sha256_prefix":"d8738d0c69c63d3e","entry":"image_transforms","repo":"xiefan-guo/ctsdg","repo_kind":"official","path":"datasets/transform.py","file_url":"https://github.com/xiefan-guo/ctsdg/blob/HEAD/datasets/transform.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":"d8738d0c69c63d3e"}},{"code_sha256_prefix":"eb656fe08a6a70c4","entry":"is_image_file","repo":"xiefan-guo/ctsdg","repo_kind":"official","path":"datasets/folder.py","file_url":"https://github.com/xiefan-guo/ctsdg/blob/HEAD/datasets/folder.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":"eb656fe08a6a70c4"}},{"code_sha256_prefix":"253967d972d4a75c","entry":"make_dataset","repo":"xiefan-guo/ctsdg","repo_kind":"official","path":"datasets/folder.py","file_url":"https://github.com/xiefan-guo/ctsdg/blob/HEAD/datasets/folder.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":"253967d972d4a75c"}},{"code_sha256_prefix":"5130398eff1d1a60","entry":"mask_transforms","repo":"xiefan-guo/ctsdg","repo_kind":"official","path":"datasets/transform.py","file_url":"https://github.com/xiefan-guo/ctsdg/blob/HEAD/datasets/transform.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":"5130398eff1d1a60"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}