SOTA performance on Places2, CelebA-HQ, and FFHQ & Superior structural and semantic consistency
Ziyang Xu1, Kangsheng Duan1, Xiaolei Shen2, Zhifeng Ding2, Wenyu Liu1, Xiaohu Ruan2,
Xiaoxin Chen2, Xinggang Wang1 :email:
(:email:) Corresponding Author.
1 Huazhong University of Science and Technology. 2 VIVO AI Lab.
![]()
June 18, 2026: ๐ Following up on PixelHacker, our latest AI Image Inpainting work, Moebius, has been accepted by ECCV'26. We challenge the "scale-at-all-costs" path dependency dictated by the Scaling Law narrative and provide a core insight into breaking the impossible triangle of "low parameters, fast inference, and high quality".
June 01, 2026: ๐ฐโจ The journal version of PixelHacker is coming soon. Stay tuned! โ Next, we will gradually update the README and project page.
May 20, 2025: ๐ฅ We have released the code and weights. The weights include the pretrained and all fine-tuned versions, each only 0.8B params. Feel free to play!
May 5, 2025: ๐ PixelHacker has achieved the No. 1 daily ranking on Hugging Face!
May 1, 2025: ๐ฅ We have released the project page with 63+ demos on natural and portrait scenes. Have fun! ๐ค
April 30, 2025: ๐ฅ We have released the arXiv paper for PixelHacker. The code and project page will be released soon.
![]()
![]()
![]()
conda create -n pixelhacker python=3.10
conda activate pixelhacker
# cd /xx/xx/PixelHacker
pip install -r requirements.txt
Download the checkpoint of VAE and put it into ../PixelHacker/vae.
Download the checkpoints of pretrained version, fine-tuned version (places2), fine-tuned version (celeba-hq), fine-tuned version (ffhq), and put them into ../PixelHacker/weight.
Finally, the detailed organizational form is as follows:
โโโ PixelHacker
โ โโโ weight
โ โโโ pretrained
โ โโโ diffusion_pytorch_model.bin
โ โโโ ft_places2
โ โโโ diffusion_pytorch_model.bin
โ โโโ ft_celebahq
โ โโโ diffusion_pytorch_model.bin
โ โโโ ft_ffhq
โ โโโ diffusion_pytorch_model.bin
โ โโโ vae
โ โโโ config.json
โ โโโ diffusion_pytorch_model.bin
โ โโโ ...
You can run the following code directly to get the inpainting result of the example image-mask pair, and the result will be generated in ../PixelHacker/outputs. If you want to infer on custom data, just place the image and mask with the same name in ../PixelHacker/imgs and ../PixelHacker/masks, respectively, then run the following code as well.
python infer_pixelhacker.py \
--config config/PixelHacker_sdvae_f8d4.yaml \
--weight weight/ft_places/diffusion_pytorch_model.bin
@misc{xu2025pixelhacker,
title={PixelHacker: Image Inpainting with Structural and Semantic Consistency},
author={Ziyang Xu and Kangsheng Duan and Xiaolei Shen and Zhifeng Ding and Wenyu Liu and Xiaohu Ruan and Xiaoxin Chen and Xinggang Wang},
year={2025},
eprint={2504.20438},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2504.20438},
}
8 commits
Python
100.0%
SOTA performance on Places2, CelebA-HQ, and FFHQ & Superior structural and semantic consistency
Ziyang Xu1, Kangsheng Duan1, Xiaolei Shen2, Zhifeng Ding2, Wenyu Liu1, Xiaohu Ruan2,
Xiaoxin Chen2, Xinggang Wang1 :email:
(:email:) Corresponding Author.
1 Huazhong University of Science and Technology. 2 VIVO AI Lab.
![]()
June 18, 2026: ๐ Following up on PixelHacker, our latest AI Image Inpainting work, Moebius, has been accepted by ECCV'26. We challenge the "scale-at-all-costs" path dependency dictated by the Scaling Law narrative and provide a core insight into breaking the impossible triangle of "low parameters, fast inference, and high quality".
June 01, 2026: ๐ฐโจ The journal version of PixelHacker is coming soon. Stay tuned! โ Next, we will gradually update the README and project page.
May 20, 2025: ๐ฅ We have released the code and weights. The weights include the pretrained and all fine-tuned versions, each only 0.8B params. Feel free to play!
May 5, 2025: ๐ PixelHacker has achieved the No. 1 daily ranking on Hugging Face!
May 1, 2025: ๐ฅ We have released the project page with 63+ demos on natural and portrait scenes. Have fun! ๐ค
April 30, 2025: ๐ฅ We have released the arXiv paper for PixelHacker. The code and project page will be released soon.
![]()
![]()
![]()
conda create -n pixelhacker python=3.10
conda activate pixelhacker
# cd /xx/xx/PixelHacker
pip install -r requirements.txt
Download the checkpoint of VAE and put it into ../PixelHacker/vae.
Download the checkpoints of pretrained version, fine-tuned version (places2), fine-tuned version (celeba-hq), fine-tuned version (ffhq), and put them into ../PixelHacker/weight.
Finally, the detailed organizational form is as follows:
โโโ PixelHacker
โ โโโ weight
โ โโโ pretrained
โ โโโ diffusion_pytorch_model.bin
โ โโโ ft_places2
โ โโโ diffusion_pytorch_model.bin
โ โโโ ft_celebahq
โ โโโ diffusion_pytorch_model.bin
โ โโโ ft_ffhq
โ โโโ diffusion_pytorch_model.bin
โ โโโ vae
โ โโโ config.json
โ โโโ diffusion_pytorch_model.bin
โ โโโ ...
You can run the following code directly to get the inpainting result of the example image-mask pair, and the result will be generated in ../PixelHacker/outputs. If you want to infer on custom data, just place the image and mask with the same name in ../PixelHacker/imgs and ../PixelHacker/masks, respectively, then run the following code as well.
python infer_pixelhacker.py \
--config config/PixelHacker_sdvae_f8d4.yaml \
--weight weight/ft_places/diffusion_pytorch_model.bin
@misc{xu2025pixelhacker,
title={PixelHacker: Image Inpainting with Structural and Semantic Consistency},
author={Ziyang Xu and Kangsheng Duan and Xiaolei Shen and Zhifeng Ding and Wenyu Liu and Xiaohu Ruan and Xiaoxin Chen and Xinggang Wang},
year={2025},
eprint={2504.20438},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2504.20438},
}
8 commits
Python
100.0%