{"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/zero-reference-deep-curve-estimation-for-low","title":"Zero-Reference Deep Curve Estimation for Low-Light Image Enhancement","arxiv_id":"2001.06826","date":"2020-01-19","proceeding":"CVPR 2020 6","authors":["Chunle Guo","Chongyi Li","Jichang Guo","Chen Change Loy","Junhui Hou","Sam Kwong","Runmin Cong"],"abstract":"The paper presents a novel method, Zero-Reference Deep Curve Estimation (Zero-DCE), which formulates light enhancement as a task of image-specific curve estimation with a deep network. Our method trains a lightweight deep network, DCE-Net, to estimate pixel-wise and high-order curves for dynamic range adjustment of a given image. The curve estimation is specially designed, considering pixel value range, monotonicity, and differentiability. Zero-DCE is appealing in its relaxed assumption on reference images, i.e., it does not require any paired or unpaired data during training. This is achieved through a set of carefully formulated non-reference loss functions, which implicitly measure the enhancement quality and drive the learning of the network. Our method is efficient as image enhancement can be achieved by an intuitive and simple nonlinear curve mapping. Despite its simplicity, we show that it generalizes well to diverse lighting conditions. Extensive experiments on various benchmarks demonstrate the advantages of our method over state-of-the-art methods qualitatively and quantitatively. Furthermore, the potential benefits of our Zero-DCE to face detection in the dark are discussed. Code and model will be available at https://github.com/Li-Chongyi/Zero-DCE.","url_abs":"https://arxiv.org/abs/2001.06826v2","url_pdf":"https://arxiv.org/pdf/2001.06826v2.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":"zero-reference-deep-curve-estimation-for-low","repo_url":"https://github.com/Li-Chongyi/Zero-DCE","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"zero-reference-deep-curve-estimation-for-low","repo_url":"https://github.com/Thehunk1206/Zero-DCE","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}},{"paper_slug":"zero-reference-deep-curve-estimation-for-low","repo_url":"https://github.com/canturan10/light_side","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"zero-reference-deep-curve-estimation-for-low","repo_url":"https://github.com/cuiziteng/iccv_maet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"zero-reference-deep-curve-estimation-for-low","repo_url":"https://github.com/cuiziteng/maet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"zero-reference-deep-curve-estimation-for-low","repo_url":"https://github.com/sayannath/Zero-DCE-TFLite","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"zero-reference-deep-curve-estimation-for-low","repo_url":"https://github.com/soumik12345/Zero-DCE","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"zero-reference-deep-curve-estimation-for-low","repo_url":"https://github.com/MindCode-4/code-14/tree/main/Zero-DCE%2B%2B","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"zero-reference-deep-curve-estimation-for-low","repo_url":"https://github.com/MindSpore-scientific/code-9/tree/main/Zero-DCE%2B%2B","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"zero-reference-deep-curve-estimation-for-low","repo_url":"https://github.com/kmohanku/Low-Light-Image-Video-Enhancement","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"zero-reference-deep-curve-estimation-for-low","repo_url":"https://github.com/pwc-1/Paper-9/tree/main/6/Zero-DCE","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"zero-reference-deep-curve-estimation-for-low","repo_url":"https://github.com/pwc-1/Paper-9/tree/main/6/Zero-DCE%2B%2B","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"zero-reference-deep-curve-estimation-for-low","repo_url":"https://github.com/tuvovan/Zero_DCE_TF","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"color-constancy","task_name":"Color Constancy"},{"task_slug":"face-detection","task_name":"Face Detection"},{"task_slug":"image-enhancement","task_name":"Image Enhancement"},{"task_slug":"low-light-image-enhancement","task_name":"Low-Light Image Enhancement"},{"task_slug":"speech-enhancement","task_name":"Speech Enhancement"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/color-constancy-on-intel-tut2","task":"Color Constancy","dataset":"INTEL-TUT2","model":"SRIE[8]","rank_in_archive_order":1,"of":1,"metrics":{"Best 25%":"3.2"},"uses_additional_data":false},{"leaderboard":"/sota/low-light-image-enhancement-on-dicm","task":"Low-Light Image Enhancement","dataset":"DICM","model":"Zero-DCE","rank_in_archive_order":4,"of":6,"metrics":{"BRISQUE":"27.56","NIQE":"4.58","User Study Score":"3.52"},"uses_additional_data":false},{"leaderboard":"/sota/low-light-image-enhancement-on-lime","task":"Low-Light Image Enhancement","dataset":"LIME","model":"Zero-DCE","rank_in_archive_order":5,"of":6,"metrics":{"BRISQUE":"20.44","NIQE":"5.82","User Study Score":"3.8"},"uses_additional_data":false},{"leaderboard":"/sota/low-light-image-enhancement-on-mef","task":"Low-Light Image Enhancement","dataset":"MEF","model":"Zero-DCE","rank_in_archive_order":5,"of":7,"metrics":{"BRISQUE":"17.32","NIQE":"4.93","User Study Score":"3.87"},"uses_additional_data":false},{"leaderboard":"/sota/low-light-image-enhancement-on-npe","task":"Low-Light Image Enhancement","dataset":"NPE","model":"Zero-DCE","rank_in_archive_order":5,"of":6,"metrics":{"BRISQUE":"20.72","NIQE":"4.53","User Study Score":"3.81"},"uses_additional_data":false},{"leaderboard":"/sota/low-light-image-enhancement-on-vv","task":"Low-Light Image Enhancement","dataset":"VV","model":"Zero-DCE","rank_in_archive_order":4,"of":7,"metrics":{"BRISQUE":"34.66","NIQE":"4.81","User Study Score":"3.24"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2001.06826","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2001.06826"}},"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/cuiziteng/iccv_maet","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/canturan10/light_side","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/pwc-1/Paper-9/tree/main/6/Zero-DCE","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/MindSpore-scientific/code-9/tree/main/Zero-DCE%2B%2B","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/tuvovan/Zero_DCE_TF","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/kmohanku/Low-Light-Image-Video-Enhancement","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Thehunk1206/Zero-DCE","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Li-Chongyi/Zero-DCE","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/MindCode-4/code-14/tree/main/Zero-DCE%2B%2B","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/cuiziteng/maet","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/soumik12345/Zero-DCE","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/sayannath/Zero-DCE-TFLite","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/pwc-1/Paper-9/tree/main/6/Zero-DCE%2B%2B","reach":null}],"summary":{"ran":1,"unverified":15},"by_repo_kind":{"listed":{"samples":16,"ran":1,"repositories":4}},"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":"e76a491553cf9fcf","entry":"process_checkpoint","repo":"cuiziteng/iccv_maet","repo_kind":"listed","path":".dev_scripts/gather_models.py","file_url":"https://github.com/cuiziteng/iccv_maet/blob/HEAD/.dev_scripts/gather_models.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":"e76a491553cf9fcf"}},{"code_sha256_prefix":"e824e99cd0a86afe","entry":"DCE_x","repo":"tuvovan/Zero_DCE_TF","repo_kind":"listed","path":"src/model.py","file_url":"https://github.com/tuvovan/Zero_DCE_TF/blob/HEAD/src/model.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":"e824e99cd0a86afe"}},{"code_sha256_prefix":"d3351079e85081a6","entry":"L_TV","repo":"tuvovan/Zero_DCE_TF","repo_kind":"listed","path":"src/loss.py","file_url":"https://github.com/tuvovan/Zero_DCE_TF/blob/HEAD/src/loss.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":"d3351079e85081a6"}},{"code_sha256_prefix":"8ec5ded69fae1885","entry":"L_color","repo":"tuvovan/Zero_DCE_TF","repo_kind":"listed","path":"src/loss.py","file_url":"https://github.com/tuvovan/Zero_DCE_TF/blob/HEAD/src/loss.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":"8ec5ded69fae1885"}},{"code_sha256_prefix":"037bf1c6b1f20806","entry":"L_exp","repo":"tuvovan/Zero_DCE_TF","repo_kind":"listed","path":"src/loss.py","file_url":"https://github.com/tuvovan/Zero_DCE_TF/blob/HEAD/src/loss.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":"037bf1c6b1f20806"}},{"code_sha256_prefix":"33162905c6a70e6a","entry":"configure_batch","repo":"canturan10/light_side","repo_kind":"listed","path":"light_side/utils.py","file_url":"https://github.com/canturan10/light_side/blob/HEAD/light_side/utils.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":"33162905c6a70e6a"}},{"code_sha256_prefix":"5a508e6403e60f0d","entry":"convert_np","repo":"canturan10/light_side","repo_kind":"listed","path":"light_side/utils.py","file_url":"https://github.com/canturan10/light_side/blob/HEAD/light_side/utils.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":"5a508e6403e60f0d"}},{"code_sha256_prefix":"b22c91880d31ebfb","entry":"enhance_frame","repo":"tuvovan/Zero_DCE_TF","repo_kind":"listed","path":"video-dce.py","file_url":"https://github.com/tuvovan/Zero_DCE_TF/blob/HEAD/video-dce.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":"b22c91880d31ebfb"}},{"code_sha256_prefix":"e86ae414e2afc197","entry":"get_final_epoch","repo":"cuiziteng/iccv_maet","repo_kind":"listed","path":".dev_scripts/gather_models.py","file_url":"https://github.com/cuiziteng/iccv_maet/blob/HEAD/.dev_scripts/gather_models.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":"e86ae414e2afc197"}},{"code_sha256_prefix":"fee6fb3d147348e3","entry":"get_final_results","repo":"cuiziteng/iccv_maet","repo_kind":"listed","path":".dev_scripts/gather_models.py","file_url":"https://github.com/cuiziteng/iccv_maet/blob/HEAD/.dev_scripts/gather_models.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":"fee6fb3d147348e3"}},{"code_sha256_prefix":"619e70eaae247e45","entry":"load_model","repo":"tuvovan/Zero_DCE_TF","repo_kind":"listed","path":"video-dce.py","file_url":"https://github.com/tuvovan/Zero_DCE_TF/blob/HEAD/video-dce.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":"619e70eaae247e45"}},{"code_sha256_prefix":"a90a91cfd3bee533","entry":"populate_train_list","repo":"tuvovan/Zero_DCE_TF","repo_kind":"listed","path":"src/data_lowlight.py","file_url":"https://github.com/tuvovan/Zero_DCE_TF/blob/HEAD/src/data_lowlight.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":"a90a91cfd3bee533"}},{"code_sha256_prefix":"3fa4889eb961839a","entry":"pretty_size","repo":"soumik12345/Zero-DCE","repo_kind":"listed","path":"zero_dce/utils.py","file_url":"https://github.com/soumik12345/Zero-DCE/blob/HEAD/zero_dce/utils.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":"3fa4889eb961839a"}},{"code_sha256_prefix":"e5a657a01454b7f8","entry":"read_imagefile","repo":"canturan10/light_side","repo_kind":"listed","path":"deployment/fastapi/service.py","file_url":"https://github.com/canturan10/light_side/blob/HEAD/deployment/fastapi/service.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":"e5a657a01454b7f8"}},{"code_sha256_prefix":"149d779c3ce51b5d","entry":"save_grad","repo":"cuiziteng/iccv_maet","repo_kind":"listed","path":"mmdet/models/detectors/MAET_YOLO/MAET_YOLO.py","file_url":"https://github.com/cuiziteng/iccv_maet/blob/HEAD/mmdet/models/detectors/MAET_YOLO/MAET_YOLO.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":"149d779c3ce51b5d"}},{"code_sha256_prefix":"d030fc89c60d67f4","entry":"visualize","repo":"canturan10/light_side","repo_kind":"listed","path":"light_side/utils.py","file_url":"https://github.com/canturan10/light_side/blob/HEAD/light_side/utils.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":"d030fc89c60d67f4"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}