dropout算法(计算机视觉——典型的目标检测算法(OverFeat算法)(二))

:暂无数据 2026-09-15 15:10:06 :3

dropout算法(计算机视觉——典型的目标检测算法(OverFeat算法)(二))

大家好,今天小编来为大家解答以下的问题,关于dropout算法,计算机视觉——典型的目标检测算法(OverFeat算法)(二)这个很多人还不知道,现在让我们一起来看看吧!

本文目录

计算机视觉——典型的目标检测算法(OverFeat算法)(二)

【嵌牛导读】目标检测在现实中的应用很广泛,我们需要检测数字图像中的物体位置以及类别,它需要我们构建一个模型,模型的输入一张图片,模型的输出需要圈出图片中所有物体的位置以及物体所属的类别。在深度学习浪潮到来之前,目标检测精度的进步十分缓慢,靠传统依靠手工特征的方法来提高精度已是相当困难的事。而ImageNet分类大赛出现的卷积神经网络(CNN)——AlexNet所展现的强大性能,吸引着学者们将CNN迁移到了其他的任务,这也包括着目标检测任务,近年来,出现了很多目标检测算法。

【嵌牛鼻子】计算机视觉

【嵌牛提问】如何理解目标检测算法——OverFeat

【嵌牛正文】

一、深度学习的典型目标检测算法

深度学习目标检测算法主要分为 双阶段检测算法 和 单阶段检测算法 ,如图1所示。
双阶段目标检测算法先对图像提取候选框,然后基于候选区域做二次修正得到检测结果,检测精度较高,但检测速度较慢;单阶段目标验测算法直接对图像进行计算生成检测结果,检测速度快,但检测精度低。

1、双阶段目标检测算法

双阶段目标检测方法主要通过选择性搜索(Selective Search)或者Edge Boxes等算法对输入图像选取可能包含检测目标的候选区域(Region Proposal),再对候选区域进行分类和位置回归以得到检测结果。

1.1 OverFeat 算法

《OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks》

Sermanet 等改进AlexNet 提出 OverFeat 算法。该算法结合AlexNet通过多尺度滑动窗口实现特征提取功能,并且共享特征提取层,应用于图像分类、定位和目标检测等任务。

关键技术:

1、FCN( 全卷积神经网络 )

对于一个各层参数结构都设计好的网络模型,要求输入图片的尺寸是固定的(例如,Alexnet要求输入图片的尺寸为227px*227px)。如果输入一张500*500的图片,希望模型仍然可以一直前向传导,即一个已经设计完毕的网络,可以输入任意大小的图片,这就是FCN。

FCN的思想在于:

1、从卷积层到全连接层,看成是对一整张图片的卷积层运算。

2、从全连接层到全连接层,看成是采用1*1大小的卷积核,进行卷积层运算。
如上图所示,绿色部分代表卷积核大小。假设一个CNN模型,其输入图片大小是14*14,通过第一层卷积后得到10*10大小的图片,然后接着通过池化得到了5*5大小的图片。像但是对于像素值为5*5的图片到像素值为1*1的图片的过程中:

(1)传统的CNN:如果从以前的角度进行理解的话,那么这个过程就是全连接层,我们会把这个5*5大小的图片,展平成为一维向量进行计算。

(2)FCN:FCN并不是把5*5的图片展平成一维向量再进行计算,而是直接采用5*5的卷积核,对一整张图片进行卷积运算。

二者本质上是相同的,只是角度不同,FCN把这个过程当成了对一整张特征图进行卷积,同样,后面的全连接层也是把它当做是以1*1大小的卷积核进行卷积运算。

当输入一张任意大小的图片,就需要利用以上所述的网络,例如输入一张像素为16*16的图片:
根据上图,该网络最后的输出是一张2*2的图片。可见采用FCN网络可以输入任意大小的图片。同时需要注意的是网络最后输出的图片大小不在是一个1*1大小的图片,而是一个与输入图片大小息息相关的一张图片。

Overfeat就是把采用FCN的思想把全连接层看成了卷积层,在网络测试阶段可以输入任意大小的图片。

2、offset max-pooling

简单起见,不用二维的图像作为例子,而是采用一维作为示例:

如上图所示,在X轴上有20个神经元,并且选择池化size=3的非重叠池化,那么根据之前所学的方法应该是:对上面的20个神经元,从1位置开始进行分组,每3个连续的神经元为一组,然后计算每组的最大值(最大池化),19、20号神经元将被丢弃,如下图所示:

或者可以在20号神经元后面,添加一个数值为0的神经元编号21,与19、20成为一组,这样可以分成7组:……,

,最后计算每组的最大值。

如果只分6组,除了以1作为初始位置进行连续组合之外,也可以从位置2或者3开始进行组合。也就是说其实有3种池化组合方法:

A、△=0分组:;

B、△=1分组:;

C、△=2分组:;

对应图片如下:

以往的CNN中,一般只用△=0的情况,得到池化结果后,就送入了下一层。但是该文献的方法是,把上面的△=0、△=1、△=2的三种组合方式的池化结果,分别送入网络的下一层。这样的话,网络在最后输出的时候,就会出现3种预测结果了。

前面所述是一维的情况,如果是2维图片的话,那么(△x,△y)就会有9种取值情况(3*3);如果我们在做图片分类的时候,在网络的某一个池化层加入了这种offset 池化方法,然后把这9种池化结果,分别送入后面的网络层,最后的图片分类输出结果就可以得到9个预测结果(每个类别都可以得到9种概率值,然后我们对每个类别的9种概率,取其最大值,做为此类别的预测概率值)。

算法原理:

文献中的算法,就是把这两种思想结合起来,形成了文献最后测试阶段的算法。

1、论文的网络架构与训练阶段

(1)网络架构

对于网络的结构,文献给出了两个版本——快速版、精确版,一个精度比较高但速度慢;另外一个精度虽然低但是速度快。下面是高精度版本的网络结构表相关参数:

表格参数说明:

网络输入:图片大小为221px*221px;

网络结构方面基本上和AlexNet相同,使用了ReLU激活,最大池化。不同之处在于:(a)作者没有使用局部响应归一化层;(b)然后也没有采用重叠池化的方法;(c)在第一层卷积层,stride作者是选择了2,这个与AlexNet不同(AlexNet选择的跨步是4,在网络中,如果stride选择比较大得话,虽然可以减少网络层数,提高速度,但是却会降低精度)。

需要注意的是把f7这一层,看成是卷积核大小为5*5的卷积层,总之就是需要把网络看成前面所述的FCN模型,去除了全连接层的概念,因为在测试阶段可不是仅仅输入221*221这样大小的图片,在测试阶段要输入各种大小的图片,具体请看后面测试阶段的讲解。

(2)网络训练

训练输入:对于每张原图片为256*256,然后进行随机裁剪为221*221的大小作为CNN输入,进行训练。

优化求解参数设置:训练的min-batchs选择128,权重初始化选择高斯分布的随机初始化:

然后采用随机梯度下降法,进行优化更新,动量项参数大小选择0.6,L2权重衰减系数大小选择10-5次方。学习率初始化值为0.05,根据迭代次数的增加,每隔几十次的迭代后,就把学习率的大小减小一半。

然后就是DropOut,这个只有在最后的两个全连接层,才采用dropout,dropout比率选择0.5。

2、网络测试阶段

在Alexnet的文献中,预测方法是输入一张图片256*256,然后进行multi-view裁剪,也就是从图片的四个角进行裁剪,还有就是一图片的中心进行裁剪,这样可以裁剪到5张224*224的图片。然后把原图片水平翻转一下,再用同样的方式进行裁剪,又可以裁剪到5张图片。把这10张图片作为输入,分别进行预测分类,在后在softmax的最后一层,求取个各类的总概率,求取平均值。

然而Alexnet这种预测方法存在两个问题:

一方面这样的裁剪方式,把图片的很多区域都给忽略了,这样的裁剪方式,刚好把图片物体的一部分给裁剪掉了;

另一方面,裁剪窗口重叠存在很多冗余的计算,像上面要分别把10张图片送入网络,可见测试阶段的计算量还是较大的。

Overfeat算法:

训练完上面所说的网络之后,在测试阶段不再是用一张221*221大小的图片了作为网络的输入,而是用了6张大小都不相同的图片,也就是所谓的多尺度输入预测,如下表格所示:

当网络前向传导到layer 5的时候,就利用了前面所述的FCN、offset pooling这两种思想的相结合。现以输入一张图片为例(6张图片的计算方法都相同),讲解layer 5后面的整体过程,具体流程示意图如下:

步骤一:

对于某个尺度的图片,经过前五层的卷积后得到特征图。上图中特征图的分辨率是20x23,256个通道。

步骤二:

对于该特征图,重复多次使用非重叠的池化,每次池化的偏置不同,有行偏置和列偏置。上图中偏置池化3次,偏置分别为为(0,1,2)。这就是offset pooling,也被称为fine stride。offset pooling得到的特征图的维度为6x7x3x3xD,其中6x7是特征图的分辨率,3x3是偏置池化的次数,D是通道数。上图中是以1维显示的。

步骤三:

池化后得到的特征图将被送入分类器。

步骤四:

分类器的输入是的5x5xD,输出是C(类别数)维向量。但是offset pooling后得到的特征图并不是5x5xD,比如上图中的特征图大小为6x7xD,因此分类器以滑动窗口的方式应用在特征图上,每个滑动窗口经过分类器输出一个C维向量。比如上图中输入的6x7xD的特征图最终得到2x3xC的输出,其中2x3是滑动窗口的个数。

步骤五:

而2x3xC只是一组偏置池化的输出,总的输出为2x3x3x3xC,将输出的张量reshape,得到6x9xC输出张量。最终输出分类张量为3d张量,即两个分辨率维度 x C维。

然后需要在后面把它们拉成一维向量,这样在一个尺度上,可以得到一个C*N个预测值矩阵,每一列就表示图片属于某一类别的概率值,并且求取每一列的最大值,作为本尺度的每个类别的概率值。

最后一共用了6种不同尺度(文献使用了12张,另外6张是水平翻转的图片)进行做预测,然后把这六种尺度结果再做一个平均,作为最最后的结果。

从上面过程可以看到整个网络分成两部分:layer 1~5这五层称之为特征提取层;layer 6~output称之为分类层。

六、定位任务

用于定位任务的时候,就把分类层(上面的layer 6~output)给重新设计一下,把分类改成回归问题,然后在各种不同尺度上训练预测物体的bounding box。

神经网络dropout什么意思啊

dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。注意是暂时,对于随机梯度下降来说,由于是随机丢弃,故而每一个mini-batch都在训练不同的网络。

算法概述

我们知道如果要训练一个大型的网络,而训练数据很少的话,那么很容易引起过拟合,一般情况我们会想到用正则化、或者减小网络规模。

然而Hinton在2012年文献:《Improving neural networks by preventing co-adaptation of feature detectors》提出了,在每次训练的时候,随机让一半的特征检测器停过工作,这样可以提高网络的泛化能力,Hinton又把它称之为dropout。

关于dropout算法和计算机视觉——典型的目标检测算法(OverFeat算法)(二)的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

dropout算法(计算机视觉——典型的目标检测算法(OverFeat算法)(二))

本文编辑:admin

更多文章:


understate(under前缀是什么意思)

understate(under前缀是什么意思)

大家好,今天小编来为大家解答以下的问题,关于understate,under前缀是什么意思这个很多人还不知道,现在让我们一起来看看吧!

2026年11月7日 11:00

java调用dubbo接口(java dubbo配置文件中的“$”是哪个目录)

java调用dubbo接口(java dubbo配置文件中的“$”是哪个目录)

其实java调用dubbo接口的问题并不复杂,但是又很多的朋友都不太了解java dubbo配置文件中的“$”是哪个目录,因此呢,今天小编就来为大家分享java调用dubbo接口的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分

2026年11月7日 10:30

递归算法解决兔子问题(java用递归编程(兔子问题))

递归算法解决兔子问题(java用递归编程(兔子问题))

这篇文章给大家聊聊关于递归算法解决兔子问题,以及java用递归编程(兔子问题)对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年11月7日 09:20

安装配置eclipse(安装并配置eclipse出现各种问题怎么办)

安装配置eclipse(安装并配置eclipse出现各种问题怎么办)

大家好,安装配置eclipse相信很多的网友都不是很明白,包括安装并配置eclipse出现各种问题怎么办也是一样,不过没有关系,接下来就来为大家分享关于安装配置eclipse和安装并配置eclipse出现各种问题怎么办的一些知识点,大家可以

2026年11月7日 08:20

base软件(base. apk.1怎么打开)

base软件(base. apk.1怎么打开)

大家好,base软件相信很多的网友都不是很明白,包括base. apk.1怎么打开也是一样,不过没有关系,接下来就来为大家分享关于base软件和base. apk.1怎么打开的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧

2026年11月7日 08:10

类和对象的概念(类和对象有什么区别)

类和对象的概念(类和对象有什么区别)

大家好,今天小编来为大家解答以下的问题,关于类和对象的概念,类和对象有什么区别这个很多人还不知道,现在让我们一起来看看吧!

2026年11月7日 08:00

颜色搭配表及效果图片衣服(女装颜色搭配表及效果图片)

颜色搭配表及效果图片衣服(女装颜色搭配表及效果图片)

本篇文章给大家谈谈颜色搭配表及效果图片衣服,以及女装颜色搭配表及效果图片对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年11月7日 06:50

sqlite格式的视频怎么打开(.sqlite是什么文件,用什么工具打开)

sqlite格式的视频怎么打开(.sqlite是什么文件,用什么工具打开)

大家好,今天小编来为大家解答以下的问题,关于sqlite格式的视频怎么打开,.sqlite是什么文件,用什么工具打开这个很多人还不知道,现在让我们一起来看看吧!

2026年11月7日 05:30

element ui面试题(用element-ui ELDialog和ELTable遇见的坑)

element ui面试题(用element-ui ELDialog和ELTable遇见的坑)

各位老铁们好,相信很多人对element ui面试题都不是特别的了解,因此呢,今天就来为大家分享下关于element ui面试题以及用element-ui ELDialog和ELTable遇见的坑的问题知识,还望可以帮助大家,解决大家的一些

2026年11月7日 04:40

blob视频下载器(blob链接的图片如何调用下载)

blob视频下载器(blob链接的图片如何调用下载)

各位老铁们,大家好,今天由我来为大家分享blob视频下载器,以及blob链接的图片如何调用下载的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年11月7日 03:30

最近更新

understate(under前缀是什么意思)
2026-11-07 11:00:07 浏览:0
热门文章

新站如何通过网站维护提升SEO排名
2026-10-13 20:56:21 浏览:6
标签列表