卷积

yolo解读

a 夏天 提交于 2020-03-04 19:29:19
转载 https://blog.csdn.net/leviopku/article/details/82660381 版权申明:转载和引用图片,都必须经过书面同意。获得留言同意即可 本文使用图片多为本人所画,需要高清图片可以留言联系我,先点赞后取图 这篇博文比较推荐的yolo v3代码是qwe的keras版本,复现比较容易,代码相对来说比较容易理解。同学们可以结合代码和博文共同理解v3的精髓。 github地址: https://github.com/qqwweee/keras-yolo3 前言 前言就是唠唠嗑,想直接看干货可以跳过前言,直接看Yolo v3。 yolo_v3是我最近一段时间主攻的算法,写下博客,以作分享交流。 看过yolov3论文的应该都知道,这篇论文写得很随意,很多亮点都被作者都是草草描述。很多骚年入手yolo算法都是从v3才开始,这是不可能掌握yolo精髓的,因为v3很多东西是保留v2甚至v1的东西,而且v3的论文写得很随心。想深入了解yolo_v3算法,是有必要先了解v1和v2的。以下是我关于v1和v2算法解析所写的文章: v1算法解析:《 yolo系列之yolo v1 》 v2算法解析:《 yolo系列之yolo v2 》 yolo_v3作为yolo系列目前最新的算法,对之前的算法既有保留又有改进。先分析一下yolo_v3上保留的东西: “分而治之”

第三节,CNN案例-mnist手写数字识别

无人久伴 提交于 2020-03-04 15:53:43
卷积:神经网络不再是对每个像素做处理,而是对一小块区域的处理,这种做法加强了图像信息的连续性,使得神经网络看到的是一个图像,而非一个点,同时也加深了神经网络对图像的理解,卷积神经网络有一个批量过滤器,通过重复的收集图像的信息,每次收集的信息都是小块像素区域的信息,将信息整理,先得到边缘信息,再用边缘信息总结从更高层的信息结构,得到部分轮廓信息,最后得到完整的图像信息特征,最后将特征输入全连接层进行分类,得到分类结果。 卷积: 经过卷积以后,变为高度更高,长和宽更小的图像,进行多次卷积,就会获得深层特征。 1)256*256的输入(RGB为图像深度) 2)不断的利用卷积提取特征,压缩长和宽,增大深度,也就是深层信息越多。 3)分类 池化: 提高鲁棒性。 搭建简单的卷积神经网络进行mnist手写数字识别 网络模型: 两个卷积层,两个全连接层 输入[sample*28*28*1](灰度图) [ 28 * 28 *1 ] --> (32个卷积核,每个大小5*5*1,sample方式卷积) --> [ 28 * 28 * 32] --> (池化 2*2 ,步长2)--> [14 *14 *32] [ 14 * 14 *32] --> (64个卷积核,每个大小 5 * 5 * 32,sample方式卷积) --> [14 * 14 *64] --> (池化 2*2 ,步长2)--> [7 *

「笔记」多项式任意长度循环卷积

孤者浪人 提交于 2020-03-04 08:09:08
我们知道 \(FFT\) 是一个循环卷积。 本质上的离散傅里叶变换满足的是这个性质: \[c_k=\sum\limits_{i,j}[i+j=k(mod\ n)]a_ib_j\] 但是由于我们做的长度足够大( \(n\) 足够大)所以这种循环卷积卷不回去。 这导致我们只能做特定长度的 \(FFT,n=2^w\) 如果我们需要做任意长度循环卷积呢? 其实稍微推推式子就可以了。。。 只说 \(DFT\) , \(IDFT\) 也类似。 其实我们要求的是这样一个多项式: \[DFT(A,x)=\sum\limits_{i=0}^{n}x^i\sum\limits_{j=0}^{n}a_iw_n^{ij}\] 也就是所谓的点值表达式。 那么也就是要求: \[c_k=\sum\limits_{i=0}^{n}a_iw_n^{ik}\] 这样就可以用我们的小 \(trick\) 个换成卷积形式了。 \[c_k=\sum\limits_{i=0}^{n}a_iw_n^{\frac{i^2+k^2-(k-i)^2}{2}}\] 这样可以拆了: \[c_k=w_n^{\frac{k^2}{2}}\sum\limits_{i=0}^{n}\left(a_iw_n^{\frac{i^2}{2}}\right)w_n^{-\frac{(k-i)^2}{2}}\] 卷积形式吧! 也就是说

深度学习-卷积神经网络笔记

懵懂的女人 提交于 2020-03-04 05:25:05
卷积神经网络组成 : input--CONV--ReLU--pooling--FC 输入层--卷积层--激活函数--池化层--全连接层 在这里需要指出的是:--卷积层--激活函数--池化层--全连接层,它的组合不唯一,也可以看一下关于卷积神经网络的 概括 : 由于它们的组合可以作出相应的改变,所以使得卷积神经网络有很多不同的表达,尤其是在深度上的提高。 卷积层 卷积层一般是由3x3或5x5,甚至是11x11的卷积核与传入数据进行卷积得到的,下图是3x3Filter与绿色的图像做卷积的过程,粉红色的图是卷积之后的结果。 局部感受野 :上图中的3x3卷积核,先与图像中的左上角的 3x3局部感受野 做点积并将所有的结果进行加和才得到粉色图像中的第一个数字4,接着每移动一列进行一次内积并作加和,直到所有的 局部感受野 处理完毕为止。就得到了第一个卷积特征图。在这里面的移动步长S为1。补充一下:卷积核的行列值一般都是奇数。上图的计算过程中不难发现,输入图的矩阵的四个边只利用到了一次,如果想要充分利用边上的特征就需要扩边。在下图中就是对一个RGB图进行了边的扩充,当然RGB是三维的,所以可以利用三个卷积核对每一维进行卷积,然后将所有的卷积结果进行相加,即图中的绿色输出的第一个图的左上角数字5是由,w0三个卷积核分别对不同维度做卷积后的结果的总和。 权值共享 :在我看来

cs231n-整理

谁说胖子不能爱 提交于 2020-03-04 04:07:21
一.杂论 1.1 训练集,验证集,测试集的区别 训练集:利用标签不断的进行网络参数(权重)的更新,但是每次训练都有一定的训练参数(学习率等) 验证集:用来选择训练集中最好的训练参数(学习率等) 测试集:用来真实的评价模型或者参数的结果 1.2 max函数的梯度: 其中一个为零梯度,另一个为正常梯度计算 1.3 卷积维度的计算: 卷积输出的维度=(输入维度+增补维度-卷积核维度)/步幅+1 1.4 硬件使用 CPU 核数较少,但运算很快,操作数很多,并且可以单独运行,适合做通信处理。 GPU 核数很多,但运算慢,操作有限,不能单独运行,适合进行高度并行的处理(矩阵运算) FPGA:可编程门阵列. ASIC:特定用途集成电路 1.5全连接模块 全连接模块会产生大量的参数,可以用池化替代 1.6 跨卷积与反向跨卷积 跨卷积:调整卷积核的步幅 反向跨卷积:将卷积得到的结果再乘上卷积核,并移动一定的步长(相乘结果) 两者可以使用步长比来命名 1.7 目标函数 将最终的目标作为目标函数可以更加有效的得到对应的结果 1.8 忽略细节 不准确的说,人们往往只知道某项技术可以达到怎样的功能,但是产生这样效果的原因却尚未没解开 1.9 减小模型复杂度 剪枝: (1)降低模型的复杂度 (2)防止过拟合 (3)先训练神经网络,再去除连接,再训练。 权值共享:对一些接近的权值,使用一个近似进行表示,学习

卷积操作的参数量和FLOPs

被刻印的时光 ゝ 提交于 2020-03-04 02:47:42
卷积操作的参数量和FLOPs   这里首先需要辨析一个概念就是FLOPs和FLOPS可以看到简写的差别仅仅是一个字母大小写的区别。   FLOPS(floating-point operations per second),这个缩写长这个样子确实也很奇怪,大致概念就是指每秒浮点数运算次数,最后一个S是秒(second)的缩写,是计组中的概念,用来描述计算机的运算速度。   FLOPs(floating-point operations),一旦s变为小写,就表示复数的概念,就是浮点数运算次数,这就和计算量相关了, 和卷积或者其他算法联系起来基本上就表示计算次数,可用来衡量操作的复杂程度。   卷积的参数基本上都是说的卷积核的参数,拿一层神经网络来看,卷积核的大小是 ( k h , k w ) (k_h,k_w) ( k h ​ , k w ​ ) ,显然一个卷积核的参数量是这个卷积核的矩阵 k h ∗ k w k_h*k_w k h ​ ∗ k w ​ ,通常这里还要加上一个偏置 b b b ,算作一个参数,为了简便计算,这里忽略不计。如果说一层神经网络的输入通道数为 C i n C_{in} C i n ​ 输出通道数为 C o u t C_{out} C o u t ​ ,卷积核需要通过矩阵运算,把输入的 C i n C_{in} C i n ​ 的通道数映射为输出为 C o u

动手学深度学习——卷积神经网络2 LeNet

自古美人都是妖i 提交于 2020-03-04 00:02:26
白嫖伯禹平台,还是要感谢一下,打波广告。 主要是学习笔记, 解决问题的可以忽略本博客,以免浪费时间与精力 主要介绍 三个方面 lenet 模型介绍 lenet 网络搭建 运用lenet进行图像识别-fashion-mnist数据集 LeNet 模型 LeNet分为卷积层块和全连接层块两个部分。下面我们分别介绍这两个模块。 模型结构如下 包括:输入层,两层卷积层,两层全连接隐藏层,和一个全连接输出层 卷积层块里的基本单位是卷积层后接平均池化层:卷积层用来识别图像里的空间模式,如线条和物体局部,之后的平均池化层则用来降低卷积层对位置的敏感性。 卷积层块由两个这样的基本单位重复堆叠构成。在卷积层块中,每个卷积层都使用 5×5 的窗口,并在输出上使用sigmoid激活函数。第一个卷积层输出通道数为6,第二个卷积层输出通道数则增加到16。 全连接层块含3个全连接层。它们的输出个数分别是120、84和10,其中10为输出的类别个数。 下面我们通过Sequential类来实现LeNet模型。 #import import sys sys.path.append("/home/kesci/input") import d2lzh1981 as d2l import torch import torch.nn as nn import torch.optim as optim import time

(三)MobileNet_v2论文学习

∥☆過路亽.° 提交于 2020-03-03 18:24:25
发表:2019.3.21 CVPR MobileNet_v1遗留问题:简单的直筒结构性价比低可以复用图像特征提升网络的性价比、depthwise的卷积核比普通Conv的维度低在经过ReLU操作后会带来大量损失 方法:Linear Bottlenecks、Inverted residuals 参考博客1 参考博客2 参考博客3 一、Linear Bottlenecks 作者认为满足感兴趣流形区域(manifold of interest)坐落在高维激活空间的低维子空间的条件下: 感兴趣流形区域在ReLU之后保持了非0,相当于线性转换。 ReLU能够保持输入流性的完整性。 (这一部分没有搞清楚) 此处线性瓶颈就是在原基础上去掉最后一层的ReLU,因为特征经过高维向低维的变换后再经过ReLU会带来很大的损失,ReLU对低维特征的变换带来的损失要比高维大很多。第三张图是本文采取的模块,此处有一个疑问就是原本用可分离卷积是为了减少计算量,但是此时因为可分离卷积的特性需要将通道扩大这样不会又带来更多的计算吗,一增一减带来的效益如何呢。是因为计算量都集中在了1×1的点卷积上所以即使扩大了3×3的通道数带来的计算量也不会特别大吗? 二、Inverted residuals 瓶颈实际上包含所有必要的信息,倒残差在瓶颈之间直接使用shortcut,扩张层仅仅作为一个伴随张量非线性变换的实现细节。 三

06-01 DeepLearning-图像识别

房东的猫 提交于 2020-03-03 11:50:33
文章目录 深度学习-图像识别 人脸定位 手工提取特征的图像分类 识图认物 传统分类系统的特征提取 计算机眼中的图像 什么是图像特征? 卷积运算 利用卷积提取图像特征 基于神经网络的图像分类 传统图像分类系统和深度神经网络 深度神经网络的架构 卷积层 池化层 全连接层 归一化指数层 非线性激活层 Sigmoid函数 双曲正切函数 ReLU函数 深度神经网络的训练 反向传播算法 图像分类应用——人脸识别 人脸识别的流程 人脸识别应用场景 小结 深度学习-图像识别 人脸定位   相信你们外出游玩的时候,都不会带上你的牛逼plus诺基亚手机出门,而是带上你的智能手机给自己美美的拍上一张。当你用手机镜头对准人脸的时候,都会出现一个矩形框,如下图所示(前方高能),那么这个技术是怎么做到的呢?   相机中的人脸定位技术用的是二分类技术。该技术流程如下图所示。   如上图所示,相机首先会将照片分割成一块块的图像块,一张照片往往会有成千上万的图像块被切割出来。   然后每一个图像块都会经过人脸分类器去判别是否是人脸。人脸分类器是预先训练好的分类器,类似于我们之前讲的手写数字识别应用程序中的支持向量机分类器。如果人脸分类器预测该图像块为人脸,相机则会在这个图像块中显示出框的位置。   在人脸定位中,为了解决由于手机离人的距离不同,导致手机上显示的人脸大小不一致的问题。手机在切割图像的时候

深度学习知识系列(二) 各种卷积形式

最后都变了- 提交于 2020-03-03 08:01:43
文章目录 一、卷积的本质 二、2D卷积 三、3D卷积 四、转置卷积 五、1x1卷积 六、深度可分离卷积 七、**空洞卷积** 八、图卷积 一、卷积的本质     首先,我们先从数学和图像处理应用的意义上来看一下卷积到底是什么操作。我们先回到数学教科书中来看卷积,在泛函分析中,卷积也叫旋积或者褶积,是一种通过两个函数x(t)和h(t)生成的数学算子。其计算公式如下: 连 续 形 式 : x ( t ) ∗ h ( t ) = ∫ − ∞ ∞ x ( τ ) h ( t − τ ) d t 离 散 形 式 : x ( t ) ∗ h ( t ) = ∑ t = − ∞ ∞ x ( τ ) h ( t − τ ) 连续形式:\ \ \ \ x(t)*h(t) = \int_{-\infty}^{\infty}x(\tau)h(t-\tau)dt \\ 离散形式:\ \ \ \ x(t)*h(t) = \sum_{t=-\infty}^{\infty}x(\tau)h(t-\tau) 连 续 形 式 : x ( t ) ∗ h ( t ) = ∫ − ∞ ∞ ​ x ( τ ) h ( t − τ ) d t 离 散 形 式 : x ( t ) ∗ h ( t ) = t = − ∞ ∑ ∞ ​ x ( τ ) h ( t − τ )     从卷积公式可以看出