Realistic and Efficient Face Swapping: A Unified Approach with Diffusion Models
<|reference_start|>Realistic and Efficient Face Swapping: A Unified Approach with Diffusion Models: Despite promising progress in face swapping task, realistic swapped images remain elusive, often marred by artifacts, particularly in scenarios involving high pose variation, color differences, and occlusion. To address these issues, we propose a novel approach that better harnesses diffusion models for face-swapping by making following core contributions. (a) We propose to re-frame the face-swapping task as a self-supervised, train-time inpainting problem, enhancing the identity transfer while blending with the target image. (b) We introduce a multi-step Denoising Diffusion Implicit Model (DDIM) sampling during training, reinforcing identity and perceptual similarities. (c) Third, we introduce CLIP feature disentanglement to extract pose, expression, and lighting information from the target image, improving fidelity. (d) Further, we introduce a mask shuffling technique during inpainting training, which allows us to create a so-called universal model for swapping, with an additional feature of head swapping. Ours can swap hair and even accessories, beyond traditional face swapping. Unlike prior works reliant on multiple off-the-shelf models, ours is a relatively unified approach and so it is resilient to errors in other off-the-shelf models. Extensive experiments on FFHQ and CelebA datasets validate the efficacy and robustness of our approach, showcasing high-fidelity, realistic face-swapping with minimal inference time. Our code is available at https://github.com/Sanoojan/REFace.<|reference_end|>
@article{baliah2024realistic,
    title={Realistic and Efficient Face Swapping: A Unified Approach with Diffusion
  Models},
    author={Sanoojan Baliah, Qinliang Lin, Shengcai Liao, Xiaodan Liang, Muhammad
  Haris Khan},
    journal={arXiv preprint arXiv:2409.07269},
    year={2024},
    archivePrefix={arXiv},
    eprint={2409.07269},
    primaryClass={cs.CV}
}