HyperNet论文原理理解

ref:
https://blog.csdn.net/u012361214/article/details/51374012
https://www.cnblogs.com/zhoulixue/p/6700038.html
https://blog.csdn.net/linolzhang/article/details/74159463

引言

HyperNet是2016年清华提出的优秀的Faster-RCNN变种。HyperNet主要改进在于集合了多层的特征图,得到多尺度的超特征(Hyper Feature),相比与Faster-RCNN,HyperNet更擅长处理小物体,在高IOU时更有优势,mAP提高3.1%。但多尺度也必然降低速度。其快速模型HyperNet-SP速度与Faster-RCNN相同,VOC上mAP仅提高1.6%。但注意到其应用的跳层特征(skip layer feature)在处理小物体检测中已经在ION等多次被用到,成为了一种常用的有效手段。

检测框架

fater这里写图片描述
HyperNet
这里写图片描述

Pre-trained CNN model

当时用的VGGnet,检测时只用了前5层conv

Hyper Feature Extraction

跳层提取特征。既能获取高层语义,又可以得到低层高分辨率的位置信息。提高小目标检测效果。
注:
不同层提出了不同的采样策略。我们在层次较低的卷积层最大池化。对层次较高的卷积层,我们添加了一个反卷积操作(Deconv)来进行上采样。最后,用LRN(local response normalization)归一化多个feature maps。LRN是必要的,因为不同层的feature resolution 不同,如果不做正则norm大的feature会压制住norm小的feature。

区域建议生成

faster的RPN
这里写图片描述
文中对提取候选区域设计了一个轻量级的卷积网络:看图,一个ROI pooling layer,一个卷积层,一个FC layer,后面有两个输出层。对于每个图片,这个网络产生大约30k个大小不同,分辨率不同的候选框。

没有看到建议框生成策略,不懂为什么对特征直接ROI Pooling.然后再获取建议框。但之前没有建议框对谁Pooling呢?

所以猜测:可能是用某种传统策略生成特征框(潜在Anchor是用类似于BING[4]的方法通过扫描窗口的方式生成的。),在ROIPooling,然后再根据score做NMS。(在ROIPooling前应该加个箭头,预先提供的30k个候选框)

目标检测

实现目标检测最简单的方法就是用FC-Dropout-FC-Dropout这样的层次设计。在此基础上,我们做了两个改动。

  • 在FC前添加了一个3x3x63的卷积层增强分类。这样做也可以降低特征的维度,有利于下面的计算。

  • dropout ratio由0.5改为0.25。发现这样更高效。

对于提取候选区域模型,检测网络也有两个输出。不同之处是对每个候选框产生了N+1个分数和4xN个框的调整值。(这里的N是物体类别的个数,+1是背景)之后又用NMS来减少重叠。这个操作只会过滤少量框,因为大部分框都在提取候选区域步骤中被过滤掉了。

加速方法

这里写图片描述
70%时间主要在RPG,加速方法提前3*3*4卷积。降低维数(126->4),再进行ROIPooling。同时对每个建议框运算更加简洁,从CONV->FC直接FC
代价就是降低了2%MAP,提高了40%的速度。

猜你喜欢

转载自blog.csdn.net/qq_35608277/article/details/80432907
今日推荐