大模型场景实战培训,提示词效果调优,大模型应用定制开发,[点击咨询](https://cloud.baidu.com/product/llmservice.html?
CodeFormer 是一款强大的照片修复工具,可以修复各种照片损伤,例如划痕、污渍、撕裂等。本指南将介绍 CodeFormer 的在线使用、部署和本地使用。
一、在线使用
目前,CodeFormer 尚未提供官方的在线使用平台。但您可以通过以下方式体验 CodeFormer 的功能:
- Hugging Face Spaces: 在 Hugging Face Spaces 上,一些开发者已经将 CodeFormer 模型部署为在线演示。
平台地址: https://huggingface.co/spaces/sczhou/CodeFormer
- Relicate: Relicate 提供了一个模型市场,汇集了来自不同开发者的各种 AI 模型,用户可以通过简单的 API 调用或网页界面来使用这些模型 。
平台地址: https://replicate.com/sczhou/codeformer
二、本地部署
在线平台可以方便快捷的体验 CodeFormer 功能,但受限于国内网络环境,可能在线访问时速度不佳,同时存在付费的可能,所以我们有时也需要利用本地资源来部署 CodeFormer。
安装环境
硬件环境
- 支持 GPU,CPU 构建,为了更快地响应速度和更佳的使用体验,建议使用 GPU 服务器。
本文以百度智能云 GPU 服务器为例进行安装部署,购买计算型 GN5 服务器, 配置 16 核 CPU,64GB 内存,Nvidia Tesla A10 单卡,搭配 100GB SSD 数据盘, 安装 Windows Server 2012 中文操作系统。
- 如果您使用自己的环境部署,建议 NVIDIA GPU,民用卡 30、40 系列,商用卡 T4、V100、A10 等系列。服务器配置建议最低配置为 8 核 32 G 100G 磁盘,5M 带宽。
软件环境
- Python >= 3.8
- Pytorch >= 1.7.1
- CUDA >= 10.1
- Other required packages in
requirements.txt
更多细节见仓库: https://github.com/sczhou/CodeFormer
安装步骤
购买服务器
- 选择 Windows 公共镜像,支持 Windows2019 及以上版本,本教程以 Windows2022 为例演示安装过程。
- 通过 VNC 登录实例,安装 GPU 驱动程序。
通过浏览器进入 NVIDIA官方驱动 下载地址,选择相应驱动下载进行安装。
安装 Python
CodeFormer 是以 Python 语言开发,并且运行在 Python 环境上,如果您的环境已经有安装 python,可以跳过此步骤,同时 建议创建一个虚拟环境来隔离项目依赖,防止与其他项目冲突。
本文以一个干净环境来演示操作过程,需要先进行 Python 版本安装。
Python 下载地址: https://www.python.org/dwonloads/
按照下图操作步骤进行安装,其中需要重点勾选“Add python.exe to PATH",这样我们可以在命令行中直接使用python
命令,按照向导一步一步完成安装即可,本文中未列举的安装选项,可以直接选择默认。
安装完成后在命令行中输入python --version
,可以查看到Python的版本。
安装Git
git 主要用于拉取项目源码,如果您本地已经安装,或者通过其他方式已获取到源码,此步骤也可以跳过。
Git 下载地址: https:/git-scm.com
按照下图操作步骤进行安装,根据向导提示一步一步完成安装即可,本文中未列举的安装选项,可以直接选择默认。
安装完成后,在命令中输入git --version
可以查看到git版本信息。
安装 pytorch
CodeFormer 是一个基于 PyTorch 构建的模型,它依赖于 PyTorch 的各种功能,所以我们还需要安装 pytorch。
地址: https://pytorch.org/get-started/locally/
根据自己的服务器参数选择适合的 pytorch 版本,官方会给出安装命令,如下图。
复制安装命令到 Windows 命令行中执行安装。
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
下载源码
CodeFormer 源码仓库: https://github.com/sczhou/CodeFormer
- 在 Windows 命令行窗口中执行如下命令下载源码。
git clone https://github.com/sczhou/CodeFormer
- 进入到源码目录,执行如下命令,安装 python 依赖包。
cd CodeFormer
pip3 install -r requirements.txt
如果比较慢,可以指定国内源。
pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
- 执行如下命令,安装 basicsr 框架。
python basicsr/setup.py develop
时间有点久,要多等一会,如您遇到如下提示,可以执行pip install --upgrade setuptools
来升级setuptools
。
下载模型
下载 CodeFormer 预训练模型。
python scripts/download_pretrained_models.py facelib
python scripts/download_pretrained_models.py CodeFormer
这里可能会遇到下载速度较慢,可以尝试手动从云盘下载:
facelib: Google Drive | OneDrive
CodeFormer: Google Drive | OneDrive
下载完成之后分别放在CodeFormer\weights\CodeFormer
和CodeFormer\weights\facelib
目录下。
应用模型
面部修复(适用于图片中包含单张人像)
# For cropped and aligned faces (512x512)
python inference_codeformer.py -w 0.5 --has_aligned --input_path [image folder]|[image path]
-w 0.2
: 权重参数,取值范围为[0,1],取值越小,则图像修复的质量更高,取值越大,则会产生保真度更高的图片--has_aligned
: 这个参数表示输入的人脸图像已经经过对齐处理。CodeFormer 需要对齐的人脸图像才能进行修复,如果你的图像已经对齐,则需要添加这个参数。--input_path [image folder]|[image path]
: 这个参数指定了输入图像的路径,可以是单个图像文件路径或包含多个图像的文件夹路径。
执行过程如下,输出的结果放在 results 目录中。
修复前后对比:
整体增强(适用于图片名包含多张人像)
python inference_codeformer.py -w 0.7 --input_path [image folder]|[image path]
修复前后对比:
执行后实际上会生成三个目录,其中 final_results 下存放的是最终结果图,如上图。 而在 cropped_faces 中存储的是经过裁剪和对齐的人像,比如原图中包含 9 张人像,cropped_faces 中就存放了 9 张原始的人像照片, 在 restored_faces 存放了修复后的 9 张人像照片。
修复前后对比:
上色修复
python inference_colorization.py --input_path [image folder]|[image path]
修复前后对比:
破损修复
python inference_inpainting.py --input_path [image folder]|[image path]
修复前后对比:
视频修复
CodeFormer 还支持视频增强,部署依赖中需要提前安装 ffmpeg 应用。
修复命令如下,这里不再演示,感兴趣的同学, 可以自行找一些模糊视频进行尝试修复。
python inference_codeformer.py --bg_upsampler realesrgan --face_upsample -w 1.0 --input_path [video path]
三、补充说明
- 本文重点是以从源码开始介绍如何一步一步完成 CodeFormer 的部署,过程相对较长并且烦琐,网上也有一些爱好者针对以上步骤制作了一键部署独立包,并且有些还开发了操作界面,感兴趣的同学可以自行通过互联网进行搜索,这里不做说明。
- CodeFormer 是一款强大的工具,但它并非万能。对于一些过于复杂的损伤,CodeFormer 可能无法完全修复。
- 使用 CodeFormer 进行修复时,请注意版权问题。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。