目标检测发展的22年

点击上方“迈微AI研习社”,选择“星标★”公众号

重磅干货,第一时间送达

本文详细总结了从传统手工提取特征到基于卷积神经网络方法的发展过程,核心围绕怎么在图像中找到对应位置的目标分类问题,从是否基于anchor-box分类各算法,精炼提取算法思想和改进过程、总结对比,给出了主要的应用场景和发展趋势。针对视觉2D到3D目标检测方法,再到自动驾驶场景的BEV下的3D目标检测,给出自动驾驶领域拓展实践:从BEV到占据栅格网络。

1

目标检测概述

  1. 什么是目标检测?

目标检测的任务是找出图像中所有感兴趣的目标(物体),确定他们的类别和位置。

作为计算机视觉的基本问题之一,目标检测构成了许多其它视觉任务的基础,例如实例分割,图像标注和目标跟踪等等;从检测应用的角度看:行人检测、面部检测、文本检测、交通标注与红绿灯检测,遥感目标检测统称为目标检测的五大应用。

机器视觉中关于目标检测有4大类任务:

  1. 分类(Classification):给定一张图片或一段视频判断里面包含什么类别的目标。

  2. 定位(Location):定位出这个目标的的位置。

  3. 检测(Detection):即定位出这个目标的位置并且知道目标物是什么。

  4. 分割(Segmentation):分为实例的分割(Instance-level)和场景分割(Scene-level),解决“每一个像素属于哪个目标物或场景”的问题。

这4大类任务结果如图所示:

6787d6f9d0841b95775b9cca7d554b8e.png

我们要解决的目标检测任务,是一个分类问题回归问题的叠加,分类是区分目标属于哪个类别,回归用来定位目标所在的位置。

1.2 具体实现过程

04b55844a166f0c2e40c0d204452d366.png

1.3 核心问题:怎么得到ROI?

  • 滑窗  (预选anchor)

  • Region proposal

  • CNN 提取特征

3ef1df4b46aad40a1a1031a811ae4078.png

计算机视觉中的目标检测任务就围绕着这个核心问题展开:

  1. 如何提取目标区域ROI特征:

    1. 传统方法:手工设计特征

    2. CNN方法:卷积运算提取

  2. 预选框怎么确定

    1. 基于proposal方式( 两阶段网路):滑窗、选择性搜索算法Selective Search、RPN、

    2. 不基于proposal方式( 一阶段网路):直接产生物体的类别概率和位置坐标值

    3. 基于anchor锚点方式:

    4. 不基于anchor锚点方式:将网络对目标边界框的检测转化为一对关键点的检测

术语anchor boxes是指预定义的框集合,其宽度和高度被选择以匹配数据集中目标的宽度和高度。提议的anchor boxes包含可以在数据集中找到的目标大小的可能组合。这自然应该包括数据中存在的不同纵横比和比例。通常选择 4-10 个anchor boxes作为图像中不同位置的提议。

2

目标检测发展的22年

d60b57e0d111488000ecf11684927daf.png

2.1 传统目标检测算法:手工设计特征

  1. 选取感兴趣区域,选取可能包含物体的区域

  2. 对可能包含物体的区域进行特征提取

  3. 对提取的特征进行检测分类

ab8bb6c071b4cd92f6bfa17e133d9191.png

2.1.1 Viola Jones Detector

VJ[1] (Viola Jones)检测器采用滑动窗口的方式以检查目标是否存在窗口之中,该检测器看起来似乎很简单稳定,但由于计算量庞大导致时间复杂度极高,为了解决该项问题,VJ检测器通过合并三项技术极大提高了检测速度,这三项技术分别是:1)特征的快速计算方法-积分图,2)有效的分类器学习方法-AdaBoost,以及3)高效的分类策略-级联结构的设计。

2.1.2 HOG Detector

HOG[2](Histogram of Oriented Gradients)检测器于2005年提出,是当时尺度特征不变性(Scale Invariant Feature Transform)和形状上下文(Shape Contexts)的重要改进,为了平衡特征不变性(包括平移,尺度,光照等)和非线性(区分不同的对象类别),HOG通过在均匀间隔单元的密集网格上计算重叠的局部对比度归一化来提高检测准确性,因此HOG检测器是基于本地像素块进行特征直方图提取的一种算法,它在目标局部变形和受光照影响下都有很好的稳定性。HOG为后期很多检测方法奠定了重要基础,相关技术被广泛应用于计算机视觉各大应用。

2.1.3 DPM Detector

作为VOC 2007-2009目标检测挑战赛的冠军,DPM[3] (Deformable Parts Model)是目标检测传统算法中当之无愧的SOTA(State Of The Art)算法。DPM于2008年提出,相比于HOG,DPM作了很多改进,因此该算法可以看作HOG的延申算法。DPM算法由一个主过滤器(Root-filter)和多个辅过滤器(Part-filters)组成,通过硬负挖掘(Hard negative mining),边框回归(Bounding box regression)和上下文启动(Context priming)技术改进检测精度。作为传统目标检测算法的SOTA,DPM方法运算速度快,能够适应物体形变,但它无法适应大幅度的旋转,因此稳定性差。

2.1.4 局限性

基于手工提取特征的传统目标检测算法主要有以下三个缺点:

  1. 识别效果不够好,准确率不高

  2. 计算量较大,运算速度慢

  3. 可能产生多个正确识别的结果


从手工设计特征到CNN提取特征

6ce24edfd328cb1e2e06382391561781.png

35510dc833439a1eaf529df070bc805e.gif

图片链接:https://pic2.zhimg.com/80/v2-ae8a4d6f0ded77d731f179f361254db1_1440w.webp

2.2 Anchor-based中的two-stage目标检测算法

二阶段检测算法主要分为以下两个阶段

Stage1- 预选框 从图像中生成region proposals

Stage2- 目标分类 从region proposals生成最终的物体边框。

2.2.1 RCNN

【简介】 RCNN[4]由Ross Girshick于2014年提出,RCNN首先通过选择性搜索算法Selective Search从一组对象候选框中选择可能出现的对象框,然后将这些选择出来的对象框中的图像resize到某一固定尺寸的图像,并喂入到CNN模型(经过在ImageNet数据集上训练过的CNN模型,如AlexNet)提取特征,最后将提取出的特征送入到SVM分类器来预测该对象框中的图像是否存在待检测目标,并进一步预测该检测目标具体属于哪一类。

534ef74014d5e240e7a7719cd0f8861b.png

论文链接:https://openaccess.thecvf.com/content_cvpr_2014/papers/Girshick_Rich_Feature_Hierarchies_2014_CVPR_paper.pdf

代码链接:https://github.com/rbgirshick/rcnn

a7850edb13cf62902c7df7dea898d441.jpeg

【性能】 RCNN算法在VOC-07数据集上取得了非常显著的效果,平均精度由33.7%(DPM-V5, 传统检测的SOTA算法)提升到58.5%。相比于传统检测算法,基于深度学习的检测算法在精度上取得了质的飞跃。

【不足】 虽然RCNN算法取得了很大进展,但缺点也很明显:重叠框(一张图片大2000多个候选框)特征的冗余计算使得整个网络的检测速度变得很慢(使用GPU的情况下检测一张图片大约需要14S)。

为了减少大量重叠框带来的冗余计算,K. He等人提出了SPPNet。

2.2.2 SPPNet

【简介】 SPPNet[5]提出了一种空间金字塔池化层(Spatial Pyramid Pooling Layer, SPP)。它的主要思路是对于一张图像分成若干尺度的图像块(比如一副图像分成1份,4份,8份等),然后对每一块提取的特征融合在一起,从而兼顾多个尺度的特征。SPP使得网络在全连接层之前能生成固定尺度的特征表示,而不管输入图片尺寸如何。当使用SPPNet网络用于目标检测时,整个图像只需计算一次即可生成相应特征图,不管候选框尺寸如何,经过SPP之后,都能生成固定尺寸的特征表示图,这避免了卷积特征图的重复计算。

8c5434931fb0796803ecdf31488e9901.png

论文链接:https://link.springer.com/content/pdf/10.1007/978-3-319-10578-9_23.pdf

代码链接:https://github.com/yueruchen/sppnet-pytorch

ac59fa487e60832b5813531523d2437f.jpeg

【性能】 相比于RCNN算法,SPPNet在Pascal-07数据集上不牺牲检测精度(VOC-07, mAP=59.2%)的情况下,推理速度提高了20多倍。

【不足】 和RCNN一样,SPP也需要训练CNN提取特征,然后训练SVM分类这些特征,这需要巨大的存储空间,并且多阶段训练的流程也很繁杂。除此之外,SPPNet只对全连接层进行微调,而忽略了网络其它层的参数。

为了解决以上存在的一些不足,2015年R. Girshick等人提出Fast RCNN。

2.2.3 Fast RCNN

【简介】 Fast RCNN[6]网络是RCNN和SPPNet的改进版,该网路使得我们可以在相同的网络配置下同时训练一个检测器和边框回归器。该网络首先输入图像,图像被传递到CNN中提取特征,并返回感兴趣的区域ROI,之后再ROI上运用ROI池化层以保证每个区域的尺寸相同,最后这些区域的特征被传递到全连接层的网络中进行分类,并用Softmax和线性回归层同时返回边界框。

0ae4de603205d59ecc30f183eda00d2c.png

论文链接:https://openaccess.thecvf.com/content_iccv_2015/papers/Girshick_Fast_R-CNN_ICCV_2015_paper.pdf

代码链接:https://github.com/rbgirshick/fast-rcnn

112620b942323103b2711a5f1a58a935.jpeg

【性能】 Fast RCNN在VOC-07数据集上将检测精度mAP从58.5%提高到70.0%,检测速度比RCNN提高了200倍。

【不足】 Fast RCNN仍然选用选择性搜索算法来寻找感兴趣的区域,这一过程通常较慢,与RCNN不同的是,Fast RCNN处理一张图片大约需要2秒,但是在大型真实数据集上,这种速度仍然不够理想。

那么问题来了: “我们可以使用CNN模型来直接生成候选框吗?”,基于此,Faster RCNN的提出完美回答这一问题。

2.2.4  Faster RCNN

【简介】 Faster RCNN[7]是第一个端到端,最接近于实时性能的深度学习检测算法,该网络的主要创新点就是提出了区域选择网络用于申城候选框,能几大提升检测框的生成速度。该网络首先输入图像到卷积网络中,生成该图像的特征映射。在特征映射上应用Region Proposal Network,返回object proposals和相应分数。应用Rol池化层,将所有proposals修正到同样尺寸。最后,将proposals传递到完全连接层,生成目标物体的边界框。

c26af4cf7b36bb9aff5f25ffdcbb0137.png

论文链接:https://arxiv.org/pdf/1506.01497.pdf

代码链接:https://github.com/jwyang/faster-rcnn.pytorch

83e2ca2544b88735090f7b386c2dc6a9.jpeg

【性能】 该网络在当时VOC-07,VOC-12和COCO数据集上实现了SOTA精度,其中COCO mAP@.5=42.7%, COCO mAP@[.5,.95]=21.9%, VOC07 mAP=73.2%, VOC12 mAP=70.4%, 17fps with ZFNet

【不足】 虽然Faster RCNN的精度更高,速度更快,也非常接近于实时性能,但它在后续的检测阶段中仍存在一些计算冗余;除此之外,如果IOU阈值设置的低,会引起噪声检测的问题,如果IOU设置的高,则会引起过拟合。

2.2.5 FPN

【简介】 2017年,T.-Y.Lin等人在Faster RCNN的基础上进一步提出了特征金字塔网络FPN[8](Feature Pyramid Networks)技术。在FPN技术出现之前,大多数检测算法的检测头都位于网络的最顶层(最深层),虽说最深层的特征具备更丰富的语义信息,更有利于物体分类,但更深层的特征图由于空间信息的缺乏不利于物体定位,这大大影响了目标检测的定位精度。为了解决这一矛盾,FPN提出了一种具有横向连接的自上而下的网络架构,用于在所有具有不同尺度的高底层都构筑出高级语义信息。FPN的提出极大促进了检测网络精度的提高(尤其是对于一些待检测物体尺度变化大的数据集有非常明显的效果)。

论文链接:http://openaccess.thecvf.com/content_cvpr_2017/papers/Lin_Feature_Pyramid_Networks_CVPR_2017_paper.pdf

代码链接:https://github.com/jwyang/fpn.pytorch

e8c2732b9d0d7e6c474b8b4ef1af1ab0.jpeg

【性能】 将FPN技术应用于Faster RCNN网络之后,网络的检测精度得到了巨大提高(COCO mAP@.5=59.1%, COCO mAP@[.5,.95]=36.2%),再次成为当前的SOTA检测算法。此后FPN成为了各大网络(分类,检测与分割)提高精度最重要的技术之一。

2.2.6 Cascade RCNN

论文链接:https://openaccess.thecvf.com/content_cvpr_2018/papers/Cai_Cascade_R-CNN_Delving_CVPR_2018_paper.pdf

代码链接:https://github.com/zhaoweicai/cascade-rcnn

95765b827375ae26871c3dece9d1a3ac.jpeg

【简介】 Faster RCNN完成了对目标候选框的两次预测,其中RPN一次,后面的检测器一次,而Cascade RCNN[9]则更进一步将后面检测器部分堆叠了几个级联模块,并采用不同的IOU阈值训练,这种级联版的Faster RCNN就是Cascade RCNN。通过提升IoU阈值训练级联检测器,可以使得检测器的定位精度更高,在更为严格的IoU阈值评估下,Cascade R-CNN带来的性能提升更为明显。Cascade RCNN将二阶段目标检测算法的精度提升到了新的高度。

【性能】 Cascade RCNN在COCO检测数据集上,不添加任何Trick即可超过现有的SOTA单阶段检测器,此外使用任何基于RCNN的二阶段检测器来构建Cascade RCNN,mAP平均可以提高2-4个百分点。

小结:

6eccbca3a57e7c9ba962da96d1883be5.png

33eb25d2ce7202904e4bec8d5b5af2fa.png

2.3 Anchor-based中的one-stage目标检测算法

一阶段目标检测算法不需要region proposal阶段,直接产生物体的类别概率和位置坐标值,经过一个阶段即可直接得到最终的检测结果,因此有着更快的检测速度。

2.3.1 YOLO v1

0e3da29754cae62f405ab9969649c8e7.png

没有侯选框:直接对全分类+位置回归

论文链接:https://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Redmon_You_Only_Look_CVPR_2016_paper.pdf

代码链接:https://github.com/abeardear/pytorch-YOLO-v1

14ac7a248b6d0765a15786815b15de44.jpeg

【简介】 YOLO v1[10]是第一个一阶段的深度学习检测算法,其检测速度非常快,该算法的思想就是将图像划分成多个网格,然后为每一个网格同时预测边界框并给出相应概率。例如某个待检测目标的中心落在图像中所划分的一个单元格内,那么该单元格负责预测该目标位置和类别。

【性能】 YOLO v1检测速度非常快,在VOC-07数据集上的mAP可达52.7%,实现了155 fps的实时性能,其增强版性能也很好(VOC-07 mAP=63.4%, 45 fps, VOC-12 mAP=57.9%),性能要优于DPM和RCNN。

【不足】 相比于二阶段的目标检测算法,尽管YOLO v1算法的检测速度有了很大提高,但精度相对教低(尤其是对于一些小目标检测问题)。

2.3.2 SSD

e62ad5764bf1a8681c2334b56b352813.png

论文链接:https://arxiv.org/pdf/1512.02325

代码链接:https://github.com/amdegroot/ssd.pytorch

be8d7cada8fe786f625eaf11dfcc6ad3.jpeg

【简介】 SSD[11]算法的主要创新点是提出了Multi-reference和Multi-resolution的检测技术。SSD算法和先前的一些检测算法的区别在于:先前的一些检测算法只是在网络最深层的分支进行检测,而SSD有多个不同的检测分支,不同的检测分支可以检测多个尺度的目标,所以SSD在多尺度目标检测的精度上有了很大的提高,对小目标检测效果要好很多。

【性能】 相比于YOLO v1算法,SSD进一步提高了检测精度和速度(VOC-07 mAP=76.8%, VOC-12 mAP=74.9%, COCO mAP@.5=46.5%, mAP@[.5,.95]=26.8%, SSD的精简版速度达到59 fps)。

2.3.3 YOLO v2

4ef22ff1a339e14efd16994dfdfe7d2d.png

论文链接:https://openaccess.thecvf.com/content_cvpr_2017/papers/Redmon_YOLO9000_Better_Faster_CVPR_2017_paper.pdf

代码链接:https://github.com/longcw/yolo2-pytorch

【简介】 相比于YOLO v1,YOLO v2[12]在精度、速度和分类数量上都有了很大的改进。在速度上(Faster),YOLO v2使用DarkNet19作为特征提取网络,该网络比YOLO v2所使用的VGG-16要更快。在分类上(Stronger),YOLO v2使用目标分类和检测的联合训练技巧,结合Word Tree等方法,使得YOLO v2的检测种类扩充到了上千种。下图2-2展示了YOLO v2相比于YOLO v1在提高检测精度(Better)上的改进策略。

【性能】 YOLO v2算法在VOC 2007数据集上的表现为67 FPS时,mAP为76.8,在40FPS时,mAP为78.6。

【不足】 YOLO v2算法只有一条检测分支,且该网络缺乏对多尺度上下文信息的捕获,所以对于不同尺寸的目标检测效果依然较差,尤其是对于小目标检测问题。

2.3.4 RetinaNet

论文链接:https://openaccess.thecvf.com/content_ICCV_2017/papers/Lin_Focal_Loss_for_ICCV_2017_paper.pdf

代码链接:https://github.com/yhenon/pytorch-retinanet

【简介】 尽管一阶段检测算推理速度快,但精度上与二阶段检测算法相比还是不足。RetinaNet[13]论文分析了一阶段网络训练存在的类别不平衡问题,提出能根据Loss大小自动调节权重的Focal loss,代替了标准的交叉熵损失函数,使得模型的训练更专注于困难样本。同时,基于FPN设计了RetinaNet,在精度和速度上都有不俗的表现。

【性能】 RetinaNet在保持高速推理的同时,拥有与二阶段检测算法相媲美的精度(COCO mAP@.5=59.1%, mAP@[.5, .95]=39.1%)。

2.3.5 YOLO v3

9b4b3d7b481445cca9fc26723a0cebaa.png

论文链接:https://arxiv.org/pdf/1804.02767.pdf

代码链接:https://github.com/ultralytics/yolov3

73064b039b1c43689ebf3b9caf8b5650.jpeg

【简介】 相比于YOLO v2,YOLO v3[14]将特征提取网络换成了DarkNet53,对象分类用Logistic取代了Softmax,并借鉴了FPN思想采用三条分支(三个不同尺度/不同感受野的特征图)去检测具有不同尺寸的对象。

【性能】 YOLO v3在VOC数据集,Titan X上处理608×608图像速度达到20FPS,在COCO的测试数据集上mAP@0.5达到57.9%。其精度比SSD高一些,比Faster RCNN相比略有逊色(几乎持平),比RetinaNet差,但速度是SSD、RetinaNet和Faster RCNN至少2倍以上,而简化后的Yolov3 tiny可以更快。

【不足】 YOLO v3采用MSE作为边框回归损失函数,这使得YOLO v3对目标的定位并不精准,之后出现的IOU,GIOU,DIOU和CIOU等一系列边框回归损失大大改善了YOLO v3对目标的定位精度。

2.3.6 YOLO v4

论文链接:https://arxiv.org/pdf/2004.10934

代码链接:https://github.com/Tianxiaomo/pytorch-YOLOv4

071f0b5012322a4e18449ced787e9712.jpeg

【简介】 相比于YOLO v4,YOLO v4[15]在输入端,引入了Mosaic数据增强、cmBN、SAT自对抗训练;在特征提取网络上,YOLO v4将各种新的方式结合起来,包括CSPDarknet53,Mish激活函数,Dropblock;在检测头中,引入了SPP模块,借鉴了FPN+PAN结构;在预测阶段,采用了CIOU作为网络的边界框损失函数,同时将NMS换成了DIOU_NMS等等。总体来说,YOLO v4具有极大的工程意义,将近年来深度学习领域最新研究的tricks都引入到了YOLO v4做验证测试,在YOLO v3的基础上更进一大步。

【性能】 YOLO v4在COCO数据集上达到了43.5%AP(65.7% AP50),在Tesla V100显卡上实现了65 fps的实时性能,下图2-3展示了在COCO检测数据集上YOLO v4和其它SOTA检测算法的性能对比。

6514b1fc99fed961f9cfbea0e2504efc.jpeg

2.3.7 YOLO V5

代码链接:https://github.com/ultralytics/yolov5

84f56027e1e67fe2a80e60fbde8a63ab.jpeg

【简介】 目前YOLO V5公布了源代码,但尚未发表论文;与YOLO V4有点相似,都大量整合了计算机视觉领域的State-of-the-art,从而显著改善了YOLO对目标的检测性能。相比于YOLO V4,YOLO V5在性能上稍微逊色,但其灵活性与速度上远强于YOLO V4,而且在模型的快速部署上也具有极强优势。

【性能】 。如下图2-4展示了在COCO检测数据集上YOLO v5和其它SOTA检测算法的性能对比。

862377b0f3755fc248373a3c89dcaaad.jpeg

2.3.8 Anchor-based目标检测算法局限性

基于Anchor的目标检测算法主要有以下四大缺点:

  1. Anchor的大小,数量,长宽比对于检测性能的影响很大(通过改变这些超参数Retinanet在COCO benchmark上面提升了4%的AP),因此Anchor based的检测性能对于anchor的大小、数量和长宽比都非常敏感。

  2. 这些固定的Anchor极大地损害了检测器的普适性,导致对于不同任务,其Anchor都必须重新设置大小和长宽比。

  3. 为了去匹配真实框,需要生成大量的Anchor,但是大部分的Anchor在训练时标记为负样本,所以就造成了样本极度不均衡问题(没有充分利用fore-ground)。

  4. 在训练中,网络需要计算所有Anchor与真实框的IOU,这样就会消耗大量内存和时间。


小结

91b03cf01294646dcef5746ac11e26ab.png

2.4 Anchor-Free中的目标检测算法

基于Anchor的物体检测问题通常被建模成对一些候选区域进行分类和回归的问题,在一阶段检测器中,这些候选区域就是通过滑窗方式产生Anchor box,而在二阶段检测器中,候选区域是RPN生成的Proposal,但是RPN本身仍然是对滑窗方式产生的Anchor进行分类和回归。基于Anchor的检测算法:由于Anchor太多导致计算复杂,及其所带来的大量超参数都会影响模型性能。近年的Anchor free技术则摒弃Anchor,通过确定关键点的方式来完成检测,大大减少了网络超参数的数量。

2.4.1 CornerNet

论文链接:http://openaccess.thecvf.com/content_ECCV_2018/papers/Hei_Law_CornerNet_Detecting_Objects_ECCV_2018_paper.pdf

代码链接:https://github.com/princeton-vl/CornerNet

3156e8f0632cd18a4bf006b334d19fb2.jpeg

【简介】 CornerNet[16]是Anchor free技术路线的开创之作,该网络提出了一种新的对象检测方法,将网络对目标边界框的检测转化为一对关键点的检测(即左上角和右下角),通过将对象检测为成对的关键点,而无需设计Anchor box作为先验框。

【性能】 实验表明,CornerNet在COCO数据集上实现了42.1%AP,该精度优于所有现有的单阶段检测网络。下图2-3展示了在COCO检测数据集上CornerNet和其它SOTA检测算法的性能对比。

1b0110b59b5633f62c274be133f029c2.jpeg

【不足】 CornerNet只关注边缘和角点,缺乏目标内部信息,容易产生FP;该网络还是需要不少的后处理,比如如何选取分数最高的点,同时用offset来微调目标定位,也还需要做NMS。

2.4.2 CenterNet

论文链接:https://openaccess.thecvf.com/content_ICCV_2019/papers/Duan_CenterNet_Keypoint_Triplets_for_Object_Detection_ICCV_2019_paper.pdf

代码链接:https://github.com/Duankaiwen/CenterNet

ee217ce05b0a18a5bc51b9ed764da2bb.jpeg

【简介】 与CornerNet检测算法不同,CenterNet[17]的结构十分简单,它摒弃了左上角和右下角两关键点的思路,而是直接检测目标的中心点,其它特征如大小、3D位置、方向,甚至姿态可以使用中心点位置的图像特征进行回归,是真正意义上的Anchor free。该算法在精度和召回率上都有很大提高,同时该网络还提出了两个模块:级联角池化模块和中心池化模块,进一步丰富了左上角和右下角收集的信息。

【性能】 相比于一阶段和二阶段检测算法,CenterNet的速度和精度都有不少的提高,在COCO数据集上,CenterNet实现了47.0%的AP,比现有的一阶段检测器至少高出4.9%。下图2-4展示了在COCO检测数据集上CenterNet和其它SOTA检测算法的性能对比。

【不足】 在训练过程中,同一类别中的如果某些物体靠的比较近,那么其Ground Truth中心点在下采样时容易挤到一块,导致两个物体GT中心点重叠,使得网络将这两个物体当成一个物体来训练(因为只有一个中心点了);而在模型预测阶段,如果两个同类物体在下采样后的中心点也重叠了,那么网络也只能检测出一个中心点。

2.4.3 FSAF

论文链接:http://openaccess.thecvf.com/content_CVPR_2019/papers/Zhu_Feature_Selective_Anchor-Free_Module_for_Single-Shot_Object_Detection_CVPR_2019_paper.pdf

代码链接:https://github.com/hdjang/Feature-Selective-Anchor-Free-Module-for-Single-Shot-Object-Detection

c5b6316def9b742d1e824987c0439e9f.jpeg

【简介】 FSAF[18]网络提出了一种FSAF模块用于训练特征金字塔中的Anchor free分支,让每一个对象都自动选择最合适的特征。在该模块中,Anchor box的大小不再决定选择哪些特征进行预测,使得Anchor的尺寸成为了一种无关变量,实现了模型自动化学习选择特征。

【性能】 下图2-5展示了在COCO检测数据集上FSAF算法和其它SOTA检测算法的性能对比。

d90eb64e8564a33f19af67f651981657.jpeg

2.4.4 FCOS

论文链接:https://openaccess.thecvf.com/content_ICCV_2019/papers/Tian_FCOS_Fully_Convolutional_One-Stage_Object_Detection_ICCV_2019_paper.pdf

代码链接:https://github.com/tianzhi0549/FCOS

9f930e6fa83dd85492c3dd39fdd2c46f.jpeg

【简介】 FCOS[19]网络是一种基于FCN的逐像素目标检测算法,实现了无锚点(Anchor free),无提议(Proposal free)的解决方案,并且提出了中心度Center ness的思想。该算法通过去除Anchor,完全避免了Anchor的复杂运算,节省了训练过程中大量的内存占用,将总训练内存占用空间减少了2倍左右。

【性能】 FCOS的性能优于现有的一阶段检测器,同时FCOS还可用作二阶段检测器Faster RCNN中的RPN,并且很大程度上都要优于RPN。下图2-6展示了在COCO检测数据集上FCOS算法和其它SOTA检测算法的性能对比。

445d0d39d03622cad227a0eec51b625c.jpeg

2.4.5 SAPD

论文链接:https://arxiv.org/pdf/1911.12448

代码链接:https://github.com/xuannianz/SAPD

1640a88140f755d29b4d174145728b8b.jpeg

【简介】 SAPD[20]论文作者认为Anchor point的方法性能不高主要还是在于训练的不充分,主要是注意力偏差和特征选择。因而作者提出了两种策略:1)Soft-weighted anchor points对不同位置的样本进行权重分配 2)Soft-selected pyramid levels,将样本分配到多个分辨率,并进行权重加权。而在训练阶段,作者前6个epoch采用FSAF的方式,而后6个epoch会将特征选择的预测网络加入进行联合训练。

【性能】 下图2-6展示了在COCO检测数据集上SAPD算法和其它SOTA检测算法的性能对比。

efb7f1eadcd52c7e9a2a686ff54aa618.jpeg

3

常用数据集及评价指标

3.1 常用数据集

3.1.1 四大公共数据集

Pascal VOC[21],ILSVRC[22],MS-COCO[23],和OID[24]数据集是目标检测使用最多的四大公共数据集,至于这四大数据集的介绍,此处不一一展开,大家可根据下方给出的链接了解:

  • PASCAL VOC数据集详细介绍可参考:https://arleyzhang.github.io/articles/1dc20586/

  • ILSVRC数据集详细介绍可参考:https://cloud.tencent.com/developer/article/1747599

  • MS-COCO数据集详细介绍可参考:https://blog.csdn.net/qq_41185868/article/details/82939959

  • Open Images(QID)数据集详细介绍可参考:https://bbs.easyaiforum.cn/thread-20-1-1.html

下图3-1展示了这四大检测数据集的样例图片及其标签

25dd108de861a79f7b255fb3493b6f7d.jpeg

下表3-1展示了这四大检测数据集的数据统计结果:

bb04c9c4afed697e3827bcf01a956ea4.jpeg

3.1.2 其它数据集

检测任务包含了很多种,其中比较常见的检测任务有行人检测,脸部检测,文本检测,交通灯与交通标志检测,遥感图像目标检测。

3.2 常用评价指标

目标检测常用的评价指标有:交并比,准确率,精度,召回率,FPR,F1-Score,PR曲线-AP值,ROC曲线-AUC值,和mAP值和FPS。

3.2.1 交并比(IOU)

IOU = 两个矩形交集的面积 / 两个矩形并集的面积

a494c7d6e17941ebcbe3985edd97fe61.jpeg

如上图3-2,假设A是模型检测结果,B为Ground Truth,那么IOU = (A ∩ B) / (A ∪ B),一般情况下对于检测框的判定都会存在一个阈值,也就是IOU的阈值,一般将IOU值设置为大于0.5的时候,则可认为检测到目标物体。

3.2.2 准确率/精度/召回率/F1值/FPR

True positives (TP,真正): 预测为正,实际为正True negatives (TN,真负): 预测为负,实际为负False positives(FP,假正): 预测为正,实际为负False negatives(FN,假负): 预测为负,实际为正

879fdc9f6551cf1105c8c8b0df7abc24.png

3.2.3 PR曲线-AP值

模型精度,召回率,FPR和F1-Score值无法往往不能直观反应模型性能,因此就有了PR曲线-AP值 和 ROC曲线-AUC值

PR曲线就是Precision和Recall的曲线,我们以Precision作为纵坐标,Recall为横坐标,可绘制PR曲线如下图3-3所示:

17eb7fbbe286edec55e10cd8bcb1f02f.jpeg

评估标准:如果模型的精度越高,且召回率越高,那么模型的性能自然也就越好,反映在PR曲线上就是PR曲线下面的面积越大,模型性能越好。我们将PR曲线下的面积定义为AP(Average Precision)值,反映在AP值上就是AP值越大,说明模型的平均准确率越高。

3.2.4 ROC曲线-AUC值

ROC曲线就是RPR和TPR的曲线,我们以FPR为横坐标,TPR为纵坐标,可绘制ROC曲线如下图3-4所示:

8f52fa041ee73fd77483a86c153410ba.jpeg

评估标准:当TPR越大,FPR越小时,说明模型分类结果是越好的,反映在ROC曲线上就是ROC曲线下面的面积越大,模型性能越好。我们将ROC曲线下的面积定义为AUC(Area Under Curve)值,反映在AUC值上就是AUC值越大,说明模型对正样本分类的结果越好。

3.2.5 mAP

Mean Average Precision(mAP)是平均精度均值,具体指的是不同召回率下的精度均值。在目标检测中,一个模型通常会检测很多种物体,那么每一类都能绘制一个PR曲线,进而计算出一个AP值,而多个类别的AP值的平均就是mAP。

评估标准:mAP衡量的是模型在所有类别上的好坏,属于目标检测中一个最为重要的指标,一般看论文或者评估一个目标检测模型,都会看这个值,这个值(0-1范围区间)越大越好。

划重点!!!

一般来说mAP是针对整个数据集而言的,AP则针对数据集中某一个类别而言的,而percision和recall针对单张图片某一类别的。

3.2.6 FPS

Frame Per Second(FPS)指的是模型一秒钟能检测图片的数量,不同的检测模型往往会有不同的mAP和检测速度,如下图3-5所示:

3900d01a7cc62d0c9f64a77804c11c98.jpeg

目标检测技术的很多实际应用在准确度和速度上都有很高的要求,如果不计速度性能指标,只注重准确度表现的突破,其代价是更高的计算复杂度和更多内存需求,对于行业部署而言,可扩展性仍是一个悬而未决的问题。因此在实际问题中,通常需要综合考虑mAP和检测速度等因素。本小节参考目标检测中的评价指标有哪些[25

4

应用场景和发展趋势

4.1 5大应用场景

1 行人检测

2 人脸检测

3 文本检测

4 交通信号检测

5 遥感目标检测

4.2  7大发展趋势

1 轻量型目标检测

2 与AutoML结合的目标检测

3 领域自适应的目标检测

4 弱监督目标检测

5 小目标检测

6 视频检测

7 信息融合目标检测

5

课程拓展

从2D检测 -> 3D检测 -> BEV检测 -> Occupancy Net

自动驾驶的视觉感知算法主要经历了四个阶段

  • 2D检测

  • 3D检测

  • BEV检测

  • Occupancy Net

直接输出车辆框在图像上的位置和大小(x,y,w,h)

4382269d174f4dc0d3795712a600f923.png

PV视角

af477797b805220067798335fa275904.png

BEV(鸟瞰图)

这个结果自动驾驶系统是不能直接用的,自动驾驶系统需要的是BEV(鸟瞰图)视角下物体的的位置

缺少了深度D或者高度H!!!

输入360度图像,直接给出BEV下的预测结果

4440859de50692aafd0021eae0443560.png

对比:

2d检测:检测图像在2D上的位置->变换到bev坐标系->拼接多个相机的bev结果

Mono 3d检测:检测图像在3D上的位置->拼接多个相机的bev结果

3d检测:检测物体在bev上位置

Occupancy Net: 预测物体在BEV上的占用情况

47ea08b5a48ac078e36132eb56c22e57.pnge99d9667a8477c88fea599b56052d722.png

GitHub地址 https://github.com/Charmve/OccNet-Course

补充材料:

https://charmve.github.io/autopilot-perception/#/./docs/06-目标检测网络详解(R-CNN、FastR-CNN、YOLO、SSD等)

3D目标检测 清华.赵行 https://www.bilibili.com/video/BV1Sc411K7L1

https://zhuanlan.zhihu.com/p/34142321

目标检测中的Anchor https://zhuanlan.zhihu.com/p/55824651

迈向BEV的大一统 | 基于纯视觉策略的BEV感知 https://mp.weixin.qq.com/s/43sQJtblSOILLWBr46oMVw

《自动驾驶感知算法:从BEV到占据网络》视频、课件、源代码

c1fbcf8f7cc2f7cabb253c0b7dee9f86.png

GitHub地址 https://github.com/Charmve/OccNet-Course

推荐阅读

(点击标题可跳转阅读)

由于微信公众号试行乱序推送,您可能不再能准时收到迈微AI研习社的推送。为了第一时间收到报道, 请将“迈微AI研习社”设为星标账号,以及常点文末右下角的“在看”。

迈微AI研习社

微信号: MaiweiE_com

GitHub: @Charmve

CSDN、知乎: @Charmve

投稿: yidazhang1@gmail.com

主页: github.com/Charmve

4e2b000e08ace82fc3de377ec2b52117.jpeg

如果觉得有用,就请点赞、转发吧!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
2017 绿警--防盗追踪报警系统 德鲁小分队 电子设计大赛PPT-海上搜索多功能无人艇全文共22页,当前为第1页。 项目概述 第一章 产品详述 第二章 营销策略 第三章 风险管控 第四章 目录 Contents 单击此处可编辑内容,根据您的 需要自由拉伸文本框大小 团队建设 第五章 电子设计大赛PPT-海上搜索多功能无人艇全文共22页,当前为第2页。 第一章 项目概述 1 项目摘要 2 行情分析 电子设计大赛PPT-海上搜索多功能无人艇全文共22页,当前为第3页。 1 项目背景 根据中国自行车行业协会、国家统计局相关的数据显示,到2018为止我国电动自行车保有量约2亿辆,并且数据显示到20194月我国电动自行车产量为799.32万辆,比2018同期增长8.62%。可见我国电动车使用情况还是非常普遍的,然而对于电动车的盗取现象,可以看到经常发生。因此,对于电动车的防盗追踪报警等的安全以及管理问题尤为重要。 电子设计大赛PPT-海上搜索多功能无人艇全文共22页,当前为第4页。 2 行情分析 01 02 03 面向行业 市场现状 产品竞争 电子设计大赛PPT-海上搜索多功能无人艇全文共22页,当前为第5页。 产品详述 第二章 1 模块化设计 2 多层次结构 3 创新点 电子设计大赛PPT-海上搜索多功能无人艇全文共22页,当前为第6页。 1 模块化设计 对光照强度、环境温度、环境湿度的实时和历史曲线进行监测 环境单元 对逆变电压和电流的试试和历史运行信息进行全面的曲线监测 负载单元 对光伏电流电压进行实时和历史曲线监测 光伏单元 本项目以GPS/北斗/GPRS技术为核心,开发一种基于嵌入式的电动自行车防盗追踪报警定位系统。用户可以通过手机APP(绿警)实现对于电动自行车的断电、断电提醒、震动报警、报警记录、查看设备属性、电话提醒设置、电子栅栏、添加常见故障处理等的功能。 电子设计大赛PPT-海上搜索多功能无人艇全文共22页,当前为第7页。 2 多层次结构 GPRS通信 传感器 GPS/北斗定位 用户 手机 可以与后端程序通信实现云端书的的共享和信息的处理 远程操作,信息反馈 检测电动车数据,并实时的反馈 电子设计大赛PPT-海上搜索多功能无人艇全文共22页,当前为第8页。 3 创新点 本项目以GPS/北斗/GPRS技术为核心,开发一种基于嵌入式的电动自行车防盗追踪报警定位系统。 采用顺应社会潮流的"互联网+"电子商务化营销新模式,以用户需求以及体验为导向,引领防盗追踪报警问题发展的新潮流。 电子设计大赛PPT-海上搜索多功能无人艇全文共22页,当前为第9页。 3 创新点 人机交换显示屏 人机交互区域可控制和监控整个本产品模拟仪的运行,用户可以通过手机APP(绿警)实现对于电动自行车的断电、断电提醒、震动报警、报警记录、查看设备属性、电话提醒设置、电子栅栏、添加常见故障处理等的功能。 电子设计大赛PPT-海上搜索多功能无人艇全文共22页,当前为第10页。 第三章 营销计划 1 2 营销策略 战略目标 电子设计大赛PPT-海上搜索多功能无人艇全文共22页,当前为第11页。 1 营销策略 营销渠道 01 宣传方式 02 销售方式 03 服务方式 04 线上 线下 科学杂志 企业 租赁 售卖 线上预约 固定维修点 软硬件升级 网上平台 电子设计大赛PPT-海上搜索多功能无人艇全文共22页,当前为第12页。 2 战略目标 短期(1-3) 打开省内市场,提高产品知晓度,提高市场占有率,初步建立营销网络 中期(3-5) 实现服务升级,进一步完善营销网络和售后维修技术,全国化经营,公司营业收入稳步增长 长期(5-10) 建立具有绝对优势的企业文化,将公司建设成集生产、销售、研发于一体的知名企业 打开省内市场,提高产品知晓度,提高市场占有率,初步建立营销网络 电子设计大赛PPT-海上搜索多功能无人艇全文共22页,当前为第13页。 第四章 风险管控 1 4 风险管理的程序 竞争风险与对策 3 市场风险及对策 1 财务风险与对策 电子设计大赛PPT-海上搜索多功能无人艇全文共22页,当前为第14页。 1 风险管理的程序 识别 评估 测量 控制 监督 电子设计大赛PPT-海上搜索多功能无人艇全文共22页,当前为第15页。 起步期需要花费大量资金用于厂房和设备机器购置、广告推广等,可能会遇到资金不足问题。 坚持谨慎性原则 建立风险基金 建立短期财务预警系统 编制现金流量预算。 合理控制成本支出。 2 财务风险及对策 电子设计大赛PPT-海上搜索多功能无人艇全文共22页,当前为第16页。 风险 如果对市场分析预测的不够准确,可能制定不合适的价格,阻碍产品市场化进程,甚至失去部分市场,导致投资难以收回。 做好市场调研、决策分析等各项工作,及时调整企
更智能、更高效、更优质--人工智能在电力行业中的应用全文共24页,当前为第1页。 更智能、更高效、更优质--人工智能在电力行业中的应用全文共24页,当前为第2页。 无人驾驶 人脸识别 智能家居 智慧城市 Siri 智能搜索 智能机器人 工业大脑 更智能、更高效、更优质--人工智能在电力行业中的应用全文共24页,当前为第3页。 培训对象 新入职员工 知识目标 1.能够复述人工智能技术发展的三个基本要素 2.能够复述人工智能技术在电力行业的发展方向 技能目标 能够辨别已实际应用的人工智能技术属于哪种方向 更智能、更高效、更优质--人工智能在电力行业中的应用全文共24页,当前为第4页。 更智能、更高效、更优质--人工智能在电力行业中的应用全文共24页,当前为第5页。 百度百科 人工智能(Artificial Intelligence) 模拟、延伸和扩展人的智能 麻省理工教授 如何使计算机去做只有人才能做的智能工作 更智能、更高效、更优质--人工智能在电力行业中的应用全文共24页,当前为第6页。 19世纪70代 19世纪90代 当前 第一款人工智能软件 网络&BP 算法 Why now? 更智能、更高效、更优质--人工智能在电力行业中的应用全文共24页,当前为第7页。 运算 能力 核心 算法 数据 资源 基本要素站上新台阶 第三次浪潮原因: 多层神经网络系统 类人脑芯片+GPU 并行+ 云计算"三合一" 2020 ——40ZB 重要知识点 更智能、更高效、更优质--人工智能在电力行业中的应用全文共24页,当前为第8页。 人工智能上升至新台阶 计算智能 感知智能 认知智能 少许判断和行动 计算和存储 替代人类工作 更智能、更高效、更优质--人工智能在电力行业中的应用全文共24页,当前为第9页。 本节小结 人工智能 概念 三个要素 发展的三个阶段 更智能、更高效、更优质--人工智能在电力行业中的应用全文共24页,当前为第10页。 更智能、更高效、更优质--人工智能在电力行业中的应用全文共24页,当前为第11页。 课堂回顾 人工智能的作用是什么? 替代只有人才能做的工作 发展方向一 人工替代 更智能、更高效、更优质--人工智能在电力行业中的应用全文共24页,当前为第12页。 发展方向一 人工替代 智能巡检机器人 固定路线巡视 第一时间传回数据 运行设备测温 采集分析异常声音 更智能、更高效、更优质--人工智能在电力行业中的应用全文共24页,当前为第13页。 发展方向一 人工替代 工作更高效 更智能、更高效、更优质--人工智能在电力行业中的应用全文共24页,当前为第14页。 课堂回顾 人工智能的三个要素是什么? 数据资源、核心算法、运算能力 课堂思考 电力行业可以提供哪个? 大量的电力数据 发展方向二 智能电网 更智能、更高效、更优质--人工智能在电力行业中的应用全文共24页,当前为第15页。 发展方向二 智能电网 源网荷系统 1、企业用电分为哪三种? 2、有序用电时哪两种不受影响 ? 更智能、更高效、更优质--人工智能在电力行业中的应用全文共24页,当前为第16页。 发展方向二 智能电网 源网荷系统 1、企业用电分为哪三种? 2、有序用电时哪两种不受影响 ? 生产、办公、生活 生产、办公 更智能、更高效、更优质--人工智能在电力行业中的应用全文共24页,当前为第17页。 发展方向二 智能电网 电网更智能 更智能、更高效、更优质--人工智能在电力行业中的应用全文共24页,当前为第18页。 本节小结 更智能、更高效、更优质--人工智能在电力行业中的应用全文共24页,当前为第19页。 课程回顾 更智能、更高效、更优质--人工智能在电力行业中的应用全文共24页,当前为第20页。 更智能、更高效、更优质--人工智能在电力行业中的应用全文共24页,当前为第21页。 案例分析 开启窗口服务的"智慧眼" 问题:人工找出营业人员不规范的工作量太大 解决方案: 1、各级供电营业厅的音视频监控系统是现成的"眼睛" 2、结合音视频检测比对算法,对音视频信号展开分析诊断, 3、可以实现360度全景监控和预警营业窗口服务中的不规范行为 项目实施后,营业厅服务质检效率提高95%,人工成本降低80% 问题1:该项目属于哪种人工智能应用类型? 问题2:该人工智能的应用取得了哪些成效? 服务更优质 更智能、更高效、更优质--人工智能在电力行业中的应用全文共24页,当前为第22页。 行动任务 分析本职岗位上是否存在可采用人工智能代替的工作,思考解决措施(程序、繁琐) 1、可与同事讨论 更智能、更高效、更优质--人工智能在电力行业中的应用全文共24页,当前为第23页。 更智能、更高效、更优质 更智能、更高效、更优质--人工智能在电力行业中的应用全文共24页,当前为第24页。
半监督目标检测是指在目标检测任务中,利用有标注和无标注的数据进行模型训练的一种方法。以下是半监督目标检测发展历程: 1. 传统目标检测方法:早期的目标检测方法主要基于传统的机器学习算法,如SVM、HOG等。这些方法需要大量标注数据进行训练,且对于不同类别的目标需要手动设计特征。 2. 弱监督目标检测:为了减少标注数据的需求,研究者开始探索弱监督目标检测方法。这些方法利用只有图像级别标签的数据进行训练,如图像级别标签表示图像中是否包含目标。但是由于缺乏目标位置信息,这些方法的性能较低。 3. 半监督目标检测:随着深度学习的兴起,研究者开始将其应用于半监督目标检测任务中。半监督目标检测方法利用有标注和无标注的数据进行训练,通过在有标注数据上进行监督学习,同时在无标注数据上进行自监督学习或者生成伪标签,从而提高模型性能。 4. 自监督学习:自监督学习是半监督目标检测中常用的方法之一。它通过在无标注数据上设计任务,如图像重建、图像旋转等,从而生成伪标签进行训练。自监督学习可以有效利用大量无标注数据,提高模型性能。 5. 生成模型:生成模型也是半监督目标检测中的一种重要方法。生成模型通过学习数据的分布,生成新的样本,并利用这些生成的样本进行训练。生成模型可以扩充有标注数据,提高模型的泛化能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Charmve

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值