1. Introduction

对象检测的问题定义是确定对象在图像中的位置以及每个对象所属的类别。上面的定义给出了如何解决这个问题的线索:通过从图像(它们在哪里)生成对象提案,然后将每个提案分类成不同的对象类别(它属于哪个类别)。这个两步解决方案在某种程度上与人们看到事物的注意机制相匹配,首先给出整体场景的粗略扫描,然后重点关注我们感兴趣的区域。

事实上,上述直观的解决方案是研究界多年来一直在向前发展的方向。近来,通过计算机视觉的两个进步,两个步骤(提案生成和对象分类)都得到了令人满意的解决:首先是引入通用对象提案,其次是卷积神经网络(CNN)的复兴。通用对象提议算法(例如,Selective Search [34]和EdgeBox [38])可以为每个图像提供大约2000个提案,以覆盖大多数对象,并为每个提案使用更复杂的分类器。卷积神经网络(CNN)的繁荣来自于它的丰富表示能力和强大的图像识别泛化能力,这在挑战性的ImageNet分类任务中被证明[20,31,29]。利用现成的方法,开创性的工作R-CNN [15]表明,基于Selective Search的区域建议加上基于CNN的对象分类器可以在对象检测中取得非常有前途的表现。R-CNN框架由Fast R-CNN [14]和Faster R-CNN [27]进一步完善,前者实现了整个流水线的端到端学习,后者引入了RPN获得更高质量的对象提案。

虽然R-CNN框架在诸如PASCAL VOC之类的基准上实现了卓越的性能,但是在对每个任务(提案生成和分类)的结果进行详细分析之后,我们发现了很大的改进空间。我们声称目前的解决方案与任务要求之间存在偏差,这是流行的两步框架的核心问题。具体来说,在提案生成中,任务只需要对象的提案,但通用对象提议算法的输出仍然包含很大比例的背景区域。在对象分类中,任务要求在对象之间进行分类,而实际上在R-CNN中,它成为对象类别加背景之间的分类。 许多背景样本的存在使得特征表示捕获更少的类别内方差和更多的类别间差异(即主要在对象类别和背景之间),在不明确的对象类别中导致许多false positive(例如,将树分类为盆栽植物)。(不懂)

受到“分而治之”策略的启发,我们提出通过网络级联进一步划分每个任务,以缓解上述问题(见图1)。实际上,在提案生成任务中,我们添加另一个基于CNN的分类器,以便根据现成提案算法的输出(例如,区域提案网络)区分对象与背景。并且在对象分类任务中,由于N + 1类(N个对象类别加背景)交叉熵目标主要引导特征表示来学习类间方差,所以我们添加对于每个对象类别的二分类器,以便更多地关注类别内方差。通过每个任务中级联结构的精巧设计,我们发现它帮助了很多方面:对象建议更简洁和更好的定位,而检测更准确,在不明确的对象类别之间的false positive较少。(不懂)

结果,物体检测性能大大提高。 我们在对象检测基准PASCAL VOC 07/12以及更具挑战性的ILSVRC基准中比Faster R-CNN基线显示出一致和可观的增益。
     本文的其余部分组织如下。 我们在第2节中回顾和分析相关工作。我们的CRAFT方法在第3节中说明,并在第4节中进行了验证。 第5节总结本文。

2. Related work

CRAFT可以被看作是基于最先进的两步对象检测框架的增量工作。为了让读者充分了解我们的工作和潜在的动机,在本节中,我们首先从“分而治之”的角度回顾两步框架的发展。我们分别介绍提案生成和对象分类的重大进展。
在总结了building stone之后,我们简要介绍一些相关的工作,它们也尝试改进最先进的两步框架,并展示我们与他们的联系。

2.1. Development of the two-step framework

提案对于对象检测是非常重要的,并且提出了生成对象提议的不同方法。在检测具有固定纵横比的一个特定类别的近似刚体(如人脸或行人)的情况下(不懂),通常使用滑动窗口机制[23,28,35]。主要的缺点是候选窗口的数量可能大约为每个图像的O(10的6次方),由于效率问题,因此限制了分类器的复杂性。当涉及产生涵盖各种类别和各种形状的通用对象建议时(不懂),滑动窗口方法在计算上变得更加昂贵。

提出了许多工作来获得更加简洁的提案,可以分为两种类型:无监督的分组风格和监督的分类风格。分组风格中最流行的方法是选择性搜索[34],其通过多层次划分[10]生成的超像素来形成通用对象提议。其他典型的分组风格提案方法包括更快的EdgeBox [38],更简洁的MCG [1]。每个图像保留约2000个提案,可以实现Pascal VOC上的召回率为98%,ImageNet上的召回率为92%。除了较少的提案数量外,分组风格的另一个相对滑动窗口方法的优点是可以生成任意尺度和纵横比的提案,这提供了更多的灵活性。已经提出了许多工作进行进一步改进,并且可以在[16]中找到评估。

在监督阵营中,提案生成问题被定义为分类和/或回归问题。典型的方法包括BING [4]和Multi-box [32,8]。 BING使用二值特征和SVM来有效地从背景中分类对象。 Multi-box使用CNN以端到端的方式回归对象位置。最近提出的有希望的解决方案是RPN[27],其中使用多任务全卷积网络来共同估计提案位置,并给每个提案分配一个置信度分数。
提案的数量也减少到不到300,召回率更高。我们使用RPN作为CRAFT中的baseline提议算法。
       给定对象提案,检测问题成为对象分类任务,涉及表示和分类。纵观计算机视觉的历史,特征表示变得越来越复杂,从hand-crafted Haar [35]和HOG [7]到基于学习的CNN [15]。建立在这些特征表示之上,可以并入精心设计的模型。两个流行的模型是可形变部件模型(DPM [9])和Bag of Words(BOW [25,3])。给定特征表示,通常使用Boosting [11]和SVM [5]等分类器。Structural SVM [33,18]及其潜在版本[37]在问题具有结构性损失时被广泛使用。
      近三年来,随着CNN的复兴[20],基于CNN的表示在各种计算机视觉任务中实现了卓越的性能,包括对象识别和检测。目前最先进的是R-CNN方法。R-CNN[15]是第一个显示选择性搜索区域提案和CNN可以产生较大的性能增益,其中CNN在诸如ImageNet的大型数据集进行了预训练,以获得鲁棒的特征表示,并在目标检测数据集上进行微调。
 Fast R-CNN [14]通过在不同提案之间共享卷积来提高速度[19],并通过多任务丢失(区域分类和边界框回归)提高性能。 [27]使用RPN直接预测提案,通过与检测网络共享整个图像的卷积特征,使得整个流水线更快。我们使用Fast R-CNN作为CRAFT中的baseline对象分类模型。

2.2. Improvements on the two-step framework

基于两步对象检测框架,已经提出了许多工作来改进它。其中一些专注于提案部分。 [24,36]发现,使用CNN来收缩通过分组风格提案所产生的提案,可以提高性能。[12,21]使用CNN级联对滑动窗口进行排序或重新排列对象建议。 CRAFT与这些方法分享了相似之处和差异。共同的一个部分就是我们都是使用两个“级联”策略进一步缩小了提案数量,提高了提案质量。差异在于,这些方法是基于滑动窗口或分组风格提案,而我们的方法则基于已经具有更好提案质量的RPN。我们还表明,RPN提案和分组风格提案有些互补,可以通过我们的级联结构进行组合。
        其他一些工作都在努力改进检测网络(R-CNN和Fast R-CNN是受欢迎的选择)。 [13]提出了multi-region pipeline来捕获细粒度对象表示。 [2]介绍了Inside - Outside网络,通过skip-connection并通过空间循环单元融入图像的上下文信息,以捕获多尺度表示。 这些工作可以被视为学习更好的表示,而学习目标并没有改变。在CRAFT中,我们确定了Fast R-CNN中的当前目标函数导致最终检测中的缺陷,并通过级联另一个互补目标函数来解决此问题。
换句话说,像[13,2]这样的旨在学习更好的表示的工作与我们的工作是正交的。
       总而言之,在“分而治之”哲学的指导下,我们提出进一步划分当前最先进的对象检测框架的两个步骤,通过网络级联的精巧设计,两个任务都得到很大改进。我们的工作也是许多其他相关工作的补充。除了基于两步框架的改进之外,还有一些关于端到端检测框架的工作[22,30,26],这些框架丢弃了提案步骤。然而,这些方法在某些受限场景下运行良好,但在无约束环境中的通用对象检测中性能明显下降。

3.The CRAFT approach

在本节中,我们将解释为什么我们提出CRAFT,我们如何设计它和它如何工作。按照提案生成和分类框架,我们依次详细说明我们如何基于最先进的解决方案设计级联结构,以更好地解决每个任务。我们还介绍了实现细节。

3.1.Cascade proposal generation

3.1.1 Baseline RPN

一个理想的提案生成器应该在覆盖几乎所有对象实例的同时生成尽可能少的提案。在CNN深层次特征的强大抽象能力的帮助下,RPN能够捕捉不同对象之间的相似性。然而,当对区域进行分类时,实际上正在学习将其与非对象区分开的对象的外观模式(这种模式可能是多彩的分割,锐利和封闭边缘)。因此,其输出实际上是类似对象的区域。类似对象区域与需求的输出 - 对象实例之间的差距有改进的余地。另外,由于CNN池化操作造成的分辨率损失和固定
纵横比的滑动窗口,RPN在覆盖具有极大尺度或形状的物体时较弱。相反,分组风格的方法在这方面是互补的。
       为了分析RPN方法的性能,我们使用PASCAL VOC 2007 train + val,基于VGG M模型(在[29]中定义)训练RPN模型,并在表1中显示其性能。 在PASCAL VOC 2007测试集中,表中的召回率以0.5 IoU标准和每张图像300个提案计算。所有对象类别的总体召回率为94.87%,但每个对象类别的召回率差异很大。根据我们的假设,难以检测到具有极高纵横比和尺度的物体,如船和瓶。更重要的是,外观复杂度较低的物体或通常是浸在物体杂物中,也很难通过RPN(如植物,电视和椅子)与背景区分开来。

3.1.2 Cascade structure 
      为了在由RPN提供的对象区域和检测任务所要求的对象建议之间建立桥梁,我们引入了RPN之后的附加分类网络。
根据定义,我们需要的是在真实对象实例和背景/位置不佳的提案之间对象类区域进行分类。
因此,我们将附加网络作为二级检测网络(在图2中表示为FRCN网络),其使用RPN的输出作为训练数据。
在这样的级联结构中,RPN网络采用通用图像补丁作为输入,并负责捕获像纹理这样的一般模式,而FRCN网络将输入作为对象区域,并起到学习更精细细节的作用。
级联结构的优点是双重的:首先,额外的FRCN网络进一步提高了对象提案的质量,缩小了背景
区域,使提案更适合任务要求。
第二,来自多个来源的提案可以被合并为FRCN网络的输入,以便可以使用补充信息。
3.1.3实施
我们连续训练RPN和FRCN网。
 RPN网络以滑动窗口方式定期训练,以图像中的各种尺度和纵横比对所有区域进行分类,具有与[27]中相同的参数。 RPN网络训练完毕后,我们将对整个训练集进行测试,以产生每个训练图像的2000个原始提案。
这些提案用作训练数据来训练二进制分类器FRCN网。请注意,当训练第二个FRCN网络时,我们使用与RPN相同的正和负采样标准(高于0.7 IoU的正值和低于0.3 IoU
为负面)。
在测试阶段,我们首先在图像上运行RPN网络,产生2000个原始提案,然后在同一图像上运行FRCN网络以及2000个RPN提案作为输入,以获得最终提案。
经过适当抑制或阈值处理后,我们可以得到少于300份较高质量的提案。
我们使用FRCN网而不是RPN网作为第二个二进制分类器,因为FRCN网在其较高级别的连接中具有更多的参数,使得它更能够处理更困难的分类问题。
 如果我们使用RPN网络的模型定义作为第二个分类器,则性能下降。在我们目前的实现中,我们不会在RPN网络和FRCN网络之间共享全图像卷积特征。
如果我们分享它们,我们预计的很少的性能增益如[27]。

3.2。级联对象分类
3.2.1基线快速R-CNN
一个好的对象分类器应该将每个对象提议正确地分类到一定数量的类别中。
由于提案生成器的不完善,提案中存在相当多的背景区域和不正确的提案。
因此,当训练对象分类器时,通常会增加一个对象类别
添加为“背景”。
在成功的解决方案Fast R-CNN中,分类器通过softmax层通过多类横断面损失学习。
 辅助辅助损失边界框回归,检测性能
在R-CNN方法中优于“softmax + SVM”范式。
为了获得一个端到端的系统,快速R-CNN将在R-CNN中丢弃一对一静态SVM,从而产生了解决方案与任务需求之间的差距。
给定作为输入和最终对象检测的对象提案作为输出,该任务不仅需要进一步区分感兴趣类别的对象与非对象,而且还将对象分类为不同类,特别是具有相似外观和/或属于语义相关类型的对象(汽车和公共汽车,植物和树)。
这就需要一个能够同时捕获类别间和类别间差异的特征表征。
 在快速R-CNN的情况下,多类交叉熵损失负责帮助学习的特征层次结构捕获类别间差异,而在捕获类内方差方面较弱,因为“背景”类通常占用大比例的培训样本。
 Fast R-CNN的示例检测结果如图3所示,其中错误分类误差是最终检测中的主要问题。
3.2.2级联结构
为了改善错误分类造成的太多误报的问题,我们将每个对象类别的额外的两级横断面损失的形式返回给一对休息分类器(如图4所示)。
本质上,增加的分类器在R-CNN框架中扮演SVM的角色。我们发现使用该特定类别的检测输出训练每个一对休分类器(意味着检测应该在该特定类别上具有最高分数)是重要的。
 以这种方式,每一个对休息分类器看到一个特定对象类别(也包含一些假阳性)的提议,使其集中在捕获类内方差。
例如,在PASCAL VOC数据集中,“盆栽植物”附加分类器的培训样本通常是树木,草,盆栽植物和其他一些绿色的东西。
 培训结束后,能够捕捉到各种植物之间的微小差异,从而减少与此类相关的误报。
这种效应几乎不能通过多类交叉熵损失来实现。

3.2.3实施
在培训阶段,首先使用来自级联发电机的对象建议对FRCN网络(FRCN-1)进行了一次训练。
此后,我们根据FRCN-1(我们称之为原始检测)的输出培训另一个FRCN网(FRCN-2)。
由于我们现在处理对象之间的分类任务,所以我们丢弃被归类为“背景”的原始检测。
FRCN-2的目标函数是N 2类横断面损失(N等于对象类别数)的总和,每个2类分类器仅依赖于分配有相应类标签的原始检测。
一对一分类器的正,负抽样标准与RPN相同。
实际上,FRCN-2训练每张图像大约有20个原始检测,这是非常有限的。
为了有效地训练FRCN-2并有效地从建议中检测物体,我们共享了FRCN-1和FRCN-2的卷积权重,使得全图像特征映射
只需要计算一次。
也就是说,FRCN-2的卷积权重从FRCN-1初始化,并在FRCN-2训练期间保持固定。
 FRCN-2的全连接层也是从FRCN-1初始化的,也是新的
从高斯分布初始化产生2N分数和4N边界框回归目标的层。
在测试时间,以300个对象提案作为输入,FRCN-1输出约20个原始检测,每个具有N个原始分数。
然后,每个原始检测再次被FRCN-2分类,输出得分(N个类别)以类别方式乘以原始分数(N个类别),以获得该检测的最终N个分数。

CRAFT Objects from Images(2016)相关推荐

  1. 第一届大数据科学与工程国际会议(2016)征文通知

    第一届大数据科学与工程国际会议(2016)(THE 1ST INTERNATIONAL CONFERENCE ON BIG DATA SCIENCE AND ENGINEERING(BDSE2016) ...

  2. Deep Crossing: Web-Scale Modeling without Manually Crafted Combinatorial Features(2016)

    文章目录 Deep Crossing: Web-Scale Modeling without Manually Crafted Combinatorial Features(2016) (0)个人小结 ...

  3. 美亚杯第二届(2016)-个人赛

    案情 Hugo是一个职业黑客,他喜欢透过非法入侵其他人的电脑来炫耀自己高超的计算机技术.他也是一个臭名昭著的匪徒,其敛财手段主要有: 1)网络攻击诈骗: 2)编写及分发计算机病毒: 3)网络诈骗. H ...

  4. L1-020. 帅到没朋友(2016)

    L1-020. 帅到没朋友(2016) 当芸芸众生忙着在朋友圈中发照片的时候,总有一些人因为太帅而没有朋友.本题就要求你找出那些帅到没有朋友的人. 输入格式: 输入第一行给出一个正整数N(<=1 ...

  5. 个人记账系统 jsp + servlet + mysql (2016)

    jsp + servlet + mysql 个人记账系统(2016) 1.系统运行环境 运行环境:Java8 + MySQL8 + Tomcat8.0 开发工具:eclipse/idea 2.系统功能 ...

  6. 信息安全工程师考试大纲(2016)二

    考试科目2:信息安全应用技术 第 1 章:信息安全工程师考试大纲(2016) 考试科目2:信息安全应用技术 1.密码学应用 1.1 密码算法的实现 ● 了解DES/3DES密码算法的软件实现 ● 了解 ...

  7. MailBee.NET Objects发送电子邮件(SMTP)教程五:发送带有嵌入图片的网页和HTML邮件

    MailBee.NET Objects介绍和试用点击查看>>> 为了发送带有嵌入对象的电子邮件,开发人员应该使用SMTP object.首先,开发人员应该按照[MailBee.NET ...

  8. 征文通知:第三届(2016)科学数据大会——科学数据与创新发展

    数据作为一种资源,就像传统的水.煤炭.石油一样,对自然科学和社会科学有着极大的价值,并且正在改变人们的科研.生产.生活方式.整个世界都在快速地数据化,我们已大步迈向大数据时代,科学数据的开放.共享.挖 ...

  9. 第三届(2016)科学数据大会——科学数据与创新发展征文通知

    数据作为一种资源,就像传统的水.煤炭.石油一样,对自然科学和社会科学有着极大的价值,并且正在改变人们的科研.生产.生活方式.整个世界都在快速地数据化,我们已大步迈向大数据时代,科学数据的开放.共享.挖 ...

最新文章

  1. linux写时复制技术初探
  2. WannaCry勒索比特币蠕虫病毒解决方案
  3. 3d镜头 适配_您是否应该将镜头适配器与无反光镜相机一起使用?
  4. mmap内存映射、system V共享内存和Posix共享内存
  5. 物体检测算法:R-CNN,SSD,YOLO 动手学深度学习v2 pytorch
  6. 德乐SM2258XT固态硬盘DERLER T-1不认盘量产修复工具
  7. 预测大盘最准确的指标_预测大盘最准确的指标-图讯阅读基地
  8. fiddler和wireshark对比
  9. 【深度学习+组合优化】深度学习和强化学习在组合优化方面有哪些应用?
  10. 如何清除谷歌浏览器中的counterflix广告病毒
  11. threejs炫酷金属样式龙卷风js特效
  12. Ubuntu桌面版以太网无法设置IP
  13. 机器学习——DEAP数据集
  14. FileZilla 下载
  15. 【机器学习】五种超参数优化技巧
  16. 1-18 Collections工具类和StreamAPI流式编程
  17. js获取手机号码归属地(省)
  18. 宝塔linux面板和centOS的区别,AMH面板和宝塔linux面板哪个好
  19. mysql存储过程按区间_针对新手的MYSQL存储过程详解_CSDN_ChenF的博客-CSDN博客
  20. Inno Setup入门(十一)——完成安装后执行某些程序

热门文章

  1. mysql分页时获得行数_MySQL分页取得总行数新法
  2. 本地计算机用户改名,Win10怎么更改用户名? Win10本地账户改名教程
  3. 通用串行总线控制器:由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备(代码 19
  4. win10服务器无法在此时接受控制信息,win10提示该页正在访问其控制范围之外的信息的处理办法...
  5. 网页版的Xshell
  6. 学生用计算机排行,2017学生笔记本电脑排行
  7. 二叉树删除节点以及前中后序遍历
  8. 送客户的祝福语_给客户(合作伙伴)的生日祝福语
  9. Linux应用之串口编程
  10. 3.1.3 Fiddler工具详细教程