暑假的“尾巴”很多人都抓不住了,因为不知不觉,新的学期要开始了,几家欢喜几家愁,但是会想起学生时代的我,还是特征憧憬新的学期到来,那种激动的心情无法用美丽的辞藻去形容,在此,也祝大家新学期新“形象”,都能通过自己的努力去实现心里设定的小目标,加油~
那接下来我们开始今天的分享,也是上次文章的一次内容补充和知识的拓展——“哇~这么Deep且又轻量的Network,实时目标检测”,若有兴趣的您,可以去回顾一下。
目标检测出现的问题
现在的先进方法去进行目标检测的时候,经常使用成千个候选区域去得到较高的Recall,该过程严重影响了检测的效率。虽然最新的区域后选网络(RPN)用了几百个候选区域就可以达到较好的检测准确度,但是其仍然挣扎于小目标检测和精确定位(比如较大的IoU阈值),主要由于特征图的粗劣。
主要内容
于是,提出一个深度的多层网络,称为“HyperNet”,用来处理候选区域的产生和共同目标检测。HyperNet先融合不同层的特征图,然后将它们压缩到一个统一的空间。
HyperFeature包含了图像的深层但又含有更高的语义、中间层但又互补和底层但自然高分辨率特征。最后通过端到端(End-to-End)共同训练策略来构建HyperNet。
最后本文在VOC2007和VOC2012数据集上实验,都得到较高的准确度,并且有5fps的速度(只在一个GPU上运行),因此其有较好的实时处理能力。
图1 Top:前10个区域检测的区域和最后检测结果;Down:HyperNet简单框架
HyperNet框架
HyperNet框架如图2所示,首先,一张完整的图片通过卷基层向前传递,并产生不同的激活映射。将多层特征图融合,然后将他们压缩到一个统一的空间,命名为“HyperFeature”。接下来,一个简单的区域后选产生网络被构建并产生了大约100个候选区域。最后,这些后选区域被分类并调整基于目标检测模块。
图2 HyperNet目标检测框架
HyperFeature Production
在CNN的子采样和池化操作过程中,这些特征图并不具有相同的分辨率。为了结合多层的特征图并有相同的分辨率,本次对于不同层执行了不同的采样策略。
- 在底层增加了一个Max-Pooling层去进行子采样;
- 对于更高的层,增加一个反卷积(Deconv)操作去进行子采样。
每个采样结果后再用一个卷基层处理,卷积操作不仅可以提取更多的语义特征,还可以压缩成一个统一的空间。最后归一化多特征图,并连接它们成为一个输出立方体,其被称为HyperFeature。HyperFeature有一些优点:
- 多层的抽象:灵感来自于神经学,在计算机视觉问题中已被推理,多层是有益的。深度、中间和底层CNN特征是真的可以互补;
-
适当的分辨率:特征图分辨率从1000X600到250X150,其更适合用于检测。
RegionProposal Generation
本次设计了一个简单的ConvNet用于区域后选产生。这个ConvNet包括一个ROI池化层,一个Conv层和一个全连接层(FC),随后有两个相似的输出层。对于每一张图像,这个网络将产生30K后选框并有不同的尺寸和纵横比。
之后的每一个后选框都要分别打分和调整,一些区域之间高度重叠。为了减少冗余,基于它们的得分,在区域中采用贪婪的非极大值抑制。更具体地说,固定IoU阈值在0.7,对每张图像其可以减少1K候选区域。我们训练检测网络的时候用了前200个候选区域。
ObjectDetection
最简单的方式来实现目标检测是通过FC-Dropout-FC-Dropout流水线。基于这个流水线,本次有两个改进:
- FC层之前,添加一个Conv层(3X3X63)去使分类器更强大。而且这个操作减少了一半的特征维度,促进后面的计算;
- Dropout ratio从0.5改变到0.25,我们发现对目标分类更有效果。
检测网络也有两个相似的输出层。不同的是,对于每个候选框,其有(N+1)个输出得分和(4*N)个bounding box回归补偿(其中N是目标类别数目,+1是背景)。
JointTraining
在训练候选区域步骤,我们指定一个二进制标签(是目标或不是目标)。假设IoU阈值高于0.45的为正样本标,低于0.3的为负样本。这样就就可以最小化多任务损失函数:
其中,Lcls是两个类的Softmax损失,Lreg是Bounding Box回归损失,且
R是平滑的L1损失。在候选产生步骤,我们设置,其意味着更倾向于好的框架定位。
Speedingup
在区域后选产生模块中,ROIs的数量大,大部分处理时间都在这里(大约占总时间的70%),如图3所示:
图3 HyperNet speed up
将3X3X4的卷积层移到ROI池化层前面。这样的改变有两个优点:
- Hyper Feature maps的通道数量显著地降低(126到4);
- 滑动窗分类器更加简单。
实验
图4 在VOC 2007测试集的Recall和IoU阈值。Left:50个区域后选,Middle:100个区域后选;Right:200个区域后选。
图5 在VOC2007测试集的Recall和后选数量。Left:IoU=0.5;Middle:IoU=0.6;Right:IoU=0.7。
表1 VOC 2007测试集结果(IoU=0.5)
表2 VOC 2012测试集结果
表3 不同层结合策略的后选和检测性能
图6 Hyper Feature可视化
表4 在一个Nvidia TitanX GPU上的测试时间
总结
提出了一个HyperNet框架,共同用于区域后选产生和目标检测。HyperNet提供了一个有效的结合框架,用深度但有更高的语义、中间但互补和底层但自然高分辨率的CNN特征。所提框架的亮点是它可以产生少量的后选区域,但是能得到较高的recalls,其基本的HyperNet和加速的HyperNet都能都达到很好的准确度。
文章名:
HyperNet: Towards Accurate Region Proposal Generation and Joint Object Detection
如果想加入我们“计算机视觉战队”,请扫二维码加入学习群,我们一起学习进步,探索领域中更深奥更有趣的知识!