您的位置:首页 > 游戏 > 手游 > 天元建设集团有限公司是国企吗_湖南最新疫情公布_网络推广方案模板_成人本科

天元建设集团有限公司是国企吗_湖南最新疫情公布_网络推广方案模板_成人本科

2024/12/22 12:48:48 来源:https://blog.csdn.net/qq_44870829/article/details/144568426  浏览:    关键词:天元建设集团有限公司是国企吗_湖南最新疫情公布_网络推广方案模板_成人本科
天元建设集团有限公司是国企吗_湖南最新疫情公布_网络推广方案模板_成人本科

模板匹配整体框架原理详解

  • 引言
  • 正文
    • 1、单目标模板“匹配”
      • (1)简述
      • (2)匹配
      • (3)平移匹配
      • (4)单目标匹配
    • 2、多目标模板匹配
      • (1)多目标匹配
      • (2)重叠度及NMS非极大值抑制
    • 3、带角度的模板匹配
    • 4、带尺寸变换的模板匹配
    • 5、匹配加速方式
      • (1)金字塔
      • (2)部分匹配
      • (3)并行计算
    • 6、特征提取
  • 结语

引言

  在目前的互联网上并没有谁详细的讲解模板匹配算法,或者说大家都在“模糊不清”中,虽然有些开源的算法,但是这些算法在速度和准确性上都有些缺陷,并且这些算法过于复杂,我们很多人是看不明白的。有些文章也有介绍相关的模板匹配算法,但只着重于某个点进行介绍,让我们无法一览全局,有时被限在某个角落里出不来。
  目前的情况是懂的人不愿讲的太过清楚,不懂的人也说不清楚,导致很多人对“模板匹配”有着很大的敬畏之心,觉得这个东西不是普通人能实现的。实际上“模板匹配”并不难,目前市面的上的成熟的模板匹配的算法原理都是一致的,只是我们很多人不懂此原理,不清楚该从何开始下手?接下来我将为大家简单介绍模板匹配的原理。
  模板匹配就是拿一个模板图片在一张比模板图像要大的搜索图像上寻找与模板图像相似的区域以此来得到目标在搜索图像上的位置。
  最核心最根本的是如何将一张模板图像与待搜索图像进行“匹配”,匹配的方法有多种,其中一种应用较广的是使用互相关系数法,简单来说就是一张模板图像在待搜索图像上从左到右从上到下依次滑动,按照互相关系数计算每次滑动时模板图像区域内像素与当前待搜索图像区域内的像素的互相关系数的值,值越大,其相关性越大,则此时的滑动区域就是位置就是模板图像匹配可能性最大的位置。
  而多角度、尺度的多目标模板匹配实际上都是在这核心的“匹配”基础上实现的。

正文

1、单目标模板“匹配”

(1)简述

  此时以一张模板图像,一张待搜索图像为主,注意,此处暂不考虑较复杂的多目标匹配、带角度的模板匹配、尺度变换的模板匹配。这里只介绍最基础的仅进行平移的单目标模板匹配,后续复杂的模板匹配都是以此为基础扩展得到的。

  假设有一张模板图像还有一个含有模板图像目标的带搜索图像,如何以一张模板图像为基础,在待搜索图像上进行搜索“匹配”得到其在待搜索图像中的位置(矩形框(大小与模板图像一致))。

(2)匹配

  什么是“匹配”?这里的匹配就是在待搜索图像中截取一个大小和模板图像大小相同的ROI区域,计算模板图像与此ROI区域间相似程度,以此来判断此ROI区域是否为模板图像目标。
在这里插入图片描述

  此时,已知模板图像、待搜索图像中截取的ROI区域图像,如何计算其两个图像的相似性?首先读取模板图像中是所有像素值及其位置坐标,读取ROI区域图像的所有像素值及其坐标,根据两个图像的像素值及其位置坐标来计算两个图像的相似程度。计算相似程度的方法有多种,如方差、相关性、相关系数法等,对这些方法归一化后可以得到归一化的方差、相关性、相关系数法。

  这里采用归一化的互相关系数法,计算公式如下图所示,这里就不详细介绍了,明白计算结果越接近1越相似、越接近0越不相似。
在这里插入图片描述

(3)平移匹配

  前面已经说明什么是“匹配”了,什么是“平移匹配”,实际上就是将一个模板图像在待搜索图像上从左到右、从上到下依次逐像素平移滑动与对应的ROI区域进行相似度计算,也可以认为就是将待搜索图像的所有与模板图像大小相同的ROI区域截取出来和模板图像进行相似度的计算。

在这里插入图片描述

  模板图像与待搜索图像上的每个ROI区域进行相似度计算,我们可以得出当前ROI区域的计算的分数值,通过此分数值判断当前的ROI区域是否与模板图像一致的目标ROI区域。该ROI区域的位置大小在截取的时候就已知了。

(4)单目标匹配

  单目标匹配的意思就是将此模板图像与待搜索图像进行平移匹配时只得到一个单目标的ROI区域位置,就是模板图像与待搜索图像进行平移匹配时将得分最高的ROI区域作为最终的结果进行输出,此时我们可以得到匹配分数、ROI区域位置(矩形框)。
  如下图所示,各个ROI区域的分数值都可计算得到,只选取分数最高的0.7即可取得该目标了。
在这里插入图片描述

2、多目标模板匹配

(1)多目标匹配

  上面我们已经可以进行单目标的平移匹配了,接下来是如何得到待搜索图像中的多个目标位置,可能你会觉得直接将大于某个分数值的ROI区域都输出不就行了吗?但实际情况却并非如此,将只进行判断大于某个分数值的ROI区域都输出时,会出现如下结果,在某一个真实的目标ROI区域上有多个重叠的候选框,如下方的黄色框,我们不能让这三个重叠框都代表真实的目标,需要去除重叠框中不符合的候选框,只选取一个最可能的结果框来代表该目标区域,这就要用到NMS非极大值抑制了。
在这里插入图片描述

(2)重叠度及NMS非极大值抑制

在这里插入图片描述

  如上图所示,为了说明NMS原理,此为简单示意图,黑色方框表示待搜索图像,蓝色方框为其中的真实ROI目标区域,而黄色方框就是进行匹配计算后大于某一分数值的候选框。
  我们要做的就是先对矩形框进行重叠判断,计算其重叠程度,当两个矩形框的重叠程度大于某一值时就认为此两个矩形框代表同一个目标,而低于重叠度的两个矩形框则表示不同的目标,加入重叠度判断可以在后期的实际匹配中将重叠的多个目标也能匹配出来。
  接下来就是对代表同一目标的多个候选框进判断了,选取其中得分最高的候选框来作为该目标的输出结果,这就是NMS,这样就可以实现准确的多目标匹配了。

3、带角度的模板匹配

  前面最核心的模板“匹配”已经介绍清楚了,接下来是如何实现带角度的模板匹配?
  实际上这个反而是比较简单的问题了,前面我们只能使用一张模板图片得到多个和此模板图像相似的平移目标结果,然而旋转的目标结果却无法得到。这个时候我们只需要在匹配前将模板图像旋转,用旋转某一角度后的模板图像在待搜索图像上进行平移匹配就能得到该旋转后的匹配结果了。
  即我们在进行带角度的模板匹配之前,要将一张模板图像进行旋转创建新的旋转后的图像,用旋转后模板图像再与待搜索图像进行平移匹配。
  如我们使用一张模板图像创建出360个角度的新的模板图像(这就是模板的训练,后面的尺寸变换也是如此),将各个角度的模板图像与待搜索图像进行平移匹配,此时我们可以得到待搜索图像中的ROI目标区域位置及其角度了(角度在创建新的模板图像的时候就知道了)。

4、带尺寸变换的模板匹配

  和前面的带角度的模板匹配一样,这里只需要在训练模板的时候再创建尺寸变换后的图像即可,如创建放大后的模板图像或者缩小后的模板图像,接着将尺寸变换后的模板图像在待搜索图像中进行平移匹配

5、匹配加速方式

  前面的过程已经能够得到最终匹配的结果了,如获取待搜索图像上的目标框及其角度值、尺寸值、分数值等,但是其匹配的速度是极其缓慢的,我们需要加入其它的方法对其进行加速。
加速的方法有多种,如加入金字塔、只进行部分匹配、匹配时并行计算等操作。

(1)金字塔

  什么是金字塔?金字塔就是将某个图像进行成倍的放大缩小操作,放大缩小后的图像列在一起就像一个金字塔一样,这就是金字塔。
  前面进行“匹配”时说过,匹配需要将模板图像在待搜索图像上从左到右、从上到下逐像素滑动,待搜索图像图像越大,其需要滑动的次数也就越多,其需要进行相似度计算的次数也就越多,计算过程耗时越大。
  为了减少匹配时的匹配计算次数,通过缩小待搜索图像(注意:待搜索图像和模板图像要同时缩小同等比例),此时模板图像在待搜索图像上需要滑动的次数减少了即进行匹配的次数减少了,其最终的匹配速度就增快了。但是需要注意的是图像缩小的越小,其在匹配时的结果精度也有所降低,若小过某一界限,匹配的结果直接不准确。

(2)部分匹配

  前面说过在进行角度、尺寸变换的模板匹配时,要在训练模板的时候创建多个角度、多个尺寸的模板图像,再依次将各个模板图像与待搜索图像进行匹配计算。
  在此时,我们可以根据实际情况中的需要有选择的只训练适合的模板图像,如工业中相机高度不变,来料尺寸基本不变时,我们训练模板的时候不进行尺寸变换,这样需要进行匹配的模板图像个数得到减少,其整体匹配速度就相应提升了。同理当来料的要求角度精度不高时,训练模板的时候只训练一半的角度图像,如360个角度的图像,只训练180个角度图像,此时就可以成倍提升其整体的匹配速度,而其角度的精度差只有±1度。

(3)并行计算

  前面进行多个角度、尺度模板图像的匹配计算时采用的是串行计算方式,即一个接一个模板图像匹配,在这一步骤我们可以采用并行方式,即多个角度、尺度模板图像同时进行匹配计算,此时每多一个并行其速度就会提升1倍。

6、特征提取

  前面已经基本实现了模板图像的多角度、多尺度、多目标匹配,但如何让模板图像更准确的匹配到待搜索图像中的目标?提取图像中的关键特征是比较重要的。
  特征提取这一步骤是非常关键的,一副图像中的特征获取方式有多种,且不同的方法获取的图像特征也不一样,如图像中的颜色、边缘等特征。
  我们在图像中提取的特征的代表性越强,其在搜索匹配时准确度也越高。目前来说提取图像的边缘特征,在边缘的基础上再进行匹配,这种基于边缘的模板匹配,其匹配准确度是完全可行的。
  当然也可以采用其他的特征为基础进行匹配测试,如图像的ORB、SURF、FAST等特征点检测等。

结语

  通过上面的原理介绍,相信大家应该也可以一步步的实现自己的模板匹配算法了,以上的原理说明都是本人一步步实践出来的,只要根据此大家都可以实现自己的模板匹配算法,并且达到不错的效果。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com