在低质量条件下捕获的人脸图像通常会遭受各种退化,如噪声、模糊等。恢复这些图像是一项具有挑战性的任务。代码形成器(码本查找变换器)是一种人脸恢复模型,它将人脸的低质量图像作为输入,并预测人脸的高质量图像。
本教程解释了如何在Linux的Docker容器中安装CodeFormer。命令已经在Ubuntu上测试过了。
准备环境
确保您已经在系统中安装了Docker。如果您使用的是Ubuntu,安装说明可以在邮政.
创建Docker图像
创造Dockerfile
并增加以下内容:
FROM nvidia/cuda:12.0.0-runtime-ubuntu22.04 WORKDIR /codeformer RUN apt-get update \ && apt-get install --no-install-recommends -y \ libgl1-mesa-glx libglib2.0-0 python3 python3-pip git \ && git clone https://github.com/sczhou/CodeFormer.git /codeformer \ && pip3 install -r requirements.txt \ && python3 basicsr/setup.py develop \ && python3 scripts/download_pretrained_models.py facelib \ && python3 scripts/download_pretrained_models.py CodeFormer \ && apt-get purge --autoremove -y git \ && rm -rf /var/lib/apt/lists/* ENTRYPOINT ["python3", "inference_codeformer.py"]
这nvidia/cuda
用作基础图像。所以,要确保系统上有NVIDIA显卡。
运行命令创建Docker映像:
docker build -t codeformer .
测试代码生成器
创建存储输入图像的目录:
mkdir ~/inputs
下载样本图像:
curl -o ~/inputs/test.jpg https://raw.githubusercontent.com/sczhou/CodeFormer/master/inputs/whole_imgs/03.jpg
在CodeFormer容器中运行命令以执行面部恢复:
docker run -it --rm -v ~/inputs:/codeformer/inputs -v ~/results:/codeformer/results codeformer -w 0.5 --input_path inputs/test.jpg
输出保存在~/results
目录。
很少人脸恢复结果使用的图像来自LFW数据集:
删除Docker图像
要删除CodeFormer映像,请运行以下命令:
docker rmi codeformer