【检测|RCNN系列-4】HyperNet速度提升40倍,mAP不减Faster RCNN(附论文下载)

简介: 【检测|RCNN系列-4】HyperNet速度提升40倍,mAP不减Faster RCNN(附论文下载)

Faster RCNN算法缺陷


1、暂时无法做到实时,后续的YOLO、SSD等one stage方法确实是更快 + 实时;

2、没有采用类似SSD、FPN中的结合高低层feature map特征的方式,对小尺度目标的检测性能一般,bbox loc精度也一般(高IoU阈值下,mAP就下来了);


HyperNet算法


图1 HyperNet整体结构图

HyperNet主要解决的问题

1、深层次卷积:召回率较高,但是定位精度比较差;

2、低层次卷积:更好的定位精度,但是召回率低;

3、HyperNet:结合两者优点,提出了跳层特征提取(Hyper Feature Production)。

1、算法具体步骤

  • 1、预训练一个深度CNN模型用于特征提取;
  • 2、训练HyperNet提取候选区域;
  • 3、用2得到的候选区域为目标检测框训练HyperNet;
  • 4、微调HyperNet,共享3得到的Hyper特征层,用于产生候选区域;
  • 5、用4得到的候选区域微调HyperNet,同时固定共享的Hyper特征层,用于目标检测;
  • 6、输出4和5联合训练的HyperNet作为最终的模型;


2、Hyper Feature Production

image.png

图2 跳层特征提取结构图

首先使用基础卷积神经网络(Alexnet,VGG)提取特征;

  • 在最底层卷积层(conv1)后面加上 max pooling 层,实现降采样;
  • 在最高层卷积层(conv5)后面加上 反卷积 deconv 层,实现上采样;
  • 中间层(conv3)不做处理;

在上一步操作之后每一个level后面都再加一系列卷积层(绿框中的黄色矩形):进一步提取语义特征、将不同分辨率的feature map压缩到相同的分辨率。

卷积后每个feature map加局部响应归一化LRN,之后输出Hyper Feture maps。这里的Hyper Feture maps的大小不是13×13×126的,图上写的那个13×13是经过ROI的大小(红色框框)。

假设使用VGG做特征提取,输入图片为1000×600。那么Conv1、Conv2、Conv3、Conv4、Conv5层的feature map 输出(不含池化层)分别为 1000×600,500×300,250×150,125×75,62.5×37.5。

最后的feature map会是62×37, 这样会造成信息损失。因此做出了如下的设计:

  • 把最后的Conv5层的feature map通过反卷积上采样到250×150,然后再经过一系列卷积;
  • 把第一层Conv1的feature map做一个max pooling 降采样,然后再经过一系列卷积;
  • 中间层,不做变化,直接经过一系列卷积;
  • 然后把1,3,5层的feature map进行 LRN之后连在一起。LRN是必要的,因为不同层的feature resolution不同,如果不做正则,norm大的feature会压制住norm小的feature。

3、Region Proposal Generation

image.png

图3 候选区域框生成结构图

如上图,对于Hyper Feture maps使用ROI pooling。ROI pooling的大小是13×13的,因此最后输出的特征是ROI feature是13×13×126的。

ROI pooling之后使用了3×3的4个卷积核。输出的是13×13×4的feature map,图上那个空白的矩形就是。之后再经过一个256维的全连接层;再之后并行经过两个全连接层,输出结果分别用于分类和回归(定位)。

这个阶段每张图片生成30k个不同尺寸的候选框。然后通过NMS,减少到1k个,然后再取top-100或top-200个。

与Faster RCNN的不同之处:

Faster R-CNN的ROI Pooling是在RPN生成region proposals之后作用在生成的region上的。

image.png

图4 Faster RCNN中RoI Pooling位置图

而HyperNet中在生成region proposals时就使用了ROI Pooling;

image.png

图5 HyperNet中RoI Pooling位置图

4、检测

image.png

与Faster R-CNN不同之处在于:

  • 在两个全连接层之前使用了一个3×3卷积层,降低了输入通道(从126到63)。后面是三个全连接层。
  • 全连接层之间的dropout层的概率使用的是0.25,不是0.5。

5、加速

image.png

图6 HyperNet中Speed Up模块结构图

如上图,上边的图中两个空白矩形框,第1个是ROI Pooling的输出,第2个是3×3卷积的输出。下边的图中,3×3卷积的输出用了一个立方体,后面那个白色矩形框是ROI Pooling的输出。

在生成region proposals时,将卷积层放在ROI Pooling层之后,可以实现加速:

  • 先卷积降低了通道数量(由126降到4);
  • 大量 proposal 的conv操作移至前方,实现计算共享;
  • ROI Pooling 后面分类器的结构变成了全连接层,简化结构,之前是 卷积层+全连接层。

使用这些策略后获得了40倍的加速。

优点:

1、提出层次化特征融合的目标检测网络HyperNet,能同时处理好proposals的生成,及目标的检测;**

2、Hyper Features融合了高层、高语义信息特征 + 中层、足够互补性特征 + 浅层、高分辨率细节性特征,使得HyperNet在proposals生成 + 目标检测上不仅性能好,更能做到end2end training;

相关文章
|
6月前
|
算法 数据可视化 PyTorch
YOLOv5性能评估指标->mAP、Precision、Recall、FPS、Confienc (讲解论文关注的主要指标)
YOLOv5性能评估指标->mAP、Precision、Recall、FPS、Confienc (讲解论文关注的主要指标)
1926 0
|
编解码 计算机视觉
最强检测 | YOLO V4?都是弟弟! CenterNet2以56.4mAP超越当前所有检测模型(附源码与论文)(二)
最强检测 | YOLO V4?都是弟弟! CenterNet2以56.4mAP超越当前所有检测模型(附源码与论文)(二)
232 0
|
计算机视觉
最强检测 | YOLO V4?都是弟弟! CenterNet2以56.4mAP超越当前所有检测模型(附源码与论文)(一)
最强检测 | YOLO V4?都是弟弟! CenterNet2以56.4mAP超越当前所有检测模型(附源码与论文)(一)
128 0