{"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/edgeconnect-generative-image-inpainting-with","title":"EdgeConnect: Generative Image Inpainting with Adversarial Edge Learning","arxiv_id":"1901.00212","date":"2019-01-01","proceeding":null,"authors":["Kamyar Nazeri","Eric Ng","Tony Joseph","Faisal Z. Qureshi","Mehran Ebrahimi"],"abstract":"Over the last few years, deep learning techniques have yielded significant\nimprovements in image inpainting. However, many of these techniques fail to\nreconstruct reasonable structures as they are commonly over-smoothed and/or\nblurry. This paper develops a new approach for image inpainting that does a\nbetter job of reproducing filled regions exhibiting fine details. We propose a\ntwo-stage adversarial model EdgeConnect that comprises of an edge generator\nfollowed by an image completion network. The edge generator hallucinates edges\nof the missing region (both regular and irregular) of the image, and the image\ncompletion network fills in the missing regions using hallucinated edges as a\npriori. We evaluate our model end-to-end over the publicly available datasets\nCelebA, Places2, and Paris StreetView, and show that it outperforms current\nstate-of-the-art techniques quantitatively and qualitatively. Code and models\navailable at: https://github.com/knazeri/edge-connect","url_abs":"http://arxiv.org/abs/1901.00212v3","url_pdf":"http://arxiv.org/pdf/1901.00212v3.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":"edgeconnect-generative-image-inpainting-with","repo_url":"https://github.com/knazeri/edge-connect","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"edgeconnect-generative-image-inpainting-with","repo_url":"https://github.com/AKASH2907/Forgery-Classification-via-Domain-Adaptation","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"edgeconnect-generative-image-inpainting-with","repo_url":"https://github.com/AnishWalawalkar/cs231","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"edgeconnect-generative-image-inpainting-with","repo_url":"https://github.com/Aspire-Mayank/Top-Deep-Learning-Stuffs","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"edgeconnect-generative-image-inpainting-with","repo_url":"https://github.com/Bunnyyyyy/EdgeConnect-Inpainting","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"edgeconnect-generative-image-inpainting-with","repo_url":"https://github.com/Ma-Dan/EdgeConnect-CoreML","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"edgeconnect-generative-image-inpainting-with","repo_url":"https://github.com/Vaibhav-nn/EdgeConnect-Inpainting","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"edgeconnect-generative-image-inpainting-with","repo_url":"https://github.com/Vaibhav-nn/picTranslate","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"edgeconnect-generative-image-inpainting-with","repo_url":"https://github.com/YeshengSu/EdgeConnect","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"edgeconnect-generative-image-inpainting-with","repo_url":"https://github.com/aymericdamien/TopDeepLearning","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"edgeconnect-generative-image-inpainting-with","repo_url":"https://github.com/hawkit/edge-tst","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"edgeconnect-generative-image-inpainting-with","repo_url":"https://github.com/hz-ants/edge-connect","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"edgeconnect-generative-image-inpainting-with","repo_url":"https://github.com/icepoint666/edge-connect-ui","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"gone","observed_at":"2026-09-18","how":"tree_404+repo_404"}},{"paper_slug":"edgeconnect-generative-image-inpainting-with","repo_url":"https://github.com/jshi31/edge-connect","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"edgeconnect-generative-image-inpainting-with","repo_url":"https://github.com/kozistr/improved-edge-connect","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"edgeconnect-generative-image-inpainting-with","repo_url":"https://github.com/sujaykhandekar/Automated-objects-removal-inpainter","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"edgeconnect-generative-image-inpainting-with","repo_url":"https://github.com/waallf/edge-connect-master","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"edgeconnect-generative-image-inpainting-with","repo_url":"https://github.com/youyuge34/Anime-InPainting","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"edgeconnect-generative-image-inpainting-with","repo_url":"https://github.com/youyuge34/AnimeInPaint","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"edgeconnect-generative-image-inpainting-with","repo_url":"https://github.com/kritiksoman/GIMP-ML","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"image-inpainting","task_name":"Image Inpainting"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/image-inpainting-on-places2-1","task":"Image Inpainting","dataset":"Places2","model":"EdgeConnect","rank_in_archive_order":11,"of":14,"metrics":{"FID":"12.66","P-IDS":"1.93","U-IDS":"15.87"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1901.00212","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1901.00212"}},"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/YeshengSu/EdgeConnect","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Aspire-Mayank/Top-Deep-Learning-Stuffs","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/AKASH2907/Forgery-Classification-via-Domain-Adaptation","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/kritiksoman/GIMP-ML","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/sujaykhandekar/Automated-objects-removal-inpainter","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/icepoint666/edge-connect-ui","reach":{"status":"gone","observed_at":"2026-09-18","how":"tree_404+repo_404"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/knazeri/edge-connect","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Vaibhav-nn/picTranslate","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Vaibhav-nn/EdgeConnect-Inpainting","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/kozistr/improved-edge-connect","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/aymericdamien/TopDeepLearning","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/hawkit/edge-tst","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Ma-Dan/EdgeConnect-CoreML","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/AnishWalawalkar/cs231","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/jshi31/edge-connect","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Bunnyyyyy/EdgeConnect-Inpainting","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/hz-ants/edge-connect","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/waallf/edge-connect-master","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/youyuge34/AnimeInPaint","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/youyuge34/Anime-InPainting","reach":{"status":"ok","spdx":"NOASSERTION"}}],"summary":{"ran_violates":3,"ran_honours":1},"by_repo_kind":{"listed":{"samples":4,"ran":4,"repositories":2}},"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":4,"samples":[{"code_sha256_prefix":"85ce775a2ab90703","entry":"compare_mae","repo":"YeshengSu/EdgeConnect","repo_kind":"listed","path":"scripts/metrics.py","file_url":"https://github.com/YeshengSu/EdgeConnect/blob/HEAD/scripts/metrics.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"85ce775a2ab90703"}},{"code_sha256_prefix":"70e7409bac1c5421","entry":"decode_segmap","repo":"sujaykhandekar/Automated-objects-removal-inpainter","repo_kind":"listed","path":"src/segmentor_fcn.py","file_url":"https://github.com/sujaykhandekar/Automated-objects-removal-inpainter/blob/HEAD/src/segmentor_fcn.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"70e7409bac1c5421"}},{"code_sha256_prefix":"1011df05a694cd5c","entry":"fill_gaps","repo":"sujaykhandekar/Automated-objects-removal-inpainter","repo_kind":"listed","path":"src/segmentor_fcn.py","file_url":"https://github.com/sujaykhandekar/Automated-objects-removal-inpainter/blob/HEAD/src/segmentor_fcn.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"1011df05a694cd5c"}},{"code_sha256_prefix":"04cf7ce6a123ed49","entry":"fill_gaps2","repo":"sujaykhandekar/Automated-objects-removal-inpainter","repo_kind":"listed","path":"src/segmentor_fcn.py","file_url":"https://github.com/sujaykhandekar/Automated-objects-removal-inpainter/blob/HEAD/src/segmentor_fcn.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"04cf7ce6a123ed49"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}