残差

深度剖析YOLO系列的原理

和自甴很熟 提交于 2019-12-22 17:13:31
深度剖析YOLO系列的原理 小说阅读网 https://www.7wx.org/ 本文系作者原创,转载请注明出处:https://www.cnblogs.com/further-further-further/p/12072225.html 目录 1. YOLO的作用 2. YOLO(v1,v2,v3)的技术演化 1. YOLO的作用 yolo是当前目标检测最顶级的算法之一,v1版本是2016年提出来的,v2是2017年提出来的,v3是2018年提出的。 官网地址:https://pjreddie.com/darknet/yolo/ 说它最牛掰,有两点: 一是因为它采用深层卷积神经网络,吸收了当前很多经典卷积神经网络架构的优秀思想,在位置检测和对象的识别方面, 性能达到最优(准确率非常高的情况下还能达到实时检测)。 二是因为作者还将代码开源了。真心为作者这种大公无私的心胸点赞。 美中不足的是:作者虽然将代码开源,但是在论文介绍架构原理的时候比较模糊,特别是对一些重要改进,基本上是一笔带过。 现在在网络上有很多关于YOLO原理的讲解,个人感觉讲得不是很清楚,总感觉有点知其然而不知其所以然。比如: yolo是在什么背景下出现的? v1是在哪个经典网络架构上发展起来的?解决了什么问题?又存在什么问题? v2针对v1的缺点做了哪些改进?改进后效果怎么样?又存在什么问题?

论文阅读笔记六十五:Enhanced Deep Residual Networks for Single Image Super-Resolution(CVPR2017)

☆樱花仙子☆ 提交于 2019-12-17 07:20:08
论文原址: https://arxiv.org/abs/1707.02921 代码: https://github.com/LimBee/NTIRE2017 摘要 以DNN进行超分辨的研究比较流行,其中,残差学习较大的提高了性能。本文提出了增强的深度超分辨网络(EDST)其性能超过了当前超分辨最好的模型。本文模型性能的大幅度提升主要是移除卷积网络中不重要的模块进行优化得到的。本文模型可以在固定训练步骤的同时,进一步扩大模型的尺寸来提升模型性能。本文同时提出了一个多尺寸超分辨系统(MDSR)及训练方法,该模型可以根据不同的放大稀疏构建高分辨率的图片。 介绍 单图像超分辨方法(SISR)主要是将低分辨率的单张图片 重构为高分辨率的图像 ,一般,低分辨率的图片 ,与原始的高分辨率图像 二者之间具有较强的条件限制。许多研究假定 为 的二三次采样得到的结果。在实际生活中,也可以考虑其他降级因素,比如,模糊,抽取或者噪声等等。 最近,深度网络改进超分辨中信噪比的峰值(PSNR)该值越大越好,参考 https://www.jiqizhixin.com/articles/2017-11-06-8 ,然而,这些模型存在一些结构限制,首先,网络模型重建性能对结构的微小变化较为敏感,即相同的模型,通过不同的初始化及训练方法可以得到不同层次的性能。因此,在训练网络时,需要精心设计结构及较为固定的优化方法。

【深度学习】深入理解Batch Normalization批标准化

ε祈祈猫儿з 提交于 2019-12-17 04:20:38
【深度学习】深入理解Batch Normalization批标准化 https://www.zhihu.com/topic/20084849/hot resnet(残差网络)的F(x)究竟长什么样子? https://www.zhihu.com/question/53224378 如何理解微软的深度残差学习? https://www.zhihu.com/question/38499534?sort=created SKIP CONNECTIONS ELIMINATE SINGULARITIES https://arxiv.org/pdf/1701.09175.pdf 详解残差网络 https://zhuanlan.zhihu.com/p/42706477 残差网络原理 https://blog.csdn.net/qq_30478885/article/details/78828734 https://www.coursera.org/lecture/convolutional-neural-networks/why-resnets-work-XAKNO https://arxiv.org/pdf/1512.03385.pdf https://www.quora.com/How-does-deep-residual-learning-work https://arxiv.org

GCANet——用于图像去雾及去雨的门控上下文聚合网络

南楼画角 提交于 2019-12-15 22:29:58
这段时间一直有各种杂事,现在暂时告一段落,重心要转到毕设上来了,所以写了这么个专栏,关于对论文的一些理解,算是做个阅读笔记吧。由于之前的论文看的七零八落,没有系统的整理过,为了养成良好的习惯,从今天开始不定期更新本专栏,对自己读过的论文力求用最简单的语言表述出来,由于毕设的需求,本系列论文大部分是图像去雾及其相关领域的,小白一枚,还请各位大佬多多指教。 第一篇文章,让我们看一下发表于WACV 2019上的 Gated Context Aggregation Network for Image Dehazing and Deraining,原论文见: https://arxiv.org/abs/1811.08747 ,关于该会议如果大家感兴趣也可以看一下: http://wacv19.wacv.net/ 。 从论文题目可以看出,文章的适用领域是 图像去雾和去雨 ,搭建的网络为“ 门控上下文聚合网络 ”,该网络是基于端到端的,即直接建立模糊图像和清晰图像之间的联系,而不去套用那些先验知识,如经典的 暗通道先验 (DCP)、 颜色衰减先验 (CAP)等; 先看下网络的整体结构图吧,声明一下,以下大部分图片均来自原论文: 如上图所示,该网络由四部分组成,从左到右依次为 编码器 (最左边连续的三个卷积模块)、 平滑扩张残差模块 (中间带有虚线箭头的卷积模块)、 门控融合子网 (图中已标出

超分辨率技术如何发展?这 6 篇 ECCV 18 论文带你一次尽览

浪子不回头ぞ 提交于 2019-12-12 15:14:51
<div class="markdown-body topic-content-big-font" id="emojify"> <blockquote> 作者:Tetianka Martyniuk 来源:量子位@微信公众号 还有什么能比国际顶会更能反映图像技术的最前沿进展?在这篇文章中,亲历了ECCV 2018的机器学习研究员Tetianka Martyniuk挑选了6篇ECCV 2018接收论文,概述了超分辨率(Super-Resolution, SR)技术的未来发展趋势。 一:学习图像超分辨率,先学习图像退化 论文: To learn image super-resolution, use a GAN to learn how to do image degradation first 为什么超分辨率经常被认为是个相当简单的问题?我曾经说过,因为它能够轻松得到训练数据(只需要降低获取图像的清晰度即可),所以和图像修复任务相比,超分辨率可能显得有些无聊。 但人工生成的低分辨率图像,和真实自然存在的图像一样吗?答案是否定的。和通过双三次插值生成的图像不同,真实世界的低分辨率图像明显属于不同类别。 因此,有人认为用这些人工生成的图像训练GAN并不能生成真实的图像。 为了处理这个问题,这篇论文的作者建议了两步走的方法:首先,用未配对的图像训练一个降低分辨率的GAN

频谱残差算法(SR)

大兔子大兔子 提交于 2019-12-05 15:12:28
频谱残差算法,主要是通过对原图像进行傅里叶变换后获取图像的幅度谱和相位谱。而图像的幅度谱代表的是图像各像素点的亮度信息,幅度谱的中心是低频部分,越亮的地方代表的幅度越大。幅度谱中“十”字形亮线表示原图像中水平和垂直方向的分量较其他方向要多,因为在人们周围的自然场景中水平和垂直的线条出现的可能性较大。幅度谱如下图所示: 接下来对幅度谱进行log变换则,则主要是对幅度谱的图像进行低灰度值的扩展以及对高灰度值的压缩。将其动态范围变换到一个合适区间,这样就能够显示更多的细节。 其次在对log 处理后的幅度谱进行均值滤波平滑处理即可得到背景图像估计,然后有log幅度谱减去平滑后的log幅度谱,即可得到目标的显著性图。 来源: https://www.cnblogs.com/detection/p/11930193.html

(2017-CVPR)Deep Laplacian Pyramid Networks for Fast and Accurate Super-Resolution

谁说胖子不能爱 提交于 2019-12-05 11:38:43
  本文认为已有的SR方法存在着三个主要的问题:   ①采用预定义的上采样操作(例如双三次插值)会产生不必要的计算代价,并且结果可能会有重建伪影。而使用反卷积层这样的操作来替换预定义的上采样操作,网络结构又比较简单,性能较差,不能很好地学习复杂的映射;   ②使用l2型损失函数时,不可避免地会产生模糊的预测,恢复出的高分辨图片往往会过于平滑;   ③大部分的方法都只有一次上采样的步骤,这就会使得对于更高倍数因子的训练变得困难。   为了解决上述问题,本文提出了LapSRN,网络以LR图片作为输入,以低分辨到高分辨的方式来预测子带残差。在网络的每一层,一系列的卷积层被用来提取特征映射。此后,一个反卷积层用来将特征映射上采样,然后传递到最后一层。最后用一个卷积层来预测子带残差(sub-band residual,指各层上采样的结果与ground-truth的差别)。网络结构如图所示:   在训练时,采用的是l1型的损失函数Charbonnier,并且在每一级网络进行一次计算,最终将每一级的损失函数和进行优化。      与之前讲过的VDSR类似的,LapSRN也采用了很深的网络结构,且也采用了残差学习的方式,但是从结构上来看,很明显LapSRN采用的多级结构在每一级都进行反卷积和残差学习,而VDSR是经过插值上采样后进行残差学习。而与同样采用了反卷积层进行上采样的FSRCNN相比

pytorch实现ResNet

此生再无相见时 提交于 2019-12-05 07:25:59
参考博客: http://www.cnblogs.com/wuliytTaotao/archive/2018/09/15/9560205.html https://blog.csdn.net/wu_x_j_/article/details/84823002 https://blog.csdn.net/wsp_1138886114/article/details/82080881 残差网络(residual network): DNN为什么不是越深越好: 论文认为,可以训练一个 shallower 网络,然后在这个训练好的 shallower 网络上堆几层 identity mapping(恒等映射) 的层,即输出等于输入的层,构建出一个 deeper 网络。这两个网络(shallower 和 deeper)得到的结果应该是一模一样的,因为堆上去的层都是 identity mapping。这样可以得出一个结论:理论上,在训练集上,Deeper 不应该比 shallower 差,即越深的网络不会比浅层的网络效果差。 在不断加深神经网络的深度时,会出现退化(Degradation)问题,即准确率会先上升然后达到饱和,再持续增加深度会导致准确率下降。这并不是过拟合问题,因为不光在测试集上误差增大,训练集本身误差也会增大。原因是随着网络越来越深,训练变得原来越难,网络的优化变得越来越难

常见用的深度学习框架-----Resnet 残差网络

依然范特西╮ 提交于 2019-12-05 07:21:57
目录 Resnet 残差网络 为什么提出该网络? 什么是残差? 网络结构 resnet-18 pytorch 代码: 参考: Resnet 残差网络 深度残差网络(Deep residual network, ResNet)论文地址: https://arxiv.org/abs/1512.03385 为什么提出该网络? ResNet在2015年被提出,在ImageNet比赛classification任务上获得第一名。随着网络的加深,出现了 训练集 准确率下降的现象,我们可以确定 这不是由于Overfit过拟合造成的 (过拟合的情况训练集应该准确率很高);所以作者针对这个问题提出了一种全新的网络,叫深度残差网络。 对于“随着网络加深,准确率下降”的问题,Resnet提供了两种选择方式,也就是identity mapping和residual mapping,如果网络已经到达最优,继续加深网络,residual mapping将被push为0,只剩下identity mapping,这样理论上网络一直处于最优状态了,网络的性能也就不会随着深度增加而降低了。 什么是残差? 对于一个堆积层结构(几层堆积而成)当输入为 时其学习到的特征记为 ,现在我们希望其可以学习到 残差 ,这样其实原始的学习特征是 。之所以这样是因为残差学习相比原始特征直接学习更容易。当残差为0时

pytorch实现Resnet

喜你入骨 提交于 2019-12-05 07:21:45
pytorch实现Resnet 标签: pytorch resnet 网络结果及其基本单元 对于Resnet来说基本,只要把其基本结构抽离出来即可,其他的其实和以前我们的普通卷积神经网络很像。而Resnet中最基本的结构就是一个残差块如下: 可以看出一个残差块分为左右两部分,左边其实就是普通卷积操作,而右边什么都没有(不过在实际中会有一个卷积),然后输出就是两个的和。 所以一个对于一个输入x [batch,c,h,w] 来说经过左边可能变为了[batch,c1,h1,w1],同样右边也使用其他的卷积变为[batch,c1,h1,w1],然后加起来即可。 之所以要做一个短连接的作用是避免网络层数过深导致的梯度爆炸或者消失,对于一个残差块,我们能保证最坏的结果就是左边的卷积不起作用了,这样无论网络再深,其实只相当于还是x,所以就能保证不造成梯度问题。具体细节可以参考论文。 pytorch实现 定义残差块 class ResidualBlock ( nn . Module ) : """实现一个残差块""" def __init__ ( self , inchannel , outchannel , stride = 1 , shortcut = None ) : super ( ) . __init__ ( ) self . left = nn . Sequential ( nn .