一种快速鲁棒的模板匹配算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《工业控制计算机》2019年第32卷第3期
图像匹配是计算机视觉领域的众多重要课题之一,而模板匹配是图像匹配的子类之一。

在许多涉及视觉领域的实际应用中,通常需要利用多个视觉传感器采集同一物体不同角度或者不同背景下的图像信息,来确定同一物体在不同图像内位置关系。

模板匹配应用在很多计算机视觉领域,比如目标识别、跟踪、图像拼接、三维重建等。

模板匹配的核心是在目标图片内确定模板中的感兴趣物体的位置。

传统的模板匹配算法通过计算模板和滑动窗口之间的相似性这一方式来确定匹配结果。

但是在实际应用场景中,模板图像中包含的感兴趣目标往往会受到外部条件的影响从而发生颜色和特征上的复杂变化,这些条件包括光照、变形等等。

除此之外,感兴趣目标本身也容易发生非刚性变形、被障碍物遮挡、角度变换等情况都会使传统的相似性度量方法遭到很大的挑战。

传统的模板匹配算法通常都是基于单一的图像像素点的颜色信息,由于颜色信息容易受到外部条件的影响,所以算法鲁棒性较差。

另外,这些基础算法一般都采用滑动窗口来确定搜索空间,这样会浪费较多时间,所以速度较慢,效率较低。

除这类算法以外,很多匹配算法在模板图像和目标图像间建立一个具体的带有许多参数的形变转换模型。

基于参数模型的算法由于参数条件的限制,一般只能处理特定场景的图像对,能够应用的场景非常有限。

因为在估计复杂变换时引入了许多参数,算法中包含大量的计算,从而花费了更多时间,效率也不高。

为了提升模板匹配算法的效率和鲁棒性,本文提出了一种基于特征点的模板匹配方法。

1基于特征点的模板匹配
1.1特征点提取并匹配
在图像处理中,特征点指的是图像灰度值发生剧烈变化的点或者在图像边缘上曲率较大的点。

图像特征点在基于特征点的图像匹配算法中有着十分重要的作用。

图像特征点能够反映图像本质特征,能够标识图像中目标物体,通过特征点的匹配能够有效准确地完成图像的匹配。

基于对特征提取算法的研究,本文采用速度较快的ORB特征提取算法,利用其速度快和特征点多的特点,将模板与被搜索图像之间的特征点进行匹配。

ORB算法的基本步骤是首先在尺度空间中用oFAST算法提取局部不变特征点,接着用rBRIEF 算法对提取到的特征点构建特征描述子,最后对这些描述子进行匹配。

具体步骤为:
步骤一:粗提取。

提取大量的特征点,但是有很大一部分的特征点的质量不高;
步骤二:利用机器学习的方法筛选最优特征点;
步骤三:采用非极大值抑制去除局部较密集特征点;
步骤四:建立金字塔,来实现特征点的多尺度不变性;
步骤五:定义矩方法实现特征点的旋转不变性。

ORB是为了满足实时处理的需要而提出的基于FAST特征检测和BRIEF特征描述的一种局部不变特征算法。

两幅图片的特征点提取成功后使用BF算法进行匹配得到两幅图片的特征点对。

1.2剔除错误的匹配点对
通过ORB特征点提取算法和BF算法匹配后得到了两幅图片的特征点对。

但是由于ORB特征点的数量巨大,且BF算法只能计算特征向量之间的相似性进行粗略匹配,因此特征点对当中包含大量错误的匹配点对,需要进一步剔除错误的匹配点对。

如前文所述,本文算法注重提升运行速度和增强鲁棒性,所以本文采用基于运动统计模型的GMS算法来筛选特征点对。

近两年关于计算机视觉的国际会议中,将平滑度约束引入特征匹配用以实现超强鲁棒匹配的方法屡见不鲜。

然而基于这个方法的方案或模型既复杂又缓慢,使得它们难以适用于视频或者实时系统。

在CVPR2017会议上,毕业于南开大学现于新加坡科技设计大学担任助理研究员的边佳旺提出了基于网格的运动统计模型GMS,将运动平滑度作为统计量进行局部区域的匹配。

由于算法实现了高速并且超稳定的图像匹配效果,对计算机视觉领域的研究产生重要影响。

图像对邀I a,I b妖各自具有邀N,M妖特征点,x=邀x1,x2,x3,…,x i,…,x N妖表示从I a到I b的相似点对集合,GMS的目的就是将集合内正确点对与错误点对区分开来。

假设两幅图像的对应区域a和b各自具有特征点数为邀n,m妖。

GMS的统计模型为:
S
i
=x i-1
上式中,x i哿x是a和b区域之间特征点对集合中的一个元素,S i表示区域内支持这个点对的度量方法,S i越大,支持这个点对的特征点对越多,表示点对是正确点对的可能性越大;S i越
一种快速鲁棒的模板匹配算法
A Fast and Robust Template Matching Algorithm
王美和陈金波(上海大学机电工程与自动化学院,上海200072)
摘要:模板匹配是计算机视觉领域中一项重要的研究内容。

提出了一种基于特征点匹配的快速鲁棒的模板匹配算法。

为了
提升匹配速度,该算法提取模板图片与目标图片的特征点进行匹配,而不是采用传统的计算模板匹配与滑动窗口相似性的方法。

首先提取出两幅图片的特征点并对这两个特征点集合进行匹配;然后基于运动统计模型移除错误点对;最后利用网格框架
来定位目标图片中的物体。

实验结果表明,该算法匹配速度较快、准确度较好,并且在匹配水下声呐图片时有较好的表现。

关键词:模板匹配,特征点,网格框架,快速鲁棒
Abstract:T his paper presents a fast and robust method for template matching based on the feature matches between a target image and the template.It extract two sets of feature points from two images by ORB algorithm and match the key points to get a number of matches,and remove the wrong matches to leverage feature numbers to improve quality.Then,this paper uses a grid framework to locate the target object.
Keywords:template matching,key points,grid framework,fast and robust
45
一种快速鲁棒的模板匹配算法
小,支持这个点对的特征点对越少,表示点对是正确点对的可能
性越小;-1表示从区域内所有特征点对中移除x i这一点对。

考虑到一组从3D场景中不同角度采集的图像对,一幅图
像中的某个特征点与另一幅图像中的某个特征点是匹配的。


征相关性表示如果运动是平滑的,那么这组点对周围的特征点
对和应该有近似的运动轨迹,这样会导致正确的点对具有更多
的支持点对。

相反,错误点对往往对应到3D世界的不同区域并
且通常没有点对支持它们。

1.3基于网格确定目标位置
这一小节主要讨论如何从模板图像与目标图像之间的特
征点对来定位目标的位置。

GMS算法为了能够加速匹配过程,
采用了网格框架处理两幅图像的特征点,不仅能够减少重复计
算从而加速算法,还考虑了周围网格里面包含的特征点的信息
增强了算法的稳定性。

这一步首先将模板图像和目标图像都分割成网格状,然后统
计每个网格中的特征点数目。

确定目标图像中物体的具体位置是
通过确定其中心位置(t x,t y)来完成对的。

在本文提出的算法中,旋
转和缩放是在剔除错误点对这一步完成的,所以在第三步确定位
置时只需要通过加权每个特征点的坐标计算出中心即可:
t x =1
N
N
i=1
ΣC i x×n i
t y =1
N
N
i=1
ΣC i y×n i
Σ
Σ
Σ
Σ
Σ
上式中,(C i x,C i y)是网格i的中点坐标,n i表示的是该网格包含的特征点的数目。

1.4算法具体步骤
图1算法流程图
算法流程如图1所示,具体步骤:
1)输入模板图像与目标图像;
2)利用ORB算法提取两幅图片的特征点;
3)利用BF算法将两个特征点集合匹配;
4)根据GMS运动统计模型剔除错误的匹配点对;
5)根据基于网格的统计方法确定目标位置;
6)输出算法结果并保存。

2实验与分析
为了验证本文提出的算法的鲁棒性、效率以及在实际现实场景下的表现能力,我们做了两组实验进行比较与分析。

首先在常规场景下与BBS(2015C VPR的一篇论文提出的鲁棒性算法)进行实验对比,然后在应用层面将算法应用在水下声呐图像中观察匹配结果。

如图2所示,a图中由绿色线条标出的区域为模板图像,红色玩偶是匹配过程中的目标物体,后面的b~f五张图片展示了本文算法与BBS分别处理后的结果。

为了能够充分体现该算法能够处理在不同场景的变换下依旧能够有较好的表现,这五幅图片中的物体经历了不同的角度变换、物体遮挡、2D仿射等等变换。

图中红色的框表示的区域是目标物体的实际位置,也是比较两种算法准确度的依据。

蓝色框表示本文所提出的算法运算出的结果,黄色框是BBS算法运行出的结果。

具体的比较方式是计算重叠率re,即算法结果标识的区域与目标区域之间的重叠区域面积S r所占目标区域面积S t的百分比。

即:
r e=
S
r
S
t
×100%
图2本文算法与B BS对比
从实验结果来看,本文算法比BBS更加鲁棒,在各种外部条件干扰下准确度更高,鲁棒性更强。

分析实验结果,BBS计算相似性是通过计算图像块中相似块的数目,当图像中目标物体形状发生变化的时候,相似块数目变化剧烈,从实验结果观察来看,极端情况下数目非常少。

甚至在非常好的情况下相似块数目也不多,非常难于统计,变化幅度巨大。

而本文提出的算法着重统计特征点的数目,当物体外形变化,特征点通常能够正确匹配,所以实验结果较为理想。

在运算时间方面,因为BBS在计算相似性时按照图像块和模板逐像素点计算,其中包含了大量的重复运算,所以算法复杂度较高时间较长。

而本文提出的算法在处理手机拍摄的图片仅花费10ms级的时间,原因在于各个步骤都没有重复计算,也没有建立大量的搜索空间。

在具体应用项目中,本文算法被用于处理声呐获取的水下图像。

声呐成像与光学成像区别很大,光学图像通常是指可见光和部分红外波段传感器获取的影像数据。

而声呐传感器基本属于微波频段,波长通常在厘米级。

可见光图像通常会包含多个波段的灰度信息,以便于识别目标和分类提取。

而声呐图像则只记录了一个波段的回波信息,以二进制复数形式记录下来,但基于每个像素的复数数据可变换提取相应的振幅和相位信息。

图3声呐图像匹配结果
如图3所示,每一行的图像a中浅色框为模板图像,b~e四张图像是同一物体不同时刻采集到的图像。

从后面四张图呈现的总体效果来看,本文算法可以准确的对声呐图像实现精准匹配。

在效率方面,由于图像质量不高,特征点提取数目较少,所以耗时更少。

在准确度方面,仔细分析可以发现,第一行图像显示的是一个潜水员在水中潜行,画面中出现了大量的气泡。

但这却并没有对实验结果造成重大干扰,原因是算法基于特征点提取来匹配,而不是像传统方法基于灰度创建相似性度量方法,因为传统方法极易受到外部环境影响;第三行显示的是一只水母
(下转第48页
)46
基于TINY-YOLO的嵌入式人脸检测系统设计
(上接第46页)
在水中遨游,模板图像和后面的图像除了角度变化外并没有其他特别大的差别。

因为我们在特征点筛选环节考虑到了2D旋转和缩放的问题,所以能够实现在这类情形下正确匹配的效果。

由于图像质量不高,计算量较小,所以匹配速度非常快。

综合实验结果来看,算法在实际应用中有出色的表现。

3结束语
本文探讨的是如何提升模板匹配算法的速度和鲁棒性。

传统的算法通过计算图像块之间的相似性度量方法往往花费很多时间并且不能有效避免各种干扰带来的影响。

实验结果表明,该方法具有快速鲁棒的特点,且具有稳定性。

所以,对以往算法进行归纳总结并提出又快又好的算法很有研究价值,可以运用于很多具体实际场景。

参考文献
[1]马颂德,张正友.计算机视觉[M].北京:科学出版社,1998
[2]Bradsk i G R,Konolige K,Rublee E.et al.ORB:An efficient alter-native to SIFT or SURF[C]∥2011International Conference on Computer Vision,2564-2571
[3]D ebel T,Qron S,Rubinstein M.Best-Buddies Similarity for ro-bust template matching[C]∥Compute r Vision&Pattern Recognition,2015
[4]Bian,Li n W Y,Matsushita Y,et al.GMS:Grid-Based Motion Statistics for Fast,Ultra-Robust Feature Correspondence[C]∥IEEE Conference on Computer Vision&Pattern Recognition, 2017
[收稿日期:2018.12.19]
3模型压缩与训练
TI NY-YOLO算法的耗时主要是在卷积部分,骨干网络如图2所示,含有大量的卷积层。

假设卷积层的输入特征图维度是C i xW i xH i,C i、W i、H i是特征图的通道数和宽高。

卷积核维度是C xKxK,其中C和K分别代表卷积核的通道数和卷积核的宽高。

同理,输出的特征维度是C xW o xH o,则卷积核的参数量为C xKxKxC i,计算量为C i xK xKxW o xH o xC。

从上面公式中可以看出,卷积核的通道数对计算量与模型参数的大小有很大影响,所以这里我们将骨干网络中卷积核的通道数量全部减半,以减少模型大小和计算量。

图2TINY-YOLO骨干网络
本系统的人脸检测算法主要在wi derface数据集上进行训练。

测试数据集为自己创建的明星脸数据库,有110万张图片。

训练时,对人脸数据采用了平移、旋转、部分置黑、剪切等几何变换手段,增加数据量。

对数据进行了归一化以及PC A白化处理。

使得所有特征具有相同的方差。

消除图像中无关的信息,增强有关信息的可检测性。

训练的优化算法采用SG D,ba tch size取值为64,一共训练30万个ba tch。

开始训练的15000batch内,学习速率为10-4,200000batch的时候减少为10-5,250000batch的时候减少为10-6。

虽然在算法进行实际检测的时候我们将图片缩放为416×416,但是为了检测到不同尺度的人脸,增加模型的鲁棒性,在训练的时候进行了多尺度训练。

即将每一张图片随机地缩放到320,352,…608尺度范围内其中一个尺寸。

4实验结果分析
最终的人脸检测模型结合腾讯NC NN框架,在主频1.8G,内存2G的R K3288处理器平台上实际运行场景如图3所示。

在自己创建的明星脸数据库上测试结果为pr ecision99%、r e-call98%。

而M TCNN算法的pr ecision99.5%、r ecall92%。

虽然系统比M TCNN模型的pr ecision少0.5%,但是r ecall比M TCNN高了6%。

当图片中只有一个人脸时,系统的平均运行时间为183ms,M TCNN平均时间为137ms。

但是当人脸数量增加时,M TCNN的运行时间随着人脸数量的增加会显著增加,但是TI NY-YOLO算法不会随着人脸数量的增加而增加。

TI NY-YOLO算法的这个特点决定了它比M TCNN算法在实际应用场景中更有优势。

图3系统运行场景
5结束语
与其它的人脸检测算法如M TCNN等比较,不但本文方法在性能上更好,算法运行时间不会随着人脸数量的增加而增加,这对于工业应用有很大的优势,基于该算法的产品已经商用,取得较好的检测效果。

参考文献
[1]Girshic k R,Donahue J,Darrell T,et al.Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation[C]//2014IEEE Conference on Computer Vision and Pattern Recognition(CVPR).IEEE Computer Society,2014
[2]Girshic k R.Fast R-CNN[J].Computer Science,2015
[3]Ren S,He K,Girshick R,et al.Faster R-CNN:towards real-time object detection with region proposal networks[C]//Interna-tional Conference on Neural Information Processing Systems, 2015
[4]Liu W,Anguelov D,Erhan D,et al.SSD:Single Shot Multi-Box Detector[C]//European Conference on Computer Vision.Springer International Publishing,2016:21-37
[5]Redmon J,Divvala S,Girshick R,et al.You Only Look Once: Unified,Real-Time Object Detection[C]//Computer Vision&Pattern Recognition,2016
[6]Redmon J,Farhadi A.YOLO9000:Better,Faster,Stronger[C]//2017IEEE Conference on Computer Vision and Pattern Recognition(CVPR),2016:6517-6525
[7]Redmon J,Farhadi A.YOLOv3:An Incremental Improvement [J].2018
[8]Wang H,Li Z,Ji X,et al.Face R-CNN[J].2017
[收稿日期:2018.11.6
]∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥∥48。

相关文档
最新文档