{"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/progressively-complementary-network-for","title":"Progressively Complementary Network for Fisheye Image Rectification Using Appearance Flow","arxiv_id":"2103.16026","date":"2021-03-30","proceeding":"CVPR 2021 1","authors":["Shangrong Yang","Chunyu Lin","Kang Liao","Chunjie Zhang","Yao Zhao"],"abstract":"Distortion rectification is often required for fisheye images. The generation-based method is one mainstream solution due to its label-free property, but its naive skip-connection and overburdened decoder will cause blur and incomplete correction. First, the skip-connection directly transfers the image features, which may introduce distortion and cause incomplete correction. Second, the decoder is overburdened during simultaneously reconstructing the content and structure of the image, resulting in vague performance. To solve these two problems, in this paper, we focus on the interpretable correction mechanism of the distortion rectification network and propose a feature-level correction scheme. We embed a correction layer in skip-connection and leverage the appearance flows in different layers to pre-correct the image features. Consequently, the decoder can easily reconstruct a plausible result with the remaining distortion-less information. In addition, we propose a parallel complementary structure. It effectively reduces the burden of the decoder by separating content reconstruction and structure correction. Subjective and objective experiment results on different datasets demonstrate the superiority of our method.","url_abs":"https://arxiv.org/abs/2103.16026v2","url_pdf":"https://arxiv.org/pdf/2103.16026v2.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":"progressively-complementary-network-for","repo_url":"https://github.com/uof1745-cmd/PCN","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"decoder","task_name":"Decoder"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2103.16026","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2103.16026"}},"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/uof1745-cmd/PCN","reach":null}],"summary":{"ran":7,"ran_draft_wrong":2,"ran_fixture":1,"unverified":3},"by_repo_kind":{"official":{"samples":13,"ran":10,"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":13,"samples":[{"code_sha256_prefix":"b69fa2fce10d1558","entry":"BaseNetwork","repo":"uof1745-cmd/PCN","repo_kind":"official","path":"FISH-Net/model/pennet4.py","file_url":"https://github.com/uof1745-cmd/PCN/blob/HEAD/FISH-Net/model/pennet4.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":"b69fa2fce10d1558"}},{"code_sha256_prefix":"527dbe1234fe049b","entry":"Conv2dBlock","repo":"uof1745-cmd/PCN","repo_kind":"official","path":"FISH-Net/model/pennet4.py","file_url":"https://github.com/uof1745-cmd/PCN/blob/HEAD/FISH-Net/model/pennet4.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":"527dbe1234fe049b"}},{"code_sha256_prefix":"00b43a218e52e597","entry":"InpaintNet","repo":"uof1745-cmd/PCN","repo_kind":"official","path":"FISH-Net/model/pennet4.py","file_url":"https://github.com/uof1745-cmd/PCN/blob/HEAD/FISH-Net/model/pennet4.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":"00b43a218e52e597"}},{"code_sha256_prefix":"727026cb3e62026e","entry":"LayerNorm","repo":"uof1745-cmd/PCN","repo_kind":"official","path":"FISH-Net/model/pennet4.py","file_url":"https://github.com/uof1745-cmd/PCN/blob/HEAD/FISH-Net/model/pennet4.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":"727026cb3e62026e"}},{"code_sha256_prefix":"55fe760e34af1d01","entry":"ResBlock","repo":"uof1745-cmd/PCN","repo_kind":"official","path":"FISH-Net/model/pennet4.py","file_url":"https://github.com/uof1745-cmd/PCN/blob/HEAD/FISH-Net/model/pennet4.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":"55fe760e34af1d01"}},{"code_sha256_prefix":"d4214dba6d790b7f","entry":"ResBlocks","repo":"uof1745-cmd/PCN","repo_kind":"official","path":"FISH-Net/model/pennet4.py","file_url":"https://github.com/uof1745-cmd/PCN/blob/HEAD/FISH-Net/model/pennet4.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":"d4214dba6d790b7f"}},{"code_sha256_prefix":"170805e775f93ca8","entry":"TransConv2dBlock","repo":"uof1745-cmd/PCN","repo_kind":"official","path":"FISH-Net/model/pennet4.py","file_url":"https://github.com/uof1745-cmd/PCN/blob/HEAD/FISH-Net/model/pennet4.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":"170805e775f93ca8"}},{"code_sha256_prefix":"a20db67663bcd916","entry":"get_coordinate","repo":"uof1745-cmd/PCN","repo_kind":"official","path":"FISH-Net/model/pennet4.py","file_url":"https://github.com/uof1745-cmd/PCN/blob/HEAD/FISH-Net/model/pennet4.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":"a20db67663bcd916"}},{"code_sha256_prefix":"dd6afb7e155c3792","entry":"resample_image","repo":"uof1745-cmd/PCN","repo_kind":"official","path":"FISH-Net/model/pennet4.py","file_url":"https://github.com/uof1745-cmd/PCN/blob/HEAD/FISH-Net/model/pennet4.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"dd6afb7e155c3792"}},{"code_sha256_prefix":"f21fda4691ebe44e","entry":"uniform","repo":"uof1745-cmd/PCN","repo_kind":"official","path":"FISH-Net/model/pennet4.py","file_url":"https://github.com/uof1745-cmd/PCN/blob/HEAD/FISH-Net/model/pennet4.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":"f21fda4691ebe44e"}},{"code_sha256_prefix":"f7feda72900f801c","entry":"AdaptiveInstanceNorm2d","repo":"uof1745-cmd/PCN","repo_kind":"official","path":"FISH-Net/model/pennet4.py","file_url":"https://github.com/uof1745-cmd/PCN/blob/HEAD/FISH-Net/model/pennet4.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":"f7feda72900f801c"}},{"code_sha256_prefix":"f44e743657cfdd97","entry":"FlowColumn","repo":"uof1745-cmd/PCN","repo_kind":"official","path":"FISH-Net/model/pennet4.py","file_url":"https://github.com/uof1745-cmd/PCN/blob/HEAD/FISH-Net/model/pennet4.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":"f44e743657cfdd97"}},{"code_sha256_prefix":"7d6aa519f1533044","entry":"InpaintGenerator","repo":"uof1745-cmd/PCN","repo_kind":"official","path":"FISH-Net/model/pennet4.py","file_url":"https://github.com/uof1745-cmd/PCN/blob/HEAD/FISH-Net/model/pennet4.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":"7d6aa519f1533044"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}