人工智能技术导论 课件 03 计算机视觉技术及应用_第1页
人工智能技术导论 课件 03 计算机视觉技术及应用_第2页
人工智能技术导论 课件 03 计算机视觉技术及应用_第3页
人工智能技术导论 课件 03 计算机视觉技术及应用_第4页
人工智能技术导论 课件 03 计算机视觉技术及应用_第5页
已阅读5页,还剩52页未读, 继续免费阅读

下载本文档

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

文档简介

第三章计算机视觉技术及应用本章目标了解计算机视觉技术的发展历程及应用领域熟悉基于深度学习的视觉技术掌握OpenCV框架的基本使用掌握人脸识别和车牌识别项目的开发流程3.1计算机视觉简介人脸识别自动驾驶医学影像分析工业质检ComputerVision-->CV视觉是人类获取信息最主要的方式,而计算机视觉就是一门研究如何使计算机系统具备视觉感知能力的学科。通过模仿人类视觉系统的工作方式,计算机视觉技术旨在使计算机能够理解、解释和处理图像或视频数据。3.1.1计算机视觉发展概述

计算机视觉的发展经历了从早期的模式识别到深度学习的飞跃,为人工智能的发展提供了强有力的支持。随着计算机视觉技术的不断进步,其在实际应用中取得了巨大成功。起步阶段20世纪50年代-70年代)模式识别的初步探索感知器模型被提出硬件和算法的限制使得计算机无法有效地处理大规模的图像数据图像处理的崛起20世纪80年代-90年代数字图像处理边缘检测、图像增强为后续的模式识别和目标检测打下了基础机器学习与深度学习2000年代初-2010年代支持向量机(SVM)卷积神经网络(CNN)随着机器学习和深度学习的兴起,计算机视觉取得了巨大的突破。图像生成与迁移学习2010年代-至今生成对抗网络(GAN)迁移学习计算机视觉逐渐向图像生成和迁移学习等方向发展。3.1.1计算机视觉发展概述思政小课堂:《新一代人工智能伦理规范》发布3.1.2计算机视觉实现原理通过摄像头、传感器或者其他图像采集设备捕捉到现实世界中的图像,将其转化为数字信号。1、图像获取3.1.2计算机视觉实现原理转换为数字信号后的图像,由一个个像素点组成,可以用像素矩阵来表示。每一个像素点都有一个对应的像素值。1、图像获取3.1.2计算机视觉实现原理转换为数字信号后的图像,由一个个像素点组成,可以用像素矩阵来表示。每一个像素点都有一个对应的像素值。1、图像获取3.1.2计算机视觉实现原理灰度图像只有一个通道,而彩色图像则由红绿蓝(RGB)三个通道组成(或者采用其他颜色模式,如CMYK等)。1、图像获取3.1.2计算机视觉实现原理彩色图像可以很容易转换为灰度图像,例如使用公式Y=0.3*R+0.59*G+0.11*B而给灰度图像“上色”则较为复杂。1、图像获取?3.1.2计算机视觉实现原理而给灰度图像“上色”则需要更加智能的技术。1、图像获取彩色4K修复版开国大典首现大荧幕:这清晰度绝了3.1.2计算机视觉实现原理获取到图像后,计算机会进行一系列的图像处理操作,以提取有用的信息。比如,在图像的预处理阶段,进行去噪、增强对比度等操作。在特征提取阶段,会突出图像中的关键特征,比如边缘、颜色等。这些处理有助于减小数据量并突显重要信息,以便后续的模式识别。2、图像处理3.1.2计算机视觉实现原理在图像处理的基础上,计算机进行模式识别,也就是理解图像中的内容。深度学习中的卷积神经网络(CNN)等模型在这一步骤中发挥了关键作用。它能够自动从图像中提取特征,并通过训练过程学习如何分类或识别图像中的目标。3、模式识别3.1.3计算机视觉典型应用人脸识别技术被广泛应用于交通、金融、安防、社交媒体等领域。通过定位人脸和分析面部特征,计算机能够准确辨识个体身份。1、人脸识别3.1.3计算机视觉典型应用计算机视觉在自动驾驶汽车中扮演着关键角色。通过摄像头获取车辆周围环境图像,计算机视觉算法系统能够实时识别道路、障碍物、交通标志等,从而智能地操控车辆。2、自动驾驶3.1.3计算机视觉典型应用在医学领域,计算机视觉用于分析医学影像,如CT扫描、MRI等。这有助于自动检测疾病迹象、辅助诊断,提高医疗水平和效率。3、医学影像分析3.1.3计算机视觉典型应用计算机视觉系统被广泛应用于工业生产中的质量控制。通过检测产品表面的缺陷、尺寸偏差等,保证产品质量并提高生产效率。4、工业质检3.1.3计算机视觉典型应用计算机视觉系统被广泛应用于工业生产中的质量控制。通过检测产品表面的缺陷、尺寸偏差等,保证产品质量并提高生产效率。4、工业质检3.1.3计算机视觉典型应用在视频监控和安防系统中,计算机视觉可用于检测和跟踪目标,帮助监测场景中的异常情况,极大地提升了安保效率,为维护社会治安做出了贡献。5、目标检测与跟踪3.1.3计算机视觉典型应用计算机视觉技术为增强现实技术提供支持,通过识别和追踪现实世界中的物体,将虚拟信息叠加到用户的视野中,拓展了交互和娱乐的可能性。6、增强现实(AR)3.1.3计算机视觉典型应用通过分析人体手部动作,计算机视觉能够识别手势并将其转化为控制命令,这在虚拟现实、智能家居等领域有广泛应用。7、手势识别3.1.3计算机视觉典型应用计算机视觉可以用于识别、提取文档中的文字信息,实现自动化的文档管理和信息检索。光学字符识别(OCR)技术是其中的关键组成部分。8、文档识别OCR3.1.3计算机视觉典型应用计算机视觉可以用于识别、提取文档中的文字信息,实现自动化的文档管理和信息检索。光学字符识别(OCR)技术是其中的关键组成部分。8、文档识别OCR3.1.3计算机视觉典型应用在零售业,计算机视觉被用于人流分析、货架管理、商品识别等,可以提升购物体验、减少盗窃,并优化库存管理。9、智慧零售3.2基于深度学习的视觉技术图像分类目标检测图像分割轨迹跟踪deeplearning深度学习的核心思想是通过模仿人脑神经网络结构,建立多层次的神经网络,使计算机能够模拟人类学习的方式,从而自动学习和提取复杂的特征。这种模型的引入为视觉任务带来了翻天覆地的变化,让计算机能够更深入、更准确地理解和处理图像数据。3.2.1图像分类1、图像分类的概念?

图像分类旨在将输入的图像划分为不同的预定义类别。这是一种将图像与事先训练好的分类模型相匹配的过程。3.2.1图像分类2、机器学习中图像分类的基本原理特征提取在传统方法中,图像分类的首要步骤是从图像中提取特征。这些特征可以包括颜色直方图、纹理、形状等,这些特征帮助模型捕捉图像中的关键信息。特征表示提取的特征需要被适当表示,以便计算机能够理解和处理。常用的表示方法包括向量或矩阵形式,以便输入到分类器中。分类器分类器是一个数学模型,用于根据输入的特征将图像分配到不同的类别。常见的分类器包括支持向量机(SVM)、决策树、随机森林等,这些分类器经过训练,能够学习如何将特征与类别关联起来训练和测试训练阶段使用已标记的图像数据集,通过训练分类器调整其参数,使其能够正确地将图像分到相应的类别。测试阶段则通过未标记的图像验证模型的性能,评估其在新数据上的泛化能力。3.2.1图像分类3、基于深度学习的图像分类技术卷积神经网络(CNN)CNN通过卷积层和池化层来逐层提取图像的局部和全局特征。这些特征在全连接层中被用于进行分类决策。CNN的层次结构使其能够逐渐抽象出更高级别的特征,从而提高模型对图像语义的理解能力。迁移学习利用在大规模数据集上预训练的深度学习模型,如在ImageNet上训练的模型,进行迁移学习。将预训练的模型的权重用于新的图像分类任务,使得模型能够更快速地收敛和获得更好的性能。激活函数和正则化深度学习中的图像分类网络通常使用非线性激活函数,如ReLU,以帮助网络学习更复杂的特征。正则化技术如Dropout也被广泛应用,以防止过拟合。3.2.1图像分类3、基于深度学习的图像分类技术LeNet-5于1998年被提出是卷积神经网络的先驱之一主要应用于手写数字的识别包含卷积层、池化层和全连接层虽然在当时并未引起广泛关注,但为后来更先进的网络奠定了基础作为经典的入门级神经网络,对于简单字符的识别效果尚可,然而,对于更加复杂的项目,如人脸、车牌识别等,LeNet的结构则过于简单了,可能无法得到较高的准确率目前,图像分类项目一般都会使用深度学习技术来实现。图像分类常用的经典卷积神经网络包括但不限于以下几种:3.2.1图像分类3、基于深度学习的图像分类技术AlexNet于2012年被提出是深度学习在图像分类中的重要突破在ILSVRC2012图像分类竞赛中取得了显著的胜利AlexNet采用了更深的网络结构,使用ReLU激活函数,引入了Dropout正则化利用GPU进行高效训练目前,图像分类项目一般都会使用深度学习技术来实现。图像分类常用的经典卷积神经网络包括但不限于以下几种:3.2.1图像分类3、基于深度学习的图像分类技术VGGNet于2014年被提出采用了非常深的网络结构包含16或19层卷积层,全部使用3x3的小卷积核,使得网络结构更加简洁而深入VGGNet的设计理念影响了后续深度学习模型的构建目前,图像分类项目一般都会使用深度学习技术来实现。图像分类常用的经典卷积神经网络包括但不限于以下几种:3.2.1图像分类3、基于深度学习的图像分类技术GoogLeNet(Inception)于2014年被提出引入了Inception模块通过并联多个不同大小的卷积核和池化层,提高了网络的宽度和深度该模型在参数数量相对较少的情况下取得了较好的性能目前,图像分类项目一般都会使用深度学习技术来实现。图像分类常用的经典卷积神经网络包括但不限于以下几种:3.2.1图像分类3、基于深度学习的图像分类技术ResNet(ResidualNetwork)于2015年被提出引入残差块(Residual),解决了深度网络训练中的梯度消失和梯度爆炸问题该结构允许网络层跳过连接,使得训练更加容易允许构建超深的网络目前,图像分类项目一般都会使用深度学习技术来实现。图像分类常用的经典卷积神经网络包括但不限于以下几种:3.2.1图像分类3、基于深度学习的图像分类技术MobileNet于2017年被提出设计用于移动设备上的实时图像处理采用深度可分离卷积,减少了参数数量和计算量在资源受限的设备上也能实现高效的图像分类目前,图像分类项目一般都会使用深度学习技术来实现。图像分类常用的经典卷积神经网络包括但不限于以下几种:3.2.1图像分类3、基于深度学习的图像分类技术EfficientNet于2019年被提出通过使用复合缩放方法,同时增加网络的深度、宽度和分辨率,达到更好的性能在参数相对较少的情况下,取得了与更大更深的模型相媲美的效果目前,图像分类项目一般都会使用深度学习技术来实现。图像分类常用的经典卷积神经网络包括但不限于以下几种:3.2.2目标检测1、目标检测的概念

目标检测旨在从图像或视频中识别和定位图像中的多个目标,并为每个目标分配相应的类别标签。与图像分类不同,目标检测不仅需要确定图像中是否存在目标,还需要准确地标定目标的位置3.2.2目标检测2、传统的目标检测算法HOG全称HistogramofOrientedGradients,使用图像中的梯度信息来描述图像的局部结构,尤其适用于描述物体的边缘和纹理。将图像划分为小的局部区域,计算每个区域内梯度的方向直方图,最终将这些直方图串联起来形成特征向量。SIFT全称Scale-InvariantFeatureTransform,具有尺度不变性和旋转不变性,对于图像中的局部特征点具有很好的描述能力。在图像中检测关键点,然后提取这些关键点周围的局部特征,通过描述子来表示这些特征。GLOH全称GradientLocation-OrientationHistogra,是SIFT的改进版本,增加了对光照和旋转的鲁棒性。在关键点周围计算梯度直方图,并使用多尺度的描述子来提高对尺度变化的适应性。DPM全称DeformablePartsModel,引入了“变形部分模型”来处理目标的非刚性形变。将目标分解为多个部分,每个部分用HOG描述,通过学习部分之间的相对位置关系来构建目标模型。SelectiveSearch是一种基于贪心策略的区域生成算法,用于生成候选区域。通过对图像进行分割、合并和其他操作,生成具有多样性的候选区域,然后使用分类器对这些区域进行检测。ICF全称IntegralChannelFeatures,使用积分图像进行快速特征计算,提高了算法的计算效率。利用图像的积分图像计算各种特征,如梯度特征、颜色特征等,用于目标检测。3.2.2目标检测3、基于深度学习的目标检测算法FasterR-CNN全称Region-basedConvolutionalNeuralNetwork,引入了区域提议网络和ROI池化层,实现了端到端的目标检测。RPN用于生成候选目标区域,然后通过ROI池化将这些区域转换为固定大小的特征图,最后通过全连接层进行分类和定位。YOLO全称YouOnlyLookOnce,通过将图像划分为网格,每个网格负责检测特定区域内的目标,实现实时目标检测。将目标检测任务视为回归问题,直接预测目标的坐标和类别,并在整个图像上进行端到端的训练和预测。SSD全称SingleShotMultiboxDetector,通过在不同层次的特征图上使用多个锚框进行检测,实现了对多尺度目标的有效检测。利用多个卷积层产生的特征图来进行目标检测,通过预测每个锚框的类别和边界框偏移来完成任务。MaskR-CNN在FasterR-CNN的基础上进一步增加了对实例分割的支持,同时能够输出每个检测到的目标的精确边界。在FasterR-CNN的基础上引入了额外的分割网络,用于生成每个目标的二进制掩码。RetinaNet采用了一种称为“FocalLoss”的损失函数,有效解决了类别不平衡问题,提高了对稀有目标的检测能力。在FasterR-CNN的基础上引入了特殊设计的损失函数,使得模型更关注难以分类的目标。EfficientDet结合了EfficientNet的轻量级设计和目标检测任务的需求,实现了高效而准确的目标检测。通过改进网络结构、特征金字塔网络(FeaturePyramidNetwork,FPN)等技术来提高模型的效率。3.2.3图像分割1、图像分割的概念

图像分割旨在将图像划分为若干个具有相似特征的区域。图像分割与目标检测不同,图像分割是一个像素级别的任务,目标是将图像分割成区域,每个像素都有一个标签;而目标检测是在物体级别上操作,关注点在于识别图像中存在的物体及其位置。3.2.3图像分割2、传统的图像分割算法阈值分割英文Thresholding,是一种简单而常用的方法,基于图像中像素的灰度值。通过设定一个阈值,将图像分为两个区域,其中像素值小于阈值的属于一个区域,大于等于阈值的属于另一个区域。阈值分割一般只适用于对比度较明显的图像。区域生长英文RegionGrowing,是一种基于像素相似性的分割方法,从种子像素开始,逐渐将相邻像素加入同一区域,直到不再满足相似性条件。区域生长算法适用于具有相对均匀区域的图像。区域分割英文RegionSplitandMerge,是一种自顶向下的分割方法,首先将整个图像视为一个区域,然后递归地分裂和合并区域,直到满足某些准则。该算法适用于具有不同纹理和结构的图像。边缘检测英文EdgeDetection,寻找图像中的边缘,通常使用梯度信息来定位图像中亮度变化较大的区域。边缘检测适用于强调图像中物体边界的分割。水平集方法英文LevelSetMethods,基于曲线演化理论,通过表示图像中的区域边界的曲线来进行分割。适用于复杂形状和拓扑结构的分割。3.2.3图像分割3、基于深度学习的图像分割算法U-Net是一种全卷积网络,设计用于生物医学图像分割。它包含一个编码器和一个解码器,并通过跳跃连接来保留高层次和低层次的特征。主要应用于医学图像分割,如细胞图像和医学影像。SegNet是一个基于CNN的图像分割网络,通过对图像中的每个像素进行分类来实现分割。它使用反卷积进行上采样,恢复图像的空间分辨率。适用于语义分割任务,如道路和场景理解。DeepLab系列是一系列图像分割算法,采用空洞卷积来扩大感受野,以更好地捕捉上下文信息。DeepLabv3+还引入了全局平均池化。广泛应用于语义分割任务,包括实例分割和物体检测MaskR-CNN是一种实例分割框架,基于FasterR-CNN,通过在目标检测的基础上增加分割分支,实现同时检测和分割物体实例。主要用于需要识别和分割多个对象实例的任务。FCNFullyConvolutionalNetwork,是一种将传统卷积神经网络转化为全卷积网络的方法,允许对输入图像进行像素级别的分类和分割。适用于语义分割任务,如将图像中的每个像素标记为不同的类别。。PSPNetPyramidSceneParsingNetwork,使用金字塔池化模块来捕捉不同尺度上的语境信息,从而提高分割性能。适用于需要全局上下文信息的场景,如城市场景分割。3.2.4轨迹跟踪1、轨迹跟踪的概念

轨迹跟踪目的是在视频序列中准确地追踪目标对象的运动轨迹。轨迹跟踪算法需要在连续的图像帧中检测目标,并将它们关联起来形成时间上的轨迹。轨迹跟踪的关键步骤包括目标检测、目标关联、轨迹生成、轨迹更新、处理遮挡和消失以及多目标跟踪。3.2.4轨迹跟踪2、传统的轨迹跟踪算法卡尔曼滤波KalmanFilter,卡尔曼滤波是一种递归的估计算法,通过对目标的当前状态和运动进行建模,结合观测数据,不断更新目标的状态估计。在轨迹跟踪中,卡尔曼滤波可用于预测目标的下一帧位置。最邻近跟踪NearestNeighborTracking,在每一帧中,使用距离度量(如欧氏距离)找到当前帧检测结果与上一帧跟踪目标的最邻近匹配。这种方法简单直观,但对于遮挡等情况可能不鲁棒。KLT跟踪器KLTTracker,基于光流的KLT(Kanade-Lucas-Tomasi)跟踪器使用局部图像区域的特征点,通过追踪这些特征点的运动来实现目标跟踪。适用于一定程度的目标运动和变形。中值流MedianFlow,算法利用检测框中的像素强度信息计算光流,并通过中值流场的方向和大小来更新目标的位置。适用于低速运动的目标。连通区域跟踪ConnectedComponentTracking,在二值化的图像中,通过检测连通区域(二值图像中相邻的白色像素)来跟踪目标。适用于目标边界清晰的情况。CAMShiftCAMShift算法基于MeanShift算法,通过不断调整搜索窗口的大小和方向,实现目标的跟踪。适用于目标尺寸和颜色较为一致的情况。3.2.4轨迹跟踪3、基于深度学习的轨迹跟踪算法DeepSORTDeepSimpleOnlineandRealtimeTracking,结合了目标检测和深度学习特征提取,使用卷积神经网络提取特征,并通过外观特征和运动信息来关联和跟踪目标。利用深度学习目标检测器检测目标,然后使用深度学习特征提取器提取目标外观特征,最后使用卡尔曼滤波进行轨迹预测和关联。MOTDTMultipleObjectTrackingwithDeepLearning,采用了深度学习的目标检测器和在线学习的轨迹跟踪器,通过CNN提取特征,使用卡尔曼滤波进行轨迹预测,并采用在线学习策略不断更新模型。在目标检测结果上应用CNN提取特征,然后使用在线学习策略不断更新外观模型,通过卡尔曼滤波来实现目标的轨迹跟踪DeepMOT基于深度卷积神经网络,将目标检测、特征提取和轨迹跟踪整合到一个统一的深度学习框架中,以提高端到端的性能。使用卷积神经网络提取图像特征,通过LSTM或Transformer等结构对序列信息建模,最终输出目标的轨迹。FairMOT采用了多任务学习的方法,同时预测目标的类别、位置和运动状态,提高了多目标跟踪的准确性。使用深度卷积神经网络同时处理目标检测和轨迹跟踪任务,通过多任务学习框架进行联合训练。SORTSimpleOnlineandRealtimeTracking,结合了目标检测和卡尔曼滤波,通过简单有效的方法实现实时目标跟踪。使用目标检测器(获取目标位置,然后使用卡尔曼滤波进行轨迹的预测和更新3.2.4轨迹跟踪思政小课堂:坚守高尚的道德情操,向非法技术滥用说不计算机视觉技术的快速发展给我们带来了很多益处,然而,一部分人却将这项技术用于非法或非道德用途。在数字图像处理技术发展之初,就有人使用PS技术炮制虚假照片,从而制造虚假新闻误导公众认知,或者用来诽谤、侮辱他人。在深度学习的加持下,计算机视觉技术更加强大,AI换脸、视频合成的效果有时甚至可以达到以假乱真的程度。这给一些不良团体或个人炮制虚假、低俗信息提供了便利。在社交媒体发达的今天,这些虚假的不良信息能够轻易被传播。一些不法分子甚至利用相关的技术,仿冒他人身份进行电信诈骗。作为一名人工智能技术的学习者,我们在增强自身技术能力的同时,也要不断提升自己的道德操守,拒绝技术滥用,抵制不良信息。3.3OpenCV基础图像处理实时视频处理计算机视觉工具包机器学习深度学习图像和视频的特征提取图像分割和轮廓检测OpenCVOpenCV(OpenSourceComputerVisionLibrary)是一个开源的计算机视觉库,旨在提供一套通用的计算机视觉和机器学习工具。OpenCV支持多个操作系统,包括Windows、Linux、macOS等,它由一系列高效且优化的C/C++函数组成,同时提供了Python、Java和其他语言的接口,使得开发者能够轻松使用这些功能。3.3.1OpenCV的安装60年代,星际迷航80年代,终结者21世纪,人工智能1、pip命令安装pipinstallopencv-pythonpipinstallopencv-python-i/simple请先确保python已安装并且配置了pip工具。打开一个终端命令窗口,输入以下命令:如果安装时网络异常或者安装包拉取速度较慢,可以输入以下命令:3.3.1OpenCV的安装21世纪,人工智能2、conda命令安装condainstallopencvcondainstall-c/menpoopencv如果您使用anaconda环境进行Python代码开发,那么可以使用conda命令安装OpenCV。打开anacondaprompt工具的终端界面,输入以下命令:或者:3.3

温馨提示

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

评论

0/150

提交评论