位置: IT常识 - 正文

超分算法之SRCNN(超分模型)

编辑:rootadmin
超分算法之SRCNN

推荐整理分享超分算法之SRCNN(超分模型),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:超分系统,超分系统,超分技术,超分算法原理,超分模型,超分技术,srcnn超分辨算法训练,srcnn超分辨算法训练,内容如对您有帮助,希望把文章链接给更多的朋友!

这篇文章是2014年的一篇论文,其主要意义在于作者推出的SRCNN是深度学习在超分上开篇之作!SRCNN证明了深度学习在超分领域的应用可以超越传统的插值等办法取得较高的表现力。

参考目录: ①深度学习图像超分辨率开山之作SRCNN(一)原理分析 ②深度学习端到端超分辨率方法发展历程

SRCNN1 SRCNN简介2 SRCNN模型结构3 Loss function:4 实验4.1 setup4.2 实验结果4.2.1 performance4.2.2 runtime5 进一步研究5.1 滤波器学习情况5.2 ImageNet学习5.3 滤波器数量5.4 滤波器大小6 效果展示7 总结1 SRCNN简介

作者推出了一种基于SISR的超分方法。这种方法基于深度学习,旨在实现一种端对端的网络模型——SRCNN,其用于将低分辨率的图像转换为高分辨图像。作者指出,SRCNN在当时的数据集下达到了SOAT的水平。

SRCNN具有结构简单且低失真度的特点:如上图所示,只需要一定的训练回合,SRCNN就可以超过传统的超分方法。

在一定数量的卷积层结构下,SRCNN可以达到fast-training。

实验表明,在一定范围内,越大的数据集和较大的网络模型可以提升SRCNN对图像的重建效果。

2 SRCNN模型结构

首先说明以下符号的含义:

YYY:输入图像经过预处理(双三次插值)得到的图像,我们仍将YYY当作是低分辨率图像,但它的size要比输入图像要大。F(Y)F(Y)F(Y):网络最后输出的图像,我们的目标就是通过优化F(Y)F(Y)F(Y)和Ground-Truth之间的loss来学会这个函数F(⋅)F(\cdot)F(⋅)。XXX:高分辨率图像,即Ground-Truth,它和YYY的size是相同的。

如上图所示是SRCNN的网络模型,其分为三部分,分别是: ①:Patch extraction and representation(其实就是图像特征提取层)。通过CNN将图像YYY的特征提取出来存到向量中,这个向量里包含了多张feature map,即一张图所含的一些特征。 ②:非线性映射层。将上一层的feature map进一步做非线性映射处理,使得网络深度加大,更有利于学到东西。 ③:网络重建层。重建用于将feature map进行还原成高分辨率图像F(Y)F(Y)F(Y),其与XXX做loss并通过反传来学习整个模型的参数。

超分算法之SRCNN(超分模型)

下面分别详细展开论述上面三个层。

特征提取层: 特征提取层用了一层的CNN以及ReLU去将图像YYY变成一堆堆向量,即feature map: F1(Y)=max(,W1⋅Y+B1).F_1(Y) = max(0, W_1\cdot Y+B_1).F1​(Y)=max(0,W1​⋅Y+B1​).其中W1、B1W_1、B_1W1​、B1​是滤波器(卷积核)的参数,这是一个f1×f1f_1\times f_1f1​×f1​大小的窗口,通道数为YYY的通道ccc,一共有n1n_1n1​个滤波器。 Note:

经过这一层,图像YYY的大小以及通道数都会发生改变。max(,x)max(0,x)max(0,x)表示ReLU层。

非线性映射层: 这一层就是将上一层的feature map再用卷积核过滤一次以及ReLU层进行激活,也可以理解为为了加深网络从而更好的学习函数F(⋅)F(\cdot)F(⋅): F2(Y)=max(,W2⋅F1(X)+B2).F_2(Y) = max(0, W_2\cdot F_1(X)+B_2).F2​(Y)=max(0,W2​⋅F1​(X)+B2​).大致结构和特征提取层一样,不一样的是这一层只是为了增加网络模型的非线性程度,所以只需采用1×11\times 11×1的卷积核就可以了,其通道数为n1n_1n1​,一共有n2n_2n2​个滤波器。当然可以继续增加非线性层,但是本文旨在推出一种通用性SR框架,所以会选择最简的网络模型。

图像重建层: 借鉴于传统超分的纯插值办法——对图像局部进行平均化的思想,其本质就是乘加结合的方式,因此作者决定采用卷积的方式(也是乘加结合的方式)去做重建: F(Y)=W3⋅F2(Y)+B3.F(Y) = W_3\cdot F_2(Y) + B_3.F(Y)=W3​⋅F2​(Y)+B3​.这一层是不需要ReLU层的,且卷积核的大小为n2×c×f3×f3n_2\times c \times f_3 \times f_3n2​×c×f3​×f3​. Note:

也可以从另一个角度来考虑,经过前面的卷积之后,图像的size变小了,因此需要上采样过程来恢复图像,势必需要一个反卷积来做这件事,而反卷积本质也是卷积的一种。3 Loss function:

设batchsize为nnn,SRCNN网络参数集为Θ={W1,W2,W3,B1,B2,B3}\Theta = \{W_1, W_2, W_3, B_1, B_2, B_3\}Θ={W1​,W2​,W3​,B1​,B2​,B3​},则Loss function可定义为: L(Θ)=1n∑i=1n∣∣F(Yi;Θ)−Xi∣∣2.L(\Theta) = \frac{1}{n}\sum^n_{i=1}||F(Y_i;\Theta) - X_i||^2.L(Θ)=n1​i=1∑n​∣∣F(Yi​;Θ)−Xi​∣∣2.Note:

选择MSE作为损失函数的一个重要原因是MSE的格式和我们图像失真评价指标PSNR很像,因此可以理解为SRCNN是直接冲着提升PSNR去的,从而让高分辨率的图像有较小的失真度。MSE就是迫使网络将我们恢复的SR图像向着Ground-Truth(标签XXX)的方向靠近。4 实验4.1 setup

实验的一些比较重要的配置如下:

Training-data涉及91张图片。Set5数据集涉及5张图片用于up-scale-factor={2,3,4}的验证与测试;Set14数据集涉及14张图片用于up-scale-factor=3的验证与测试。实验的一些参数设置:f1=9,f3=5,n1=64,n2=32f_1=9,f_3=5,n_1=64,n_2=32f1​=9,f3​=5,n1​=64,n2​=32.Ground-Truth的大小是32×3232\times 3232×32。卷积核的参数初始化来自于:wi∼N(,0.001)w_i^0\sim\mathcal{N}(0, 0.001)wi0​∼N(0,0.001)。SRCNN一共3层网络,前两层配置的学习率为1−410^{-4}10−4,最后一层的学习率配置为1−510^{-5}10−5,作者指出这种让最后一层较小的学习率有利于网络收敛。4.2 实验结果4.2.1 performance

从上图看出SRCNN的PSNR在大部分图片中都取得了最佳的值!此外,所消耗的时间也是最少的。

4.2.2 runtime

从上图可以看出SRCNN有最少的runtime!

5 进一步研究5.1 滤波器学习情况

上图是特征提取层滤波器的学习可视化图,在91张图片的训练结果,其中up-scale-factor=2。 图像a、f:类似于高斯分布。 图像b、c、d:类似于边缘检测。 图像e:类似于纹理检测。 其余:一些坏死的卷积核参数。

5.2 ImageNet学习

作者这一节旨在探究数据集的大小对performance的影响。

采用ILSVRC 2013的ImageNet数据集和91张图片这两个训练集做对比训练。在Set5数据上做测试,up-scale-factor=3。

实验结果如下: 从图中可知,大的数据集对表现力的提升是有帮助的(虽然我们都知道,但是作者还是做个实验来证明下)。

5.3 滤波器数量

作者研究滤波器数量对PSNR的提升影响,设置了3组实验,结果如下: 实验结果表明卷积核的数量对表现力是有提升的,但是数量的增加也带来了runtime的增加,如果你想获取快速的重建效果,建议还是取小数量的卷积核更好。

5.4 滤波器大小

作者研究滤波器size对PSNR的提升影响,进行了2组实验,分别是: f1=9,f3=5f_1=9,f_3=5f1​=9,f3​=5和f1=11,f3=7f_1=11,f_3=7f1​=11,f3​=7。 从实验结果来看,较大的卷积核可以提取更好的特征信息,但是也带来了runtime的上升,因此实际中我们需要根据实际情况进行trade-off。

6 效果展示

7 总结本文作为SR在深度学习领域的开篇之作,提出了一种通用性框架SRCNN,将输入图像进行Bicubic插值预处理,然后特征提取,非线性映射,最后进行重建;重建后的图像与Ground-Truth做loss来迫使网络学习到如何从LR→HRLR \to HRLR→HR的知识。选用深度学习常用的MSE作为Loss function,因为MSE与PSNR有着相似的表达式。SRCNN在PSNR和runtime上都表现不俗,超越了当时的SOAT,表征了这种框架的实用性。作者做了一系列实验,其中包括可视化乐特征提取到的向量是怎么样的;大的数据集对表现力的提升是有帮助的;卷积核的数量的增加对表现力是有提升的,但是数量的增加也带来了runtime的增加;较大的卷积核可以提取更好的特征信息,但是也带来了runtime的上升。
本文链接地址:https://www.jiuchutong.com/zhishi/288118.html 转载请保留说明!

上一篇:layui-icon各种常用动态图标(layui iconfont)

下一篇:vue中,给一个URL地址,利用FileSaver.js插件下载文件到本地(vue url 参数)

  • 苹果手机如何开启定位(苹果手机如何开小窗口)

    苹果手机如何开启定位(苹果手机如何开小窗口)

  • 河北健康码怎么代领(河北健康码怎么查孩子的核酸检测结果)

    河北健康码怎么代领(河北健康码怎么查孩子的核酸检测结果)

  • 荣耀x10后盖是什么材质(荣耀x10的后盖)

    荣耀x10后盖是什么材质(荣耀x10的后盖)

  • 抖音视频怎么制作(抖音视频怎么制作全屏观看)

    抖音视频怎么制作(抖音视频怎么制作全屏观看)

  • 荣耀20s顶上面那个黑点(荣耀20s顶部)

    荣耀20s顶上面那个黑点(荣耀20s顶部)

  • 小米平衡车前灯不亮是怎么回事(小米平衡车前灯一直闪烁)

    小米平衡车前灯不亮是怎么回事(小米平衡车前灯一直闪烁)

  • 华为手机怎么找最近删除的照片(华为手机怎么找回)

    华为手机怎么找最近删除的照片(华为手机怎么找回)

  • 拍抖音百分百能火的视频(抖音上的百分比怎么拍)

    拍抖音百分百能火的视频(抖音上的百分比怎么拍)

  • 为什么步数显示为零(为什么步数显示为零,但进去看又有步数)

    为什么步数显示为零(为什么步数显示为零,但进去看又有步数)

  • 抖音怎么复制别人的名字(抖音怎么复制别人的作品让自己发一遍)

    抖音怎么复制别人的名字(抖音怎么复制别人的作品让自己发一遍)

  • qq绑定手机和密保手机有什么区别(qq绑定手机和密码怎么弄)

    qq绑定手机和密保手机有什么区别(qq绑定手机和密码怎么弄)

  • nova6和nova6 5g版区别(nova6 和nova6 5g 外观一样吗)

    nova6和nova6 5g版区别(nova6 和nova6 5g 外观一样吗)

  • 360路由器亮几个灯正常(360路由器亮几个绿灯)

    360路由器亮几个灯正常(360路由器亮几个绿灯)

  • 微信发送文件总是失败(微信发送文件总是变成(1))

    微信发送文件总是失败(微信发送文件总是变成(1))

  • 电脑多选图片按什么键(电脑选中多个图片)

    电脑多选图片按什么键(电脑选中多个图片)

  • 苹果手机云盘什么意思(iphone的云盘)

    苹果手机云盘什么意思(iphone的云盘)

  • 手机支付宝怎么抢红包(手机支付宝怎么买彩票双色球)

    手机支付宝怎么抢红包(手机支付宝怎么买彩票双色球)

  • oppor17充电多少时间(oppor17电池充电多少瓦)

    oppor17充电多少时间(oppor17电池充电多少瓦)

  • 苹果11不能插耳机吗(苹果11不能插耳机怎么办)

    苹果11不能插耳机吗(苹果11不能插耳机怎么办)

  • vivox27微信声音怎么换(vivox27微信声音怎么自定义)

    vivox27微信声音怎么换(vivox27微信声音怎么自定义)

  • 探探次数重置是几点(探探能重置吗)

    探探次数重置是几点(探探能重置吗)

  • 华为p30扫描功能在哪里(华为p30扫描仪在哪里)

    华为p30扫描功能在哪里(华为p30扫描仪在哪里)

  • 荣耀20支持红外线吗(荣耀20支持红外遥控功能吗)

    荣耀20支持红外线吗(荣耀20支持红外遥控功能吗)

  • 不能升级win11的TPM是什么? win10启用TMP的技巧(不能升级win11的二手电脑值得购买吗)

    不能升级win11的TPM是什么? win10启用TMP的技巧(不能升级win11的二手电脑值得购买吗)

  • 微信小程序自定义导航栏,实现不同用户角色登陆后显示不同的tabbar(避坑版)(微信小程序自定义函数)

    微信小程序自定义导航栏,实现不同用户角色登陆后显示不同的tabbar(避坑版)(微信小程序自定义函数)

  • 汇算清缴涉及哪些调整
  • 记账凭证核算形式是会计核算中最基本的核算形式
  • 党费会计核算科目说明
  • 进口货物再出口 增值税处理
  • 已经勾选确认的发票可以取消认证吗
  • 城市维护建设税免税
  • 外商独资企业在分配利润时是否扣缴个税
  • 车辆抵押贷款怎么做
  • etc设备有区别吗
  • 应付账款少记违反什么认定
  • 个人发票增值税
  • 个人所得税税费种认定功能在哪里
  • 固定资产加速折旧方法
  • 收到其他与经营活动有关的现金减少
  • 红字发票是否需要盖发票章
  • 长期股票期权的会计分录怎么做?
  • 个体工商户怎样开发票
  • 苹果macos catalina10.15.7
  • 已经计提的税金怎么做账
  • 账户禁用无法登录怎么办
  • 定向增发是什么融资方式
  • 今年利润弥补以后怎么算
  • 增值税专用发票有几联?
  • 小规模公司注销流程及费用
  • php 面向对象
  • 在win7系统中将打开窗口拖到屏幕顶端
  • win11怎么打开设置
  • Eclipse PHPEclipse 配置的具体步骤
  • 俄勒冈州地理之歌
  • 贵的u盘和便宜的有什么区别
  • kafka图形化界面
  • nginx反向代理未知域名
  • 三维重建是啥意思
  • spring获取bean的完全限定类名
  • yii2高级应用之自定义组件实现全局使用图片上传功能的方法
  • 2021所得税季报怎么填
  • 房地产开发费用最高扣除比例
  • 企业和银行对账多久对一次
  • mysql5.7压缩包安装配置教程
  • 申请高新技术企业要具备哪些条件
  • 处置长期股权投资其他综合收益结转
  • 小规模纳税人减按1%征收率征收增值税
  • 获取验证码平台
  • 银行开户费属于现金流量表的哪一类
  • 工会经费和工会会费的区别与联系
  • 异地成立分公司的流程和要求
  • 进项税额是怎么算的
  • 货款客户给的电话怎么查
  • 上一年度主营业务成本多计提了
  • 公司代扣代缴社保什么意思
  • 存货毁损损失应计入的科目是
  • 调整账户有哪几类
  • 企业经营状态为清算是什么意思
  • 待清算商户消费款项是什么
  • 民营企业固定资产管理规定
  • 会计中的记账是什么意思
  • mysql数据库数据迁移
  • MySQL 5.6.36 Windows x64位版本的安装教程详解
  • windows10周年纪念版
  • xp系统删除密码
  • windows xp自带
  • ubuntu系统怎么进入命令行
  • Linux系统中文件的文件名存储在文件所在的目录
  • window8设置在哪里
  • linux如何设置用户自己的工作环境
  • window10突然激活失效
  • linux 网页
  • android点击图片跳转页面
  • angularjs定义全局变量
  • 用python写多线性模型
  • js分段上传
  • 使用jquery
  • jquery单击事件和双击事件
  • javascript用户名验证
  • 理解Python中的变量
  • jQuery的ajax和遍历数组json实例代码
  • 大气污染物环保税计算
  • 怎么绑定办税员
  • 国地税怎么交
  • 国家税务总局176号公告
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设