前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于感知损失的实时风格迁移与超分辨率重建

基于感知损失的实时风格迁移与超分辨率重建

作者头像
OpenCV学堂
发布2019-07-05 13:43:38
8520
发布2019-07-05 13:43:38
举报
文章被收录于专栏:贾志刚-OpenCV学堂

OpenCV4 系统化学习,加入 OpenCV研习社 即可

方法概述

许多经典的图像问题都可以被看成是图像变换任务,算法接受一个输入图像,然后输出变换之后的图像。最常见的例子就是图像处理中的取噪、超分辨重建、图像彩色化等问题,输入的图像是退化低质量图像(噪声、低分辨率、灰度化)得到的输出是一个彩色、高分辨率、高质量的图像,此外这类变换还包括图像语义分割、深度评估。以前基于卷积神经网络来解决这类问题通常采用的是像素基本的损失,但是这种方法训练得到模型拟合标注数据与输出结果之后的感知不同,作者正是基于这点提出了基于感知的损失来训练纠正这种偏差。

像素基本损失

在像素基本对比两幅图像、如果两幅图像感知相同,但是像素不同,像素损失就会造成很大偏差。

感知损失

基于高阶卷积神经网络特征实现感知比较,不做像素基本的损失。

作者基于感知损失实验了两个图像处理任务,均取得了比较好的效果

图像风格迁移任务 图像超分辨

显示如下:

模型架构

模型主要分为两个部分,图像变换网络与感知损失网络,其中损失网络在训练过程种保持不变,主要是采用预训练的图像分类网络如VGG16。定义感知损失来分别度量风格与内容的感知不同,实现最优化得到训练模型。相关的损失表示如下:

出了上述损失之外,作者还定义了两个低阶的损失,一个是简单的像素损失,另外一个是全变分正则化损失。

实验结果

风格迁移的实验结果

超分辨实验结果

源码下载地址:

代码语言:javascript
复制
https://github.com/jcjohnson/fast-neural-style

预训练模型下载

代码语言:javascript
复制
bash models/download_style_transfer_models.sh

OpenCV DNN使用预训练模型输出结果:

演示代码:

代码语言:javascript
复制
inWidth = 256
inHeight = 256
h, w = frame.shape[:2]
inp = cv.dnn.blobFromImage(frame, 1.0, (inWidth, inHeight),
                          (103.939, 116.779, 123.68), swapRB=False, crop=False)

# 执行风格迁移
net.setInput(inp)
out = net.forward()
print(out.shape)
t, _ = net.getPerfProfile()
freq = cv.getTickFrequency() / 1000
label = "FPS : %.2f" % (1000 / (t / freq))

# 解析输出
out = out.reshape(3, out.shape[2], out.shape[3])
print("ddddddddd", out.shape)
out[0] += 103.939
out[1] += 116.779
out[2] += 123.68
out /= 255.0
out = out.transpose(1, 2, 0)
print("new shape", out.shape)
out = np.clip(out, 0.0, 1.0)

# rescale与中值模糊,消除极值点噪声
cv.normalize(out, out, 0, 255, cv.NORM_MINMAX)
out = cv.medianBlur(out, 5)

# resize and show
result = np.uint8(cv.resize(out, (w, h)))
cv.putText(result, label, (5, 25), cv.FONT_HERSHEY_SIMPLEX, 0.75, (0, 0, 255), 2)
cv.imshow('Fast Style Demo', result)
cv.imwrite("D:/result_%d.png"%index, result)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-06-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OpenCV学堂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档