《计算机视觉(第2版)》全套教学课件_第1页
《计算机视觉(第2版)》全套教学课件_第2页
《计算机视觉(第2版)》全套教学课件_第3页
《计算机视觉(第2版)》全套教学课件_第4页
《计算机视觉(第2版)》全套教学课件_第5页
已阅读5页,还剩377页未读, 继续免费阅读

下载本文档

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

文档简介

BUPT计算机视觉···第一章

绪论ComputerVision第1章-概述.pptx第2章-图像处理基础.pptx第3章-特征提取.pptx第4章-神经网络.pptx第5章-Transformer结构.pptx第6章-物体分类与识别.pptx第7章-目标检测和语义分割.pptx第8章-生成对抗网络.pptx第9章-文本多模态学习.pptx全套可编辑PPT课件目录01.03.02.04.背景介绍小节介绍章节概述本章总结01.背景介绍···01···背景介绍作为人类,我们可以轻松感知周围的三维世界。相比之下,不管近年来计算机视觉已经取得多么令人瞩目的成果,但要让计算机能像人类那样理解和解释图像,却仍然是一个遥远的梦想。为什么计算机视觉会成为如此富有挑战性的难题?它的发展历史与现状又是怎样的?02.章节概述···02本章内容···。章节概述本章内容0102030405计算机视觉的定义历史发展GPU与并行计算技术应用领域知识总结03.小节介绍···03···研究如何使计算机,模拟人类视觉,实现自动感知和理解的学科。图像获取,图像预处理,特征提取,识别与理解

。涉及图像处理、模式识别、机器学习及深度学习等多种交叉技术。核心定义工作原理核心价值123计算机视觉的定义03···计算机视觉的历史发展美国计算机科学家拉里·罗伯茨在麻省理工大学的博士毕业论文《MachinePerceptionofThree-DimensionalSolids》1963年热点偏向于图像内容的建模,如三维建模、立体视觉等20世纪70年代主动视觉理论和定性视觉理论等被提出,进入了最蓬勃发展的一个时期20世纪80年代机器学习开始成为计算机视觉,尤其是识别、检测和分类等应用中一个不可分割的重要工具成为计算机领域的一个大学科21世纪20世纪90年代03···010203范式转型:由“人工”转向“深度”算力与数据:核心性能的加速器架构演进:从“更深”到“更轻”竞赛转折:2012年AlexNet夺冠,错误率从25.7%降至15.3%。特征进化:放弃手工设计特征,改由卷积神经网络(CNN)自动学习

。GPU支撑:利用显卡并行计算能力,突破了深层网络训练的计算瓶颈

大数据红利:依托ImageNet等千万级大规模标注数据集,提升模型泛化能力

。深度突破:VGG(19层)到ResNet(152层),解决梯度消失,精度持续攀升

。

移动端落地:GhostNet等轻量化模型,兼顾精度与部署速度基于神经网络的深度学习算法计算机视觉的历史发展-新起点03···GPU与并行计算技术1.核心优势GPU的核心优势在于其强大的并行计算能力突破了算力瓶颈,支撑起深度学习在海量数据下的持续性能增长

。2.关键里程碑1999年:NVIDIA正式提出GPU概念

。2006年:CUDA平台发布,大幅降低通用计算编程门槛

。2012年:AlexNet夺冠,确立GPU作为深度学习训练的“标配”。3.快速选型建议科研服务器:首选Tesla系列(M/P子系列),追求极致稳定性与高带宽

。个人开发:首选GeForce系列,兼顾日常使用,性价比最高

。03···计算机视觉应用现实生活应用安防:摄像头交通:无人驾驶工业生产:零件检测在线购物:拍照识物信息检索:图片搜索游戏娱乐:体感游戏摄影摄像:光场相机机器人/无人机体育:视频裁判医疗:成像技术05···计算机视觉应用图像搜索图像分割生成对抗网络图像描述图像分类物体检测人脸识别卷积神经网络010203040504.本章总结···04全书简介本书作为计算机视觉领域普及类教材,从基本的视觉色彩原理到神经网络模型,再到之后的卷积模型与具体应用,对计算机视觉领域的知识进行了较为系统的介绍,对计算机视觉领域的入门具有较大的帮助与指引作用。全书共分为八个章节:第二、三章介绍了基础的图像色彩表示及传统特征提取方法;第四章介绍了当前计算机视觉领域主要依托的深度学习神经网络方法及卷积、循环神经网络;第五至八章由浅入深地介绍了当前计算机视觉领域涉及的图像分类、目标检测与分割、图片描述与关系识别及生成对抗网络等主要任务及算法。。···谢谢观看···THANKSFORWATCHINGBUPT计算机视觉···第二章

图像处理基础ComputerVision目录01.03.02.04.背景介绍小节介绍章节概述本章总结01.背景介绍···01···彩色是光的一种属性,没有光就没有彩色。在光的照射下,人们通过眼睛感觉到各种物体的彩色,这些彩色是人眼特性和物体客观特性的综合效果。一般而言,一个完整的图像处理系统输入和显示的都是便于人眼观察的物理图像(模拟图像)。而物理图像(模拟图像)是不能直接用数字计算机来处理。

图像分析中,图像质量的好坏直接影响识别算法的设计与效果的精度,因此在图像分析(特征提取、分割、匹配和识别等)前,需要进行预处理。图像的自然表示图像的数字化表示计算机识别预处理123背景介绍图像的表示02.章节概述···01···章节概述本章主要介绍了色彩和图像的基础知识,这些内容与计算机视觉有紧密的关系,是后续章节的基础。首先介绍了与图像有关的色彩学基础,包括电磁波谱、三基色原理和彩色模型;接着介绍了数字图像基础的有关概念,包括采样、量化和图像的性质;最后介绍了图像的预处理方法,包括灰度化、几何变换和图像增强。图像的表示颜色空间数字图像基础图像预处理三基色原理彩色模型图像的采样图像的量化图像的性质灰度化图像变换图像增强图像分割03.小节介绍···01···颜色空间红(R)、绿(G)、蓝(B)这3种颜色被称为三基色。3种基色是相互独立的,任何一种基色都不能由其他两种颜色合成。根据人眼的三基色吸收特性,人眼所感受到的颜色其实是3种基色按照不同比例的组合。国际照明委员会(CIE)为了建立统一的标准,于1931年制定了特定波长的三基色标准:蓝(B=435.8nm)、绿(G=546.1nm)、红(R=700nm)。这样,任一色彩均可由这三种基色来表示。右图展示了可见光电磁波谱。01···颜色空间为了科学地定量描述和使用颜色,人们提出了各种颜色模型。常用的颜色模型按用途可分为两类,一类面向诸如视频监视器、彩色摄像机或打印机之类的硬件设备,另一类面向以彩色处理为目的的应用,如动画中的彩色图形。面向硬件设备的最常用彩色模型是RGB模型(使用红(R)、绿(G)、蓝(B)三原色的亮度来定量表示颜色。),而面向彩色处理的最常用模型是HSI模型(HSI模型是从人的视觉系统出发,用色调(Hue)、饱和度(Saturation)和亮度(Intensity)来描述色彩)。下图为常见彩色图像处理流程,其中包括RGB模型和HSI模型之间的转换。02···数字图像基础一般而言,物理图像(模拟图像)不能直接用数字计算机来处理。首先必须将各类图像转化为数字图像。图像数字化即将图像转化为数字图像,就是把图像分割成称为像素的小区域,每个图像的亮度或灰度值用一个整数来表示。图像数字化的过程如右上图所示。数字化后的图像可以用矩阵表示,如右下图所示。02···数字图像基础采样将空间上连续的图像变成离散点的操作称为采样。经过采样后得到的二维离散信号的最小单位称为像素。一幅图像采样后,若每行像素为N,每列像素为M,则图像大小为M*N像素。量化量化是将图像函数的连续数值转变为其数字等价量的过程。主要的量化方法有两种,一种是等间隔量化,另一种是非等间隔量化。等间隔量化就是简单地将图像函数值域分成若干个子区间,然后取各子区间的中点作为该区间对应的量化值,并将所有子区间的量化值用整数进行编码。非等间隔量化则是根据一幅图像具体的灰度值分布的概率密度函数,按总的量化误差最小的原则来进行量化。02···数字图像基础图像中的像素的相邻和领域有3种。设相对于图像显示坐标系的图像中的像素P位于(x,y)处,则p在水平方向和垂直方向相邻的像素最多可有4个,其组成的集合称为像素p的4领域(如上左图所示)。p在对角相邻的像素最多可有4个,其组成的集合称为像素p的4对角领域(如上中图所示)。把像素p的4对角领域像素和4领域像素组成的集合称为像素p的8领域(如上右图所示)。02···数字图像基础像素间的距离主要有3种度量方式,分别是欧氏距离、街区距离、棋盘距离。三种距离的计算示例如上图所示。02···数字图像基础连通性是描述区域和边界的重要概念,用于研究像素之间的基本关系,是研究和描述图像的基础。确定图像中两个像素是否连通有两个条件:一是确定它们是否存在某种意义上的相邻;二是确定它们的灰度值是否相等,或是否满足某个特定的相似性准则。4连通:对于具有值V的像素p和q,如果q在集合N_4(p)中,则称这两个像素是4连通的。8连通:对于具有值V的像素p和q,如果q在集合N_8(p)中,则称这两个像素是8连通的。m连通:对于具有值V的像素p和q,如果:q在集合N_4(p)中,或q在集合N_D(p)中,并且N_4(p)与N_4(q)的交集为空(没有值V的像素),则称两个像素是m连通的,即4连通和D连通的混合连通。02···对比度敏锐度噪声数字图像基础对比度是亮度的局部变化,定义为物体亮度的平均值与背景亮度的比值。敏锐度是觉察图像细节的能力。敏锐度也随着离光轴的距离增加而降低。实际的图像常受一些随机误差的影响而退化,通常称这个退化为噪声。噪声一般由其概率特征来描述。03图像预处理···灰度化指为提高整个应用系统的处理速度,减少所需处理的数据量。通过平移、转置、镜像、旋转、缩放等变换处理采集的图像。图像增强指增强图像中的有用信息,改善图像的视觉效果,有目的地强调图像的整体或局部特性。图像分割的目的是将图像划分为具有特定意义的区域。灰度化图像变换图像增强图像分割图像预处理03···图像预处理灰度化分量法最大值法平均值法加权平均法

将彩色图像中的三分量的亮度作为三个灰度图像的灰度值,可根据应用需要选取一种灰度图像。对R、G、B求出平均值,采用平均法对彩色图像进行灰度化处理会形成比较柔和的灰度图像。根据重要性及其它指标,将三个分量以不同的权值进行加权平均。使R、G、B的值等于三个值中最大的一个,用最大值法对彩色图像进行灰度化处理会使图像的整体亮度增强。03···图像预处理最邻近插值选择离它所映射到的位置最近的输入像素的灰度值为插值结果。双线性插值输出像素的灰度值是该像素在输入图像中2*2领域采样点的平均值,利用周围四个相邻像素的灰度值在垂直和水平两个方向上做线性插值。双三次插值利用三次多项式来逼近理论上的最佳正弦插值函数,插值领域的大小为4*4。03···图像预处理图像增强算法可分成两大类:空间域法和频率域法。图像增强的目的是要改善图像的视觉效果,针对给定图像的应用场合,有目的地强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同物体特征之间的差别,抑制不感兴趣的特征,使之改善图像质量、丰富信息量,加强图像判读和识别效果,满足某些特殊分析的需要。注意:1. 图像增强处理并不能增加原始图像的信息,只能增强对某种信息的辨别能力,而这种处理肯定会损失一些其他信息。2. 图像增强强调根据具体应用而言,更“好”更“有用”的视觉效果图像。3. 图像增强处理最大的困难——增强后图像质量的好坏主要依靠人的主观视觉来评定,也就是说难以定量描述。03···图像预处理空间域法是一种直接图像增强算法,能够对数字图像进行局部增强。分为点运算算法和邻域增强算法。1) 空域变换增强(对应点运算算法):点运算即对比度增强、对比度拉伸或灰度变换,是对图像中的每一个点单独地进行处理,目的或使图像成像均匀,或扩大图像动态范围,扩展对比度。2)空域滤波增强(对应邻域增强算法):邻域增强算法分为图像平滑和锐化两种。平滑一般用于消除图像噪声,但是也容易引起边缘的模糊,常用算法有均值滤波、中值滤波;锐化的目的在于突出物体的边缘轮廓,便于目标识别,常用算法有梯度法、算子、高通滤波、掩模匹配法、统计差值法等。03···图像预处理

03···图像预处理

理想高通滤波器效果03···基于阈值的分割方法基于区域的分割方法图像预处理阈值法的基本思想是基于图像的灰度特征来计算一个或多个灰度阈值,并将图像中每个像素的灰度值与阈值作比较,最后将像素根据比较结果分到合适的类别中。基于区域的分割方法通过直接识别和提取图像中连通区域来实现分割。基本形式是区域生长法和区域分裂与合并法。深度学习在图像分割领域取得了突破性的进展。常见的深度学习网络结构包括全卷积神经网络(FCN)、U-Net和MaskR-CNN等。010203基于深度学习的分割方法04.本章总结···01···本章总结图像处理中的色彩学基础图像的表示方法及基本性质介绍了最常用的RGB模型和HSI模型的基本原理。包括像素的距离、像素的连通性、像素的领域,以及对比度、敏锐度和噪声的基本知识。图像预处理基本方法包括基本的灰度化和几何变换以及进一步的图像空域增强和图像频域增强。图像的表示颜色空间数字图像基础图像预处理三基色原理彩色模型图像的采样图像的量化图像的性质灰度化图像变换图像增强图像分割谢谢观看···THANKSFORWATCHINGBUPT计算机视觉···第三章

特征提取ComputerVision目录01.03.02.04.背景介绍小节介绍章节概述本章总结01.背景介绍···01背景介绍···图像特征的局部表达,它只能反映图像上具有的局部特殊性。在图像发生光线或位置的变化时,局部特征点往往具有稳定不变性。局部特征点角点斑点特征描述子在现实世界中,角点对应于物体的拐角,道路的十字路口、丁字路口等。斑点通常是指与周围有着颜色和灰度差别的区域。特征描述子(FeatureDescriptors)指的是检测图像的局部特征(比如边缘、角点、轮廓等),然后据匹配目标的需要进行特征的组合、变换,以形成易于匹配、稳定性好的特征向量,从而把图像匹配问题转化为特征的匹配问题,进而将特征的匹配问题转化为特征空间向量的聚类问题。01背景介绍···边缘检测边缘是不同区域的分界线,是周围(局部)灰度值有显著变化的像素点的集合,有幅值与方向两个属性。阶跃型、屋脊型、斜坡型、脉冲型边缘一阶边缘算子二阶边缘算子窗口模板算子02.章节概述···02···章节概述02本章内容···。章节概述本章内容0102030405角点检测算法斑点检测算法特征描述子边缘检测算法二阶微分边缘算子060708一阶微分边缘算子窗口模板的检测方法新兴的边缘检测算法03.小节介绍···03···小节介绍角点检测算法斑点检测算法特征描述子边缘检测算法一阶微分边缘算子二阶微分边缘算子窗口模板的检测方法新兴的边缘检测算法

03···角点检测算法1.Harris角点Harris角点定义为:如果在各个方向上移动这个特征的小窗口,窗口内区域的灰度发生了较大的变化,那么就认为在窗口内遇到了角点。其中,W(x,y)是以点(x,y)为中心的窗口,w(u,v)为加权函数,它既可是常数,也可以是高斯加权函数。[u,v]是窗口的偏移量;(x,y)是窗口内所对应的像素坐标位置,窗口有多大,就有多少个位置;w(x,y)是窗口函数,最简单情形就是窗口内的所有像素所对应的w权重系数均为1,但有时候,我们会将w(x,y)函数设定为以窗口中心为原点的二元正态分布。03···角点检测算法1.Harris角点

至此,我们就可以通过判断R的值来判断某个点是不是角点了。角点:R为大数值整数边缘:R为大数值负数平坦区:绝对值R是小数值03···角点检测算法1.Harris角点

03···角点检测算法2.Fast角点FAST角点定义:若某像素点与其周围领域内足够多的像素点处于不同的区域,则该像素点可能为角点。也就是某些属性与众不同,考虑灰度图像,即若该点的灰度值比其周围领域内足够多的像素点的灰度值大或者小,则该点可能为角点。FAST角点的算法步骤如下:从图片中选取一个像素P,我们首先把它的亮度值设为Ip。设定一个合适的阈值t。考虑以该像素点为中心的一个半径等于3像素的离散化的Bresenham圆,这个圆的边界上有16个像素(如上图所示)。如果在这个大小为16个像素的圆上有n个连续的像素点,它们的像素值要么都比Ip+t大,要么都比Ip-t小,那么它就是一个角点(如图中的白色虚线所示)。03···斑点检测算法1.Log斑点检测利用高斯拉普通拉斯(LaplaceofGaussian,LOG)算子检测图像斑点是一种十分常用的方法,对于二维高斯函数:它的拉普拉斯变换为:规范化的高斯拉普变换为:规范化算法子在二维图像上显示是一个圆对称函数。我们可以用这个算子来检测图像中的斑点,并且可以通过改变σ的值,可以检测不同尺寸的二维斑点。03···从更直观的角度去解释为什么LOG算子可以检测图像中的斑点:1、图像与某一个二维函数进行卷积运算实际就是求取图像与这一函数的相似性。同理,图像与高斯拉普拉斯函数的卷积实际就是求取图像与高斯拉普拉斯函数的相似性。当图像中的斑点尺寸与高斯拉普拉斯函数的形状趋近一致时,图像的拉普拉斯响应达到最大。2、从概率的角度解释为:假设原图像是一个与位置有关的随机变量X的密度函数,而LOG为随机变量Y的密度函数,则随机变量X+Y的密度分布函数即为两个函数的卷积形式。如果想让X+Y能取到最大值,则X与Y能保持步调一致最好,即X上升时,Y也上升,X最大时,Y也最大。斑点检测算法1.Log斑点检测03···LOG算子的具体计算过程:先对图像f(x,y)用方差为σ的高斯核进行高斯滤波,去除图像中的噪点。然后对图像的拉普拉斯图像则为:而实际上有下面等式:所以,我们可以先求高斯核的拉普拉斯算子,再对图像进行卷积。也就是一开始描述的步骤。斑点检测算法1.Log斑点检测03···前面介绍的微分算子在近圆的斑点检测方面效果很好,但是这些检测算子被限定于只能检测圆形斑点,而且不能估计斑点的方向,因为LOG算子等都是中心对称的。如果我们定义一种二维高斯核的变形,记它在X方向与Y方向上具有不同的方差,则这种算子可以用来检测带有方向的斑点。上式是算子的计算方法,其中A是规一性因子。如图所示,DOG可以看作为LOG的一个近似,但是它比LOG的效率更高斑点检测算法2.Dog斑点检测03···SIFT斑点检测流程SIFT算法分为4个阶段:1、尺度空间极值检测:该阶段是在图像的全部尺度和全部位置上进行搜索,并通过应用高斯差分函数可以有效地识别出尺度不变性和旋转不变性的潜在特征点来;2、特征点的定位:在每个候选特征点上,一个精细的模型被拟合出来用于确定特性点的位置和尺度。而特征点的最后选取依赖的是它们的稳定程度;3、方向角度的确定:基于图像的局部梯度方向,为每个特性点分配一个或多个方向角度。这些特征点具有这些角度、尺度和位置的不变性;4、特征点的描述符:在所选定的尺度空间内,测量特征点邻域区域的局部图像梯度,将这些梯度转换成一种允许局部较大程度的形状变形和亮度变化的描述符形式。斑点检测算法3.SIFT斑点检测03···积分图像Hessian矩阵特征点表示尺度空间SURF算法包括下面几个阶段:第一部分:特征点检测1、基于Hessian矩阵的特征点检测2、尺度空间表示3、特征点定位第二部分:特征点描述1、方向角度的分配2、基于Haar小波的特征点描述符斑点检测算法3.SIFT斑点检测03···特征描述子1.BRIEF描述子BRIEF(BinaryRobustIndependentElementaryFeatures)与传统的利用图像局部邻域的灰度直方图或梯度直方图提取特征的方式不同,BRIEF是一种二进制编码的特征描述子,既降低了存储空间的需求,提升了特征描述子生成的速度,也减少了特征匹配时所需的时间。

值得注意的是,对于BRIEF,它仅仅是一种特征描述符,它不提供提取特征点的方法。所以,如果你必须使用一种特征点定位的方法,如FAST、SIFT、SURF等。这里,我们将使用CenSurE方法来提取关键点,对BRIEF来说,CenSurE的表现比SURF特征点稍好一些。03···

特征描述子1.BRIEF描述子03···ORB对BRIEF的改进:ORB在计算BRIEF描述子时建立的坐标系是以关键点为圆心,以关键点和取点区域的形心(圆形)的连线为X轴建立坐标系;计算形心时,圆形区域上每个点的质量是其对应的像素值。ORB特征,从它的名字中可以看出它是对FAST特征点与BREIF特征描述子的一种结合与改进,这个算法是由EthanRublee,VincentRabaud,KurtKonolige以及GaryR.Bradski在2011年一篇名为“ORB:AnEfficientAlternativetoSIFTorSURF”的文章中提出。就像文章题目所写一样,ORB是除了SIFT与SURF外一个很好的选择,而且它有很高的效率,最重要的一点是它是免费的,SIFT与SURF都是有专利的,你如果在商业软件中使用,需要购买许可。ORB特征是将FAST特征点的检测方法与BRIEF特征描述子结合起来,并在它们原来的基础上做了改进与优化。特征描述子2.ORB特征提取算法03···BRISK的算法步骤如下:第一步进行特征点检测,主要分为建立尺度空间、特征点检测、非极大值抑制和亚像素差值这四个部分;第二步进行特征点描述,主要分为高斯滤波、局部梯度计算、特征描述符和匹配方法这四个部分。BRISK算法是2011年ICCV上《BRISK:BinaryRobustInvariantScalableKeypoints》文章中,提出来的一种特征提取算法,也是一种二进制的特征描述算子。它具有较好的旋转不变性、尺度不变性,较好的鲁棒性等。在图像配准应用中,速度比较:SIFT<SURF<BRISK<FREAK<ORB,在对有较大模糊的图像配准时,BRISK算法在其中表现最为出色。特征描述子3.BRISK特征提取算法03···FREAK的主要步骤包括:(1)采样模式(2)特征描述(3)特征方向(4)特征匹配。FREAK算法是2012年CVPR上《FREAK:FastRetinaKeypoint》文章中,提出来的一种特征提取算法,也是一种二进制的特征描述算子。它与BRISK算法非常相似,主要就是在BRISK算法上的改进。FREAK依然具有尺度不变性、旋转不变性、对噪声的鲁棒性等。特征描述子4.FREAK特征提取算法03···边缘检测算法1.边缘的定义边缘是不同区域的分界线,是周围(局部)灰度值有显著变化的像素点的集合,有幅值与方向两个属性。这个不是绝对的定义,主要记住边缘是局部特征,以及周围灰度值显著变化产生边缘。2.轮廓和边缘的关系一般认为轮廓是对物体的完整边界的描述,边缘点一个个连接起来构成轮廓。边缘可以是一段边缘,而轮廓一般是完整的。人眼视觉特性,看物体时一般是先获取物体的轮廓信息,再获取物体中的细节信息。3.边缘的类型简单分为4种类型,阶跃型、屋脊型、斜坡型、脉冲型,其中阶跃型和斜坡型是类似的,只是变化的快慢不同,同样,屋脊型和脉冲型也是如此。在边缘检测中更多关注的是阶跃和屋脊型边缘。见图(a)和(b)可认为是阶跃或斜坡型,(c)脉冲型,(d)屋脊型,阶跃与屋脊的不同在于阶跃上升或下降到某个值后持续下去,而屋脊则是先上升后下降。边缘的四种类型03···4.边缘检测介绍如上图中的图像是图像中水平方向7个像素点的灰度值显示效果,我们很容易地判断在第4和第5个像素之间有一个边缘,因为它俩之间发生了强烈的灰度跳变。在实际的边缘检测中,边缘远没有上图这样简单明显,我们需要取对应的阈值来区分出它们。一般图像边缘检测方法主要有如下四个步骤:Step1.图像滤波:传统边缘检测算法主要是基于图像强度的一阶和二阶导数,但导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器的性能。需要指出的是,大多数滤波器在降低噪声的同时也造成了了边缘强度的损失,因此,在增强边缘和降低噪声之间需要一个折衷的选择。Step2.图像增强:增强边缘的基础是确定图像各点邻域强度的变化值。增强算法可以将邻域(或局部)强度值有显著变化的点突显出来。边缘增强一般是通过计算梯度的幅值来完成的。Step3.图像检测:在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,所以应该用某种方法来确定哪些点是边缘点。最简单的边缘检测判断依据是梯度幅值。Step4.图像定位:如果某一应用场合要求确定边缘位置,则边缘的位置可在子像素分辨率上来估计,边缘的方位也可以被估计出来。边缘检测算法03···5.如何用梯度算子实现边缘检测以3×3的卷积模板为例。原始图像中的3×3子区域3×3卷积模板

然后我们设定一个阈值,如果卷积的结果R大于这个阈值,那么该像素点为边缘点,输出白色;如果R小于这个阈值,那么该像素不为边缘点,输出黑色。于是最终我们就能输出一幅黑白的梯度图像,实现边缘的检测。边缘检测算法03···一阶微分边缘算子1.一阶微分边缘算子基本思想一阶微分边缘算子也称为梯度边缘算子,它是利用图像在边缘处的阶跃性,即图像梯度在边缘取得极大值的特性进行边缘检测。梯度是一个矢量,它具有方向θ和模|ΔI|:梯度的方向提供了边缘的趋势信息,因为梯度方向始终是垂直于边缘方向,梯度的模值大小提供了边缘的强度信息。

在实际使用中,通常利用有限差分进行梯度近似。对于上面的公式,我们有如下的近似:03···1963年,Roberts提出了这种寻找边缘的算子。Roberts边缘算子是一个2x2的模板,采用的是对角方向相邻的两个像素之差。从图像处理的实际效果来看,边缘定位较准,对噪声敏感。

由Roberts提出的算子是一种利用局部差分算子寻找边缘的算子,边缘的锐利程度由图像灰度的梯度决定。梯度是一个向量,∇

f指出灰度变化的最快的方向和数量。

一阶微分边缘算子2.Roberts算子03···Roberts算子的卷积模板为:模板运算结果为:如果G(x,y)大于某一阈值,则我们认为(x,y)点为边缘点。一阶微分边缘算子2.Roberts算子03···

一阶微分边缘算子3.Prewitt算子03···

水平方向

垂直方向Prewitt算子的卷积模板为:模板运算结果为:记图像M,梯度幅值T,比较:如果最终T大于阈值threshold,那么该点为边缘点。一阶微分边缘算子3.Prewitt算子03···Sobel最初是1968年在一次博士生课题讨论会1968上提出("A3x3IsotropicGradientOperatorforImageProcessing"),后来正式出版发表是在1973年的一本专著("PatternClassificationandSceneAnalysis")的脚注里作为注释出现和公开的。Sobel算子和Prewitt算子都是加权平均,但是Sobel算子认为,邻域的像素对当前像素产生的影响不是等价的,所以距离不同的像素具有不同的权值,对算子结果产生的影响也不同。一般来说,距离越远,产生的影响越小。将Prewitt边缘检测算子模板的中心系数增加一个权值2,不但可以突出中心像素点,而且可以得到平滑的效果,这就成为索贝尔算子。Sobel算子一种将方向差分运算与局部平均相结合的方法。一阶微分边缘算子4.Sobel算子03···Sobel算子的卷积模板为:模板运算结果为:记图像M,梯度幅值T,比较:如果最终T大于阈值threshold,那么该点为边缘点。一阶微分边缘算子4.Sobel算子03···Kirsch算子是R.Kirsch提出来的一种边缘检测算法。与前述的算法不同之处在于,Kirsch考虑到3*3的卷积模板事实上涵盖着8种方向(左上,正上,……,右下),于是Kirsch采用8个3*3的模板对图像进行卷积,这8个模板代表8个方向,并取最大值作为图像的边缘输出。Kirsch算子的卷积模板为:最终选取8次卷积结果的最大值作为图像的边缘输出。一阶微分边缘算子5.Kirsch算子03···二阶微分边缘算子1.基本思想边缘即是图像的一阶导数局部最大值的地方,那么也意味着该点的二阶导数为零。二阶微分边缘检测算子就是利用图像在边缘处的阶跃性导致图像二阶微分在边缘处出现零值这一特性进行边缘检测的。对于图像的二阶微分可以用拉普拉斯算子来表示:我们在像素点(i,j)的3×3的邻域内,可以有如下的近似:对应的二阶微分卷积核为:所以二阶微分检测边缘的方法就分两步:1)用上面的Laplace核与图像进行卷积;2)对卷积后的图像,取得那些卷积结果为0的点。03···Laplace(拉普拉斯)算子是最简单的各向同性微分算子,一个二维图像函数的拉普拉斯变换是各向同性的二阶导数。下式为Laplace算子的表达式:把这个表达式代入到卷积模板的表达式中进行一系列推导,我们就能得到Laplace模板:标准模板变形模板大权重模板实际中我们使用Laplace模板的方法如下:(1)遍历图像(除去边缘,防止越界),对每个像素做Laplancian模板卷积运算,注意是只做其中的一种模板运算,并不是两个。

(2)复制到目标图像,结束。二阶微分边缘算子2.Laplace算子03···1980年,Marr和Hildreth提出将Laplace算子与高斯低通滤波相结合,提出了LOG(LaplaceandGuassian)算子,又称为马尔(Marr)算子。

该算子是先运用高斯滤波器平滑图像达到去除噪声的目的,然后用Laplace算子对图像边缘进行检测。这样既达到了降低噪声的效果,同时也使边缘平滑,并得到了延展。为了防止得到不必要的边缘,边缘点应该选取比某阈值高的一阶导数零交叉点。LOG算子已经成为目前对阶跃边缘用二阶导数过零点来检测的最好的算子。

LOG算子的卷积模板通常采用5×5的矩阵,如:实际中我们使用Log模板的方法如下:(1)遍历图像(除去边缘,防止越界),对每个像素做Gauss-Laplancian模板卷积运算。

(2)复制到目标图像,结束。二阶微分边缘算子3.Log算子03···Canny根据以前的边缘检测算子以及应用,归纳了如下三条准则:(1)信噪比准则:避免真实的边缘丢失,避免把非边缘点错判为边缘点;(2)定位精度准则:得到的边缘要尽量与真实边缘接近;(3)单一边缘响应准则:单一边缘需要具有独一无二的响应,要避免出现多个响应,并最大抑制虚假响应。完整的Canny边缘检测算法实现步骤如下:1.彩色图像转换为灰度图像2.对图像进行高斯模糊3.计算图像梯度,根据梯度计算图像边缘幅值与角度4.非极大值抑制(边缘细化)5.双阈值检测6.

通过抑制孤立的弱边缘完成边缘检测7.二值化图像输出结果二阶微分边缘算子4.Canny算子03···窗口模板检测算法1.Susan检测算法SUSAN检测方法是一种比较特殊的检测方法,它是基于窗口模板的检测方法。主要是通过在图像每个像素点位置处建立一个窗口,这个窗口是圆形的,这里为了得到各方向同性的响应,窗口内可以是常数权值或高斯权值,一般情况下,窗口半径为3.4个像素(即窗口内总有37个像素)。考虑为了运算简单,一般情况下使用a线(见右图1),最后统计所以同中心点相似的点数(即相似程度为1的点)相似点所在区域被称为USAN(UnivalueSegmentAssimilatingNucleus)(见右图2),而特征边缘或角点就是在这个点数值局部最小地方。图中的分界点(区分是否相似的像素差别)实际上反映了图像特征的最小对比程度,及被排除噪声的最大数目。03···SUSAN是通过比较像素点邻域同其中心相似程度,所以也具有了光强变化不变性,及旋转不变性,及一定程度的尺度不变性。另外SUSAN使用的参数也非常的少,所以对于计算量及储存量要求低。SUSAN方法被提出来,主要是为针对于边缘检测和角点检测的,然后其对于噪声较高的鲁棒性,也会用于在噪声消除中,被用于去选择最佳局部平滑邻域。SUSAN边缘检测总共包括5个步骤:1.边缘响应的计算2.边缘方向的计算3.非极大值抑制4.子像素精度5.检测位置。窗口模板检测算法1.Susan检测算法03···新兴的边缘检测算法1.小波分析1986年,小波分析在Y.Meyer,S.Mallat与I.Daubechies等的研究工作基础上迅速地发展起来,成为一门新兴的学科,并在信号处理中应用相当广泛。小波变换的理论基础是傅里叶变换,它具有多尺度特征,如当尺度较大时,可以很好的滤除噪声,但不能很精确的检测到边缘;当尺度较小时,能够检测到很好的边缘信息,但图像的去噪效果较差。因此可以把用多种尺度来检测边缘而得到的结果相结合,充分利用各种尺度的优点,来得到更精确的检测结果。

目前,有很多不同的小波边缘检测算法,主要差别在于采用的小波变换函数不同,常用的小波函数包括:Morlet小波、Daubechies小波、Harr小波、MexicanHat小波、Hermite小波、Mallet小波、基于高斯函数的小波及基于B样条的小波等。03···2.模糊算法3.人工神经网络

利用人工神经网络[36-38]来提取边缘在近年来已经发展为一个新的研究方向,其本质是视边缘检测为模式识别问题,以利用它需要输入的知识少及适合并行实现等的优势。其思想与传统方法存在很大的不同,是先把输入图像映射到某种神经元网络,再把原始边缘图这样的先验知识输入进去,然后进行训练,一直到学习过程收敛或者用户满意方可停止。新兴的边缘检测算法04.本章总结···04···本章总结

本章较为全面地介绍了传统计算机视觉技术中对图像的局部特征点的提取算法。

首先我们介绍了两种最主流的局部特征点,分别是角点和斑点。这两种特征点都是一个图像中比较明显的区域,适合用来做物体定位与识别。在3.4节我们还介绍了特征描述子算法,这是一种基于特征点提取去进一步转化为特征向量的方法,从而能帮助我们更好地处理图像的局部特征。

然后我们介绍了边缘检测算法,它反映了图片中两个不同内容的交界。边缘检测算法可分为3种,第一种是用一阶微分边缘算子寻找一阶导数具有极大值的点认为是边缘点,第二种是用二阶微分边缘算子寻找二阶导数具有过零点的点认为是边缘点,第三种是直接用窗口模板统计所有同中心点相似的点数认为是角点或边缘点。

最后我们还介绍了一些新兴的边缘检测算法,包括小波分析算法,模糊算法,以及人工神经网络算法。其中发展最快、也是目前效果最突出的算法的是人工神经网络算法,这一内容在后面的章节中会有更详尽的解读。BUPT计算机视觉···第四章

神经网络ComputerVision目录01.03.02.04.背景介绍小节介绍章节概述本章总结01.背景介绍···01···010203机器学习背景神经网络的背景神经网络的用途机器学习(ML/MachineLearning)是一门多领域交叉学科。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,其主要使用归纳、综合而不是演绎。神经网络(NN/NeuralNetwork)是一种模拟人脑神经元连接方式的计算模型,属于机器学习(ML/MachineLearning)的一个重要分支。。近年来,深度学习(DeepLearning)作为神经网络的一个扩展,得到了广泛的关注与应用。深度神经网络(DNN/DeepNeuralNetwork)在各类任务中显著提高了性能,成为当前计算机视觉和语音识别等领域的核心技术之一。。背景介绍/02.章节概述···02···思维导图本章将首先介绍神经网络的基础感知器模型的原理及激活函数相关内容,以及从原理及公式推导方面介绍神经网络的结构与前向传播及反向传播算法,之后在普通神经网络的基础之上,分别详细介绍卷积神经网络及循环神经网络的原理、结构、应用及演变模型。章节概述/本章简介03.小节介绍···03神经网络基础感知器深度学习始于神经网络,神经网络始于感知器。感知器由FrankRosenblatt在1957年第一次提出。···这种结构以一个向量作为输入,计算输入每一维度的值的线性组合,然后和一个阈值进行比对,高于阈值则输出1,否则输出-1。简单来说就是加权求和,然后再和b进行比大小。03神经网络基础感知器感知器本质上就是一个仿射变换接一个非线性变换。···

03神经网络基础感知器

···03神经网络基础感知器

···当网络层数不多的时候,随着感知器单元数量的增加,权值数目是平方增加的趋势03神经网络基础前向传播与反向传播算法···

03神经网络基础前向传播与反向传播算法···对于前向传播来说,不管维度多高,其过程都可以用如下公式表示:其中,上标代表层数,*表示卷积,b表示偏置项bias,σ表示激活函数。03神经网络基础前向传播与反向传播算法···符号含义结点a到结点b的权重结点a的输出值结点a的输入值结点a的损失损失函数结点激活函数左边字母,右边数字,代表第几层的矩阵或者向量正向传播后反向传播链式推导最终结果更新权值03卷积神经网络卷积神经网络概述···CNN概述卷积神经网络是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网络由一个或多个卷积层和顶端的全连通层组成,同时也包括关联权重和池化层。这一结构使得其能够利用输入数据的二维结构与其他深度学习结构相比,卷积神经网络在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网络,卷积神经网络需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。03卷积神经网络卷积神经网络概述···卷积神经网络利用输入是图片的特点,把神经元设计成三个维度:width,height,depth(注意这个depth不是神经网络的深度,而是用来描述神经元的)。比如输入的图片大小是32×32×3(rgb),那么输入神经元就也具有32×32×3的维度。一个卷积神经网络由很多层组成,它们的输入是三维的,输出也是三维的,有的层有参数,有的层则不需要参数。03卷积神经网络卷积神经网络结构···卷积神经网路中每层卷积层由若干卷积单元组成,每个卷积单元的参数都是通过反向传播算法优化得到的。卷积运算的目的是提取输入的不同特征,第一层卷积层可能只能提取一些低级的特征如边缘、线条和角等层级,更多层的网络能从低级特征中迭代提取更复杂的特征。

卷积层线性整流层1203卷积神经网络卷积神经网络结构···通常指在卷积层之后会得到维度很大的特征,将特征切成几个区域,取其最大值或平均值,得到新的、维度较小的特征。有多种不同形式的非线性池化函数,而其中“最大池化”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效地原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。除了最大池化之外,池化层也可以使用其他池化函数,例如“平均池化”甚至“L2-范数池化”等。池化层303卷积神经网络卷积神经网络结构···它可以增强判定函数和整个神经网络的非线性特性,而本身并不会改变卷积层。把所有局部特征结合变成全局特征,用来计算最后每一类的得分。用于决定训练过程如何来“惩罚”网络的预测结果和真实结果之间的差异,它通常是网络的最后一层。各种不同的损失函数适用于不同类型的任务。例如,Softmax交叉熵损失函数常常被用于在K个类别中选出一个,而Sigmoid交叉熵损失函数常常用于多个独立的二分类问题。欧几里德损失函数常常用于结果取值范围为任意实数的问题。连接层损失函数层45

03卷积神经网络卷积神经网络组成与架构···对隐含单元和输入单元间的连接加以限制:每个隐含单元仅仅只能连接输入单元的一部分。每个隐含单元连接的输入区域大小叫神经元的感受野。由于卷积层的神经元也是三维的,所以也具有深度。卷积层的参数包含一系列过滤器,每个过滤器训练一个深度,有几个过滤器输出单元就具有多少深度。如图所示,样例输入单元大小是32×32×3,输出单元的深度是5,对于输出单元不同深度的同一位置,与输入图片连接的区域是相同的,但是参数(过滤器)不同。局部感知03卷积神经网络卷积神经网络组成与架构···一个输出单元的大小由以下三个量控制:depth,stride和zero-padding。深度(depth):顾名思义,它控制输出单元的深度,也就是过滤器的个数,连接同一块区域的神经元个数。也称作depthcolumn。步幅(stride):它控制在同一深度的相邻两个隐含单元,与它们相连接的输入区域的距离。如果步幅很小(比如stride=1)的话,相邻隐含单元的输入区域的重叠部分会很多;反之,步幅很大则重叠区域变少。补零(zero-padding):可以通过在输入单元周围补零来改变输入单元整体大小,从而控制输出单元的空间大小。空间排列03卷积神经网络卷积神经网络组成与架构···

空间排列图4.16一维的示例03卷积神经网络卷积神经网络组成与架构···

参数共享03卷积神经网络卷积神经网络组成与架构···

卷积卷积过程03卷积神经网络卷积神经网络组成与架构···卷积一维卷积二维卷积03卷积神经网络卷积神经网络组成与架构···池化即下采样,目的是为了减少特征图。池化操作对每个深度切片独立,规模一般为2×2,相对于卷积层进行卷积运算,池化层进行的运算一般有以下几种:最大池化:取4个点的最大值。这是最常用的池化方法。均值池化:取4个点的均值。高斯池化:借鉴高斯模糊的方法。不常用。可训练池化:训练函数,接受4个点为输入,1个点为输出。不常用。最常见的池化层是规模为2×2,步幅为2,对输入的每个深度切片进行下采样。每个MAX操作对四个数进行,如图所示。池化操作将保存深度大小不变。另外,如果池化层的输入单元不是2的整数倍,一般采取边缘补零的方式补成2的倍数,然后再池化。池化层最大池化03卷积神经网络卷积神经网络组成与架构···全连接层和卷积层可以相互转换:对于任意一个卷积层,要把它变成全连接层只需要把权重变成一个巨大的矩阵,其中大部分都是0,除了一些特定区块(因为局部感知),而且有大量区块的权值相同(由于权重共享)。相反地,对于任何一个全连接层,也可以转变为卷积层。比如,一个K=4096的全连接层,输入层大小为7*7*512,它可以等效为一个F=7,P=0,S=1,K=4096的卷积层。换言之,把过滤器的规模刚好设置为整个输入层大小。全连接层03卷积神经网络卷积神经网络组成与架构···输入层->[[卷积层->线性整流层]*N->池化层?]*M->[全连接层->线性整流层]*K->全连接层堆叠几个卷积和整流层,再加一个池化层,然后再用全连接层控制输出。上述表达式中,问号符号代表0次或1次,符号N和M则代表具体的数值。通常情况下,取N>=0&&N<=3,M>=0,K>=0&&K<3。卷积神经网络架构回顾03卷积神经网络卷积神经网络的应用卷积神经网络通常在视觉任务中使用,也常被用于自然语言处理,其模型被证明可以有效的处理各种自然语言处理的问题。卷积神经网络还已在药物发现中使用,它被用来预测的分子与蛋白质之间的相互作用,以此来寻找靶向位点,寻找出更可能安全和有效的潜在治疗方法。卷积神经网路在计算机围棋领域也被使用。AlphaGo对战世界围棋冠军的比赛也展示了深度学习在围棋领域中令人惊奇的各项重大突破。···03循环神经网络循环神经网络概述循环神经网络的目的是用来处理序列数据。例如你想要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。这种网络之所以称为循环神经网络,即一个序列当前的输出与前面的输出也有关。网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。···循环神经网络可以描述动态时间行为,因为和前馈神经网络接受较特定结构的输入不同,循环神经网络将状态在自身网络中循环传递,因此可以接受更广泛的时间序列结构输入。在实际的应用中,单纯循环神经网络因为无法处理随着递归,权重指数级爆炸或消失的问题,难以捕捉长期时间关联,因此诞生了在此基础上的优化与改进,长短期记忆网络(LongShort-TermMemory)就是其中常见的一种。在之后的章节中,还会详细展开介绍这些内容。03循环神经网络循环神经网络与语言模型循环神经网络是在自然语言处理领域中最先被用起来的,比如,利用循环神经网络为语言模型来建模就是其在自然语言处理中最常见的应用。循环神经网络已经在实践中被证明对自然语言处理任务是非常成功的,如词向量表达、语句合法性检查、词性标注等。语言模型的意义与用途在于:当给定一个特定的输入,比如一句话前面的部分,它将能预测接下来最有可能的一个词或者部分是什么。理论上来说,循环神经网络在进行预测的时候可以考虑到上下文中的所有其他词语。···语言模型是对一种语言的特征进行建模,它有很多不同的用处。比如在语音转文本的应用中,声学模型输出的结果,往往是若干个可能的候选词,这时候就需要语言模型来从这些候选词中选择一个最可能的。当然,它同样也可以用在图像到文本的识别中。而机器翻译、自然语言生成等需要对自然语言文本进行处理或预测的任务中,自然也都是语言模型这种方法的用武之地。在采用循环神经网络处理自然语言处理任务之前,语言模型主要是采用N-Gram。N可以是一个正整数,复杂度是与N的取值成指数型关系的。因此,循环神经网络应运而生。03循环神经网络循环神经网络结构···

信息流:输入单元->隐藏单元隐藏单元->输出单元03循环神经网络循环神经网络的扩展与改进···Simple-RNN是循环神经网络的一种特例,它是一个三层网络,并且在隐藏层增加了上下文单元,上下文单元节点与隐藏层中的节点的连接是固定的,并且权值也是固定的,其实是一个上下文节点与隐藏层节点一一对应,并且值是确定的。Simple-RNN03循环神经网络循环神经网络的扩展与改进···对于语言模型来说,很多时候仅仅接收前面的词作为输入是不够的,在令神经网络对文段中的某个词进行预测的时候,往往也希望它能够考虑到后文的词语和内容。双向循环神经网络是一种循环神经网络的扩展,它在处理序列数据时具有独特的优势。与传统的RNNs不同,Bi-RNNs在每个时间步同时处理过去和未来的信息,这使得它们在理解序列的上下文方面更为有效。双向循环神经网络在Bi-RNNs中,序列数据被两个独立的RNN子网络处理,一个处理正向序列(从过去到未来),另一个处理反向序列(从未来到过去)。这两个子网络的输出然后通常被拼接或整合起来,以用于后续的任务,如分类或预测。03循环神经网络循环神经网络的扩展与改进···如果堆叠两个以上的隐藏层,就可以得到深度循环神经网络。深度循环神经网络与双向循环神经网络相似,只是对于每一步的输入有多层网络。这样,该网络便有更强大的表达与学习能力,但是复杂性也提高了,同时需要更多的训练数据。深度循环神经网络03循环神经网络循环神经网络的扩展与改进···

长短期记忆网络与门控循环单元网络03循环神经网络循环神经网络的扩展与改进···可以看到它们之间非常相像,不同点在于:长短期记忆网络与门控循环单元网络1新生成的记忆的计算方法都是根据之前的状态及输入进行计算,但是门控循环单元中有一个重置门控制之前状态的进入量,而在长短期记忆里没有这个门;产生新的状态的方式不同,长短期记忆有两个不同的门,分别是遗忘门和输入门,而门控循环单元的结构相对简单,只有一个更新门;长短期记忆对新产生的状态有一个输出门可以调节大小,而门控循环单元直接输出无任何调节。2303循环神经网络循环神经网络的扩展与改进···注意力机制循环神经网络(Attention-basedRNN)是一种在传统循环神经网络基础上引入注意力机制的模型,它能够解决循环神经网络在处理长序列数据时遇到的梯度消失和长期依赖问题。Attention-basedRNN的核心在于引入了一个额外的注意力层,该层能够根据当前状态和输入序列计算出一个注意力分布(Attentiondistribution),用于加权聚合输入序列的隐藏状态,从而生成更有针对性的上下文向量(contextvector)。这个上下文向量随后被用于增强模型的隐藏状态,以进行后续的预测或分类任务。注意力机制循环神经网络04.本章总结···04本章总结/本章首先介绍了神经网络的基础感知器模型的原理及激活函数相关内容,接着,从原理及公式推导方面详细讲解了神经网络的结构与前向传播及反向传播算法,在普通神经网络的基础之上,本章详细介绍了卷积神经网络和循环神经网络的原理、结构、应用及演变模型。此外,本章还探讨了RNN的扩展与改进,包括Simple-RNN、双向RNN、深度RNN等模型,以及注意力机制的引入。作为深度学习及计算机视觉的基础及重要组成部分,循环神经网络及卷积神经网络等是利用深度学习解决计算机视觉相关问题及应用的有力工具。在对本章进行了充分的学习后,将会为之后章节有关计算机视觉具体任务及应用的学习做好准备。···谢谢观看···THANKSFORWATCHINGBUPT计算机视觉···第五章Transformer结构ComputerVision目录01.03.02.04.背景介绍小节介绍章节概述本章总结01.背景介绍···01···背景介绍•深度学习在语音识别、自然语言处理和计算机视觉领域取得突破性进展•CNN在视觉任务中表现突出,RNN/LSTM在序列建模中广泛应用•随着任务复杂度提升,传统模型逐渐暴露出建模能力与效率上的局限深度学习的发展传统序列模型面临的挑战•RNN/LSTM依赖时间步递归计算,难以并行•长序列任务中容易出现梯度消失或梯度爆炸问题•远距离依赖关系难以有效建模,影响整体性能01···背景介绍•2017年Vaswani等人提出Transformer模型•核心创新:完全基于自注意力机制,摒弃循环结构•目标:提升并行计算能力并增强长距离依赖建模能力Transformer模型的提出背景从NLP到计算机视觉的拓展•Transformer在NLP领域取得革命性成功(如BERT、GPT)•研究者尝试将其引入计算机视觉领域•希望利用自注意力机制捕捉图像中的全局依赖关系•CNN主要依赖局部感受野,获取全局信息能力有限•深层CNN虽可扩大感受野,但结构复杂、计算成本高•Transformer为全局建模提供了新的解决思路02.章节概述···02···章节概述章节概述自注意力机制多头自注意力机制自注意力机制的计算过程编码器-解码器结构位置编码前馈网络层归一化提出背景模型结构SwinTransformerData-efficientImageTransformerCross-AttentionTransformer自注意力机制Transformer基本结构视觉Transformer卷积TransformerTransformer变种03.小节介绍···03···自注意力机制自注意力机制的基本原理138在传统的序列模型,如循环神经网络(RNN)和长短期记忆网络(LSTM)中,输入数据是按照时间步长逐步处理的,每一步都依赖于前一时刻的隐藏状态。这种顺序处理方式在处理长序列数据时容易出现“梯度消失”问题,导致模型无法有效捕捉到远距离依赖关系自注意力机制的核心思想通过计算输入序列中的每个元素与其他所有元素之间的相关性来生成新表示,使得模型可以参考整个序列,从而更好地捕捉长距离的依赖关系。03···自注意力机制自注意力机制的基本原理139自注意力机制的基本构成查询向量(Query)表示要“

询问

”其他输入数据的内容用于与键向量计算点积,以确定与哪些输入数据的相关性最高。键向量(Key)输入数据的“

标识符

”用于与查询向量进行比较,计算出相关性。值向量(Value)包含了输入数据的具体信息。在确定相关性后,模型根据这些值向量生成最终的输出表示。03···自注意力机制自注意力机制的基本原理140自注意力机制的优缺点优点捕获序列中长距离依赖关系自注意力机制的并行计算特性使模型能够自适应地关注重要的部分,增强表示能力缺点时间复杂度高空间复杂度高缺乏直接的位置信息03···自注意力机制多头注意力机制141通过多个并行的自注意力层,每一层称为一个“头”(Head),从而让模型能够从多个角度分析和捕捉输入序列中的不同类型的关系。优点1.捕捉多种依赖关系2.增强模型的表达能力3.避免注意力的局部最优03···自注意力机制自注意力的计算142计算查询矩阵Q、键矩阵K和值矩阵V给定输入序列X=[x₁

,x₂

,…,xn

],每个输入向量xᵢ为d维向量,通过线性变换生成查询矩阵Q、键矩阵K和值矩阵V其中WQ,WK,WV为Q,K,V的权重矩阵03···自注意力机制自注意力的计算143计算注意力得分对每个查询向量qᵢ,与所有键向量kⱼ计算缩放点积其中

是缩放因子,用于避免在高维度空间中点积过大03···自注意力机制自注意力的计算144归一化注意力得分使用Softmax函数将上一步得到的注意力得分进行归一化处理,得到每个输入的注意力权重加权求和值向量03···Transformer模型架构编码器-解码器结构145EncoderBlockDecoderBlockTransformer的优点完全基于自注意力机制并行计算效率高可以处理长序列中的依赖关系Transformer的结构Encoder-Decoder结构EncoderBlock:Nx个encoder堆叠而成DecoderBlock:Nx个decoder堆叠而成03···Transformer模型架构编码器-解码器结构146EncoderBlock由多个相同的encoder组成,其中encoder包括:多头自注意力层前馈神经网络层通过这两部分的共同工作,模型能够处理序列中的全局和局部依赖关系。在每一个子层后,都有一个残差连接和层归一化(Add&Norm),其作用是帮助模型更稳定地训练。03···Transformer模型架构编码器-解码器结构147DecoderBlock由多个相同的decoder组成,其中decoder包括:多头掩蔽自注意力层编码器-解码器注意力层前馈神经网络每个子层后也均有残差连接和层归一化操作,以确保解码器在生成序列时,能够考虑到之前的输出,并避免未来信息的影响。03···编码器-解码器结构148DecoderBlock编码器-解码器注意力负责让解码器的每个时间步生成输出时,能够利用编码器生成的输入序列的全局表示。通过这种机制,解码器可以在生成输出时“询问”输入序列的所有位置,并找到与当前生成步骤相关的上下文信息。与自注意力机制不同,编码器-解码器注意力的查询向量来自解码器,键和值向量则来自编码器的输出。Transformer模型架构03···编码器-解码器结构149Encoder和Decoder的区别自注意力机制中的掩码(Mask)机制编码器中的每个位置序列可以自由地关注到序列中的其他任何位置,从而捕捉到全局的依赖关系。解码器中的自注意力机制引入了掩码机制,确保每个位置序列只能看到它之前生成的序列,而不能看到之后的序列。Transformer模型架构03···编码器-解码器结构为什么Encoder不用掩码?为什么Decoder需要掩码?无时间步限制12并行计算和全局依赖遮蔽未来词12自回归性质为了确保模型在每个时间步只能依赖过去的信息,解码器必须使用掩码机制,将未来时间步的序列遮蔽,防止它们对当前词的生成产生影响。在编码器中,没有自回归的要求,因此每个词在计算时不需要考虑时间步的顺序问题解码器的生成是一个逐步的过程,生成当前序列只能依赖之前的序列。如果解码器在生成当前序列时能够访问未来的序列,模型可能会利用未来的信息,导致生成时失去自回归的本质。编码器的目标是捕捉输入序列中的全局依赖。因此,自注意力机制允许当前位置序列访问序列中的任何位置,使模型能够捕获到序列中每个位置之间的长距离依赖。Transformer模型架构03···位置编码为什么需要位置编码?Transformer模型架构输入元素位置的变动不会对注意力结果产生影响,从而使模型无法感知时序信息Attention操作具有排列不变性位置编码被添加到输入嵌入(InputEmbedding)之上,以保留序列的信息03···位置编码位置编码的多种方式Transformer模型架构绝对位置编码基于正余弦函数的位置编码可学习的位置编码绝对位置编码为序列中的每个位置分配一个唯一的编码,直接反映了元素在序列中的绝对位置序列越长,后面的值越大,数字越大说明这个位置占的权重也越大,这样的方式无法凸显每个位置的真实的权重,因此实际使用较少。相对位置编码位置差值与注意力权重相结合法相对位置编码并不直接为每个位置分配一个唯一的编码,而是关注序列中各元素之间的相对位置。相对位置编码的核心思想是通过计算序列中元素之间的距离,来表示它们之间的相对关系。03···位置编码Transformer编码公式Transformer模型架构Transformer使用正余弦函数表示绝对位置,通过两者乘积得到相对位置其中PE表示位置编码;pos表示当前序列片段的位置;每个位置编码都是一个向量,i表示目前是第几个元素的向量;

表示位置编码向量的维度。03···前馈网络Transformer模型架构前馈神经网络是一种常见的神经网络结构。包含多个神经元层次,每个层次都由多个神经元组成。每个神经元接收来自前一层次的输入信号,并将输出信号传递给下一层次。在前馈神经网络中,信息从输入层逐层传递,直到输出层得到最终结果Transformer中的前馈神经网络层对自注意力机制层的输出进行进一步处理,由两个线性变换和一个ReLU激活函数组成,负责提取输入序列中的高级特征。前馈神经网络首先对输入序列进行线性变换,得到一组新的表示向量。这些表示向量随

温馨提示

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

评论

0/150

提交评论