首页 > 其他分享 >这样可以更精确的目标检测——超网络

这样可以更精确的目标检测——超网络

时间:2022-10-06 17:01:31浏览次数:78  
标签:后选 检测 IoU 网络 HyperNet 区域 精确 目标


暑假的“尾巴”很多人都抓不住了,因为不知不觉,新的学期要开始了,几家欢喜几家愁,但是会想起学生时代的我,还是特征憧憬新的学期到来,那种激动的心情无法用美丽的辞藻去形容,在此,也祝大家新学期新“形象”,都能通过自己的努力去实现心里设定的小目标,加油~

那接下来我们开始今天的分享,也是上次文章的一次内容补充和知识的拓展——“​​哇~这么Deep且又轻量的Network,实时目标检测​​”,若有兴趣的您,可以去回顾一下。

目标检测出现的问题

现在的先进方法去进行目标检测的时候,经常使用成千个候选区域去得到较高的Recall,该过程严重影响了检测的效率。虽然最新的区域后选网络(RPN)用了几百个候选区域就可以达到较好的检测准确度,但是其仍然挣扎于小目标检测和精确定位(比如较大的IoU阈值),主要由于特征图的粗劣。

主要内容

于是,提出一个深度的多层网络,称为“HyperNet”,用来处理候选区域的产生和共同目标检测。HyperNet先融合不同层的特征图,然后将它们压缩到一个统一的空间。

HyperFeature包含了图像的深层但又含有更高的语义、中间层但又互补和底层但自然高分辨率特征。最后通过端到端(End-to-End)共同训练策略来构建HyperNet

最后本文在VOC2007和VOC2012数据集上实验,都得到较高的准确度,并且有5fps的速度(只在一个GPU上运行),因此其有较好的实时处理能力。

这样可以更精确的目标检测——超网络_目标检测

这样可以更精确的目标检测——超网络_目标检测_02

图1 Top:前10个区域检测的区域和最后检测结果;Down:HyperNet简单框架

HyperNet框架

HyperNet框架如图2所示,首先,一张完整的图片通过卷基层向前传递,并产生不同的激活映射。将多层特征图融合,然后将他们压缩到一个统一的空间,命名为“HyperFeature”。接下来,一个简单的区域后选产生网络被构建并产生了大约100个候选区域。最后,这些后选区域被分类并调整基于目标检测模块。

这样可以更精确的目标检测——超网络_目标检测_03


图2 HyperNet目标检测框架

HyperFeature Production

在CNN的子采样和池化操作过程中,这些特征图并不具有相同的分辨率。为了结合多层的特征图并有相同的分辨率,本次对于不同层执行了不同的采样策略。

  • 在底层增加了一个Max-Pooling层去进行子采样;
  • 对于更高的层,增加一个反卷积(Deconv)操作去进行子采样。

每个采样结果后再用一个卷基层处理,卷积操作不仅可以提取更多的语义特征,还可以压缩成一个统一的空间。最后归一化多特征图,并连接它们成为一个输出立方体,其被称为HyperFeatureHyperFeature有一些优点:

  • 多层的抽象:灵感来自于神经学,在计算机视觉问题中已被推理,多层是有益的。深度、中间和底层CNN特征是真的可以互补;
  • 适当的分辨率:特征图分辨率从1000X600250X150,其更适合用于检测。
    RegionProposal Generation

本次设计了一个简单的ConvNet用于区域后选产生。这个ConvNet包括一个ROI池化层,一个Conv层和一个全连接层(FC),随后有两个相似的输出层。对于每一张图像,这个网络将产生30K后选框并有不同的尺寸和纵横比。

之后的每一个后选框都要分别打分和调整,一些区域之间高度重叠。为了减少冗余,基于它们的得分,在区域中采用贪婪的非极大值抑制。更具体地说,固定IoU阈值在0.7,对每张图像其可以减少1K候选区域。我们训练检测网络的时候用了前200个候选区域。

ObjectDetection

最简单的方式来实现目标检测是通过FC-Dropout-FC-Dropout流水线。基于这个流水线,本次有两个改进:

  • FC层之前,添加一个Conv层(3X3X63)去使分类器更强大。而且这个操作减少了一半的特征维度,促进后面的计算;
  • Dropout ratio0.5改变到0.25,我们发现对目标分类更有效果。

检测网络也有两个相似的输出层。不同的是,对于每个候选框,其有(N+1)个输出得分和(4*N)个bounding box回归补偿(其中N是目标类别数目,+1是背景)。

JointTraining

在训练候选区域步骤,我们指定一个二进制标签(是目标或不是目标)。假设IoU阈值高于0.45的为正样本标,低于0.3的为负样本。这样就就可以最小化多任务损失函数:

这样可以更精确的目标检测——超网络_卷积_04

其中,Lcls是两个类的Softmax损失,Lreg是Bounding Box回归损失,且

这样可以更精确的目标检测——超网络_子采样_05

R是平滑的L1损失。在候选产生步骤,我们设置这样可以更精确的目标检测——超网络_目标检测_06,其意味着更倾向于好的框架定位。

这样可以更精确的目标检测——超网络_子采样_07

Speedingup

在区域后选产生模块中,ROIs的数量大,大部分处理时间都在这里(大约占总时间的70%),如图3所示:

这样可以更精确的目标检测——超网络_卷积_08

图3 HyperNet speed up

将3X3X4的卷积层移到ROI池化层前面。这样的改变有两个优点:

  • Hyper Feature maps的通道数量显著地降低(126到4);
  • 滑动窗分类器更加简单。

实验

这样可以更精确的目标检测——超网络_卷积_09

图4  在VOC 2007测试集的Recall和IoU阈值。Left:50个区域后选,Middle:100个区域后选;Right:200个区域后选。

这样可以更精确的目标检测——超网络_卷积_10

图5  在VOC2007测试集的Recall和后选数量。Left:IoU=0.5;Middle:IoU=0.6;Right:IoU=0.7。

表1 VOC 2007测试集结果(IoU=0.5)

这样可以更精确的目标检测——超网络_目标检测_11

表2 VOC 2012测试集结果

这样可以更精确的目标检测——超网络_目标检测_12

表3 不同层结合策略的后选和检测性能

这样可以更精确的目标检测——超网络_子采样_13

这样可以更精确的目标检测——超网络_目标检测_14

图6 Hyper Feature可视化


表4 在一个Nvidia TitanX GPU上的测试时间

这样可以更精确的目标检测——超网络_目标检测_15

总结

提出了一个HyperNet框架,共同用于区域后选产生和目标检测。HyperNet提供了一个有效的结合框架,用深度但有更高的语义、中间但互补和底层但自然高分辨率的CNN特征。所提框架的亮点是它可以产生少量的后选区域,但是能得到较高的recalls,其基本的HyperNet和加速的HyperNet都能都达到很好的准确度。

文章名:

HyperNet: Towards Accurate Region Proposal Generation and Joint Object Detection


如果想加入我们“计算机视觉战队”,请扫二维码加入学习群,我们一起学习进步,探索领域中更深奥更有趣的知识!

这样可以更精确的目标检测——超网络_目标检测_16


标签:后选,检测,IoU,网络,HyperNet,区域,精确,目标
From: https://blog.51cto.com/u_15726357/5733924

相关文章