人工智能应用与信息技术CH06-目标检测_第1页
人工智能应用与信息技术CH06-目标检测_第2页
人工智能应用与信息技术CH06-目标检测_第3页
人工智能应用与信息技术CH06-目标检测_第4页
人工智能应用与信息技术CH06-目标检测_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目标检测目录CONTENT1.目标检测简介2.微小目标检测3.交通工具检测4.其他目标检测实例5.章节小结6.课后习题学习目标了解目标检测的概念及其特点。了解两类目标检测算法的优缺点。了解基于锚框和无锚框的目标检测算法的优缺点。了解少样本目标检测模型训练的方法,并能够根据不同场景选择合适的方法进行训练。知识目标1掌握Two-stage目标检测算法核心模块的python代码实现。掌握One-stage目标检测算法网络的训练,并能够使用自己的数据集训练出属于自己的目标检测模型。熟练使用至少一种少样本目标检测模型训练的方法。技能目标2学习目标培养学生的批判性思维与问题解决能力。培养学生的独立思考和自主学习能力。培养学生的道德与伦理素养,遵守职业道德和社会伦理规范。素质目标3引导学生树立正确的世界观、人生观和价值观,增强对社会主义核心价值观的理解和认同,培养正确的价值导向和道德观念。培养学生的爱国主义情怀和社会责任感。培养学生团结协作、相互支持的品质,使学生能够在集体中发挥自己的作用,为集体的发展做出贡献。思政目标4章节介绍目标检测任务是为了识别出图像或视频中所有感兴趣的目标,同时确定它们的类别以及在图像中的位置,其在多种场景下已获得广泛应用,如:自动驾驶、工业瑕疵检测、植物病虫害检测等。目前,目标检测大致可划分为传统的目标检测和基于深度学习的目标检测两类。由于传统算法计算效率较低、检测步骤流程繁琐、准确性较低且极大地依赖于人工设计特征,明显已经无法满足人们的使用需求。随着深度学习的发展,基于深度学习的目标检测技术已经成为了计算机视觉领域的研究焦点。本章将着重介绍基于深度学习的目标检测方法。目标检测简介011.目标检测简介什么是目标检测?目标检测任务是为了识别出图像或视频中所有感兴趣的目标,同时确定它们的类别以及在图像中的位置,其在多种场景下已获得广泛应用,如:自动驾驶、工业瑕疵检测、植物病虫害检测等。由于传统算法计算效率较低、检测步骤流程繁琐、准确性较低且极大地依赖于人工设计特征,明显已经无法满足人们的使用需求。随着深度学习的发展,基于深度学习的目标检测技术已经成为了计算机视觉领域的研究焦点。目前,目标检测大致可划分为传统的目标检测和基于深度学习的目标检测两类。1.目标检测简介传统的目标检测方法按照预处理、窗口滑动、特征提取、特征选择、特征分类和后处理这六个步骤进行。 (a)预处理对待检测图像进行图像去噪、图像增强、色彩空间转换等操作; (b)在待检测图像中滑动一个固定大小的窗口,将窗口中的子图像作为候选区; (c)利用特定的算法对候选区进行特征提取; (d)从特征向量中挑选具有代表性的特征,降低特征的维数; (e)利用特定的分类器对特征进行分类,判定候选区是否包含了目标及其类别;

(f)合并判定为同一类别的相交候选区,计算出每个目标的边界框,完成目标检测。1.目标检测简介计算机视觉与生物视觉系统的联系(1)从原理上看,生物视觉系统的工作原理是以视网膜作为感受部分,将外界三维物体的可见部分投影到视网膜上,大脑将对视网膜传来的二维图像信息进行理解和处理。而计算机视觉应用程序则使用来自传感设备、人工智能、机器学习和深度学习等的输入来模拟人类视觉系统的工作原理。它们通过识别视觉对象中的模式,使用这些模式来确定其他图像的内容。因此,可以说计算机视觉在一定程度上是受到生物视觉系统的启发,试图模拟并优化这一自然过程。(2)随着技术的发展,计算机视觉开始越来越多的依赖于深度学习。深度学习允许计算机视觉应用程序在一种名为神经网络的算法上运行,这种算法可以模拟人脑中的神经元连接方式,从而提高图像分析的准确性。这种模拟生物神经网络的方式进一步拉近了计算机视觉与生物视觉系统的联系。1.目标检测简介传统目标检测方法的研究重点特征提取:如何提高特征的表达能力和抗形变能力;特征分类:如何提高分类器的准确度和速度;研究人员提出了多种形式的特征(SIFT、HOG)和分类器(SVM、DPM)。但是这样的目标检测方法真的好吗?1.目标检测简介传统目标检测方法的缺点设计的特征为低层特征,对目标的表达能力不足;设计的特征可分类性较差,导致分类的错误率较高;设计的特征具有针对性,很难选择单一特征去应用于多目标检测,例如:Haar特征用于人脸检测、HOG特征用于行人检测、Strip特征用于车辆检测。1.目标检测简介基于深度学习的目标检测CNN:由浅入深逐步提取更具备高级语义信息的特征,从局部特征逐步扩展到全局特征。通过共享卷积核来提取特征可以极大的降低参数量来避免更多冗余的计算。CNN需要执行串行卷积操作,这使得CNN在处理较长的序列时计算效率较低。Transformer:更加关注于深层网络的全局信息,同时能够进行并行计算。序列数据建模方面表现非常出色,通过自注意力机制对序列中的不同位置进行加权处理,从而实现了更好的序列建模能力。在许多NLP任务中表现出色,更容易扩展到其他任务,如机器翻译、语言模型等局部信息的获取不如CNN。1.目标检测简介

2012年Alex等人提出的AlexNet引入了卷积神经网络(ConvolutionalNeuralNetwork,CNN)在ImageNet大赛上以远超第二名的成绩夺得冠军,至此CNN其强大的建模能力引起广泛关注。使用卷积神经网络能够使得模型获得图像更多的高层语义特征,并且在进行模型训练不再依赖人工设置的特征,而是让模型自己去学习特征,这样得到的特征能够拥有更好的表达能力和可分类性。1.目标检测简介目前主流的基于深度学习的目标检测可以分为:

一阶段(One-stage)目标检测算法;

二阶段(Two-stage)目标检测算法。上述俩种不同的目标检测算法又可以细分为:

基于锚框(Anchor-based)目标检测算法

无锚框(Anchor-free)目标检测算法1.目标检测简介为了解决传统目标检测方法的低精度问题,2015年Girshick等人提出了基于深度学习的目标检测算法R-CNN。首先使用选择性搜索算法从待检测图像中提取2000个左右可能包含要检测目标的候选区;将所有的侯选区缩放成固定大小的尺寸(227×227像素);利用深度卷积神经网络对候选区进行特征提取,得到固定长度的特征向量;最后把特征向量送入SVM分类器进行分类并在全连接网络进行回归得到对应位置坐标信息。1.目标检测简介R-CNN算法虽然设计巧妙,但是由于模型的检测过程分为多个阶段导致检测效率过低。R-CNN的改进——FastR-CNN,该方法不需要将所有的候选区送入深度卷积神经网络,只需将图像送入深度网络一次,再将所有的候选窗口在网络中进行映射,使得检测速度得到一定提升。但是FastR-CNN对候选区的选择依然使用的是选择性搜索算法,而选择性搜索算法会花费大量的时间。1.目标检测简介2018年,在FastR-CNN的基础上进行改进提出了FasterR-CNN,它使用候选窗口网络通过设置不同尺度的锚(anchor)来提取候选框,代替了选择性搜索等传统的候选框生成方法。卷积层:用于提取输入图像的特征;RPN网络:用于提取候选区域;ROIpooling层:用于将不同大小的输入转换为固定长度的输出;分类和回归层:用于判断候选区域所属的类别以及候选区域在图像中的精确位置。1.目标检测简介针对两阶段目标检测算法的低效问题,YOLOv1舍去了算法中的候选框提取分支,直接将特征提取、候选框分类和回归在同一个无分支的深度卷积网络中实现,使得网络结构变得简单,检测速度FPS从FasterR-CNN的7提升到了45。1.目标检测简介YOLOv1虽然检测速度较快,但是它在物体定位方面不够准确、检测精度较低。YOLOv2通过利用

(1)批归一化(batchnormalization)

(2)高分辨率分类器(highresolutionclassifier)

(3)直接目标框位置检测(locationprediction)

(4)多尺度训练(multi-scale)以此来提高模型的检测精度1.目标检测简介YOLOv3则是通过利用 (1)设计更好的残差网络主干网络; (2)特征金字塔网络(FeaturePyramidNetworks,FPN)论文的创新并不是一定要从理论上进行革新,能够更好地使用现有的方法同样是一种创新!1.目标检测简介IOU,即交并比,是目标检测中衡量目标检测算法准确度的一个重要指标。IOU>=0.5时,我们将该预测框归为正类IOU<0.5时,我们将该预测框归为负类最后将正类的预测框用于回归训练1.目标检测简介NMS:非最大值抑制是一种主要用于目标检测的技术,旨在从一组重叠框中选择最佳边界框。NMS的用法可以概述为:将目标检测的预测框依次进行IOU计算,最终保留IOU值最大的那一个预测框将其作为最终的目标检测框。NMS1.目标检测简介目标检测算法通常会在输入图像中采样大量的区域,然后判断这些区域中是否包含我们感兴趣的目标,并调整区域边界从而更准确地预测目标的真实边界框(ground-truthboundingbox)。Anchor也叫做锚框,预先设置目标可能存在的大概位置,然后再在这些预设边框的基础上进行精细化的调整。

基于Anchorbased的目标检测代表有:

二阶段目标检测算法:FasterRCNN、MaskRCNN

一阶段目标检测算法:YOLOV2—V4、SSD1.目标检测简介Anchor-based可以产生密集的Anchorbox,使得网络可以直接进行目标分类和边界框回归,提高了目标检测能力,尤其对小目标检测有明显的提升,但依然存在以下几个缺点:anchor太多,每一个都进行IOU计算,导致运算复杂度增大anchor的数量相比目标的个数多很多会使得训练效率低下依赖太多的手动设计,预先设定的anchor尺寸需要根据数据集的不同做改变1.目标检测简介Anchor-free目标检测先预测出检测目标的中心点,然后以这个预测点进行检测框的预测,通常一个对象只需要预测出2个边界框,最后通过IOU计算选择预测得分高的边界框。基于Anchor-free的目标检测代表有:二阶段目标检测算法:CPN

一阶段目标检测算法:YOLOv8、YOLOv91.目标检测简介使用Anchorfree的目标检测优点是不需要预设Anchor,只需要对不同尺度的特征图的目标中心点和宽高进行回归,减少了耗时和算力。但同样存在以下几个缺点:预测框的减少可能会导致一些重叠或遮挡区域无法被检测到Anchorfree的方法也需要一些特殊的损失函数或结构来提高精度和稳定性1.目标检测简介由于现有的深度学习模型需要数据进行驱动,而一些训练样本可能会由于用户隐私、安全或者高标注成本等因素而导致原始的标注数据获取十分困难。为了能够缓解少样本训练带来的消极影响,研究者们提出了很多可用于少样本的目标检测方法,它们大致可以划分为:基于元学习的方法

基于迁移学习的方法基于数据增广的方法

基于度量学习的方法1.目标检测简介(1)基于元学习的方法:元学习的意思即“学会如何学习”。在目标检测模型优化中,工作量最大的事情是调试优化更好的模型参数。我们针对每一个任务会对模型从头开始进行一系列的调参,最后会耗费大量的时间去训练并测试效果。(2)基于迁移学习的方法:核心思想是希望通过已经在大规模基类标注数据集上预训练的模型对基于少量样本训练后的模型进行参数微调,让后者的对新的任务能够更快的拟合并且性能能够得到一定的提升,此类方法在解决小样本目标检测的问题上有着巨大的潜力1.目标检测简介(3)基于数据增广的方法:少样本的模型训练最容易让模型出现过拟合的现象,通过对少样本的原始数据进行裁剪、旋转、添加高斯噪声等方式来让原本的少样本得到样本量的扩充。不同的数据增广方法让样本数据得到扩充的同时也让模型能够适应更多更复杂的挑战,提高模型的鲁棒性。(4)基于度量学习的方法:采用了学习比较的思想,由于检测模型中包含数以万计的参数,直接采用传统分类器的交叉熵损失进行学习,可能导致严重的模型过拟合问题。因此,基于度量学习的少样本目标检测方法借鉴传统非参数化的思想,在获取潜在目标边界框的特征之后,将查询图像的目标区域特征与支持集图像特征映射至相同的嵌入空间,并通过距离度量或者相似度计算实现对潜在目标区域的分类,从而实现对图像中目标对象的检测。1.目标检测简介我们在论文中常见的数据集有:MS-COCO、ImageNet、CIFAR等

1.COCO数据集: 它是一个可用于图像检测、语义分割和图像标题生成的大规模数据集。它有超过330K张图像(其中220K张是有标注的图像),包含150万个目标,80个目标类别(行人、汽车、大象等),91种材料类别(草、墙、天空等)。

2.CIFAR数据集:

CIFAR-10和CIFAR-100都是从一个有8000万个已标注的微小图像数据集中分离出来的子集。CIFAR-10/100数据集都是由60000个尺寸大小为32x32彩色图像组成,其中使用50000张图片作为训练集,剩下的10000张图像作为测试集。1.目标检测简介

3.ImageNet数据集:根据WordNet构建的一个大规模图像数据库,其中包含了1500多万幅图片并涵盖2万多个类别,平均每一个类别都包含1000张图片,如今关于图像分类、检测等研究工作大多基于此数据集展开。在实验室中进行模型训练通常使用ImageNet-1K进行评估,该数据集一共包含1000个类别,将其中120万张图片作为训练集,15万张图片作为测试集使用。

4.自建数据集:通过Lableme/Lableimg数据集标注软件对自己的图片数据进行训练集生成,优点在于灵活性和针对性都比较强,缺点就是费时费力,需要投入大量的成本。1.目标检测简介论文中我们常见的评价指标有以下五种:1.AP(平均准确率):目标检测论文中最常用的评价指标,表示目标检测模型检测正确的样本占所有检测样本的比例2.TOP-1/TOP-5:常用于评价多目标检测任务,模型会对每一个对象给出每一个类别的预测概率,TOP-1就是模型预测对象类别概率最大的那个类别是正确的概率,TOP-5则是模型预测类别的前五名中有正确类别的概率。1.目标检测简介3.Param(参数量):目标检测论文中对网络模型大小的评估指标之一,具体是指模型训练中需要进行的参数量大小,该数值越小证明模型轻量化。4.GFLOPs(GPU计算量):目标检测论文中对网络模型大小的评估指标之一,具体是指模型训练中对硬件计算量的需求,该数值越大对硬件的要求越高。5.FPS(吞吐量):目标检测论文中对网络模型检测速度的评估指标之一,具体是指模型在检测时每秒能处理图片的数量,该数值越高检测相应速度越快微小目标检测02目前在目标检测领域的相关数据集中,以COCO数据集为例,微小目标是数据集中小于32×32个像素点的对象。微小目标的检测在目标检测领域中属于痛点任务之一,目前对此类型的检测的核心难点主要可以分为以下四点:由于微小目标在图像中的占比较低,其本身包含的RGB信息过少,会使得网络对该部分的特征进行提取识别较难;数据集方面存在着不同尺度目标容量的不平衡问题,在COCO数据集中只有51.82%的图像包含微小目标;对于Anchor-based的目标检测方法,由于微小目标的GT和anchor都很小,模型预测框稍产生偏移IoU值就会明显降低,容易使得网络出现误检;微小目标极易受遮挡和图片模糊的影响,模型在检测此类情况的数据时很难提取到微小目标的有效特征信息。2.微小目标检测左图是HIC-YOLOv5框架图,该网络设计用于微小目标检测。主干网络:该网络遵循了YOLOv5主干网络的搭建模式,使用CSPNet对主干网络进行搭建,使用该模块搭建主干网络能够更好的加深网络的深度并能够在一定程度上缓解梯度消失或者梯度爆炸的问题。2.微小目标检测模块由通道注意力模块和空间注意力模块的输出特征逐元素相乘,从而得到最终的注意力增强特征。CBAM模块作为一个即插即用的模块,它能够很好的提高卷积神经网络的特征表达能力,并且能够从不同维度上来捕获特征之间的相关性,在微小目标检测任务上能够让模型去关注到目标的特征细节2.微小目标检测融合网络:在融合网络部分新增了一个进行微小目标检测的分支,HIC-YOLOv5使用额外的分支是希望能够利用浅层网络的特征图去丰富深层网络中的特征,从而让模型能够更好的去检测微小目标,浅层网络的特征图能够包含更多的目标几何特征有易于模型对微小目标的识别。2.微小目标检测颈部网络中除了引入了浅层特征外,还使用了一种新的神经网络算子Involution,该算子比常规卷积更轻量,将其应用在各类计算机视觉任务模型上能取得精度和效率的双重提升,该卷积算子通过将卷积权重自适应地分配到不同的位置从而使得模型能够对特征图中的特征按照所含信息量进行优先级排序。2.微小目标检测检测头部分:该部分使用的是YOLOv5的原始检测头,检测头模块主要负责对骨干网络提取的特征图进行多尺度目标检测。检测器采用了多层级特征融合的方法,首先将骨干网络输出的特征图经过一个Conv模块进行通道数的降维和特征图的缩放,然后再将不同层级的特征图进行融合,得到更加丰富的特征信息,从而提高检测性能。2.微小目标检测针对微小目标检测的改进主要体现在颈部网络部分,通过引入更多的几何特征来丰富深层网络的特征从而促进模型对目标的识别,但微小目标检测的核心难点还包括数据集不平衡、目标受遮挡或模糊这两类原因,目前这类数据集本身问题的解决方案我们通常会在数据集导入模型进行训练的预处理阶段进行数据增广,比如使用裁剪、加噪等方式增加样本的多样性来解决此类问题。2.微小目标检测交通工具检测03交通工具检测算法主要是识别并跟踪视频中的交通工具,如汽车、自行车、行人等,并对其进行分类和计数。算法能够为智能交通监控系统给予帮助,实现交通流量的实时监测和拥堵预警,并为城市交通规划和管理提供数据支持。在自动驾驶领域,交通工具检测算法也扮演着至关重要的角色,通过对周围环境的感知和理解,保障自动驾驶汽车的安全性和可靠性。3.交通工具检测目前交通工具的检测会在面对城市交通环境依然存在着巨大挑战,检测算法的依然会受到以下五个方面的影响,导致模型性能较差。(1) 背景干扰:在实际场景中,交通工具可能受到各种背景干扰,如树木、建筑物、阴影等,这些干扰可能导致算法误判或漏判。(2) 遮挡问题:当交通工具被其他物体遮挡时,算法可能无法准确检测到目标,这会对跟踪和计数等任务造成困难3.交通工具检测(3) 光照变化:光照条件的变化会对图像质量产生影响,进而影响算法的准确性。例如,在夜间或恶劣天气条件下,图像可能变得模糊或对比度降低,导致算法性能下降。(4) 多目标跟踪:在复杂的交通场景中,可能存在多个目标需要同时跟踪,这要求算法具有高效的处理能力和准确的匹配策略。(5) 实时性要求:对于许多应用场景来说,如智能交通监控和自动驾驶等,需要算法具有实时性,能够在短时间内处理大量数据并准确判断。3.交通工具检测上述框架为FGFA-YOLOX,是基于YOLOX架构进行改进了视频目标检测架构,该架构能够很好的利用单帧目标检测的能力和多帧视频目标检测器更丰富的特征表示,使得模型在遇到遮挡问题和多目标跟踪任务时能够结合视频上下帧的信息对视频画面目标进行检测。3.交通工具检测FGFA-YOLOX同时使用了视频的当前帧、前一帧和后一帧作为输入,并对三个输入进行了特征提取进行相应的特征对齐和聚合后再输入到检测网络中进行检测。3.交通工具检测从整体上来看该网络分为两个部分组成,前半部分使用的是Flow-guidedFeatureAggregation(FGFA),该算法是为了让模型检测算法能够将相邻帧的特征聚合到当前帧的特征当中,以此来提高模型识别的精度并且能够兼顾端到端训练。其中的OpticalFlow是利用当前帧和上下帧计算获得的光流图3.交通工具检测其他目标检测实例04除了微小目标和交通工具检测外,目标检测的实际应用还有道路损伤检测、工业产品表明缺陷检测等,本节将分析其他目标检测实例的难点,读者可以通过该分析并结合本节给出的解决方法的提示从中获得启发。(1)道路损伤检测

道路损伤检测的主要任务包括损伤类别分类和定位损伤位置,总体来说是一个目标检测问题,道路损伤主要包括裂缝、坑洞、路面破损等。

对于道路裂缝的评估,可以根据裂缝的长度、宽度和深度等指标进行判断;

对于道路的坑洞,可以通过测量坑洞的面积和深度来评估;

对于路面的破损,可以通过观察路面的凹凸度来评估。4.其他目标检测实例目前针对道路损伤检测的算法主要可以考虑以下四个方面进行改进:1. 复杂多变的道路环境:道路瑕疵检测需要在各种道路环境下进行,包括不同的道路类型、路面材料、光照条件等。这些变化会对检测算法的稳定性和准确性提出挑战。2. 瑕疵类型的多样性:道路瑕疵种类繁多,如裂缝、坑洼、鼓包等,每种瑕疵的形态、大小、颜色等特征都可能不同。因此,算法需要具备识别多种瑕疵的能力。3. 实时性要求:道路瑕疵检测通常需要在车辆行驶过程中进行,因此算法需要具备实时性,能够快速地处理图像并检测出瑕疵。4. 抗干扰能力:在实际应用中,道路图像可能会受到各种干扰,如阴影、噪声、车辆遮挡等。算法需要具备抗干扰能力,以准确检测出瑕疵。4.其他目标检测实例(2)工业产品表面缺陷检测:工业产品表面缺陷检测通常包括电子设备表面的字符识别和字符缺陷检测、检测LCD屏幕表面的缺陷、造纸行业造纸过程中的缺陷、检测印刷品的污点和色差等缺陷、瓶盖印刷的质量检验以及产品包装上的条形码和字符识别等内容。表面缺陷检测是计算机视觉检测的重要组成部分,其检测的准确性将直接影响产品的最终质量。目前工业产品表面缺陷检测主流的算法各有优缺点,需要根据具体的应用场景和需求选择合适的算法。4.其他目标检测实例随着技术的不断发展,新的算法和技术也将不断涌现,为工业产品表面缺陷检测带来更多的可能性,从整体来看这些方法都需要应对以下六个方面的难点:缺陷的多样性和复杂性:不同类型的产品存在不同类型的缺陷,如表面缺陷、形状缺陷、材料缺陷等。这些缺陷可能具有不同的形状、大小和颜色,因此需要采用多种检测方法和技术来识别和检测。此外,一些缺陷可能非常微小或隐蔽,需要高分辨率的图像或其他高级检测技术才能发现。环境干扰:工业生产现场通常存在许多干扰因素,如光线变化、尘埃、振动等。这些环境因素可能干扰图像或传感器的信号,导致错误的检测结果。处理大规模数据的问题:在工业生产中,可能需要对大量的产品或零件进行检测,导致数据量庞大,处理起来非常耗时和耗能。4.其他目标检测实例检测系统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论