前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >这样可以更精确的目标检测——超网络

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

作者头像
计算机视觉研究院
发布2018-09-21 11:44:40
6990
发布2018-09-21 11:44:40
举报

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

那接下来我们开始今天的分享,也是上次文章的一次内容补充和知识的拓展——“哇~这么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)操作去进行子采样。

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

  • 多层的抽象:灵感来自于神经学,在计算机视觉问题中已被推理,多层是有益的。深度、中间和底层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


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-09-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 计算机视觉战队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档