几种基于深度学习的目标检测(SPPNet-Fast-Faster-R-CNN-YOLO)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

SPPNet1.结合空间金字塔方法实现CNNs的多尺度输入一般CNNs后接full-connectlayer或者classifier,它们都需要固定的输入尺寸。因此不得不对输入数据进行crop或warp,这些预处理会造成数据的丢失或几何学上的失真。SPPNet的第一个贡献是将空间金字塔的思想加入到CNNs中,实现了数据的多尺度输入。SpatialPyramidPoolingLayer(SPP)如图,在卷基层和全连接层之间加入SPPlayer。此时网络的输入可以是任意尺寸,在SPPlayer中每一个pooling的filter会根据输入调整大小,而SPP的输出尺寸始终是固定的。2.只对原图提取一次卷积特征在R-CNN中,每个proposedregion先rescale成统一大小,然后分别作为CNNs的输入,这样是很低效的。在SPPNet中,只对原图进行一次卷积得到整张图的featuremap,然后找到每个proposedregion在featuremap上的映射patch,将此patch作为每个proposedregion的卷积特征输入到SPPlayer和之后的层。节省了大量的计算时间,比R-CNN有一百倍左右的加速。FastR-CNN整体结构如图,FastR-CNN的网络有两个输出层,一个softmax,一个bboxregressor(相对的R-CNN,SPPNet中分类和回归是两个部分,这里集成在了同一个网络中)。而且加入了一个RoIpoolinglayer(类似于一个尺度的SPPlayer)。注意:FastR-CNN提取建议区域的方法依然是selectsearch。RoIpoolinglayer这是SPPpooling的一个简化版本,可以看做是只有一个尺度filter的‘金字塔’。输入是N个整幅图的featuremap和一组R个RoI(proposedregion)。每个特征映射都是H*W*C,每个RoI是一个元组(n,r,c,h,w),n是特征映射的索引,r,c,h,w分别是RoI的左上角坐标和高与宽。输出是max-pooling过得特征映射H’xW’xC,如上图中红色框线。RoI-centricsampling与Image-centricsamplingRoI-centricsampling:从所有图片的所有RoI中随机均匀取样,这样每个SGD的mini-batch中包含了不同图像中的样本(SPPNet采用)。SPPNet的反向传播没有到SPPpooling之前的层,因为反向传播需要计算每一个RoI感受野的卷基层,通常会覆盖整幅图像,又慢又耗内存。FR-CNN想要解决这个限制。Image-centricsampling:mini-batch采用分层采样,先对图像采样,再对RoI采样。将采样的RoI限定在个别图像内,这样同一图像的RoI共享计算和内存。通过这种策略,实现了端到端的反向传播,可以fine-tuning整个网络。Multi-tasklossFR-CNN的有两个网络输出层,将原来与网络分开的bboxregression的操作整合在了网络中。并设计了一个同时优化两个输出层的loss函数。Lp,𝑘∗,t,𝑡∗=𝐿𝑐𝑙𝑠𝑝,𝑘∗+𝜆𝑘∗≥1𝐿𝑙𝑜𝑐𝑡,𝑡∗其中,第一部分是softmax层的loss函数,𝑝是每个建议区域为目标的概率,𝑘∗是一个表示类别的标签。第二部分是bboxregression层的loss函数,𝑡∗=(𝑡𝑥∗,𝑡𝑦∗,𝑡𝑤∗,𝑡ℎ∗)是bbox的标签offset,t=(𝑡𝑥,𝑡𝑦,𝑡𝑤,𝑡ℎ)是bbox预测的offset。FasterR-CNNFasterR-CNN的主要贡献是设计了提取建议区域的网络RegionProposalNetwork(RPN)。代替了费时4的selectsearch,使检测速度大为提高。下图为FasterR-CNN的结构图,黄色部分为RPN,可以看出除了RPN,其它部分继承了FR-CNN的结构。RPN整体结构RPN的网络结构类似于FR-CNN,连接与最后卷基层输出的featuremap,有一个RoI层,两个输出层,一个输出滑窗为建议区域的概率,另一个输出bbox回归的offset。其训练方式也类似于FR-CNN。注意:RPN与FR-CNN共用卷积层。RPNRPN通过一个滑动窗口(图中红色框)连接在最后一个卷积层输出的featuremap上,然后通过全连接层调整到256-d的向量,作为输出层的输入。同时每个滑动窗对应k个anchorboxes,在论文中使用3个尺寸和3个比例的3*3=9个anchor。每个anchor对应原图上一个感受野,通过这种方法提高scale-invariant。RPN与FR-CNN共享卷基层为了使共用的卷积层在训练RPN和FR-CNN时都会收敛,论文里设计了一个四步训练的策略:(1):对RPN进行end-to-end的训练,这里网络使用ImageNetpre-trainedmodel进行初始化。(2):使用第一步RPN生成的建议区域训练FR-CNN,这里也使用ImageNetpre-trainedmodel进行初始化。(3):使用上一步FR-CNN的参数初始化RPN,固定卷基层,只fine-tuneRPN独有的层。(在此步已共享卷积层)(4):固定卷基层,只fine-tuneFR-CNN独有的层。YouOnlyLookOnce(YOLO)YOLO采用了一种非常激进的检测方法,前边几篇论文都是基于建议区域的检测方法,而YOLO利用一个单一的CNN,完成了在整个图像上boundingbox和类别概率的预测。既实现了end-to-end的优化,同时极大提高了系统的速度。其增强版本在GPU上能实现45fps,简化版本能达到155fps。如上图所示将原图划分7x7的网格,如果某个object的中心落在一个网格中,这个网格就负责预测这个object。利用单一的CNN,每个gridcell同时完成多个bbox的位置及其类别概率的预测。

1 / 12
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功