精华内容
下载资源
问答
  • 两阶段目标检测综述

    千次阅读 2019-07-21 11:45:14
    两阶段目标检测 在上个世纪,深度神经网络就已经被提出了,但是在当时机器硬件还未达到实验要求,深度神经网络便沉浸了10年。在21世纪初,当机器硬件达到实验要求之后,深度神经网络就得到了快速的发展。在CNN[7]还...
    1. 两阶段目标检测

    在上个世纪,深度神经网络就已经被提出了,但是在当时机器硬件还未达到实验要求,深度神经网络便沉浸了10年。在21世纪初,当机器硬件达到实验要求之后,深度神经网络就得到了快速的发展。CNN[7]未提出之前,在针对目标检测这个问题,人们一般是使用“设计受用特征+分类器”这个思路。当卷积神经网络一系列的模型被提出后,如ResNet[8]GoogleNet[9]以及作为一个卷积神经网络里程碑的AlexNet[7]等等,图片中的特征能够很好地提取出来,因此目标检测的检测精确度得到极大的提高。到后来推出了一系列的目标检测模型,如R-CNN,SPP NET,Fast R-CNN以及Fast R-CNN等等。

    2.1 R-CNN

        R-CNN是由Ross Girshick等人提出来的。R-CNN主要分为三个部分,第一部分为候选框提取,第二部分为图片特征提取,第三部分为目标分类与回归。R-CNN模型的结构图如图1所示。

     

    图1 R-CNN结构图

    目前有很多论文提供了许多生成类别无关的候选区域的方法,而文中则是使用了选择搜索算法[10]。在选择候选区域生成之后,大概生成了2000个候选框,之后再对候选区域进行裁剪,修正成为一个固定大小的图片(原文是217×217的尺寸)。之后再对处理后的图片进行卷积提取特征。特征提取方法,是采用Krizhevsky等人提出的CNN[7]算法,该算法主要是采用5个卷积层和两个全连接层向前传播来提取特征。最后在使用SVM分类器对目标进行分类,以及使用边框回归[11]对目标进行定位。

    R-CNN使用的是PASCAL VOC2007数据集,其实验结果的mAP值从DPM HCS[12]34.3%直接提高到了66%R-CNN模型也存在着一些问题,在候选框提取时,大概生成了2000proposals,而且每一个proposals都要进入CNN网络进行特征提取与SVM分类。这样就产生了许多的冗余操作,因此训练时间也花费很多。此外,由于CNN网络中的全连接层需要输入固定尺寸的图片,在生成候选区域之后对图片的预处理操作,即裁剪与修正,这会影响图片的质量与内容。于是,在2015年,Kaiming He等人提出的SPP NET[4]解决了这两个问题。

    2.2 SPP NET

    在针对R-CNN出现的两个问题,SPP NET模型提出了以下的解决方案:1.在输入CNN网络的时候,不是输入候选框的图片,而是一次性将图片进行卷积操作;2.提出了SPP Pooling[4],在CNN网络最后一层卷积的时候,添加了SPP Pooling。SPP Pooling使用不同尺寸的特征图输入,然后输出固定尺寸的图片。

    SPP NET的空间金字塔思想是:在CNN网络最后一层卷积的时候,根据之前得到的候选区域,与输出的特征图,一一对应,然后就使用SPP Pooling。SPP Pooling对输入的图片进行3次池化。在文中,CNN第五层卷积输出的是256个滤波器,即256个feature maps。第一次池化操作就是对256个滤波器进行最大池化,结果输出一个256维度的向量。第二次池化是在第五层输出的256个滤波器的基础上,将feature map等分为4等份,得到4个feature map,然后对每一小块进行最大池化操作,结果输出4*256-d向量(d指dimension,维度)。第三次池化,是在第五层输出的256个滤波器的基础上,将将feature map等分为16等份,得到16个feature map,同上面的步骤,对每一小块进行最大池化操作,输出16*256-d向量。因此,无论输入的feature map的尺寸是多少,SPP Pooling输出的向量综述256+4*256+16*256=21*256维向量。其结构如图2所示。

     

    2 SPP Pooling结构图

    SPP NET也是在VOC 2007数据集上进行实验,其在于R-CNN达到相同或更好的性能情况下,比R-CNN方法快了24-102倍。SPP-NET其优点是引入了空间金字塔结构,是其适应不同种尺寸的特征图。其次,它是对整张图片进行一次特征提取,很大程度上加快了运算速度,并提出了全职共享的策略。SPP NET也存在着一些的缺点,它的分类器使用的是SVM,不能实现端到端的训练。SPP NET是采用分阶段训练,其训练步骤复杂,而且再说会用SPP NET进行训练的时候,其消耗的物理空间高达几百G

    2.3 Fast R-CNN

    R-CNN的作者,Ross Girshick在R-CNN的基础上提出了Fast R-CNN[5],解决了以上的问题。Fast R-CNN主要的流程是,首先将数据集经过SS算法(选择搜索算法),得出候选区域,将图片放入VGG16网络进行卷积计算,在VGG16[14]的最后一层卷积生成feature map的时候,将候选区域与feature map映射,之后将后续区域放入ROI Pooling[5]之中,生成固定尺寸的feature map。最后使用多任务损失函数对其进行分类与回归,分类的方法是采用Softmax Loss[5],回归是采用Smooth L1 Loss[5]。Fast R-CNN的结构图如图3所示。

     

    图3 Fast R-CNN结构图

    ROI Poolingde 具体操作如下,首先输入图片,将ROI映射到对应的feature map,然后将映射后的区域划分为相同大小的截面,之后再对每个截面进行最大池化操作。这样我们就可以得到固定大小的feature map了。

    Fast R-CNN训练的网络是采用VGG16[13]进行训练的,而且其借鉴了SPP NET的思路,在训练的时候,是将一张图片放入卷积网络里,在输出特征时与候选框映射。同时,Fast R-CNN采用多任务损失函数,在进行分类和边框回归的时候,也是在训练网络里面进行训练的,这样就可以达到权值共享,提高了Fast R-CNN的训练速度和实验精度。经过实验对比,Fast R-CNNPASCAL VOC上训练,比R-CNN快了9倍,测试时间快了213倍。Fast R-CNN与SPP NET相比,Fast R-CNN训练速度快了3倍,测试速度快了10倍,并且其准确度更高。

    2.4 Faster R-CNN

    在2016年,Shaoqing Ren等人Fast R-CNN[6]的基础上继续做出了创新,提出了Faster R-CNN模型。Faster R-CNN在提取候选口的时候,取消了使用SS[10]算法,提出了一种RPN[6]网络。Faster R-CNN的结构是,首先将图片放入一个全卷积网络,在输出feature map的时候,将feature map送入RNP网络,RNP网络输出一批候选框,这些候选框与之前的feature map进行相应的映射,然后将其送入POI Pooling,生成固定的feature map,然后再对其进行特征提取,最后进行分类与回归。因此Faster R-CNN也可以理解为RPN+Fast R-CNN的结合。Faster R-CNN的结构图,如图4所示。

     

    4 Faster R-CNN结构图

    RPN是一种全卷积网络,该网络是输入一张任意大小的图像,输出的则是一组候选框。生成的候选框送入Fast R-CNN的训练网络进行目标检测与精确定位。RNP在输入一张feature map之后,使用一个n×n的滑动窗口(文中n3,即为3x3的滑动窗口),每一个滑动窗口映射到一个低维的特征(文中采用的是ZF网络,特征为256-d),该特征被输入两个全连接层,一个用作边框回归,另一个用作分类。每一个滑动窗口的位置,同时预测多个区域建议。每个区域建议的最大数目为k(文中k9),因此边框回归层有4k个输出,分类层有2k个输出。分类层输出的数值表示这个候选框是前景或者背景,边框回归层则是输出该候选框的坐标与偏移量。RPN网络结构图如图5所示。

     

    5 RPN网络结构图

    经过实验对比,Faster R-CNNVOC 2007数据集上Fast R-CNN提取一张图片的候选框需要2秒,而Faster R-CNN仅需0.2秒,而且mAP值与Fast R-CNN保存一致。Faster R-CNN提出了RPN网络,使Faster R-CNN整个网络结构实现了全局权值共享,实现了两阶段目标检测的端对端的训练,这是两阶段目标检测的一个大的突破。

    1. 总结

    R-CNN是最经典两阶段目标检测模型,但其缺点有很多,比如说,训练步骤繁琐,训练的速度满,精度不够,训练的时候占据太多的物理空间。于是后面相继提出SPP NET,Fast R-CNN、Faster R-CNN以及Mask R-CNN[14](Mask R-CNN本文未进行介绍)等模型。

    纵观本文介绍的几种目标检测模型的思路,其实其基本的思路就是去模拟一个人的思考的方式。当你去遇见一个陌生的物品的时候,首先你可以知道这个物品的具体位置,这就是候选框。然后我们就可以在这个物品上观察它的特征,比如说颜色,形状等等,这就是提取特征的过程。在特征提取结束之后,我们就可以将这个物品进行分类。所以说,想要在其进行创新,还是要抓住人的思维方式。此外,本人之前在查阅资料的时候,发现设计模式居然也可以改进CNN网络。之后如果CNN网络能够再进一步创新,那么再以Faster R-CNN或以Mask R-CNN模型为基础进行改进,那么目标检测的训练速度与精度又是有了新的创新。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    1. 参考文献

     

    [1]Joseph RedmonSantosh DivvalaRoss GirshickAli Farhadi.You Only Look Once: Unified, Real-Time Object Detection,IEEE Conference on Computer Vision and Pattern Recognition,2016

    [2]W Liu;D Anguelov;D Erhan;C Szegedy;S Reed.Single Shot MultiBox Detector.European Conference on Computer Vision,2016

    [3]Ross GirshickJeff DonahueTrevor DarrellJitendra Malik,Rich feature hierarchies for accurate object detection and semantic segmentation.IEEE Conference on Computer Vision and Pattern Recognition,2014

    [4]He, KaimingZhang, XiangyuRen, ShaoqingSun, Jian.Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition.IEEE Transactions on Pattern Analysis and Machine Intelligence,2015

    [5]Ross Girshick.Fast R-CNN.IEEE International Conference on Computer Vision,2015

    [6]Shaoqing RenKaiming HeGirshick, R.Jian Sun.Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks.IEEE Transactions on Pattern Analysis and Machine Intelligence,2016

    [7]Krizhevsky Alex ;Hinton, Geoffrey E; Sutskever, Ilya .ImageNet Classification with Deep Convolutional Neural Network.Communications of the ACM,2012

    [8]Kaiming He,Xiangyu Zhang,Shaoqing Ren,Jian Sun.Deep Residual Learning for Image Recognition.Computer Vision and Pattern Recognition,2015

    [9]Christian Szegedy; Wei Liu; Yangqing Jia; Pierre Sermanet; Scott Reed; Dragomir Anguelov; Dumitru Erhan; Vincent Vanhoucke; Andrew Rabinovich.Going Deeper With Convolutions.IEEE Transactions on Pattern Analysis and Machine Intelligence,2015

    [10]Uijlings, K. van de Sande, T. Gevers, and A. Smeulders. Selective search for object recognition. IJCV, 2013.

    [11]Felzenszwalb, R. Girshick, D. McAllester, and D. Ramanan.Object detection with discriminatively trained part based models.IEEE Transactions on Pattern Analysis and Machine Intelligence2010

    [12]Ren and D. Ramanan. Histograms of sparse codes for object detection. In CVPR, 2013.

    [13]Karen SimonyanAndrew Zisserman.Very Deep Convolutional Networks for Large-Scale Image Recognition.Computer Science,2014

    [14] Kaiming HeGeorgia GkioxariPiotr DollarRoss Girshick,Mask R-CNN.IEEE Transactions on Pattern Analysis and Machine Intelligence.2018

    展开全文
  • 基于深度学习的两阶段目标检测方法及其在表面缺陷检测中的应用.pdf
  • CenterNet(Objects as Points)原作者的又一力作,超过YOLOv4。其在两阶段目标检测框架中引入概率解释:第一阶段推断出目标vs背景的似然性,第二阶段得到具体类别的分类得分。

    论文地址:https://arxiv.org/abs/2103.07461 

    GitHub地址:https://github.com/xingyizhou/CenterNet2

    说明:本文是CenterNet(Objects as Points)原作者基于概率解释提出的两阶段目标检测框架,包括多个版本,其中以CenterNet为第一阶段的版本即为CenterNet2.

    目录

    0、摘要

    1、引言

    2、相关工作

    3、预备知识

    4、两阶段检测的概率解释

    5、构造一个概率的两阶段检测器

    6、结果

     7、结论


    0、摘要

    开发了一个两阶段目标检测的概率性解释,并表明:这种概率解释可以激发许多常见的经验性训练实践,并建议对两阶段检测pipeline进行改造。具体来说,第一阶段推断出目标-背景的似然性,第二阶段得到具体分类得分。标准RPN不能很好地推断这种似然性,但很多SOTA一阶段检测器可以。我们展示了如何从任意的SOTA一阶段检测器构造出一个概率性的两阶段检测器,而且所构造的检测器比起构造它的一阶段、二阶段检测器来说也更快、更强。我们的检测器在COCO上达到单尺度56.4 mAP的性能,超出了目前已有的研究成果。而使用一个轻量的backbone,我们的检测器可以在COCO上达到49.2mAP、33FPS,比YOLOv4更强。

    1、引言

    目标检测的目的是从一张图中找出所有的目标并确定其位置及其所属类别的概率。一阶段目标检测器将定位和分类联合了起来,放入一个概率上合理的框架中;其被训练以最大化标注GT目标的对数似然,并在推理时预测一个合适的似然分数。两阶段目标检测器首先在第一阶段枚举所有潜在的目标及其位置,然后在第二阶段对这些潜在目标进行分类;第一阶段被设计用于最大化召回率,而第二阶段用于在第一阶段过滤的区域上最大化分类目标;第二阶段有概率性解释,而两个阶段的结合却没有。

    本文开发了一个两阶段目标检测的概率性解释。在标准两阶段检测器训练的基础上,提出一个简单的改进:对两个阶段联合概率目标的下界进行优化。通过概率性的处理,建议对两阶段检测器进行改进,具体的,第一阶段需要推断出校准的目标似然。目前两阶段检测器中的RPN是为了最大化proposal的召回而设计的,因此其不具备产生准确似然的能力。不过,功能完备的一阶段检测器却可以。

    我们在SOTA一阶段检测器基础上,构造了一个概率性的两阶段检测器。在第一阶段,我们的模型使用一阶段检测器提取区域级别的特征并对其分类;在第二阶段使用Faster RCNN或者一个级联分类器。这两个阶段一起训练,最大化GT目标的对数似然。在推理时,我们的检测器使用最终的对数似然作为检测得分。

    一个概率性的两阶段检测器,比起它的组成部分(一阶段检测器、二阶段检测器)更快、准确率更高。相比两阶段anchor-based检测器,我们的第一阶段更加准确,且允许检测器在ROI head上使用更少的proposal(256 vs 1K),这使得我们的检测器整体上更准确、更快。相比于一阶段检测器,我们的第一阶段使用了一个更精简的head设计,并只有一个输出类别用于密集图像级预测。由于类别个数急剧减少所带来的的加速,远远超出了由于增加第二阶段所带来的成本。我们第二阶段利用了多年来两阶段检测的进展,与一阶段baseline相比,检测准确率显著提升。它也能轻松扩展到大词汇量(类别)检测上。

    在COCO、LVIS、Objects 365上的实验表明,我们的概率性两阶段框架能够使Cascade RCNN的mAP提升1-3个点,且速度有所提升。使用以标准ResNeXt-101-DCN为backbone的CenterNet作为第一阶段,可以在COCO上达到50.2mAP。使用强大的Res2Net-101-DCN-BiFPN作为backbone并进行自训练,可以在单尺度测试上达到56.4mAP,这个结果超出了目前所有的公开成果。使用小的DLA-BiFPN作为backbone并降低输入分辨率,使用Titan Xp显卡在COCO上可以达到49.2mAP、33FPS,这个结果优于YOLOv4模型 (43.5 mAP at 33 fps)。

    所提出的基于概率性解释的两阶段检测器示意如图1所示:

    2、相关工作

    一阶段检测器联合了预测输出类别和目标定位。RetinaNet对一组预定义的滑动anchor boxes进行分类,并通过调整输出的损失大小来对前景-背景进行平衡;FCOS和CenterNet消除了每个像素点对多anchor的需求,并通过位置对前景-背景分类;ATSS和PAA通过改变前景-背景的定义进一步改进了FCOS;GFL和Autoassign将前景-背景的硬分配方式改为了加权软分配;AlignDet在输出之前使用了一个可变形卷积层来获取用于分类和回归的更精细的特征;RepPoint和DenseRepPoint将边界框编码为轮廓点集,并使用点集特征进行分类;BorderDet沿着边界框池化特征,以进行更好的定位。大多数一阶段检测器都有着可靠的概率性解释。

    一阶段检测器达到有竞争力的性能,主要依赖于其使用了比两阶段检测器更重量级的独立分类、回归分支。事实上,如果词汇量(如目标类别集)很大(如LVIS或者Objects365数据集),这些一阶段检测器将不再比同等级的两阶段检测器更快。而且,一阶段检测器仅使用了正例区域的局部特征进行回归和分类,这有时候会导致与目标不对齐。

    我们的概率性两阶段框架保留了一阶段检测器的概率性解释,但是将概率分布分解为多个阶段,对准确率和速度都有改进。

    两阶段检测器首先使用RPN生成粗糙的目标proposal,然后使用专用的逐区域处理的head对这些proposals进行分类与细化。Faster RCNN使用两个全连接层作为ROI head;CascadeRCNN使用三个级联的Faster RCNN阶段,每个阶段使用不同的正例阈值以使得最后阶段更加聚焦于定位准确率;HTC使用了额外的实例和分割标注,来增强CascadeRCNN的阶段内的特征流;TSD对每个ROI的分类和定位进行了解耦。

    两阶段检测器在很多设置中,仍然具备更高的准确率。目前,所有的两阶段检测器都使用了一个弱的RPN来最大化top 1K个proposals的召回,而且在测试阶段没有利用这些proposals得分。大量的proposals降低了系统速度,同时基于召回考虑的proposal 网络也没有像一阶段检测器那样直接提供一个清晰的概率解释。我们的框架解决了这个问题,并整合了一个强大的类别不可知单阶段目标检测器和一个分类阶段。我们的第一阶段使用更少但更高质量的区域,从而产生更快地推理、更高的准确率。

    其他检测器。该系列的目标检测器是通过图像中关键点来定位目标的,如:CornerNet检测的是左上、右下角点,并使用嵌入特征对这些点进行分组;ExtremeNet检测四个极值点,并使用额外的中心点对其分组;CenterNet(不是Objects as Points)检测中心点并用于改进角点分组;Corner Proposal Net使用角点对分组形成region proposal;CenterNet(Objects as Points)检测中心点并回归边框的宽高。

    DETRDeformable DETR移除了检测器中的密集预测,取而代之的是使用Transformer直接预测一个边框集。

    上述几种检测器(基于点的检测器、DETR类、传统anchor-based检测器)之间的主要区别在于网络结构。基于点的检测器使用全卷积网络,通常带有对称的下采样和上采样层,并产生一个单一的小输出步幅(如4)的feature map。DETR类的检测器使用transformer作为decoder。传统的一阶段、两阶段检测器通常需要使用增加了轻量级上采样层的分类网络,并且生成多尺度特征(FPN)。

    3、预备知识

    目标检测器的目的是从一张预定义了C个类别的图像中预测所有目标i的位置b_i \in \mathbb R^4以及特定类别的似然分数s_i \in \mathbb R^{|c|}。其中,目标的位置b_i通常描述为轴对齐边界框的两个角点,或者通过等价的中心点+尺寸来描述。目标检测器之间的主要不同在于其对类别似然的表示,这取决于其各自的架构。

    一阶段检测器将目标定位和分类联合在一个单一网络中。令L_{i,c}=1表示目标i、类别c的正例目标,令L_{i,c}=0表示背景。大多一阶段检测器对没个类别使用独立的sigmoid将其类别似然参数化为伯努利分布:s_{i}(c)=P\left(L_{i, c}=1\right)=\sigma\left(w_{c}^{\top} \vec{f}_{i}\right),其中f_i \in \mathbb R^C是backbone生成的特征,w_c是指定类别的权重向量。在训练时,这种概率性解释允许一阶段检测器简单地最大化对数似然log(P(L_{i,c}))或者GT标注信息的focal loss。一阶段检测器在正例\hat L_{i,c}=1和负例\hat L_{i,c}=0的定义上是不同的,有些是用anchor IOU,有些是用位置。但它们都是优化对数似然并使用类别概率来对边框打分,且都是直接回归边框坐标。

    两阶段检测器则首先提取潜在的目标位置,称之为目标proposal,并使用了前景-背景概率P(O_i)。然后,对每个proposal提取特征,并分类C类或者背景P(C_i|O_i=1),其中C_i \in C\cup \left. \{ b_g \right \},同时对目标位置进行精细调整。此外,其每个阶段都是独立监督训练的。在第一个阶段,通过RPN学习到标注目标是属于前景,而其他的boxes属于背景,这一步通常使用目标对数似然进行二分类。然而,RPN对背景的定义非常保守,任何与GT的IOU小于30%(可能更多)的预测结果都会被认为是前景。这种标签定义更倾向于提高召回(PS:RPN的目的就是尽可能召回所有的潜在目标,也即宁可错杀一千也不放过一个),而不是精确和准确的相似度估计。因此,很多不完整的目标却得到了一个很高的proposal得分。在第二阶段,一个softmax分类器学习到将一个proposal分类为某个类别或者背景。分类器使用的是对数似然目标函数,其中前景标签来自标注信息,背景标签来自第一阶段提取的高分负例(其附近没有正例)。在训练时,这种类别分布隐含在第一阶段的正例检测条件中,因为其只在这些正例上进行训练和验证。第一阶段和第二阶段都有着概率解释,且仅在其正负例定义下进行目标的对数似然或者所属类别的估计。然而,两个阶段结合起来之后就没有了这种概率解释。其结合了多种启发式和采样策略,独立训练第一、第二阶段。最终输出是一组仅由第二阶段输出的带有分类得分的boxes。

    接下来,我们开发了一种两阶段检测器的简单概率解释,并认为其两个阶段属于类别似然估计的一部分。我们展示了这种想法是如何影响第一阶段的设计,以及如何有效地训练这两个阶段。

    4、两阶段检测的概率解释

    对于每幅图像,我们的目的是生成包含了K个检测的边框b_{1}, \ldots, b_{K}及其对应类别分数s_{k}(c)=P\left(C_{k}=c\right)的结果,类别包括C类和背景。在本文工作中,保持原两阶段检测器中的边框回归不变,仅关注于类别分布。一个两阶段检测器将这种类别分布分为了两部分:第一阶段产生一个类别不可知的目标概率P(O_k),第二阶段产生具体类别的条件概率P(C_k|O_k)。在这里,O_k=1代表第一阶段检测出的正例,为0则代表背景。当第一阶段检测结果为负例时,其类别为背景的条件概率就对应的为1:P\left(C_{k}=b g \mid O_{k}=0\right)=1。在多阶段检测器中,分类是由多个级联阶段完成的,而两阶段检测器是由一个单一分类器来完成的。两个阶段模型的联合类别分布表示为:

    P\left(C_{k}\right)=\sum P\left(C_{k} \mid O_{k}=o\right) P\left(O_{k}=o\right)  (1)

    训练目标:

    我们训练检测器使用的是极大似然估计,对于标注的正例,最大化下式,其分别对第一、第二阶段的似然目标函数进行最大化:

    \log P\left(C_{k}\right)=\log P\left(C_{k} \mid O_{k}=1\right)+\log P\left(O_{k}=1\right)  (2)

    对于背景类别,其极大似然目标函数没有分离:

    \log P(b g)=\log \left(P\left(b g \mid O_{k}=1\right) P\left(O_{k}=1\right)+P\left(O_{k}=0\right)\right)

    该目标函数在计算损失和梯度时,对第一第二阶段的概率估计进行了绑定。精确的估计需要在第二阶段对第一阶段所有输出进行密集评估。与之相反,我们对目标函数推导了两个下限,并联合进行优化。第一个下限使用了杰森不等式\log \left(\alpha x_{1}+(1-\alpha) x_{2}\right) \geq \alpha \log \left(x_{1}\right)+(1-\alpha) \log \left(x_{2}\right),其中\alpha=P\left(O_{k}=1\right)x_{1}=P\left(b g \mid O_{k}=1\right)x_2=1,则有:

    \log P(b g) \geq P\left(O_{k}=1\right) \log \left(P\left(b g \mid O_{k}=1\right)\right)  (3)

    该下限针对第一阶段所有高分目标,最大化了第二阶段中背景的对数似然。它收紧于P\left(O_{k}=1\right) \rightarrow 0或者P\left(b g \mid O_{k}=1\right) \rightarrow 1,但是却任意松弛于P\left(O_{k}=1\right)>0P\left(b g \mid O_{k}=1\right) \rightarrow 0

    第二个下限仅涉及到第一阶段的目标函数:

    \log P(b g) \geq \log \left(P\left(O_{k}=0\right)\right)  (4)

    其用到了P\left(b g \mid O_{k}=1\right) P\left(O_{k}=1\right) \geq 0以及log函数的单调性。该下限收紧于P\left(b g \mid O_{k}=1\right) \rightarrow 0。一般来说,达到极限时即为公式(3)和公式(4)之和。这个下限在\leq \log 2范围内,见附页所示。然而,在实践中,我们发现同时优化两个边界可以更好地工作。

    有了下限公式(4)和正例目标公式(2),第一阶段的训练就简化为最大似然估计——在标注对象上使用正标签,在所有其他位置使用负标签。它就等价于训练一个二元一阶段检测器,或者一个带有严格负定义的、鼓励似然估计和非召回的RPN。

    检测器设计:

    我们的概率两阶段检测器和标准的两阶段检测器之间主要不同在于公式(1)类别不可知概率P(O_k)的使用。在我们的概率公式中,分类得分是和类别不可知检测得分P(O_k)相乘的。这就要求一个强一阶段检测器不仅要最大化proposal的召回,也要对每个proposal预测一个可靠的目标概率。

    一阶段、两阶段、概率两阶段检测器区别见图2:

    在我们的实验中,使用了强大的一阶段检测器来估计该对数似然,下一节将描述之。

    5、构造一个概率的两阶段检测器

    概率两阶段检测器的组成主要部分是强大的第一阶段,其需要预测一个准确的目标概率用于整体预测,而不是仅仅考虑召回。本文在四种不同的一阶段检测器上进行了实验,对每一个都重点列出了设计要素。

    RetinaNet和传统两阶段检测器中的RPN很像,但其有三个不同之处:更重量级的head设计(4层vsRPN的1层)、更严格的正负例定义、以及Focal Loss。这三个不同点均增加了RetinaNet产生校准的一阶段检测概率的能力。我们在第一阶段的设计中,对这三点全部采纳。另外,RetinaNet默认使用了两个分类的head,分别进行边框回归和分类,而在我们的第一阶段设计中,我们发现使用一个单一的共享head进行两个任务也是足够的,因为仅判断目标是否属于背景非常简单且对网络能力的需求更少,这也加速了推理过程。

    CenterNet通过定位目标中心点来找到目标,然后回归器边框的参数(宽和高)。原始的CenterNet在单尺度层面进行处理,而传统两阶段检测器使用了特征金字塔(FPN)。我们使用FPN对CenterNet进行升级,使之成为多尺度。具体得,我们使用RetinaNet类型的ResNet-FPN作为backbone,输出步幅为8到128(也即P3~P7)。我们对FPN所有层级应用了4层的分类分支和回归分支,来生成检测heatmap和边框回归map。在训练时,我们在固定范围内根据目标尺寸将GT中心点分配给特定的FPN层级。受GFL启发,我们将中心点的3*3邻域中也产生高质量(回归loss<0.2)边框的位置也作为正例。我们使用边界距离来表示边界框,并使用gIOU loss作为边框回归的损失函数。这种基于CenterNet设计的概率两阶段检测器命名为CenterNet*。

    ATSS为每个对象使用自适应IoU阈值对一级检测器的分类可能性建模,并使用中心度校准分数。在概率两阶段检测baseline中,我们使用原始的ATSS,并对于每个proposal将其中心度和前景分类得分相乘。我们再次融合了分类和回归head,以稍微加速。

    GFL使用回归之类来指导目标似然训练。在一个概率两阶段检测baseline中,为了保持一致性,我们移除了基于积分的回归并仅使用基于距离的回归并再次任何两个head。

    以上几种一阶段结构都推断出了P(O_k),然后都和第二阶段结合起来推断P(C_k|O_k)。第二阶段选用了两种设计:Faster RCNN和Cascade RCNN。

    超参:

    两阶段检测器通常使用FPN的P2~P6层级(输出步幅为4~64),而大多一阶段检测器使用FPN的P3~P7层级(输出步幅为8~128)。为了兼容两者,我们使用P3~P7。我们增大了正例IOU阈值,对Faster RCNN从0.5调整为0.6(对于CascadeRCNN调整为0.6,0.7,0.8),以补偿第二阶段IOU分布的改变。我们在概率二阶段检测器中使用最多256个proposal,而在基于RPN的模型中则默认使用1K个proposal。我们在概率两阶段检测器中同样增大了NMS阈值,从0.5调整到0.7,因为我们的proposal数量更少。这些超参的改变对于概率检测器很有必要,但我们实验发现它们对于基于RPN的检测器却没有提高。

    代码的实现是基于detectron2的,并在模型设置方面遵循了其标准。具体得,我们使用SGD优化器对网络迭代90K,基础学习率方法两阶段检测器为0.02、一阶段检测器为0.01,并在60K和80K迭代次数时缩小10倍。使用了多尺度训练,短边范围为[640, 800],长边最高1333。在训练阶段,我们设置一阶段检测器的损失权重为0.5,因为其学习率为0.01(相比两阶段0.02的学习率小一倍,所以损失也不能更新太多)。在测试阶段,我们设置短边固定800,长边最长1333。

    我们对概率两阶段检测器实例化了四个不同的backbone。我们使用默认的ResNet50模型进行大多消融及对比实验;使用ResNeXt-32x8d-101-DCN和SOTA方法进行比拼性能;使用轻量的DLA设计实时模型;使用一些最新的技术设计一个超大backbone来获取高精度。

    6、结果

     

     

     

     7、结论

    我们开发了一个两阶段目标检测的概率性解释,这种解释激发了我们使用一个强一阶段检测器来学校目标似然估计,而不是像RPN那样最大化召回。这些似然随后和第二阶段的分类得分结合,为最终的检测产生原则性概率得分。这种组合的概率两阶段检测器比起其组成部分(一阶段检测器、两阶段检测器)更快、更好。我们的工作为集成一阶段、两阶段检测器以达到速度和精度齐飞铺平了道路。

     

    展开全文
  • 点击上方“AI算法修炼营”,选择“星标”公众号精选作品,第一时间送达这篇文章收录于ECCV2020,是作者团队是:国科大、华为、华中科大、鹏城实验室。是一篇关于Anchor-free的...

    点击上方“AI算法修炼营”,选择“星标”公众号

    精选作品,第一时间送达

    这篇文章收录于ECCV2020,是作者团队是:国科大、华为、华中科大、鹏城实验室。是一篇关于Anchor-free的两阶段目标检测网络,效果可达49.2%AP,在准确率和召回率等性能上优于CenterNet、FCOS等网络,并且模型的推理速度较快。整体的思路,可以说有一点点无聊,不过当作个水文看看还是可以的。

    论文地址:https://arxiv.org/abs/2007.13816.pdf

    代码地址:https://github.com/Duankaiwen/CPNDet

    通常,目标检测算法的目标是确定图像中目标对象的类别和位置。本文提出了一种新颖的anchor-free两阶段框架,该框架首先通过查找可能的角点关键点组合来提取多个候选目标object proposals,然后通过独立的分类阶段为每个候选object分配一个类别标签。实验证明了这两个阶段分别是提高召回率和准确率的有效解决方案,同时这两个阶段可以集成到端到端网络中。本文的方法被称为“Corner Proposal Network (CPN)”,它具有检测各种scales尺度的目标的能力,并且还避免了被大量false-positive proposals所混淆。在MS-COCO数据集上,CPN的AP达到49.2%,在最新的目标检测方法中具有一定的竞争力。同样,CPN在AP达到41.6%/ 39.7%时有26.2 / 43.3FPS,推理速度性能同样出色。

    简介

    目标检测方法的两个关键点是找到具有不同几何形状的物体(即高召回率)以及为每个检测到的物体分配一个准确的标签(即高准确率)。现有的目标检测方法大致是按照如何定位物体和如何确定其类别来分类的。对于第一个问题,早期的研究工作大多是基于锚(anchor)的,即在图像平面上放置一些尺寸固定的边界框,而这种方法后来受到无锚(anchor-free)方法的挑战,该方法建议用一个或几个关键点和几何图形来描绘每个目标对象。通常,这些可能的目标对象被命名为proposals(候选目标),对于每一个目标对象,类别标签要么从之前的输出中继承,要么由为此训练的单个分类器进行验证。这就带来了所谓的两阶段和单阶段方法之间的争论,其中人们倾向于认为前者的工作速度较慢,但产生的检测精度更高。

    本文为目标检测算法的设计提供了另一种观点。主要有两个论点:首先,检测方法的召回率由其定位不同几何形状的对象(特别是形状稀疏的对象)的能力决定,因此anchor-free方法(特别是对目标对象边界进行定位的方法)的召回率性能可能更好;第二,anchor-free方法经常会导致大量误报,于是可以在anchor-free方法中使用单个分类器来提高检测的准确性,见图1。因此,本文的方法继承了anchor-free和两阶段目标检测方法的优点。

    图1.现有物体检测方法的典型错误。第一行:基于anchor锚的方法(如Faster R-CNN)可能难以找到具有特殊形状的物体(如尺寸非常大或长宽比极端的物体)。第二行:anchor-free方法(如CornerNet)可能会错误地将不相关的关键点归入一个物体。绿色、蓝色和红色边界框分别表示真阳性、假阳性和假阴性。

    本文的方法被称为Corner Proposal Network(CPN)。它通过定位目标的左上角和右下角,然后为其分配类标签来检测目标对象。具体地,首先利用CornerNet的关键点检测方法,并进行改进,不是将关键点与关键点特征嵌入分组,而是将所有有效的Corner角点组合枚举为可能的proposals目标对象。这导致了大量的proposals,其中大多数是误报。然后,训练一个分类器,以根据相应的区域特征从不正确配对的关键点中区分出真实目标对象。分类有两个步骤,首先是一个二进制分类器,它过滤掉大部分proposals(即与目标对象不对应的proposals),然后,对筛选后的目标对象重新排序类别分数。

    CPN的有效性已在MS-COCO数据集上得到验证,具体使用104层堆叠式Hourglass网络作为主干网络,CPN在COCO数据集上的AP为49.2%,比之前最好的anchor-free目标检测算法CenterNet 高2.2%。尤其,CPN在检测具有特殊形状(例如很大或很小的面积或极高长宽比)的物体时具有更高的精度增益,这证明了使用anchor-free方法进行proposals提取的优势。同时,CPN使用较轻的主干网络DLA-34 并在推理环节不使用图像翻转数据增强策略时,在26.2 FPS时可达到41.6% AP,在43.3FPS时达到39.7% AP,在相同的推理速度是,性能超过了大多数的目标检测算法。

    本文方法:CPNDet

    作者首先讨论了两个问题:使用基于anchor的方法还是不使用anchor的方法来提取候选目标proposals,以及是使用一阶段还是两阶段的方法来确定proposals的类别,并进行相关的对比实验。

    1 Anchor-based or Anchor-free? One-stage or Two-stage?

    首先研究anchor-based vs. anchor-free的方法。基于anchor的方法首先在图像上放置多个anchor作为候选区域,然后使用单独的分类器来判断每个候选的目标和类别。大多数情况下,每个anchor都与图像上的特定位置相关联,并且其大小是固定的,尽管bounding box的回归过程可以稍微改变其几何形状。anchor-free的方法不假定目标对象来自相对固定的几何形状的anchor,而是定位目标的一个或几个关键点,然后确定其几何形状和(或)类别。

    本文的核心观点是,anchor-free方法对任意几何形状的物体的定位具有较好的灵活性,因此具有较高的召回率。这主要是由于anchor的设计大多是经验性的(例如,为了减少anchor的数量并提高效率,需要考虑常见的目标物体尺寸和形状),检测算法的灵活性较低,形状奇特的物体可能会被遗漏。典型例子如图1所示,定量研究见表1。

    主要对四种object proposal提取方法进行了对比,并在MS-COCO验证数据集上进行了评估。结果显示,anchor-free方法通常具有更高的整体召回率,这主要是由于它们在两种情况下的优势:首先,当目标对象非常大,例如,大于4002像素时,基于anchor的方法Faster R-CNN将不会有更高的召回率。其次,当物体的长宽比变得特殊时,如5 : 1和8 : 1,Faster R-CNN的召回率非常低,在这种情况下,召回率明显低于CornerNet和CenterNet,因为没有预定义的anchor可以适应这些物体。在FCOS中也有类似的现象,FCOS是一种ancor-free的方法,它用一个关键点和到边界的距离来表示一个目标对象,但是当边界离中心很远时,FCOS通常很难预测一个准确的距离。而CornerNet和CenterNet方法将角点(和中心)关键点归为一个目标object,它们在某种程度上摆脱了这个麻烦。因此,本文的方法选择anchor方法,特别是点分组方法(CornerNet和CenterNet),以提高目标检测的召回率。同时,本文的CPN继承了CenterNet和CornerNet的优点,对物体的定位有更好的灵活性,尤其是形状奇特的物体。

    然而,anchor-free方法摆脱了寻找object proposal的约束,但它遇到的一大难题是如何在关键点和目标对象之间建立紧密的关系,因为后者往往需要更丰富的语义信息。如图1所示,缺乏语义信息会导致大量的误报,从而损害检测的精度。

    以具有高召回率的CornerNet和CenterNet为例。如表2所示,具有52层和104层Hourglass 网络的CornerNet在MS-COCO验证数据集上实现了37.6%和41.0%的AP,而很多检测到的 "目标 "都是假阳性false positives。无论是当删除object proposal,还是给每个预备的object proposal分配一个正确的标签,检测精度都会显著上升。这个结果在CenterNet上也是成立的,它增加了一个中心点来过滤掉假阳性样本,但显然没有把它们全部删除。为了进一步缓解这个问题,本文的方法需要继承两阶段方法的优点,即提取proposal内的特征,并训练一个分类器来过滤掉假阳性样本。

    2 The Framework of Corner Proposal Network

    基于以上分析,本文的方法旨在整合anchor-free方法的优势,并通过利用两阶段目标检测方法的区分机制来减轻其缺点。基于此,提出了一个名为Corner-Proposal-Network(CPN)的新框架。它使用anchor-free方法提取object proposal,然后进行有效的区域特征计算和分类以滤除误报。图2显示了包含两个阶段的总体流程,下面详细介绍了这两个阶段的细节。

    Stage 1: Anchor-free Proposals with Corner Keypoints

    第一阶段是anchor-free proposals提取过程,我们假设每个目标对象由两个关键点决定其左上角和右下角的位置。具体地,采用CornerNet来定位一个目标对象,一对关键点分别位于其左上角和右下角。对于每个类,计算出两个热图heatmap(即左上角热图和右下角热图,热图上的每个值表示对应位置出现角关键点的概率),与原始图像相比,分辨率降低了4倍。heat map有两个损失项,即Focal损失用于定位热图上的关键点,以及偏移损失用于学习其与精确角位置的偏移。在计算完热图后,从所有热图中提取固定数量的关键点(K左上角和K右下角)。每个角关键点都有一个类标签。CornerNet具体解析可以参考本公众号文章:目标检测秘籍六:Anchor-free网络。

    接下来,通过每个有效的关键点对来定义一个object proposal。在这里,有效的意思是指两个关键点属于同一类(即,从相同类的左上角热图和右下角热图中提取),并且左上角的x坐标小于右下角的x坐标。但,这会导致每个图像上出现大量误报(错误配对的角关键点),我们将区分和分类这些proposal的任务留给了第二阶段。

    尽管本文的方法基于CornerNet来提取object proposal,但是确定目标对象及其类别等后续机制却大不相同。CornerNet通过将关键点投射到一维空间来生成目标对象,并将紧密嵌入的关键点分组到同一实例中。我们认为,embedding 过程虽然在不使用额外计算的假设下是必要的,但在配对关键点时可能会产生重大错误。特别是,不能保证embedding 函数(给每个目标对象分配一个数字)是可学习的,更重要的是,损失函数只在每个训练图像中起作用,以迫使不同目标对象的embedding number被分离,但这种机制往往不能通用于看不见的场景,例如,即使多个训练图像简单地连在一起,在单独的图像上工作良好的embedding 函数也会急剧失效。不同的是,本文的方法使用单独的分类器确定目标对象实例,从而充分利用内部特征来提高准确性。

    Stage 2: Two-step Classification for Filtering Proposals

    由于关键点热图的高分辨率和灵活的关键点分组机制,检测到的目标对象可以具有任意形状,并且召回率上限大大提高。但是,这种策略增加了proposal的数量,因此带来了两个问题:大量的误报以及过滤掉它们的计算成本。为解决此问题,第二阶段设计了一种有效的两步分类方法,该方法首先使用轻量级二进制分类器删除80%的proposal,然后应用细分类器确定每个幸存proposal的分类标签。

    分类方法第一步:训练一个二进制分类器,以确定每个proposal是否是一个目标对象。为此,首先采用卷积核大小为7×7的RoIAlign 来提取每个proposal上的box特征(见图2)。然后使用一个32×7×7的卷积层以获得每个proposal的分类分数。基于此,构建了一个二进制分类器,损失函数为:

    分类方法第二步:为每个存活的proposal分配一个类别标签,这一步非常重要,因为与角点关键点相关联的类标签并不总是可靠的,由于ROI区域信息的缺乏,各个角点之间的共识可能是不正确的,所以需要一个更强大的分类器,结合ROI特征来做出最终的决定。为此,在第二步提出了另一个分类器,这个分类器是建立在第一步提取的RoI Align特征的基础上,同时是从类别特征图中提取特征(见图2)以保存更多的信息,并通过256×7×7卷积层,得到一个表示类别的向量,为每一个存活的proposal建立单独的分类器。损失函数为:

    DeNet (《Denet: Scalable real-time object detection withdirected sparse sampling》)和本文的方法之间的差异,尽管它们在思想层面上是相似的。首先,本文为每个角点配备一个多类别标签而不是一个二进制标签,因此本文的方法可以依靠类别标签消除不必要的无效角点对,以节省整个框架的计算成本;其次,本文使用一种额外的轻量级二进制分类方法减少分类网络要处理的proposal数量,而DeNet仅依赖一个分类网络。最后,本文的方法为两个分类器设计了一种新的focal损失函数变体,它不同于DeNet中的最大似然函数,这主要是为了解决训练过程中正样本和负样本之间的不平衡问题。

    实验与结果

    数据集:MS-COCO dataset

    评价指标:average precision (AP)、 ten  IoU  thresholds  (i.e.,  0.5  :  0.05  :  0.95)

    Baseline:CornerNet  and CenterNet

    1、对比实验

     

    2、消融实验

    3、推理速度

    4、可视化

    更多细节可参考论文原文。

    
    

    展开全文
  • object detection(目标检测)就是在给定的图片中...本文主要是介绍目标检测中两阶段目标检测经典的检测算法,以及对比他们的差异性优缺点。本文主要介绍的目标检测方法有,R-CNN、SPP-NET、Fast R-CNN还有Faster R-CNN。
  • 一阶动目标检测,一阶段二阶段目标检测,matlab源码
  • 一阶动目标检测滤除杂波,该函数可以直接传入需要进行检测的数据矩阵,在快时间方向上进行处理
  • 目标检测之单阶段两阶段检测算法的对比

    万次阅读 多人点赞 2020-09-19 20:39:21
    阶段目标检测器采用了段结构采样来处理类别不均衡的问题,rpn使正负样本更加均衡 使用了阶段级联的方式来拟合bbox,先粗回归,再精调。 One stage detector 的一个通病就是既要做定位又要做classification。...

    双阶段精度高但速度慢,单精度速度快但精度稍逊。

    双阶段目标检测器采用了两段结构采样来处理类别不均衡的问题,rpn使正负样本更加均衡
    使用了两阶段级联的方式来拟合bbox,先粗回归,再精调。

    One stage detector 的一个通病就是既要做定位又要做classification。最后几层1x1 conv layer 的loss 混在一起,并没有什么专门做detection 或者专门做bbox regression的参数,那每个参数的学习难度就大一点。

    Two stage detector 的第一个stage相当于先拿一个one stage detector 来做一次前景后景的classification + detection。这个任务比 one stage detector 的直接上手N class classification + detection 要简单很多。有了前景后景,就可以选择性的挑选样本使得正负样本更加均衡,然后拿着一些参数重点训练classification。训练classification的难度也比直接做混合的classification 和 regression 简单很多。

    其实就是把一个复杂的大问题拆分成更为简单的小问题。各个参数有专攻,Two Stage Detector 在这个方面是有优势的。

    one stage detector 里如果用了 focal loss 和 separate detection/classification head 那效果跟 two stage detector 应该是一样的。

    展开全文
  • 阶段目标检测论文

    2018-10-28 19:09:02
    YOLO是Joseph Redmon和Ali Farhadi等人于2015年提出的第一个基于单个神经网络的目标检测系统。Joseph Redmon和Ali Farhadi发表的YOLO 2进一步提高了检测的精度和速度。
  • 睿智的目标检测26——Pytorch搭建yolo3目标检测平台

    万次阅读 多人点赞 2020-04-13 15:15:43
    睿智的目标检测26——Pytorch搭建yolo3目标检测平台学习前言源码下载yolo3实现思路一、预测部分1、主题网络darknet53介绍2、从特征获取预测结果3、预测结果的解码4、在原图上进行绘制二、训练部分1、计算loss所需...
  • 阶段目标检测

    万次阅读 2020-01-13 19:50:46
    1、特征金字塔的优点 图像金字塔,需要的计算和内存多;...分类模型输入多是224的,目标检测输入更大,因此先将分类模型在大尺寸数据上微调,可以显著提升效果。 3、维度聚类 手动设定的先验框具有主...
  • 【学习笔记】目标检测算法(两阶段)

    千次阅读 2020-11-20 09:31:58
    两阶段目标检测算法: R-CNN: 1.对图像进行Selective Search生成1K~2K个候选区域 2.将每个候选区域输入网络提取特征 3.将特征送入每一类的SVM分类器中,判读是否属于该类 4.使用回归器精细修正候选框的位置 具体的...
  • 睿智的目标检测30——Pytorch搭建YoloV4目标检测平台

    万次阅读 多人点赞 2020-05-24 14:14:13
    睿智的目标检测30——Pytorch搭建YoloV4目标检测平台学习前言什么是YOLOV4代码下载YOLOV4改进的部分(不完全)YOLOV4结构解析1、主干特征提取网络Backbone2、特征金字塔3、YoloHead利用获得到的特征进行预测4、预测...
  • 论文提出了一个不需要预定义锚框的一阶段全卷积目标检测方法—FCOS
  • 基于深度神经网络剪枝的两阶段遥感图像目标检测.pdf
  • 为了在只有几个样本的情况下在待检测图像中采用模板匹配的方式定位目标,提出了一种两阶段投票的目标检测方法。首先采用概率模型通过几个样本离线构造投票空间,然后采用两阶段投票的方式在待测图像中检测目标:第一...
  • 基于深度学习的单阶段目标检测算法研究综述.pdf
  • 随着深度学习的发展,基于深度...下面主要介绍单阶段的目标检测方法(SSD、YOLO系列、RetinaNet等)和多阶段目标检测方法(RCNN系列)。 一、单阶段 1、SSD 2、YOLO1 3、YOLO2 4、YOLO3 5、YOLO4 6、RetinaNet 二、多阶段
  • 本资源是word文档,共9765个字,包括参考文献,按照学报格式撰写,这篇文章综述了近年来基于深度学习的目标检测的最新进展,包括传统目标检测,一阶段目标检测以及两阶段目标检测的分析,还分析了在识别任务中使用的...
  • 今天介绍一篇两阶段的3D目标检测网络:Voxel R-CNN,论文已收录于AAAI 2021。 Voxel R-CNN论文链接为:https://arxiv.org/pdf/2012.15712.pdf 代码链接为:https://github.com/djiajunustc/Voxel-R-CNN
  • 睿智的目标检测27——Pytorch搭建Faster R-CNN目标检测平台学习前言什么是FasterRCNN目标检测算法源码下载Faster-RCNN实现思路一、预测部分1、主干网络介绍2、获得Proposal建议框3、Proposal建议框的解码4、对...
  • 基于深度学习的目标检测综述

    万次阅读 2021-05-03 20:14:04
    什么是两阶段目标检测算法,与单阶段目标检测有什么区别? 两阶段目标检测算法因需要进行阶段的处理:1)候选区域的获取,2)候选区域分类和回归,也称为基于区域(Region-based)的方。与单阶段目标检测算法的...
  • 行业分类-物理装置-一种面向破碎边缘目标两阶段边缘检测方法及装置.zip
  • 一、基于候选区域的目标检测器(两阶段)  主要是RCNN系列。 1.1 滑动窗口检测器   伪代码。我们创建很多窗口来检测不同位置的不同目标。要提升性能,一个显而易见的办法就是减少窗口数量。 ...
  • 目标检测综述

    万次阅读 多人点赞 2019-07-09 21:36:26
    这意味着,我们不仅要用算法判断图片中是不是一辆汽车, 还要在图片中标记出它的位置, 用边框或红色方框把汽车圈起来, 这就是目标检测问题。 其中“定位”的意思是判断汽车在图片中的具体位置。 近几年来,目标...
  • 目标检测算法大致可分为两阶段(two stage)目标检测算法和一阶段(one stage)目标检测算法,在没有过多的tricks的情况下,两阶段目标检测算法的检测精度是要比一阶段目标检测算法精度高的。 原因分析: 其实...
  • 睿智的目标检测18——Keras搭建FasterRCNN目标检测平台学习前言什么是FasterRCNN目标检测算法源码下载Faster-RCNN实现思路一、预测部分1、主干网络介绍2、从特征获取预测结果3、预测结果的解码4、在原图上进行绘制二...
  • 目标检测基础任务定义基本检测流程深度目标检测两阶段检测器:R CNN 系列,后续相关工作单阶段检测器:YOLO SSD RetinaNet目标检测评价评价方式数据集和方法比较
  • 为了解决单阶段目标检测的这种问题,很多不同的方法引入了新的分类损失,如 balanced loss、Focal loss 和 tailored training 方法(Online Hard Example Mining (OHEM))等。这些 losses 对每个 anchor box 都分别...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 139,522
精华内容 55,808
关键字:

两阶段目标检测