首页
/ 【免费下载】 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
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
471
465
kernelkernel
deepin linux kernel
C
32
16
atomcodeatomcode
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get Started
Rust
2.09 K
218
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
700
1.4 K
docsdocs
暂无描述
Dockerfile
780
5.08 K
pytorchpytorch
Ascend Extension for PyTorch
Python
758
968
flutter_flutterflutter_flutter
本仓库是 Flutter SDK 与 Flutter Engine 的 OpenHarmony 适配版本,由 CPF-Flutter 团队维护。开发者可使用熟悉的 Flutter 技术栈开发 OpenHarmony 应用,3.35.7 及以后的适配版本可基于本仓库源码构建支持 OpenHarmony 的 Flutter Engine。
Dart
1.04 K
271
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
880
2.03 K
mindquantummindquantum
MindQuantum is a general software library supporting the development of applications for quantum computation.
Python
183
111
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
1.11 K
682