{"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/universal-and-flexible-optical-aberration","title":"Universal and Flexible Optical Aberration Correction Using Deep-Prior Based Deconvolution","arxiv_id":"2104.03078","date":"2021-04-07","proceeding":"ICCV 2021 10","authors":["Xiu Li","Jinli Suo","Weihang Zhang","Xin Yuan","Qionghai Dai"],"abstract":"High quality imaging usually requires bulky and expensive lenses to compensate geometric and chromatic aberrations. This poses high constraints on the optical hash or low cost applications. Although one can utilize algorithmic reconstruction to remove the artifacts of low-end lenses, the degeneration from optical aberrations is spatially varying and the computation has to trade off efficiency for performance. For example, we need to conduct patch-wise optimization or train a large set of local deep neural networks to achieve high reconstruction performance across the whole image. In this paper, we propose a PSF aware plug-and-play deep network, which takes the aberrant image and PSF map as input and produces the latent high quality version via incorporating lens-specific deep priors, thus leading to a universal and flexible optical aberration correction method. Specifically, we pre-train a base model from a set of diverse lenses and then adapt it to a given lens by quickly refining the parameters, which largely alleviates the time and memory consumption of model learning. The approach is of high efficiency in both training and testing stages. Extensive results verify the promising applications of our proposed approach for compact low-end cameras.","url_abs":"https://arxiv.org/abs/2104.03078v2","url_pdf":"https://arxiv.org/pdf/2104.03078v2.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":"universal-and-flexible-optical-aberration","repo_url":"https://github.com/leehsiu/UABC","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[],"methods":[{"method_slug":"aware","method_name":"AWARE"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2104.03078","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2104.03078"}},"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/leehsiu/UABC","reach":null}],"summary":{"ran":13,"ran_draft_wrong":6,"ran_honours":1,"ran_fixture":1,"unverified":2},"by_repo_kind":{"official":{"samples":22,"ran":20,"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":23,"samples":[{"code_sha256_prefix":"973daa1ea2683da3","entry":"RefDeconv","repo":"leehsiu/UABC","repo_kind":"official","path":"models/uabcnet.py","file_url":"https://github.com/leehsiu/UABC/blob/HEAD/models/uabcnet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"973daa1ea2683da3"}},{"code_sha256_prefix":"a143b33c03cb1f66","entry":"RefSR","repo":"leehsiu/UABC","repo_kind":"official","path":"models/uabcnet.py","file_url":"https://github.com/leehsiu/UABC/blob/HEAD/models/uabcnet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a143b33c03cb1f66"}},{"code_sha256_prefix":"bcc2f93c23c89ed9","entry":"ResBlock","repo":"leehsiu/UABC","repo_kind":"official","path":"models/uabcnet.py","file_url":"https://github.com/leehsiu/UABC/blob/HEAD/models/uabcnet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bcc2f93c23c89ed9"}},{"code_sha256_prefix":"3dc4b6dca0d03e34","entry":"cabs","repo":"leehsiu/UABC","repo_kind":"official","path":"models/uabcnet.py","file_url":"https://github.com/leehsiu/UABC/blob/HEAD/models/uabcnet.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3dc4b6dca0d03e34"}},{"code_sha256_prefix":"9d7be4ee4ba5cebf","entry":"cconj","repo":"leehsiu/UABC","repo_kind":"official","path":"models/uabcnet.py","file_url":"https://github.com/leehsiu/UABC/blob/HEAD/models/uabcnet.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":"9d7be4ee4ba5cebf"}},{"code_sha256_prefix":"a7135df0a8d570a2","entry":"cdiv","repo":"leehsiu/UABC","repo_kind":"official","path":"models/uabcnet.py","file_url":"https://github.com/leehsiu/UABC/blob/HEAD/models/uabcnet.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a7135df0a8d570a2"}},{"code_sha256_prefix":"b2386fc5c8ddacc5","entry":"cmul","repo":"leehsiu/UABC","repo_kind":"official","path":"models/uabcnet.py","file_url":"https://github.com/leehsiu/UABC/blob/HEAD/models/uabcnet.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b2386fc5c8ddacc5"}},{"code_sha256_prefix":"dd6ba329154bc9c8","entry":"conv","repo":"leehsiu/UABC","repo_kind":"official","path":"models/uabcnet.py","file_url":"https://github.com/leehsiu/UABC/blob/HEAD/models/uabcnet.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":"dd6ba329154bc9c8"}},{"code_sha256_prefix":"178225cf6dd47965","entry":"csum","repo":"leehsiu/UABC","repo_kind":"official","path":"models/uabcnet.py","file_url":"https://github.com/leehsiu/UABC/blob/HEAD/models/uabcnet.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":"178225cf6dd47965"}},{"code_sha256_prefix":"dd9e9803356effaf","entry":"downsample_avgpool","repo":"leehsiu/UABC","repo_kind":"official","path":"models/uabcnet.py","file_url":"https://github.com/leehsiu/UABC/blob/HEAD/models/uabcnet.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":"dd9e9803356effaf"}},{"code_sha256_prefix":"a239a5b1e19677a6","entry":"downsample_maxpool","repo":"leehsiu/UABC","repo_kind":"official","path":"models/uabcnet.py","file_url":"https://github.com/leehsiu/UABC/blob/HEAD/models/uabcnet.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":"a239a5b1e19677a6"}},{"code_sha256_prefix":"b6f99ea0b5a98bf6","entry":"downsample_strideconv","repo":"leehsiu/UABC","repo_kind":"official","path":"models/uabcnet.py","file_url":"https://github.com/leehsiu/UABC/blob/HEAD/models/uabcnet.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":"b6f99ea0b5a98bf6"}},{"code_sha256_prefix":"1a2ff97b3ea39778","entry":"irfft","repo":"leehsiu/UABC","repo_kind":"official","path":"models/uabcnet.py","file_url":"https://github.com/leehsiu/UABC/blob/HEAD/models/uabcnet.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1a2ff97b3ea39778"}},{"code_sha256_prefix":"159b7073ba300315","entry":"psf2otf","repo":"leehsiu/UABC","repo_kind":"official","path":"models/uabcnet.py","file_url":"https://github.com/leehsiu/UABC/blob/HEAD/models/uabcnet.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":"159b7073ba300315"}},{"code_sha256_prefix":"3a47878a83b2d0ed","entry":"r2c","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"3a47878a83b2d0ed"}},{"code_sha256_prefix":"9522cb1268d727a8","entry":"rfft","repo":"leehsiu/UABC","repo_kind":"official","path":"models/uabcnet.py","file_url":"https://github.com/leehsiu/UABC/blob/HEAD/models/uabcnet.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9522cb1268d727a8"}},{"code_sha256_prefix":"89ac000dac4611b8","entry":"splits","repo":"leehsiu/UABC","repo_kind":"official","path":"models/uabcnet.py","file_url":"https://github.com/leehsiu/UABC/blob/HEAD/models/uabcnet.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"89ac000dac4611b8"}},{"code_sha256_prefix":"ddd3602a6609b602","entry":"upsample","repo":"leehsiu/UABC","repo_kind":"official","path":"models/uabcnet.py","file_url":"https://github.com/leehsiu/UABC/blob/HEAD/models/uabcnet.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ddd3602a6609b602"}},{"code_sha256_prefix":"91d15d5052c727d0","entry":"upsample_convtranspose","repo":"leehsiu/UABC","repo_kind":"official","path":"models/uabcnet.py","file_url":"https://github.com/leehsiu/UABC/blob/HEAD/models/uabcnet.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":"91d15d5052c727d0"}},{"code_sha256_prefix":"7fa35265b8f2ad9b","entry":"upsample_pixelshuffle","repo":"leehsiu/UABC","repo_kind":"official","path":"models/uabcnet.py","file_url":"https://github.com/leehsiu/UABC/blob/HEAD/models/uabcnet.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":"7fa35265b8f2ad9b"}},{"code_sha256_prefix":"5efb190d03a941a5","entry":"upsample_upconv","repo":"leehsiu/UABC","repo_kind":"official","path":"models/uabcnet.py","file_url":"https://github.com/leehsiu/UABC/blob/HEAD/models/uabcnet.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":"5efb190d03a941a5"}},{"code_sha256_prefix":"3a6f69811d12056b","entry":"ResUNet","repo":"leehsiu/UABC","repo_kind":"official","path":"models/uabcnet.py","file_url":"https://github.com/leehsiu/UABC/blob/HEAD/models/uabcnet.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":"3a6f69811d12056b"}},{"code_sha256_prefix":"a155c8bccced2c11","entry":"UABCNet","repo":"leehsiu/UABC","repo_kind":"official","path":"models/uabcnet.py","file_url":"https://github.com/leehsiu/UABC/blob/HEAD/models/uabcnet.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":"a155c8bccced2c11"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}