原文: Scalable Object Detection using Deep Neural Networks——学术范 最近,深度卷积神经网络在许多图像识别基准上取得了最先进的性能,包括ImageNet大规模视觉识别挑战(ILSVRC-2012)。在定位子任务中获胜的模型是一个网络,它预测了图像中每个对象类别的单个边界框和置信度得分。这样的模型捕获了围绕对象的整幅图像上下文,但如果不天真地复制每个实例的输出数量,就无法处理图像中同一对象的多个实例。在这篇论文中提出了一个显著性启发的神经网络检测模型,它预测了一组与类无关的边界框,每个框有一个分数,对应于它包含任何感兴趣的对象的可能性。该模型自然地为每个类处理数量可变的实例,并允许在网络的最高级别上进行跨类泛化。 目标检测是计算机视觉的基本任务之一。一个解决这个问题的通用范例是训练在子图像上操作的对象检测器,并在所有的场所和尺度上以详尽的方式应用这些检测器。这一范例被成功地应用于经过区别训练的可变形零件模型(DPM)中,以实现检测任务的最新结果。对所有可能位置和尺度的穷举搜索带来了计算上的挑战。随着类数量的增加,这个挑战变得更加困难,因为大多数方法都训练每个类单独的检测器。为了解决这个问题,人们提出了多种方法,从检测器级联到使用分割提出少量的对象假设。 关于对象检测的文献非常多,在本节中,我们将重点讨论利用类不可知思想和解决可伸缩性的方法。 许多提出的检测方法都是基于基于部件的模型,最近由于有区别学习和精心设计的特征,已经取得了令人印象深刻的性能。然而,这些方法依赖于在多个尺度上详尽地应用零件模板,这是非常昂贵的。此外,它们在类的数量上是可伸缩的,这对像ImageNet这样的现代数据集来说是一个挑战。 为了解决前一个问题,Lampert等人使用分支绑定策略来避免计算所有可能的对象位置。为了解决后一个问题,Song et al.使用了一个低维部件基,在所有对象类中共享。基于哈希算法的零件检测也取得了良好的结果。 另一种不同的工作,与我们的工作更接近,是基于对象可以本地化的想法,而不必知道它们的类。其中一些方法建立在自底向上无阶级分割[9]的基础上。通过这种方式得到的片段可以使用自上而下的反馈进行评分。基于同样的动机,Alexe等人使用一种廉价的分类器对对象假设是否为对象进行评分,并以这种方式减少了后续检测步骤的位置数量。这些方法可以被认为是多层模型,分割作为第一层,分割分类作为后续层。尽管它们编码了已证明的感知原理,但我们将表明,有更深入的模型,充分学习可以导致更好的结果。 最后,我们利用了DeepLearning的最新进展,最引人注目的是Krizhevsky等人的工作。我们将他们的边界盒回归检测方法扩展到以可扩展的方式处理多个对象的情况。然而,基于dnn的回归已经被Szegedy等人应用到对象掩模中。最后一种方法实现了最先进的检测性能,但由于单个掩模回归的成本,不能扩展到多个类。 我们的目标是通过预测一组表示潜在对象的边界盒来实现一种与类无关的可扩展对象检测。更准确地说,我们使用了深度神经网络(DNN),它输出固定数量的包围盒。此外,它为每个盒子输出一个分数,表示这个盒子包含一个对象的网络信任度。 为了形式化上述思想,我们将i-thobject框及其相关的置信度编码为最后一网层的节点值: Bounding box: 我们将每个框的左上角和右下角坐标编码为四个节点值,可以写成vectorli∈R4。这些坐标是归一化的w. r. t.图像尺寸,以实现图像绝对尺寸的不变性。每个归一化坐标是由最后一层的线性变换产生的。 Confidence: 置信度:包含一个对象的盒子的置信度得分被编码为单个节点valueci∈[0,1]。这个值是通过最后一个隐藏层的线性变换产生的,后面跟着一个sigmoid。 我们可以组合边界盒位置sli,i∈{1,…K}为一个线性层。同样,我们可以将所有置信区间ci,i∈{1,…K}作为一个s型层的输出。这两个输出层都连接到最后一个隐藏层 在推理时,我们的算法生成kbound盒。在我们的实验中,我们使用ek = 100和K= 200。如果需要,我们可以使用置信分数和非最大抑制在推理时获得较少数量的高置信框。这些盒子应该代表对象。因此,它们可以通过后续的分类器进行分类,实现目标检测。由于盒子的数量非常少,我们可以提供强大的分类器。在我们的实验中,我们使用另一个dnn进行分类。 我们训练一个DNN来预测每个训练图像的边界框及其置信度得分,以便得分最高的框与图像的groundtruth对象框很好地匹配。假设对于一个特定的训练例子,对象被标记为boundingboxesgj,j∈{1,…,M}。在实践中,pre- dictionary的数量远远大于groundtruthboxm的数量。因此,我们试图只优化与地面真实最匹配的预测框子集。我们优化他们的位置,以提高他们的匹配度,最大化他们的信心。与此同时,我们将剩余预测的置信度最小化,这被认为不能很好地定位真实对象。为了达到上述目的,我们为每个训练实例制定一个分配问题。Wexij∈{0,1}表示赋值:xij= 1,如果第i个预测被赋值给第j个真对象。这项任务的目标可以表示为 其中,我们使用标准化边界框坐标之间的el2距离来量化边界框之间的不同。此外,我们希望根据分配x优化盒子的可信度。最大化指定预测的置信度可以表示为 最终的损失目标结合了匹配损失和信心损失 受式1的约束。α平衡了不同损失条款的贡献。 对于每个训练例子,我们通过解决一个最佳的赋值x*的预测到真实的盒子 约束执行赋值解决方案。这是二部匹配的一种变体,是一种多项式复杂度匹配。在我们的应用程序中,匹配是非常便宜的——每幅图像中标记的对象的数量少于一打,而且在大多数情况下只有很少的对象被标记。然后,通过反向传播优化网络参数。例如,反向传播算法的一阶导数计算w、r、t、l和c 尽管上述定义的损失在原则上是足够的,但三次修改使其有可能更快地达到更好的准确性。第一个修改是对地面真实位置进行聚类,并找到这样的聚类/质心,我们可以使用这些聚类/质心作为每个预测位置的先验。因此,鼓励学习算法为每个预测位置学习一个残差到一个先验。 第二个修改涉及到在匹配过程中使用这些先验:不是将N个groundtruth位置与K个预测进行匹配,而是在K个先验和groundtruth之间找到最佳匹配。一旦匹配完成,就会像之前一样计算目标的置信度。此外,位置预测损失也不变:对于任何一对匹配的(目标,预测)位置,其损失定义为groundtruth和对应于匹配先验的坐标之间的差值。我们把使用先验匹配称为先验匹配,并假设它促进了预测的多样化。 需要注意的是,尽管我们以一种与类无关的方式定义了我们的方法,但我们可以将它应用于预测特定类的对象盒。要做到这一点,我们只需要在类的边框上训练我们的模型。此外,我们可以预测每个类的kbox。不幸的是,这个模型的参数数量会随着类的数量线性增长。此外,在一个典型的设置中,给定类的对象数量相对较少,这些参数中的大多数会看到很少有相应梯度贡献的训练示例。因此,我们认为我们的两步过程——首先本地化,然后识别——是一个更好的选择,因为它允许使用少量参数利用同一图像中多个对象类型的数据 我们使用的本地化和分类模型的网络架构与[10]使用的网络架构相同。我们使用Adagrad来控制学习速率衰减,128的小批量,以及使用多个相同的网络副本进行并行分布式训练,从而实现更快的收敛。如前所述,我们在定位损失中使用先验——这些是使用训练集上的均值来计算的。我们还使用α = 来平衡局部化和置信度损失。定位器可以输出用于推断的种植区以外的坐标。坐标被映射和截断到最后的图像区域。另外,使用非最大抑制对盒进行修剪,Jaccard相似度阈值为。然后,我们的第二个模型将每个边界框分类为感兴趣的对象或“背景”。为了训练我们的定位器网络,我们从训练集中生成了大约3000万幅图像,并对训练集中的每幅图像应用以下步骤。最后,样品被打乱。为了训练我们的本地化网络,我们通过对训练集中的每一幅图像应用以下步骤,从训练集中生成了大约3000万幅图像。对于每幅图像,我们生成相同数量的平方样本,使样本总数大约为1000万。对于每幅图像,样本被桶状填充,这样,对于0 - 5%、5 - 15%、15 - 50%、50 - 100%范围内的每个比例,都有相同数量的样本,其中被包围框覆盖的比例在给定范围内。训练集和我们大多数超参数的选择是基于过去使用非公开数据集的经验。在下面的实验中,我们没有探索任何非标准数据生成或正则化选项。在所有的实验中,所有的超参数都是通过对训练集。 Pascal Visual Object Classes (VOC)挑战是最常用的对象检测算法基准。它主要由复杂的场景图像组成,其中包含了20种不同的对象类别的边界框。在我们的评估中,我们关注的是2007版VOC,为此发布了一个测试集。我们通过培训VOC 2012展示了结果,其中包含了大约。11000张图片。我们训练了一个100框的定位器和一个基于深度网络的分类器。 我们在一个由1000万作物组成的数据集上训练分类器,该数据集重叠的对象至少为 jaccard重叠相似度。这些作物被标记为20个VOC对象类中的一个。•2000万负作物与任何物体盒最多有个Jaccard相似度。这些作物被贴上特殊的“背景”类标签。体系结构和超参数的选择遵循。 在第一轮中,定位器模型应用于图像中最大-最小中心方形作物。作物的大小调整到网络输入大小is220×220。单次通过这个网络,我们就可以得到上百个候选日期框。在对重叠阈值为的非最大抑制后,保留评分最高的前10个检测项,并通过21路分类器模型分别通过网络进行分类。最终的检测分数是给定盒子的定位分数乘以分类器在作物周围的最大方形区域上评估的分数的乘积。这些分数通过评估,并用于计算精确查全曲线。 首先,我们分析了本地化器在隔离状态下的性能。我们给出了被检测对象的数量,正如Pascal检测标准所定义的那样,与生成的包围框的数量相对比。在图1中,我们展示了使用VOC2012进行训练所获得的结果。此外,我们通过使用图像的最大中心面积(max-center square crop)作为输入以及使用两个尺度(second scale)来给出结果:最大中心面积(max-center crop)的第二个尺度(select3×3windows的大小为图像大小的60%)正如我们所看到的,当使用10个边界框的预算时,我们可以用第一个模型本地化的对象,用第二个模型本地化48%的对象。这显示出比其他报告的结果更好的性能,例如对象度算法达到42%[1]。此外,这个图表显示了在不同分辨率下观察图像的重要性。虽然我们的算法通过使用最大中心作物获得了大量的对象,但当使用更高分辨率的图像作物时,我们获得了额外的提升。进一步,我们用21-way分类器对生成的包围盒进行分类,如上所述。表1列出了VOC 2007的平均精度(APs)。达到的平均AP是,与先进水平相当。注意,我们的运行时间复杂度非常低——我们只使用top10框。示例检测和全精度召回曲线分别如图2和图3所示。值得注意的是,可视化检测是通过仅使用最大中心方形图像裁剪,即使用全图像获得的。然而,我们设法获得了相对较小的对象,例如第二行和第二列的船,以及第三行和第三列的羊。 在本工作中,我们提出了一种新的方法来定位图像中的对象,该方法可以预测多个边界框的时间。该方法使用深度卷积神经网络作为基本特征提取和学习模型。它制定了一个能够利用可变数量的groundtruth位置的多箱定位成本。在“一个类一个箱”方法的情况下,对1000个盒子进行非max-suppression,使用与给定图像中感兴趣的DeepMulti-Box方法相同的准则,并学习在未见图像中预测这些位置。 我们在VOC2007和ILSVRC-2012这两个具有挑战性的基准上给出了结果,在这两个基准上,所提出的方法具有竞争力。此外,该方法能够很好地预测后续分类器将探测到的位置。我们的结果表明,deepmultibox的方法是可扩展的,甚至可以在两个数据集之间泛化,就能够预测感兴趣的定位,甚至对于它没有训练的类别。此外,它能够捕获同一类物体的多种情况,这是旨在更好地理解图像的算法的一个重要特征。 在未来,我们希望能够将定位和识别路径折叠到一个单一的网络中,这样我们就能够在一个通过网络的一次性前馈中提取位置和类标签信息。即使在其当前状态下,双通道过程(本地化网络之后是分类网络)也会产生5-10个网络评估,每个评估的速度大约为1个CPU-sec(现代机器)。重要的是,这个数字并不与要识别的类的数量成线性关系,这使得所提出的方法与类似dpm的方法非常有竞争力。
论文名称:Rich feature hierarchies for accurate object detection and semantic segmentation 提出时间:2014年 论文地址: 针对问题: 从Alexnet提出后,作者等人思考如何利用卷积网络来完成检测任务,即输入一张图,实现图上目标的定位(目标在哪)和分类(目标是什么)两个目标,并最终完成了RCNN网络模型。 创新点: RCNN提出时,检测网络的执行思路还是脱胎于分类网络。也就是深度学习部分仅完成输入图像块的分类工作。那么对检测任务来说如何完成目标的定位呢,作者采用的是Selective Search候选区域提取算法,来获得当前输入图上可能包含目标的不同图像块,再将图像块裁剪到固定的尺寸输入CNN网络来进行当前图像块类别的判断。 参考博客: 。 论文题目:OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks 提出时间:2014年 论文地址: 针对问题: 该论文讨论了,CNN提取到的特征能够同时用于定位和分类两个任务。也就是在CNN提取到特征以后,在网络后端组织两组卷积或全连接层,一组用于实现定位,输出当前图像上目标的最小外接矩形框坐标,一组用于分类,输出当前图像上目标的类别信息。也是以此为起点,检测网络出现基础主干网络(backbone)+分类头或回归头(定位头)的网络设计模式雏形。 创新点: 在这篇论文中还有两个比较有意思的点,一是作者认为全连接层其实质实现的操作和1x1的卷积是类似的,而且用1x1的卷积核还可以避免FC对输入特征尺寸的限制,那用1x1卷积来替换FC层,是否可行呢?作者在测试时通过将全连接层替换为1x1卷积核证明是可行的;二是提出了offset max-pooling,也就是对池化层输入特征不能整除的情况,通过进行滑动池化并将不同的池化层传递给后续网络层来提高效果。另外作者在论文里提到他的用法是先基于主干网络+分类头训练,然后切换分类头为回归头,再训练回归头的参数,最终完成整个网络的训练。图像的输入作者采用的是直接在输入图上利用卷积核划窗。然后在指定的每个网络层上回归目标的尺度和空间位置。 参考博客: 论文题目:Scalable Object Detection using Deep Neural Networks 提出时间:2014年 论文地址: 针对问题: 既然CNN网络提取的特征可以直接用于检测任务(定位+分类),作者就尝试将目标框(可能包含目标的最小外包矩形框)提取任务放到CNN中进行。也就是直接通过网络完成输入图像上目标的定位工作。 创新点: 本文作者通过将物体检测问题定义为输出多个bounding box的回归问题. 同时每个bounding box会输出关于是否包含目标物体的置信度, 使得模型更加紧凑和高效。先通过聚类获得图像中可能有目标的位置聚类中心,(800个anchor box)然后学习预测不考虑目标类别的二分类网络,背景or前景。用到了多尺度下的检测。 参考博客: 论文题目:DeepBox: Learning Objectness with Convolutional Networks 提出时间:2015年ICCV 论文地址: 主要针对的问题: 本文完成的工作与第三篇类似,都是对目标框提取算法的优化方案,区别是本文首先采用自底而上的方案来提取图像上的疑似目标框,然后再利用CNN网络提取特征对目标框进行是否为前景区域的排序;而第三篇为直接利用CNN网络来回归图像上可能的目标位置。创新点: 本文作者想通过CNN学习输入图像的特征,从而实现对输入网络目标框是否为真实目标的情况进行计算,量化每个输入框的包含目标的可能性值。 参考博客: 论文题目:AttentionNet: AggregatingWeak Directions for Accurate Object Detection 提出时间:2015年ICCV 论文地址: 主要针对的问题: 对检测网络的实现方案进行思考,之前的执行策略是,先确定输入图像中可能包含目标位置的矩形框,再对每个矩形框进行分类和回归从而确定目标的准确位置,参考RCNN。那么能否直接利用回归的思路从图像的四个角点,逐渐得到目标的最小外接矩形框和类别呢? 创新点: 通过从图像的四个角点,逐步迭代的方式,每次计算一个缩小的方向,并缩小指定的距离来使得逐渐逼近目标。作者还提出了针对多目标情况的处理方式。 参考博客: 论文题目:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition 提出时间:2014年 论文地址: 针对问题: 如RCNN会将输入的目标图像块处理到同一尺寸再输入进CNN网络,在处理过程中就造成了图像块信息的损失。在实际的场景中,输入网络的目标尺寸很难统一,而网络最后的全连接层又要求输入的特征信息为统一维度的向量。作者就尝试进行不同尺寸CNN网络提取到的特征维度进行统一。创新点: 作者提出的SPPnet中,通过使用特征金字塔池化来使得最后的卷积层输出结果可以统一到全连接层需要的尺寸,在训练的时候,池化的操作还是通过滑动窗口完成的,池化的核宽高及步长通过当前层的特征图的宽高计算得到。原论文中的特征金字塔池化操作图示如下。 参考博客 : 论文题目:Object detection via a multi-region & semantic segmentation-aware CNN model 提出时间:2015年 论文地址: 针对问题: 既然第三篇论文multibox算法提出了可以用CNN来实现输入图像中待检测目标的定位,本文作者就尝试增加一些训练时的方法技巧来提高CNN网络最终的定位精度。创新点: 作者通过对输入网络的region进行一定的处理(通过数据增强,使得网络利用目标周围的上下文信息得到更精准的目标框)来增加网络对目标回归框的精度。具体的处理方式包括:扩大输入目标的标签包围框、取输入目标的标签中包围框的一部分等并对不同区域分别回归位置,使得网络对目标的边界更加敏感。这种操作丰富了输入目标的多样性,从而提高了回归框的精度。 参考博客 : 论文题目:Fast-RCNN 提出时间:2015年 论文地址: 针对问题: RCNN中的CNN每输入一个图像块就要执行一次前向计算,这显然是非常耗时的,那么如何优化这部分呢? 创新点: 作者参考了SPPNet(第六篇论文),在网络中实现了ROIpooling来使得输入的图像块不用裁剪到统一尺寸,从而避免了输入的信息丢失。其次是将整张图输入网络得到特征图,再将原图上用Selective Search算法得到的目标框映射到特征图上,避免了特征的重复提取。 参考博客 : 论文题目:DeepProposal: Hunting Objects by Cascading Deep Convolutional Layers 提出时间:2015年 论文地址: 主要针对的问题: 本文的作者观察到CNN可以提取到很棒的对输入图像进行表征的论文,作者尝试通过实验来对CNN网络不同层所产生的特征的作用和情况进行讨论和解析。 创新点: 作者在不同的激活层上以滑动窗口的方式生成了假设,并表明最终的卷积层可以以较高的查全率找到感兴趣的对象,但是由于特征图的粗糙性,定位性很差。相反,网络的第一层可以更好地定位感兴趣的对象,但召回率降低。 论文题目:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks 提出时间:2015年NIPS 论文地址: 主要针对的问题: 由multibox(第三篇)和DeepBox(第四篇)等论文,我们知道,用CNN可以生成目标待检测框,并判定当前框为目标的概率,那能否将该模型整合到目标检测的模型中,从而实现真正输入端为图像,输出为最终检测结果的,全部依赖CNN完成的检测系统呢? 创新点: 将当前输入图目标框提取整合到了检测网络中,依赖一个小的目标框提取网络RPN来替代Selective Search算法,从而实现真正的端到端检测算法。 参考博客 :
【嵌牛导读】目标检测在现实中的应用很广泛,我们需要检测数字图像中的物体位置以及类别,它需要我们构建一个模型,模型的输入一张图片,模型的输出需要圈出图片中所有物体的位置以及物体所属的类别。在深度学习浪潮到来之前,目标检测精度的进步十分缓慢,靠传统依靠手工特征的方法来提高精度已是相当困难的事。而ImageNet分类大赛出现的卷积神经网络(CNN)——AlexNet所展现的强大性能,吸引着学者们将CNN迁移到了其他的任务,这也包括着目标检测任务,近年来,出现了很多目标检测算法。 【嵌牛鼻子】计算机视觉 【嵌牛提问】如何理解目标检测算法——OverFeat 【嵌牛正文】 一、深度学习的典型目标检测算法 深度学习目标检测算法主要分为 双阶段检测算法 和 单阶段检测算法 ,如图1所示。双阶段目标检测算法先对图像提取候选框,然后基于候选区域做二次修正得到检测结果,检测精度较高,但检测速度较慢;单阶段目标验测算法直接对图像进行计算生成检测结果,检测速度快,但检测精度低。 1、双阶段目标检测算法 双阶段目标检测方法主要通过选择性搜索(Selective Search)或者Edge Boxes等算法对输入图像选取可能包含检测目标的候选区域(Region Proposal),再对候选区域进行分类和位置回归以得到检测结果。 OverFeat 算法 《OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks》 Sermanet 等改进AlexNet 提出 OverFeat 算法。该算法结合AlexNet通过多尺度滑动窗口实现特征提取功能,并且共享特征提取层,应用于图像分类、定位和目标检测等任务。 关键技术: 1、FCN( 全卷积神经网络 ) 对于一个各层参数结构都设计好的网络模型,要求输入图片的尺寸是固定的(例如,Alexnet要求输入图片的尺寸为227px*227px)。如果输入一张500*500的图片,希望模型仍然可以一直前向传导,即一个已经设计完毕的网络,可以输入任意大小的图片,这就是FCN。 FCN的思想在于: 1、从卷积层到全连接层,看成是对一整张图片的卷积层运算。 2、从全连接层到全连接层,看成是采用1*1大小的卷积核,进行卷积层运算。如上图所示,绿色部分代表卷积核大小。假设一个CNN模型,其输入图片大小是14*14,通过第一层卷积后得到10*10大小的图片,然后接着通过池化得到了5*5大小的图片。像但是对于像素值为5*5的图片到像素值为1*1的图片的过程中: (1)传统的CNN:如果从以前的角度进行理解的话,那么这个过程就是全连接层,我们会把这个5*5大小的图片,展平成为一维向量进行计算。 (2)FCN:FCN并不是把5*5的图片展平成一维向量再进行计算,而是直接采用5*5的卷积核,对一整张图片进行卷积运算。 二者本质上是相同的,只是角度不同,FCN把这个过程当成了对一整张特征图进行卷积,同样,后面的全连接层也是把它当做是以1*1大小的卷积核进行卷积运算。 当输入一张任意大小的图片,就需要利用以上所述的网络,例如输入一张像素为16*16的图片:根据上图,该网络最后的输出是一张2*2的图片。可见采用FCN网络可以输入任意大小的图片。同时需要注意的是网络最后输出的图片大小不在是一个1*1大小的图片,而是一个与输入图片大小息息相关的一张图片。 Overfeat就是把采用FCN的思想把全连接层看成了卷积层,在网络测试阶段可以输入任意大小的图片。 2、offset max-pooling 简单起见,不用二维的图像作为例子,而是采用一维作为示例: 如上图所示,在X轴上有20个神经元,并且选择池化size=3的非重叠池化,那么根据之前所学的方法应该是:对上面的20个神经元,从1位置开始进行分组,每3个连续的神经元为一组,然后计算每组的最大值(最大池化),19、20号神经元将被丢弃,如下图所示: 或者可以在20号神经元后面,添加一个数值为0的神经元编号21,与19、20成为一组,这样可以分成7组:[1,2,3],[4,5,6]……, [16,17,18],[19,20,21],最后计算每组的最大值。 如果只分6组,除了以1作为初始位置进行连续组合之外,也可以从位置2或者3开始进行组合。也就是说其实有3种池化组合方法: A、△=0分组:[1,2,3],[4,5,6]……,[16,17,18]; B、△=1分组:[2,3,4],[5,6,7]……,[17,18,19]; C、△=2分组:[3,4,5],[6,7,8]……,[18,19,20]; 对应图片如下: 以往的CNN中,一般只用△=0的情况,得到池化结果后,就送入了下一层。但是该文献的方法是,把上面的△=0、△=1、△=2的三种组合方式的池化结果,分别送入网络的下一层。这样的话,网络在最后输出的时候,就会出现3种预测结果了。 前面所述是一维的情况,如果是2维图片的话,那么(△x,△y)就会有9种取值情况(3*3);如果我们在做图片分类的时候,在网络的某一个池化层加入了这种offset 池化方法,然后把这9种池化结果,分别送入后面的网络层,最后的图片分类输出结果就可以得到9个预测结果(每个类别都可以得到9种概率值,然后我们对每个类别的9种概率,取其最大值,做为此类别的预测概率值)。 算法原理: 文献中的算法,就是把这两种思想结合起来,形成了文献最后测试阶段的算法。 1、论文的网络架构与训练阶段 (1)网络架构 对于网络的结构,文献给出了两个版本——快速版、精确版,一个精度比较高但速度慢;另外一个精度虽然低但是速度快。下面是高精度版本的网络结构表相关参数: 表格参数说明: 网络输入:图片大小为221px*221px; 网络结构方面基本上和AlexNet相同,使用了ReLU激活,最大池化。不同之处在于:(a)作者没有使用局部响应归一化层;(b)然后也没有采用重叠池化的方法;(c)在第一层卷积层,stride作者是选择了2,这个与AlexNet不同(AlexNet选择的跨步是4,在网络中,如果stride选择比较大得话,虽然可以减少网络层数,提高速度,但是却会降低精度)。 需要注意的是把f7这一层,看成是卷积核大小为5*5的卷积层,总之就是需要把网络看成前面所述的FCN模型,去除了全连接层的概念,因为在测试阶段可不是仅仅输入221*221这样大小的图片,在测试阶段要输入各种大小的图片,具体请看后面测试阶段的讲解。 (2)网络训练 训练输入:对于每张原图片为256*256,然后进行随机裁剪为221*221的大小作为CNN输入,进行训练。 优化求解参数设置:训练的min-batchs选择128,权重初始化选择高斯分布的随机初始化: 然后采用随机梯度下降法,进行优化更新,动量项参数大小选择,L2权重衰减系数大小选择10-5次方。学习率初始化值为,根据迭代次数的增加,每隔几十次的迭代后,就把学习率的大小减小一半。 然后就是DropOut,这个只有在最后的两个全连接层,才采用dropout,dropout比率选择。 2、网络测试阶段 在Alexnet的文献中,预测方法是输入一张图片256*256,然后进行multi-view裁剪,也就是从图片的四个角进行裁剪,还有就是一图片的中心进行裁剪,这样可以裁剪到5张224*224的图片。然后把原图片水平翻转一下,再用同样的方式进行裁剪,又可以裁剪到5张图片。把这10张图片作为输入,分别进行预测分类,在后在softmax的最后一层,求取个各类的总概率,求取平均值。 然而Alexnet这种预测方法存在两个问题: 一方面这样的裁剪方式,把图片的很多区域都给忽略了,这样的裁剪方式,刚好把图片物体的一部分给裁剪掉了; 另一方面,裁剪窗口重叠存在很多冗余的计算,像上面要分别把10张图片送入网络,可见测试阶段的计算量还是较大的。 Overfeat算法: 训练完上面所说的网络之后,在测试阶段不再是用一张221*221大小的图片了作为网络的输入,而是用了6张大小都不相同的图片,也就是所谓的多尺度输入预测,如下表格所示: 当网络前向传导到layer 5的时候,就利用了前面所述的FCN、offset pooling这两种思想的相结合。现以输入一张图片为例(6张图片的计算方法都相同),讲解layer 5后面的整体过程,具体流程示意图如下: 步骤一: 对于某个尺度的图片,经过前五层的卷积后得到特征图。上图中特征图的分辨率是20x23,256个通道。 步骤二: 对于该特征图,重复多次使用非重叠的池化,每次池化的偏置不同,有行偏置和列偏置。上图中偏置池化3次,偏置分别为为(0,1,2)。这就是offset pooling,也被称为fine stride。offset pooling得到的特征图的维度为6x7x3x3xD,其中6x7是特征图的分辨率,3x3是偏置池化的次数,D是通道数。上图中是以1维显示的。 步骤三: 池化后得到的特征图将被送入分类器。 步骤四: 分类器的输入是的5x5xD,输出是C(类别数)维向量。但是offset pooling后得到的特征图并不是5x5xD,比如上图中的特征图大小为6x7xD,因此分类器以滑动窗口的方式应用在特征图上,每个滑动窗口经过分类器输出一个C维向量。比如上图中输入的6x7xD的特征图最终得到2x3xC的输出,其中2x3是滑动窗口的个数。 步骤五: 而2x3xC只是一组偏置池化的输出,总的输出为2x3x3x3xC,将输出的张量reshape,得到6x9xC输出张量。最终输出分类张量为3d张量,即两个分辨率维度 x C维。 然后需要在后面把它们拉成一维向量,这样在一个尺度上,可以得到一个C*N个预测值矩阵,每一列就表示图片属于某一类别的概率值,并且求取每一列的最大值,作为本尺度的每个类别的概率值。 最后一共用了6种不同尺度(文献使用了12张,另外6张是水平翻转的图片)进行做预测,然后把这六种尺度结果再做一个平均,作为最最后的结果。 从上面过程可以看到整个网络分成两部分:layer 1~5这五层称之为特征提取层;layer 6~output称之为分类层。 六、定位任务 用于定位任务的时候,就把分类层(上面的layer 6~output)给重新设计一下,把分类改成回归问题,然后在各种不同尺度上训练预测物体的bounding box。
【嵌牛导读】目标检测在现实中的应用很广泛,我们需要检测数字图像中的物体位置以及类别,它需要我们构建一个模型,模型的输入一张图片,模型的输出需要圈出图片中所有物体的位置以及物体所属的类别。在深度学习浪潮到来之前,目标检测精度的进步十分缓慢,靠传统依靠手工特征的方法来提高精度已是相当困难的事。而ImageNet分类大赛出现的卷积神经网络(CNN)——AlexNet所展现的强大性能,吸引着学者们将CNN迁移到了其他的任务,这也包括着目标检测任务,近年来,出现了很多目标检测算法。 【嵌牛鼻子】计算机视觉 【嵌牛提问】如何理解目标检测算法——OverFeat 【嵌牛正文】 一、深度学习的典型目标检测算法 深度学习目标检测算法主要分为 双阶段检测算法 和 单阶段检测算法 ,如图1所示。双阶段目标检测算法先对图像提取候选框,然后基于候选区域做二次修正得到检测结果,检测精度较高,但检测速度较慢;单阶段目标验测算法直接对图像进行计算生成检测结果,检测速度快,但检测精度低。 1、双阶段目标检测算法 双阶段目标检测方法主要通过选择性搜索(Selective Search)或者Edge Boxes等算法对输入图像选取可能包含检测目标的候选区域(Region Proposal),再对候选区域进行分类和位置回归以得到检测结果。 OverFeat 算法 《OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks》 Sermanet 等改进AlexNet 提出 OverFeat 算法。该算法结合AlexNet通过多尺度滑动窗口实现特征提取功能,并且共享特征提取层,应用于图像分类、定位和目标检测等任务。 关键技术: 1、FCN( 全卷积神经网络 ) 对于一个各层参数结构都设计好的网络模型,要求输入图片的尺寸是固定的(例如,Alexnet要求输入图片的尺寸为227px*227px)。如果输入一张500*500的图片,希望模型仍然可以一直前向传导,即一个已经设计完毕的网络,可以输入任意大小的图片,这就是FCN。 FCN的思想在于: 1、从卷积层到全连接层,看成是对一整张图片的卷积层运算。 2、从全连接层到全连接层,看成是采用1*1大小的卷积核,进行卷积层运算。如上图所示,绿色部分代表卷积核大小。假设一个CNN模型,其输入图片大小是14*14,通过第一层卷积后得到10*10大小的图片,然后接着通过池化得到了5*5大小的图片。像但是对于像素值为5*5的图片到像素值为1*1的图片的过程中: (1)传统的CNN:如果从以前的角度进行理解的话,那么这个过程就是全连接层,我们会把这个5*5大小的图片,展平成为一维向量进行计算。 (2)FCN:FCN并不是把5*5的图片展平成一维向量再进行计算,而是直接采用5*5的卷积核,对一整张图片进行卷积运算。 二者本质上是相同的,只是角度不同,FCN把这个过程当成了对一整张特征图进行卷积,同样,后面的全连接层也是把它当做是以1*1大小的卷积核进行卷积运算。 当输入一张任意大小的图片,就需要利用以上所述的网络,例如输入一张像素为16*16的图片:根据上图,该网络最后的输出是一张2*2的图片。可见采用FCN网络可以输入任意大小的图片。同时需要注意的是网络最后输出的图片大小不在是一个1*1大小的图片,而是一个与输入图片大小息息相关的一张图片。 Overfeat就是把采用FCN的思想把全连接层看成了卷积层,在网络测试阶段可以输入任意大小的图片。 2、offset max-pooling 简单起见,不用二维的图像作为例子,而是采用一维作为示例: 如上图所示,在X轴上有20个神经元,并且选择池化size=3的非重叠池化,那么根据之前所学的方法应该是:对上面的20个神经元,从1位置开始进行分组,每3个连续的神经元为一组,然后计算每组的最大值(最大池化),19、20号神经元将被丢弃,如下图所示: 或者可以在20号神经元后面,添加一个数值为0的神经元编号21,与19、20成为一组,这样可以分成7组:[1,2,3],[4,5,6]……, [16,17,18],[19,20,21],最后计算每组的最大值。 如果只分6组,除了以1作为初始位置进行连续组合之外,也可以从位置2或者3开始进行组合。也就是说其实有3种池化组合方法: A、△=0分组:[1,2,3],[4,5,6]……,[16,17,18]; B、△=1分组:[2,3,4],[5,6,7]……,[17,18,19]; C、△=2分组:[3,4,5],[6,7,8]……,[18,19,20]; 对应图片如下: 以往的CNN中,一般只用△=0的情况,得到池化结果后,就送入了下一层。但是该文献的方法是,把上面的△=0、△=1、△=2的三种组合方式的池化结果,分别送入网络的下一层。这样的话,网络在最后输出的时候,就会出现3种预测结果了。 前面所述是一维的情况,如果是2维图片的话,那么(△x,△y)就会有9种取值情况(3*3);如果我们在做图片分类的时候,在网络的某一个池化层加入了这种offset 池化方法,然后把这9种池化结果,分别送入后面的网络层,最后的图片分类输出结果就可以得到9个预测结果(每个类别都可以得到9种概率值,然后我们对每个类别的9种概率,取其最大值,做为此类别的预测概率值)。 算法原理: 文献中的算法,就是把这两种思想结合起来,形成了文献最后测试阶段的算法。 1、论文的网络架构与训练阶段 (1)网络架构 对于网络的结构,文献给出了两个版本——快速版、精确版,一个精度比较高但速度慢;另外一个精度虽然低但是速度快。下面是高精度版本的网络结构表相关参数: 表格参数说明: 网络输入:图片大小为221px*221px; 网络结构方面基本上和AlexNet相同,使用了ReLU激活,最大池化。不同之处在于:(a)作者没有使用局部响应归一化层;(b)然后也没有采用重叠池化的方法;(c)在第一层卷积层,stride作者是选择了2,这个与AlexNet不同(AlexNet选择的跨步是4,在网络中,如果stride选择比较大得话,虽然可以减少网络层数,提高速度,但是却会降低精度)。 需要注意的是把f7这一层,看成是卷积核大小为5*5的卷积层,总之就是需要把网络看成前面所述的FCN模型,去除了全连接层的概念,因为在测试阶段可不是仅仅输入221*221这样大小的图片,在测试阶段要输入各种大小的图片,具体请看后面测试阶段的讲解。 (2)网络训练 训练输入:对于每张原图片为256*256,然后进行随机裁剪为221*221的大小作为CNN输入,进行训练。 优化求解参数设置:训练的min-batchs选择128,权重初始化选择高斯分布的随机初始化: 然后采用随机梯度下降法,进行优化更新,动量项参数大小选择,L2权重衰减系数大小选择10-5次方。学习率初始化值为,根据迭代次数的增加,每隔几十次的迭代后,就把学习率的大小减小一半。 然后就是DropOut,这个只有在最后的两个全连接层,才采用dropout,dropout比率选择。 2、网络测试阶段 在Alexnet的文献中,预测方法是输入一张图片256*256,然后进行multi-view裁剪,也就是从图片的四个角进行裁剪,还有就是一图片的中心进行裁剪,这样可以裁剪到5张224*224的图片。然后把原图片水平翻转一下,再用同样的方式进行裁剪,又可以裁剪到5张图片。把这10张图片作为输入,分别进行预测分类,在后在softmax的最后一层,求取个各类的总概率,求取平均值。 然而Alexnet这种预测方法存在两个问题: 一方面这样的裁剪方式,把图片的很多区域都给忽略了,这样的裁剪方式,刚好把图片物体的一部分给裁剪掉了; 另一方面,裁剪窗口重叠存在很多冗余的计算,像上面要分别把10张图片送入网络,可见测试阶段的计算量还是较大的。 Overfeat算法: 训练完上面所说的网络之后,在测试阶段不再是用一张221*221大小的图片了作为网络的输入,而是用了6张大小都不相同的图片,也就是所谓的多尺度输入预测,如下表格所示: 当网络前向传导到layer 5的时候,就利用了前面所述的FCN、offset pooling这两种思想的相结合。现以输入一张图片为例(6张图片的计算方法都相同),讲解layer 5后面的整体过程,具体流程示意图如下: 步骤一: 对于某个尺度的图片,经过前五层的卷积后得到特征图。上图中特征图的分辨率是20x23,256个通道。 步骤二: 对于该特征图,重复多次使用非重叠的池化,每次池化的偏置不同,有行偏置和列偏置。上图中偏置池化3次,偏置分别为为(0,1,2)。这就是offset pooling,也被称为fine stride。offset pooling得到的特征图的维度为6x7x3x3xD,其中6x7是特征图的分辨率,3x3是偏置池化的次数,D是通道数。上图中是以1维显示的。 步骤三: 池化后得到的特征图将被送入分类器。 步骤四: 分类器的输入是的5x5xD,输出是C(类别数)维向量。但是offset pooling后得到的特征图并不是5x5xD,比如上图中的特征图大小为6x7xD,因此分类器以滑动窗口的方式应用在特征图上,每个滑动窗口经过分类器输出一个C维向量。比如上图中输入的6x7xD的特征图最终得到2x3xC的输出,其中2x3是滑动窗口的个数。 步骤五: 而2x3xC只是一组偏置池化的输出,总的输出为2x3x3x3xC,将输出的张量reshape,得到6x9xC输出张量。最终输出分类张量为3d张量,即两个分辨率维度 x C维。 然后需要在后面把它们拉成一维向量,这样在一个尺度上,可以得到一个C*N个预测值矩阵,每一列就表示图片属于某一类别的概率值,并且求取每一列的最大值,作为本尺度的每个类别的概率值。 最后一共用了6种不同尺度(文献使用了12张,另外6张是水平翻转的图片)进行做预测,然后把这六种尺度结果再做一个平均,作为最最后的结果。 从上面过程可以看到整个网络分成两部分:layer 1~5这五层称之为特征提取层;layer 6~output称之为分类层。 六、定位任务 用于定位任务的时候,就把分类层(上面的layer 6~output)给重新设计一下,把分类改成回归问题,然后在各种不同尺度上训练预测物体的bounding box。
论文名称:Rich feature hierarchies for accurate object detection and semantic segmentation 提出时间:2014年 论文地址: 针对问题: 从Alexnet提出后,作者等人思考如何利用卷积网络来完成检测任务,即输入一张图,实现图上目标的定位(目标在哪)和分类(目标是什么)两个目标,并最终完成了RCNN网络模型。 创新点: RCNN提出时,检测网络的执行思路还是脱胎于分类网络。也就是深度学习部分仅完成输入图像块的分类工作。那么对检测任务来说如何完成目标的定位呢,作者采用的是Selective Search候选区域提取算法,来获得当前输入图上可能包含目标的不同图像块,再将图像块裁剪到固定的尺寸输入CNN网络来进行当前图像块类别的判断。 参考博客: 。 论文题目:OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks 提出时间:2014年 论文地址: 针对问题: 该论文讨论了,CNN提取到的特征能够同时用于定位和分类两个任务。也就是在CNN提取到特征以后,在网络后端组织两组卷积或全连接层,一组用于实现定位,输出当前图像上目标的最小外接矩形框坐标,一组用于分类,输出当前图像上目标的类别信息。也是以此为起点,检测网络出现基础主干网络(backbone)+分类头或回归头(定位头)的网络设计模式雏形。 创新点: 在这篇论文中还有两个比较有意思的点,一是作者认为全连接层其实质实现的操作和1x1的卷积是类似的,而且用1x1的卷积核还可以避免FC对输入特征尺寸的限制,那用1x1卷积来替换FC层,是否可行呢?作者在测试时通过将全连接层替换为1x1卷积核证明是可行的;二是提出了offset max-pooling,也就是对池化层输入特征不能整除的情况,通过进行滑动池化并将不同的池化层传递给后续网络层来提高效果。另外作者在论文里提到他的用法是先基于主干网络+分类头训练,然后切换分类头为回归头,再训练回归头的参数,最终完成整个网络的训练。图像的输入作者采用的是直接在输入图上利用卷积核划窗。然后在指定的每个网络层上回归目标的尺度和空间位置。 参考博客: 论文题目:Scalable Object Detection using Deep Neural Networks 提出时间:2014年 论文地址: 针对问题: 既然CNN网络提取的特征可以直接用于检测任务(定位+分类),作者就尝试将目标框(可能包含目标的最小外包矩形框)提取任务放到CNN中进行。也就是直接通过网络完成输入图像上目标的定位工作。 创新点: 本文作者通过将物体检测问题定义为输出多个bounding box的回归问题. 同时每个bounding box会输出关于是否包含目标物体的置信度, 使得模型更加紧凑和高效。先通过聚类获得图像中可能有目标的位置聚类中心,(800个anchor box)然后学习预测不考虑目标类别的二分类网络,背景or前景。用到了多尺度下的检测。 参考博客: 论文题目:DeepBox: Learning Objectness with Convolutional Networks 提出时间:2015年ICCV 论文地址: 主要针对的问题: 本文完成的工作与第三篇类似,都是对目标框提取算法的优化方案,区别是本文首先采用自底而上的方案来提取图像上的疑似目标框,然后再利用CNN网络提取特征对目标框进行是否为前景区域的排序;而第三篇为直接利用CNN网络来回归图像上可能的目标位置。创新点: 本文作者想通过CNN学习输入图像的特征,从而实现对输入网络目标框是否为真实目标的情况进行计算,量化每个输入框的包含目标的可能性值。 参考博客: 论文题目:AttentionNet: AggregatingWeak Directions for Accurate Object Detection 提出时间:2015年ICCV 论文地址: 主要针对的问题: 对检测网络的实现方案进行思考,之前的执行策略是,先确定输入图像中可能包含目标位置的矩形框,再对每个矩形框进行分类和回归从而确定目标的准确位置,参考RCNN。那么能否直接利用回归的思路从图像的四个角点,逐渐得到目标的最小外接矩形框和类别呢? 创新点: 通过从图像的四个角点,逐步迭代的方式,每次计算一个缩小的方向,并缩小指定的距离来使得逐渐逼近目标。作者还提出了针对多目标情况的处理方式。 参考博客: 论文题目:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition 提出时间:2014年 论文地址: 针对问题: 如RCNN会将输入的目标图像块处理到同一尺寸再输入进CNN网络,在处理过程中就造成了图像块信息的损失。在实际的场景中,输入网络的目标尺寸很难统一,而网络最后的全连接层又要求输入的特征信息为统一维度的向量。作者就尝试进行不同尺寸CNN网络提取到的特征维度进行统一。创新点: 作者提出的SPPnet中,通过使用特征金字塔池化来使得最后的卷积层输出结果可以统一到全连接层需要的尺寸,在训练的时候,池化的操作还是通过滑动窗口完成的,池化的核宽高及步长通过当前层的特征图的宽高计算得到。原论文中的特征金字塔池化操作图示如下。 参考博客 : 论文题目:Object detection via a multi-region & semantic segmentation-aware CNN model 提出时间:2015年 论文地址: 针对问题: 既然第三篇论文multibox算法提出了可以用CNN来实现输入图像中待检测目标的定位,本文作者就尝试增加一些训练时的方法技巧来提高CNN网络最终的定位精度。创新点: 作者通过对输入网络的region进行一定的处理(通过数据增强,使得网络利用目标周围的上下文信息得到更精准的目标框)来增加网络对目标回归框的精度。具体的处理方式包括:扩大输入目标的标签包围框、取输入目标的标签中包围框的一部分等并对不同区域分别回归位置,使得网络对目标的边界更加敏感。这种操作丰富了输入目标的多样性,从而提高了回归框的精度。 参考博客 : 论文题目:Fast-RCNN 提出时间:2015年 论文地址: 针对问题: RCNN中的CNN每输入一个图像块就要执行一次前向计算,这显然是非常耗时的,那么如何优化这部分呢? 创新点: 作者参考了SPPNet(第六篇论文),在网络中实现了ROIpooling来使得输入的图像块不用裁剪到统一尺寸,从而避免了输入的信息丢失。其次是将整张图输入网络得到特征图,再将原图上用Selective Search算法得到的目标框映射到特征图上,避免了特征的重复提取。 参考博客 : 论文题目:DeepProposal: Hunting Objects by Cascading Deep Convolutional Layers 提出时间:2015年 论文地址: 主要针对的问题: 本文的作者观察到CNN可以提取到很棒的对输入图像进行表征的论文,作者尝试通过实验来对CNN网络不同层所产生的特征的作用和情况进行讨论和解析。 创新点: 作者在不同的激活层上以滑动窗口的方式生成了假设,并表明最终的卷积层可以以较高的查全率找到感兴趣的对象,但是由于特征图的粗糙性,定位性很差。相反,网络的第一层可以更好地定位感兴趣的对象,但召回率降低。 论文题目:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks 提出时间:2015年NIPS 论文地址: 主要针对的问题: 由multibox(第三篇)和DeepBox(第四篇)等论文,我们知道,用CNN可以生成目标待检测框,并判定当前框为目标的概率,那能否将该模型整合到目标检测的模型中,从而实现真正输入端为图像,输出为最终检测结果的,全部依赖CNN完成的检测系统呢? 创新点: 将当前输入图目标框提取整合到了检测网络中,依赖一个小的目标框提取网络RPN来替代Selective Search算法,从而实现真正的端到端检测算法。 参考博客 :
每一个检测任务都有其特有的检测难点,比如背景复杂,目标尺度变化大,颜色对比度低等挑战,这就导致某个检测算法在检测任务A上可能表现SOTA,但在检测任务B上表现得可能不尽如人意。因此,分析研究每一个检测任务存在的难点与挑战至关重要,这有利于我们针对不同的检测难点设计出不同的技术以解决该项问题,从而使得我们提出的算法能够在特定的任务上表现SOTA。 目标检测任务可能存在的检测难点与挑战: (1)待检测目标尺寸很小,导致占比小,检测难度大 (2)待检测目标尺度变化大,网络难以提取出高效特征 (3)待检测目标所在背景复杂,噪音干扰严重,检测难度大 (4)待检测目标与背景颜色对比度低,网络难以提取出具有判别性的特征 (5)各待检测目标之间数量极度不均衡,导致样本不均衡 (6)检测算法的速度与精度难以取得良好平衡 不同尺度,不同形状物体的检测是目标检测面临的主要挑战之一,而多尺度检测技术是解决多尺度问题的主要技术手段。目标检测发展的几十年来,多尺度检测技术的演变经历了以下过程: (1)Feature pyramids and sliding windows(2014年前) (2)Detection with object proposals(2010-2015年) (3)Deep regression(2013-2016年) (4)Multi-reference detection(2015年后) (5)Multi-resolution detection(2016年后) 如下图5展示了多尺度检测技术的演变历程: 边框回归(The Bounding Box regression,BB)是目标检测非常重要的技术。它的目的是根据初始设定的anchor box来进一步改进修正预测框的位置。目标检测发展的几十年来,边框回归技术的演变经历了以下过程: (1)Without BB regression(2008年之前) (2)From BB to BB(2008-2013年) (3)From feature to BB(2013年后) 如下图展示了边框回归技术的演变历程 目标检测领域中每一个目标都被周围背景所包围,而我们对于一个目标的认知会根据其周围的环境作出判断,于是我们将目标周围的环境信息称作上下文信息。上下文可以作为网络判断目标类别和定位的重要辅助信息,可大大提高网络检测的精度。为网络提取上下文信息有以下三种常用的方法: (1)提取局部上下文信息用于目标检测 (2)提取全局上下文信息用于目标检测 (3)上下文信息交互提取高效上下文信息用于目标检测 如下图展示了上下文信息提取技术的演变历程: 目标检测的过程中在同一目标的位置上会产生大量的候选框,这些候选框相互之间可能会有重叠,此时我们需要利用非极大值抑制找到最佳的目标边界框,消除冗余的边界框。非极大值抑制算法的流程如下: (1)根据置信度得分进行排序; (2)选择置信度最高的比边界框添加到最终输出列表中,将其从边界框列表中删除; (3)计算所有边界框的面积; (4)计算置信度最高的边界框与其它候选框的IoU; (5)删除IoU大于阈值的边界框; (6)重复上述过程,直至边界框列表为空。 近年来非极大值抑制算法逐渐发展成为以下三条路线: (1)Greedy selection (2)Bounding box aggregation (3)Learning to NMS 如下图展示了非极大值抑制算法的技术演变历程: 目标检测的训练过程本质上还是一个样本数据不平衡的学习过程,因为检测算法中需要用到很多检测框,而真正包含目标的检测框占比却极少。在网络训练过程中,大量简单的负样本(背景)会主导学习方向而不利于网络往正确的方向加以优化,因此这需要采取一定的策略来解决这一问题。难分负样本挖掘(Hard Negative Mining, HNM)技术正是解决训练过程中的数据不平衡问题的一项关键技术。 难分负样本挖掘技术的演变主要经历了以下过程: (1)Bootstrap (2)HNM in deep learning based detectors 如下图展示了难分负样本挖掘技术的演变历程:
初检是针对学位论文进行的统一检测,由研究生处负责组织。所有学位论文送审前均须进行初检,检测通过方可进入论文评审阶段;检测不通过失去本次答辩资格。
专业不同会有一定的差异。如果您是工科。那么,确定课题方向--查找相关文献并阅读--(开题报告)计划并做实验--记录实验过程与相关数据--完成毕业论文。这过程中还需要不断查阅文献,并且有的学校会要求来个中期报告。如果您是文科,那么就是大量阅读,阅读,阅读。与导师确定个研究课题,开始边查资料边写论文。。
高校对学位论文进行检测一般是论文答辩前。
2014年1月29日开始实行的,学位论文抽检每年进行一次,抽检范围为上一学年度授予博士、硕士学位的论文,博士学位论文的抽检比例为10%左右,硕士学位论文的抽检比例为5%左右。
此外,如果你的论文被重新检查并通过,最终的论文抽查将被提取到你自己身上。如果你没有通过,它也会对你自己产生一定的影响。
院系普查阶段学生上传论文:在距答辩日一周前,学生本人将综合论文训练的论文上传至“中国知网”大学生论文管理系统。每位学生有一次上传论文的权限。指导教师查重:指导教师检查论文查重情况,配合院系查重工作小组,确定论文查重结果,并做出相应处理意见。
检测报告下载和打印方式如下论文的检测报告可以在所选择的查重系统官网上进行下载和打印。用户只需要登陆系统官网,将要进行查重的论文上传至系统,系统就会自动对文章进行对比检测,一般检测过程只需要半个小时左右即可完成,检测完成后网页会提示用户进行下载报告或打印报告,这样就可以得到论文检测报告了。检测报告中被认定为重复的部分会以红色字体的形式展现给用户。这里还需要注意的一点是,论文检测报告会以压缩包的形式下载到用户电脑上,所以一定要确保电脑上有相应的解压软件,这样检测报告才能被顺利打开。
论文查重报告是指通过论文查重系统检测出的论文,论文查重报告主要包括了论文查重率、论文对比、对比来源、作者姓名等基本信息。通常,相似度在80%~100%会用红色字体显示出来,相似度50%~80%的用黄色字体显示,而绿色字体表示没有找到相似的语句,一般红色部分建议修改,黄色部分酌情修改。
其次,毕业论文查重报告是在提交了论文,并且检测完成之后论文查重报告才会有。在paperfree、papertime提交检测论文,检测完成就会生成报告,点击导航栏“查看报告”,然后找到刚刚查重的论文后面的查看报告就可以了。
在查重报告的开头,可以看到作者、提交检测时间、论文标题等信息,下面一点可以看见论文的总体相似度、详细报告、综合评估、查看原文、使用帮助、打印pdf等,在往下是正文部分,用对应的颜色标注了,可以一目了然的看到,哪些部分相似度极高,哪些地方相似度适中,哪些地方没有找到相似语句,同时paperfree、papertime还提供了“在线改重”功能,实现了一边修改论文,一边论文查重,改哪里检测那里,可以提高论文降重的效率,节省修改论文时间。
1、用户进入知网查重首页后,在首页下方选择合适的论文查重系统。2、在查重界面输入论文题目和论文作者,并将待检测论文上传至知网查重系统中,点击提交检测按钮。3、等待30分钟-60分钟左右的查重时间,查重完成后,用户在查重界面点击下载检测报告按钮,输入查重订单编号,点击查询结果,最后下载论文查重报告单至用户电脑中。
第一步:选择知网查重系统
用户在百度浏览器中输入,进入知网查重官方网站,在查重首页中用户点击下图所示的地方,随后用户需要根据自己的论文特性确定选择一个合适的知网查重系统。
用户在选择查重系统之前,需要仔细查看每个查重系统中的描述,如本科论文查重时,用户需要选择知网本科PMLC查重系统,并且论文字符数需要在6万字符以内,否则将无法正确上传论文。
第二步:上传论文
以本科论文上传为例,用户进入查重系统中后,需要如下图所示将每一个部分填写完整,并且用户需要注意上传论文文件的大小不可超过30M,论文字符数不可超过6万字符,否则将无法正确上传。全部输入完毕后,用户点击提交检测按钮即可。
第三步:下载知网查重报告单
用户进入支付界面,使用支付宝或者微信扫码支付后可获得订单编号,支付成功后查重系统会自动对论文进行检测,用户需要等待30分钟左右(高峰时期可能要排队一至两小时),等待查重完毕后,用户需要按照如下图所示,点击选择下载检测报告,输入订单号或者预留的手机号码,点击查询报告按钮,在下方若显示检测完成,用户即可点击下载按钮,检测报告为压缩包,解压后用即可正常打开。
在中国知网论文查重入口进行论文查重之后,知网会给每一位在该平台查重的需求方提供一份该有知网官网标示的查重报告,这份报告具有权威性和专业性,因此它可以作为学术不端行为的验证标准。知网查重提供的报告和其它平台提供的查重报告有什么差别吗?有什么不一样的地方吗?中国知网论文查重平台出具的论文检测报告是知网专属的报告,它的格式还有展示方式肯定和其它查重平台提供的是不同的。就以知网和paperfree为例,知网的查重报告上的细致分解和paperfree虽然看上去大同小异,但两个平台的查重报告结构是不同的,是各有所长的。不过,因为论文查重是要收取费用的,所以还有不少的平台在冒充知网官网给一些毕业生进行论文的重复率检测,然后把假的知网的检测报告提供给对方,因此,毕业生应该要注意好自己选择时的网站是不是真的是知网的唯一检测渠道的,不能随便看到有知网两个字,就把论文提交上去检测。知网检测权威渠道里有个CNKI的字母标示,这个标示很重要,如果一个大学毕业生登录的网站不带这四个字母,那基本可以认定是假冒的知网查重平台,一旦查重需求方登录了假冒的查重平台进行查重,那么查重出来的结果可能会和知网官网渠道有着天壤之别,重复率检测标准也会有很大的误差。所有为了自己论文的安全性,一定要在一个靠谱的知网平台进行检测,才能得到一个靠谱的知网查重报告。
论文查重软件排行榜以下三个好。
1、知网论文查重软件数据库比较强大,并且可以分类对论文进行检测,有本科论文查重入口,硕博论文查重入口,职称论文查重入口,初稿论文查重入口等。
是目前高校使用最多的软件。对于本科毕业论文检测拥有独特的大学生联合对比数据库。检测结果基本上跟学校一致。
2、万方、维普是这几年兴起的论文查重软件,数据库没有知网齐全。版本也没有知网多,如果学校要求使用这两个查重,大家就可以去选择,如果没有要求选择这两个系统,大家就不要存在侥幸心理。
3、paperfree论文查重软件,是比较长久的论文查重软件,仅次于知网论文查重,在市场上得到了很多学校和毕业生的认可,也是很多学校要求使用的论文查重系统,查重速度快,查重结果准确,费用非常的低。
论文查重软件免费下载
链接:
当代,论文常用来指进行各个学术领域的研究和描述学术研究成果的文章,简称之为论文。它既是探讨问题进行学术研究的一种手段,又是描述学术研究成果进行学术交流的一种工具。它包括学年论文、毕业论文、学位论文、科技论文、成果论文等。
靠谱的论文查重网站:
一、中国知网
由清华大学和清华同方发起,在党和国家领导以及教育部、中宣部、科技部、新闻出版总署、国家版权局和国家发改委的大力支持下,在全国学术界、教育界、出版界和图书情报界等社会各界的密切配合和清华大学的直接领导下,CNKI工程集团经过多年努力。
采用自主开发并具有国际领先水平的数字图书馆技术,建成了世界上全文信息量规模最大的”CNKI数字图书馆”,并正式启动建设《中国知识资源总库》及CNKI网格资源共享平台,通过产业化运作,为全社会知识资源高效共享提供最丰富的知识信息资源和最有效的知识传播与数字化学习平台。
是目前最安全、最快捷、最权威的论文检测软件,全面覆盖研究生毕业论文查重、大学生抄袭检测、职称评审及相关学术成果,大部分单位机构都是与知网进行合作。除了收费昂贵之外,几乎没有任何缺点。
二、维普
是国内领先的论文查重软件,可以快速准确地检测出毕业论文、博士、硕士论文、期刊论文中的不当引用、过度引用、论文抄袭、伪造、篡改等学术不端行为,自动生成检测报告,并支持PDF、网页等浏览格式,最大特点就是快!
三、万方
采用科学先进的检测技术,实现海量学术文献数据全文比对,秉持客观、公正、精准、全面的服务原则,为用户提供精准详实多维度的查重检测报告。提供包括万方通用版、硕博论文版、大学生论文版、职称论文版等,查重检测结果客观、准确、详实!
四、蝌蚪论文查重
蝌蚪论文查重系统扫码直接登录就可以享受每天免费查重服务,不需要做任何任务,不受字数限制(10万字内),同时提供在线智能降重、人工降重等服务。
采用阿里云认证的高防服务器,检测系统全程自动论文检测,无任何人工参与,系统不保存用户源文件,解除用户论文泄露之忧。
系统数据库覆盖9000万的学术期刊和学位论文,10亿数量的互联网数据源,有效确保精准论文查重! 采用强大的智能语义识别技术,能够快速命中并识别出相似内容。并进行周期性算法升级,实现智能算法预处理学科分类,准确度高出行业70%。
每个毕业季,毕业生不仅要开始找工作实习,还要为论文的各种事情头疼。关键是查重论文,但是现在查重论文软件很多,值得我们信赖,论文查重软件哪个最好? 一、论文查重软件哪个最好? 1.学校内部查重系统:学校内部查重系统在资源丰富方面优势突出,其科学算法也使得论文查重结果具有很高的权威性。确实是目前广泛使用的论文查重软件之一。 拥有自主开发的优秀算法,其在数据库方面的优势也非常突出,比较资源可谓海量;目前,Paperfree有很多合作伙伴。是国内比较靠谱的论文查重网站之一。因此,Paperfree也是一款值得选择的论文查重软件。 二、论文查重有哪些注意事项? 1.论文查重软件的查重通常非常敏感,有时只是字数。格式的细微变化会影响论文的查重率。因此,我们在降低论文的重量时应该注意这一点,以避免原文重复率较低的内容的重复率增加。 2.由于不同的论文查重软件对同一篇论文的查重结果会有所不同,建议在将论文提交给学校之前,尽量将论文的查重率降到最低;最好使用与学校一致的论文查重软件进行定稿查重,发现问题及时修改。