消除馬賽克秒變高清人像,將模糊的照片秒變清晰,
ai技術是越來越強悍了,

但現在的ai技術,真的可以完全消除馬賽克,百分百還原照片嗎?
其實,消除馬賽克的演算法 PULSE,在2年前就已經發布了,
通過演算法腦補出打碼的地方,幫助我們還原照片,
甚至臉上的毛孔、頭發都能復原,

發展到現在,消除馬賽克的技術已經趨于成熟了,這不前兩周,又開源了一個新的演算法MAE,
這個更厲害,即使畫面遮擋超過90%,ai也會想辦法幫我們復原,
我運行試了一下,用的是下面這張圖片,

遮擋后,我們能大體看出這是什么,但是眼睛長什么樣子還不知道,
運行了一下,演算法模擬出來的效果是下面這樣的:

而原圖是這樣的:

基本上是還原了,
我們來看看這些演算法的原理吧,
馬賽克其實就是一張低像素的影像,
一張清晰的圖片,只是眼睛這一個區域,可能就有100個像素,而轉換成馬賽克,這一區域可能就只有3個像素,
這樣圖片就會模糊不清,看不清楚原圖片是個啥,
那想要復原照片呢,就需要根據這3個像素,腦補出一些的特征,重新補足為100個像素,
這個就是演算法做的事情,自動腦補一些不存在的特征,比如皺紋、毛發等,
那這些演算法真的能幫我們百分百復原照片嗎?
我拿我自己的證件照試了一下,
第一張是原圖,最后一張是最后復原的效果,

那個——
雖然也是有鼻子有眼的,
但是跟原照片相比,只能說是毫不相關,
最后生成的照片只是演算法腦補出來的,可能只是一張看上去真實的面孔,
但想要通過馬賽克去重建還原人像,目前看來,這是不可能的,
但復原一些個體特性不太明顯的事物,比如家具、動物等,準確率就比較高了,
比如下面這個小狐貍,MAE演算法復原的就很成功,

那怎么運行這些演算法呢?
我們以第一個演算法PULSE舉例,
第一步:下載代碼
專案地址:
https://github.com/adamian98/pulse
第二步:搭建環境
在代碼檔案的根目錄下面,有一個pulse.yml檔案,環境配置資訊都在這里面了,
我們可以直接運行下面代碼創建虛擬環境,并根據pulse.yml檔案配置環境,
conda env create -n pulse -f pulse.yml
不過我自己安裝,報了下面的錯誤:
Solving environment: failed
ResolvePackageNotFound:***
這是因為,環境組態檔是在別的電腦上面匯出來的,不適合我們電腦的配置,洗掉包的具體資訊就可以解決,即洗掉包名稱第二個等號后面的內容,
比如:
- blas=1.0=mkl
- ca-certificates=2020.1.1=0
改成:
- blas=1.0
- ca-certificates=2020.1.1
還有dlib庫的安裝也遇到了問題,需要先安裝cmake,再安裝dlib,
pip install cmake
pip install dlib
如果還是安裝不成功,可以先將dlib19.19.0版本下載下來,在本地安裝,
我將dlib19.19.0版本檔案,上傳到了我的百度網盤,
下載地址(提取碼:6666):
https://pan.baidu.com/s/16KHEdZ0KD_pQPRRiGuq5Ew
最后安裝本地檔案就可以了,
pip install dlib-19.19.0-cp38-cp38-win_amd64.whl.whl
第三步:運行模型
專案給我們提供了預訓練模型,需要翻墻下載,
我也已經下載好,上傳到了我的百度網盤,
下載地址(提取碼:6666):
https://pan.baidu.com/s/16KHEdZ0KD_pQPRRiGuq5Ew
在代碼檔案的根目錄下面,創建兩個檔案夾,分別命名為:cache、realpics ,
將上面下載好的,預訓練模型(三個檔案),放到 cache 檔案夾內,
然后將一張人像照片放到 realpics 檔案夾內,我們以下圖為例:

先運行下面陳述句,對圖片進行降解析度處理,
python align_face.py
生成的圖片會放到 input 檔案夾內,

最后運行run.py檔案
python run.py
就會在 runs 檔案夾下生成腦補圖,

都是金發碧眼,但是不怎么像——
如果運行程序中遇到這個錯誤:
Could not find a face that downscales correctly within epsilon
有兩個方法可以解決:
1.增加迭代次數
python run.py -steps=5000
2、增大eps
出現這個問題,是因為L2 損失大于eps,我們通過增大eps的值,就可以避免這個錯誤
在run.py檔案的39行,
原代碼:
parser.add_argument('-eps', type=float, default=2e-3, help='Target for downscaling loss (L2)')
修改成:
parser.add_argument('-eps', type=float, default=8e-2, help='Target for downscaling loss (L2)')
這樣基本就沒有問題了,
我將運行專案期間遇到的問題都寫出來了,希望大家跟著可以運行的順利一些~
如果想要運行新出的這個MAE演算法,
專案地址是:
https://github.com/facebookresearch/mae
專案提供了 Colab,要登陸Google賬戶才能運行,如果可以登錄的話,可以直接在線體驗演算法效果:
https://colab.research.google.com/github/facebookresearch/mae/blob/main/demo/mae_visualize.ipynb
wx搜索【喵寧一】第一時間閱讀文章~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/428560.html
標籤:AI
上一篇:Seaborn使用lmplot函式可視化散點圖并添加回歸曲線、移除默認的回歸曲線置信區間(Scatter plot with regression line、Remove CI band)
下一篇:JDK的安裝和卸載
