一、介绍
在 NeurIPS 2022 上,南洋理工大学-商汤科技联合研究中心 S-Lab 提出了一种基于 VQGAN+Transformer的人脸复原模型 CodeFormer。基于CodeFormer模型实现面部复原、增强旧照片/修复AI艺术、面部颜色增强和修复、面部修复四个功能。
二、特点
- CodeFormer 是一个强大的人工智能工具,利用基于变压器的架构和注意力机制,用于恢复旧图像和生成逼真的人工智能面孔。
- CodeFormer 的深度学习功能通过增强颜色、恢复面部细节和减少噪音来恢复历史照片的活力,保留珍贵的记忆。
- 通过 CodeFormer 的用户友好界面,预处理图像、选择目标、自定义设置并获得结果,轻松恢复旧照片。
- CodeFormer 的高级 transformer 架构允许它通过在不同的数据集上进行训练和微调设置来生成高度逼真的 AI 人脸,以获得独特的结果。
- 负责任地使用和监管人工智能生成的人脸对于避免 deepfakes 等潜在问题至关重要,确保该技术服务于积极和道德的目的。
三、模型搭建
环境要求:
- 系统ubuntu22.04 、cuda11.8
1. 模型下载
- 下载CodeFormer模型,输入指令:
git clone https://github.com/sczhou/CodeFormer
- 输入ls,查看一下是否有CodeFormer文件夹
ls
- 输入指令
cd CodeFormer
进入文件夹
cd CodeFormer
2. 创建虚拟环境
- 输入下列命令:
conda create -n codeformer python=3.8 -y
- 激活虚拟环境
conda activate codeformer
3.下载环境的依赖包
- 输入列命令将下载源换成国内源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.douban.com
- 输入下列命令下载依赖包
pip install -r requirements.txt
此时出现“tb-nightly”报错,输入下列命令:
(下载完成后重新运行“pip install -r requirements.txt”命令)
pip install tb-nightly -i https://mirrors.aliyun.com/pypi/simple
- 输入运行setup.py
python basicsr/setup.py develop
- 安装项目缺失包
输入下列命令安装ffmpeg
conda install ffmpeg
输入下列命令安装ffmpy
pip install ffmpy
耐心等待所有的安装包下载即可
4. 运行
此时系统的权重文件还未下载,输入指令后系统会自动下载,同时把运行的结果保存到指定的文件夹下。
特别提醒:如果下载很慢则手动下载模型存储到weights/CodeFormer/目录下
detection_Resnet50_Final.pth 下载模型存储到weights/facelib/目录下
parsing_parsenet 下载模型存储到weights/facelib/目录
codeformer_colorization下载模型存储到weights/CodeFormer/目录下
codeformer_inpainting下载模型存储到weights/CodeFormer/目录下
codeformer.pth下载模型存储到weights/realesrgan/目录下
地址:
https://github.com/sczhou/CodeFormer/releases/download/v0.1.0/codeformer.pth
https://github.com/sczhou/CodeFormer/releases/download/v0.1.0/detection_Resnet50_Final.pth
https://github.com/sczhou/CodeFormer/releases/download/v0.1.0/parsing_parsenet.pth
目录:
/CodeFormer/weights/CodeFormer/codeformer.pth
/CodeFormer/weights/facelib/detection_Resnet50_Final.pth
/CodeFormer/weights/facelib/parsing_parsenet.pth
① 面部复原
输入指令:
python inference_codeformer.py -w 0.5 --has_aligned --input_path inputs/cropped_faces/0143.png
② 增强旧照片/修复AI艺术
输入指令:
python inference_codeformer.py -w 0.7 --input_path inputs/whole_imgs/03.jpg
③ 面部颜色增强和修复
输入指令:
python inference_colorization.py --input_path inputs/cropped_faces/0368.png
④ 面部修复
输入指令:
python inference_inpainting.py --input_path inputs/masked_faces/00105.png