(完整版)R-CNN系列
- 格式:ppt
- 大小:7.10 MB
- 文档页数:48
FasterR-CNN论⽂详解⽬录&创新点设计Region Proposal Networks【RPN】,利⽤CNN卷积操作后的特征图⽣成region proposals,代替了Selective Search、EdgeBoxes等⽅法,速度上提升明显;训练Region Proposal Networks与检测⽹络【Fast R-CNN】共享卷积层,⼤幅提⾼⽹络的检测速度。
&问题是什么继Fast R-CNN后,在CPU上实现的区域建议算法Selective Search【2s/image】、EdgeBoxes【0.2s/image】等成了物体检测速度提升上的最⼤瓶颈。
&如何解决问题测试过程Faster R-CNN统⼀的⽹络结构如下图所⽰,可以简单看作RPN⽹络+Fast R-CNN⽹络。
注意:上图Fast R-CNN中含特有卷积层,博主认为不是所有卷积层都参与共享。
1. ⾸先向CNN⽹络【ZF或VGG-16】输⼊任意⼤⼩图⽚;2. 经过CNN⽹络前向传播⾄最后共享的卷积层,⼀⽅⾯得到供RPN⽹络输⼊的特征图,另⼀⽅⾯继续前向传播⾄特有卷积层,产⽣更⾼维特征图;3. 供RPN⽹络输⼊的特征图经过RPN⽹络得到区域建议和区域得分,并对区域得分采⽤⾮极⼤值抑制【阈值为0.7】,输出其Top-N【⽂中为300】得分的区域建议给RoI池化层;4. 第2步得到的⾼维特征图和第3步输出的区域建议同时输⼊RoI池化层,提取对应区域建议的特征;5. 第4步得到的区域建议特征通过全连接层后,输出该区域的分类得分以及回归后的bounding-box。
解释分析RPN⽹络结构是什么?实现什么功能?具体如何实现?单个RPN⽹络结构如下图:注意:上图中卷积层/全连接层表⽰卷积层或者全连接层,作者在论⽂中表⽰这两层实际上是全连接层,但是⽹络在所有滑窗位置共享全连接层,可以很⾃然地⽤n×n卷积核【论⽂中设计为3×3】跟随两个并⾏的1×1卷积核实现,⽂中这么解释的,博主并不是很懂,尴尬。
FasterRCNN理解(精简版总结)Faster R-CNN(Faster Region-based Convolutional Neural Networks)是一种用于目标检测的深度学习模型,它能够准确、快速地检测图像中的物体并对其进行分类。
本文将对Faster R-CNN进行精简版总结。
目标分类与边界框回归:在生成的候选区域之后,每个候选区域都需要进行分类和位置回归。
为了解决这个问题,Faster R-CNN引入了一个用于分类和位置回归的全连接层网络,在区域特征图上进行目标分类和边界框回归操作。
此外,从RPN得到的候选区域与这个全连接层网络之间共享卷积特征,以减少计算量。
具体来说,Faster R-CNN采用了RoI (Region of Interest)池化层来从特征图上提取固定大小的特征向量,然后输入到全连接层网络进行分类和回归。
Faster R-CNN的训练过程包括两个阶段:预训练阶段和微调阶段。
在预训练阶段,使用一个大规模数据集(如ImageNet)对整个网络进行训练,以提取通用特征。
在微调阶段,使用目标检测数据集对RPN和全连接层网络进行微调。
为了加快训练速度,Faster R-CNN采用了两阶段的训练策略,即首先训练RPN网络,然后使用RPN生成的候选区域进行目标分类和边界框回归的训练。
Faster R-CNN的优势在于其准确性和速度。
相比于传统的目标检测方法,Faster R-CNN在准确率上有显著的提升,并且其检测速度更快。
这是因为RPN网络可以一次性生成大量候选区域,在这些候选区域上进行分类和回归操作,从而减少了计算量。
总而言之,Faster R-CNN是一种用于目标检测的深度学习模型,通过引入Region Proposal Network生成候选区域,并使用全连接层网络进行目标分类和边界框回归。
它在准确性和速度上都有很好的表现,成为目标检测领域的重要模型之一。
令我“细思极恐”的Faster-R-CNN作者简介CW,⼴东深圳⼈,毕业于中⼭⼤学(SYSU)数据科学与计算机学院,毕业后就业于腾讯计算机系统有限公司技术⼯程与事业群(TEG)从事Devops⼯作,期间在AI LAB实习过,实操过道路交通元素与医疗病例图像分割、视频实时⼈脸检测与表情识别、OCR等项⽬。
⽬前也有在⼀些⾃媒体平台上参与外包项⽬的研发⼯作,项⽬专注于CV领域(传统图像处理与深度学习⽅向均有)。
前⾔CW每次回顾Faster R-CNN的相关知识(包括源码),都会发现之前没有注意到的⼀些细节,从⽽有新的收获,既惊恐⼜惊喜,可谓“细思极恐”!Faster R-CNN可以算是深度学习⽬标检测领域的祖师爷了,⾄今许多算法都是在其基础上进⾏延伸和改进的,它的出现,可谓是开启了⽬标检测的新篇章,其最为突出的贡献之⼀是提出了 'anchor' 这个东东,并且使⽤ CNN 来⽣成region proposal(⽬标候选区域),从⽽真正意义上完全使⽤CNN 来实现⽬标检测任务(以往的架构会使⽤⼀些传统视觉算法如Selective Search来⽣成⽬标候选框,⽽ CNN 仅⽤来提取特征或最后进⾏分类和回归)。
Faster R-CNN 由 R-CNN 和 Fast R-CNN发展⽽来,R-CNN是第⼀次将CNN应⽤于⽬标检测任务的家伙,它使⽤selective search算法获取⽬标候选区域(region proposal),然后将每个候选区域缩放到同样尺⼨,接着将它们都输⼊CNN提取特征后再⽤SVM进⾏分类,最后再对分类结果进⾏回归,整个训练过程⼗分繁琐,需要微调CNN+训练SVM+边框回归,⽆法实现端到端。
Fast R-CNN则受到 SPP-Net 的启发,将全图(⽽⾮各个候选区域)输⼊CNN进⾏特征提取得到feature map,然后⽤RoI Pooling将不同尺⼨的候选区域(依然由selective search算法得到)映射到统⼀尺⼨。
faster-rcnn原理讲解⽂章转⾃:经过R-CNN和Fast RCNN的积淀,Ross B. Girshick在2016年提出了新的Faster RCNN,在结构上,Faster RCNN已经将特征抽取(feature extraction),proposal提取,bounding box regression(rect refine),classification都整合在了⼀个⽹络中,使得综合性能有较⼤提⾼,在检测速度⽅⾯尤为明显。
图1 Faster RCNN基本结构(来⾃原论⽂)依作者看来,如图1,Faster RCNN其实可以分为4个主要内容:1. Conv layers。
作为⼀种CNN⽹络⽬标检测⽅法,Faster RCNN⾸先使⽤⼀组基础的conv+relu+pooling层提取image的feature maps。
该feature maps被共享⽤于后续RPN层和全连接层。
2. Region Proposal Networks。
RPN⽹络⽤于⽣成region proposals。
该层通过softmax判断anchors属于foreground或者background,再利⽤bounding boxregression修正anchors获得精确的proposals。
3. Roi Pooling。
该层收集输⼊的feature maps和proposals,综合这些信息后提取proposal feature maps,送⼊后续全连接层判定⽬标类别。
4. Classification。
利⽤proposal feature maps计算proposal的类别,同时再次bounding box regression获得检测框最终的精确位置。
所以本⽂以上述4个内容作为切⼊点介绍Faster R-CNN⽹络。
图2展⽰了python版本中的VGG16模型中的faster_rcnn_test.pt的⽹络结构,可以清晰的看到该⽹络对于⼀副任意⼤⼩PxQ的图像,⾸先缩放⾄固定⼤⼩MxN,然后将MxN图像送⼊⽹络;⽽Conv layers中包含了13个conv层+13个relu层+4个pooling层;RPN⽹络⾸先经过3x3卷积,再分别⽣成foreground anchors与bounding box regression偏移量,然后计算出proposals;⽽Roi Pooling层则利⽤proposals从feature maps中提取proposal feature送⼊后续全连接和softmax⽹络作classification(即分类proposal到底是什么object)。
FasterRCNN详解摘⾃: 这篇是我看过讲faster-RCNN最清楚的,很多地⽅茅塞顿开,特转。
⼀、 faster-RCNN的背景 Faster R-CNN 发表于 NIPS 2015,其后出现了很多改进版本,后⾯会进⾏介绍. R-CNN - Rich feature hierarchies for accurate object detection and semantic segmentation 是 Faster R-CNN 的启发版本. R-CNN 是采⽤ Selective Search 算法来提取(propose)可能的 RoIs(regions of interest) 区域,然后对每个提取区域采⽤标准 CNN 进⾏分类. 出现于 2015 年早期的 Fast R-CNN 是 R-CNN 的改进,其采⽤兴趣区域池化(Region of Interest Pooling,RoI Pooling) 来共享计算量较⼤的部分,提⾼模型的效率. Faster R-CNN 随后被提出,其是第⼀个完全可微分的模型. Faster R-CNN 是 R-CNN 论⽂的第三个版本.R-CNN、Fast R-CNN 和Faster R-CNN 作者都有 Ross Girshick.⼆、faster-RCNN的⽹络结构 Faster R-CNN 的结构是复杂的,因为其有⼏个移动部件. 这⾥先对整体框架宏观介绍,然后再对每个部分的细节分析.问题描述:针对⼀张图⽚,需要获得的输出有:边界框(bounding boxes) 列表,即⼀幅图像有多少个候选框(region proposal),⽐如有2000个;每个边界框的类别标签,⽐如候选框⾥⾯是猫?狗?等等;每个边界框和类别标签的概率。
2.1 faster-RCNN的基本结构 除此之外,下⾯的⼏幅图也能够较好的描述发图尔-RCNN的⼀般结构:2.2 faster-RCNN的⼤致实现过程 整个⽹络的⼤致过程如下: (1)⾸先,输⼊图⽚表⽰为 Height × Width × Depth 的张量(多维数组)形式,经过预训练 CNN 模型的处理,得到卷积特征图(conv feature map)。
R-CNN(Regions with CNN features)是一种基于卷积神经网络(CNN)的目标检测算法。
它的基本思想是先使用选择性搜索算法或其他方法在输入图像中选取候选区域(region of interest,RoI),然后对每个RoI分别进行CNN 的特征提取和分类。
具体而言,R-CNN 的流程如下:
1.使用选择性搜索算法或其他方法在输入图像中选取候选区域(RoI)。
2.对每个RoI分别进行CNN的特征提取。
3.将提取的特征输入到SVM中进行分类,得到最终的目标检测结果。
R-CNN算法的主要优点是能够提取高质量的特征并实现高精度的目标检测,但缺点是需要对每个RoI分别进行CNN 的特征提取和分类,计算量较大。
R-CNN的变种,如Fast R-CNN和Faster R-CNN解决了R-CNN的计算量问题,在目标检测中得到广泛应用。
Fast R-CNN是在R-CNN的基础上进行的改进,它通过在输入图像上进行一次卷积和最大池化操作,来对所有RoI进行特征提取。
这样可以大大减少计算量,提高检测速度。
Faster R-CNN是在Fast R-CNN的基础上进行的改进,它引入了一个新的网络模块,称为Region Proposal Network(RPN),用于自动生成RoI。
这样可以不需要选择性搜索算法来生成RoI,直接使用RPN网络自动生成RoI。
Faster R-CNN对于R-CNN和Fast R-CNN来说,大大简化了网络结构,提高了检测速度和准确性,因此在目标检测中得到了广泛应用。
人体关键点检测是一种基于目标检测算法并应用在人体关键点信息捕捉上的智能算法,具有能将空间中的人体信息通过摄像头转化为可量化处理的数据信息的功能。
传统目标检测方法对于人体关键点检测问题的研究由于应用场景繁多的干扰因素与不稳定性一直进度缓慢,如特征点匹配算法[1]、基于梯度特征的目标检测算法[2]、K均值聚类算法等[3]。
近年来深度学习的兴起对于人体关键点检测问题的解决提供了新的思路,但是复杂的网络模型往往意味着需要较高硬件水平的支持与较长的计算时间,多数深度学习网络模型需要耗费大量的人力物力与计算成本。
人体关键点的检测算法也从局限于单人关键点检测发展到多人情况下的人体关键点检测。
而多人情况下的人体关键点检测往往伴随着更复杂的网络结构,意味着更高的计算成本与更长的训练时间。
在这个移动终端普及化与倡导智能自动化的今天,一个良好的适用于人体关键点检测问题的网络模型应该具有较强鲁棒性、较低的计算成本、较好的识别精度、能容纳多名使用者等的特点。
区域卷积神经网络(Regions with Convolution Neu-ral Network,R-CNN)[4]系列网络模型是近年目标检测算法中的一直在发展的较为成熟的网络结构,通过构建数个甚至数十上百个卷积层-激活层-池化层的卷积结构来对图像进行特征提取,把目标检测问题拆分为回归与分类两个问题的集合,并使用大样本下有监督的预训⦾模式识别与人工智能⦾人体关键点检测的Mask R-CNN网络模型改进研究宋玲,夏智敏广西大学计算机与电子信息学院,南宁530004摘要:由于在现有的人体关键点检测问题中,深度学习解决方案采用的掩膜区域卷积神经网络Mask R-CNN存在参数量大导致计算成本过高、迭代次数多导致训练时间过长等问题,提出了一种基于重组通道网络ShuffleNet改进Mask R-CNN网络模型。
通过引入ShuffleNet的网络结构,使用分组逐点卷积与通道重排的操作与联合边框回归和掩膜分割的计算结果对Mask R-CNN进行轻量化改进。