{"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/towards-authentic-face-restoration-with","title":"Towards Authentic Face Restoration with Iterative Diffusion Models and Beyond","arxiv_id":"2307.08996","date":"2023-07-18","proceeding":"ICCV 2023 1","authors":["Yang Zhao","Tingbo Hou","Yu-Chuan Su","Xuhui Jia. Yandong Li","Matthias Grundmann"],"abstract":"An authentic face restoration system is becoming increasingly demanding in many computer vision applications, e.g., image enhancement, video communication, and taking portrait. Most of the advanced face restoration models can recover high-quality faces from low-quality ones but usually fail to faithfully generate realistic and high-frequency details that are favored by users. To achieve authentic restoration, we propose $\\textbf{IDM}$, an $\\textbf{I}$teratively learned face restoration system based on denoising $\\textbf{D}$iffusion $\\textbf{M}$odels (DDMs). We define the criterion of an authentic face restoration system, and argue that denoising diffusion models are naturally endowed with this property from two aspects: intrinsic iterative refinement and extrinsic iterative enhancement. Intrinsic learning can preserve the content well and gradually refine the high-quality details, while extrinsic enhancement helps clean the data and improve the restoration task one step further. We demonstrate superior performance on blind face restoration tasks. Beyond restoration, we find the authentically cleaned data by the proposed restoration system is also helpful to image generation tasks in terms of training stabilization and sample quality. Without modifying the models, we achieve better quality than state-of-the-art on FFHQ and ImageNet generation using either GANs or diffusion models.","url_abs":"https://arxiv.org/abs/2307.08996v1","url_pdf":"https://arxiv.org/pdf/2307.08996v1.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":[],"tasks":[{"task_slug":"blind-face-restoration","task_name":"Blind Face Restoration"},{"task_slug":"denoising","task_name":"Denoising"},{"task_slug":"image-enhancement","task_name":"Image Enhancement"},{"task_slug":"image-generation","task_name":"Image Generation"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"},{"method_slug":"fail","method_name":"fail"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2307.08996","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2307.08996"}},"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/richzhang/PerceptualSimilarity","reach":null},{"provenance":"deterministic:regex_extraction","url":"https://github.com/TencentARC/GFPGAN","reach":null}],"summary":{"ran":4,"unverified":1},"by_repo_kind":{"found_in_text":{"samples":5,"ran":4,"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":5,"samples":[{"code_sha256_prefix":"ed04b35254d71874","entry":"MultiHeadAttnBlock","repo":"TencentARC/GFPGAN","repo_kind":"found_in_text","path":"gfpgan/archs/restoreformer_arch.py","file_url":"https://github.com/TencentARC/GFPGAN/blob/HEAD/gfpgan/archs/restoreformer_arch.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"ed04b35254d71874"}},{"code_sha256_prefix":"8147f8b7d3b1ff8a","entry":"MultiHeadDecoderTransformer","repo":"TencentARC/GFPGAN","repo_kind":"found_in_text","path":"gfpgan/archs/restoreformer_arch.py","file_url":"https://github.com/TencentARC/GFPGAN/blob/HEAD/gfpgan/archs/restoreformer_arch.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"8147f8b7d3b1ff8a"}},{"code_sha256_prefix":"84e43eed4de80c15","entry":"MultiHeadEncoder","repo":"TencentARC/GFPGAN","repo_kind":"found_in_text","path":"gfpgan/archs/restoreformer_arch.py","file_url":"https://github.com/TencentARC/GFPGAN/blob/HEAD/gfpgan/archs/restoreformer_arch.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"84e43eed4de80c15"}},{"code_sha256_prefix":"fe02c4750d678be8","entry":"VectorQuantizer","repo":"TencentARC/GFPGAN","repo_kind":"found_in_text","path":"gfpgan/archs/restoreformer_arch.py","file_url":"https://github.com/TencentARC/GFPGAN/blob/HEAD/gfpgan/archs/restoreformer_arch.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"fe02c4750d678be8"}},{"code_sha256_prefix":"75001941e6824b7d","entry":"RestoreFormer","repo":"TencentARC/GFPGAN","repo_kind":"found_in_text","path":"gfpgan/archs/restoreformer_arch.py","file_url":"https://github.com/TencentARC/GFPGAN/blob/HEAD/gfpgan/archs/restoreformer_arch.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"75001941e6824b7d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}