SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2205.06803 · ECCV · 2022

VQFR: Blind Face Restoration with Vector-Quantized Dictionary and Parallel Decoder

Gen Li, Ming-Ming Cheng, Ying Shan, Xintao Wang, Liangbin Xie, Chao Dong, Yuchao Gu

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 15 functions out of this paper's own repositories and ran 9 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
tencentarc/vqfr — 9 of 15
FunctionStatusWhere it lives
DCNv2Pack Ran tencentarc/vqfr/vqfr/archs/vqfrv1_arch.py
pointer only (licence: NOASSERTION) · get_code("b39cff2183f6ab2c")
InpFeatConv Ran tencentarc/vqfr/vqfr/archs/vqfrv1_arch.py
pointer only (licence: NOASSERTION) · get_code("7b32beb0e745f885")
ModulatedDeformConvFunction Ran tencentarc/vqfr/vqfr/archs/vqfrv1_arch.py
pointer only (licence: NOASSERTION) · get_code("a9032a215717b327")
ModulatedDeformConvPack Ran tencentarc/vqfr/vqfr/archs/vqfrv1_arch.py
pointer only (licence: NOASSERTION) · get_code("78978c97f6293a19")
ResnetBlock Ran tencentarc/vqfr/vqfr/archs/vqfrv1_arch.py
pointer only (licence: NOASSERTION) · get_code("c7e6e97e1951732e")
UpDownSample Ran tencentarc/vqfr/vqfr/archs/vqfrv1_arch.py
pointer only (licence: NOASSERTION) · get_code("0eb17d164a6a2ae8")
VQGANDecoder Ran tencentarc/vqfr/vqfr/archs/vqfrv1_arch.py
pointer only (licence: NOASSERTION) · get_code("1c7b1a47e3f2e5da")
VQGANEncoder Ran tencentarc/vqfr/vqfr/archs/vqfrv1_arch.py
pointer only (licence: NOASSERTION) · get_code("dbdd8d8a22505791")
get_root_logger Ran tencentarc/vqfr/vqfr/archs/vqfrv1_arch.py
pointer only (licence: NOASSERTION) · get_code("56fbc8f16d71801d")
GeneralizedQuantizer Not yet run tencentarc/vqfr/vqfr/archs/vqfrv1_arch.py
pointer only (licence: NOASSERTION) · get_code("954bcb0ab2aff115")
MainDecoder Not yet run tencentarc/vqfr/vqfr/archs/vqfrv1_arch.py
pointer only (licence: NOASSERTION) · get_code("7d041853e05afba5")
ModulatedDeformConv Not yet run tencentarc/vqfr/vqfr/archs/vqfrv1_arch.py
pointer only (licence: NOASSERTION) · get_code("9ad02ae1b92be076")
TextureWarpingModule Not yet run tencentarc/vqfr/vqfr/archs/vqfrv1_arch.py
pointer only (licence: NOASSERTION) · get_code("34f1e2720da9e432")
VQFRv1 Not yet run tencentarc/vqfr/vqfr/archs/vqfrv1_arch.py
pointer only (licence: NOASSERTION) · get_code("a13b8d4c1525ed99")
build_quantizer Not yet run tencentarc/vqfr/vqfr/archs/vqfrv1_arch.py
pointer only (licence: NOASSERTION) · get_code("c48bd8317e02c6f5")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

Although generative facial prior and geometric prior have recently demonstrated high-quality results for blind face restoration, producing fine-grained facial details faithful to inputs remains a challenging problem. Motivated by the classical dictionary-based methods and the recent vector quantization (VQ) technique, we propose a VQ-based face restoration method -VQFR. VQFR takes advantage of high-quality low-level feature banks extracted from high-quality faces and can thus help recover realistic facial details. However, the simple application of the VQ codebook cannot achieve good results with faithful details and identity preservation. Therefore, we further introduce two special network designs. 1). We first investigate the compression patch size in the VQ codebook and find that the VQ codebook designed with a proper compression patch size is crucial to balance the quality and fidelity. 2). To further fuse low-level features from inputs while not "contaminating" the realistic details generated from the VQ codebook, we proposed a parallel decoder consisting of a texture decoder and a main decoder. Those two decoders then interact with a texture warping module with deformable convolution. Equipped with the VQ codebook as a facial detail dictionary and the parallel decoder design, the proposed VQFR can largely enhance the restored quality of facial details while keeping the fidelity to previous methods.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("2205.06803")
get_code_for_paper("2205.06803")
have("2205.06803")

Connect an agent — have() is free.