资源预览内容
第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
第9页 / 共18页
第10页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
目标检测框架Faster RCNN 目标检测框架Faster RCNN 框架中用到的一些技术介绍Faster RCNN整体框架训练时采用的一些策略与参数设置 RCNN系列检测算法介绍 RCNN fast rcnn faster rcnn此系列算法采用策略 1 提取建议区域 R代表regionproposal 2 利用CNN对建议区域进行分类提取建议区域方法的发展 滑动窗口 selectsearch edgebox rpn其它深度学习检测策略 利用CNN强大的表述能力直接对目标位置进行回归 例如YOLO SPPNet 1 结合空间金字塔方法实现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 如上图中红色框线 Faster RCNN整体框架 FasterR CNN FasterR CNN的主要贡献是设计了提取建议区域的网络RegionProposalNetwork RPN 代替了费时的selectsearch 使检测速度大为提高 下图为FasterR CNN的结构图 黄色部分为RPN 可以看出除了RPN 其它部分继承了FR CNN的结构 RPN整体结构 RPN的网络结构类似于FR CNN 连接与最后卷基层输出的featuremap 有一个RoI层 两个输出层 一个输出滑窗为建议区域的概率 另一个输出bbox回归的offset 其训练方式也类似于FR CNN 注意 RPN与FR CNN共用卷积层 RPN RPN通过一个滑动窗口 图中红色框 连接在最后一个卷积层输出的featuremap上 然后通过全连接层调整到256 d的向量 作为输出层的输入 同时每个滑动窗对应k个anchorboxes 在论文中使用3个尺寸和3个比例的3 3 9个anchor 每个anchor对应原图上一个感受野 通过这种方法提高scale invariant Multi taskloss FR CNN的有两个网络输出层 将原来与网络分开的bboxregression的操作整合在了网络中 并设计了一个同时优化两个输出层的loss函数 Lp t 1 其中 第一部分是softmax层的loss函数 是每个建议区域为目标的概率 是一个表示类别的标签 第二部分是bboxregression层的loss函数 是bbox的标签offset t 是bbox预测的offset 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整个网络 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独有的层 训练时采用的一些策略与参数设置 1 使用ImageNet分类模型初始化 使模型具有一定的提取图像通用特征的能力 是目前在训练数据较少和检测任务中的常用做法 2 solver配置文件中的参数初始学习率0 001 学习率衰减系数0 1 SGD方法 权重衰减项0 0005 在RPN和Fast RCNN中都是这样 3 训练样本选择方法与其参数设置 训练时采用的一些策略与参数设置 3 训练样本选择方法与其参数设置RPN中参数的设置按照Image centricsampling 每个batch中的图片数 ims per batch1或2每个batch中的正负样本数 batch size256每个batch中正样本占得比率 fg fraction0 5与GroundTruth的IOU大于阈值0 75的ROI作为正样本 fg thresh 0 75与GroundTruth的IOU在阈值0到0 35之间的ROI作为负样本 bg thresh hi 0 35 bg thresh lo 0featuremap到原图映射的变化率为16 这个数值主要是由池化降维算出 与其步长选择有关 feat stride 16 训练时采用的一些策略与参数设置 3 训练样本选择方法与其参数设置Fast RCNN中参数的设置ims per batch1或2batch size128每个batch中正样本占得比率 fg fraction0 25与GT的IOU大于阈值0 6的ROI作为正样本 fg thresh 0 6与GT的IOU在阈值0 1到0 5之间的ROI作为负样本 bg thresh hi 0 5 bg thresh lo 0 1
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号