The problem
Sharpen a ruined photo and the identity drifts away.
A degraded face is consistent with many plausible sharp faces. A restorer that does not know who it is looking at will produce a convincing one, and it will not be the right person. The obvious fix is to show it other photos of the person — but the methods that do this either need a sharp reference to work from, or hours of training and hundreds of megabytes per person.
One input, many faces
Restoration is ill-posed. Generative priors fill in detail that is convincing in general but wrong in particular: the eyes, the corners of the mouth, the shape of a nose all drift toward a population average instead of a specific person.
Personalization is expensive
Tuning a diffusion model per identity normally means a regularization image set to keep it from forgetting everything else, long training, and a large checkpoint stored for every person you care about.
Your other photos are bad too
Reference-based restorers assume clean references. A real phone album rarely has them. Methods that rely on a sharp reference lose most of their advantage when the album contains only one.

Measured against the degraded input itself
ArcFace1 similarity to the real person, on CelebRef2. The dashed line is not a baseline we chose — it is the score the degraded input itself gets. Bars to its right are restorers that made the identity more recognisable; bars to its left made it less. Five of the ten prior methods never get past the line.
scroll the chart →
A restorer that returns a sharp, plausible, slightly different person scores worse on identity than the blurred original it replaced. ID-PreFeR gains +0.154; FaceMe, the strongest prior method that also reads mixed-quality references, gains 0.091; Gen2Res loses 0.167.
What it asks for
Five photos of the person, not all of them sharp.
Every reference-based method here is given the same album. What differs is what happens as the sharp photos are taken out of it. Methods that need a clean reference degrade with the album; ID-PreFeR barely changes, because it has learned the degradation as a separate, discardable component.
scroll the chart →
Switch the album and compare the row. All restorers see the same degraded input.






From Fig. 4 of the paper. Ground truth for this identity: view the reference photograph.
The approach
Learn who they are, learn how badly they were photographed, then throw the second part away.
Three components, each inexpensive. A rank-16 adapter on the decoder's cross-attention is the only part that is trained — 6.41 M parameters, 0.25% of SDXL3, about 13 MB in FP16. A second, frozen copy of the same backbone provides the regularization target, so no extra images are collected. At sampling time, the predicted noise is nudged toward the face in the reference, once per step over the last few steps.

One adapter per person, and no regularization images to collect.
A LoRA4 of rank 16 (α = 16) is attached to the cross-attention layers of the U-Net decoder only, and trained on the reference set with the diffusion loss. Nothing else in the backbone is updated.
Fine-tuning a diffusion model on five photos of one person causes language drift: the model forgets how to render anything else. DreamBooth5-style fixes address this with a collected set of class images. We collect nothing. Instead, the same backbone, frozen, is run a second time on the class prompt — a face instead of a [V] face — and its noise prediction becomes the target.
Give “badly photographed” its own word, then delete the word.
An MLLM labels each reference HQ or LQ. Two learnable quality tokens — [QHQ] and [QLQ], initialised from the embeddings of sharp and blurry — are trained alongside the identity token in prompts of the form a [Q] [V] face. At inference the quality tokens are dropped. Whatever the degradation explained leaves with them; [V] retains only what all five photos agree on.
A subtler version of the same problem remains. Write an LQ reference as the shared identity latent plus a per-photo residual, zLQ(i) = zHQ + εdeg(i), and the forward process folds that residual into the noise the network is asked to predict:
Then aim the last few steps at the face itself.
Late in denoising, decode a one-step preview of the latent, measure ArcFace cosine similarity against a chosen reference, and take a single gradient-ascent step on the predicted noise. The reference used is the one closest to the input in face-embedding space, or the best HQ reference when one exists.
It is the most expensive component and the easiest to remove: disabling it cuts inference from 29.0 s to 5.6 s and VRAM from 34.8 GB to 24 GB, at a cost of 0.033 identity.
Qualitative
Drag the handle. The restored face is still theirs.
Eight cases, six restorers, and the same degraded input on the left of every handle. The first four are CelebRef portraits degraded by the shared evaluation pipeline, so ground truth exists. The last four are in-the-wild photographs — two from the internet, two captured on a phone — where the only thing to check against is the person’s other photos.
Input
ID-PreFeR
Five references. The framed one is the photo chosen for identity-preserving sampling.
Panels are taken unaltered from Figs. 5 and 6 of the paper. Every method sees the same input and, where it accepts them, the same references.
Five of ten published restorers do no better on identity than the degraded input they were handed.
CelebRef · ArcFace cosine · Table 1Benchmarks
Everyone else trades identity against quality. The corner where both hold was empty.
Two axes, both from Table 1: how well a restoration matches the real person, and how good the image looks on its own. Sharpen aggressively and identity suffers; protect identity and the image stays soft. No prior method reached 0.70 identity and 0.60 quality at the same time.
scroll the chart →
Table 1 Marker shape shows what each method requires: ◆ no reference photos, ● sharp references, ■ mixed-quality references. Quality is MANIQA; identity is ArcFace cosine against the ground-truth portrait.
CelebRef — ten prior methods, one degradation pipeline
◆ no refs ● sharp refs ■ mixed refs · best second| Method | Reads | PSNR ↑ | SSIM ↑ | LPIPS7 ↓ | CLIPIQA8 ↑ | MANIQA9 ↑ | Identity ↑ |
|---|---|---|---|---|---|---|---|
| GFPGAN10 | ◆ | 25.50 | 0.748 | 0.301 | 0.503 | 0.449 | 0.613 |
| CodeFormer11 | ◆ | 25.07 | 0.726 | 0.388 | 0.598 | 0.429 | 0.586 |
| DiffBIR12 | ◆ | 25.29 | 0.690 | 0.401 | 0.615 | 0.504 | 0.562 |
| AuthFace13 | ◆ | 25.32 | 0.683 | 0.294 | 0.699 | 0.643 | 0.649 |
| DMDNet2 | ● | 25.04 | 0.712 | 0.316 | 0.613 | 0.491 | 0.635 |
| FaceMe14 | ■ | 25.82 | 0.724 | 0.265 | 0.646 | 0.504 | 0.704 |
| Gen2Res15 | ■ | 24.30 | 0.748 | 0.424 | 0.491 | 0.331 | 0.446 |
| InstantRestore16 | ● | 24.65 | 0.722 | 0.297 | 0.561 | 0.488 | 0.769 |
| RestorerID17 | ● | 22.72 | 0.636 | 0.434 | 0.717 | 0.574 | 0.522 |
| ReF-LDM18 | ● | 23.58 | 0.676 | 0.244 | 0.669 | 0.562 | 0.695 |
| ID-PreFeR | ■ | 25.51 | 0.729 | 0.242 | 0.701 | 0.649 | 0.767 |
| The degraded input | — | 24.58 | 0.714 | 0.672 | 0.309 | 0.144 | 0.613 |
| The real photograph | — | ∞ | 1.000 | 0.000 | 0.650 | 0.546 | 1.000 |
The last two rows are not methods: they are the degraded input and the ground-truth photograph, included so that every column has a floor and a ceiling. Note where the input already sits on identity — 0.613 — and that ID-PreFeR is the only row that is best or second on all six metrics — two firsts and four seconds. No other method is placed twice.
On photographs nobody degraded on purpose
The synthetic benchmark controls the degradation; real phone photographs do not. Blur, noise and compression arrive together, and there is no clean original to score against. We therefore measure identity twice — once with a face recognizer, and once with a vision–language judge asked how much the restored face still looks like the person — because ArcFace embeddings themselves become unreliable under heavy mixed degradation.
Real-world mobile captures — no ground truth exists
identity scored twice · best second| Method | Reads | LIQE19 ↑ | CLIPIQA ↑ | MANIQA ↑ | ArcFace ↑ | VLM judge ↑ |
|---|---|---|---|---|---|---|
| Gen2Res | ■ | 3.8491 | 0.6203 | 0.6375 | 0.5013 | 7.10 |
| FaceMe | ■ | 4.5924 | 0.5503 | 0.5173 | 0.5750 | 7.62 |
| InstantRestore | ● | 4.0722 | 0.5072 | 0.4307 | 0.6093 | 6.84 |
| RestorerID | ● | 4.3060 | 0.7404 | 0.5594 | 0.5621 | 5.74 |
| ReF-LDM | ● | 4.8925 | 0.6757 | 0.5757 | 0.5969 | 8.86 |
| ID-PreFeR | ■ | 4.8927 | 0.6850 | 0.6528 | 0.5972 | 8.92 |
LIQE separates ID-PreFeR from ReF-LDM by 0.0002, effectively a tie; both are at the top, and the two identity measures agree on which one preserves the person better. The judge is Gemini 3 Pro, rating 1–10 against a held-out photo of the same person. Per-sample ArcFace spread is comparable across the field — 0.0192 for ID-PreFeR, 0.0181 to 0.0210 for the rest — so the ordering is not an artefact of one lucky subject.
Take one away
Each component fails in its own way, and the failure is visible.
The three components together account for the same 6.41 M parameters, so the ablations are not a size argument. They are a behaviour argument: remove a component, and the failure it was holding back returns — each with its own signature.
As the sharp photos are removed from the album, the ablated models degrade faster than the complete one. Each panel shows a face with a detail crop below it.
Without the latent prior loss
Colour drifts — usually toward magenta — and small facial artefacts appear. This is the adapter forgetting what faces look like in general while it learns what this face looks like in particular. The drift gets worse as sharp references grow scarcer.




Without ID–quality disentanglement
Without the quality tokens and the Min-SNR-γ cap, the model has no way to tell “this is what she looks like” from “this photo was taken badly,” and it learns both. The results become visibly blurrier, most strongly when almost every reference is degraded. The identity score barely moves — this component buys detail, not recognisability.




Without ID-preserving sampling
The face stays sharp and plausible, but the details that make it this person go soft — iris colour is the easiest to spot. This is the single largest identity component: 0.767 drops to 0.734. It is also the most expensive one, which is worth stating plainly.




Fig. 4 Rows one to three of the paper’s ablation figure, split so each variant can be compared against the complete model at the same reference budget.
The same ablations, counted
CelebRef · best second| Variant | Params | PSNR ↑ | SSIM ↑ | LPIPS ↓ | CLIPIQA ↑ | MANIQA ↑ | Identity ↑ |
|---|---|---|---|---|---|---|---|
| W/o prior preservation | 6.41 M | 25.52 | 0.731 | 0.245 | 0.699 | 0.624 | 0.746 |
| W/o ID–quality disent. | 6.41 M | 25.57 | 0.698 | 0.279 | 0.674 | 0.555 | 0.766 |
| W/o ID-preserving samp. | 6.41 M | 25.07 | 0.696 | 0.281 | 0.666 | 0.554 | 0.734 |
| LoRA on all cross-attention | 11.82 M | 25.34 | 0.709 | 0.289 | 0.621 | 0.489 | 0.745 |
| LoRA on all attention | 12.57 M | 25.45 | 0.720 | 0.290 | 0.599 | 0.472 | 0.756 |
| ID-PreFeR, complete | 6.41 M | 25.51 | 0.729 | 0.242 | 0.701 | 0.649 | 0.767 |
The two grey rows are the opposite experiment: spending more parameters by placing the LoRA on every cross-attention layer, or on every attention layer. Both are roughly twice the size, and both score worse on perceptual quality and identity than the decoder-only adapter. PSNR and SSIM disagree with the perceptual metrics here, as they often do7 — the identity column is what the method is for.
Identity as the album degrades
five references throughout, only the sharp count changes| Method | ID, 5 sharp | ID, 3 sharp | ID, 1 sharp | Train | Inference | VRAM |
|---|---|---|---|---|---|---|
| Gen2Res | 0.5576 | 0.5601 | 0.5676 | 11.4 min | 8.9 s | 3.26 GB |
| FaceMe | 0.5712 | 0.5722 | 0.5688 | tuning-free | 6.6 s | 10.78 GB |
| ID-PreFeR | 0.7671 | 0.7641 | 0.7613 | 4.2 min | 29.0 s | 34.8 GB |
| … w/o ID–quality disent. | 0.7664 | 0.7631 | 0.7632 | 4.2 min | 29.2 s | 34.8 GB |
| … w/o ID-preserving samp. | 0.7338 | 0.7325 | 0.7317 | 4.3 min | 5.6 s | 24 GB |
At the hardest setting, the disentanglement-free variant actually edges the full model out on identity, 0.7632 against 0.7613. We report it as is, because it shows what the component is for: disentanglement buys perceptual quality when sharp references are scarce, not the identity number itself. The two prior methods stay near 0.57 regardless of how many sharp photos they are given.
What it costs
Four minutes per person, thirteen megabytes to keep.
Per-person tuning is the part one expects to be expensive, so it is worth being precise about. The adapter is small enough to store next to the album, and quick enough to train while the phone is on the charger.
500 steps at batch 4 on a single GPU. Gen2Res, the other per-person method in Table 4, needs 11.4 min.
0.25% of SDXL3. The backbone is never updated, so a single copy of it serves every person you enrol.
FP16. That is the whole personal footprint — a rank-16 adapter plus a handful of learned tokens, small enough to sit beside the photos it came from.
5.6 s if you drop identity-preserving sampling, which also drops identity from 0.767 to 0.734. The extra 23 seconds are what recover details like iris colour.
The number that is not flattering
Peak VRAM is 34.8 GB, against 3.26 GB for Gen2Res and 10.78 GB for FaceMe. Identity-preserving sampling is the reason: it differentiates the face-recognition score through the VAE decoder, so the graph for a decoded latent must be held in memory. Disabling it brings the requirement down to 24 GB and the latency to 5.6 s, at a real cost in identity. As it stands, this is a server-side method, and the guidance step is the first thing to optimize if that has to change.
Where it breaks
It learns what the references share. Anything they disagree about, it averages away.
This is the mechanism working as designed, but it has an edge case users will hit. When the references differ in makeup, jewellery, or glasses, those features cancel out during training — the adapter keeps only the shared identity. ID-PreFeR may then vary in exactly those attributes rather than follow any single reference.
Filter the set
Restrict the references to a consistent look before training. The cheapest fix, though it costs references you may have wanted to keep.
Mask the accessories
Exclude jewellery and non-facial regions from the loss so they never enter the average in the first place.
Caption them
Describe the varying attributes in each reference’s prompt, so they are conditioned on explicitly instead of averaged away.
All three are partial mitigations. A thorough study is left to future work.
References cited on this page
- Deng, J., Guo, J., Niannan, X., Zafeiriou, S.: ArcFace: additive angular margin loss for deep face recognition. CVPR (2019)
- Li, X., Zhang, S., Zhou, S., Zhang, L., Zuo, W.: Learning dual memory dictionaries for blind face restoration. TPAMI (2022)
- Podell, D., English, Z., Lacey, K., Blattmann, A., Dockhorn, T., Müller, J., Penna, J., Rombach, R.: SDXL: improving latent diffusion models for high-resolution image synthesis. arXiv:2307.01952 (2023)
- Hu, E.J., Shen, Y., Wallis, P., Allen-Zhu, Z., Li, Y., Wang, S., Wang, L., Chen, W.: LoRA: low-rank adaptation of large language models. arXiv:2106.09685 (2021)
- Ruiz, N., Li, Y., Jampani, V., Pritch, Y., Rubinstein, M., Aberman, K.: DreamBooth: fine tuning text-to-image diffusion models for subject-driven generation. CVPR (2023)
- Hang, T., Gu, S., Li, C., Bao, J., Chen, D., Hu, H., Geng, X., Guo, B.: Efficient diffusion training via Min-SNR weighting strategy. ICCV (2023)
- Zhang, R., Isola, P., Efros, A.A., Shechtman, E., Wang, O.: The unreasonable effectiveness of deep features as a perceptual metric. CVPR (2018)
- Wang, J., Chan, K.C.K., Loy, C.C.: Exploring CLIP for assessing the look and feel of images. AAAI (2023)
- Yang, S., Wu, T., Shi, S., Lao, S., Gong, Y., Cao, M., Wang, J., Yang, Y.: MANIQA: multi-dimension attention network for no-reference image quality assessment. CVPR (2022)
- Wang, X., Li, Y., Zhang, H., Shan, Y.: Towards real-world blind face restoration with generative facial prior. CVPR (2021)
- Zhou, S., Chan, K.C.K., Li, C., Loy, C.C.: Towards robust blind face restoration with codebook lookup transformer. NeurIPS (2022)
- Lin, X., He, J., Chen, Z., Lyu, Z., Dai, B., Yu, F., Qiao, Y., Ouyang, W., Dong, C.: DiffBIR: toward blind image restoration with generative diffusion prior. ECCV (2024)
- Liang, G., Fan, Q., Fu, B., Chen, J., Gu, H., Wang, L.: AuthFace: towards authentic blind face restoration with face-oriented generative diffusion prior. arXiv:2410.09864 (2024)
- Liu, S., Duan, Z.-P., OuYang, J., Fu, J., Park, H., Liu, Z., Guo, C., Li, C.: FaceMe: robust blind face restoration with personal identification. AAAI (2025)
- Ding, Z., Zhang, X., Tu, Z., Xia, Z.: Restoration by generation with constrained priors. CVPR (2024)
- Zhang, H., Alaluf, Y., Ma, S., Kadambi, A., Wang, J., Aberman, K.: InstantRestore: single-step personalized face restoration with shared-image attention. SIGGRAPH (2025)
- Ying, J., Liu, M., Wu, Z., Zhang, R., Yu, Z., Fu, S., Cao, S.-Y., Wu, C., Yu, Y., Shen, H.-L.: RestorerID: towards tuning-free face restoration with ID preservation. arXiv:2411.14125 (2024)
- Hsiao, C.-W., Liu, Y.-L., Yang, C.-K., Kuo, S.-P., Jou, K., Chen, C.-P.: ReF-LDM: a latent diffusion model for reference-based face image restoration. NeurIPS (2024)
- Zhang, W., Zhai, G., Wei, Y., Yang, X., Ma, K.: Blind image quality assessment via vision-language correspondence: a multitask learning perspective. CVPR (2023)
Cite
ID-PreFeR
ID-Preserving Face Restoration with Mixed Data Quality. European Conference on Computer Vision (ECCV), 2026.
@inproceedings{zhu2026idprefer,
title = {{ID-PreFeR}: {ID}-Preserving Face Restoration with Mixed Data Quality},
author = {Zhu, Chengxuan and Hong, Yuchen and Zhang, Qi and Fu, Bingtao and
Liang, Jinxiu and Chen, Jinwei and Zhang, Huaqi and Xu, Chao and
Shi, Boxin and Fan, Qingnan},
booktitle = {European Conference on Computer Vision (ECCV)},
year = {2026}
}




