Python+AI给老照片上色

人工智能
在有趣的细节和活力方面实现了最高质量的图像着色效果,该模型在 UNet 上使用 resnet34 为主干,通过 NoGAN 进行了 5 次评论家预训练/GAN 循环重复训练。

哈喽,大家好。

今天继续给大家分享有趣的 AI 项目。

上次我们分享了用GAN(生成对抗网络)​​让静态图片动起来​​。

今天我们分享用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文件,编写代码加载刚刚下载好的模型文件。

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模块将图片转换成模型输入所需要的格式,送入模型进行上色,完成后保存。

上述代码是我从项目源码中抽取的,可以看到,运行代码还是非常简单的。

责任编辑:武晓燕 来源: 渡码
相关推荐

2021-06-22 09:55:05

代码图像技术

2021-04-16 09:33:15

AI 数据人工智能

2020-06-10 16:32:43

百度谷歌老照片修复

2022-06-07 09:00:32

PythonAI静态图片

2022-07-15 08:01:29

代码DeOldify源码

2022-03-28 08:47:26

Skanlite扫描文件Linux

2023-05-04 07:51:28

开源人工智能Upscayl

2021-03-09 17:27:40

AI 数据人工智能

2020-08-01 13:30:58

AI人工智能

2019-03-29 09:44:39

AI 数据人工智能

2020-05-28 14:11:41

AI 黑科技人工智能

2013-03-12 10:19:20

计算机内存芯片数据

2021-11-10 10:44:41

AI Deepfake人工智能

2020-06-29 09:58:29

微软算法照片

2011-05-16 09:58:40

Labelbox

2020-05-15 08:37:35

乔布斯 Google照片

2017-02-23 10:10:32

PythonAIPyWren

2022-07-03 12:54:18

AI人脸识别神经网络

2019-12-19 15:12:37

AI 数据人工智能
点赞
收藏

51CTO技术栈公众号