大家好
最近閑逛檐涝,發(fā)現(xiàn)騰訊開源的老照片修復算法新出了V1.3的預訓練模型,手癢試了一下。
我拿“自己”的舊照片試了一下谁榜,先看效果
GFPGAN
FPGAN算法由騰訊PCG ARC實驗室提出幅聘,其相關(guān)論文已被CVPR2021收錄。
研究核心利用了包含在訓練好的人臉生成模型里的「知識」, 被稱之為生成人臉先驗 (Generative Facial Prior, GFP)窃植。它不僅包含了豐富的五官細節(jié), 還有人臉顏色, 此外它能夠把人臉當作一個整體來對待, 能夠處理頭發(fā)帝蒿、耳朵、面部輪廓巷怜「鸪基于預訓練好的生成模型, 研究者們提出了利用生成人臉先驗 GFP 的人臉復原模型 GFP-GAN。相比于近幾年其他人臉復原的工作, GFP-GAN 不僅在五官恢復上取得了更好的細節(jié), 整體也更加自然, 同時也能夠?qū)︻伾幸欢ǖ脑鰪娮饔谩?/p>
Online 試玩版
官方提供了 Online 試玩版
Huggingface (只返回人臉)
https://huggingface.co/spaces/akhaliq/GFPGAN
Replicate.ai
https://replicate.com/xinntao/gfpgan
Baseten.co
https://app.baseten.co/applications/Q04Lz0d/operator_views/8qZG6Bg
我測試了一下,感覺只有Replicate比較穩(wěn)定延塑。
只需將你想修復的照片拖進左邊的圖片框內(nèi)绣张,點擊Submit即可。
比如我把自己的照片再傳上去
效果不太理想页畦,銳化的有點過胖替,貌似是因為用的V1.2的預訓練模型吧。
本地運行
本地運行可以使用最新的預訓練模型豫缨,修復效果更加自然独令,同時還能在低質(zhì)量輸入的情況下,輸出高質(zhì)量結(jié)果好芭。
環(huán)境要求:
Python >= 3.7 (推薦使用Anaconda or Miniconda)
PyTorch >= 1.7
Option: NVIDIA GPU + CUDA
Option: Linux
我的系統(tǒng)是Ubuntu 20.04.2 LTS 燃箭,Win平臺我沒有嘗試,感興趣的同學可以試試舍败。
克隆項目
git clone https://github.com/TencentARC/GFPGAN.git
cd GFPGAN
安裝依賴
# 安裝BasicSR:基于 PyTorch 的開源圖像視頻復原工具箱, 比如 超分辨率, 去噪, 去模糊, 去 JPEG 壓縮噪聲等.
pip install basicsr
#
# 安裝facexlib: 提供實用的人臉相關(guān)功能的集合
pip install facexlib
# 安裝GFPGAN依賴包
pip install -r requirements.txt
python setup.py develop
# Real-ESRGAN:圖像分辨率修復工具招狸,可以提升照片分辨率
pip install realesrgan
注:
直接pip install basicsr,我遇到大面積的warning邻薯,后面運行時報錯了
ImportError: cannot import name 'load_file_from_url' from 'basicsr.utils.download_util'
大家如果有相同問題裙戏,可以嘗試
!pip install basicsr
下載V1.3預訓練模型
#
wget https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth -P experiments/pretrained_models
模型就下載到experiments/pretrained_models目錄下了
運行
終端切到GFPGAN目錄下,運行:
python inference_gfpgan.py -i inputs/whole_imgs -o results -s 2
inputs目錄下存放準備修復的圖片厕诡,工程包里包含了部分測試圖片累榜,你也可以將自己要修復的圖片放在inputs下一級的某個文件夾中。
results目錄則保存處理后生成的結(jié)果圖片灵嫌,包含了對比圖像壹罚、人臉圖像、整張圖像等多個子文件夾寿羞。
第一次運行時會比較慢猖凛,還會額外自動下載facexlib的模型文件;稍后片刻就能在results\cmp目錄下看到修復前后的對比圖片了: