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

上传人:春哥&#****71; 文档编号:11332422 上传时间:2022-04-18 格式:PPTX 页数:42 大小:2.39MB
返回 下载 相关 举报
10- 图像匹配教学课件.pptx_第1页
第1页 / 共42页
10- 图像匹配教学课件.pptx_第2页
第2页 / 共42页
点击查看更多>>
资源描述

《10- 图像匹配教学课件.pptx》由会员分享,可在线阅读,更多相关《10- 图像匹配教学课件.pptx(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、机器视觉及应用第十章图像模板匹配3/主要内容 基于灰度的模板匹配 基于边缘的模板匹配方法 基于形状的模板匹配方法 图像模板匹配概念 带旋转和缩放的匹配 图像金字塔 基于特征的匹配4/1、在一幅图像中寻找与模板图像相似与模板图像相似的部分。2、使用模板匹配可以应用的场合:(1)完整性检测完整性检测,检测某个物体是否存在(2)物体识别物体识别,区别不同的物体(3)得到目标物体的位姿物体的位姿3、大多数应用中,搜索图像只有一个目标物体,模板匹配的目的在于找到这个物体。5/4、如果知道图像中存在多少个目标,需要找出确定确定数量的模板物体数量的模板物体5、如果不知道数量,需要找到究竟有多少个目标究竟有多

2、少个目标。6、常用图像匹配的相似度判定方法相似度判定方法:欧氏距离、卡方距离、平方和距离、绝对值距离等。6/1、在模板匹配算法中,涉及到相似度的度量问题,其度量方法有很多,但几乎都是计算模板图像与被检测对象之间像素值之间的差异。2、模板匹配算法的运算时间取决于模板在图像上的平移次数和模板图像的大小。该算法需要大量的计算,为了提高该算法的运行效率,通常需要对图像进行构建图像金字塔,通过图像金字塔向下采样,减少运算数量,从而提高该算法的运行效率。7/3、图像金字塔是图像多尺度表达的一种,是一种以多分辨率来解释图像的有效但概念简单的结构。4、一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,

3、且来源于同一张原始图的图像集合。其通过依次向下采样获得,直到达到某个终止条件才停止采样。5、图像金字塔层级越高,则图像越小,分辨率越低。常见两类图像金字塔:(1)高斯金字塔。(2)拉普拉斯金字塔。8/用于图像向下采样,也称为降采样。如果要得到第1层采样结果,首先对第0层原始图像进行高斯滤波,然后删除所有的偶数行和列,即得到第1层高斯采样图像。因此,第1层的图像大小是第0层原始图像的1/4。以此内推,即可完成所有层的高斯金字塔下采样。9/1、高斯金字塔采样的过程也是图像缩小的过程。图像的分辨率依次降低,图像的信息也会产生丢失。2、如果利用高斯金字塔从高层重建下一层图像,称为向上采样。3、向上采样

4、需要将图像在每个方向扩大为原图像的2倍,新增的行和列均用0来填充,并使用与向下取样相同的卷积核乘以4,再与放大后的图像进行卷积运算,以获得“新增像素”的新值。4、向上采样和向下采样并不是可逆的,向上采样并不能还原上一层的图像,其图像信息会出现丢失。为了避免向上采样图像信息丢失,一般采用拉普拉斯金字塔,从底层还原图像。10/1、从金字塔高层图像重建下层未采样图像,在数字图像处理中也即是预测残差,可以对图像进行最大程度的还原,如果需要还原原始图像,需要拉普拉斯金字塔配合高斯金字塔一起使用。2、图像经过高斯卷积核降采样之后,会丢失图像高频部分的信息。因此,定义拉普拉斯金字塔来描述这部分高频信息。用高

5、斯金字塔的每层图像减去上一层图像上采样并与高斯卷积之后的图像即为拉普拉斯金字塔图像。3、拉普拉斯金字塔是通过源图像减去先缩小后再放大的图像的一系列图像构成的。11/4、拉普拉斯第 层金字塔图像的数学定义:1()iiiLGUP Gg12/1、计算模板与图像之间的相似度计算模板与图像之间的相似度2、模板沿着图像移动模板沿着图像移动,每移动一个位置,计算模板与图像中对应位置的相似度,最后根据相似度的大小,确定匹配的目标对象位置。3、根据相似度的大小,设定设定一个阈值阈值,满足阈值条件的认为是匹配对象。13/4、常用基于灰度的相似度计算方法:(1)平方差匹配法:最好匹配为0,匹配越差,匹配值越大。(2

6、)归一化平方差匹配法2( , )( (,)(,)xyR x yT xyf xxyy222( (,)(,)( , )(,)(,)xyxyxyT xyf xxyyR x yT xyf xxyy14/(3)相关匹配法:值越大匹配越好,匹配越差,匹配值越小。(4)归一化相关匹配法( , )(,)(,)xyR x yT xyf xxyy22( (,)(,)( , )(,)(,)xyxyxyT xyf xxyyR x yT xyf xxyy15/(5)相关系数匹配法:1表示完全匹配,-1表示匹配差,0表示没有任何相关性。其中(6)归一化相关系数匹配法, ( , )(, ,)(,)xyR x yTxyfxx

7、yy, 1(,)(,)(,)xyTxyT xyT xywh, 1(,)(,)(,)xyfxxyyf xxyyf xxyywh, 22, , (, ,)(,)( , )(, ,)(, )xyxyxyTxyfxxyyR x yTxyfxxyy该方法匹配效果好,不受光照影响。16/例 匹配示例1dev_close_window ()dev_open_window (0, 300, -1, -1, black, WindowID)read_image (Die, die/die_03.png)*画矩形draw_rectangle1 (WindowID, Row1, Column1, Row2, Col

8、umn2)*根据画的矩形生成以一个ROI区域gen_rectangle1 (ROI, Row1, Column1, Row2, Column2)*根据ROI区域对图像进行约简,ImageReduced虽然和原图一样大小,但是只包括ROI区域的数据reduce_domain (Die, ROI, ImageReduced)17/*得到图像的高宽get_image_size (ImageReduced, Width, Height)*根据约简的图像ImageReduced创建一个模板create_template (ImageReduced, 5, 4, sort, original, Templ

9、ateID)*模板的中心位置TemplRow := (Row1+Row2)/2TemplCol := (Column1+Column2)/2*利用快速匹配得到匹配结果Matchesfast_match (Die, Matches, TemplateID, 20)*得到匹配结果的连通区域connection (Matches, BallROI)*把图像Die的像素值赋给每个连通域BallROI,得到BallImgadd_channels (BallROI, Die, BallImg)18/*在BallImg中寻找最佳匹配best_match (BallImg, TemplateID, 20, t

10、rue, Row, Column, Error)* disp_rectangle1 (WindowID, Row1+Row-TemplRow, Column1+Column-TemplCol, Row2+Row-TemplRow, Column2+Column-TemplCol)RealNumBalls := 0for i:= 1 to BallNum by 1 if(Errori-1 255) disp_rectangle1 (WindowID, Row1+Row-TemplRow, Column1+Column-TemplCol, Row2+Row-TemplRow, Column2+Co

11、lumn-TemplCol) RealNumBalls := RealNumBalls+1 endifendfor19/20/例 匹配示例2read_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

12、, 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)e

13、ndfor21/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, An

14、gle, 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)endfor22/23/ 1、在多数机器视觉系统中,采集的图像并不是出于理想的位置。在实时采集的过程中,由于产品在传送带中不

15、可避免会出现振动,导致图像可能出现相对于理想位置具有一定的旋转角度。同时,图像的大小也存在一定的变化,因为产品距离相机的位置会实时发生变化,尽管这种变化在多数情况下可能很小,但是为了准确匹配到目标对象,也必须考虑这种变化。2、为了在目标图像中找到发生了旋转的对象,需要创建多个方向的模板图像,将目标的搜索空间扩大到各个角度。24/ 3、为了保证图像存在缩放的情况下,也能准确匹配到目标对象。通常的做法是将目标图像在一定缩放范围内与模板图像进行匹配。4、目标图像缩放范围的大小以及增长幅度对匹配速度也有一定的影响。一般增长幅度为0.1左右。对于精度要求不高的匹配结果,其增长幅度可以适当增大,其匹配的准

16、确性可以通过调节相似度阈值,也能够准确的找到目标对象。缩放范围一般为0.9到1.1之间,毕竟在实际运动线体上,产品与相机之间的距离变化不会很大,如果确实有必要,设置在0.8到1.2之间,能够满足绝大部分存在缩放的情况下的匹配要求。25/1、基于灰度值匹配的问题:(1)严重的非线性光照的变化,会导致无法准确匹配。(2)目标对象存在部分遮挡的情况下,无法匹配。(3)目标对象存在大的干扰的情况下,无法匹配。26/2、边缘不会受到光照变化的影响,采用边缘进采用边缘进行匹配行匹配更加可靠。3、边缘匹配的问题:如何选择合适的阈值选择合适的阈值进行边缘提取。4、采用边缘匹配的几种策略:(1)直接用原始边缘(

17、2)增加每个边缘点的特性(3)将边缘分割为多个几何基元进行匹配(4)基于边缘的分割,得到边缘的突变点,匹配这些突变点27/1、基于边缘的匹配边缘的匹配的需要首先提取边缘,其只能适应小范围的光照变化适应小范围的光照变化,如果降低图像的对比度,提取的边缘点就越来越少,会影响匹配结果。2、基于形状的方法:(1)将模板定义为点集,将点集坐标转换为相对于感兴趣区域的重心的相对坐标(2)计算每个点的方向,方向可以采用边缘提取方法进行计算得到。(3)计算模板上的方向与图像上对应位置的方向向量之间的点积之和。28/3、该方法相似度量能够完全不受遮挡和混乱遮挡和混乱的影响,如果部分目标消失,模板上对应位置的边缘

18、就没有出现在图像上,这些点的向量就非常短,因此不影响总和不影响总和。4、为了完全避免光照的影响,将方向向量方向向量进行归归一化一化。5、即使在存在噪声噪声的情况下,噪声将导致一个随机的方向向量,其结果不会对总和造成影响不会对总和造成影响。29/例 基于形状的模板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,

19、0, Width, Height, black, WindowHandle)dev_set_color (red)*dev_set_draw (margin)30/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 (

20、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)31/get_shape_model_contours (Model, ModelID, 1)area_center (RegionFillUp, Area, RowRef

21、, 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)32/find_scaled_shape_model (Image4, ModelID, rad(-45), rad(90), 0.8, 1.0, 0.

22、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 (

23、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匹配。33/34/1、图像的矩匹配是一种基于特征的匹配方法。2、矩是概率与统计中的一个概念,是随机变

24、量的一种数字特征。矩在数字图像处理中有着广泛的应用,如模式识别、目标分类、图像编码与重构等。3、数字图像中的矩,通常用于描述图像中目标对象的轮廓的形状特征,这种特征可以用于对图像做进一步的分析,如大小、位置、方向及形状等。利用这种特征可以实现模板图像与目标图像之间的匹配,用于查找目标图像中是否存在与模板相似的目标。 基于基于矩的匹配方法矩的匹配方法35/4、连续函数中,矩的定:5、二维离散函数矩的定义 基于基于矩的匹配方法矩的匹配方法( , ),0,1,2,pqpqxymx y f x y d dp q x 11( , )mnpqpqymx y f x y36/6、0阶矩认为是目标区域的质量,

25、而1阶矩表示目标区域的质心,2阶矩表示目标区域的旋转半径,3阶矩表示目标区域的方位和斜度,反应目标的扭曲。图像的重心坐标: 基于基于矩的匹配方法矩的匹配方法x 111000 x 11x 110100 x 11( , )( , )( , )y( , )nmycnmynmycnmyxf x ymxmf x yyf y ymmf x y37/7、由重心坐标可以构造中心矩 基于基于矩的匹配方法矩的匹配方法x 11()() ( , )nmpqpqccyuxxyyf x y8、为抵消尺度变化对中心矩的影响,利用零阶中心矩 对各阶中心距进行归一化处理,得到归一化中心矩:00pqpqruu38/9、利用二阶和

26、三阶归一化中心矩可以构造7个不变矩,该矩称为hu不变矩。hu不变矩是一高度浓缩的图像特征,在连续图像下具有平移、尺度、旋转不变性等特性。 基于基于矩的匹配方法矩的匹配方法12002M2222002114M2233012210333M22430122103M 22530123012302121032221032103301221033333M39/10、利用hu不变矩进行匹配即利用了该特征具有平移、尺度、旋转不变性等特性。通常计算轮廓的hu不变矩来实现,该方法对轮廓的精度要求比较高。 基于基于矩的匹配方法矩的匹配方法 22620023012210311301221034M 22721033012

27、301221032230122103301221033333M40/1、图像中的特征点是指图像中目标对象的角点、拐点以及极值点等,这些点在图像上表现为图像边缘上曲率较大的点或灰度值发生剧烈变化的点。特征点通常不受光照变化的影响,同时,即使图像出现了平移、旋转、缩放的变化,特征点依然不变。因此,特征点是比较稳定的一种特征。但是,首先需要准确检测出这些特征点,才能进行匹配。2、经典的有SIFT算法,由此衍生出如SURF、BRISK、FREAK、FAST、ORB等特征点检测算法。 基于特征点的匹配方法基于特征点的匹配方法41/3、特征点算法检测结果是一个点集。因此,其匹配方法是判断模板图像中的特征点

28、与目标图像中对应位置的特征点之间的相似性,也就是判断两个点集之间的相似性。4、可以采用Hausdorff距离来判断两个点集的相似度。Hausdorff距离不需要点之间有一一对应的关系,只是计算两个点集的相似度。所以,Hausdorff距离可以处理有多个特征点的情况。 基于特征点的匹配方法基于特征点的匹配方法42/5、采用特征点进行匹配需要考虑特征点的检测算法是否足够稳定。即对于不同光照、不同旋转角度以及缩放的图像,都能够准确检测出特征点。此外,图像中必须一定数量的特征点,如果模板图像中没有检测出特征点,该算法也是失效的。一种改进方法是直接将图像中的边缘点作为特征点,如果图像中存在遮挡、混乱的情况,此时也可以采用Hausdorff距离进行匹配。只是,这时候不再求最大距离,可以给定一个阈值,距离满足阈值要求的认为是匹配的。另一个需要考虑的问题是,Hausdorff距离的计算比较耗时,如果机器视觉系统对时间的要求比较高,则需要慎重使用该算法。 基于特征点的匹配方法基于特征点的匹配方法

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁