Python機器學習之實現(xiàn)模糊照片人臉恢復清晰
前言
最近看到一個有意思的機器學習項目——GFPGAN,他可以將模糊的人臉照片恢復清晰。開源項目的Github地址:https://github.com/TencentARC/GFPGAN
我們看一看作者給出的對比圖。

最右側的就是GFPGAN的效果,看一下最左層的輸入圖片,可以發(fā)現(xiàn)GFPGAN將圖片恢復的非常清晰。這個效果非常驚艷。
按照以前的慣例,我還是先把這個項目安裝使用一下,看看能不能對代碼重新封裝,變成可以工程化的項目。
環(huán)境安裝
我們先看一下項目README給的提示。

首先需要的python版本是>=3.7的,所以我用Anaconda創(chuàng)建了一個python3.9的虛擬環(huán)境。Pytorch的安裝直接從官網(wǎng)獲取命令安裝一個最新版本即可。

因為還有一些基礎依賴的安裝,照著安裝一下就行,其實setup.py是已經(jīng)在項目中的,如下圖。

由于模型比較大,所以作者沒有放在github上,給了下面的下載提示。該模型是作者提供已經(jīng)訓練好的模型。

如果下載很慢的話,可以從我的網(wǎng)盤下載。
鏈接提取碼:TUAN
作者還提供了基礎模型可供自行訓練。

驗證模型
下面我準備了一些圖,挑了一些比較典型的圖片,有黑白的、彩色的以及馬賽克的,想看看是不是都可以實現(xiàn)清晰化處理。
準備的圖片如下:

按照README提供的指令
python inference_gfpgan.py --upscale 2 --test_path inputs/newImages --save_root results
看一下執(zhí)行結果:
(pytorch39) C:\Users\yi\PycharmProjects\GFPGAN>python inference_gfpgan.py --upscale 2 --test_path inputs/newImages --save_root results
C:\Users\yi\PycharmProjects\GFPGAN\inference_gfpgan.py:45: UserWarning: The unoptimized RealESRGAN is very slow on CPU. We do not use it. If you really want to use it, p
lease modify the corresponding codes.
warnings.warn('The unoptimized RealESRGAN is very slow on CPU. We do not use it. '
Processing 331.jpg ...
E:\ProgramData\Anaconda3\envs\pytorch39\lib\site-packages\torch\nn\functional.py:3679: UserWarning: The default behavior for interpolate/upsample with float scale_factor
changed in 1.6.0 to align with other frameworks/libraries, and now uses scale_factor directly, instead of relying on the computed output size. If you wish to restore th
e old behavior, please set recompute_scale_factor=True. See the documentation of nn.Upsample for details.
warnings.warn(
Processing 333.jpg ...
Processing 334.jpg ...
Processing 335.jpg ...
Results are in the [results] folder.
(pytorch39) C:\Users\yi\PycharmProjects\GFPGAN>
按照默認參數(shù),會在results結果文件夾中生成4個目錄分別為前后對比圖、原檢測出來的臉部圖、處理后的臉部圖、處理后的最終圖。

我們看看效果


?
可以看出兩點:
1、馬賽克不能消除,有一張全馬賽克的圖片,直接無法修復。
2、常規(guī)的模糊照片修復的是真的很清晰呀。
總結
總的來說該項目是非常優(yōu)秀的,從最終圖片的效果上來說,非常好了,至于去除馬賽克還是得看別的項目了。后面研究研究這么項目,看能不能改改。
以上就是Python機器學習之實現(xiàn)模糊照片人臉恢復清晰的詳細內(nèi)容,更多關于Python模糊照片人臉恢復清晰的資料請關注腳本之家其它相關文章!
相關文章
一篇文章教你掌握python數(shù)據(jù)類型的底層實現(xiàn)
這篇文章主要介紹了Python 數(shù)據(jù)類型的底層實現(xiàn)原理分析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-09-09
基于MTCNN/TensorFlow實現(xiàn)人臉檢測
這篇文章主要為大家詳細介紹了基于MTCNN/TensorFlow實現(xiàn)人臉檢測,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05

