【读点论文】Object Detection in 20 Years: A Survey,宏观了解大方向发展,常看常新,这篇越看到后面越泛

news2024/9/24 1:24:20

Object Detection in 20 Years: A Survey

Abstract

  • 目标检测作为计算机视觉领域最基本、最具挑战性的问题之一,近年来受到了极大的关注。在过去的二十年里,我们目睹了目标检测技术的快速演进及其对整个计算机视觉领域的深远影响。如果说今天的目标检测技术是一场由深度学习推动的革命,那么在上世纪 90 年代,我们则看到了早期计算机视觉的巧妙思考和长远设计。本文从技术演进的角度对这一快速发展的研究领域进行了广泛的回顾,时间跨度超过四分之一世纪(从上世纪 90 年代到 2022 年)。本文涵盖了许多主题,包括历史上的里程碑式检测器、检测数据集、指标、检测系统的基本构建模块、加速技术以及最近最先进的检测方法。

INTRODUCTION

  • 目标检测是一项重要的计算机视觉任务,用于检测数字图像中某一类(如人类、动物或汽车)的视觉物体实例。物体检测的目标是开发计算模型和技术,以提供计算机视觉应用所需的最基本知识之一:什么物体在哪里?物体检测的两个最重要指标是准确度(包括分类准确度和定位准确度)和速度

  • 物体检测是许多其他计算机视觉任务的基础,例如实例分割 、图像字幕、物体跟踪 等。近年来,深度学习技术的快速发展 极大地促进了物体检测的进步,取得了显著的突破,并使其成为一个受到空前关注的研究热点。物体检测现已广泛应用于许多实际应用中,例如自动驾驶、机器人视觉、视频监控等。图 1 显示了过去二十年来与“物体检测”相关的出版物数量的增长。

    • 在这里插入图片描述

    • 1998 年至 2021 年,物体检测领域的出版物数量不断增加。(数据来自 Google 学术高级搜索:allintitle:“object detection” 或 “detectingobjects”。)

  • 由于不同的检测任务具有完全不同的目标和约束,它们的难度可能各不相同。除了其他计算机视觉任务中的一些常见挑战(例如不同视点、光照和类内变化下的物体)外,物体检测中的挑战包括但不限于以下方面:物体旋转和尺度变化(例如小物体)、精确的物体定位、密集和遮挡物体检测、检测速度加快等。在第四节中,我们将对这些主题进行更详细的分析。

  • 本综述旨在从多个角度为新手提供对物体检测技术的全面掌握,重点是其发展。主要特点有三点:根据技术发展进行全面回顾、深入探讨关键技术和最新技术水平、全面分析检测加速技术。主要线索侧重于过去、现在和未来,并辅以物体检测中的其他一些必要组成部分,如数据集、指标和加速技术。站在技术高速公路上,本综述旨在展示相关技术的演变,让读者掌握基本概念并找到潜在的未来方向,同时忽略其技术细节。

  • 本文的其余部分安排如下。在第二部分中,我们回顾了物体检测 20 年的发展。 在第三部分中,我们回顾了物体检测中的加速技术。第四部分回顾了近三年来最先进的检测方法。在第五部分中,我们总结了本文并深入分析了进一步的研究方向。

OBJECT DETECTION IN 20 YEARS

  • 在本节中,我们将从多个角度回顾对象检测的历史,包括里程碑检测器、数据集、指标和关键技术的演变。

A. A Road Map of Object Detection

  • 在过去的二十年中,人们普遍认为物体检测的进展大致经历了两个历史时期:“传统物体检测时期(2014年之前)”和“基于深度学习的检测时期(2014年之后)”,如图2所示。

    • 在这里插入图片描述

    • 物体检测的发展路线图。图中的里程碑检测器包括:VJ Det. 、HOG Det. 、DPM 、RCNN 、SPPNet 、Fast RCNN 、Faster RCNN 、YOLO 、SSD 、FPN 、Retina-Net 、CornerNet 、CenterNet 、DETR 。

  • 下面我们将总结这一时期里程碑式的检测器,以出现时间和性能表现为主线,突出其背后的驱动技术,见下图。

    • 在这里插入图片描述

    • VOC07、VOC12 和 MS-COCO 数据集上目标检测的准确率提升。图中的检测器包括:DPM-v1 、DPM-v5 、RCNN 、SPPNet 、Fast RCNN 、Faster RCNN 、SSD 、FPN 、RetinaNet 、RefineDet 、TridentNet 、 CenterNet 、FCOS 、HTC 、YOLOv4 、Deformable DETR 、Swin Transformer 。

  • 1)里程碑:传统检测器:如果将今天的物体检测技术视为深度学习驱动的一场革命,那么在 1990 年代,我们会看到早期计算机视觉的巧妙设计和长远眼光。 早期的物体检测算法大多基于手工特征构建。由于当时缺乏有效的图像表示,人们不得不设计复杂的特征表示和各种加速技巧

    • Viola Jones 检测器:2001 年,P. Viola 和 M. Jones 首次实现了实时人脸检测,且不受任何约束(如肤色分割)。该检测器运行在 700MHz Pentium III CPU 上,在检测精度相当的情况下,比当时其他算法快数十倍甚至数百倍。VJ 检测器采用最直接的检测方式,即滑动窗口:遍历图像中所有可能的位置和尺度,查看是否有任何窗口包含人脸。 虽然这看起来是一个非常简单的过程,但其背后的计算远远超出了当时计算机的能力。 VJ 检测器通过结合三种重要技术,大大提高了检测速度:“积分图像”、“特征选择”和“检测级联”(将在第三部分介绍)。
    • HOG 检测器:2005 年,N. Dalal 和 B. Triggs 提出了方向梯度直方图 (HOG) 特征描述符 。HOG 可视为当时尺度不变特征变换 和形状上下文 的重要改进。为了平衡特征不变性(包括平移、缩放、光照等)和非线性,HOG 描述符被设计为在均匀分布的单元密集网格上计算,并使用重叠局部对比度归一化(在“块”上)。虽然 HOG 可用于检测各种物体类别,但它的主要动机是行人检测问题。为了检测不同大小的物体,HOG 检测器会多次重新缩放输入图像,同时保持检测窗口的大小不变。多年来,HOG 检测器一直是许多物体检测器 和各种计算机视觉应用的重要基础。
    • 可变形部件模型 (DPM):DPM 是 VOC-07、-08 和 -09 检测挑战赛的获胜者,是传统物体检测方法的典范。DPM 最初由 P. Felzenszwalb 于 2008 年提出,作为 HOG 检测器的扩展。它遵循“分而治之”的检测哲学,其中训练可以简单地看作是学习分解物体的正确方法,推理可以看作是对不同物体部件的检测的集合。例如,检测“汽车”的问题可以分解为对其窗户、车身和车轮的检测。这部分工作又称“星型模型”,由 P. Felzenszwalb 等人 提出。后来,R.Girshick 将星型模型进一步扩展为“混合模型”,以处理现实世界中变化更为显著的物体,并做出了一系列其他改进。
    • 尽管如今的物体检测器在检测精度上已经远远超过了 DPM,但其中许多仍然深受其宝贵见解的影响,例如混合模型、硬负挖掘、边界框回归、上下文启动等。2010 年,P. Felzenszwalb 和 R. Girshick 被 PASCAL VOC 授予“终身成就奖”。
  • 2)里程碑:基于CNN的两阶段检测器:随着手工提取特征的性能趋于饱和,物体检测的研究在2010年之后进入了瓶颈期。 2012年,卷积神经网络在世界范围内重生。由于深度卷积网络能够学习图像的鲁棒和高级特征表示,一个自然而然的问题出现了:我们能将它引入物体检测吗?2014年,R. Girshick等人率先打破僵局,提出了带有CNN特征的区域(RCNN)。此后,物体检测开始以前所未有的速度发展。深度学习时代出现了两类检测器:“两阶段检测器”和“一阶段检测器”,前者将检测定义为“由粗到精”的过程,而后者将其定义为“一步完成”。

    • RCNN:RCNN 背后的理念很简单:首先通过选择性搜索提取一组对象建议(对象候选框)。然后将每个建议重新缩放为固定大小的图像,并输入到在 ImageNet 上预训练的 CNN 模型(例如 AlexNet )中以提取特征。最后,使用线性 SVM 分类器预测每个区域内是否存在对象并识别对象类别。 RCNN 在 VOC07 上的性能显著提升,平均精度 (mAP) 从 33.7%(DPM-v5 )大幅提升至 58.5%。虽然 RCNN 取得了很大进展,但其缺点也很明显:对大量重叠建议(来自一张图像的 2000 多个框)进行冗余特征计算导致检测速度极慢(使用 GPU 每张图像 14 秒)。同年晚些时候,SPPNet 被提出并解决了这个问题。

    • SPPNet:2014 年,K. He 等人提出了空间金字塔池化网络 (SPPNet) 。以前的 CNN 模型需要固定大小的输入,例如 AlexNet 的 224x224 图像 。SPPNet 的主要贡献是引入了空间金字塔池化 (SPP) 层,这使得 CNN 能够生成固定长度的表示,而不管图像/感兴趣区域的大小如何,而无需重新缩放它。 当使用 SPPNet 进行对象检测时,只需从整个图像计算一次特征图,然后就可以生成任意区域的固定长度表示来训练检测器,从而避免重复计算卷积特征。SPPNet 比 R-CNN 快 20 倍以上,而不会牺牲任何检测精度(VOC07 mAP=59.2%)。虽然 SPPNet 有效地提高了检测速度,但它仍然存在一些缺点:首先,训练仍然是多阶段的;其次,SPPNet 只对其全连接层进行微调,而简单地忽略了所有前面的层。后来在次年,Fast RCNN 被提出并解决了这些问题。

    • Fast RCNN:2015 年,R. Girshick 提出了 Fast RCNN 检测器 ,这是 R-CNN 和 SPPNet 的进一步改进。Fast RCNN 使我们能够在相同的网络配置下同时训练检测器和边界框回归器。在 VOC07 数据集上,Fast RCNN 将 mAP 从 58.5%(RCNN)提高到 70.0%,同时检测速度比 R-CNN 快 200 倍以上。虽然 Fast-RCNN 成功地整合了 R-CNN 和 SPPNet 的优势,但其检测速度仍然受到提案检测的限制(有关更多详细信息,请参阅第 II-C1 节)。那么,一个问题自然而然地出现了:“我们能用 CNN 模型生成对象提案吗?”后来,Faster R-CNN 回答了这个问题。

    • Faster RCNN:2015 年,S. Ren 等人在 Fast RCNN 之后不久提出了 Faster RCNN 检测器 。Faster RCNN 是第一个近实时的深度学习检测器(COCO mAP@.5=42.7%,VOC07 mAP=73.2%,使用 ZF-Net 时为 17fps )。Faster-RCNN 的主要贡献是引入了区域提议网络 (RPN),从而实现了几乎无成本的区域提议。从 R-CNN 到 Faster RCNN,对象检测系统的大多数单个模块,例如提议检测、特征提取、边界框回归等,已逐渐集成到统一的端到端学习框架中。虽然 Faster RCNN 突破了 Fast RCNN 的速度瓶颈,但在后续的检测阶段仍然存在计算冗余。后来,人们提出了各种改进,包括 RFCN 和 Light head RCNN 。 (更多详细信息请参阅第三部分。)

    • 特征金字塔网络 (FPN):2017 年,T.-Y. Lin 等人提出了 FPN 。在 FPN 之前,大多数基于深度学习的检测器仅在网络顶层的特征图上运行检测。虽然 CNN 较深层中的特征有利于类别识别,但不利于定位物体。为此,FPN 中开发了一种具有横向连接的自上而下的架构,用于在所有尺度上构建高级语义。由于 CNN 通过其前向传播自然形成特征金字塔,FPN 在检测各种尺度的物体方面显示出巨大的进步。在基本的 Faster R-CNN 系统中使用 FPN,它在 COCO 数据集上实现了最先进的单模型检测结果,没有任何花哨的花哨功能(COCO mAP@.5=59.1%)。FPN 现在已成为许多最新检测器的基本构建块。

  • 3)里程碑:基于CNN的单阶段检测器:大多数双阶段检测器遵循由粗到精的处理范式。粗阶段致力于提高召回率,而精阶段在粗检测的基础上细化定位,并更注重判别能力。它们可以轻松获得高精度,而无需任何花哨的修饰,但由于速度慢、复杂度高,在工程上很少使用。相反,单阶段检测器可以在一步推理中检索所有物体。 它们以实时性和易于部署的特点受到移动设备的青睐,但在检测密集和小物体时,它们的性能会明显下降

    • YOLO(You Only Look Once):YOLO 由 R. Joseph 等人于 2015 年提出,是深度学习时代第一个单阶段检测器 。YOLO 速度极快:快速版 YOLO 运行速度为 155fps,VOC07 mAP=52.7%,增强版运行速度为 45fps,VOC07 mAP=63.4%。YOLO 采用了与两阶段检测器完全不同的思路:将单个神经网络应用于整幅图像,该网络将图像划分为区域,并同时预测每个区域的边界框和概率。尽管 YOLO 的检测速度有了很大的提升,但与两阶段检测器相比,其定位精度有所下降,尤其是对于一些小物体。YOLO 的后续版本 以及后来提出的 SSD 更加关注这一问题。最近,YOLOv7 被提出,这是 YOLOv4 团队的后续工作。通过引入动态标签分配和模型结构重参数化等优化结构,它在速度和准确率方面优于大多数现有的物体检测器(范围从 5 FPS 到 160 FPS)。

    • 单次多框检测器(SSD):SSD 由 W. Liu 等人于 2015 年提出。SSD 的主要贡献是引入了多参考和多分辨率检测技术(将在 II-C1 节中介绍),这显著提高了单阶段检测器的检测精度,尤其是对于一些小物体。SSD 在检测速度和精度方面都具有优势(COCO mAP@.5=46.5%,快速版本以 59fps 的速度运行)。SSD 与之前的检测器之间的主要区别在于,SSD 在网络的不同层上检测不同尺度的物体,而之前的检测器仅在其顶层运行检测

    • RetinaNet:尽管单阶段检测器速度快、简单易用,但多年来其准确率一直落后于双阶段检测器。T.-Y. Lin 等人探究了背后的原因,并于 2017 年提出了 RetinaNet 。他们发现,在密集检测器训练过程中遇到的极端前景-背景类别不平衡是主要原因。 为此,RetinaNet 引入了一种名为“focal loss”的新损失函数,通过重塑标准交叉熵损失,使检测器在训练期间将更多注意力放在困难的、错误分类的示例上。Focal Loss 使单阶段检测器能够实现与双阶段检测器相当的准确率,同时保持非常高的检测速度(COCO mAP@.5=59.1%)。

    • CornerNet:以前的方法主要使用锚框来提供分类和回归参考。物体在数量、位置、尺度、比例等方面经常发生变化。为了实现高性能,它们必须遵循设置大量参考框以更好地匹配 GT 的路径。然而,网络将遭受进一步的类别不平衡、大量手工设计的超参数和较长的收敛时间。为了解决这些问题,H. Law 等人 放弃了以前的检测范式,将任务视为关键点(框的角)预测问题。获得关键点后,它将使用额外的嵌入信息对角点进行解耦和重新分组以形成边界框。 CornerNet 优于当时大多数单阶段检测器(COCO mAP@.5=57.8%)。

    • CenterNet:X. Zhou 等人于 2019 年提出了 CenterNet 。 它也遵循基于关键点的检测范式,但消除了昂贵的后处理,例如基于组的关键点分配(在 CornerNet 、ExtremeNet 等中)和 NMS,从而产生了一个完全端到端的检测网络。CenterNet 将对象视为单个点(对象的中心),并基于参考中心点回归其所有属性(例如大小、方向、位置、姿势等)。该模型简单而优雅,它可以将 3-D 对象检测、人体姿势估计、光流学习、深度估计和其他任务集成到一个框架中。尽管使用了如此简洁的检测概念,CenterNet 也可以实现相当的检测结果(COCO mAP@.5=61.1%)。

    • DETR:近年来,Transformers 深刻影响了整个深度学习领域,特别是计算机视觉领域。Transformers 摒弃了传统的卷积算子,转而采用仅靠注意力机制的计算,从而克服了 CNN 的局限性,获得了全局尺度的感受野。2020 年,N. Carion 等人提出了 DETR ,他们将物体检测视为一个集合预测问题,并提出了基于 Transformers 的端到端检测网络。至此,物体检测进入了一个无需使用锚框或锚点即可检测物体的新时代。随后,X. Zhu 等人提出了可变形 DETR ,以解决 DETR 收敛时间长、在小物体检测上性能有限的问题,在 MSCOCO 数据集上取得了最佳性能(COCO mAP@.5=71.9%)。

B. Object Detection Datasets and Metrics

  • 1)数据集:构建更大、偏差更小的数据集对于开发高级检测算法至关重要。过去 10 年中已经发布了许多著名的检测数据集,包括 PASCAL VOC 挑战赛 (例如 VOC2007、VOC2012)、ImageNet 大规模视觉识别挑战赛(例如 ILSVRC2014)、MS-COCO 检测挑战赛 、Open Images 数据集 、Objects365 等。这些数据集的统计数据如下表 所示。图 4 显示了这些数据集的一些图像示例。图 3 显示了 2008 年至 2021 年 VOC07、VOC12 和 MS-COCO 数据集上的检测准确率的提高。

    • 在这里插入图片描述

    • 一些著名的物体检测数据集及其统计数据。

    • 在这里插入图片描述

    • Pascal VOC:PASCAL 视觉对象类 (VOC) 挑战赛(2005 年至 2012 年)是早期计算机视觉社区中最重要的竞赛之一。Pascal-VOC 有两个版本最常用于对象检测:VOC07 和 VOC12,前者由 5k tr. 图像 + 12k 带注释的对象组成,后者由 11k tr. 图像 + 27k 带注释的对象组成。这两个数据集中标注了生活中常见的 20 类对象,例如“人”、“猫”、“自行车”、“沙发”等。

    • ILSVRC:ImageNet 大规模视觉识别挑战赛 (ILSVRC) 推动了通用对象检测领域的发展。ILSVRC 每年举办一次,从 2010 年到 2017 年。它包含使用 ImageNet 图像的检测挑战 。ILSVRC 检测数据集包含 200 类视觉对象。其图像/对象实例的数量比 VOC 大两个数量级。

    • MS-COCO:MS-COCO 是当今最具挑战性的目标检测数据集之一。基于 MS-COCO 数据集的年度竞赛自 2015 年开始举办。它的目标类别数量少于 ILSVRC,但目标实例更多。例如,MS-COCO-17 包含 164k 幅图像和 897k 个带注释的目标,来自 80 个类别。 与 VOC 和 ILSVRC 相比,MS-COCO 最大的进步是,除了边界框注释之外,每个目标还使用每个实例分割进一步标记,以帮助精确定位。此外,MS-COCO 包含更多小目标(其面积小于图像的 1%)和更密集的目标。就像当时的 ImageNet 一样,MS-COCO 已成为目标检测社区的事实标准。

    • Open Images:2018 年推出了 Open Images Detection (OID) 挑战赛 ,该挑战赛紧随 MS-COCO 之后,但规模空前。Open Images 包含两个任务:1) 标准对象检测;2) 视觉关系检测,用于检测特定关系中的成对对象。对于标准检测任务,数据集包含 1,910k 张图像,其中包含 600 个对象类别的 15,440k 个带注释的边界框。

  • 2)指标:我们如何评估检测器的准确性?这个问题在不同时期可能有不同的答案。在早期的检测研究中,没有广泛接受的检测准确性评估指标。 例如,在早期的行人检测研究中,“漏检率与每个窗口的误报率(FPPW)”通常用作指标。然而,每个窗口的测量可能有缺陷,无法预测整个图像的性能。2009年,加州理工学院的行人检测基准被引入,从那时起,评估指标就从FPPW变为了每图像的误报率(FPPI)。

    • 近年来,最常用的检测评价指标是“平均精度(AP)”,该指标最早出现在 VOC2007 中。AP 定义为不同召回率下的平均检测精度,通常以类别为单位进行评估。通常以所有类别的平均 AP(mAP)作为最终的性能指标。为了衡量物体定位的准确性,会使用预测框与真实框之间的 IoU 来验证它是否大于预先定义的阈值,例如 0.5。如果是,则将物体判定为“检测到”,否则为“遗漏”。0.5-IoU mAP 已成为物体检测事实上的指标。
    • 2014 年之后,由于 MS-COCO 数据集的推出,研究人员开始更加关注物体定位的准确性。MS-COCO AP 不再使用固定的 IoU 阈值,而是对 0.5 到 0.95 之间的多个 IoU 阈值进行平均,这可以提高物体定位的准确性,并且可能对某些现实世界的应用非常重要(例如,假设有一个机器人试图抓住扳手)。

C. Technical Evolution in Object Detection

  • 本节将介绍检测系统的一些重要构建模块及其技术演进。 首先,我们描述模型设计中的多尺度和上下文启动,然后是训练过程中的样本选择策略和损失函数的设计,最后是推理中的非最大抑制。图表和文本中的时间戳由论文的发表时间提供。图中显示的演进顺序主要是为了帮助读者理解,可能存在时间重叠。

  • 1)多尺度检测技术演进:“不同尺寸”和“不同长宽比”的物体的多尺度检测是物体检测的主要技术挑战之一。在过去的20年中,多尺度检测经历了多个历史时期,如图5所示。

    • 在这里插入图片描述

    • 物体检测中多尺度检测技术的演变。图中的检测器:VJ Det. 、HOG Det. 、DPM 、Exemplar SVM 、Overfeat 、RCNN 、SPPNet 、Fast RCNN 、Faster RCNN 、DNN Det. 、YOLO 、SSD 、Unified Det. 、FPN 、RetinaNet 、RefineDet 、Cascade R-CNN 、Swin Transformer 、FCOS 、YOLOv4 、CornerNet 、CenterNet 、Reppoints 、DETR 。

    • 特征金字塔+滑动窗口:在VJ检测器之后,研究者们开始关注一种更直观的检测方式,即构建“特征金字塔+滑动窗口”。从2004年开始,许多里程碑式的检测器都基于这一范式被构建出来,包括HOG检测器、DPM等。它们频繁地在图像上滑动一个固定大小的检测窗口,而很少关注“不同的长宽比”。为了检测外观更复杂的物体,R. Girshick等人开始在特征金字塔之外寻找更好的解决方案。“混合模型”是当时的一种解决方案,即为不同长宽比的物体训练多个检测器。除此之外,基于样例的检测提供了另一种解决方案,即为每个物体实例(样例)训练单独的模型。

    • 使用对象提议进行检测:对象提议是指一组与类别无关的参考框,这些参考框可能包含任何对象。使用对象提议进行检测有助于避免在图像中进行详尽的滑动窗口搜索。 我们请读者参阅以下论文,以全面回顾这一主题[What makes for effective detection proposals?]。早期的提议检测方法遵循自下而上的检测理念。 2014年以后,随着深度CNN在视觉识别领域的流行,自上而下的基于学习的方法开始在这一问题上显示出更多优势。现在,随着单阶段检测器的兴起,提议检测逐渐淡出人们的视线。

    • 深度回归与无锚检测:近年来,随着 GPU 计算能力的提升,多尺度检测变得越来越直接和简单。使用深度回归解决多尺度问题的思路很简单,即直接基于深度学习特征预测边界框的坐标 。2018 年以后,研究人员开始从关键点检测的角度思考物体检测问题。这些方法通常遵循两种思路:一种是基于组的方法,先检测关键点(角点、中心或代表点),然后按对象进行分组 ;另一种是无组方法,将物体视为一个或多个点,然后在这些点的参考下回归物体属性(大小、比例等)。

    • 多参考/分辨率检测:多参考检测是目前最常用的多尺度检测方法 。多参考检测 的主要思想是首先在图像的每个位置定义一组参考(又称锚点,包括框和点),然后根据这些参考预测检测框。另一种流行的技术是多分辨率检测 ,即通过在网络的不同层检测不同尺度的对象。多参考和多分辨率检测现在已成为最先进的物体检测系统中的两个基本组成部分。

  • 2)Context Priming 的技术演进:视觉对象通常嵌入到与周围环境相关的典型情境中。我们的大脑利用物体和环境之间的关联来促进视觉感知和认知 。Context Priming 长期以来一直用于改进检测。图 6 展示了物体检测中 Context Priming 的演进。

    • 在这里插入图片描述

    • 物体检测中情境启动的演变。图中的检测器:Face Det. 、MultiPath 、GBDNet 、CC-Net 、MultiRegion-CNN 、CoupleNet 、DPM 、StructDet 、ION 、RFCN++ 、RBFNet 、TridentNet 、Non-local 、DETR 、CtxSVM 、PersonContext 、SMN 、RelationNet 、SIN 、RescoringNet 。

    • 利用局部背景进行检测:局部背景是指待检测物体周围区域的视觉信息。人们早已认识到局部背景有助于改善物体检测。21 世纪初,Sinha 和 Torralba 发现,加入面部边界轮廓等局部背景区域可显著提高人脸检测性能。Dalal 和 Triggs 还发现,加入少量背景信息可提高行人检测的准确性 。最近基于深度学习的检测器也可以通过简单地扩大网络的接受场或物体提议的大小,利用局部背景进行改进。

    • 使用全局上下文进行检测:全局上下文利用场景配置作为对象检测的额外信息源。对于早期的检测器,整合全局上下文的一种常见方法是整合构成场景的元素的统计摘要,例如 Gist 。对于最近的检测器,有两种方法可以整合全局上下文。第一种方法是利用深度卷积、扩张卷积、可变形卷积、池化操作来接收较大的感受野(甚至比输入图像还大)。但现在,研究人员已经探索了应用基于注意力机制(非局部、Transformers 等)来实现全图像感受野的潜力,并获得了巨大的成功。 第二种方法是将全局上下文视为一种顺序信息,并使用循环神经网络进行学习 。

    • 上下文交互:上下文交互是指视觉元素之间传达的约束和依赖关系。最近的一些研究表明,现代检测器可以通过考虑上下文交互来改进。 最近的一些改进可以分为两类,第一类是探索单个对象之间的关系,第二类是探索对象和场景之间的依赖关系。

  • 3)难样本负样本挖掘技术演进:检测器的训练本质上是一个不平衡的学习问题。 对于基于滑动窗口的检测器,背景和物体之间的不平衡可能高达 107:1 。在这种情况下,使用所有背景将对训练有害,因为大量易样本负样本将压倒学习过程。难样本负样本挖掘 (HNM) 旨在克服这个问题。HNM 的技术演进如图 7 所示。

    • 在这里插入图片描述

    • 目标检测中难样本负挖掘技术的演变。图中的检测器:Face Det. 、Haar Det. 、VJ Det. 、HOG Det. 、DPM 、RCNN 、SPPNet 、Fast RCNN 、Faster RCNN 、YOLO 、SSD 、FasterPed 、OHEM 、RetinaNet 、RefineDet 、FCOS 、YOLOv4 。

    • Bootstrap:物体检测中的 Bootstrap 是指一组训练技术,其中训练从一小部分背景样本开始,然后迭代添加新的误分类样本。在早期的检测器中,通常使用 bootstrap 来减少数百万个背景的训练计算。 后来它成为 DPM 和 HOG 检测器中解决数据不平衡问题的标准技术。

    • 基于深度学习的检测器中的 HNM:在深度学习时代,由于计算能力的提升,2014-2016 年期间 bootstrap 在物体检测中被短暂抛弃 。为了缓解训练过程中的数据不平衡问题,Faster RCNN 和 YOLO 等检测器只是平衡了正窗口和负窗口之间的权重。然而,研究人员后来注意到这并不能完全解决不平衡问题 。为此,2016 年后 bootstrap 被重新引入物体检测 。 另一种改进方法是通过重塑标准交叉熵损失来设计新的损失函数 ,以便它将更多关注困难的、错误分类的示例 。

  • 4)损失函数的技术演进:损失函数衡量模型与数据的匹配程度(即预测与真实标签的偏差)。计算损失可得出模型权重的梯度,随后可以通过反向传播进行更新以更好地适应数据。分类损失和定位损失构成了物体检测问题的监督,见公式 1。损失函数的一般形式可以写成如下:

    • 在这里插入图片描述

    • 其中 t 和 t ∗ 是预测和真实边界框的位置,p 和 p ∗ 是它们的类别概率。$ IoU{a; a∗}$ 是参考框/点 a 与其真实 a ∗ 之间的 IoU。η 是 IoU 阈值,例如 0.5。如果锚框/点与任何对象都不匹配,则其定位损失不计入最终损失。

    • 分类损失:分类损失用于评估预测类别与实际类别的差异,之前的研究并未对此进行深入研究,例如采用 MSE/L2 损失(均方误差)的 YOLOv1 和 YOLOv2 。后来,通常使用 CE 损失(交叉熵)。L2 损失是欧几里得空间中的度量,而 CE 损失可以测量分布差异(称为似然的一种形式)。分类的预测是一个概率,因此 CE 损失优于 L2 损失,其误分类成本更大,梯度消失效应更低。为了提高分类效率,提出了 Label Smooth 来增强模型泛化能力并解决噪声标签上的过度自信问题,Focal 损失旨在解决类别不平衡和分类难度差异问题

    • 定位损失:定位损失用于优化位置和尺寸偏差。L2 损失在早期研究中很流行,但它受异常值影响很大,容易发生梯度爆炸。结合 L1 损失和 L2 损失的优点,研究人员提出了 Smooth L1 损失 ,如下式所示,

    • 在这里插入图片描述

    • 其中 x 表示目标值与预测值之间的差异。在计算误差时,上述损失将代表边界框的四个数字 (x; y; w; h) 视为独立变量,但它们之间存在相关性。此外,在评估中,IoU 用于确定预测框是否与实际的 GT 框相对应。 相等的 Smooth L1 值将具有完全不同的 IoU 值,因此引入 IoU 损失 如下:

    • I O U   l o s s = − l o g ( I O U ) IOU~loss= -log(IOU) IOU loss=log(IOU)

    • 随后,一些算法改进了 IoU 损失。GIoU (Generalized IoU) 改进了 IoU 损失无法优化非重叠边界框的情况,即 IoU = 0。根据 Distance-IoU ,成功的检测回归损失应满足三个几何指标:重叠面积、中心点距离和长宽比。因此,基于 IoU 损失和 G-IoU 损失,DIoU (Distance IoU) 定义为预测中心点与地面真相之间的距离,CIoU (Complete IoU) 在 DIoU 的基础上考虑了长宽比差异。

  • 5)非最大抑制技术演进:由于相邻窗口通常具有相似的检测分数,因此非最大抑制被用作后处理步骤,以删除重复的边界框并获得最终检测结果。在物体检测的早期,NMS 并不总是集成的 。这是因为当时物体检测系统的期望输出并不完全明确。图 8 展示了过去 20 年 NMS 的演变

    • 在这里插入图片描述

    • 1994 年至 2021 年物体检测中非最大抑制 (NMS) 技术的发展:1) 贪婪选择,2) 边界框聚合,3) 学习 NMS,4) 无 NMS 检测。图中的检测器:Face Det. 、HOG Det. 、DPM 、RCNN 、SPPNet 、Fast RCNN 、Faster RCNN 、YOLO 、SSD 、FPN 、RetinaNet 、FCOS 、StrucDet 、MAP-Det 、LearnNMS 、RelationNet 、Learn2Rank 、SoftNMS 、FitnessNMS 、SofterNMS 、AdaptiveNMS 、DIoUNMS 、Overfeat 、APC-NMS 、MAPC 、WBF 、ClusterNMS 、CenterNet 、DETR 、POTO 。

    • 贪婪选择:贪婪选择是一种老式但最流行的执行 NMS 的方法。其背后的想法简单而直观:对于一组重叠的检测,选择具有最大检测分数的边界框,同时根据预定义的重叠阈值删除其相邻框。虽然贪婪选择现在已成为 NMS 的事实方法,但它仍有一些改进空间。首先,得分最高的框可能不是最佳拟合。其次,它可能会抑制附近的物体。 最后,它不会抑制假阳性 。已经提出了许多工作来解决上述问题 。

    • 边界框聚合:边界框聚合是 NMS 的另一组技术,其理念是将多个重叠的边界框组合或聚类为一个最终检测。这种方法的优点是它充分考虑了对象关系及其空间布局 。一些著名的检测器使用此方法,例如 VJ 检测器 和 Overfeat(ILSVRC-13 定位任务的获胜者)。

    • 基于学习的 NMS:最近备受关注的一组 NMS 改进是基于学习的 NMS 。其主要思想是将 NMS 视为一个过滤器,用于重新评分所有原始检测,并以端到端的方式将 NMS 作为网络的一部分进行训练,或训练网络以模仿 NMS 的行为。与传统的手工 NMS 方法相比,这些方法在改善遮挡和密集物体检测方面表现出了良好的效果。

    • 无 NMS 检测器:为了摆脱 NMS 并实现完全端到端的物体检测训练网络,研究人员开发了一系列方法来完成一对一标签分配(即一个物体只有一个预测框)。这些方法通常遵循一条规则,即要求使用最高质量的框进行训练以实现无 NMS。无 NMS 检测器更类似于人类的视觉感知系统,也是物体检测未来的一种可能方式。

SPEED-UP OF DETECTION

  • 检测器的加速一直是一个具有挑战性的问题。物体检测中的加速技术可以分为三个层次:“检测管道”的加速、“检测器主干”的加速和“数值计算”的加速。 ,如下图所示。更详细的版本请参考。
    • 在这里插入图片描述

    • 图 9:物体检测加速技术概述。

A. Feature Map Shared Computation

  • 在检测器的各个计算阶段中,特征提取通常占据计算量的绝大部分,最常用的减少特征计算冗余的思路是对整幅图像的特征图只计算一次,这种方法已经取得了几十倍甚至几百倍的加速。

B. Cascaded Detection

  • 级联检测是一种常用的技术。 它采用由粗到细的检测理念:使用简单的计算过滤掉大多数简单的背景窗口,然后用复杂的计算处理那些更困难的窗口。近年来,级联检测特别适用于那些“大场景中的小物体”的检测任务,例如人脸检测 、行人检测 等。

C. Network Pruning and Quantification

  • “网络剪枝”和“网络量化”是两种常用的加速 CNN 模型的方法。前者指剪枝网络结构或权重,后者指减少它们的代码长度。“网络剪枝”的研究可以追溯到 20 世纪 80 年代 。最近的网络剪枝方法通常采用迭代的训练和剪枝过程,即在每个训练阶段后仅删除一小部分不重要的权重,并重复这些操作 。近期关于网络量化的研究主要集中在网络二值化,其目的是通过将网络的激活或权重量化为二进制变量(例如 0/1)来压缩网络,以便将浮点运算转换为逻辑运算。

D. Lightweight Network Design

  • 加速基于 CNN 的检测器的最后一组方法是直接设计轻量级网络。除了“少通道、多层”等一些通用的设计原则 外,近年来还提出了一些其他方法

    • 分解卷积:分解卷积是构建轻量级 CNN 模型最直接的方法。分解方法有两组。第一组是将大型卷积滤波器分解为一组小型滤波器 ,如图 10 (b) 所示。例如,可以将 7x7 滤波器分解为三个 3x3 滤波器,它们共享相同的感受野,但后者效率更高。 第二组是按通道维度分解卷积 ,如图 10 © 所示。

    • 在这里插入图片描述

    • 图10:CNN 卷积层的加速方法概述及其计算复杂度比较:(a)标准卷积: O ( d k 2 c ) O(dk^2 c) O(dk2c)。(b)分解卷积滤波器 ( k × k → ( k ′ × k ′ ) 2 或 1 × k ; k × 1 ): O ( d k ′ 2 c ) 或 O ( d k c ) (k×k\rightarrow(k' ×k' )^2 或 1×k; k×1):O(dk'^2 c) 或 O(dkc) k×kk×k21×k;k×1):O(dk′2c)O(dkc)。 (c)分解卷积通道: O ( d ′ k 2 c ) + O ( d k 2 d ′ ) O(d 'k^ 2 c) +O(dk^2d' ) O(dk2c)+O(dk2d)。(d)组卷积(#groups=m): O ( d k 2 c = m ) O(dk^2 c=m) O(dk2c=m)。(e)深度可分离卷积: O ( c k 2 ) + O ( d c ) O(ck^2 ) + O(dc) O(ck2)+O(dc)

    • 2)组卷积:组卷积的目的是通过将特征通道分成不同的组,然后对每个组进行独立卷积来减少卷积层中的参数数量,如图10(d)所示。如果我们将特征均匀地分成m组,而不改变其他配置,那么理论上计算量将减少到之前的1/m。

    • 3)深度可分离卷积:深度可分离卷积 (如图 10 (e) 所示)可视为组卷积的一种特殊情况,即组数等于通道数。 通常,使用多个 1x1 滤波器进行维度变换,以使最终输出具有所需的通道数。通过使用深度可分离卷积,计算量可以从 O ( d k 2 c ) O(dk^2 c) O(dk2c) 减少到 O ( c k 2 ) + O ( d c ) O(ck^2 )+O(dc) O(ck2)+O(dc)。 这一思想最近已应用于物体检测和细粒度分类。

    • 4)瓶颈设计:与前面的层相比,神经网络中的瓶颈层包含的节点较少。近年来,瓶颈设计被广泛用于设计轻量级网络 。在这些方法中,可以压缩检测器的输入层,以从检测一开始就减少计算量 。还可以压缩特征图使其变薄,从而加快后续检测速度

    • 5)使用 NAS 进行检测:基于深度学习的检测器正变得越来越复杂,严重依赖于手工制作的网络架构和训练参数。神经架构搜索 (NAS) 主要关注定义候选网络的适当空间,改进快速准确的搜索策略,并以低成本验证搜索结果。在设计检测模型时,NAS 可以减少对网络主干和锚框设计的人为干预的需要 。

E. Numerical Acceleration

  • 数值加速的目的是从实现的底层加速物体检测器。

  • 1)用积分图像加速:积分图像是图像处理中的一个重要方法。它有助于快速计算图像子区域的总和。积分图像的本质是信号处理中卷积的积分-微分可分离性:

    • f ( x ) ∗ g ( x ) = ( ∫ f ( x ) d x ) ∗ ( d g ( x ) d x ) ; f(x) ∗ g(x) = (\int f(x)dx) ∗ (\frac {dg(x)} {dx} ); f(x)g(x)=(f(x)dx)(dxdg(x));

    • 其中,如果 dg(x)/dx 是稀疏信号,则可以通过该等式的右边部分加速卷积。

    • 积分图像还可用于加速物体检测中更一般的特征,例如颜色直方图、梯度直方图等。一个典型的例子是通过计算积分 HOG 图来加速 HOG ,如图 11 所示。积分 HOG 图已用于行人检测,并且在不损失任何精度的情况下实现了数十倍的加速 。

    • 在这里插入图片描述

    • 如何计算“积分 HOG 图”的说明 。利用积分图像技术,我们可以高效地计算任意位置、任意大小的直方图特征,且计算复杂度为常数。

  • 2)频域加速:卷积是物体检测中一种重要的数值运算。 由于线性检测器的检测可以看作是特征图与检测器权重之间的窗口内积,可以通过卷积来实现。 傅里叶变换是一种非常实用的加速卷积的方法,其理论基础是信号处理中的卷积定理,即在适当条件下,两个信号 I ∗W 的卷积的傅里叶变换 F 是它们傅里叶空间中的点积

    • I ∗ W = F − 1 ( F ( I ) ⊙ F ( W ) ) , ( 5 ) I ∗ W = F^ {−1} (F(I) \odot F(W)) ,(5) IW=F1(F(I)F(W)),(5)

    • 其中 F 为傅里叶变换, F − 1 F ^{−1} F1 为逆傅里叶变换, ⊙ \odot 为点积。上述计算可以利用快速傅里叶变换 (FFT) 和逆傅里叶变换 (IFFT) 来加速。

  • 3)矢量量化:矢量量化(VQ)是信号处理中的一种经典量化方法,旨在通过一小组原型矢量来近似一大组数据的分布。它可用于数据压缩和加速目标检测中的内积运算。

RECENT ADVANCES IN OBJECT DETECTION

  • 近二十年来,新技术不断涌现,对物体检测产生了相当大的影响,但其基本原理和底层逻辑始终没有改变。在以上章节中,我们以较大的时间范围介绍了近二十年来技术的演进,以帮助读者理解物体检测;在本节中,我们将更多地关注近几年在较短时间范围内的最新算法,以帮助读者理解物体检测。有些是之前讨论过的技术的扩展(例如,第 IV-A – IV-E 节),而有些则是混合概念的新颖交叉(例如,第 IV-F – IV-H 节)。

A. Beyond Sliding Window Detection

  • 由于图像中的对象可以通过其真实框的左上角和右下角唯一地确定,因此检测任务可以等效地构建为成对关键点定位问题。此想法的最近一种实现是预测角点的热图 。其他一些方法遵循该想法并利用更多关键点(角点和中心 、极端点和中心点 、代表点 )来获得更好的性能。另一种范式将对象视为一个或多个点,并直接预测对象的属性(例如高度和宽度)而不进行分组。这种方法的优点是它可以在语义分割框架下实现,并且无需设计多尺度锚框。此外,通过将对象检测视为集合预测,DETR 将其完全解放在基于参考的框架中

B. Robust Detection of Rotation and Scale Changes

  • 近年来,人们致力于对旋转和尺度变化的稳健检测。

  • 1)旋转鲁棒检测:物体旋转在人脸检测、文本检测和遥感物体检测中很常见。解决这个问题最直接的方法是进行数据增强,这样任何方向的物体都能被增强的数据分布很好地覆盖,或者为每个方向分别训练独立的检测器。设计旋转不变损失函数是最近流行的解决方案,其中增加了检测损失的约束,使得旋转物体的特征保持不变。另一个最近的解决方案是学习候选对象的几何变换。在两阶段检测器中,ROI池化旨在为具有任何位置和大小的对象提议提取固定长度的特征表示。由于特征池化通常在笛卡尔坐标系中执行,因此它对旋转变换不具有不变性。最近的一项改进是在极坐标系中执行ROI池化,以便特征能够对旋转变化具有鲁棒性

  • 2)尺度稳健检测:最近在训练和检测阶段都对尺度稳健检测进行了研究。

    • 尺度自适应训练:现代检测器通常将输入图像重新缩放为固定大小,并反向传播所有尺度上物体的损失。这样做的缺点是会出现“尺度不平衡”问题。在检测过程中构建图像金字塔可以缓解这个问题,但不能从根本上解决问题 。最近的一项改进是图像金字塔的尺度归一化 (SNIP) ,它在训练和检测阶段都构建图像金字塔,并且只反向传播某些选定尺度的损失,如图 12 所示。一些研究人员进一步提出了一种更有效的训练策略:带高效重采样的 SNIP (SNIPER) ,即将图像裁剪并重新缩放为一组子区域,以便从大批量训练中受益

    • 在这里插入图片描述

    • 多尺度物体检测的不同训练策略:(a):在单分辨率图像上进行训练,反向传播所有尺度的物体。(b)在多分辨率图像(图像金字塔)上进行训练,反向传播选定尺度的物体。如果物体太大或太小,其梯度将被丢弃。

    • 尺度自适应检测:在基于 CNN 的检测器中,锚点的尺寸和长宽比通常经过精心设计。这样做的缺点是配置无法适应意外的尺度变化。为了提高对小物体的检测能力,一些最近的检测器提出了一些“自适应放大”技术,以自适应地将小物体放大为“大物体”。另一项最近的改进是预测图像中物体的尺度分布,然后根据该分布自适应地重新缩放图像。

C. Detection with Better Backbones

  • 检测器的准确度 / 速度在很大程度上取决于特征提取网络,又称主干网络,例如 ResNet 、CSPNet 、Hourglass 和 Swin Transformer。有关深度学习时代一些重要检测主干网络的详细介绍,请读者参阅以下综述 。图 13 展示了三个著名检测系统的检测准确度:Faster RCNN 、RFCN 和 SSD ,它们使用不同的主干网络 。物体检测最近受益于 Transformers 强大的特征提取能力。在 COCO 数据集上,排名前 10 位的检测方法都是基于 Transformer 的 。Transformers与CNN之间的性能差距逐渐拉大。
    • 在这里插入图片描述

    • 三种检测器的检测精度比较:Faster RCNN 、R-FCN 和 SSD 在 MS-COCO 数据集上采用不同的检测主干。图片来自 J. Huang 等人 CVPR 2017 。

D. Improvements of Localization

  • 为了提高定位精度,最近的检测器中有两组方法:1)边界框细化,2)用于精确定位的新损失函数。
    • 1)边界框细化:提高定位精度最直观的方法是边界框细化,可以将其视为检测结果的后处理。最近的一种方法是将检测结果迭代地输入到边界框回归器中,直到预测收敛到正确的位置和大小 。然而,一些研究人员也声称,这种方法不能保证定位精度的单调性 ,如果多次应用细化,可能会使定位退化。
    • 2)用于精确定位的新损失函数:在大多数现代检测器中,物体定位被视为坐标回归问题。然而,这种范式的缺点是显而易见的。首先,回归损失与定位的最终评估并不对应,特别是对于一些长宽比很大的物体。其次,传统的 BB 回归方法不能提供定位的置信度。当多个 BB 相互重叠时,这可能导致非最大值抑制失败。上述问题可以通过设计新的损失函数来缓解。最直观的改进是直接使用IoU作为定位损失。此外,一些研究人员还尝试在概率推理框架下改进定位。与以前直接预测框坐标的方法不同,该方法预测边界框位置的概率分布。

E. Learning with Segmentation Loss

  • 物体检测和语义分割是计算机视觉中的两个基本任务。最近的研究表明,通过学习语义分割损失可以提高物体检测的效果。为了利用分割来改进检测,最简单的方法是将分割网络视为固定的特征提取器,并将其作为辅助特征集成到检测器中 。这种方法的优点是易于实现,缺点是分割网络可能带来额外的计算
  • 另一种方法是在原始检测器之上引入额外的分割分支,并使用多任务损失函数(seg. + det.)训练该模型。优点是 seg. 分支将在推理阶段被移除,检测速度不会受到影响。然而,缺点是训练需要像素级图像注释。

F. Adversarial Training

  • 生成对抗网络 (GAN) 由 A. Goodfellow 等人于 2014 年提出,在图像生成、图像风格转换、图像超分辨率 等众多任务中获得了极大关注。
  • 最近,对抗训练也已应用于物体检测,尤其是用于改进对小物体和被遮挡物体的检测。对于小物体检测,GAN 可用于通过缩小小物体和大物体之间的表示来增强小物体的特征 。为了改进对被遮挡物体的检测,最近的一个想法是使用对抗训练生成遮挡蒙版 。对抗网络不是在像素空间中生成示例,而是直接修改特征以模拟遮挡。

G. Weakly Supervised Object Detection

  • 训练基于深度学习的物体检测器通常需要大量手动标记的数据。弱监督物体检测 (WSOD) 旨在通过仅使用图像级注释而非边界框来训练检测器,从而减轻对数据注释的依赖 。

  • 多示例学习是一组监督学习算法,在 WSOD 中得到了广泛应用 。多示例学习模型不是使用一组单独标记的实例进行学习,而是接收一组标记的包,每个包包含许多实例。 如果我们将图像中的候选对象视为一个包,将图像级注释视为标签,那么 WSOD 就可以表述为多示例学习过程。

  • 类激活映射是另一组最新的 WSOD 方法 。CNN 可视化研究表明,尽管没有对物体位置的监督,但 CNN 的卷积层仍可充当物体检测器。类激活映射揭示了如何使 CNN 具有定位能力,尽管是在图像级标签上进行训练的 。

  • 除了上述方法外,其他一些研究人员还考虑将 WSOD 视为一个提案排名过程,即选择信息量最大的区域,然后使用图像级注释训练这些区域 。还有一些研究人员建议屏蔽图像的不同部分。如果检测分数急剧下降,则屏蔽区域可能包含一个具有高概率的对象 。最近,生成对抗训练也已用于 WSOD 。

H. Detection with Domain Adaptation

  • 大多数目标检测器的训练过程本质上可以看作是在数据独立同分布 (i.i.d.) 假设下的似然估计过程。使用非 i.i.d. 数据进行目标检测仍然是一个挑战,尤其是对于一些实际应用而言。除了收集更多数据或应用适当的数据增强之外,域自适应还可以缩小域之间的差距。为了获得领域不变的特征表示,已经在图像、类别或对象级别探索了基于特征正则化和对抗性训练的方法 。循环一致变换 也已被用于弥合源域和目标域之间的差距 。其他一些方法也结合了这两种思想 以获得更好的性能。

CONCLUSION AND FUTURE DIRECTIONS

  • 在过去的 20 年中,目标检测取得了令人瞩目的成就。本文广泛回顾了 20 年历史中的一些里程碑式检测器、关键技术、加速方法、数据集和指标。一些有希望的未来方向可能包括但不限于以下方面,以帮助读者获得上述方案之外的更多见解。
  • 轻量级物体检测:轻量级物体检测旨在加快在低功耗边缘设备上运行的检测推理。一些重要的应用包括移动增强现实、自动驾驶、智能城市、智能相机、人脸验证等。尽管近年来做出了巨大努力,但机器和人眼之间的速度差距仍然很大,特别是在检测一些小物体或使用多源信息进行检测时。
  • 端到端物体检测:尽管已经开发了一些使用一对一标签分配训练以完全端到端方式(网络中的图像到框)检测物体的方法,但大多数方法仍然使用一对多标签分配方法,其中非最大抑制操作是单独设计的。关于该主题的未来研究可能侧重于设计既能保持高检测精度又能保证高效率的端到端流程。
  • 小物体检测:在大型场景中检测小物体一直是一个挑战。该研究方向的一些潜在应用包括统计人群或户外动物的数量以及从卫星图像中检测军事目标。进一步的方向可能包括视觉注意机制的集成和高分辨率轻量级网络的设计。
  • 3D 物体检测:尽管 2D 物体检测最近取得了进展,但自动驾驶等应用仍依赖于获取物体在 3D 世界中的位置和姿态。未来,物体检测将在 3D 世界中受到更多关注,并利用多源和多视图数据(例如来自多个传感器的 RGB 图像和 3D 激光雷达点)。
  • 视频检测:高清视频中的实时物体检测/跟踪对于视频监控和自动驾驶至关重要。传统的物体检测器通常是为图像检测而设计的,而只是忽略了视频帧之间的相关性。在计算限制下通过探索空间和时间相关性来改进检测是一个重要的研究方向。
  • 跨模态检测:使用多种数据源/模态(例如 RGB-D 图像、激光雷达、流、声音、文本、视频等)进行对象检测对于更准确的检测系统(其性能类似于人类的感知)至关重要。一些悬而未决的问题包括:如何将训练有素的检测器迁移到不同的数据模态,如何进行信息融合以改进检测等。
  • 面向开放世界检测:域外泛化、零样本检测和增量检测是物体检测领域的新兴主题。他们中的大多数都想出了减少灾难性遗忘的方法或利用了补充信息。人类有一种本能,可以在环境中发现未知类别的物体。当给出相应的知识(标签)时,人类将从中学习新知识,并保留这些模式。然而,当前的物体检测算法很难掌握未知类别物体的检测能力。开放世界中的物体检测旨在在没有明确给出或部分给出监督信号的情况下发现未知类别的物体,这在机器人和自动驾驶等应用中具有巨大的前景。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1964114.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于RAG进展|| RankRAG:在大模型中统一检索增强生成的上下文排序

欢迎了解公众号:AI论文解读 背景:探索RankRAG的创新之处 检索增强生成(Retrieval-Augmented Generation, RAG)技术已成为提升大型语言模型(Large Language Models, LLMs)处理知识密集型任务的关键方法。传…

使用AI大模型Kimi轻松助力速通代理IP知识

本文目录 一、 引言二、代理IP介绍2.1 代理IP定义2.2 代理IP的工作原理2.3 代理IP的分类2.4 2.4 为什么需要代理IP? 三、代理IP的使用场景四、如何选择合适的代理IP服务五、使用代理IP的基本步骤六、使用代理IP爬取亚马逊电商信息七、总结八、代码附录 一、 引言 喜…

怎么使用rdma-core进行调用开发?

RDMA (Remote Direct Memory Access) 是一种网络协议,可以在计算节点之间实现高效的内存数据传输,而无需CPU的干预。rdma-core 是 RDMA 的一个用户空间库,提供了一些简单易用的接口来使用 RDMA 功能。 目录: 一、环境准备: 1.1 安装依赖 在安装 rdma-core 之前,确保你的…

token验证

验证客户端传输过来的请求是否合法 try-catch是用来捕获并处理异常的。当你在编写代码时,可能会遇到一些不可预见的情况,这些情况会阻止代码的正常执行,这时就会抛出异常。使用try-catch语句,你可以捕获这些异常并采取相应的措施来…

【OpenCV C++20 学习笔记】形态学变换(morphologyEx)

TOC 理论 开运算 开运算实际上就是腐蚀之后再膨胀,用公式表达就是: d s t o p e n ( s r c , e l e m e n t ) d i l a t e ( e r o d e ( s r c , e l e m e n t ) ) dstopen(src, element) dilate(erode(src, element)) dstopen(src,element)di…

保研408真题练习:2009年全国硕士研究生入学统一考试(单选篇2)

🧊🧊🧊单项选择题(共40道) 🧊操作系统(8道) 🥥1.进程调度算法 高响应比优先调度:选出响应比最高的进程投入执行,响应比R(等待时间+执…

钉钉 钉钉打卡 钉钉定位 2024 免费试用 保用

打卡助手定位 如图,表示开启成功,软件已定位到钉钉打卡位置。 测试显示,高德地图位置已成功修改。 开启助手定位后,观察效果,打卡按钮由无法打卡变为可打卡状态,照片还显示打卡地点。 伙伴们担心作弊行为会…

如何使用nodejs的fsPromise.access()判断文件权限

同学们可以私信我加入学习群! 正文开始 一种错误示范fsPromise.access正确的书写总结 一种错误示范 我们操作文件的时候,经常需要提前判断文件的状态:文件是否存在、文件是否可读、文件是否可写。 查看官网介绍后,按照我们平时的…

WinRAR右键压缩文件功能消失。有什么方法可以恢复吗?

WinRAR作为一款广受欢迎的压缩软件,以其高效、便捷的特点深受用户喜爱。然而,在使用过程中,有时我们可能会遇到右键菜单中WinRAR的压缩文件功能消失的情况,这无疑给我们的文件操作带来了不便。下面小编就来给大家详细介绍当WinRAR…

【C语言】【计算机组成原理】进制转换和原码、反码、补码

目录 一、进制转换 (1)数字进制的4个概念 (2)x进制转换成十进制 (3)十进制转换成x进制(除x取余法) (4)二进制与八进制的相互转换 (5&#xf…

【AI落地应用实战】DAMODEL深度学习平台部署+本地调用ChatGLM-6B解决方案

ChatGLM-6B是由清华大学和智谱AI开源的一款对话语言模型,基于 General Language Model (GLM)架构,具有 62亿参数。该模型凭借其强大的语言理解和生成能力、轻量级的参数量以及开源的特性,已经成为在学术界和工业界引起了广泛关注。 本篇将介…

成为 Spring Boot + Vue 图书作者的必备素养

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119@qq.com] 📱个人微信:15279484656 🌐个人导航网站:www.forff.top 💡座右铭:总有人要赢。为什么不能是我呢? 专栏导…

Python 使用 Detectron2 进行目标检测 (Detectron2, CenterNet2, Detic)

代码说明 代码主要是一个用来演示如何使用 Detectron2 进行目标检测的脚本。它可以从摄像头或视频文件中读取图像,并应用指定的配置文件进行目标检测。其中,Detectron2 结合了 CenterNet2 和 Detic 进行目标检测。 主要库介绍 Detectron2 Detect…

UMG文本控件(UTextBlock)超过边界区域以后显示省略号

测试版本:UE5.4.1 UMG文本控件超过边界区域以后显示省略号

基于springboot+vue+uniapp的校园快递平台小程序

开发语言:Java框架:springbootuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包&#…

【打家劫舍】python刷题记录

R3-递归篇。第100篇blog. 思路: 和爬楼梯有点相似,每次隔1格,2格,3格----(隔3格就亏了,所以还是类似爬楼梯问题,1格或者2格) class Solution:def rob(self, nums: List[int]) -> int:cur,pre0,0for nu…

科普文:Linux目录详解

在 Linux/Unix 操作系统中,一切都是文件,甚至目录也是文件,文件是文件,鼠标、键盘、打印机等设备也是文件。 这篇文章,我们将一起学习 Linux 中的目录结构及文件。 Linux 的文件类型 Linux系统中的文件系统&#xf…

图片太大怎么压缩变小?图片太大压缩变小的几个方法

图片太大怎么压缩变小?在当今数字化时代,图像的处理和分享已经成为日常工作和生活中不可或缺的一部分。然而,有时我们会遇到一个普遍的问题:图片文件太大,需要压缩以便于存储、传输或发布。为什么要压缩图片呢&#xf…

【PCB prepreg】PP 参数比选 四 <预浸料树脂流>

预浸料树脂在压力下加热时会熔化和流动。这通常被称为树脂流动。树脂的流动取决于压力和树脂使用的热量。树脂可以自由流动的时间有限。在成为流体一段时间后,树脂会变成凝胶。 预浸料树脂的流动性对层压操作至关重要,而层压条件会影响这种流动性。此外…

程序员修炼之路

成为一名优秀的程序员,需要广泛而深入地学习多个领域的知识。这些课程不仅帮助建立扎实的编程基础,还培养了问题解决、算法设计、系统思维等多方面的能力。以下是一些核心的必修课: 计算机基础 计算机组成原理:理解计算机的硬件组…