{"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/cyclenet-rethinking-cycle-consistency-in-text-1","title":"CycleNet: Rethinking Cycle Consistency in Text-Guided Diffusion for Image Manipulation","arxiv_id":"2310.13165","date":"2023-10-19","proceeding":"NeurIPS 2023 11","authors":["Sihan Xu","Ziqiao Ma","Yidong Huang","Honglak Lee","Joyce Chai"],"abstract":"Diffusion models (DMs) have enabled breakthroughs in image synthesis tasks but lack an intuitive interface for consistent image-to-image (I2I) translation. Various methods have been explored to address this issue, including mask-based methods, attention-based methods, and image-conditioning. However, it remains a critical challenge to enable unpaired I2I translation with pre-trained DMs while maintaining satisfying consistency. This paper introduces Cyclenet, a novel but simple method that incorporates cycle consistency into DMs to regularize image manipulation. We validate Cyclenet on unpaired I2I tasks of different granularities. Besides the scene and object level translation, we additionally contribute a multi-domain I2I translation dataset to study the physical state changes of objects. Our empirical studies show that Cyclenet is superior in translation consistency and quality, and can generate high-quality images for out-of-domain distributions with a simple change of the textual prompt. Cyclenet is a practical framework, which is robust even with very limited training data (around 2k) and requires minimal computational resources (1 GPU) to train. Project homepage: https://cyclenetweb.github.io/","url_abs":"https://arxiv.org/abs/2310.13165v2","url_pdf":"https://arxiv.org/pdf/2310.13165v2.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":"cyclenet-rethinking-cycle-consistency-in-text-1","repo_url":"https://github.com/sled-group/cyclenet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"2k","task_name":"2k"},{"task_slug":null,"task_name":"GPU"},{"task_slug":"image-generation","task_name":"Image Generation"},{"task_slug":"image-manipulation","task_name":"Image Manipulation"},{"task_slug":"translation","task_name":"Translation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2310.13165","atlas_url":"https://app.syntology.ai/?focus=2310.13165","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2310.13165"}},"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/sled-group/cyclenet","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_fixture":1,"ran_draft_wrong":1,"ran":1,"unverified":3},"by_repo_kind":{"official":{"samples":6,"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":"f9ec7d70add02b6f","entry":"HWC3","repo":"sled-group/cyclenet","repo_kind":"official","path":"annotator/util.py","file_url":"https://github.com/sled-group/cyclenet/blob/HEAD/annotator/util.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f9ec7d70add02b6f"}},{"code_sha256_prefix":"0dbf855dab1ab575","entry":"get_node_name","repo":"sled-group/cyclenet","repo_kind":"official","path":"tool_add_cycle_sd21.py","file_url":"https://github.com/sled-group/cyclenet/blob/HEAD/tool_add_cycle_sd21.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":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"0dbf855dab1ab575"}},{"code_sha256_prefix":"0af8635db2bb32a2","entry":"make_layers","repo":"sled-group/cyclenet","repo_kind":"official","path":"annotator/openpose/model.py","file_url":"https://github.com/sled-group/cyclenet/blob/HEAD/annotator/openpose/model.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"0af8635db2bb32a2"}},{"code_sha256_prefix":"cfc17707f35e7ec4","entry":"get_state_dict","repo":"sled-group/cyclenet","repo_kind":"official","path":"cycleNet/model.py","file_url":"https://github.com/sled-group/cyclenet/blob/HEAD/cycleNet/model.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"cfc17707f35e7ec4"}},{"code_sha256_prefix":"7e221c57761ea4ce","entry":"load_state_dict","repo":"sled-group/cyclenet","repo_kind":"official","path":"cycleNet/model.py","file_url":"https://github.com/sled-group/cyclenet/blob/HEAD/cycleNet/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7e221c57761ea4ce"}},{"code_sha256_prefix":"50fd68f6989503c6","entry":"resize_image","repo":"sled-group/cyclenet","repo_kind":"official","path":"annotator/util.py","file_url":"https://github.com/sled-group/cyclenet/blob/HEAD/annotator/util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"50fd68f6989503c6"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}