收藏 分销(赏)

10--图像匹配教学课件.pptx

上传人:w****g 文档编号:10263395 上传时间:2025-05-06 格式:PPTX 页数:42 大小:2.39MB
下载 相关 举报
10--图像匹配教学课件.pptx_第1页
第1页 / 共42页
10--图像匹配教学课件.pptx_第2页
第2页 / 共42页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2021/12/8 Wednesday,#,Institute of Robotics and Automatic Information System,Click to edit the title text format,机器人与信息自动化研究所,Institute of Robotics&Automatic Information System,Institute of Robotics and Automatic Information System,Click to edit the title text format,单击此处编辑母版标题样式,2021/12/8 Wednesday,#,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,/,机器视觉及应用,第十章图像模板匹配,主要内容,基于灰度的模板匹配,基于边缘的模板匹配方法,基于形状的模板匹配方法,图像模板匹配概念,带旋转和缩放的匹配,图像金字塔,基于特征的匹配,1,、在一幅图像中寻找,与模板图像相似,的部分。,2,、使用模板匹配可以应用的场合:,(,1,),完整性检测,,检测某个物体是否存在,(,2,),物体识别,,区别不同的物体,(,3,)得到目标,物体的位姿,3,、大多数应用中,搜索图像只有一个目标物体,模板匹配的目的在于找到这个物体。,图像模板匹配概念,4,、如果知道图像中存在多少个目标,需要找出,确定数量的模板物体,5,、如果不知道数量,需要找到,究竟有多少个目标,。,6,、常用图像匹配的,相似度判定方法,:欧氏距离、卡方距离、平方和距离、绝对值距离等。,图像模板匹配概念,1,、,在,模板匹配算法中,涉及到相似度的度量问题,其度量方法有很多,但几乎都是计算模板图像与被检测对象之间,像素值之间的差异,。,2,、,模板匹配,算法的运算时间取决于模板在图像上的平移次数和模板图像的大小,。该,算法需要大量的,计算,,为了提高该算法的运行效率,通常需要对图像进行构建图像金字塔,通过,图像金字塔向下采样,,,减少运算数量,,从而提高该算法的运行效率,。,图像金字塔,3,、,图像,金字塔是图像,多尺度,表达的一种,是一种以多分辨率来解释图像的有效但概念简单的结构,。,4,、,一,幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合。其通过依次,向下采样,获得,直到达到某个终止条件才停止采样,。,5,、,图像,金字塔,层级越高,,则,图像越小,,,分辨率越低,。常见两类图像金字塔:,(,1,)高斯金字塔。,(,2,)拉普拉斯金字塔。,图像金字塔,用于,图像,向下采样,,也称为,降采样,。如果要得到第,1,层采样结果,首先对第,0,层原始图像进行高斯滤波,然后删除所有的偶数行和列,即得到第,1,层高斯采样图像。因此,第,1,层的图像大小是第,0,层原始图像的,1/4,。以此内推,即可完成所有层的高斯金字塔下采样,。,图像金字塔,高斯金字塔,1,、,高斯,金字塔采样的过程也是图像缩小的过程,。图像,的,分辨率依次降低,,图像的,信息,也会产生,丢失,。,2,、,如果,利用高斯金字塔从高层,重建下一层图像,,称为,向上采样,。,3,、,向上,采样需要将图像在每个方向扩大为原图像的,2,倍,新增的行和列均用,0,来填充,并使用与向下取样相同的卷积核乘以,4,,再与放大后的图像进行卷积运算,以获得“新增像素”的新值,。,4,、,向上,采样和向下采样并不是可逆的,,向上采样并不能还原上一层的图像,其图像信息会出现丢失。为了避免向上采样图像信息丢失,一般采用,拉普拉斯金字塔,从底层还原图像,。,图像金字塔,高斯金字塔,1,、,从,金字塔高层图像,重建下层未采样图像,,在数字图像处理中也即是,预测残差,,可以对图像进行最大程度的还原,如果需要还原原始图像,需要拉普拉斯金字塔配合高斯金字塔一起使用。,2,、,图像,经过高斯卷积核降采样之后,会,丢失图像高频部分的信息,。因此,定义,拉普拉斯金字塔来描述这部分高频信息,。用高斯金字塔的每层图像减去上一层图像上采样并与高斯卷积之后的图像即为拉普拉斯金字塔图像,。,3,、,拉普拉斯,金字塔是通过,源图像减去先缩小后再放大的图像的一系列图像,构成的。,图像金字塔,拉普拉斯金字塔,4,、,拉普拉斯第,层金字塔图像的数学,定义,:,图像金字塔,拉普拉斯金字塔,1,、,计算模板与图像之间的相似度,2,、,模板沿着图像移动,,每移动一个位置,计算模板与图像中对应位置的相似度,最后根据相似度的大小,确定匹配的目标对象位置。,3,、根据相似度的大小,,设定,一个,阈值,,满足阈值条件的认为是匹配对象。,基于灰度的模板匹配,4,、常用基于灰度的相似度计算方法:,(,1,)平方差匹配法:最好匹配为,0,,匹配越差,匹配值越大。,(,2,)归一化平方差匹配法,基于灰度的模板匹配,(,3,)相关匹配法:,值越大,匹配越好,匹配越差,匹配值越小。,(,4,)归一化相关匹配法,基于灰度的模板匹配,(,5,),相关,系数匹配法:,1,表示完全,匹配,,-1,表示匹配差,,0,表示没有任何相关性。,其中,(,6,)归一化相关系数匹配法,基于灰度的模板匹配,该方法匹配效果好,不受光照影响。,例 匹配示例,1,基于灰度的模板匹配,dev_close_window(),dev_open_window(0,300,-1,-1,black,WindowID),read_image(Die,die/die_03.png,),*,画矩形,draw_rectangle1(WindowID,Row1,Column1,Row2,Column2),*,根据画的矩形生成以一个,ROI,区域,gen_rectangle1(ROI,Row1,Column1,Row2,Column2,),*,根据,ROI,区域对图像进行约简,,ImageReduced,虽然和原图一样大小,但是只包括,ROI,区域的数据,reduce_domain(Die,ROI,ImageReduced),基于灰度的模板匹配,*,得到图像的高宽,get_image_size(ImageReduced,Width,Height),*,根据约简的图像,ImageReduced,创建一个模板,create_template(ImageReduced,5,4,sort,original,TemplateID),*,模板的中心位置,TemplRow:=(Row1+Row2)/2,TemplCol:=(Column1+Column2)/2,*,利用快速匹配得到匹配结果,Matches,fast_match(Die,Matches,TemplateID,20),*,得到匹配结果的连通区域,connection(Matches,BallROI,),*,把图像,Die,的像素值赋给每个连通域,BallROI,,得到,BallImg,add_channels(BallROI,Die,BallImg),基于灰度的模板匹配,*,在,BallImg,中寻找最佳匹配,best_match(BallImg,TemplateID,20,true,Row,Column,Error),*disp_rectangle1(WindowID,Row1+Row-TemplRow,Column1+Column-TemplCol,Row2+Row-TemplRow,Column2+Column-TemplCol),RealNumBalls:=0,for i:=1 to BallNum by 1,if(Errori-1 255),disp_rectangle1(WindowID,Row1+Row-TemplRow,Column1+Column-TemplCol,Row2+Row-TemplRow,Column2+Column-TemplCol),RealNumBalls:=RealNumBalls+1,endif,endfor,基于灰度的模板匹配,例,匹配,示例,2,基于灰度的模板匹配,read_image(Image,die/die_03.png,),gen_rectangle1(ROI_0,98.4227,292.975,161.973,359.405),reduce_domain(Image,ROI_0,ImageReduced),create_ncc_model(ImageReduced,auto,-0.39,0.79,auto,use_polarity,ModelID),find_ncc_model(Image,ModelID,-0.39,0.79,0.6,0,0.5,true,0,Row,Column,Angle,Score),for i:=0 to|Score|-1 by 1,vector_angle_to_rigid(0,0,0,Rowi,Columni,Anglei,HomMat2D),affine_trans_pixel(HomMat2D,0,0,RowObject,ColumnObject),dev_display_ncc_matching_results(ModelID,red,Rowi,Columni,Angle,0),endfor,基于灰度的模板匹配,read_image(Image,/,die/die_03.png),gen_rectangle1(ROI_0,98.4227,292.975,161.973,359.405),reduce_domain(Image,ROI_0,ImageReduced),create_ncc_model(ImageReduced,auto,-0.39,0.79,auto,use_polarity,ModelID),find_ncc_model(Image,ModelID,-0.39,0.79,0.6,0,0.5,true,0,Row,Column,Angle,Score),for i:=0 to|Score|-1 by 1,vector_angle_to_rigid(0,0,0,Rowi,Columni,Anglei,HomMat2D),affine_trans_pixel(HomMat2D,0,0,RowObject,ColumnObject),dev_display_ncc_matching_results(ModelID,red,Rowi,Columni,Angle,0),endfor,基于灰度的模板匹配,1,、,在多数机器视觉系统中,采集的图像并不是出于理想的位置。在实时采集的过程中,由于产品在传送带中不可避免会出现振动,导致图像可能出现相对于理想位置具有一定的,旋转,角度。同时,图像的,大小,也存在一定的,变化,,因为产品距离相机的位置会实时发生变化,尽管这种变化在多数情况下可能很小,但是为了准确匹配到目标对象,也必须考虑这种变化,。,带旋转和缩放的匹配,2,、,为了,在目标图像中找到发生了旋转的对象,需要创建,多个方向的模板图像,,将目标的搜索空间扩大到各个角度。,3,、,为了保证图像存在缩放的情况下,也能准确匹配到目标对象。通常的做法是将目标图像在一定,缩放范围内与模板图像进行匹配,。,带旋转和缩放的匹配,4,、,目标图像缩放范围的大小以及增长幅度对匹配速度也有一定的影响。一般增长幅度为,0.1,左右。对于精度要求不高的匹配结果,,其,增长幅度可以适当增大,其匹配的准确性可以通过调节相似度阈值,,也,能够准确的找到目标对象。缩放范围一般为,0.9,到,1.1,之间,毕竟在实际运动线体上,产品与相机之间的距离变化不会很大,如果确实有必要,设置在,0.8,到,1.2,之间,能够满足绝大部分存在缩放的情况下的匹配要求。,1,、基于灰度值匹配的问题:,(,1,)严重的非线性光照的变化,会导致无法准确匹配。,(,2,)目标对象存在部分遮挡的情况下,无法匹配,。,(,3,)目标对象,存在大的干扰的情况下,无法匹配。,基于边缘的模板匹配方法,2,、边缘不会受到光照变化的,影响,,采用边缘进行匹配,更加可靠,。,3,、边缘匹配的问题:如何,选择合适的阈值,进行边缘提取。,4,、采用边缘匹配的几种策略:,(,1,)直接用原始边缘,(,2,)增加每个边缘点的特性,(,3,)将边缘分割为多个几何基元进行匹配,(,4,)基于边缘的分割,得到边缘的突变点,匹配这些突变点,基于边缘的模板匹配方法,1,、基于,边缘的匹配,的需要首先提取边缘,其只能,适应小范围的光照变化,,如果降低图像的对比度,提取的边缘点就越来越少,会影响匹配结果。,2,、基于形状,的方法:,(,1,),将模板定义为点,集,将,点集坐标转换为相对于感兴趣区域的重心的相对坐标,(,2,)计算每个点的方向,方向可以采用边缘提取方法进行计算得到。,(,3,)计算模板上的方向与图像上对应位置的方向向量之间的点积之和。,基于形状的模板匹配方法,3,、该方法相似度量能够完全不受,遮挡和混乱,的影响,如果部分目标消失,模板上对应位置的边缘就没有出现在图像上,这些点的向量就非常短,因此,不影响总和,。,4,、为了完全避免光照的影响,将,方向向量,进行,归一化,。,5,、即使在存在,噪声,的情况下,噪声将导致一个随机的方向向量,其结果,不会对总和造成影响,。,基于形状的模板匹配方法,例 基于形状的模板,dev_update_pc(off),dev_update_window(off),dev_update_var(off),read_image(Image,E:/,示例,/3.png),get_image_size(Image,Width,Height),dev_close_window(),dev_open_window(0,0,Width,Height,black,WindowHandle),dev_set_color(red),*dev_set_draw(margin,),基于形状的模板匹配方法,dev_display,(Image),threshold(Image,Region,0,128),connection(Region,ConnectedRegions),select_shape(ConnectedRegions,SelectedRegions,area,and,10000,20000),fill_up(SelectedRegions,RegionFillUp),dilation_circle(RegionFillUp,RegionDilation,5.5),reduce_domain(Image,RegionDilation,ImageReduced),create_scaled_shape_model(ImageReduced,5,rad(-45),rad(90),auto,0.8,1,auto,none,ignore_global_polarity,40,10,ModelID,),基于形状的模板匹配方法,get_shape_model_contours,(Model,ModelID,1),area_center(RegionFillUp,Area,RowRef,ColumnRef),vector_angle_to_rigid(0,0,0,RowRef,ColumnRef,0,HomMat2D),affine_trans_contour_xld(Model,ModelTrans,HomMat2D),dev_display(Image),dev_display(ModelTrans,),read_image(Image4,E:/,示例,/4.png),dev_display(Image4,),基于形状的模板匹配方法,find_scaled_shape_model(Image4,ModelID,rad(-45),rad(90),0.8,1.0,0.3,0,0.5,least_squares,5,0.8,Row,Column,Angle,Scale,Score),for i:=0 to|Score|-1 by 1,hom_mat2d_identity(HomMat2DIdentity),hom_mat2d_translate(HomMat2DIdentity,Rowi,Columni,HomMat2DTranslate),hom_mat2d_rotate(HomMat2DTranslate,Anglei,Rowi,Columni,HomMat2DRotate),hom_mat2d_scale(HomMat2DRotate,Scalei,Scalei,Rowi,Columni,HomMat2DScale),affine_trans_contour_xld(Model,ModelTrans,HomMat2DScale),gen_region_contour_xld(ModelTrans,Region2,filled),intensity(Region2,Image4,Mean,Deviation),dev_display(ModelTrans),endfor,匹配。,基于形状的模板匹配方法,基于形状的模板匹配方法,1,、,图像,的,矩匹配,是一种,基于特征,的匹配方法,。,2,、,矩,是概率与统计中的一个概念,是随机变量的一种数字特征。矩在数字图像处理中有着广泛的应用,如模式识别、目标分类、图像编码与重构等,。,3,、,数字,图像中的矩,通常用于描述图像中目标对象的轮廓的形状特征,这种特征可以用于对图像做进一步的分析,如大小、位置、方向及形状等。利用这种特征可以实现模板图像与目标图像之间的匹配,用于查找目标图像中是否存在与模板相似的目标。,基于特征的匹配,基于,矩的匹配方法,4,、,连续函数中,矩的,定,:,5,、,二维离散函数,矩,的,定义,基于特征的匹配,基于,矩的匹配方法,6,、,0,阶矩认为是目标区域的质量,而,1,阶矩表示目标区域的质心,,2,阶矩表示目标区域的旋转半径,,3,阶矩表示目标区域的方位和斜度,反应目标的扭曲,。,图像的,重心坐标,:,基于特征的匹配,基于,矩的匹配方法,7,、,由,重心坐标可以,构造,中心矩,基于特征的匹配,基于,矩的匹配方法,8,、,为抵消尺度变化对中心矩的影响,利用零阶中心矩,对各阶中心距进行归一化处理,得到归一化中心矩:,9,、,利用二阶和三阶归一化中心矩可以,构造,7,个不变矩,该矩称为,hu,不变矩。,hu,不变矩是一高度浓缩的图像特征,在连续图像下具有平移、尺度、旋转不变性等特性。,基于特征的匹配,基于,矩的匹配方法,10,、,利用,hu,不变矩进行匹配即利用了该特征具有平移、尺度、旋转不变性等特性,。,通常计算轮廓的,hu,不变矩来实现,该方法对轮廓的精度要求比较高。,基于特征的匹配,基于,矩的匹配方法,1,、,图像中的特征点是指图像中目标对象的,角点、拐点以及极值点,等,这些点在图像上表现为图像,边缘上,曲率,较大的点或灰度值发生剧烈变化的点。特征点通常不受光照变化的影响,同时,即使图像出现了平移、旋转、缩放的变化,特征点依然不变。因此,特征点是比较稳定的一种特征。但是,首先需要准确检测出这些特征点,才能进行匹配,。,2,、,经典的有,SIFT,算法,由此衍生出如,SURF,、,BRISK,、,FREAK,、,FAST,、,ORB,等特征点检测算法。,基于特征的匹配,基于特征点的匹配方法,3,、,特征点算法检测结果是一个点集。因此,其匹配方法是判断模板图像中的特征点与目标图像中对应位置的特征点之间的相似性,也就是判断两个点集之间的相似性,。,4,、,可以,采用,Hausdorff,距离,来判断两个点集的相似度。,Hausdorff,距离不需要点之间有一一对应的关系,只是计算两个点集的相似度。所以,,Hausdorff,距离可以处理有多个特征点的情况。,基于特征的匹配,基于特征点的匹配方法,5,、,采用特征点进行匹配需要,考虑特征,点的检测算法是否足够稳定。即对于不同光照、不同旋转角度以及缩放的图像,都能够准确检测出特征点。此外,图像中必须一定数量的特征点,如果模板图像中没有检测出特征点,该算法也是失效的。一种改进方法是直接将图像中的边缘点作为特征点,如果图像中存在遮挡、混乱的情况,此时也可以采用,Hausdorff,距离进行匹配。只是,这时候不再求最大距离,可以给定一个阈值,距离满足阈值要求的认为是匹配的。另一个需要考虑的问题是,,Hausdorff,距离的,计算比较耗时,,如果机器视觉系统对时间的要求比较高,则需要慎重使用该算法。,基于特征的匹配,基于特征点的匹配方法,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服