GitHub 月榜第 3,微軟的老照片修復工具火了

2021-03-26 12:00:42

【導語】:一款藉助 AI 對老照片快速進行修復的工具,基於 PyTorch 實現,支援劃痕檢測、面部修飾、全域性還原等操作。

簡介

Bringing-Old-Photo-Back-to-life 是由微軟研究團隊開發的一款修復舊照片的工具,基於 PyTorch 實現,支援劃痕檢測、面部修飾、全域性還原等操作。

下載安裝

專案的原始碼地址是:

https://github.com/microsoft/...

程式碼在裝有 Nvidia GPU 和 CUDA 的 Ubuntu 上進行了測試,Python版本要求大於等於3.6 ,使用以下命令進行安裝:

(1)下載PyTorch庫

cd Face_Enhancement/models/networks/
git clone https://github.com/vacancy/Synchronized-BatchNorm-PyTorch
cp -rf Synchronized-BatchNorm-PyTorch/sync_batchnorm .
cd ../../../

cd Global/detection_models
git clone https://github.com/vacancy/Synchronized-BatchNorm-PyTorch
cp -rf Synchronized-BatchNorm-PyTorch/sync_batchnorm .
cd ../../

(2)下載landmark 檢測預訓練模型

cd Face_Detection/
wget http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2
bzip2 -d shape_predictor_68_face_landmarks.dat.bz2
cd ../

(3)從Azure Blob下載訓練模型

cd Face_Enhancement/
wget https://facevc.blob.core.windows.net/zhanbo/old_photo/pretrain/Face_Enhancement/checkpoints.zip
unzip checkpoints.zip
cd ../
cd Global/
wget https://facevc.blob.core.windows.net/zhanbo/old_photo/pretrain/Global/checkpoints.zip
unzip checkpoints.zip
cd ../

(4)安裝依賴

pip install -r requirements.txt

簡單使用

在Colab上體驗(免安裝)

Colab地址:(國內需木弟子)

https://colab.research.google...\_4DqDkQO0nFRB-uA?usp=sharing

開啟Colab的介面:

登入Google後根據指引執行程式碼設定環境,設定好環境就可以上傳自己的圖片進行體驗,小編簡單嘗試了 3 張網圖,效果如下:

原圖來源:百度

原圖來源:百度

原圖來源:百度

本地安裝體驗

根據文章開頭介紹的下載安裝方法安裝完成後,可以通過以下命令進行使用:

(1)沒有劃痕的影象:

python run.py --input_folder [test_image_folder_path] \
              --output_folder [output_path] \
              --GPU 0

要注意的是,這裡需要的 output\_folder 引數值需要使用絕對路徑,影象的修復結果將最終儲存在 ./output\_path/final\_output/ 中。

專案樣例效果:

(2)有劃痕的影象:

python run.py --input_folder [test_image_folder_path] \
              --output_folder [output_path] \
              --GPU 0 \
              --with_scratch

專案樣例效果:

研究團隊表示,他們不打算直接釋出帶有標籤的有劃痕的舊照片資料集,如果需要獲取配對資料,可以使用他們的預訓練模型來測試收集影象以獲得標籤:

cd Global/
python detection.py --test_path [test_image_folder_path] \
                    --output_dir [output_path] \
                    --input_size [resize_256|full_size|scale_256]

專案樣例效果:

該專案目前由團隊成員 Ziyu Wan 維護,僅供學術研究使用。

開源前哨 日常分享熱門、有趣和實用的開源專案。參與維護 10萬+ Star 的開源技術資源庫,包括:Python、Java、C/C++、Go、JS、CSS、Node.js、PHP、.NET 等。