翻開家裡的的相片冊,可以看到每張照片都是那麼的彌足珍貴,特別是很久以前的照片,都是美好的回憶,還有那些年錯過的場景,都被記錄下來了,不過可惜的是,隨著時間的流逝,照片可能泛黃,出現劃痕,畫質損失等等,那麼這時候,如果可以讓這些老舊的照片修復回來,那就忒棒啊!
如何使用呢?今天小帥b和你一起玩一下,把舊照片修復清晰。
在此之前,確保你的電腦有:
Python3的執行環境
GPU或者CPU
環境準備首先將微軟的「Bringing-Old-Photos-Back-to-Life」庫 clone 到本地:
git clone https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life.git
下載 Synchronized-BatchNorm-PyTorch接著進入專案檔案,進入 「Face_Enhancement/models/networks/」,把「Synchronized-BatchNorm-PyTorch」clone下來:
clone https://github.com/vacancy/Synchronized-BatchNorm-PyTorch
同樣的,在「Global/detection_models」下同步下載 「Synchronized-BatchNorm-PyTorch」:
下載 landmark detection pretrained model進入 「Face_Enhancement」,使用 wget 命令下載地標檢測預訓練模型:
wget http://dlib.net/files/shapepredictor68facelandmarks.dat.bz2
接著解壓:
bzip2 -d shapepredictor68facelandmarks.dat.bz2
下載訓練模組進入「Face_Enhancement」,使用 wget 下載:
wget https://facevc.blob.core.windows.net/zhanbo/oldphoto/pretrain/FaceEnhancement/checkpoints.zip
接著解壓一波:
unzip checkpoints.zip
進入 「Global」,下載:
wget https://facevc.blob.core.windows.net/zhanbo/old_photo/pretrain/Global/checkpoints.zip
同樣解壓一波:
unzip checkpoints.zip
建立 python3 虛擬環境python3 -m venv .venv
source .venv/bin/activate
安裝專案依賴庫pip3 install -r requirements.txt
至此,我們該安裝都特麼安裝完成了,接下來就可以使用了。
修復沒有劃痕的老照片我們可以建立兩資料夾,分別用來存放舊照片和生成的修復照片:
比如你要修復這樣的舊照片:
把它放進 「old」資料夾中,然後使用這樣的命令進行修復:
python run.py --inputfolder [舊照片的資料夾路徑] --outputfolder [新照片的資料夾路徑] --GPU 0
像這樣:
這時候在 「out」中就可以得到修復好的照片了:
開啟可以看到新的照片:
是不是清晰了很多?
當然你也可以批次修復,把舊照片都放入你建立的 old 資料夾就可以。
修復有劃痕的老照片使用方式和剛剛的命令一樣,只不過我們需要在命令後面新增 「--with_scratch」。
rm -rf test/out/*
修復:
python run.py --inputfolder [舊照片的資料夾路徑] --outputfolder [新照片的資料夾路徑] --GPU 0 --with_scratch
得到的效果就是這樣的:
寫到這裡,小帥b在某寶搜了一下「老照片修復」,這...商機啊!