{"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/neural-color-operators-for-sequential-image","title":"Neural Color Operators for Sequential Image Retouching","arxiv_id":"2207.08080","date":"2022-07-17","proceeding":null,"authors":["Yili Wang","Xin Li","Kun Xu","Dongliang He","Qi Zhang","Fu Li","Errui Ding"],"abstract":"We propose a novel image retouching method by modeling the retouching process as performing a sequence of newly introduced trainable neural color operators. The neural color operator mimics the behavior of traditional color operators and learns pixelwise color transformation while its strength is controlled by a scalar. To reflect the homomorphism property of color operators, we employ equivariant mapping and adopt an encoder-decoder structure which maps the non-linear color transformation to a much simpler transformation (i.e., translation) in a high dimensional space. The scalar strength of each neural color operator is predicted using CNN based strength predictors by analyzing global image statistics. Overall, our method is rather lightweight and offers flexible controls. Experiments and user studies on public datasets show that our method consistently achieves the best results compared with SOTA methods in both quantitative measures and visual qualities. The code and pretrained models are provided at https://github.com/amberwangyili/neurop","url_abs":"https://arxiv.org/abs/2207.08080v2","url_pdf":"https://arxiv.org/pdf/2207.08080v2.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":"neural-color-operators-for-sequential-image","repo_url":"https://github.com/amberwangyili/neurop","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"neural-color-operators-for-sequential-image","repo_url":"https://github.com/amberwangyili/neurop-pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"decoder","task_name":"Decoder"},{"task_slug":"image-enhancement","task_name":"Image Enhancement"},{"task_slug":"image-retouching","task_name":"Image Retouching"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2207.08080","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2207.08080"}},"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":"deterministic:regex_extraction","url":"https://github.com/amberwangyili/neurop","reach":null}],"summary":{"ran":5},"by_repo_kind":{"official":{"samples":5,"ran":5,"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":"fac6b82242ae73d4","entry":"Encoder","repo":"amberwangyili/neurop","repo_kind":"official","path":"codes_pytorch/models/networks.py","file_url":"https://github.com/amberwangyili/neurop/blob/HEAD/codes_pytorch/models/networks.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fac6b82242ae73d4"}},{"code_sha256_prefix":"f97e5699efa2b692","entry":"NeurOP","repo":"amberwangyili/neurop","repo_kind":"official","path":"codes_pytorch/models/networks.py","file_url":"https://github.com/amberwangyili/neurop/blob/HEAD/codes_pytorch/models/networks.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f97e5699efa2b692"}},{"code_sha256_prefix":"1f9ab97f3a843e8e","entry":"Operator","repo":"amberwangyili/neurop","repo_kind":"official","path":"codes_pytorch/models/networks.py","file_url":"https://github.com/amberwangyili/neurop/blob/HEAD/codes_pytorch/models/networks.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1f9ab97f3a843e8e"}},{"code_sha256_prefix":"d43d40d4af68cd54","entry":"Predictor","repo":"amberwangyili/neurop","repo_kind":"official","path":"codes_pytorch/models/networks.py","file_url":"https://github.com/amberwangyili/neurop/blob/HEAD/codes_pytorch/models/networks.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d43d40d4af68cd54"}},{"code_sha256_prefix":"7fd811178e666075","entry":"Renderer","repo":"amberwangyili/neurop","repo_kind":"official","path":"codes_pytorch/models/networks.py","file_url":"https://github.com/amberwangyili/neurop/blob/HEAD/codes_pytorch/models/networks.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7fd811178e666075"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}