{"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/recaptured-raw-screen-image-and-video-1","title":"Recaptured Raw Screen Image and Video Demoiréing via Channel and Spatial Modulations","arxiv_id":"2310.20332","date":"2023-10-31","proceeding":"NeurIPS 2023 11","authors":["Huanjing Yue","Yijia Cheng","Xin Liu","Jingyu Yang"],"abstract":"Capturing screen contents by smartphone cameras has become a common way for information sharing. However, these images and videos are often degraded by moir\\'e patterns, which are caused by frequency aliasing between the camera filter array and digital display grids. We observe that the moir\\'e patterns in raw domain is simpler than those in sRGB domain, and the moir\\'e patterns in raw color channels have different properties. Therefore, we propose an image and video demoir\\'eing network tailored for raw inputs. We introduce a color-separated feature branch, and it is fused with the traditional feature-mixed branch via channel and spatial modulations. Specifically, the channel modulation utilizes modulated color-separated features to enhance the color-mixed features. The spatial modulation utilizes the feature with large receptive field to modulate the feature with small receptive field. In addition, we build the first well-aligned raw video demoir\\'eing (RawVDemoir\\'e) dataset and propose an efficient temporal alignment method by inserting alternating patterns. Experiments demonstrate that our method achieves state-of-the-art performance for both image and video demori\\'eing. We have released the code and dataset in https://github.com/tju-chengyijia/VD_raw.","url_abs":"https://arxiv.org/abs/2310.20332v1","url_pdf":"https://arxiv.org/pdf/2310.20332v1.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":"recaptured-raw-screen-image-and-video-1","repo_url":"https://github.com/tju-chengyijia/vd_raw","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2310.20332","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2310.20332"}},"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/tju-chengyijia/vd_raw","reach":{"status":"ok"}}],"summary":{"ran":6,"ran_draft_wrong":2,"unverified":2},"by_repo_kind":{"official":{"samples":10,"ran":8,"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":10,"samples":[{"code_sha256_prefix":"c7a8165906af2d57","entry":"calculate_psnr","repo":"tju-chengyijia/vd_raw","repo_kind":"official","path":"cal_psnr_ssim_lpips.py","file_url":"https://github.com/tju-chengyijia/vd_raw/blob/HEAD/cal_psnr_ssim_lpips.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c7a8165906af2d57"}},{"code_sha256_prefix":"1651d20649f5657b","entry":"calculate_ssim","repo":"tju-chengyijia/vd_raw","repo_kind":"official","path":"cal_psnr_ssim_lpips.py","file_url":"https://github.com/tju-chengyijia/vd_raw/blob/HEAD/cal_psnr_ssim_lpips.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1651d20649f5657b"}},{"code_sha256_prefix":"8aef36cfb6e61cbe","entry":"color_loss","repo":"tju-chengyijia/vd_raw","repo_kind":"official","path":"utils/loss_util.py","file_url":"https://github.com/tju-chengyijia/vd_raw/blob/HEAD/utils/loss_util.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8aef36cfb6e61cbe"}},{"code_sha256_prefix":"9bed061f167dd318","entry":"conv1x1","repo":"tju-chengyijia/vd_raw","repo_kind":"official","path":"model/MainNet.py","file_url":"https://github.com/tju-chengyijia/vd_raw/blob/HEAD/model/MainNet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9bed061f167dd318"}},{"code_sha256_prefix":"f3d374db4177f20c","entry":"conv3x3","repo":"tju-chengyijia/vd_raw","repo_kind":"official","path":"model/MainNet.py","file_url":"https://github.com/tju-chengyijia/vd_raw/blob/HEAD/model/MainNet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f3d374db4177f20c"}},{"code_sha256_prefix":"a91e8949c3b82c79","entry":"default_toTensor","repo":"tju-chengyijia/vd_raw","repo_kind":"official","path":"cal_psnr_ssim_lpips.py","file_url":"https://github.com/tju-chengyijia/vd_raw/blob/HEAD/cal_psnr_ssim_lpips.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a91e8949c3b82c79"}},{"code_sha256_prefix":"cd569444547de84f","entry":"get_position_from_periods","repo":"tju-chengyijia/vd_raw","repo_kind":"official","path":"basicsr/models/lr_scheduler.py","file_url":"https://github.com/tju-chengyijia/vd_raw/blob/HEAD/basicsr/models/lr_scheduler.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"cd569444547de84f"}},{"code_sha256_prefix":"d6b81156c10fa157","entry":"warp","repo":"tju-chengyijia/vd_raw","repo_kind":"official","path":"model/VDM_PCD.py","file_url":"https://github.com/tju-chengyijia/vd_raw/blob/HEAD/model/VDM_PCD.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d6b81156c10fa157"}},{"code_sha256_prefix":"072051c9375c9afd","entry":"model_fn_decorator","repo":"tju-chengyijia/vd_raw","repo_kind":"official","path":"model/VDM_PCD.py","file_url":"https://github.com/tju-chengyijia/vd_raw/blob/HEAD/model/VDM_PCD.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":"072051c9375c9afd"}},{"code_sha256_prefix":"06247a8d5837875a","entry":"model_fn_decorator","repo":"tju-chengyijia/vd_raw","repo_kind":"official","path":"model/VDM_depth.py","file_url":"https://github.com/tju-chengyijia/vd_raw/blob/HEAD/model/VDM_depth.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":"06247a8d5837875a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}