首页
/ 【免费下载】 CodeFormer 开源项目使用教程

【免费下载】 CodeFormer 开源项目使用教程

2026-01-23 05:45:59作者:滑思眉Philip

1、项目介绍

CodeFormer 是一个用于鲁棒盲人脸修复的开源项目,由 S-Lab 的 Shangchen Zhou、Kelvin C.K. Chan、Chongyi Li 和 Chen Change Loy 开发。该项目在 NeurIPS 2022 上发表,旨在通过代码本查找变换器(Codebook Lookup Transformer)实现对人脸图像的鲁棒修复。CodeFormer 支持多种人脸修复任务,包括人脸修复、颜色增强、修复和背景图像增强。

2、项目快速启动

环境准备

首先,确保你的环境满足以下要求:

  • Pytorch >= 1.7.1
  • CUDA >= 10.1
  • 其他依赖包详见 requirements.txt

安装步骤

  1. 克隆项目仓库:

    git clone https://github.com/sczhou/CodeFormer.git
    cd CodeFormer
    
  2. 创建并激活 Conda 环境:

    conda create -n codeformer python=3.8 -y
    conda activate codeformer
    
  3. 安装 Python 依赖:

    pip3 install -r requirements.txt
    python basicsr/setup.py develop
    
  4. 安装 dlib(可选,用于人脸检测或裁剪):

    conda install -c conda-forge dlib
    

快速推理

  1. 下载预训练模型:

    python scripts/download_pretrained_models.py facelib
    python scripts/download_pretrained_models.py dlib  # 仅在使用 dlib 人脸检测时需要
    python scripts/download_pretrained_models.py CodeFormer
    
  2. 准备测试数据: 将测试图像放入 inputs/TestWhole 文件夹,或裁剪对齐后放入 inputs/cropped_faces 文件夹。

  3. 运行推理:

    # 对裁剪对齐的人脸进行修复
    python inference_codeformer.py -w 0.5 --has_aligned --input_path [image folder]|[image path]
    
    # 对整个图像进行增强
    python inference_codeformer.py -w 0.7 --input_path [image folder]|[image path] --bg_upsampler realesrgan --face_upsample
    
    # 对视频进行增强
    conda install -c conda-forge ffmpeg
    python inference_codeformer.py --bg_upsampler realesrgan --face_upsample -w 1.0 --input_path [video path]
    

3、应用案例和最佳实践

人脸修复

CodeFormer 可以用于修复老旧照片中的人脸,恢复其细节和清晰度。通过调整 -w 参数,可以在质量和保真度之间找到平衡。

人脸颜色增强

对于黑白或褪色的照片,CodeFormer 提供了颜色增强功能,可以恢复照片的原始色彩。

人脸修复和背景增强

在修复人脸的同时,CodeFormer 还可以增强背景图像,确保整体图像的和谐统一。

4、典型生态项目

Real-ESRGAN

Real-ESRGAN 是一个用于图像超分辨率的工具,CodeFormer 集成了 Real-ESRGAN 用于背景图像的增强。

BasicSR

BasicSR 是一个开源的图像和视频恢复工具包,CodeFormer 基于 BasicSR 构建,提供了更高级的人脸修复功能。

FaceXLib

FaceXLib 是一个专注于人脸分析和处理的库,CodeFormer 从中借鉴了一些代码,用于人脸检测和对齐。

通过这些生态项目的结合,CodeFormer 能够提供更全面和高效的人脸修复解决方案。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
27
11
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
514
3.69 K
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
873
538
pytorchpytorch
Ascend Extension for PyTorch
Python
317
360
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
334
153
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.31 K
732
flutter_flutterflutter_flutter
暂无简介
Dart
757
182
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
12
1
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
67
20
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
1.05 K
519