{"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/im2pencil-controllable-pencil-illustration","title":"Im2Pencil: Controllable Pencil Illustration from Photographs","arxiv_id":"1903.08682","date":"2019-03-20","proceeding":"CVPR 2019 6","authors":["Yijun Li","Chen Fang","Aaron Hertzmann","Eli Shechtman","Ming-Hsuan Yang"],"abstract":"We propose a high-quality photo-to-pencil translation method with\nfine-grained control over the drawing style. This is a challenging task due to\nmultiple stroke types (e.g., outline and shading), structural complexity of\npencil shading (e.g., hatching), and the lack of aligned training data pairs.\nTo address these challenges, we develop a two-branch model that learns separate\nfilters for generating sketchy outlines and tonal shading from a collection of\npencil drawings. We create training data pairs by extracting clean outlines and\ntonal illustrations from original pencil drawings using image filtering\ntechniques, and we manually label the drawing styles. In addition, our model\ncreates different pencil styles (e.g., line sketchiness and shading style) in a\nuser-controllable manner. Experimental results on different types of pencil\ndrawings show that the proposed algorithm performs favorably against existing\nmethods in terms of quality, diversity and user evaluations.","url_abs":"http://arxiv.org/abs/1903.08682v1","url_pdf":"http://arxiv.org/pdf/1903.08682v1.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":"im2pencil-controllable-pencil-illustration","repo_url":"https://github.com/yijunmaverick/im2pencil","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"diversity","task_name":"Diversity"},{"task_slug":"translation","task_name":"Translation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1903.08682","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1903.08682"}},"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/yijunmaverick/im2pencil","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":3},"by_repo_kind":{"listed":{"samples":3,"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":"f592b552efc7e11d","entry":"define_G","repo":"yijunmaverick/im2pencil","repo_kind":"listed","path":"models/networks.py","file_url":"https://github.com/yijunmaverick/im2pencil/blob/HEAD/models/networks.py","link_basis":"harvester_set","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":"f592b552efc7e11d"}},{"code_sha256_prefix":"7702313c16b1182f","entry":"get_norm_layer","repo":"yijunmaverick/im2pencil","repo_kind":"listed","path":"models/networks.py","file_url":"https://github.com/yijunmaverick/im2pencil/blob/HEAD/models/networks.py","link_basis":"harvester_set","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":"7702313c16b1182f"}},{"code_sha256_prefix":"6fb98c8756ce7270","entry":"utils_cuda","repo":"yijunmaverick/im2pencil","repo_kind":"listed","path":"models/networks.py","file_url":"https://github.com/yijunmaverick/im2pencil/blob/HEAD/models/networks.py","link_basis":"harvester_set","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":"6fb98c8756ce7270"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}