Python機(jī)器學(xué)習(xí)之實(shí)現(xiàn)模糊照片人臉恢復(fù)清晰
前言
最近看到一個(gè)有意思的機(jī)器學(xué)習(xí)項(xiàng)目——GFPGAN,他可以將模糊的人臉照片恢復(fù)清晰。開源項(xiàng)目的Github地址:https://github.com/TencentARC/GFPGAN
我們看一看作者給出的對比圖。
最右側(cè)的就是GFPGAN的效果,看一下最左層的輸入圖片,可以發(fā)現(xiàn)GFPGAN將圖片恢復(fù)的非常清晰。這個(gè)效果非常驚艷。
按照以前的慣例,我還是先把這個(gè)項(xiàng)目安裝使用一下,看看能不能對代碼重新封裝,變成可以工程化的項(xiàng)目。
環(huán)境安裝
我們先看一下項(xiàng)目README給的提示。
首先需要的python版本是>=3.7的,所以我用Anaconda創(chuàng)建了一個(gè)python3.9的虛擬環(huán)境。Pytorch的安裝直接從官網(wǎng)獲取命令安裝一個(gè)最新版本即可。
因?yàn)檫€有一些基礎(chǔ)依賴的安裝,照著安裝一下就行,其實(shí)setup.py是已經(jīng)在項(xiàng)目中的,如下圖。
由于模型比較大,所以作者沒有放在github上,給了下面的下載提示。該模型是作者提供已經(jīng)訓(xùn)練好的模型。
如果下載很慢的話,可以從我的網(wǎng)盤下載。
鏈接提取碼:TUAN
作者還提供了基礎(chǔ)模型可供自行訓(xùn)練。
驗(yàn)證模型
下面我準(zhǔn)備了一些圖,挑了一些比較典型的圖片,有黑白的、彩色的以及馬賽克的,想看看是不是都可以實(shí)現(xiàn)清晰化處理。
準(zhǔn)備的圖片如下:
按照README提供的指令
python inference_gfpgan.py --upscale 2 --test_path inputs/newImages --save_root results
看一下執(zhí)行結(jié)果:
(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>
按照默認(rèn)參數(shù),會(huì)在results結(jié)果文件夾中生成4個(gè)目錄分別為前后對比圖、原檢測出來的臉部圖、處理后的臉部圖、處理后的最終圖。
我們看看效果
?
可以看出兩點(diǎn):
1、馬賽克不能消除,有一張全馬賽克的圖片,直接無法修復(fù)。
2、常規(guī)的模糊照片修復(fù)的是真的很清晰呀。
總結(jié)
總的來說該項(xiàng)目是非常優(yōu)秀的,從最終圖片的效果上來說,非常好了,至于去除馬賽克還是得看別的項(xiàng)目了。后面研究研究這么項(xiàng)目,看能不能改改。
以上就是Python機(jī)器學(xué)習(xí)之實(shí)現(xiàn)模糊照片人臉恢復(fù)清晰的詳細(xì)內(nèi)容,更多關(guān)于Python模糊照片人臉恢復(fù)清晰的資料請關(guān)注腳本之家其它相關(guān)文章!
- Python機(jī)器學(xué)習(xí)應(yīng)用之基于BP神經(jīng)網(wǎng)絡(luò)的預(yù)測篇詳解
- Python機(jī)器學(xué)習(xí)應(yīng)用之基于LightGBM的分類預(yù)測篇解讀
- Python機(jī)器學(xué)習(xí)應(yīng)用之基于天氣數(shù)據(jù)集的XGBoost分類篇解讀
- Python機(jī)器學(xué)習(xí)應(yīng)用之決策樹分類實(shí)例詳解
- Python機(jī)器學(xué)習(xí)應(yīng)用之基于決策樹算法的分類預(yù)測篇
- Python機(jī)器學(xué)習(xí)應(yīng)用之支持向量機(jī)的分類預(yù)測篇
- Python機(jī)器學(xué)習(xí)應(yīng)用之樸素貝葉斯篇
- 在Python中通過機(jī)器學(xué)習(xí)實(shí)現(xiàn)人體姿勢估計(jì)
- Python機(jī)器學(xué)習(xí)應(yīng)用之基于線性判別模型的分類篇詳解
相關(guān)文章
tensorflow 只恢復(fù)部分模型參數(shù)的實(shí)例
今天小編就為大家分享一篇tensorflow 只恢復(fù)部分模型參數(shù)的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01淺析python實(shí)現(xiàn)scrapy定時(shí)執(zhí)行爬蟲
這篇文章主要介紹了淺析python實(shí)現(xiàn)scrapy定時(shí)執(zhí)行爬蟲的相關(guān)資料,需要的朋友可以參考下2018-03-03Python操作Excel神器openpyxl使用教程(超詳細(xì)!)
openpyxl庫是一個(gè)很好處理xlsx的python庫,下面這篇文章主要給大家介紹了關(guān)于Python辦公自動(dòng)化openpyxl使用的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01python內(nèi)置函數(shù):lambda、map、filter簡單介紹
Python 內(nèi)置了一些比較特殊且實(shí)用的函數(shù),使用這些能使你的代碼簡潔而易讀。下面對python內(nèi)置函數(shù):lambda、map、filter簡單介紹下,需要的朋友參考下吧2017-11-11python處理csv數(shù)據(jù)動(dòng)態(tài)顯示曲線實(shí)例代碼
這篇文章主要介紹了python處理csv數(shù)據(jù)動(dòng)態(tài)顯示曲線實(shí)例代碼,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01用Python復(fù)現(xiàn)二戰(zhàn)德軍enigma密碼機(jī)
大家好,本篇文章主要講的是用Python復(fù)現(xiàn)二戰(zhàn)德軍enigma密碼機(jī),感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽2022-01-01