前言
哈嘍,大家好,有沒有誰跟我一樣喜歡老照片的朋友,老照片總是讓人感覺有一種情懷,可能這就是懷念吧,有一次無意中看到
了很久很久以前的照片都是黑白的,當時很想給照片添加點顏色,但是不知道怎么搞,今天,我終于發現了怎么去解決這個問
題,想了想,我決定得把這個分享給大家…
今天我們分享用NoGAN的影像增強技術給老照片著色,效果如下:
原圖
上色后
NoGAN是一種新型GAN,它能花費最少的時間進行GAN訓練,
今天分享的這個專案已在GitHub開源專案,下面我們來運行一下,
1. 準備作業
首先,用git clone命令下載原始碼
git clone https://github.com/jantic/DeOldify.git
進入專案根目錄,安裝Python依賴包
pip3 install -r requirements.txt
撰寫代碼運行專案之前,需要下載預訓練好的模型,專案提供了三個模型
模型
區別如下:
?ColorizeArtistic_gen.pth:在有趣的細節和活力方面實作了最高質量的影像著色效果,該模型在 UNet 上使用 resnet34 為主干,
通過 NoGAN 進行了 5 次評論家預訓練/GAN 回圈重復訓練
?ColorizeStable_gen.pth:在風景和肖像方面取得了最佳效果,該模型在 UNet 上使用 resnet101 為主干,通過 NoGAN 進行了 3
次評論家預訓練/GAN 回圈重復訓練

?ColorizeVideo_gen.pth:針對流暢的視頻進行了優化,它僅使用初始生成器/評論家預訓練/GAN NoGAN 訓練,由于追求流暢的
速度,它的色彩比前兩者少,
將下載好的模型檔案放在專案根目錄的models目錄下即可,
2. 撰寫代碼
在專案根目錄同級目錄下創建Python檔案,撰寫代碼加載剛剛下載好的模型檔案,
python學習交流Q群:906715085#### 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模塊將圖片轉換成模型輸入所需要的格式,送入模型進行上色,完成后保存,
上述代碼是我從專案原始碼中抽取的,可以看到,運行代碼還是非常簡單的,
感興趣的朋友可以自己運行一下,也可以試試其他模型的效果,需要原始碼的朋友,在公眾號回復 老照片上色 即可,
最后,感謝你的關注,我將持續分享優秀的 AI 專案,如果本文對你有用就點個 在看 鼓勵一下吧,

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/492234.html
標籤:Python
上一篇:docker安裝RabbitMQ
