{"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/clip-clop-clip-guided-collage-and","title":"CLIP-CLOP: CLIP-Guided Collage and Photomontage","arxiv_id":"2205.03146","date":"2022-05-06","proceeding":null,"authors":["Piotr Mirowski","Dylan Banarse","Mateusz Malinowski","Simon Osindero","Chrisantha Fernando"],"abstract":"The unabated mystique of large-scale neural networks, such as the CLIP dual image-and-text encoder, popularized automatically generated art. Increasingly more sophisticated generators enhanced the artworks' realism and visual appearance, and creative prompt engineering enabled stylistic expression. Guided by an artist-in-the-loop ideal, we design a gradient-based generator to produce collages. It requires the human artist to curate libraries of image patches and to describe (with prompts) the whole image composition, with the option to manually adjust the patches' positions during generation, thereby allowing humans to reclaim some control of the process and achieve greater creative freedom. We explore the aesthetic potentials of high-resolution collages, and provide an open-source Google Colab as an artistic tool.","url_abs":"https://arxiv.org/abs/2205.03146v3","url_pdf":"https://arxiv.org/pdf/2205.03146v3.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":"clip-clop-clip-guided-collage-and","repo_url":"https://github.com/deepmind/arnheim","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"prompt-engineering","task_name":"Prompt Engineering"}],"methods":[{"method_slug":"clip","method_name":"CLIP"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2205.03146","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2205.03146"}},"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/deepmind/arnheim","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_draft_wrong":1,"unverified":11},"by_repo_kind":{"official":{"samples":12,"ran":1,"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":"f398bc270e4f4ffe","entry":"moving_average","repo":"deepmind/arnheim","repo_kind":"official","path":"arnheim_3/src/training.py","file_url":"https://github.com/deepmind/arnheim/blob/HEAD/arnheim_3/src/training.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f398bc270e4f4ffe"}},{"code_sha256_prefix":"a1fe37a3cae10780","entry":"add_binary_alpha_mask","repo":"deepmind/arnheim","repo_kind":"official","path":"arnheim_3/src/patches.py","file_url":"https://github.com/deepmind/arnheim/blob/HEAD/arnheim_3/src/patches.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":"a1fe37a3cae10780"}},{"code_sha256_prefix":"62dbb90841104386","entry":"augmentation_transforms","repo":"deepmind/arnheim","repo_kind":"official","path":"arnheim_3/src/training.py","file_url":"https://github.com/deepmind/arnheim/blob/HEAD/arnheim_3/src/training.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":"62dbb90841104386"}},{"code_sha256_prefix":"bc4a6b2b73931e91","entry":"cached_url_download","repo":"deepmind/arnheim","repo_kind":"official","path":"arnheim_3/src/video_utils.py","file_url":"https://github.com/deepmind/arnheim/blob/HEAD/arnheim_3/src/video_utils.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":"bc4a6b2b73931e91"}},{"code_sha256_prefix":"c44a61423cda6589","entry":"get_segmented_data_initial","repo":"deepmind/arnheim","repo_kind":"official","path":"arnheim_3/src/patches.py","file_url":"https://github.com/deepmind/arnheim/blob/HEAD/arnheim_3/src/patches.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":"c44a61423cda6589"}},{"code_sha256_prefix":"c9021d584ecdaa67","entry":"layout_img_batch","repo":"deepmind/arnheim","repo_kind":"official","path":"arnheim_3/src/video_utils.py","file_url":"https://github.com/deepmind/arnheim/blob/HEAD/arnheim_3/src/video_utils.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":"c9021d584ecdaa67"}},{"code_sha256_prefix":"982696c5a2af8719","entry":"load_image","repo":"deepmind/arnheim","repo_kind":"official","path":"arnheim_3/src/video_utils.py","file_url":"https://github.com/deepmind/arnheim/blob/HEAD/arnheim_3/src/video_utils.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":"982696c5a2af8719"}},{"code_sha256_prefix":"9179f893b42e7d4c","entry":"make_optimizer","repo":"deepmind/arnheim","repo_kind":"official","path":"arnheim_3/src/training.py","file_url":"https://github.com/deepmind/arnheim/blob/HEAD/arnheim_3/src/training.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":"9179f893b42e7d4c"}},{"code_sha256_prefix":"e7a487bd5cb64ed2","entry":"population_render_masked_transparency","repo":"deepmind/arnheim","repo_kind":"official","path":"arnheim_3/src/rendering.py","file_url":"https://github.com/deepmind/arnheim/blob/HEAD/arnheim_3/src/rendering.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":"e7a487bd5cb64ed2"}},{"code_sha256_prefix":"d169b8ba653d5067","entry":"population_render_overlap","repo":"deepmind/arnheim","repo_kind":"official","path":"arnheim_3/src/rendering.py","file_url":"https://github.com/deepmind/arnheim/blob/HEAD/arnheim_3/src/rendering.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":"d169b8ba653d5067"}},{"code_sha256_prefix":"d4e7d38d32b3d350","entry":"population_render_transparency","repo":"deepmind/arnheim","repo_kind":"official","path":"arnheim_3/src/rendering.py","file_url":"https://github.com/deepmind/arnheim/blob/HEAD/arnheim_3/src/rendering.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":"d4e7d38d32b3d350"}},{"code_sha256_prefix":"588a25f20bc607fa","entry":"resize_patch","repo":"deepmind/arnheim","repo_kind":"official","path":"arnheim_3/src/patches.py","file_url":"https://github.com/deepmind/arnheim/blob/HEAD/arnheim_3/src/patches.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":"588a25f20bc607fa"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}