2022年2022年计算机视觉期末复习 .pdf
一、1.什么是计算机视觉?理解计算机视觉问题的产生原理。研究用计算机来模拟生物视觉功能的技术学科。具体来说,就是让计算机具有对周围世界的空间物体进行传感、抽象、分析判断、决策的能力,从而达到识别、理解的目的。2.直方图的均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。直方图均衡化就是把给定图像的直方图分布改变成“均匀”分布直方图分布。是将原图像通过某种变换,得到一幅灰度直方图更为均匀分布的新图像的方法。设图像均衡化处理后,图像的直方图是平直的,即各灰度级具有相同的出现频数,那么由于灰度级具有均匀的概率分布,图像看起来就更清晰了。二、1.常见的几何变换:平移Tx 为点( x,y)在 x 方向要平移的量。旋转变尺度: x 轴变大 a 倍, y 轴变大 b 倍。2.卷积掩膜技术 :(,)( ,)(,)(,)mnfijh imjn g m n对应相乘再相加掩膜的有效应用去噪问题3. 均值滤波器(低通) :抑制噪声主要用于抑制噪声,对每一个目标像素值用其局部邻域内所有像素值的加权均值置换。con 命令高斯滤波器 :一个朴素的道理,距离目标像素越近的点,往往相关性越大,越远则越不相干。所以,高斯滤波器根据高斯函数选择邻域内各像素的权值medfilt1 。区别方法是:高通滤波器模板的和为0,低通滤波器模板的和为1 常用的非线性滤波器:中值滤波;双边滤波;非局部滤波4.边缘检测算子: 通过一组定义好的函数,定位图像中局部变换剧烈的部分(寻找图像边缘) 。 主要方法有: Robert交叉梯度, Sobel 梯度,拉普拉斯算子,高提升滤波,高斯-拉普拉斯变换(都是高通滤波器)Canny 边缘检测算法步骤: 1. 用高斯滤波器平滑图像2. 用一阶偏导有限差分计算梯度幅值和方向. 3. 对梯度幅值进行非极大值抑制4. 用双阈值算法检测和连接边缘5.分割(大题伪码?)(1)经典方法是基于灰度阈值 的分割方法*介绍单值阈值,它把一幅灰度图像转换成二值图像*求 T的常用的方法是求解灰度直方图中的双峰或者多峰,并以两峰之间的谷底作为阈值。*全局阈值是指整幅图像使用同一个阈值做分割处理,并产生一个二值图,区分出前景对象和背景。适用于背景和前景对比度大的图像算法实现: - 选取一个合适的阈值T,逐行扫描图像凡灰度级大于T 的,颜色置为255;凡灰度级小于T的,颜色置为0 (2)自适应阈值:解决单值阈值无法工作的一个方法是将图像分割为子图像,并分别进行阈值化处理6.Hough变换:可用于将边缘像素连接起来得到边界曲线,主要优点在于受噪声和曲线间断的影响较小(鲁棒性好 ) TyxfTyxfyxg),(0),(1),(如果如果1100cossin011 sincos0001xyxy11000011 0000axyxybab( , )1 , , k lNh i jf k lM10100011 10011yxTTyxyx名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - 这意味着:原图像空间中的每条直线在参数空间中都对应一个点。如果一幅图像中存在某一条直线,那么对应参数空间中,某个点一定被击中较多次。但是如果采用表示直线,不能表示水平和竖直的情况。将其转换为sincosyxsHough 变换就没有了限制。 直线还会变成单个点。参数空间的坐标变成了s,7.拓扑描述(应用?)区域的拓扑描述用于描述物体平面区域结果形状的整体性。也就是说,只要图形不撕裂或者折叠,拓扑描述的性质就不会受到图形变形的影响。常用的特性有:(1)孔:如果一个封闭的区域内,其不包含我们感兴趣的像素,则成为此区域为图像的孔洞,用H 表示。(2)欧拉数 EUL :在图像中,图像中所有对象的总数C 与孔洞数相减,为欧拉数。EUL=C-H 在 Matlab 中,采用 bweuler 计算二值图像的欧拉数。三、1角点 : 是景物轮廓线上曲率的局部极大点,是物体边缘拐角所在的位置点,对掌握景物的轮廓特征具有决定作用。一旦找到了景物的轮廓特征点也就大致掌握了景物的形状。Moravec 角点算子是最早的角点算子颜色特征 :属于图像的内部特征,它描述了图像或者图像一部分区域。颜色特征和线段,角点特征比起来,对于尺寸,方向,突变等不敏感,因此颜色特征被用于图像识别,检索。颜色矩和颜色直方图颜色矩 :以数字方法为基础,通过计算矩来描述颜色的分布,一般来说在RGB空间,由于颜色分布主要集中在低阶矩,因此常采用一阶矩、二阶矩等表达颜色的分布纹理特征 :描述的是对图像区域内的内容变化进行量化,捕捉那种具有周期性,规律性的变化。例如粗糙度,光滑度,颗粒度,随机性和规范性。如灰度差统计,自相关函数,灰度更生矩阵和基于频谱特征的分析法。灰度共生矩阵就是通过研究灰度在空间相关性来描述纹理的常用方法。? ?形状特征 ?尺度空间理论2.排污口检测(大题) :具体检测的思路有两种:第一种:间接阈值法step1: 通过大量采样,在晴天、阴天、多云、大雾的天气条件下,分别选定天空和海水的一块区域,分别在此区域内统计海水和天空的饱和度并求均值;step2: 根据上述得到的海水的饱和度设置阈值。具体阈值的设定方法必须依据天空的饱和度,因为海水的饱和度与天气直接相关。例如,在晴天的条件下,统计得到的天空的平均饱和度,记为sky_threshold ,并根据sky_threshold从大量统计数据中确定一个饱和度的取值范围,例如从M 到 N,海水的平均饱和度记为sea_threshold ,也就是污水的饱和度阈值step3: 当摄像头每次循环获取到当前帧图像时,按照 step1 中的方法, 分别从天空和海水区域分割出一幅子图,统计并计算出二者饱和度的均值,然后进行判断;step4: 当 step3 中得到的天空的饱和度处于M 到 N 的范围,就以sea_threshold 作为污水的阈值,如果step3中得到的海水的平均饱和度低于sea_threshold ,就认为海水被污染了,启动报警系统发出警报,否则继续执行 step3,直到系统关闭;第二种:直接阈值法step1:采集大量样本图片,不考虑天气因素;step2:在海水区域,在排污口附近分割出一幅子图,并统计饱和度,记为s1;step3:在远离排污口处分割出一幅相同大小的子图,并统计饱和度,记为s2(也可以设置一个经验阈值);step4:计算两个饱和度的差值记s = s1 - s2 , 然后根据多次试验, 求多组s 的平均值,作为污水的阈值, 记 threshold ;step4 之后,摄像头每次获取的当前图片重复上述操作,当计算得到的饱和度差值大于threshold 时,认为排污口正在排污,启动报警系统发出警报。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - 3.熵熵是图像所具有的信息量的度量,纹理信息也属于图像的信息,是一个随机性的度量,当共生矩阵中所有元素有最大的随机性、空间共生矩阵中所有值几乎相等时,共生矩阵中元素分散分布时,熵较大。它表示了图像中纹理的非均匀程度或复杂程度。若灰度共生矩阵值分布均匀,也即图像近于随机或噪声很大,熵会有较大值。4.Sift特征/ 步骤?a) SIFT 特征是图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性。b) 独特性 (Distinctiveness)好,信息量丰富,适用于在海量特征数据库中进行快速、准确的匹配。c) 多量性,即使少数的几个物体也可以产生大量SIFT 特征向量。d) 高速性,经优化的SIFT 匹配算法甚至可以达到实时的要求。e) 可扩展性,可以很方便的与其他形式的特征向量进行联合5. 均值漂移:是一种有效的统计迭代算法。是一种基于密度梯度上升的非参数方法,通过迭代运算找到目标位置,实现目标跟踪。它显著的优点是算法计算量小,简单易实现,适合于实时跟踪场合;但是跟踪小目标和快速移动目标时常常失败,而且在全部遮挡情况下不能自我恢复跟踪。通过实验提出应用核直方图来计算目标分布,证明了均值漂移算法具有很好的实时性特点Mean Shift特性四、1.人工智能:AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。它企图了解人类与机器智能的实质,并生产出一种能以人类智能相似的方式做出反应的智能机器。2.机器学习 :通过算法使得机器从大量的历史数据中习得规律,从而对新的数据样本做智能识别或预测未来。机器学习主要分为 符号主义学习 (以决策树模型与相关算法为代表)、 连接主义学习 (以神经网络模型.) 与统计学习(以支持向量机.)3.机器学习按照学习的方式:1.监督学习 : 一种典型的机器学习方法。利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程。监督学习相当于有人在旁边看着算法学习(实际上利用两组已经标定好的正样本和负样本去实现),随时纠正学习中的错误。纠正的方式就是对于错误的学习给予惩罚(例如降低权值),直到训练得到的模型达到目标识别率。2.非监督学习 :在未加标签的数据中(没有正负样本集合了),试图找到隐藏的结构。因为提供给学习者的实例是未标记的,因此没有错误或报酬信号来评估潜在的解决方案。典型算法为K-means算法。3.强化学习 :不同于监督学习一开始就提供带标签的学习数据集合,强化学习中由环境提供学习好坏作的评价(通常为一个回报函数 ),RL系统靠获得的反馈不断的获得知识并改进学习方案,从而进行自身学习。典型的算法: Agent 技术。4.深度学习 :概念源于人工神经网络的研究。是一种多隐式层的神经网络。通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。相互关系简述每个人工智能机器学习神经网络深度学习名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 6 页 - - - - - - - - - 4.贝叶斯方法(大题) (概率图模型)算题:P(A|B) 表示事件 B 已经发生的前提下,事件A 发生的概率,叫做事件B发生下事件的条件概率。(通常用)?注意:朴素贝叶斯算法是假设各个特征之间相互独立。举例:一座别墅在过去的20 年里一共发生过2 次被盗,别墅的主人有一条狗,狗平均每周 晚 上 叫3 次( A) ,在盗贼入侵(B)时狗叫的概率被估计为0.9,问题是:在狗叫的时候发生入侵的概率是多少?答: 我们假设A 事件为狗在晚上叫,B 为盗贼入侵,我们现在要估计的是P(B|A) 。则以天为单位统计,P(A) = 3/7,P(B) = 2/(20*365) = 2/7300 ,P(A|B) = 0.9 ,按照公式很容易得出结果:P(B|A) = 0.9*(2/7300)/(3/7) = 0.00058 5.聚类: 聚类分析是在数据中发现数据对象之间的关系,将 sj 进行分组, 组内的相似性越大,组间的差别越大,则聚类效果越好。K-means 算法是一种硬聚类算法,是典型的基于原型的目标函数聚类方法的代表。K 均值聚类法步骤:一、初始化聚类中心?1、根据具体问题,凭经验从样本集中选出C 个比较合适的样本作为初始聚类中心。?2、用前 C个样本作为初始聚类中心。?3、将全部样本随机地分成C类,计算每类的样本均值,将样本均值作为初始聚类中心二、初始聚类?1、按就近原则将样本归入各聚类中心所代表的类中。?2、取一样本,将其归入与其最近的聚类中心的那一类中,重新计算样本均值,更新聚类中心。然后取下一样本,重复操作,直至所有样本归入相应类中。三、判断聚类是否合理?采用误差平方和准则函数判断聚类是否合理,不合理则修改分类。循环进行判断、修改直至达到算法终止条件。6.k 近邻算法(大题) :(是一种基本分类和回归方法)即是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的k 个实例,这 k 个实例的多数属于某个类,就把该输入实例分类到这个类中。(类似于少数服从多数思想)/ 最近的概念?归一化公式?算法藻类识别五、1.视频处理方法mmreadermyvideo = mmread(FileName. 后缀名 ,1:10);如:myvideo=mmread(test.mp4,1:10); % myvideo 是一个数组, 1:10 表示读取第1:10 帧.(读取的文件要在当前目录,否则自己路径) 或者 video,sound = mmread(FileName. 后缀名 ,1:10);%video,sound分别表示视频和音频例如:一个读取视频,显示帧,并保存每一帧的代码为:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 6 页 - - - - - - - - - 2.帧差法两帧差法伪代码:下面一样三帧差法伪代码:3.Lucas-Kanade是一种广泛使用的光流 估计的差分方法,这个方法是由Bruce D. Lucas和 Takeo Kanade发明的。它假设光流在像素点的邻域是一个常数,然后使用最小二乘法对邻域中的所有像素点求解基本的光流方程。调用方式:Lucas_Kanade(1.bmp,2.bmp,10) 对运动大小的敏感程度。 (上图)六、被动测距传感 指视觉系统接收来自场景发射或反射的光能量,形成有关场景光能量分布函数,即灰度图像,然后在这些图像的基础上恢复场景的深度信息最一般的方法是使用两个相隔一定距离的摄像机同时获取场景图像来生成深度图与此方法相类似的另一种方法是一个摄象机在不同空间位置上获取两幅或两幅以上图像,通过多幅图像的灰度信息和成象几何来生成深度图深度信息还可以使用灰度图像的明暗特征、纹理特征、运动特征间接地估算是主动测距传感 是指视觉系统首先向场景发射能量,然后接收场景对所发射能量的反射能量主动测距传感系统也称为测距成象系统雷达测距系统和三角测距系统是两种最常用的两种主动测距传感系统因此,主动和被动测距传感的主要区别在于视觉系统是否是通过增收自身发射的能量来测距。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 6 页 - - - - - - - - - 读图像:读取A=imread(FILENAME,FMT) 这里 FILENAME 指定图像文件的完整路径和文件名。如果在work 工作目录下只需提供文件名。FMT 为图像文件的格式对应的标准扩展名。I1=imread(D:1.jpg); % 读入图像图像进行处理1.图像的平移是将图像映射到新图像中的新坐标。function J=move(I,a,b) % 定义一个函数名字move, I 表示输入图像,a 和 b 描述 I 图像沿着 x 轴和 y 轴移动的距离% 不考虑平移以后,图像溢出情况,找不到对应点的地方都赋值为1 M,N,G=size(I);%获取输入图像I 的大小 ,彩色图像,多出一维I=im2double(I); % 将图像数据类型转换成双精度J=ones(M,N,G); %初始化新图像矩阵全为1,大小与输入图像相同for i=1:M for j=1:N if(i+a)=1&(i+a=1)&(j+b=N);%判断平移以后行列坐标是否超出范围J(i+a,j+b,:)=I(i,j,:);%进行图像平移%最后一维遍历end end end 2.图像的缩放是指将图像按照x 和 y 方向缩放。B=imresize(I,m) m 大于 1 时,是放大;m 小于 1,是缩小。B=imresize(I,mrows ncols) 表示缩放后结果图像的大小。3 旋转:指整幅图像以原点(图像的中心)按照一定的角度旋转。使用 imrotate() 命令进行旋转。B=imrotate(A,angle) B=imrotate(A,angle,method) method指得是插值的方法B=imrotate(A,angle,method ,bbox) bbox 表示新图像大小,这是因为旋转导致四角越界,需要对图像进行缩小。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 6 页 - - - - - - - - -