• 回答数

    2

  • 浏览数

    103

傻傻的双子
首页 > 学术期刊 > 目标检测论文创新点

2个回答 默认排序
  • 默认排序
  • 按时间排序

静静19811215

已采纳

地址 : 主要思路 :这篇论文虽然是17年投的,19年TPAMI发表,但是论文的解决角度还是值得学习和借鉴的。从题目可以看出,这篇paper主要利用混合的监督信息,即强监督信息(包含目标边界框注释信息)和弱监督信息(只有图像标签信息)。作者把从源(强监督)域中学习到的目标知识迁移到目标(弱监督)域中。

强监督目标检测虽然在一些数据集上取得了显著的效果,比如PASCAL VOC和COCO,可是,现实世界中的目标类别成千上万,用强监督的方法就需要获取这些类别的边界框注释信息,这样的工作量太大且耗费人力。这样弱监督目标检测就应运而生,训练这样的目标检测器,我们只需要图像的标签信息(只告诉图像中存在的目标类别信息),并且这种数据很容易通过网络获取。

由于弱监督只有图像标签可以利用,所以弱监督目标检测常常被当作多事例学习(multiple instance learning(MIL))问题。但是这样就存在一个很大的问题,我们只有图像标签可是我们干的是目标检测的事,所以检测器无法得到目标区域的清晰定义,进而导致了这种方法训练出来的检测器可能包含如下图中所示的目标背景,或者只包含目标的一部分。

利用混合监督学习来解决弱监督中存在的问题。那森么是混合监督呢?就是你有一部分类别的数据是强监督的(称为源域 ),另外一部分类别数据是弱监督的(称为目标域 )。并且这两份数据之间的类别没有交叠。而存在一种情况:一张图片中包含多个类别目标,这些目标分别属于这两个数据集,那么这张图片同时被两个数据集所有,可是对应的类别的目标的标注信息不同。

从图中可以发现论文方法主要分为两个部分: 1 :两个数据集一起训练,学习域不变(domain-invariant)的目标知识,即可以学习到恰好框住完整目标的能力; 2 :利用学习到的域不变目标知识辅助弱监督学习,从而使学习到的检测器能定位到完整目标。

论文中提到第一部分学习到的域不变目标知识拥有两个重要的特性: (1) 类别独立,能够很好的推广到未知的类别; (2) 目标敏感,能过可靠的剔除干扰边界框(包含背景或者只包含目标的一部分)。

通过方法结果图,我们可以看到这个训练模型包含两个分支:(1)目标预测 (2)域分类。从分支名字上,你们应该已经猜到作用了。(1)分支用于辨别目标框,(2)分支用于辨别图像属于哪个域。网络主要是靠损失函数指导学习,前面特征提取层我们就不多描述了,可能不了解的会问,这些框框是如何来的呢?其实结构图中的ROI模块其实就是Fast-RCNN中的Roi-Pooling,这些框是预先用选择搜索(select-search,SS)算法提前准备好的(我们称为proposals,可以翻译为候选框)。接下来我们主要分析这两个分支。

输入是 中的proposals经过特征提取网络得到的特征向量,输出是维度为2的向量,用于判断是不是目标。 首先给出损失函数: 公式中符号解析: 表示边界框的标签,通过与ground-truth(就是目标的真实边界框,人为的标注信息)计算intersection-over-union (IoU)得到,即两个框的相交面积/并集面积。如果IoU大于, ,即正样本。如果在[)之间, ,即负样本。在一张图片中有很多冗余的框,肯定正样本框远远大于负样本框,为了平衡正负样本比例,限定选取正负样本比例为1:3总数64的边界框计算损失。 (sigmoid函数), 表示这个分支, 表示第 个边界框的特征向量,其实这个公式可以理解为: 就是第 个边界框的一个打分 ,则公式可以等效于 。

论文中的domain-invariance就是通过这个分支实现的。 不同于目标预测分支,这个分支的不仅考虑了 中的边界框,也考虑了 的边界框,输出也是一个维度为2的向量,就是图像属于 或 的打分。 给出损失函数: 损失函数与上一个分支功能一样, 表示来自于 的proposals是正样本; 表示来自于 的proposals是负样本。

下面要说才是我认为最有意思的地方,可以看到方法结构图中这个分支有一个梯度取反。一般我们优化网络都会让损失收敛到0,即最小值优化,而作者在梯度方向传播到特征f前取反,这是为了最大值优化。最小值优化是为了让网络可以区分数据是来自哪一个域,作者取反操作就是为了让网络无法区分,从而实现domain-invariance。 其实我感觉直接损失函数的负号去掉是一样的(欢迎指正)。

然后从 和 中都随机选取64个proposals计算损失。

下面我们讲方法的第二部分:利用学习到辨别目标的知识来训练一个弱监督检测器。 这部分可以分为两个部分讲解:(1)如何利用目标知识(2)如何用 的数据训练检测器

作者是采用中的目标预测分支,对 中每一张图片的proposals进行打分,得到他们属于目标的分数,然后排序,取前15%当作目标框(一起当作一个"object bag"),剩余的75%作为干扰框(一起当作一个"distractor bag")。注意这里只是区分是不是目标,并没有给出目标是哪一类。所以"object bag"中会有很多类型的目标。

作者使用的是Fast-RCNN的结构训练检测器(只包含分类分支),输出维度是K+1,K是类别数目。

为了更好的理解这里的训练过程,我们先举个栗子:输入图片1张,包含2000个SS生成的proposals,输入网络后得到1x2000x(K+1)矩阵。

如果我们要计算损失,是不是应该知道2000个框的类别标签,可是 数据是没有边界框注释信息的,我们无法得到这2000个框的标签,我们肿么办?

肯定有人想到用上面得到的"object bag"和"distractor bag"制作标签呀,的确,作者就是这么干的。

首先这个2000个框已经被我们分成了目标和干扰两个包。首先给"distractor bag"一个标签 ,然后我们根据这个图像包含的目标类别对"object bag"给出对应的类别标签 。

可是网络输出是每个框属于每一类的打分,你这给的都是包的标签,不对应呀? 然后你肯定会想使用包中框的最高分作为包的打分不就行了。但是这样做就只是考虑了最大分框,作者给出了一个更好的计算方法: 这样可以考虑包中所有的框。 是包, 是包中每个框的打分。

然后使用交叉商损失指导网络训练:

我个人感觉这篇论文最大的创新点就是把 和 的数据一起训练的方式。一般我们都会想的是用 训练一个检测器 ,然后通过一种方式,用 来得到 中的pseudo-gt,然后训练检测器 。可是这篇论文就不一样,感觉很有意思。想继续深入了解的小伙伴,可以阅读原文。

其实看官看到这里就可以结束。 可是,本着从一而终的原则,我决定把实验也分析一遍。

其实这篇论文实验之前才5页,后面实验作者足足写了7页。。。看来实验才是重点,前面全是小菜。

实验主要可以分为三个部分:(1)数据集内部检测(2)数据集间检测(3)消融实验

实验的评价的标准主要:mAP和CorLoc。 这里说一下,mAP肯定一般都知道,CorLoc一般都是弱监督的时候才会用。它是评价模型在训练集上的定位精度。就是检测到每一类中检测到的图片占的比例,怎么叫检测到呢?就是对于一样图片中的某一类,取检测的打分最高边界框,如果与ground-truth(标注的边界框)的IoU>就是检测正确。

实验开始之前,作者给出了三个基本的检测方法。由于论文的方法是由目标知识学习和弱监督检测训练两个子模块组成了混合监督整体方法,所以作者提出了分别对应两个子模块和整体方法的基本方法。

B-WSD :基本的若监督检测方法------->对应的子模块 B-MSD :基础的混合监督检测方法------->对应整体的方法 OOM-MSD :用于混合监督检测的原始的目标学习模型------->对应的子模块

下面简要说一说后两个方法: B-MSD :作者是先用Fast-RCNN基于 训练一个强监督的检测器,然后用训练得到的模型参数初始化弱监督的检测器,然后用MIL的方式基于 训练检测器。 OOM-MSD :这部分作者就是把模型的子模块的域分类的分支去掉了,就是直接基于 训练网络学习区分目标和干扰的知识。

就是把一个数据集按类别分为 , 。

作者使用PASCAL VOC 2007 和 ILSVRC2013来评价他的方法。

这里就只是以PASCAL VOC 2007为例吧,作者把trainval的数据按类别分为两部分,一共20类,前10类为 ,后10类为 (根据字母排序选择的)。

当然啦,这些模型怎么训练的呢,这我要说的估计得照论文翻译了,还是感兴趣的孩童去看论文吧,哈哈哈。

还是贴图看一下模型的性能吧

这应该不用描述解释了吧。认真看图吧。(我是不会告诉你,我是认真读了一边作者分析再贴的图, :) 滑稽脸)

这里作者把PASCAL VOC 2007 的trainval作为 ,ILSVRC2013作为 。 由于ILSVRC2013有200类包含PASCAL VOC 2007的20类,所以 是180类,剔除了 中的类别。

直接贴图,直接贴图

不得不佩服,作者做实验验证的能力。学习一波。

采用数据集间检测方式,都使用AlexNet

其实作者验证这个就是是否用那75%的proposals,作者把它丢掉,WSD的网络类别就是K了,训练了一个MSD-no-distractor的模型。

就是选取其他的值来训练,看哪个高。

作者选取了ILSVRC2013中人们创造的类别作为 ,PASCAL VOC 2007中自然界中的类别作为 ,进行训练。

所实话,作者真的很会来事,但是不得不佩服。

如果你更着我读到了这里,我不得不给你点个赞,其实笔者都快被你感动了,坚持一下马上就结束了。

其实我又看了下后面,好像还不能很快结束。。。你还得在坚持很久。 -_-# ,我继续码。

这里作者和其他的目标学习方法或者获得proposals的方法进行了比较。

目标学习模型其实就是给proposals打分,然后分包,只要有类是功能的方法应该就可以比较。

作者使用召回率来比较的。

实际是如何操作的呢? 可以看上图中的横轴是百分比,这是怎么来的呢?是由SS生存的proposals按打分排序(ss算法本身对proposals会有个打分),然后取前5%,与ground-truth计算一遍IoU,大于就算是目标框,这些框的个数/选取的proposals,这个值就是recall值。

然后用这些方法训练WSD。

作者发现一个很有意思的现象:EdgeBox,Original Obj,Domain-invarint obj 三个的Recall在15%的时候都差不多,为什么上图的性能差距这么多,为森么?

然后自问自答 :)

然后作者定义: 正样本 :IoU>= 局部目标 :0

作者 :快看,蓝色柱子,不要盯着绿色的看,我这是局部目标的比例,看我的方法多稳定。知道你们不懂,我给你举个例子 :)

我们来看0%~10% x轴 ,假设每个图片是2000个proposals 那么前15%就是300个proposals(那么其中就包含0~30个局部目标)。 让我们来看 y轴 ,蓝bar是,那么5011个训练图片中有大约500的图片的局部目标是在范围0%~10%。可以看图中,随着局部目标比例的增加,其他方法的对应的图片比例都在增加,而论文方法反而在减少,说明论文方法可以很好的剔除局部目标。

作者还进一步解释了为什么15%中包含局部目标的比例少,因为在训练图片中还包含了很多不属于数据集类别的完整目标,可是完整目标是被我们当作背景的,但是在使用学习到的目标辨别知识是与目标类别无关的,所以15%会包含很多背景中存在的完整目标,进一步相对减少了局部目标的比例。 在这里我不得不佩服作者脑回路清奇,我感觉我发现了这篇论文的另一个宝藏 。如果你读到了这里,我该恭喜你。

作者也给出了效果图,来分析几个效果较差的类别。

自行感受有多差吧。

终于结束了,我写的都累了,默默心疼在看的你。希望你有所收获。 第一次写blog,希望不是最后一次,以后应该陆续推出论文解读。

如果发现有问题,欢迎指正 _ 。

197 评论

A明天你好!

论文: EfficientDet: Scalable and Efficient Object Detection

目前目标检测领域,高精度的模型通常需要很大的参数量和计算量,而轻量级的网络则一般都会牺牲精度。因此,论文希望建立一个可伸缩的高精度且高性能的检测框架。论文基于one-stage的检测网络范式,进行了多种主干网络、特征融合和class/box预测的结构尝试,主要面临两个挑战:

FPN是目前最广泛的多尺度融合方法,最近也有PANet和NAS-FPN一类跨尺度特征融合方法。对于融合不同的特征,最初的方法都只是简单地直接相加,然而由于不同的特征是不同的分辨率,对融合输出特征的共享应该是不相等的。为了解决这一问题,论文提出简单但高效加权的bi-directional feature pyramid network(BiFPN),该方法使用可学习的权重来学习不同特征的重要性,同时反复地进行top-down和bottom-up的多尺度融合

论文认为除了缩放主干网络和输入图片的分辨率,特征网络(feature network)和box/class预测网络的缩放对准确率和性能也是很重要的。作者借鉴EfficientNet,提出针对检测网络的混合缩放方法(compound scaling method),同时对主干网络,特征网络和box/class预测网络的分辨率/深度/宽度进行缩放

最后,论文将EfficientNet作为主干,结合BiFPN和混合缩放,提出新的检测系列EfficientDet,精度高且轻量,COCO上的结果如图1,论文的贡献有以下3点:

定义多尺寸特征 ,论文的目标是找到变化函数 来高效融合不同的特征,输出新特征 。具体地,图2a展示了top-down FPN网络结构,一般FPN只有一层,这里应该为了对比写了repeat形式。FPN获取3-7层的输入 , 代表一个分辨率为 的特征层

top-down FPN操作如上所示, 为上采用或下采样来对齐分辨率, 通常是特征处理的卷积操作

top-down FPN受限于单向的信息流,为了解决这一问题,PANet(图2b)增加了额外的bottom-up路径的融合网络,NAS_FPN(图2c)使用神经架构搜索来获取更好的跨尺度特征网络的拓扑结构,但需要大量资源进行搜索。其中准确率最高的是PANet,但是其需要太多的参数和计算量,为了提高性能,论文对跨尺寸连接做了几点改进:

大多的特征融合方法都将输入特征平等对待,而论文观察到不同分辨率的输入对融合输出的特征的贡献应该是不同的。为了解决这一问题,论文提出在融合时对输入特征添加额外的权重预测,主要有以下方法:

, 是可学习的权重,可以是标量(per-feature),也可以是向量(per-channel),或者是多维tensor(per-pixel)。论文发现标量形式已经足够提高准确率,且不增加计算量,但是由于标量是无限制的,容易造成训练不稳定,因此,要对其进行归一化限制

,利用softmax来归一化所有的权重,但softmax操作会导致GPU性能的下降,后面会详细说明

,Relu保证 , 保证数值稳定。这样,归一化的权重也落在 ,由于没有softmax操作,效率更高,大约加速30%

BiFPN集合了双向跨尺寸的连接和快速归一化融合,level 6的融合操作如上, 为top-down路径的中间特征, 是bottom-up路径的输出特征,其它层的特征也是类似的构造方法。为了进一步提高效率,论文特征融合时采用depthwise spearable convolution,并在每个卷积后面添加batch normalization和activation

EfficientDet的结构如图3所示,基于one-stage检测器的范式,将ImageNet-pretrained的EfficientNet作为主干,BiFPN将主干的3-7层特征作为输入,然后重复进行top-down和bottom-up的双向特征融合,所有层共享class和box网络

之前检测算法的缩放都是针对单一维度的,从EfficientNet得到启发,论文提出检测网络的新混合缩放方法,该方法使用混合因子 来同时缩放主干网络的宽度和深度、BiFPN网络、class/box网络和分辨率。由于缩放的维度过多,EfficientNet使用的网格搜索效率太慢,论文改用heuristic-based的缩放方法来同时缩放网络的所有维度

EfficientDet重复使用EfficientNet的宽度和深度因子,EfficinetNet-B0至EfficientNet-B6

论文以指数形式来缩放BiFPN宽度 (#channels),而以线性形式增加深度 (#layers),因为深度需要限制在较小的数字

box/class预测网络的宽度固定与BiFPN的宽度一致,而用公式2线性增加深度(#layers)

因为BiFPN使用3-7层的特征,因此输入图片的分辨率必需能被 整除,所以使用公式3线性增加分辨率

结合公式1-3和不同的 ,论文提出EfficientDet-D0到EfficientDet-D6,具体参数如Table 1,EfficientDet-D7没有使用 ,而是在D6的基础上增大输入分辨率

模型训练使用momentum=和weight decay=4e-5的SGD优化器,在初始的5%warm up阶段,学习率线性从0增加到,之后使用余弦衰减规律(cosine decay rule)下降,每个卷积后面都添加Batch normalization,batch norm decay=,epsilon=1e-4,梯度使用指数滑动平均,decay=,采用 和 的focal loss,bbox的长宽比为 ,32块GPU,batch size=128,D0-D4采用RetinaNet的预处理方法,D5-D7采用NAS-FPN的增强方法

Table 2展示了EfficientDet与其它算法的对比结果,EfficientDet准确率更高且性能更好。在低准确率区域,Efficient-D0跟YOLOv3的相同准确率但是只用了1/28的计算量。而与RetianaNet和Mask-RCNN对比,相同的准确率只使用了1/8参数和1/25的计算量。在高准确率区域,EfficientDet-D7达到了,比NAS-FPN少使用4x参数量和计算量,而anchor也仅使用3x3,非9x9

论文在实际的机器上对模型的推理速度进行了对比,结果如图4所示,EfficientDet在GPU和CPU上分别有和加速

论文对主干网络和BiFPN的具体贡献进行了实验对比,结果表明主干网络和BiFPN都是很重要的。这里要注意的是,第一个模型应该是RetinaNet-R50(640),第二和第三个模型应该是896输入,所以准确率的提升有一部分是这个原因。另外使用BiFPN后模型精简了很多,主要得益于channel的降低,FPN的channel都是256和512的,而BiFPN只使用160维,这里应该没有repeat

Table 4展示了Figure 2中同一网络使用不同跨尺寸连接的准确率和复杂度,BiFPN在准确率和复杂度上都是相当不错的

Table 5展示了不同model size下两种加权方法的对比,在精度损失不大的情况下,论文提出的fast normalized fusion能提升26%-31%的速度

figure 5展示了两种方法在训练时的权重变化过程,fast normalizaed fusion的变化过程与softmax方法十分相似。另外,可以看到权重的变化十分快速,这证明不同的特征的确贡献是不同的,

论文对比了混合缩放方法与其它方法,尽管开始的时候相差不多,但是随着模型的增大,混合精度的作用越来越明显

论文提出BiFPN这一轻量级的跨尺寸FPN以及定制的检测版混合缩放方法,基于这些优化,推出了EfficientDet系列算法,既保持高精度也保持了高性能,EfficientDet-D7达到了SOTA。整体而言,论文的idea基于之前的EfficientNet,创新点可能没有之前那么惊艳,但是从实验来看,论文推出的新检测框架十分实用,期待作者的开源

89 评论

相关问答

  • yolo目标检测论文

    论文原文: YOLO(you only look once)是继RCNN、faster-RCNN之后,又一里程碑式的目标检测算法。yolo在保持不错的准确度的

    爱吃爱喝薅羊毛 2人参与回答 2023-12-10
  • 论文大盘点目标检测篇

    姓名:牛晓银;学号:20181213993;学院:计算机科学与技术 转自: 【嵌牛导读】:目标检测,也叫目标提取,是一种基于目标几何和统计特征的图像分割

    羊咩咩要攒钱 1人参与回答 2023-12-09
  • 论文创新点查重被标红

    北标红的内容就说明他的重合度十分高,你可以试一下的方法,第一种就是语序颠倒,将你这句话语序颠倒过来,在不改变原意的情况下,或者是增添词语,或者是减去词语,总之就

    王道之战约定 4人参与回答 2023-12-12
  • 论文创新点模板科技创新

    论文的创新点写作技巧如下: 想要一篇有创意的论文,那么你的理论一定要要是足够创新的。理论创新的技巧可以按照以下思路来写。论文的创新,主要是一种理论创新。理论创新

    多肉小西瓜 5人参与回答 2023-12-10
  • 论文病句标点符号检测

    给你一篇原创的如何。论文前言的写作应该包括研究综述,提出自己论文的研究范围和研究观点。 研究综述 写作论文一定要有研究综述,也叫综述报告。研究综述是梳理本论文研

    开心土豆王 5人参与回答 2023-12-07