基于嵌入式系统的特征匹配算法研究及应用

2016-06-21 07:02山东科技大学电气与自动化工程学院王玲珑刘艳萍
电子世界 2016年11期

山东科技大学电气与自动化工程学院 吴 帆 王玲珑 刘艳萍

基于嵌入式系统的特征匹配算法研究及应用

山东科技大学电气与自动化工程学院 吴 帆 王玲珑 刘艳萍

【摘要】传统数字图像处理技术一般在PC机上完成和实现,功耗较大,耗时费力。随着嵌入式技术的发展,ARM、DSP等嵌入式系统芯片渐渐出现在人们的视线中,更向着智能化的方向发展。利用嵌入式系统进行图像处理不仅节省了时间,降低了成本,而且使得图像处理技术向着更加小型化、快速化的方向发展。本文主要针对如何将图像特征点匹配算法成功移植到嵌入式系统中这一问题展开相关的研究。文章选用SURF算法进行研究,为使SURF算法能够成功移植到DSP中,我们对SURF算法进行了相关的改进,通过减少并控制特征点检测数量和OpenCV底层数据库的成功移植,我们得出的优化算法能够成功移植于DM642的软件环境中,探索了该算法在嵌入式系统上应用的可行性。

【关键词】SURF算法;DM642;图像匹配算法;嵌入式移植

0 引言

随着计算机、多媒体技术的发展,数字图像处理技术也逐渐成为人类社会生活的一部分,其中物体识别图像匹配技术作为图像处理技术的关键技术之一,一直受到人们的广泛关注。经过人们的长期研究,图像匹配算法已取得了很大的发展,尤其是1996年由D.Glowe 等人提出的SIFT算法是一种精确度较高、稳定性较好的图像特征点匹配算法[1]。经过对前人结果的总结,2006年由Bay等人提出了一种对SIFT算法的改进算法,即SURF算法,该算法利用积分图像对SIFT算法的DoH进行了相似性变化,在SITF基础之上利用Haar小波实现了算法的平移、旋转不变性,并对其描述子进行分析,实现了对描述子的降维,由原来的128维降到64维[2],在保证识别效果的基础上不仅提高了运算速度,而且增强了匹配的精度和稳定性,也大大提高了算法的实时性。本文以SURF算法为主要研究对象,对其能否实现在DSP芯片上的移植应用做了相关的探索的研究,并通过对算法的改进成功将其移植到DM642的软件集成环境CCS2.2中[3]。

1 SURF算法的研究

图像匹配主要分为基于区域的匹配方法和基于特征的匹配方法[4]。

1.1 基于区域的匹配方法

图1所示为基于区域方法的模板匹配结果图,由图可以看出基于区域的匹配方法是直接利用完整的图像灰度信息进行图像匹配,这种方法计算量较大,匹配速度较慢,而且当信息量较少时可能会出现较大的无匹配现象,因此不常采用。

图1 模板匹配结果图

图2 特征点匹配实验

1.2 基于特征的匹配方法-SURF算法

基于图像特征的匹配方法能够充分地结合图像灰度等相关特性,在图像发生平移旋转、缩放以及光照影响等现象时敏感度较低,适应性强,而且对轻微的扭曲或者噪声均有较好的匹配度。所以目前人们大多数采用的是基于特征的匹配方法。本文选用现阶段相对来说最高效稳定的SURF算法进行相关研究。

SURF算子的生成步骤主要包括以下几个步骤:一是构建尺度空间检测极值点,方法是利用积分图像。二是特征点的精确定位是利用Hessian矩阵确定待选的点,然后进行非极大值的抑制。三是特征点主方向的确定,每个特征点为使特征具有旋转不变性都需分配一个主方向,在以6s(s为特征点尺度)为半径的圆内对图像进行Haar小波运算。以特征点为中心,在矩形区域内沿着主方向将图像分为4*4个子块,利用Haar小波响应计算得到特征矢量[5]。最后进行特征点的匹配。图2为SURF算法在VS2008环境下的匹配结果。

2 SURF算法的移植

2.1 OpenCV算法库的移植

因为我们的SURF算法是基于OpenCV函数库编写的,所以在嵌入式移植过程中对OpenCV底层数据库的移植也是一项很重要的过程。

在DSP上使用Opencv能够轻松的开发出使用的算法,如目标跟踪算法、模式识别算法等。因此,将Opencv移植到DSP上是一个具有创新性和实际应用价值的课题。OpenCV移植主要是两个主体模块:cv和cxcore,这两大模块是OpenCV的核心即图像处理与视觉算法和基本的数据结构支持模块[6]。图3所示为OpenCV底层数据库的移植关键步骤。首先是对CV和CXCORE库文件的创建,然后进行相应的移植程序的调试。

图3 CV和CXCORE项目创建和程序调试

2.2 SURF算法优化改进

当图像的对比度较低时,容易出现图像特征点误匹配或造成图像特征点检测时产生不均匀的情况,并且当图像提取的特征点数目过多的时候,会使得匹配的时间增加,无法满足我们所要求的实时性,在实际应用中,如果我们能够在得到特征点的坐标信息以后且在描述子生成之前来明确控制特征点的数目,就可以减少对不必要的描述子进行描述,从而使得特征点的提取时间减少,提高特征匹配的运算效率。我们改进的SURF算法的方法是控制特征点检测数量。首先,设定特征点的数量阈值和距离阈值,然后进行相应的比较,当特征点的提取数量大于数量阈值时,可以针对稠密的特征点进行筛选和去除。若在某一特征点的领域内存在特征点与其邻域内某一点的距离小于距离阈值,那么我们就认为这一特征点是稠密点,进行剔除,反之则保留该特征点[7]。

我们采用大小为500×500的图片进行仿真。图4为原SURF算法图像和调整阈值之后的对比图,我们可以看出特征点数量的对比情况:左边图像652个特征点,经改进后,右边图像提取265个特征点。并经过对比发现,设置阈值后的特征点检测时间也相应的减少,但是匹配效果却没有明显的影响。

图4 图像特征点数量对比图

图5 改进后SURF算法缩放匹配图像

图6 改进后SURF算法旋转匹配图像

3 SURF算法移植仿真实验

如图5、图6所示,我们以600*480大小的图片为例,将图片缩小1/5、旋转30度,分别生成待匹配图像,得到改进后算法的匹配图像。通过改进阈值算法控制特征点检测数量和对OpenCV底层数据库的移植,成功实现对SURF算法的移植,并得到仿真实验结果图。

4 结论

本文是以物体识别图像匹配算法为研究基础,对其中的点特征匹配进行相关研究,主要研究成果在于将实验证明过的高效率、高鲁棒性的SURF算法进行移植,最终实现算法在嵌入式系统中的应用,其优点在于应用DSP不仅可以更加方便,更加小型化,节省了空间,提高了效率,而且更加丰富了实验室课题组的创新研究理论。

参考文献

[1]Lowe D G.2004.Dstinctive image features from scal-invariant keypoints[J].Internationa-l Journal of Computer Vision,60(2)∶91-110.

[2]H.Bay,T.Tuytelaars,L.V.Gool.SURF∶Speeded up Robust Features. Computer Vision and Image Understanding,2008,110(3)∶346-359.

[3]于海.OpenCVSURF在TI DM642上的移植[J].2012 25(5)∶133-136.

[4]张万华.基于区域SURF的图像匹配算法研究[D].华东理工大学,2011.

[5]D.G.Lowe.Object Recognition from Local Scale-Invariant Features.International Conference on Computer Vision,1999,1150-1157.

[6]陈磊.计算机视觉类库OpenCV在VC中的应用[J].湖南大学,2007, 23(4-3)∶209-210,171.

[7]卢选民.一种改进的基于SURF的快速图像匹配算法研究[J].中国体现学与图像分析,2011.16(1)∶28-32