{"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/deep-painterly-harmonization","title":"Deep Painterly Harmonization","arxiv_id":"1804.03189","date":"2018-04-09","proceeding":null,"authors":["Fujun Luan","Sylvain Paris","Eli Shechtman","Kavita Bala"],"abstract":"Copying an element from a photo and pasting it into a painting is a challenging task. Applying photo compositing techniques in this context yields subpar results that look like a collage --- and existing painterly stylization algorithms, which are global, perform poorly when applied locally. We address these issues with a dedicated algorithm that carefully determines the local statistics to be transferred. We ensure both spatial and inter-scale statistical consistency and demonstrate that both aspects are key to generating quality results. To cope with the diversity of abstraction levels and types of paintings, we introduce a technique to adjust the parameters of the transfer depending on the painting. We show that our algorithm produces significantly better results than photo compositing or global stylization techniques and that it enables creative painterly edits that would be otherwise difficult to achieve.","url_abs":"http://arxiv.org/abs/1804.03189v3","url_pdf":"http://arxiv.org/pdf/1804.03189v3.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":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"deep-painterly-harmonization","repo_url":"https://github.com/Asteur/paint_harmonization","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"torch","reach":{"status":"unanswered"}},{"paper_slug":"deep-painterly-harmonization","repo_url":"https://github.com/HenryJia/pytorch-deep-painterly-harmonization","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"deep-painterly-harmonization","repo_url":"https://github.com/Oldpan/Deep-Painterly-Harmonization-Pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"deep-painterly-harmonization","repo_url":"https://github.com/YooJiHyeong/SinIR","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"deep-painterly-harmonization","repo_url":"https://github.com/buimanhthangnt/Deep-Painterly-Harmonization","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"deep-painterly-harmonization","repo_url":"https://github.com/chenqikkl/Qi","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"torch","reach":{"status":"unanswered"}},{"paper_slug":"deep-painterly-harmonization","repo_url":"https://github.com/drduda/DeepPainterlyHarmonization","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}},{"paper_slug":"deep-painterly-harmonization","repo_url":"https://github.com/fatihky/starred","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}},{"paper_slug":"deep-painterly-harmonization","repo_url":"https://github.com/freedombenLiu/deep-painterly-harmonization","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"torch","reach":{"status":"unanswered"}},{"paper_slug":"deep-painterly-harmonization","repo_url":"https://github.com/jppgks/style-transfer-papers","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"unanswered"}},{"paper_slug":"deep-painterly-harmonization","repo_url":"https://github.com/luanfujun/deep-painterly-harmonization","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"deep-painterly-harmonization","repo_url":"https://github.com/sarahmfrost/manumorph","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1804.03189","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1804.03189"}},"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/YooJiHyeong/SinIR","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Asteur/paint_harmonization","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Oldpan/Deep-Painterly-Harmonization-Pytorch","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/HenryJia/pytorch-deep-painterly-harmonization","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/chenqikkl/Qi","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/fatihky/starred","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/buimanhthangnt/Deep-Painterly-Harmonization","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/luanfujun/deep-painterly-harmonization","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/freedombenLiu/deep-painterly-harmonization","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/sarahmfrost/manumorph","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/jppgks/style-transfer-papers","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/drduda/DeepPainterlyHarmonization","reach":{"status":"unanswered"}}],"summary":{"ran_draft_wrong":4},"by_repo_kind":{"listed":{"samples":4,"ran":4,"repositories":2}},"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":4,"samples":[{"code_sha256_prefix":"6d87036209039489","entry":"cosine_similarity","repo":"HenryJia/pytorch-deep-painterly-harmonization","repo_kind":"listed","path":"models.py","file_url":"https://github.com/HenryJia/pytorch-deep-painterly-harmonization/blob/HEAD/models.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6d87036209039489"}},{"code_sha256_prefix":"1090950b58e9358b","entry":"gram_matrix","repo":"Oldpan/Deep-Painterly-Harmonization-Pytorch","repo_kind":"listed","path":"model.py","file_url":"https://github.com/Oldpan/Deep-Painterly-Harmonization-Pytorch/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1090950b58e9358b"}},{"code_sha256_prefix":"3d9fe186af01b2eb","entry":"gram_matrix","repo":"HenryJia/pytorch-deep-painterly-harmonization","repo_kind":"listed","path":"models.py","file_url":"https://github.com/HenryJia/pytorch-deep-painterly-harmonization/blob/HEAD/models.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3d9fe186af01b2eb"}},{"code_sha256_prefix":"d964f11d9c2938af","entry":"patchdot","repo":"HenryJia/pytorch-deep-painterly-harmonization","repo_kind":"listed","path":"models.py","file_url":"https://github.com/HenryJia/pytorch-deep-painterly-harmonization/blob/HEAD/models.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d964f11d9c2938af"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}