超大超全!万字长文详解多领域实时目标检测算法(2022最新)(中)

简介: 基于深度神经网络的目标检测器不断发展,并用于多种应用,每个应用都有自己的一组要求。安全关键型的应用程序需要高精度和可靠性,而低延迟的任务需要节约资源的神经网络结构。实时目标检测器在有高影响力的现实世界应用中是必不可少的,并不断有新方法提出,但它们过分强调精度和速度上的改进,而忽略了其他方面,如多功能性、鲁棒性、资源和能源效率。现有网络的参考基准不存在,新网络设计的标准评估指南也不存在,这导致比较模棱两可和不一致。


目标检测中的挑战



目标检测作为计算机视觉问题本身就具有挑战性,因为理想的检测器必须以合理的能耗和计算成本提供高精度和高性能。稍后作者讨论了几种主干和检测头组合的优缺点,以展示精度和速度之间的权衡。检测精度和推理速度还取决于图像大小和目标大小。虽然通过从场景中提取更多信息,更高的图像分辨率会产生更好的准确性,但它也会降低推理速度。因此,选择在精度和速度之间提供适当平衡的图像尺寸至关重要。此外,目标大小在检测精度中起着重要作用。虽然检测器可以在大中型目标上实现高精度,但几乎所有检测器都难以检测场景中的较小目标(Liuetal.,2021)。作者研究了目标大小和图像大小对检测精度和速度的影响。为了提供高精度,检测器需要具有鲁棒性,并对具有显着类内变化(例如,变化目标的大小、形状和类型)、姿势和非刚性变形。对于使用anchor-based的检测器,anchor的优化是一个挑战,因为它们依赖于数据集。后面作者展示了不同的anchor大小如何影响检测精度。另一个主要挑战是在不同的天气(雨、雪、暴风雪)和光照条件下保持一致的性能。对于自动驾驶等应用,检测器还必须考虑杂乱的背景、拥挤的场景和相机效果。作者在后面提供了关于检测器鲁棒性的详细研究。最后,深度神经网络倾向于依赖训练数据的监督进行快捷学习,因此过度拟合训练数据分布(分布内),而不是泛化到分布外(OOD)数据。真实场景的没见过的数据才是至关重要的,作者在后面提供了对分布内数据和分布外数据的详细分析。


目标检测中的Head



由于作者的研究范围是实时目标检测,作者专注于一个两阶段检测器:ThunderNet(Qinetal.,2019),两个anchor-based的检测器:SSD(Liuetal.,2016),YOLO(Redmon&Farhadi,2017),四个(anchor-free)基于关键点的检测器:CenterNet(Zhou等人,2019a)、FCOS(Tian等人,2019)、NanoDet(Lyu,2020)和TTFNet(Liu等人,2020),和一个基于Transformer的检测器:DETR(Carionetal.,2020)


ThunderNet


640.png

ThunderNet重新审视了两阶段检测器架构并改进了Lighthead-RCNN(Lietal.,2017),并使用ShuffleNet-v2(Maetal.,2018)的变体作为主干。检测头在网络的早期阶段增加了通道数,以编码低级特征,这样提升了精度。ThunderNet使用了两个新模块:上下文增强模块(CEM)和空间注意力模块(SAM)。CEM聚合来自三个不同尺度的特征,通过利用局部和全局特征扩大感受野。SAM通过加强前景特征同时抑制背景特征来细化特征(上图所示)。SAM模块的输出为:

640.png


其中FSAM、FCEM和FRPN分别表示SAM、CEM和RPN模块的输出特征。σ(.)是sigmoid函数和T(.)表示维度变换函数,以匹配来自FCEM和FRPN的输出通道数。

640.png


其中Lcls是两个类(目标或非目标).bi和bg分别表示第i个anchor的预测框和对应ground-truth目标框。与任何高于给定阈值的ground-truth重叠的anchor被认为是正样本(ti=1),其余的anchor被认为是负的(ti=0)。因此,乘法项确保回归损失仅对正anchor激活。Na和Nb表示anchor位置的数量和batch大小,λ是平衡权重。与FastR-CNN类似,执行ROI pooling并将这些区域发送到两个分支进行分类和回归,目标函数如下:

640.png


其中Lcls是真实类u的对数损失,λ是平衡权重。Lreg计算类u的ground-truth目标框和预测框的回归损失。[u≥1]是逆向指标函数,当u≥1(u=0是背景类)。


YOLO

640.png



YOLO(Redmonetal.,2016)是一个针对实时任务的单阶段目标检测网络。YOLO将图像划分为网格单元,每个单元预测一个由边界框和置信度分数。如果一个目标的中心位于某个特定的网格单元中,则称该目标属于该网格单元。YOLO快速简单,但召回率低。Redmon&Farhadi(2017)提出了YOLOv2来提高YOLO的精度和速度。YOLOv2不是对边界框进行任意预测,而是在每个网格中使用不同大小和纵横比的anchor来覆盖整个图像的不同位置和不同尺度。通过在特定数据集上使用基于IoU的k-Means聚类计算anchor大小,可以使anchor变得更准确。网络预测是每个anchor框的偏移量。YOLOv2在合并不同尺度的特征图获得的单个特征图上进行边界框预测(如上图)。


其它YOLO都是建立在YOLOv2基本概念之上,但有许多技巧和窍门来实现更高的性能。由于作者试图在简单的框架上进行评估,因此在本研究中,作者仅考虑YOLOv2版本,因为它简单、快速且具有最少的技巧。损失函数由分类损失、定位损失、和置信度损失(判断bbox是目标还是背景):


640.png


其中Lcls是Focal Loss,Lreg和Lconf都是L2 loss。Lconf是衡量bbox是否为目标的置信度损失(例如,如果一个框其实是背景,则其目标的置信度将降低),λ和λ'是平衡权重。


SSD


640.png


SSD(Liuetal.,2016)有一个前馈CNN,它为场景中的多个目标实例生成边界框、置信度分数和分类标签。SSD使用多个特征图从逐渐降低的分辨率模拟不同大小的输入图像,同时跨尺度共享计算。浅层的特征图用于学习较小目标的低级特征,而较深层的特征用于定位场景中较大的目标。检测头为每个尺度的特征图采用单独的预定义anchor,最后结合所有预设anchor在不同尺度和纵横比下的预测结果。每个特征图的anchor的尺度和大小定义为:


640.png


其中k∈[1,m],smin和smax的默认值分别为0.2和0.9。SSD中用了m=6个特征图。SSD产生一组不同预测结果,涵盖各种形状和大小的目标。SSD使用匹配策略来确定哪些anchor对应于ground-truth,而与ground-truth最高重叠的那个anchor用于预测该目标的位置和类别。目标函数源自多目标(Heetal.,2015),并扩展到多个类别。总体目标函数是


640.png


其中Lcls是交叉熵损失,Lreg是所有与ground-truth匹配的正样本框的SmoothL1损失之和。N是正样本的数量,λ是平衡权重。


CenterNet


640.png

anchor-based的检测器必须处理与数据集高度相关的超参数,例如anchor的数量、纵横比和大小。CornerNet被提出作为anchor-based的方法的第一个替代方法,该方法将目标检测问题简化为关键点估计问题(Law&Deng,2018)。在(Lawetal.,2019;Zhouetal.,2019b)提出的多种方法中;a),作者使用CenterNet(Zhouetal.,2019a),因为它不仅比CornerNet获得更高的精度,而且还简化了关键点估计。检测算法通过三个转置卷积层来增强主干,以产生高分辨率输出。第一个分支输出一个热力图来估计目标的关键点或中心点,热力图的数量等于目标类别的数量。Ground-truth 热力图是通过在ground-truth box的中心使用高斯核来创建的。峰值用于估计实例目标的中心并确定实例目标的类别。还有两个生成热力图的分支:embedding分支回归目标框的尺寸,即宽度和高度,offsets分支解释了将中心坐标映射到原始输入维度引起的离散化误差。总体目标函数给出为:

640.png


其中Lcls是使用FocalLoss减少像素级逻辑回归的惩罚(Linetal.,2017b),Loff是L1损失,以最小化中心坐标,最后Lembis也是一个L1损失,以最大限度地减少计算预测框的宽度和高度时的错误,λ和λ'是平衡权重。


FCOS

640.png


FCOS是一种全卷积的anchor-free检测器,将目标检测重新表述为类似于语义分割的逐像素预测问题(Tian等人,2019年)。检测器使用FPN的多级预测(Linetal.,2017a)来提高召回率并解决重叠边界框歧义。以不同的尺度获得五个特征图,并在每个层上执行逐像素回归。这会增加召回率,但会在远离目标中心的位置产生低质量的预测。为了避免这种情况,并行添加了一个额外的分支,以预测位置的中心位置。整体损失函数为:


640.png

其中Lcls是FocalLoss,Lreg是IoU回归损失,Lcent是使用二元交叉熵(BCE)loss的中心损失。N是正样本的数量,λ是平衡权重。IoU回归基于UnitBox(Yuetal.,2016),是输入为IoU值的交叉熵损失的一种形式。与独立优化坐标值的L2 loss不同,IoU loss将其视为一个单元。最终的目标分数是由centerness得分加权得到。因此,这个分支会降低距离目标中心较远的预测框的分数,这有助于最终的NMS过滤掉低质量的预测结果。


NanoDet

640.png


受FCOS的启发,NanoDet作为一种轻量级的anchor-free检测器被提出(Lyu,2020)。NanoDet使用ATSS模块(Zhangetal.,2020),该模块根据目标特征自动选择正负训练样本。检测器使用Generalized Focal Loss(GFL)(Lietal.,2020)进行分类和回归。GFL旨在将FocalLoss从离散域扩展到连续域,以实现更好的优化。这是 Quality FocalLoss(QFL)和Distributed FocalLoss(DFL)的组合。QFL将分类置信度和IoU质量相结合,最终输出一个分数,DFL将预测框视为连续分布并对其进行优化。Generalized IoU loss(GIoU)对于非重叠情况很有用,因为它通过缓慢地向目标框移动来增加预测框的大小以与目标框重叠。用于训练NanoDetis的整体损失函数为:

640.png


其中LQFL和LDFL是QFL和DFL,LGIoU是GIoU损失。Npos是正样本的数量,λ和λ′是平衡权重。z表示金字塔特征图上的所有位置。FCOS使用五个特征图传递给多级FPN,而NanoDet使用三个特征图传递给三个单独的路径聚合网络(PAN)(Liuetal.,2018b)块。PAN类似于FPN,但通过添加自下而上的路径来增强较低级别特征。PAN块的输出连接到单独的检测头,这些检测头计算特定特征图的分类标签和边界框。NanoDet还删除了FCOS中的centerness分支,因此使其成为更快的变体。三个头的输出最终传递给NMS以实现输入图像的最终目标框和分类标签的预测。


DETR


640.png


Transformer是计算机视觉中一种新的设计范式,它依赖于注意力机制,并首次被DETR引入目标检测中(Carion等人,2020年)。DETR将目标检测任务转换为集合预测问题,消除了重复的边界框预测。Transformers通过使用自注意力模块基于整个图像上下文捕获目标之间的成对关系,从而避免重复预测。与使用NMS等后处理步骤来消除重复预测的传统目标检测器相比,有减少计算成本的优势。DETR由编码器-解码器转换器和进行最终预测的前馈网络(FFN)组成(上图)。编码器由一个多头自注意力(MHSA)模块(Vaswanietal.,2017)和一个FFN组成。这些块是排列不变的,因此,固定位置编码被添加到每个注意力层的输入中。解码器使用编码器特征并使用多个MHSA模块将目标查询转换为输出嵌入。N个输出嵌入被两个不同的FFN层使用,一个用于预测类标签,另一个用于预测框坐标。DETR使用唯一的二分匹配为每个给定的ground-truth找到最佳预测框。使用匈牙利优化算法有效地计算每N个查询到每N个ground-truth的一对一映射。在获得该集合的所有匹配对后,使用标准交叉熵损失进行分类,并使用L1和GIoU损失的线性组合进行回归。在每个解码器层之后添加辅助损失,以帮助模型在每个类中输出正确数量的目标。给定λ和λ′是平衡权重,总损失如下:

640.png


TTFNet

640.png


受CenterNet(Zhouetal.,2019a)的启发,TTFNet使用相同的策略,其中检测被视为中心定位和边界框尺寸回归的两部分问题(Liuetal.,2020)。对于中心定位,TTFNet采用高斯核在目标中心附近产生激活较高的热力图,类似于CenterNet,但另外还考虑了边界框的纵横比。对于尺寸回归,TTFNet提出将高斯区域中的所有像素作为训练样本,而不是只选择中心像素作为训练样本。此外,这些样本通过目标大小和高斯概率计算的权重进行加权,从而利用更多信息。这样做的原因是更多的训练样本类似于增加批量大小,这有助于扩大学习率并加快训练过程。TTFNet通过围绕目标中心构建一个子区域并仅从中提取训练样本来修改高斯核区域(详见上图)。使用高斯概率作为权重,以重点关注靠近目标中心的样本,从而减轻重叠歧义。由于目标尺寸的巨大差异,较大的目标比较小的目标产生更多的样本,因此较小目标的损失贡献可以忽略不计,这会影响检测精度。因此,引入了一种损失平衡策略,该策略充分利用大目标中的更多注释信息,同时保留较小目标的信息。

640.png


其中,真值bm,采用高斯核,将子区域内的每个像素Am视为回归样本。^bij是预测框,Wij是平衡权重,Ni是回归样本数。因此,整体损失如下:

640.png


其中λ=1.0和λ′=5.0是分类和回归平衡权重,Lcls是Kong等人提出的FocalLoss的修改版本。(2019)


Backbones



在这项研究中,作者根据速度、能耗和内存效率等因素选择了九个特征提取器作为主干,专门针对实时应用。在下文中,作者按时间顺序介绍了主干网络。


ResNet:Heetal。(2016)将网络层重新定义为具有残差跳跃连接的学习残差函数。具有跳跃连接的网络更容易优化,并且可以在增加深度的情况下获得相当大的精度。ResNet-18是深度残差网络的轻量级变体,由四个残差块组成,每个残差块有两个卷积,然后是BN层。


DarkNet:Redmon&Farhadi(2017)提出了一种计算轻量级的特征提取器DarkNet作为他们提出的实时目标检测算法YOLO的一部分。Darknet通过减少参数量对VGG-16进行了改进。出于实时检测的目的,本研究仅考虑了DarkNet-19。


Xception:Chollet(2017)提出的Xception作为对 Inception-V3的改进,完全基于深度可分离卷积(DWS;Kaiser等人(2017年))。所提出的架构是一个由36个深度可分离卷积层组成的线性堆叠,结构为14个模块,除了第一个和最后一个之外,所有模块都有残差连接。


MobileNet:Sandler等人(2018年)将MobileNet-v2设计为轻量级骨干网,专门用于嵌入式设备上的实时目标检测。该架构使用具有线性瓶颈和深度可分离卷积的反向残差块。它被称为倒置,因为在网络的狭窄部分之间存在跳跃连接,导致参数数量较少。此外,该网络包含跳过连接,以实现输入和输出瓶颈之间的特征可重用性。


ShuffleNet-v2:Ma等人(2018)设计了ShuffleNet-v2,通过降低内存访问成本来优化推理延迟。该架构的构建块由通道拆分操作组成,该操作将输入分成两部分,每一个都前馈到一个残差块。引入了通道混洗操作以实现两个拆分之间的信息传输以提高准确性。每个构建块的高效率使得可以使用更多的特征通道和更大容量的网络。


VoVNet:Leeetal(2019)提出VoVNet作为能耗低的实时检测的主干网络。它是使用One-Shot Aggregation(OSA)模块构建的,该模块仅在最后一个特征图中将所有中间特征连接一次。OSA块中的卷积层具有相同的输入/输出通道,从而最大限度地减少了MAC计数,从而提高了GPU计算效率。本研究中使用了速度更快、更节能的变体VoVNet-39。


EfficientNet:Tan&Le(2019)设计了EfficientNet,一种特征提取器,使用针对精度和MAC计数进行优化的自动多目标结构搜索算法。所提出的架构通过重新调整和平衡网络深度、宽度和分辨率来实现高精度。该架构的构建块使用Mobile Inverted Bottleneck Convolutions(MBConv),还包括Squeeze 和 Excitation(SE)模块(Huetal.,2018)。在提出的几个版本中,作者使用了EfficientNet-B0,该架构中最轻量级的版本。


HarDNet:Chaoetal(2019)提出谐波密集连接网络(HarDNet)以在MAC计数和内存访问方面实现高效率。在减少DRAM(动态随机存取存储器)方面,HarDNet在所有其他主干中脱颖而出。稀疏化方案提出了层之间的连接模式,使其类似于二次谐波的幂(因此得名)的重叠。所提出的连接模式形成了一组称为谐波密集块(HDB)的层,而不是考虑所有层,HDB中的梯度只有“logL”层。HDB的输出是L层以及之前所有奇数层的concat,一旦HDB完成,偶数层的输出将被丢弃。此外,使用stride-8代替stride-16(在许多CNN网络中采用)来增强局部特征提取。除了减少特征图的访问外,它还提供了其他优势,例如低延迟、更高的精度和更快的速度。在提出的几个版本中,HarDNet-68用于本研究。


DeiT:Touvronetal(2021)修改了视觉Transformer以用作密集预测任务的特征提取器。所提出的架构,数据高效的图像Transformer(DeiT),由重复的自注意力模块、前馈层和一个额外的蒸馏模块组成。为了提取有意义的图像表示,将来自最终Transformer块的学习嵌入发送到一个额外的模块,以在将其发送到检测头之前获得不同尺度的特征。该架构的最小版本,即DeiT-T(其中T代表tiny)用于本研究。


验证评价



数据集


PASCAL VOC,以下称为VOC(Everingham等人,2010),由20个目标类别组成,分为两个数据集,即VOC 2007和VOC 2012,共有21,493张图像,包含52,090个标注。

COCO(Linetal.,2014)是一个更具挑战性的数据集,由80个目标类别组成。作者使用包含118,287个图像(860,001个标记实例)的数据集的2017年拆分进行训练。


BDD(Yu等人,2018年)是最大和最具挑战性的自动驾驶数据集之一。它包含各种驾驶场景,包括城市、高速公路和农村地区,以及代表现实驾驶挑战的各种天气和昼/夜驾驶条件。训练集包含约128万个标记实例的69,863张图像,测试集包含10个目标类别的10,000张图像和185,526个标注实例。


Cityscapes(Cordtsetal.,2016)是一个记录完整的数据集,用于城市场景。作者从实例分割中提取边界框,然后将标记的注释分组为10个超类别以匹配BDD的类别。对于OOD评估,作者使用了500张图像和15949个边界框的测试集。


COCO有损,为了测试模型的稳健性,作者创建了一个数据集,通过添加损坏到原始COCO数据集来模拟在现实世界场景中发现的不同外部影响(Michaelis等人,2019)。有15种不同的损坏,作者将它们分为四组:噪声、模糊、天气和数字化影响。噪声包括高斯噪声、脉冲噪声和散粒噪声。模糊包括散焦、透明度、运动和变焦模糊效果。作者使用亮度、雾、霜和雪来模拟不同的天气条件。最后,作者通过添加对比度、弹性变换、JPEG压缩和像素化的变化来解释数字化影响。这15种损坏适用于5种不同的严重程度。严重性级别范围从1(不太严重的损坏)到5(最严重的损坏)。


Kvasir-SEG(Jha等人,2020)是用于定位胃肠道息肉的生物医学数据集。该数据集由1000张图像组成,每张图像中都存在息肉的分割掩码。该数据集还具有从分割掩码获得的边界框。这里,数据集分为800张图像用于训练和200张图像用于测试。


评价指标



目标检测器根据边界框和类别标签进行预测。在这里,作者首先通过计算IoU来测量预测边界框与ground-truth之间的重叠。基于IoU阈值,预测框分为真正例(TP)、假正例(FP)),或假反例(FN)。接下来,作者计算精度和召回率:

640.png


Precision衡量预测的精度,而召回率则显示模型找到所有正例的能力。高精度但低召回率意味着更多的FN(漏检),而相反则意味着更多的FP(误检)。精确召回(PR)曲线显示了不同阈值的精确度和召回值之间的权衡。


PR曲线向下倾斜,因为随着阈值的降低,会做出更多的预测(高召回率),而它们的精确度会降低(低精度)。作者计算各种IoU阈值下所有召回值(0到1之间)的平均精度(AP),这可以解释为PR曲线下的面积。最后,mAP(平均平均精度)是通过对所有类的AP进行平均来计算的。PASCAL VOC(Everingham等人,2010)以0.5IoU阈值(@IoU:0.5)评估mAP,而COCO(Lin等人,2014)使用0.05步设置十个不同的阈值@IoU:[0.5-0.95]尺寸。在医疗保健等一些应用中,召回度量具有更大的价值,因为拥有更多的FN比FP更有害。平均召回是通过对所有IoU进行平均召回来衡量的,并且这些平均值被称为mAR。


作者还使用了F1分数指标,它衡量精度和召回率之间的平衡。F1分数计算如下:

640.png


作者计算检测器的卷积层、BN层和全连接层的MAC(乘法累加操作)计数,并得到可学习参数的数量(以百万为单位)。作者还得到了每个主干和检测头组合的每秒帧数(FPS)的推理速度。推理速度是针对500张图像计算得到的,并取平均值以消除偏差。最后,考虑到最近的节能AI趋势(Schwartz等人)al.,2019),作者在整个测试数据集上计算模型的推理能耗。作者使用NVIDIA Management Library(NVDIA,2019)来计算GPU在推理过程中的近似功耗。数据集的推理能耗以千焦(KJ)为单位显示,不包括其他组件的功耗。


实验设置


作者的完整框架在PyTorch 1.7(Paszkeetal.,2019)中实现,包括执行所有训练和评估的所有主干网络和检测头。需要注意的是,一些检测头(例如YOLO和DETR)在其原始实现中使用了多尺度训练,但是对于统一的训练方案,作者使用图像大小为512的单尺度训练。所有图像首先进行归一化,通过使用ImageNet均值(Russakovskyetal.,2015),数据集的每个通道减去该均值。对于检测头,使用默认的PyTorch权重初始化(具有固定的种子值),使用ImageNet预训练的权重用于主干网络。


对于数据增强,作者使用expand、随机水平翻转、随机裁剪和随机光照,其中包括[0.5,1.5]范围内的随机对比度、饱和度[0.5,1.5]和色调[-18,+18]。作者使用batchsize=32,并使用随机梯度下降(SGD)优化器(Bottou,2010)训练模型,动量为0.9,学习率衰减因子为0.1。选择学习率调度器以确保所有模型的收敛。该规则的唯一例外是DETR,作者跟随作者并使用AdamW(Loshchilov&Hutter,2017)优化器。NMS阈值设置为0.45,置信度阈值设置为0.01。对于所有实验,作者在NVIDIA RTX 2080Ti GPU上评估模型。Pytorch模型使用NVIDIA TensorRT(8.0版)转换为其优化的高性能推理模型,以促进嵌入式硬件的部署。TensorRT转换通过融合网络中的多个层(包括卷积和BN层)来优化网络,以实现并行处理。推理能耗是使用NVIDIA NVML API(Corporation,2020)在单机上运行得到的。


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

相关文章
|
3月前
|
算法 JavaScript 前端开发
在JavaScript中实现基本的碰撞检测算法,我们通常会用到矩形碰撞检测,也就是AABB(Axis-Aligned Bounding Box)碰撞检测
【6月更文挑战第16天】JavaScript中的基本碰撞检测涉及AABB(轴对齐边界框)方法,常用于2D游戏。`Rectangle`类定义了矩形的属性,并包含一个`collidesWith`方法,通过比较边界来检测碰撞。若两矩形无重叠部分,四个条件(关于边界相对位置)均需满足。此基础算法适用于简单场景,复杂情况可能需采用更高级的检测技术或物理引擎库。
73 6
|
1月前
|
机器学习/深度学习 监控 算法
目标检测算法技术
8月更文挑战第11天
|
1月前
|
机器学习/深度学习 监控 算法
目标检测算法
8月更文挑战第5天
|
1月前
|
机器学习/深度学习 监控 算法
目标检测算法
8月更文挑战第8天
|
2月前
|
监控 算法 自动驾驶
目标检测算法:从理论到实践的深度探索
【7月更文第18天】目标检测,作为计算机视觉领域的核心任务之一,旨在识别图像或视频中特定对象的位置及其类别。这一技术在自动驾驶、视频监控、医疗影像分析等多个领域发挥着至关重要的作用。本文将深入浅出地介绍目标检测的基本概念、主流算法,并通过一个实际的代码示例,带您领略YOLOv5这一高效目标检测模型的魅力。
330 11
|
2月前
|
机器学习/深度学习 人工智能 监控
人工智能 - 目标检测算法详解及实战
目标检测需识别目标类别与位置,核心挑战为复杂背景下的多目标精准快速检测。算法分两步:目标提取(滑动窗口或区域提议)和分类(常用CNN)。IoU衡量预测与真实框重叠度,越接近1,检测越准。主流算法包括R-CNN系列(R-CNN, Fast R-CNN, Faster R-CNN),YOLO系列,SSD,各具特色,如Faster R-CNN高效候选区生成与检测,YOLO适用于实时应用。应用场景丰富,如自动驾驶行人车辆检测,安防监控,智能零售商品识别等。实现涉及数据准备、模型训练(示例YOLOv3)、评估(Precision, Recall, mAP)及测试。
83 5
|
2月前
|
机器学习/深度学习 人工智能 算法
计算机视觉:目标检测算法综述
【7月更文挑战第13天】目标检测作为计算机视觉领域的重要研究方向,近年来在深度学习技术的推动下取得了显著进展。然而,面对复杂多变的实际应用场景,仍需不断研究和探索更加高效、鲁棒的目标检测算法。随着技术的不断发展和应用场景的不断拓展,相信目标检测算法将在更多领域发挥重要作用。
|
2月前
|
机器学习/深度学习 数据采集 算法
Python实现Prophet时间序列数据建模与异常值检测(Prophet算法)项目实战
Python实现Prophet时间序列数据建模与异常值检测(Prophet算法)项目实战
128 2
|
2月前
|
机器学习/深度学习 算法 计算机视觉
|
2月前
|
机器学习/深度学习 人工智能 文字识别
一种基于YOLOv8改进的高精度红外小目标检测算法 (原创自研)
【7月更文挑战第2天】 💡💡💡创新点: 1)SPD-Conv特别是在处理低分辨率图像和小物体等更困难的任务时优势明显; 2)引入Wasserstein Distance Loss提升小目标检测能力; 3)YOLOv8中的Conv用cvpr2024中的DynamicConv代替;
268 4