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

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

时间:2022-10-07 10:32:06浏览次数:73  
标签:后选 检测 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/5734270

相关文章

  • 哇~这么Deep且又轻量的Network,实时目标检测
    最近挺对不住关注“计算机视觉战队”平台的小伙伴,有段时间没有给大家分享比较硬比较充实的“干货”了,在此向大家表示抱歉,今天抽空之余,想和大家说说目标的实时检测。论文:​​......
  • 网络字节序与主机字节序的转换函数实践
    首先我们要对于网络字节序和主机字节序有一个初步的概念。字节序:字节在内存中储存的顺序字节序的种类:(1):大端字节序,数值高位储存在内存的低地址,低位储存在内存的高地址,在 ......
  • 计算机网络原理(TCP/IP协议一):概述
    体系结构原则设计和实现TCP/IP协议族结构和协议Internet/内联网/外联网设计应用标准话进程与Internet体系结构相关的攻击有效沟通取决于使用共同的语言。这一观......
  • Java 面试题 09 - 计算机网络
    TCP&UDPTCP和UDP的区别有什么?TCP面向连接,UDP无连接。TCP提供可靠的传输,在传递数据之前,需要通过三次握手建立连接,在传递数据时,有确认、窗口、重传、拥塞机......
  • Java 面试题 08 - 计算机网络
    进程什么是系统调用?根据进程访问资源的特点,可以把进程的运行状态分为两个级别:用户态:只能读取用户程序的数据;内核态:可以访问几乎一切资源。用户程序基本都运行在用户......
  • 计算机网络--应用层正文
    应用层概念:应用层对应用程序的通信提供服务功能:文件传输、访问和管理电子邮件虚拟终端网络应用模型C/SP2PDNS系统域名:www.baidu.com顶级域名国家......
  • 计算机网络--网络层正文
    网络层概念:将分组从源端传到目的端,为分组交换上网的不同主机提供服务。传输单位:数据报功能路由选择和分组转发(寻找最佳路径)异构网络互连(不同网络设备)拥塞控制(开环......
  • 计算机网络--数据链路层正文
    数据链路层节点:主机、路由器链路:网络中两个节点之间连接的物理通道数据链路:网络上两个节点之间的逻辑链路,把实现控制数据传输协议和软件加到链路上就构成数据链路......
  • 计算机网络--传输层正文
    传输层功能传输层提供进程和进程之间的逻辑通信复用和分用传输层对收到的报文进行差错检测传输层两种协议传输层的两种协议面向连接的传输控制协议传送数据......
  • 【自然语言处理(NLP)】基于LSTM的谣言检测
    【自然语言处理(NLP)】基于LSTM的谣言检测作者简介:在校大学生一枚,华为云享专家,阿里云专家博主,腾云先锋(TDP)成员,云曦智划项目总负责人,全国高等学校计算机教学与产业实践资源......