最近看到一個有意思的機器學習項目——GFPGAN,他可以将模糊的人臉照片恢複清晰。開源項目的Github地址:
https://github.com/TencentARC/GFPGAN
我們看一看作者給出的對比圖。
最右側的就是GFPGAN的效果,看一下最左層的輸入圖片,可以發現GFPGAN将圖片恢複的非常清晰。這個效果非常驚豔。
按照以前的慣例,我還是先把這個項目安裝使用一下,看看能不能對代碼重新封裝,變成可以工程化的項目。
環境安裝我們先看一下項目README給的提示。
首先需要的python版本是>=3.7的,所以我用Anaconda創建了一個python3.9的虛拟環境。Pytorch的安裝直接從官網獲取命令安裝一個最新版本即可。
因為還有一些基礎依賴的安裝,照着安裝一下就行,其實setup.py是已經在項目中的,如下圖。
由于模型比較大,所以作者沒有放在github上,給了下面的下載提示。該模型是作者提供已經訓練好的模型。
如果下載很慢的話,可以私信“333”,将我整理的網盤源碼分享給你。
作者還提供了基礎模型可供自行訓練。
驗證模型下面我準備了一些圖,挑了一些比較典型的圖片,有黑白的、彩色的以及馬賽克的,想看看是不是都可以實現清晰化處理。
準備的圖片如下:
按照README提供的指令
pythoninference_gfpgan.py--upscale2--test_pathinputs/newImages--save_rootresults
看一下執行結果:
(pytorch39)C:\Users\yi\PycharmProjects\GFPGAN>pythoninference_gfpgan.py--upscale2--test_pathinputs/newImages--save_rootresultsC:\Users\yi\PycharmProjects\GFPGAN\inference_gfpgan.py:45:UserWarning:TheunoptimizedRealESRGANisveryslowonCPU.Wedonotuseit.Ifyoureallywanttouseit,pleasemodifythecorrespondingcodes. warnings.warn('TheunoptimizedRealESRGANisveryslowonCPU.Wedonotuseit.'Processing331.jpg...E:\ProgramData\Anaconda3\envs\pytorch39\lib\site-packages\torch\nn\functional.py:3679:UserWarning:Thedefaultbehaviorforinterpolate/upsamplewithfloatscale_factor changedin1.6.0toalignwithotherframeworks/libraries,andnowusesscale_factordirectly,insteadofrelyingonthecomputedoutputsize.Ifyouwishtorestoretheoldbehavior,pleasesetrecompute_scale_factor=True.Seethedocumentationofnn.Upsamplefordetails. warnings.warn(Processing333.jpg...Processing334.jpg...Processing335.jpg...Resultsareinthe[results]folder. (pytorch39)C:\Users\yi\PycharmProjects\GFPGAN>
按照默認參數,會在results結果文件夾中生成4個目錄分别為前後對比圖、原檢測出來的臉部圖、處理後的臉部圖、處理後的最終圖。
我們看看效果
可以看出兩點:
1、馬賽克不能消除,有一張全馬賽克的圖片,直接無法修複。
2、常規的模糊照片修複的是真的很清晰呀。
總結總的來說該項目是非常優秀的,從最終圖片的效果上來說,非常好了,至于去除馬賽克還是得看别的項目了。後面研究研究這麼項目,看能不能改改
上一篇
治白帶增多有效驗方
下一篇
我眼中的十道經典美國菜肴
有話要說...