百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

一种图像局部特征快速匹配算法(图像特征点匹配算法)

moboyou 2025-05-10 22:37 35 浏览

摘 要: 在图像处理和机器视觉领域,SIFT是目前被广泛应用的一种基于局部特征的图像匹配算法。针对SIFT算法匹配速度较慢和常常存在错误匹配对的问题,本文提出在匹配过程中采用角度相似性分析替代传统的欧式距离分析法,由此提高匹配速度,然后通过RANSAC一致性筛选删除错误匹配对,最后通过实验验证了新算法的有效性。新算法结构清晰,计算简便,易于硬件实现。

0 引言

图像匹配是指通过图像分析方法在两幅或者多幅图像中寻找同名点的过程[1]。图像匹配是机器视觉和图像处理领域的核心问题之一,是目标识别技术的重要研究内容,广泛应用于遥感影像处理、目标识别与跟踪、医学图像处理和图像制导技术等领域。目前,常用的图像匹配算法主要有基于区域统计性特征的图像匹配和基于局部特征的匹配两大类[2],而由于图像场景的复杂性和局部特征具有更好的鲁棒性,基于局部特征的图像匹配算法日益成为该领域研究的主流方向[3]。

迄今为止,SIFT(Scale Invariant Feature Transform)算法[4]被公认为具有很好的鲁棒性,是最适合在复杂场景中应用的一种局部特征匹配算法,已成为目前最主流的图像匹配算法之一[5]。根据SIFT算法的原理,SIFT算法能够很好地抵御图像尺度变换、旋转变换和仿射变换,当图像存在一定程度的噪声时,也能够实现图像匹配,因此该算法常常被用于一些复杂场景的图像匹配问题。但是,SIFT需要生成很高维度的描述向量,匹配时利用欧式空间距离法分析描述向量的相似性,运算量大,很大程度上限制了该算法在实际硬件系统中的应用。目前,针对SIFT算法简化运算的研究主要聚焦在如何简化描述向量方面,如PCA-SIFT[6],而对描述向量匹配过程中运算量大的问题研究较少。针对该问题,本文以角度相似性分析为基本思路,提出了一种易于实现的图像局部特征快速匹配算法,提升算法性能。

1 SIFT匹配算法原理

SIFT匹配算法主要包括特征点搜索、描述向量生成和特征点匹配三个基本步骤。

1.1 特征点搜索

SIFT特征点搜索也称特征点检测,主要分为三个基本步骤:尺度空间生成、空间邻域极大值搜索和特征点精确定位[4]。

(1)尺度空间生成

目前,已经有文献用数学方法证明了高斯核是产生信号多尺度空间的惟一有效核[7],由高斯核生成的尺度空间满足尺度、平移以及旋转不变性等。对于二维图像I(x,y),其尺度空间L(x,y)的定义为:

(2)空间邻域极大值搜索

Lowe在文献[4]中提出,在某个尺度上搜索图像斑点,可以先在两个相邻的高斯尺度空间图像之间做减运算,求得一个DoG(Difference of Gaussian)响应值图像D(x,y),D(x,y)的公式为:

其中,k为两个相邻尺度倍数的常数。

在实际操作中,DoG是通过建立图像的尺度空间金字塔来实现的[8]。在尺度空间金字塔中,每一个像素点和其26个邻域(包含同尺度相邻点和上下相邻尺度的相邻点共26点)进行比较,实现空间范畴的局部极大值搜索,得到的所有极大值点构成的集合即为特征点的备选集合。建立备选集合时,可去除对比度较低的极值点,由此对集合进行初步提纯。

(3)特征点精确定位

特征点精确定位时,通过三维二次函数来拟合特征点,由此可以获得特征点的精确位置和尺度值,此外,为了确保所提取特征点的稳定性,基于Hessian矩阵计算主曲率,去除在边缘上极值点。

1.2 描述向量生成

SIFT描述向量生成主要包括求取特征点主方向和特征点描述两个基本步骤。

(1)求取特征点主方向

对于某个特征点,首先在其尺度图像中设定一定范围为邻域区域,在邻域中计算每个点的梯度M(x,y)和方向(x,y),其表达式分别为:

统计邻域区域内的梯度及方向数据,构建直方图,直方图中的主峰值则为特征点的主方向,若在直方图中存在一个次峰值,其能量相当于主峰值80%以上,则将这个方向确定为特征点的辅方向[9]。至此,特征点有了四个参数信息分别为特征点坐标、尺度信息、方向信息。确定主方向和辅方向的作用是使特征点具有旋转不变性。

(2)描述向量生成

在对每个特征点进行描述时,首先将尺度图像坐标轴旋转至主方向上,在特征点邻域范围划定4×4共16个子区域,在每个子区域,将0~360°全方向划分为8个子方向(每个子方向宽度为45°),统计各子方向梯度强度,构建8维子区域描述向量。对于16个子区域,则最终生成4×4×8=128维描述向量,描述向量也称描述子或特征向量。

1.3 特征点匹配

特征点匹配的目的是在原图像和待匹配图像中寻找相似程度高的特征点对,通常特征点在图像间都是一对一关系,因此点对匹配时仅考虑相似度最近邻情况。

目前的匹配方法主要采用欧式距离分析法[4],对于k维向量Xi和Xj,其欧式距离公式为:

为删除一些易混淆点对,采用最优与次优比值的方法,对于欧式距离来说,即为最近邻与次近邻比值的方法。在运算中,若最近邻与次近邻比值小于预设的阈值,则认定为正确匹配对,认定关系式可表述为:

式(7)中,Min{Dis}为求得的最近邻,secMin{Dis}为求得的次近邻,TDis表示最近邻与次近邻的比值阈值。若式(7)成立,则认定最近邻相对应的特征点对为正确匹配对。通常,TDis在0.6~0.75之间取值。

欧式距离分析法能够有效实现特征点对的相似性筛选,物理意义明确,但该方法运算速度慢,制约了SIFT算法的应用范围。

2 改进的匹配算法

为了提升匹配速度和进一步筛选匹配对,本文提出角度相似性分析和随机抽样一致性(Random Sample Consensus,RANSAC)筛选[10]相结合的方法,简化匹配运算并删除不符合空间一致性关系的错误匹配对。该算法以SIFT描述向量为处理对象,包括描述向量预匹配和匹配点对筛选两个基本步骤。

2.1 描述向量预匹配

描述向量预匹配以角度相似性作为匹配准则,该方法也可称为角度相似性匹配。角度相似性分析的原理:对于两个单位向量,其夹角与弧长正相关,夹角很小时,弧长与弦长近似相等,弦长即为欧式距离。因此,夹角大小与欧式距离正相关,可以利用夹角的大小来判断单位向量之间的相似程度。对于待匹配的k维单位向量,计算向量间的空间夹角,夹角越小,则这两个描述向量越相似。

k维空间中的向量夹角?椎ij计算公式为:

对于SIFT描述向量,描述向量生成过程中已经进行过归一化运算,因此,式(8)可简化为:

因(i,j)较大时不符合相似性准则,因此,首先舍弃(i,j)数值较大的情况。然后,利用最优与次优的比值大小来认定是否为正确匹配对,其认定关系可表述为:

式(10)中,Min表示最小夹角(即最优夹角),secMin表示次小夹角(即次优夹角),T为最小夹角与次小夹角比值阈值,当式(10)成立时,最小夹角对应的匹配对即被认定为备选匹配对,经过遍历运算后,建立备选匹配对集合。需要注意根据角度相似性分析原理,作为无量纲的比值阈值TDis和T?椎应具有相同的取值区间,即T同样可在0.6~0.75之间取值。

为了进一步减化运算,在实际算法设计中,计算向量之间夹角余弦值后仅保留最大和次大值,然后仅对最大和次大值做反余弦计算求取最小和次小角度值。

2.2 匹配点对筛选

由于图像场景的复杂性,不能避免在备选匹配对集合中有错误匹配对存在的情况。针对该问题,采用RANSAC算法[10]对特征点对进一步筛选,保证匹配点对空间关系的一致性。

RANSAC算法原理:认为正确的匹配对在图像中满足空间关系的一致性,因此,可以在备选集合中不断地随机性抽取匹配点对,利用抽取的匹配点对建立图像间空间投影矩阵,然后通过空间关系的一致性度量验证该空间投影关系的正确性,多次抽取和计算后,获得的一致性最强的空间投影矩阵即为实际的空间投影矩阵,由此可以删除备选集合中的错误匹配对。

RANSAC算法的基本步骤包括[10]:

(1)从备选集合中随机抽取4对初始匹配点对(每个图像平面上的4个点须满足任意3点不共线),计算两平面之间的线性投影矩阵的参数。

(2)对于未被抽取到的特征点,通过步骤(1)中计算得到的投影矩阵计算其在另一平面中的坐标值,进而获得该坐标值与它预匹配的点之间的距离,若该距离很小,则该匹配点对认定为内点,否则认定为外点,记录内、外点数量。

(3)多次重复步骤(1)、(2)操作,选择内点数量最多时对应的投影矩阵参数作为正确的投影矩阵参数。

(4)对于被确认的投影矩阵,其相应的内点即被认定为正确的匹配点对。

经过上述筛选后,不满足空间一致性关系的匹配点对将被成功删除。

2.3 算法流程

本文算法的实现流程如图1所示。

新算法结构清晰、运算简便,易于向硬件系统移植。在实际应用中,可采用典型的DSP+FPGA双核心结构实现硬件设计。

3 算法验证与分析

将图2中原始图像SCENE(分辨率:384×512)和目标图像BASMATI(分辨率:175×265)作为待匹配图像,采用本文算法进行实验。实验环境:Intel Core i3-2 350 M 2.30 GHz CPU、4 GB(3.07 GB可用)内存、Win7操作系统PC机,Matlab7.6。从图2可以看出,原始图像对应区域和目标图像之间存在尺度、旋转和仿射变换。

实验中,首先对SCENE图像和BASMATI图像进行SIFT特征点搜索,然后,分别用欧式距离分析和本文的角度相似性分析进行预匹配,当阈值TDis和T取0.65时,输出结果如图3和图4所示。

在描述向量预匹配过程,欧式空间匹配法耗时6.31 s,而角度相似性匹配法耗时4.19 s,运算速度明显提升。图3中,预匹配对总数量和正确匹配对数量分别为39和37,图4中,预匹配对总数量和正确匹配对数量分别为41和39。为了更好地说明算法的有效性,将比值阈值在0.6~0.75间取值,预匹配正确率统计结果如表1所示。

由于特征点匹配以遍历搜索为基本流程,因此比值阈值的大小不影响匹配耗时。经过预匹配后,再利用RANSAC空间一致性筛选删除错误匹配对,获得的最终匹配结果(T=0.65)如图5所示。

由图5可知,错误匹配对被RANSAC筛选成功删除。实验表明,当T在(0.6,0.75)范围内取值时,RANSAC同样能有效删除错误匹配对。

分析上述实验可知,本文算法的预匹配速度较传统方法明显提升,预匹配点对总数量和正确率均优于传统方法,引入RANSAC筛选后,错误的匹配对被成功删除。上述实验验证了本文算法的有效性。

4 结论

针对SIFT匹配运算速度较慢和存在错误匹配对的问题,本文提出采用角度相似性分析代替传统的欧式距离分析,引入RANSAC筛选删除不满足空间一致性关系的匹配对。实验结果表明,新算法计算速度和预匹配正确率均优于传统方法,且能够有效删除错误匹配对。后续的研究将重点着眼于如何进一步提升算法运算速度和算法的环境适应性等问题。

参考文献

[1] ARICAN Z,FROSSARD P.Scale-invariant features and polar descriptors in omnidirectional imaging[J].IEEE Transaction on Image Processing,2012,21(5):2412-2423.

[2] 尧思远,王晓明,左帅.基于SURF的特征点快速匹配算法[J].激光与红外,2014,44(3):347-350.

[3] 余先川,吕中华,胡丹.遥感图像配准技术综述[J].光学精密工程,2013,21(11):2960-2972.

[4] LOWE D G.Distinctive image feature from scale-invariant keypoints[J].International Journal of Computer Vision,2004,60(2):91-110.

[5] 杨天天,鲁云萍,张为华.一种基于GPGPU的SIFT加速

算法[J].电子技术应用,2015,41(1):149-152,160.

[6] KE Y,SUKTHANKAR R.PCA-SIFT:A more distinctive representation for local image descriptors[C].Proceedings of IEEE International Conference on Computer Vision and Pattern Recognition,Washington DC,USA:CVPR,2004(2):506-513.

[7] 白廷柱,侯喜报.基于SIFT算子的图像匹配算法研究[J].北京理工大学学报,2013,33(6):622-627.

[8] 杨娜娜,哈力旦·阿布都热依木,伊力亚尔·达吾提.基于SIFT图像配准的维吾尔语文字识别方法[J].传感器与微系统,2014,33(3):40-43.

[9] 王程冬,程筱胜,崔海华,等.SIFT算法在点云配准中的应用[J].传感器与微系统,2012,31(2):149-152.

[10] LI B,MING D,YAN W,et al.Image matching based on two-column histogram hashing and improved RANSAC[J].IEEE Geosciences and Remote Sensing Letters,2014,11(8):1433-1437.

相关推荐

【开源推荐】给大家推荐个基于ChatGPT的PHP开发库 openai-php-api

有了这个库大家就可以愉快的使用PHP对接chatGPT的官方接口了,至于对接了官方接口想要做什么就看你自己的啦环境要求PHP7.4或以上composer1.6.5以上支持框架Laravel、Sym...

PHP使用Phar打包控制台程序

1.介绍1.1介绍php脚本有着非常强大的库支持,可以轻松做出特别强大的程序。php不仅仅可以搭建各种各样的网站系统、平台系统,还可以开发基于控制台运行的程序。不过使用php开发的控制台程序在使用...

PHP实现URL编码、Base64编码、MD5编码的方法

1.介绍1.1介绍今天开始福哥要给大家讲解关于字符编码的知识,所谓字符编码就是将一个字符串或者是一个二进制字节数组里面的每一个字符根据一定的规则替换成一个或者多个其他字符的过程。字符编码的意义有很...

雷卯针对易百纳海思Hi3521D开发板防雷防静电方案

一、应用场景1、医疗电子2、安防监控3、数字标牌4、视频广告5、环境监测二、功能概述1CPU:ARMCortexA7双核@Max.1.3GHz2H.265/H.264&JPEG多码流编...

不折腾无人生-安卓盒子安装Linux系统armbian纪实

不折腾无人生-安卓盒子安装Linux系统armbian纪实小编的x96max+(晶晨Amlogics905x3)安卓盒子已安装二个系统,原装安卓9.0和tf卡上的CoreELEC9.2.3,可玩性...

全网最简单的玩客云刷casaos方法及后续使用心得

本内容来源于@什么值得买APP,观点仅代表作者本人|作者:不鸣de前几天在站内看见很多值友分享了玩客云刷casaos,被简洁的操作界面种草,于是我将之前刷了powersee大神网页导航版armbia...

最新评测:英特尔旗舰 Alder Lake 处理器击败苹果M1 Max

据国外媒体tomshardware报道,英特尔最新的酷睿i9-12900HK处理器刚刚赢得了移动x86与Arm的性能大战,但这是有代价的。这款移动14核AlderLake芯片在多个工作负...

创维酷开Max系列电视开启ADB并安装第三方应用教程

前言创维酷开系列智能电视采用的是相对封闭的系统,虽然设置中提供了安装未知应用的选项,但由于电视安装位置的限制,往往难以直接使用USB接口安装应用。本文将详细介绍如何通过ADB方式在创维酷开Max系列电...

苹果 Mac Studio,再次刷新我们对个人电脑的认知

由两块M1Max组成的M1Ultra,成为了M1系列的最后一块拼图,并完成了整个M1SoC宇宙。这就好像《复仇者联盟4:终局之战》对于漫威第一阶段,十几年勤恳的布局,最终达到顶峰...

「必买」盘点2021年男人们的败家清单,越“败”越香

心里总想买点啥?看看《必买》,全网最有料的场景种草指南。草原割不尽,春风吹又生。在过去的2021年,不断被各种数码产品种草,一直在买买买,剁手不停。大部分产品都经过详细的对比做足了功课,也有部分是一时...

Opus音频编解码在arm上的移植

一、简介现在有个需求,在局域网内实现实时语音,传输层协议使用UDP协议,如果直接使用ALSA进行录制音频流并发送到另一端进行播放,音质会非常差,而且断断续续,原因如下:采样频率:fm=44.1K...

N ARM MINI空气减震系统臂体安装指南及应用说明

距离MOVMAX移动大师NARMMINI发布已经过去一段时间了,不少收到NARMMINI的小伙伴也已经迅速将产品投入到自己的车拍工作中去了。而在实际工作过程中我们也收到了用户的部分疑问和反馈:...

搜索引擎中的性能怪兽,Elasticsearch挑战者之Manticore Search

ManticoreSearch简介ManticoreSearch是一个使用C++开发的高性能搜索引擎,创建于2017年,其前身是SphinxSearch。ManticoreSe...

10个运维拿来就用的 Shell 脚本,用了才知道有多爽

1、监控MySQL主从同步状态是否异常脚本#!/bin/bashHOST=localhostUSER=rootPASSWD=123.comIO_SQL_STATUS=$(mysql-h$...

PHP7.0.0正式版开放下载:速度大提升

IT之家讯PHP发布经理AnatolBelski在GitHub发布了PHP7.0.0正式版,该版本在速度提升上面有非常大的进步,比5.6版本提速两倍,已经接近Facebook开发的PHP执行引擎...