Select Page

CodeFormer 教學:一鍵去除照片馬賽克,恢復人臉細節

CodeFormer 是由南洋理工大學 S-Lab 的研究人員開發的一款先進人工智慧工具,專注於人臉修復和增強。它利用代碼查找變壓器(Codebook Lookup Transformer)技術,能夠有效地修復模糊、老舊或受損的人臉圖像,甚至在嚴重退化的情況下,也能生成高品質且真實的面部圖像。

主要特點:

  • 高品質人臉修復: CodeFormer 能夠自動修復模糊或失真的人臉圖像,恢復細節並提升整體畫質。
  • 靈活的保真度調節: 用戶可以通過調整保真度參數,在畫質和真實度之間取得平衡,滿足不同需求。
  • 背景增強: 結合 Real-ESRGAN 技術,CodeFormer 不僅能修復人臉,還能增強背景部分的清晰度。
  • 支援影片處理:不僅只能處理照片,也可以直接處理影片

安裝方法:

安裝條件

  • Pytorch >= 1.7.1
  • CUDA >= 10.1

安裝步驟

# git clone this repository
git clone https://github.com/sczhou/CodeFormer
cd CodeFormer

# 官方建議 create new anaconda env
# 我用的是 python 3.11
conda create -n codeformer python=3.8 -y
conda activate codeformer

# install python dependencies
pip3 install -r requirements.txt

# 需要可視化的介面的可以加下面的命令
pip install -q gradio

python basicsr/setup.py develop

# only for face detection or cropping with dlib
conda install -c conda-forge dlib

※dlib是更心的人臉偵測器,可以找出更準確的人臉

安裝訓練模型

安裝官方兩個預先訓練好的模型

python scripts/download_pretrained_models.py CodeFormer

# only for dlib face detector
python scripts/download_pretrained_models.py dlib

需要使用影片增強要安裝 ffmpeg

# For Windows/Mac users, please install ffmpeg first
conda install -c conda-forge ffmpeg

使用方法:

OpenXLab 以及 Huggingface 直接使用

臉部修復

# 黑白照片適用
# For cropped and aligned faces (512x512)
# Colorize black and white or faded photo
python inference_colorization.py --input_path [image folder]|[image path]

# 臉部修復專用
# For cropped and aligned faces (512x512)
# Inputs could be masked by white brush using an image editing app (e.g., Photoshop) 
# (check out the examples in inputs/masked_faces)
python inference_inpainting.py --input_path [image folder]|[image path]

影像增強

# Add '--bg_upsampler realesrgan' to enhance the background regions with Real-ESRGAN
# Add '--face_upsample' to further upsample restorated face with Real-ESRGAN
python inference_codeformer.py -w 0.7 --input_path [image folder]|[image path]

影片增強

# For video clips
# Video path should end with '.mp4'|'.mov'|'.avi'
python inference_codeformer.py --bg_upsampler realesrgan --face_upsample -w 1.0 --input_path 

訓練模型的方法:

https://github.com/sczhou/CodeFormer/blob/master/docs/train.md

應用場景:

  • 老照片修復: 將老舊或受損的照片進行數位化修復,恢復其原有風采。
  • 模糊照片清晰化: 提升低解析度或模糊照片的清晰度,使細節更加突出。
  • AI 生成圖像優化: 對 AI 生成但存在瑕疵的人臉圖像進行修復,提升其真實感。

參考資訊: