AI老照片上色-DeOldify

这篇具有很好参考价值的文章主要介绍了AI老照片上色-DeOldify。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

AI老照片上色-DeOldify,机器学习,人工智能

 🏡 个人主页:IT贫道-CSDN博客

 🚩 私聊博主:私聊博主加WX好友,获取更多资料哦~

 🔔 博主个人B栈地址:豹哥教你学编程的个人空间-豹哥教你学编程个人主页-哔哩哔哩视频


目录

1. 老照片上色原理

2. 老照片上色环境准备

2.1 下载DeOldify项目

2.2 下载权重文件

2.3 安装依赖的python包

3. 给图片上色

4. 给视频上色


1. 老照片上色原理

老照片上色原理就是使用GAN生成式对抗网络,对于一些原始黑白图片及对应的彩色图像,使用GAN生成式对抗网络来实现上色。

2. 老照片上色环境准备

2.1 下载DeOldify项目

项目下载地址:https://github.com/jantic/DeOldify,下载之后解压到对应的非中文路径下,这里解压到“J:\DeOldify-master”路径。可以处理图片上色,也可以处理视频上色。DeOldfy的核心网络框架是GAN,可以对图片和视频呈现更详细、真实的渲染效果。

2.2 下载权重文件

DeOldify 是基于深度学习开发的,需要用到预训练权重,这里项目开发者已经把训练好的权重上传到网上,我们可以直接拿来使用,不需要我们再训练,本项目中用到的权重文件比较多,一共三个:

  • Artistic 权重,会使图片上色效果 更大胆一些,下载地址:

https://data.deepai.org/deoldify/ColorizeArtistic_gen.pth

  • Stable 权重,相对于 Artistic 上色效果更保守一些,下载地址:

https://www.dropbox.com/s/usf7uifrctqw9rl/ColorizeStable_gen.pth

  • Video 权重,此权重文件用来给视频上色,下载地址

https://data.deepai.org/deoldify/ColorizeVideo_gen.pth

权重文件下载完毕后,在项目根目录下创建一个models文件夹,把下载好的三个权重文件放入models文件夹内。

2.3 安装依赖的python包

首先需要安装pytorch,这里在“修复照片”中已经处理,所以不再安装,此外还需安装如下:

从https://www.lfd.uci.edu/~gohlke/pythonlibs/ 网站中下载“Bottleneck-1.3.2-cp36-cp36m-win_amd64.whl”手动安装,不然后面自动下载不下来。

​
pip install -i Simple Index fastai==1.0.51

pip install -i Simple Index wandb

pip install -i Simple Index tensorboardX==1.6

pip install -i Simple Index ffmpeg

pip install -i Simple Index ffmpeg-python==0.1.17

pip install -i Simple Index youtube-dl>=2019.4.17

pip install -i Simple Index jupyterlab

pip install -i Simple Index opencv-python>=3.3.0.10

pip install -i Simple Index pillow==8.2.0

​

可以直接 使用如下命令指定文件进行批量安装python依赖包:

D:\ProgramData\Anaconda3\envs\python36_oldimage\Scripts>pip install -r J:\DeOldify-master\requirements.txt

指定文件安装,这里还是手动每个安装吧,指定文件下载太慢。

​​​​​​​3. 给图片上色

from deoldify import device
from deoldify.device_id import DeviceId


# choices:  CPU, GPU0...GPU7
device.set(device=DeviceId.GPU0)
from deoldify.visualize import *
import gc

plt.style.use('dark_background')
# 加速训练
torch.backends.cudnn.benchmark=True

import warnings
warnings.filterwarnings("ignore", category=UserWarning, message=".*?Your .*? set is empty.*?")

#Artistic 为布尔值, True 表示启用 Artistic 模式 ( False 启用 Stable 模式);
colorizer = get_image_colorizer(artistic=True)

#render_factor 表示渲染因子,值越大效果越好,但同时需要更大的显存;
#我的电脑设置1就承受不住了
render_factor=10

#source_path 表示输入图片路径
source_path = 'J:\\s8.jpg'

# result_path = 'J:\\finished\\'

colorizer.plot_transformed_image(path=source_path, render_factor=render_factor, compare=True)
gc.collect()

前面提到过 Artistic 与 Stable 是有区别的(因为用到的权重文件是不一样的), Artistic 上色效果会更加激进一些。

运行代码前如果使用Artistic模式那么下载resnet101-63fe2227.pt文件存在“C:\Users\wubai/.cache\torch\hub\checkpoints\”路径下;

如果使用Stable模式那么下载https://download.pytorch.org/models/resnet101-63fe2227.pth放在“C:\Users\wubai/.cache\torch\hub\checkpoints\”路径下。

目前Stable模式老是内存不够,我们就记住一个模式是Artistic即可。

问题解决:pip uninstall numpy pip uninstall pandas

4. 给视频上色

给视频上色需要两个步骤:

1) 在window中安装ffmpeg

ffmpeg主要用户合成视频。ffmpeg下载地址:Download FFmpeg

登录后,选择windows:

AI老照片上色-DeOldify,机器学习,人工智能

AI老照片上色-DeOldify,机器学习,人工智能

下载完成之后,解压到某一路径下,这里解压到“J:\ffmpeg-4.4-essentials_build”,配置window环境变量:

AI老照片上色-DeOldify,机器学习,人工智能

2) 编写代码,转换视频

准备视频:old_video.mp4与old_video.mp4 ,编写下面代码:

from deoldify import device
from deoldify.device_id import DeviceId

#choices:  CPU, GPU0...GPU7
device.set(device=DeviceId.GPU0)

from deoldify.visualize import *
plt.style.use('dark_background')
import warnings
warnings.filterwarnings("ignore", category=UserWarning, message=".*?Your .*? set is empty.*?")

colorizer = get_video_colorizer()

#NOTE:  Max is 44 with 11GB video cards.  21 is a good default
render_factor=21

#"D:\ProgramData\Anaconda3\envs\python36_oldimage\lib\subprocess.py" 文件中 611行 shell=False 改成shell=True,不然读取不到文件
file_name_ext = "J:\\old_video2.mp4"
# file_name_ext = file_name + ".mp4"
result_path = None

colorizer.colorize_from_file_name(file_name_ext, render_factor=render_factor)

转换之后的视频在目录:“J:\DeOldify-master\video\result”中,在转换过程中使用的显卡非常大,内存也比较多。


​​​​​​​文章来源地址https://www.toymoban.com/news/detail-809124.html

到了这里,关于AI老照片上色-DeOldify的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包