python之AI视频去码&图片修复CodeFormer,把你的老照片变漂亮

CodeFormer是南洋理工大学和商汤科技合作研发的模型,它将人脸复原转化为代码序列预测,利用VQGAN的码本空间和Transformer的全局建模提高鲁棒性,适用于老照片修复、马赛克还原等多种场景。文章介绍了环境搭建步骤和模型下载指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CodeFormer介绍

CodeFormer是由南洋理工大学-商汤科技联合研究中心S-Lab在NeurIPS 2022上提出的一种基于VQGAN+Transformer的人脸复原模型。该方法基于预训练VQGAN离散码本空间,改变复原任务的固有范式,将人脸复原任务转成Code序列的预测任务,大幅度降低了复原任务映射的不确定性,同时VQGAN的码本先验也为复原任务提供了丰富的人脸细节。最后,通过Transformer全局建模,进一步增加了模型对严重退化的鲁棒性,使得复原的人脸更加真实。

主要用途:老照片修复与增强、面部修复、面部颜色增强和修复、马赛克还原等。

论文地址:https://arxiv.org/pdf/2206.11253.pdf
代码地址:https://github.com/sczhou/CodeFormer

环境搭建

conda环境安装

conda环境准备详见:annoconda

Anaconda,中文大蟒蛇,是一个开源的Anaconda是专注于数据分析的Python发行版本,包含了conda、Python等190多个科学包及其依赖项。

Anaconda就是可以便捷获取包且对包能够进行管理,包括了python和很多常见的软件库和一个包管理器conda。常见的科学计算类的库都包含在里面了,使得安装比常规python安装要容易,同时对环境可以统一管理的发行版本。

下载地址:https://repo.anaconda.com/archive/

Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 

# 清华镜像源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/
# 阿里云镜像源
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

 注:给pip添加镜像和给conda添加镜像源是不同的,上述conda config添加的源实测不能用的(上述的是pip的镜像源,不能在conda下用),正确应该是:

给pip添加清华通道:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

给conda添加清华通道:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main

运行环境构建 

git clone https://github.com/sczhou/CodeFormer
cd CodeFormer
 
conda create -n codeformer python=3.9
conda activate codeformer
 
pip install -r requirements.txt 
python basicsr/setup.py develop
 
conda install ffmpeg
pip install ffmpy

模型下载 

python scripts/download_pretrained_models.py facelib
 
python scripts/download_pretrained_models.py CodeFormer

parsing_parsenet 下载模型存储到weights/facelib/目录下

codeformer_colorization下载模型存储到weights/CodeFormer/目录下

codeformer_inpainting下载模型存储到weights/CodeFormer/目录下

RealESRGAN_x2plus下载模型存储到weights/realesrgan/目录下

如何使用

人脸复原

python inference_codeformer.py -w 0.5 --has_aligned --input_path inputs/cropped_faces/0143.png

 

全图片增强 

python inference_codeformer.py -w 0.7 --bg_upsampler realesrgan  --face_upsample  --input_path data/test4.png

 

人脸颜色增强 

python inference_colorization.py --input_path inputs/cropped_faces/0368.png

 

人脸补全 

python inference_inpainting.py --input_path inputs/masked_faces/00105.png

 

其他资源

GitHub Proxy 代理加速

滑动验证页面

庖丁解牛-Resnet50 深度剖析,细致讲解,深入理解-CSDN博客

最强的AI视频去码&图片修复模型:CodeFormer-CSDN博客

64位Windows11系统快速搭建修图神器codeformer运行环境教程详解-CSDN博客

AI视频去码、图片修复-CSDN博客

旧照片修复-模糊图片变清晰-2023年度最强神器 codeformer_github 图片清晰_delacrxoix_xu的博客-CSDN博客

最强的AI 视频去码、图片修复! - 知乎

OpenAI又一神器!Whisper 语音转文字手把手教程 - 知乎

Anaconda介绍、安装及使用教程 - 知乎

最强的AI视频去码&图片修复模型:CodeFormer-CSDN博客 

### CodeFormer 调用方法与使用教程 #### 工具简介 CodeFormer 是一款由南洋理工大学和商汤科技联合开发的 AI 图像修复工具[^1]。它基于 VQGAN 和 Transformer 技术,能够高效修复模糊或低分辨率的照片和视频,同时保留自然的真实感。 --- #### 环境准备 为了成功调用 CodeFormer,需先搭建适合其运行的环境。以下是具体步骤: 1. **安装依赖库** 需要 Python 3.7 或更高版本作为基础环境。可以通过 `pip` 安装必要的依赖项: ```bash pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 pip install opencv-python gradio facexlib realesrgan basicsr ``` 2. **下载预训练模型** CodeFormer 提供了官方预训练权重文件,可以从 GitHub Release 页面获取并放置到指定目录下。通常路径为 `weights/facexlib` 和 `weights/realesrgan`。 3. **配置 GPU 支持(可选)** 如果设备支持 NVIDIA CUDA,则可通过以下命令启用 GPU 加速: ```python import torch device = 'cuda' if torch.cuda.is_available() else 'cpu' ``` --- #### 基本调用方法 CodeFormer 可通过 Gradio 接口快速部署成交互式应用,方便用户上传图片进行修复测试。以下是核心代实现: ```python from codeformer import CodeFormer import cv2 import numpy as np # 初始化模型实例 model = CodeFormer(device='cuda') # 读取输入图像 input_image = cv2.imread('example.jpg') input_image = cv2.cvtColor(input_image, cv2.COLOR_BGR2RGB) # 执行修复操作 output_image, _ = model.enhance(np.array(input_image), has_aligned=False, only_center_face=False, paste_back=True) # 显示结果 cv2.imshow('Output', output_image[:, :, ::-1]) cv2.waitKey(0) ``` 上述脚本展示了如何加载一张本地图片并通过 CodeFormer 模型增强画质。 --- #### 参数调整说明 在实际应用中,可根据需求调节参数以获得最佳效果: - `weight`: 控制修复强度,默认值为 0.5。数值越接近 1 表示更注重原始细节;反之则偏向平滑化。 - `upscale`: 是否开启超分辨率功能,默认关闭 (False)。如果设置为 True,则会利用 RealESRGAN 插件放大图像尺寸。 - `face_threshold`: 设置检测人脸置信度阈值范围 [0, 1],默认值为 0.9。 例如,在批量处理老照片时推荐如下配置: ```python enhanced_images = [] for img_path in image_paths: input_img = cv2.imread(img_path) enhanced_img, _ = model.enhance( input_img, weight=0.7, upscale=True, face_threshold=0.8 ) enhanced_images.append(enhanced_img) ``` --- #### 整合采样方法优化性能 对于复杂场景下的图像生成任务,合理选择采样策略尤为重要[^2]。虽然 CodeFormer 主要是针对单张静态图设计,但如果涉及动态序列帧恢复或者风格迁移扩展领域,建议尝试 DPM++ 或 Euler 方法来进一步提高渲染效率与精度。 --- #### 注意事项 - 若遇到内存不足错误,请降低批处理大小或将数据迁移到 CPU 上完成运算; - 对于老旧系统可能缺少某些共享库文件(如 tcmalloc),参照官方文档排查解决方案[^3]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

特立独行的猫a

您的鼓励是我的创作动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值