史上最全综述 | 3D目标检测算法汇总!(单目/双目/LiDAR/多模态/时序/半弱自监督)(上)

简介: 近年来,自动驾驶因其减轻驾驶员负担、提高行车安全的潜力而受到越来越多的关注。在现代自动驾驶系统中,感知系统是不可或缺的组成部分,旨在准确估计周围环境的状态,并为预测和规划提供可靠的观察结果。3D目标检测可以智能地预测自动驾驶车辆附近关键3D目标的位置、大小和类别,是感知系统的重要组成部分。本文回顾了应用于自动驾驶领域的3D目标检测的进展。

原文首发微信公众号【自动驾驶之心】:一个专注自动驾驶与AI的社区(https://mp.weixin.qq.com/s/NK-0tfm_5KxmOfFHpK5mBA



1摘要



近年来,自动驾驶因其减轻驾驶员负担、提高行车安全的潜力而受到越来越多的关注。在现代自动驾驶系统中,感知系统是不可或缺的组成部分,旨在准确估计周围环境的状态,并为预测和规划提供可靠的观察结果。3D目标检测可以智能地预测自动驾驶车辆附近关键3D目标的位置、大小和类别,是感知系统的重要组成部分。本文回顾了应用于自动驾驶领域的3D目标检测的进展。首先,我们介绍了3D目标检测的背景并讨论了该任务中的一些挑战。其次,我们从模型和传感器输入方面对3D目标检测的进展进行了全面调查,包括基于LiDAR、基于相机和多模态检测方法。我们还对每一类方法的潜力和挑战进行了深入分析。此外,我们系统地研究了3D目标检测在驾驶系统中的应用。最后,我们对3D目标检测方法进行了性能分析,并进一步总结了多年来的研究趋势,展望了该领域的未来方向。


2简述



自动驾驶,旨在使车辆智能地感知周围环境,并在很少或无需人力的情况下安全行驶,近年来取得了快速发展。自动驾驶技术已广泛应用于自动驾驶卡车、无人驾驶出租车、送货机器人等多种场景,能够减少人为错误,提高道路安全。作为自动驾驶系统的核心组成部分,车辆感知通过各种传感器输入帮助自动驾驶汽车了解周围环境。感知系统的输入一般是多模态数据(来自摄像头的图像数据、来自LiDAR的点云、高精地图等),并且会预测道路上关键要素的几何和语义信息。高质量的感知结果可作为轨迹预测和路径规划等后续步骤的可靠依据。


为了全面了解驾驶环境,感知系统涉及到许多视觉任务,例如目标检测和跟踪、车道线检测、语义和实例分割等。在这些感知任务中,3D目标检测是车辆感知系统中最不可或缺的任务之一。3D目标检测旨在预测3D空间中关键目标的位置、大小和类别,例如机动车、行人、骑自行车的人等。与仅在图像上生成2D边界框并忽略目标与本车的实际距离信息的2D目标检测相比,3D目标检测侧重于对真实世界3D坐标系中目标的定位和识别。3D目标检测在现实世界坐标中预测的几何信息可以直接用于测量本车与关键目标之间的距离,并进一步帮助规划行驶路线和避免碰撞。


3D目标检测方法随着深度学习技术在计算机视觉和机器人领域的发展而迅猛发展。现有的3D目标检测方法都试图从特定方面解决3D目标检测问题,例如从特定传感器类型,数据表示等,与其他类别的方法缺乏系统的比较。因此综合分析各种类型的3D目标检测方法的优缺点,可以为相关研究人员提供一些参考。基于此目的,本文全面回顾了自动驾驶应用中的3D目标检测方法,并对不同方法进行深入分析和系统比较。与现有的综述文章[5, 139, 215]相比,本文广泛涵盖了该领域的最新进展,例如基于深度图像的3D目标检测、自/半/弱监督3D目标检测、端到端自动驾驶系统中的3D目标检测等。与之前仅关注点云[88、73、338]、单目图像[297、165]和多模态输入[ 284]相比,我们的论文系统地研究了来自所有传感器类型和大多数应用场景的3D目标检测方法。


这项工作的主要贡献可以总结如下:

  1. 我们从不同的角度全面回顾了3D目标检测方法,包括来自不同传感器输入的检测(基于LiDAR、基于摄像头和多模态)、时间序列检测、标签高效检测、以及3D目标检测在驾驶系统中的应用。
  2. 我们从结构和层次上总结了3D目标检测方法,对这些方法进行了系统分析,并为不同类别方法的潜力和挑战提供了有价值的见解。
  3. 对3D目标检测方法的综合性能和速度进行分析,确定多年来的研究趋势,并为3D目标检测的未来方向提供深刻的见解。


本文的结构安排如下:首先,第2节中介绍了3D目标检测问题的定义、数据集和评价指标。然后,我们回顾和分析了基于LiDAR传感器(第3节)、相机(第4节)和多模态数据输入(第5节)。接下来,我们在第6节中介绍利用时空数据的检测方法,并在第7节中使用较少有标签数据的方法。我们随后在第8节中讨论3D目标检测在驾驶系统中的应用。最后,我们进行速度和性能分析,对研究趋势进行了探讨,并在第9节中展望3D目标检测的未来方向。分层结构的分类如下图所示。

640.png


3背景



3D目标检测是什么?


1、定义


3D目标检测是通过输入传感器数据,预测3D目标的属性信息的任务。如何表示3D目标的属性信息是关键,因为后续的预测和规划需要这些信息。大部分情况下,3D目标被定义为一个立方体,(x,y,z)是立方体的中心坐标,l,w,h是长宽高信息,delta是航向角,比如立方体在地平面的偏航角,class是3D目标的类别。vx、vy描述3D目标在地面上沿x轴和y轴方向的速度。在工业应用中,一个3D目标的参数可以进一步简化为鸟瞰图上一个长方体的4个角位置。


2、传感器输入


许多类型的传感器都可以为3D目标检测提供原始数据,相机和LiDAR(激光雷达)传感器是两种最常采用的传感器类型。相机价格便宜且易于使用,并且可以从某个角度捕捉场景信息。相机产生图像W×H×3用于3D目标检测,其中W和H是一幅图像的宽高,每个像素有3个RGB通道。尽管价格便宜,但相机在用于3D目标检测方面存在内在限制。首先,相机只捕捉外观信息,不能直接获取场景的3D结构信息。另一方面,3D目标检测通常需要在3D空间中进行准确定位,而从图像估计的3D信息(例如深度)通常具有较大的误差。此外,基于图像的检测很容易受到极端天气和时间条件的影响。在夜间或雾天从图像中检测目标比在晴天检测要困难得多,这样的自动驾驶系统无法保证鲁棒性。


作为替代解决方案,LiDAR传感器可以通过发射一束激光束,然后测量其反射信息来获得场景的细粒度3D结构信息。一个LiDAR传感器在一个扫描周期内发射光束并进行多次测量可以产生一个深度图像,每个深度图的像素有3个通道,分别为球坐标系中的深度r、方位角α和倾角φ。深度图像是激光雷达传感器获取的原始数据格式,可以通过将球坐标转换为笛卡尔坐标进一步转换为点云。一个点云可以表示为N×3,其中N表示一个场景中的点数,每个点有3个xyz坐标通道。附加功能,例如反射强度,可以附加到每个点或深度图像素。深度图像和点云都包含由LiDAR传感器直接获取的准确3D信息。因此,与相机相比,LiDAR传感器更适合检测3D空间中的目标,并且LiDAR传感器也更不易受时间和天气变化的影响。然而,LiDAR传感器比摄像头贵得多,这限制了在驾驶场景中的大规模应用。3D目标检测图解,见下图:


640.png


3、与2D目标检测的比较


旨在在图像上生成2D边界框的2D目标检测是计算机视觉中的一个基本问题。3D目标检测方法借鉴了2D目标检测方法的许多设计范式:proposal generation and refinement、anchors、NMS 等。然而,从多方面来看,3D目标检测方法并不是2D目标检测方法对3D空间的简单适配。


  1. 3D目标检测方法必须处理多样化的数据。点云检测需要新的算子和网络来处理不规则的点数据,而点云和图像的检测需要特殊的融合机制。
  2. 3D目标检测方法通常利用不同的投影视图来生成目标预测结果。与从透视图检测目标的2D目标检测方法相反,3D方法必须考虑不同的视图来检测3D目标,例如鸟瞰图、点视图、柱面视图等。
  3. 3D目标检测对目标在3D空间的准确定位有很高的要求。分米级的定位误差可能导致对行人和骑自行车的人等小目标的检测失败,而在2D目标检测中,几个像素的定位误差可能仍然保持较高的IoU指标(预测值和真值的IoU)。因此,不论是利用点云还是图像进行3D目标检测,准确的3D几何信息都是必不可少的。


4、与室内3D目标检测对比


室内3D目标检测也是3D目标检测的一个分支,室内数据集比如SUN RGB-D [247],利用RGB-D和3D标注信息重建房间结构,包括门、窗、床、椅子等。室内场景中的3D目标检测也是基于点云或图像。然而,与室内3D目标检测相比,驾驶场景中存在独特的挑战。


  1. 自动驾驶场景的检测范围远大于室内场景。驾驶场景中的3D目标检测通常需要预测很大范围内的3D目标,例如Waymo[250]中为150m×150m×6m,而室内3D目标检测通常以房间为单位,而其中[54]大多数单人房间小于10m×10m×3m。那些在室内场景中工作的时间复杂度高的方法在驾驶场景中可能无法表现出好的适应能力。
  2. LiDAR和RGB-D传感器的点云分布不同。在室内场景中,点在扫描表面上分布相对均匀,大多数3D目标在其表面上可以接收到足够数量的点。而在驾驶场景中,大多数点落在LiDAR传感器附近,而那些远离传感器的3D目标仅接收到少量点。因此,驾驶场景中的方法特别需要处理3D目标的各种点云密度,并准确检测那些遥远和稀疏的目标。
  3. 驾驶场景中的检测对推理延迟有特殊要求。驾驶场景中的感知必须是实时的,以避免事故。因此,这些方法需要及时高效,否则它们将无法落地。

数据集


自动驾驶3D目标检测相关数据集较多,具体见下表。主要的数据集建立需要继续干以下四件事:

  1. 增大数据规模。
  2. 增加数据多样性,不只有白天夜晚,还要包括阴天、雨天、雪天、雾天等。
  3. 增加标注类别,除了常用的机动车、行人、非机动车等,还应包括动物,路上的障碍物等。
  4. 增加多模态数据,不只有点云和图像数据,还有高精地图、雷达数据、远程激光雷达、热成像数据等。

未来的数据集应该包括感知、预测、规划、建图等一整套数据,这样可以为端到端的自动驾驶系统服务,而不仅仅是考虑一个3D目标检测任务。


640.png


评价标准


针对3D目标检测的评价,一种是将2D任务的AP指标扩展到3D,比如KITTI就包括 AP-3D、AP-BEV指标,分别用到预测值与真值的3D-IoU、BEV-IoU来衡量。其它比如基于中心距离的匹配,或者匈牙利匹配等。另一种则通过下游任务来衡量,只有对下游任务(运动规划)有帮助的检测方法,才能在实际应用中确保驾驶安全。包括PKL[230]和SDE[56]等工作。


不同评价指标的利弊。基于AP的评价指标[80,15,250]自然继承了2D检测的优势。然而,这些指标忽略了检测对驾驶安全的影响,而这在现实应用中至关重要。例如,在AP计算中,本车附近的目标漏检和本车远一点的目标漏检可能都只是一个漏检,但在实际应用中,近处的目标漏检实质上比远处的目标漏检更危险。


因此,从安全驾驶的角度来看,基于AP的指标可能不是最优选择。PKL[203]和SDE[56]通过考虑下游任务中检测的影响,部分解决了这个问题,但在对这些影响建模时将引入额外的挑战。PKL[203]需要一个预先训练的运动规划器来评估检测性能,但预先训练的规划器也有固有误差,可能会使评估过程不准确。SDE[56]需要重构目标边界,这通常是复杂和具有挑战性的。


4基于LiDAR的3D目标检测



激光雷达数据主要包括点云、深度图数据等,以下时间轴将较为经典的算法做了个列举。


640.png


3D目标检测的数据表示


点云数据和深度图数据与一般的图像不同。点云是稀疏、不规则的,需要设计特殊模型提取特征。而深度图是密集紧凑,深度像素存的是3D信息,而不是RGB值。这些都是需要打破原先的常规卷积网络的固有思维,而且自动驾驶需要检测目标的实时性,推理要快,如何设计一个在点云和深度图上推理更快的模型也是一个挑战。


1、基于点的3D目标检测


基于点的目标检测成功在点云上应用深度学习方法,提出了一系列框架,可以直接从原始点数据来预测3D目标。将点云通过基于点的主干网络,通过点云算子来提取点云特征,基于下采样的点和特征预测3D框。基于点的3D目标检测器主要组成部分为:点云采样和特征学习。整体流程示意图和代表性工作见下图和表。

640.png640.png



点云采样。PointNet++[208]的FPS在基于点的检测器中被广泛采用,这种检测器从原始点集中依次选择最远处的点。PointRCNN[234]是一项开创性的工作,它采用FPS逐步下采样输入的点云,并从下采样点中生成3D候选。类似的设计范式在随后的许多工作中也被采用,并进行了分割引导滤波[318]、特征空间抽样[321]、随机抽样[189]等改进。


特征学习。上下文点首先用一个预定义的查询球半径进行选择,然后上下文点和特征经过多层感知机和max-pooling,得到新的特征。其它点云操作,包括图操作、注意力操作、Transformer等。


基于点的3D目标检测器受制于特征学习中采用的上下文点数量和上下文半径。增加上下文点数量可以获得更强的表达能力,但会增加内存,在球查询中,上下文半径太小,会造成上下文信息不足,半径太大,造成3D细粒度信息丢失。


对于大部分的基于点的3D目标检测器,推理时间上的瓶颈是点云采样。随机均匀采样因为可以并行,效率最高,但激光雷达扫描点分布不均匀,随机均匀采样会对点云密度高的地方过采样,而稀疏的地方欠采样。最远点采样及其变体通过从已有的点集中依次选择最远点获得更加均匀的采样结果,但其不能并行,耗时较大,较难做到实时。


2、基于网格的3D目标检测


基于网格的3D目标检测器首先将点云栅格化为离散的网格表示,即体素、柱体和鸟瞰视图(BEV)特征图。然后应用传统的2D卷积神经网络或3D稀疏神经网络提取特征。最后,可以从BEV网格中检测出3D目标。下图展示了基于网格的3D目标检测的示例,下表给出了基于网格的检测器的分类。网格检测有两个基本组成部分:基于网格的表示和基于网格的神经网络。

640.png640.png



基于网格的表示。目前有3种主要的网格表示类型:体素、柱体和BEV特征图。


体素。体素是3D立方体,体素细胞内包含点。点云可以很容易地通过体素化转化为体素。由于点云分布稀疏,3D空间中的大部分体素细胞都是空的,不包含点。在实际应用中,只有那些非空体素被存储并用于特征提取。VoxelNet[359]是一项利用稀疏体素网格的开创性工作,提出了一种新的体素特征编码(VFE)层,从体素细胞内的点提取特征。此外,还有两类方法试图改进用于3D目标检测的体素表示:


  1. 多视图体素。一些方法从不同的视角提出了一种动态体素化和融合方案,例如从鸟瞰图和透视图[360],从圆柱形和球形视图[34],从深度视图[59]等。
  2. 多尺度体素。一些论文生成不同尺度的体素[323]或使用可重构体素。


柱体。柱体可以被视为特殊的体素,其中体素的大小在垂直方向上是无限的。通过PointNet将点聚集成柱状特征[207],再将其分散回去,构建二维BEV图像进行特征提取。PointPillars[117]是一个开创性的工作,介绍了柱体表示,随后的是[283,68]。


BEV特征图。鸟瞰特征图是一种密集的二维表示,其中每个像素对应一个特定的区域,并对该区域内的点信息进行编码。BEV特征图可以由体素和柱体投影到鸟瞰图中获得,也可以通过汇总像素区域内的点统计数据,直接从原始点云中获得。常用的统计数据包括二进制占用率[314,313,2]和局部点云高度和密度[40,10,342,3,245,346,8,119]。

基于网格的神经网络。目前主要有两种基于网格的网络:用于BEV特征图和柱体的2D卷积神经网络,以及用于体素的3D稀疏神经网络。


与BEV特征图和柱体2D表示相比,体素包含更多结构化的3D信息。此外,可以通过3D稀疏网络学习深度体素特征。但是,3D神经网络会带来额外的时间和内存成本。BEV特征图是最有效的网格表示,它直接将点云投影到2D伪图像中,而无需专门的3D算子,如稀疏卷积或柱体编码。2D检测方法也可以在BEV特征图上无缝应用,无需太多修改。

基于BEV的检测方法通常可以获得高效率和实时推理速度。然而,简单地汇总像素区域内的点统计信息会丢失太多的3D信息,与基于体素的检测相比,这会导致检测结果不太准确。


基于柱体的检测方法利用PointNet对柱体单元内的3D点信息进行编码,然后将特征分散回2D伪图像中进行有效检测,从而平衡3D目标检测的效果和效率。


选择合适大小的网格单元是所有基于网格的方法都必须面对的关键问题。通过将连续点坐标转换为离散网格索引,网格表示本质上是点云的离散形式。在转换过程中不可避免地会丢失一些3D信息,其效果很大程度上取决于网格单元的大小:网格小,分辨率高,可以保持更细粒度的细节,对于准确检测3D目标至关重要。然而,减小网格单元又会导致2D网格表示(如BEV特征图或柱体)的内存消耗呈二次方增长。至于像体素这样的3D网格表示,问题可能会变得更加严重。因此,如何平衡更小网格尺寸带来的效果和内存增加影响效率,仍然是所有基于网格的3D目标检测方法的一个挑战。


3、基于Point-Voxel的3D目标检测方法


基于点-体素的方法采用了一种混合架构,利用点和体素进行3D目标检测。主要分为两类:单阶段检测框架和两阶段检测框架。下图显示了这两个类别的示例及分类:


640.png640.png


单阶段基于点-体素的3D目标检测器通过骨干网络中的点-体素和体素-点的变换来连接点和体素的特征。点包含细粒度的几何信息,体素计算效率高,在特征提取阶段将它们结合在一起更加有利。代表性工作包括:PVCNN、SPVNAS、SA-SSD、PVGNet等。

两阶段的基于点-体素的3D目标检测器,在第一阶段,使用基于体素的检测器来生成一组3D候选目标。在第二阶段,首先从输入点云中采样关键点,然后通过新的点算子对关键点进行进一步细化。代表工作包括:PV-RCNN、LiDAR R-CNN、Pyramid R-CNN、CT3D等等。


与纯体素检测方法相比,基于点-体素的3D目标检测方法在增加推理时间的同时,可以获得更好的检测精度。


4、基于Range的3D目标检测


Range图像是一种密集而紧凑的2D表示,其中每个像素包含3D深度信息,而不是RGB值。需要针对Range图设计模型和算子,并要选择合适的视图。

640.png640.png



Range图是2D的,可以借鉴2D目标检测方法,比如LaserNet,还有一些借鉴了U-Net、RPN、R-CNN、FCN、FPN等。


Range图的像素包含的是距离信息,而非颜色值,因此传统的2D标准卷积算子无法完全适用,滑动窗口中的像素在3D空间中可能会相距很远。一些工作采用了新算子来有效地从Range像素中提取特征,包括深度扩张卷积[11]、图算子[26]和元核卷积[67]等。

Range图是从Range视图(Range View)中获取的,RangeView是点云的球面投影。对于许多基于深度的方法[178,11,67,26]来说,直接从Range视图检测3D目标是很自然的。然而,从Range视图进行检测不可避免地会遇到球面投影所带来的遮挡和尺度变化问题。为了规避这些问题,许多方法尝试利用其他视图来预测3D目标,例如[219]中利用的圆柱形视图(CYV),其它方案尝试Range视图和鸟瞰视图(BEV)、点视图(PV)的组合。


Range视图由于可以借鉴2D卷积的优点,做特征提取比较好,但由于遮挡和尺度问题,直接在上面做检测效果不好,需要结合BEV来做检测,所以现在一般是Range图做特征提取,BEV上做检测。

相关文章
|
3月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于MSER和HOG特征提取的SVM交通标志检测和识别算法matlab仿真
### 算法简介 1. **算法运行效果图预览**:展示算法效果,完整程序运行后无水印。 2. **算法运行软件版本**:Matlab 2017b。 3. **部分核心程序**:完整版代码包含中文注释及操作步骤视频。 4. **算法理论概述**: - **MSER**:用于检测显著区域,提取图像中稳定区域,适用于光照变化下的交通标志检测。 - **HOG特征提取**:通过计算图像小区域的梯度直方图捕捉局部纹理信息,用于物体检测。 - **SVM**:寻找最大化间隔的超平面以分类样本。 整个算法流程图见下图。
|
3天前
|
机器学习/深度学习 存储 人工智能
淘天算法工程师玩转《黑神话》,多模态大模型如何成为天命AI
淘天集团未来生活实验室的算法工程师们以ARPG游戏《黑神话:悟空》为平台,探索多模态大模型(VLM)在仅需纯视觉输入和复杂动作输出场景中的能力边界。他们提出了一种名为VARP的新框架,该框架由动作规划系统和人类引导的轨迹系统组成,成功在90%的简单和中等难度战斗场景中取得胜利。研究展示了VLMs在传统上由强化学习主导的任务中的潜力,并提供了宝贵的人类操作数据集,为未来研究奠定了基础。
|
2月前
|
机器学习/深度学习 监控 算法
基于反光衣和检测算法的应用探索
本文探讨了利用机器学习和计算机视觉技术进行反光衣检测的方法,涵盖图像预处理、目标检测与分类、特征提取等关键技术。通过YOLOv5等模型的训练与优化,展示了实现高效反光衣识别的完整流程,旨在提升智能检测系统的性能,应用于交通安全、工地监控等领域。
|
3月前
|
监控 算法 数据安全/隐私保护
基于三帧差算法的运动目标检测系统FPGA实现,包含testbench和MATLAB辅助验证程序
本项目展示了基于FPGA与MATLAB实现的三帧差算法运动目标检测。使用Vivado 2019.2和MATLAB 2022a开发环境,通过对比连续三帧图像的像素值变化,有效识别运动区域。项目包括完整无水印的运行效果预览、详细中文注释的代码及操作步骤视频,适合学习和研究。
|
3月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
95 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
3月前
|
算法 安全
分别使用OVP-UVP和OFP-UFP算法以及AFD检测算法实现反孤岛检测simulink建模与仿真
本课题通过Simulink建模与仿真,实现OVP-UVP、OFP-UFP算法及AFD检测算法的反孤岛检测。OVP-UVP基于电压幅值变化,OFP-UFP基于频率变化,而AFD则通过注入频率偏移信号来检测孤岛效应,确保电力系统安全稳定运行。系统使用MATLAB 2013b进行建模与仿真验证。
|
2月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GA-PSO-SVM算法的混沌背景下微弱信号检测matlab仿真
本项目基于MATLAB 2022a,展示了SVM、PSO、GA-PSO-SVM在混沌背景下微弱信号检测中的性能对比。核心程序包含详细中文注释和操作步骤视频。GA-PSO-SVM算法通过遗传算法和粒子群优化算法优化SVM参数,提高信号检测的准确性和鲁棒性,尤其适用于低信噪比环境。
|
2月前
|
存储 JSON 算法
TDengine 检测数据最佳压缩算法工具,助你一键找出最优压缩方案
在使用 TDengine 存储时序数据时,压缩数据以节省磁盘空间是至关重要的。TDengine 支持用户根据自身数据特性灵活指定压缩算法,从而实现更高效的存储。然而,如何选择最合适的压缩算法,才能最大限度地降低存储开销?为了解决这一问题,我们特别推出了一个实用工具,帮助用户快速判断并选择最适合其数据特征的压缩算法。
69 0
|
3月前
|
算法 计算机视觉 Python
圆形检测算法-基于颜色和形状(opencv)
该代码实现了一个圆检测算法,用于识别视频中的红色、白色和蓝色圆形。通过将图像从RGB转换为HSV颜色空间,并设置对应颜色的阈值范围,提取出目标颜色的区域。接着对这些区域进行轮廓提取和面积筛选,使用霍夫圆变换检测圆形,并在原图上绘制检测结果。
110 0
|
5月前
|
机器学习/深度学习 监控 算法
目标检测算法技术
8月更文挑战第11天

热门文章

最新文章