{"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/enhancing-visibility-in-nighttime-haze-images","title":"Enhancing Visibility in Nighttime Haze Images Using Guided APSF and Gradient Adaptive Convolution","arxiv_id":"2308.01738","date":"2023-08-03","proceeding":null,"authors":["Yeying Jin","Beibei Lin","Wending Yan","Yuan Yuan","Wei Ye","Robby T. Tan"],"abstract":"Visibility in hazy nighttime scenes is frequently reduced by multiple factors, including low light, intense glow, light scattering, and the presence of multicolored light sources. Existing nighttime dehazing methods often struggle with handling glow or low-light conditions, resulting in either excessively dark visuals or unsuppressed glow outputs. In this paper, we enhance the visibility from a single nighttime haze image by suppressing glow and enhancing low-light regions. To handle glow effects, our framework learns from the rendered glow pairs. Specifically, a light source aware network is proposed to detect light sources of night images, followed by the APSF (Atmospheric Point Spread Function)-guided glow rendering. Our framework is then trained on the rendered images, resulting in glow suppression. Moreover, we utilize gradient-adaptive convolution, to capture edges and textures in hazy scenes. By leveraging extracted edges and textures, we enhance the contrast of the scene without losing important structural details. To boost low-light intensity, our network learns an attention map, then adjusted by gamma correction. This attention has high values on low-light regions and low values on haze and glow regions. Extensive evaluation on real nighttime haze images, demonstrates the effectiveness of our method. Our experiments demonstrate that our method achieves a PSNR of 30.38dB, outperforming state-of-the-art methods by 13% on GTA5 nighttime haze dataset. Our data and code is available at https://github.com/jinyeying/nighttime_dehaze.","url_abs":"https://arxiv.org/abs/2308.01738v4","url_pdf":"https://arxiv.org/pdf/2308.01738v4.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":"enhancing-visibility-in-nighttime-haze-images","repo_url":"https://github.com/jinyeying/nighttime_dehaze","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"image-dehazing","task_name":"Image Dehazing"}],"methods":[{"method_slug":"aware","method_name":"AWARE"},{"method_slug":"batch-normalization","method_name":"Batch Normalization"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"cycle-consistency-loss","method_name":"Cycle Consistency Loss"},{"method_slug":"gan-least-squares-loss","method_name":"GAN Least Squares Loss"},{"method_slug":"glow","method_name":"GLOW"},{"method_slug":"instance-normalization","method_name":"Instance Normalization"},{"method_slug":"patchgan","method_name":"PatchGAN"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"residual-block","method_name":"Residual Block"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"sigmoid-activation","method_name":"Sigmoid Activation"},{"method_slug":"tanh-activation","method_name":"Tanh Activation"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2308.01738","atlas_url":"https://app.syntology.ai/?focus=2308.01738","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2308.01738"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/jinyeying/nighttime_dehaze","reach":null}],"summary":{"ran_fixture":1,"ran_violates":1,"unverified":1},"by_repo_kind":{"official":{"samples":3,"ran":2,"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":3,"samples":[{"code_sha256_prefix":"7f3a54e16f28ef7e","entry":"calculate_psnr","repo":"jinyeying/nighttime_dehaze","repo_kind":"official","path":"0_ACMMM23_RESULTS/calculate_psnr_ssim_NH_GTA5.py","file_url":"https://github.com/jinyeying/nighttime_dehaze/blob/HEAD/0_ACMMM23_RESULTS/calculate_psnr_ssim_NH_GTA5.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7f3a54e16f28ef7e"}},{"code_sha256_prefix":"2746a91df51e486c","entry":"to_y_channel","repo":"jinyeying/nighttime_dehaze","repo_kind":"official","path":"0_ACMMM23_RESULTS/calculate_psnr_ssim_NH_GTA5.py","file_url":"https://github.com/jinyeying/nighttime_dehaze/blob/HEAD/0_ACMMM23_RESULTS/calculate_psnr_ssim_NH_GTA5.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2746a91df51e486c"}},{"code_sha256_prefix":"0d652e0f4dcb88ac","entry":"check_args","repo":"jinyeying/nighttime_dehaze","repo_kind":"official","path":"main_test.py","file_url":"https://github.com/jinyeying/nighttime_dehaze/blob/HEAD/main_test.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0d652e0f4dcb88ac"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}