Python+AI實現(xiàn)給老照片上色
哈嘍,大家好。
今天繼續(xù)給大家分享有趣的 AI 項目。
上次我們分享了用GAN
(生成對抗網(wǎng)絡(luò))讓靜態(tài)圖片動起來。
今天我們分享用NoGAN
的圖像增強技術(shù)給老照片著色。效果如下:
原圖
上色后
NoGAN
是一種新型GAN
,它能花費最少的時間進行GAN
訓(xùn)練。
今天分享的這個項目已在GitHub
開源項目,下面我們來運行一下。
1. 準(zhǔn)備工作
首先,用git clone
命令下載源碼
git?clone?https://github.com/jantic/DeOldify.git
進入項目根目錄,安裝Python
依賴包
pip3?install?-r?requirements.txt
編寫代碼運行項目之前,需要下載預(yù)訓(xùn)練好的模型。項目提供了三個模型
模型
區(qū)別如下:
- ColorizeArtistic_gen.pth:在有趣的細(xì)節(jié)和活力方面實現(xiàn)了最高質(zhì)量的圖像著色效果,該模型在 UNet 上使用 resnet34 為主干,通過 NoGAN 進行了 5 次評論家預(yù)訓(xùn)練/GAN 循環(huán)重復(fù)訓(xùn)練
- ColorizeStable_gen.pth:在風(fēng)景和肖像方面取得了最佳效果,該模型在 UNet 上使用 resnet101 為主干,通過 NoGAN 進行了 3 次評論家預(yù)訓(xùn)練/GAN 循環(huán)重復(fù)訓(xùn)練
- ColorizeVideo_gen.pth:針對流暢的視頻進行了優(yōu)化,它僅使用初始生成器/評論家預(yù)訓(xùn)練/GAN NoGAN 訓(xùn)練。由于追求流暢的速度,它的色彩比前兩者少。
將下載好的模型文件放在項目根目錄的models
目錄下即可。
2. 編寫代碼
在項目根目錄同級目錄下創(chuàng)建Python
文件,編寫代碼加載剛剛下載好的模型文件。
from?DeOldify.deoldify.generators?import?gen_inference_wide from?DeOldify.deoldify.filters?import?MasterFilter,?ColorizerFilter #?指定模型文件 learn?=?gen_inference_wide(root_folder=Path('./DeOldify'),?weights_name='ColorizeVideo_gen') #?加載模型 deoldfly_model?=?MasterFilter([ColorizerFilter(learn=learn)],?render_factor=10)
root_folder
指定項目根目錄,weights_name
指定接下來使用哪個模型為照片上色。
讀取老照片,進行上色
import?cv2 import?numpy?as?np from?PIL?import?Image img?=?cv2.imread('./images/origin.jpg') img?=?cv2.cvtColor(img,?cv2.COLOR_BGR2RGB) pil_img?=?Image.fromarray(img) filtered_image?=?deoldfly_model.filter( ????pil_img,?pil_img,?render_factor=35,?post_process=True ) result_img?=?np.asarray(filtered_image) result_img?=?cv2.cvtColor(result_img,?cv2.COLOR_RGB2BGR) cv2.imwrite('deoldify.jpg',?result_img)
用cv2
讀取老照片,并用PIL.Image
模塊將圖片轉(zhuǎn)換成模型輸入所需要的格式,送入模型進行上色,完成后保存。
上述代碼是我從項目源碼中抽取的,可以看到,運行代碼還是非常簡單的。
到此這篇關(guān)于Python+AI實現(xiàn)給老照片上色的文章就介紹到這了,更多相關(guān)Python AI老照片上色內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python3.6安裝卸載、執(zhí)行命令、執(zhí)行py文件的方法詳解
這篇文章主要介紹了Python3.6之安裝卸載、執(zhí)行命令、執(zhí)行py文件的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02關(guān)于python通過新建環(huán)境安裝tfx的問題
這篇文章主要介紹了python安裝tfx/新建環(huán)境,新建一個環(huán)境tfx專門用來運行流水線,這個環(huán)境安裝python3.8,對python安裝tfx相關(guān)知識感興趣的朋友一起看看吧2022-05-05python使用遞歸實現(xiàn)斐波那契數(shù)列的示例詳解
這篇文章主要給大家介紹了python使用遞歸實現(xiàn)斐波那契數(shù)列的示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起來學(xué)習(xí)吧2024-01-01