图像风格迁移技术及OpenCV应用

释放双眼,带上耳机,听听看~!
了解图像风格迁移技术及OpenCV在计算机视觉中的应用,以及基于神经网络的模型训练和应用。

​我正在参加「掘金·启航计划」

现在很多人都喜欢拍照(自拍)。有限的滤镜和装饰玩多了也会腻,所以就有 APP 提供了模仿名画风格的功能,比如 prisma、versa 等,可以把你的照片变成 梵高、毕加索、蒙克 等大师的风格。

图像风格迁移技术及OpenCV应用

这种功能叫做“图像风格迁移”,几乎都是基于 CVPR 2015 的论文《A Neural Algorithm of Artistic Style》和 ECCV 2016 的论文《Perceptual Losses for Real-Time Style Transfer and Super-Resolution》中提出的算法,以及后续相关研究的基础上开发出来的。

通俗来讲,就是借助于神经网络,预先将名画中的风格训练成出模型,在将其应用在不同的照片上,生成新的风格化图像。

图像风格迁移技术及OpenCV应用

来自《A Neural Algorithm of Artistic Style》

而因为神经网络在计算机视觉方面的应用越来越广,著名的视觉开发库 OpenCV 在 3.3 版本中正式引入 DNN(深度神经网络),支持 Caffe、TensorFlow、Torch/PyTorch 等主流框架的模型,可用以实现图像的识别、检测、分类、分割、着色等功能。

OpenCV 的 Sample 代码中有图像风格迁移的 Python 示例,是基于 ECCV 2016 论文中的网络模型实现。所以,即使作为人工智能的菜鸟,也可以拿别人训练好的模型来玩一玩,体会下神经网络的奇妙。

OpenCV 官方代码地址:

github.com/opencv/open…

目录下通过执行命令运行代码:

python fast_neural_style.py --model starry_night.t7

model 参数是提供预先训练好的模型文件路径,OpenCV 没有提供下载,但给出的参考项目 github.com/jcjohnson/f… 中可以找到

其他可设置参数有:

  • input 可以指定原始图片/视频,如果不提供就默认使用摄像头实时采集。

  • widthheight,调整处理图像的大小,设置小一点可以提高计算速度。在我自己的电脑上,300×200 的转换视频可以达到 15 帧/秒。

  • median_filter 中值滤波的窗口大小,用来对结果图像进行平滑处理,这个对结果影响不大。

原始图像:

图像风格迁移技术及OpenCV应用

执行后的效果(取自 jcjohnson/fast-neural-style):

ECCV16 models:

图像风格迁移技术及OpenCV应用

instance_norm models:

图像风格迁移技术及OpenCV应用

核心代码其实很短,就是 加载模型 -> 读取图片 -> 进行计算 -> 输出图片,我在官方示例基础上进一步简化了一下:

import cv2
# 加载模型
net = cv2.dnn.readNetFromTorch('the_scream.t7')
net.setPreferableBackend(cv2.dnn.DNN_BACKEND_OPENCV)
# 读取图片
image = cv2.imread('test.jpg')
(h, w) = image.shape[:2]
blob = cv2.dnn.blobFromImage(image, 1.0, (w, h), (103.939, 116.779, 123.680), swapRB=False, crop=False)
# 进行计算
net.setInput(blob)
out = net.forward()
out = out.reshape(3, out.shape[2], out.shape[3])
out[0] += 103.939
out[1] += 116.779
out[2] += 123.68
out /= 255
out = out.transpose(1, 2, 0)
# 输出图片
cv2.imshow('Styled image', out)
cv2.waitKey(0)

执行结果:

图像风格迁移技术及OpenCV应用

另外还改了个多效果实时对比的版本(计算量大了,很卡顿),也一并上传在代码中。

图像风格迁移技术及OpenCV应用

文中案例源码:gitee.com/crossin/sni…

本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
AI教程

LabVIEW快速实现人脸检测和识别

2023-11-27 9:01:14

AI教程

GPT-4:OpenAI 引爆科技领域的多模态模型进化

2023-11-27 9:06:14

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索