本发明属于目标定位技术领域,特别涉及了一种基于图像匹配的目标快速精确定位方法。
背景技术:
侦察机、导弹、无人机等在执行任务时,需要精确定位重要目标,目标定位的精度和效率直接决定任务的成败。现有的目标定位方式大多采取几何式定位方式和图像匹配定位方式。几何式定位精度受飞行器自身导航系统及几何量测信息的精度影响,导致目标定位误差较大。图像匹配定位通过将飞行器拍摄目标得到的实测图像与机载参考图像进行匹配获取目标点的精确位置信息。随着图像匹配技术的深入研究,开展利用快速图像匹配辅助目标进行快速精确定位对目标快速精确定位发展具有重要意义。
目前,国内外基于特征的快速图像匹配算法研究比较多,如在2004年davidg.lowe提出sift算法,sift算法的优点为对图像尺度不同、亮度不同和旋转不同的图像拼接效果较好以及抗噪声能力强的特点,成为了应用范围普遍的流行算法。2006年herbertbay等提出surf算法,这种算法提取的特征具有平移、缩放、旋转的不变性,并且对光照、仿射及投影差异也有相对较好的鲁棒性。随着对特征点匹配速度的要求提高,2011年ethanrublee在文献中提出orb算法,2012年alexandrealahi等人在文献中提出freak算法。freak算法模拟人类视网膜的成像特性来进行采样点的设置和对应点对的选择,利用扫视搜索进行特征向量的匹配,是一种二进制描述子,具有稳定的性能,相对于sift、surf算法更具鲁棒性,并且计算过程要远快过这二者,但是它不具备尺度不变性,在图像间场景存在大小尺度差异的状况下,图像间特征点的匹配对的准确度较低。
技术实现要素:
为了解决上述背景技术提出的技术问题,本发明旨在提供一种基于图像匹配的目标快速精确定位方法,利用快速目标提取算法、快速图像匹配算法和目标高精度定位算法对目标进行快速精确定位,提高目标定位的实时性和精确度。
为了实现上述技术目的,本发明的技术方案为:
一种基于图像匹配的目标快速精确定位方法,包括以下步骤:
(1)采用fast算法对目标实测图像进行特征点检测;
(2)采用freak算法对步骤(1)获取的特征点进行描述和匹配;
(3)采用ransac算法对步骤(2)得到的匹配结果进行处理,剔除误匹配点,提取目标有效像素;
(4)采用surf算法分别对提取目标后的实测图像和参考图像进行特征点检测;
(5)采用freak算法对步骤(4)获取的特征点进行描述和匹配;
(6)采用ransac算法对步骤(5)得到的匹配结果进行处理,剔除误匹配点,计算单应性矩阵;
(7)根据步骤(3)提取出的目标有效像素和步骤(6)计算的单应性矩阵,获取目标点在参考图像中的精确位置。
进一步地,步骤(1)的过程为,定义一圆形区域,以目标实测图像中的任意一点为该圆形区域的圆心p,将圆心p处的灰度值分别与邻域内16个像素点的灰度值进行比较:
|m-pi|>δd,1≤i≤16
上式中,m为圆心p处的灰度值,pi为p点邻域内第i个点的灰度值,δd为预设阈值;若满足上式的p点邻域内的像素点个数大于n,则将p点视为特征点,n为预设值。
进一步地,步骤(2)的具体步骤如下:
a、采用freak算法对特征点进行描述:
上式中,f为特征点的freak描述符,n为特征向量数,
b、对特征点的freak描述符进行降维:
b1、建立矩阵d,矩阵d每行代表一个freak描述符;
b2、计算矩阵d每一列的方差,首先将方差值最大的一列保存到矩阵d’中,然后计算其他列与该方差值最大列的协方差,再将协方差值最小的一列保存到矩阵d’中;
b3、将保留的两列从矩阵d中删除,然后返回步骤b2,直至矩阵d’的维度达到预设维度;
c、计算特征点的方向:
上式中,g为特征点的采样点对集合,m为g中采样点对数,po为g中的一个点对,
d、根据特征点的freak描述符和特征点方向进行特征匹配。
进一步地,步骤(3)的具体步骤如下:
a、从匹配点集合s中随机选择s个特征点;
b、利用s个匹配点拟合出一个模型q;
c、对于集合s中剩余的匹配点,计算每个匹配点与模型q的距离,距离超过阈值的特征点视为局外点,距离未超过阈值的特征点视为局内点;
d、将上述步骤迭代k次后,将包含局内点数目最多的模型qk作为拟合结果;
e、将集合s中不满足模型qk的匹配点剔除,从而提取出目标有效像素。
进一步地,步骤(4)的具体步骤如下:
ⅰ、设i(x,y)表示图像,x表示图像中某一点,尺度为σ的hessian矩阵:
上式中,
ⅱ、用框状滤波器与图像i(x,y)的卷积dxx、dxy、dyy代替lxx、lxy、lyy,得到hessian矩阵的近似矩阵happrox,计算矩阵happrox的行列式:
det(happrox)=dxxdyy-(ωdxy)2
上式中,ω是为补偿近似所产生的误差而设定的权重系数;
ⅲ、将矩阵happrox的行列式最大的像素点作为特征点;
ⅳ、计算特征点的主方向:
以特征点为中心,计算半径为6σ的邻域内的点在x、y方向的haar小波响应,haar小波边长取4σ,对x、y方向的响应值进行因子为2σ的高斯加权,得到水平和垂直方向上的方向分量dx、dy;然后,以特征点为中心,张角为π/3的扇形滑动,计算扇形窗口w内的dx、dy的累加值:
将mw最大对应的扇形窗口w的θw作为特征点的主方向:
进一步地,在步骤(6)中,计算单应性矩阵的步骤:
ⅰ、设单应性矩阵h的内部参数:
则:
其中,x'、y'、z'=1和x、y、z=1分别为两幅图像上的像素点;
ⅱ、随机选择4对匹配点估计h中的8个参数:
iii、重复步骤ⅱ,得到若干矩阵h,将所有特征点代入下式,将满足下式的特征点数最多所对应的矩阵h作为最终的单应性矩阵:
上式中,t为预设阈值。
采用上述技术方案带来的有益效果:
本发明采用fast特征检测结合freak特征描述的方式,能够快速地对目标实测图像序列进行匹配,采用ransac算法能够对匹配得到的特征点进行有效的错误剔除,从而精确提取出待定位目标;采用surf特征检测结合freak特征描述的方式,能够快速地对大视角下的目标实测图像和机载参考图像进行匹配,采用ransac算法能够获取目标实测图像与机载参考图像之间的单应性矩阵,最后结合目标提取结果,在机载参考图像中精确定位目标。
本发明能够极大地减小目标定位误差,同时,本发明能够极大地提升目标定位的速度和效率,满足目标定位的实时性要求和高精度要求。
附图说明
图1是本发明的整体流程图;
图2是本发明中快速目标提取算法的流程图;
图3是本发明中快速图像匹配算法的流程图;
图4是本发明中目标高精度定位算法的流程图。
具体实施方式
以下将结合附图,对本发明的技术方案进行详细说明。
一种基于图像匹配的目标快速精确定位方法,如图1所示,包括三个部分:快速目标提取算法、快速图像匹配算法和目标高精度定位算法。
(一)快速目标提取算法(如图2所示)
(1)采用fast算法对目标实测图像进行特征点检测
定义一圆形区域,以目标实测图像中的任意一点为该圆形区域的圆心p,将圆心p处的灰度值分别与邻域内16个像素点的灰度值进行比较:
|m-pi|>δd,1≤i≤16
上式中,m为圆心p处的灰度值,pi为p点邻域内第i个点的灰度值,δd为预设阈值;若满足上式的p点邻域内的像素点个数大于n,则将p点视为特征点,n为预设值。在本实施例中,n=9。
(2)采用freak(fastretinakeypoint,快速视网膜关键点)算法对步骤
(1)获取的特征点进行描述和匹配
freak描述符采样点的分布与视网膜感受域的结构相似,特征点的位置为中心点,采样点分布在特征点为圆心的多层同心圆上,且每层同心圆上的采样点妘分布,每个采样点又作为其他圆的圆心。与中心特征点间隔越小,采样点越密集;与中心特征点间隔越大,采样点越零散。层数越多,特征向量描述能力越强,计算量越大。
每个采样点需要进行高斯平滑以去除噪声,周围圆的半径代表高斯核函数的半径。freak描述符的形成是通过采样点对的强度比较结果级联组成,属于二进制比特串。设f是某特征点的freak描述符,则:
上式中,n为特征向量数,
为了保证算法的实用性,在图像匹配中需要针对信息量较大的维度实行保留,细节信息不会严重影响图像匹配的效果。通过以下步骤从图像数据中筛选高信息量的维度:
a、建立矩阵d,矩阵d每行代表一个freak描述符;
b、计算矩阵d每一列的方差,首先将方差值最大的一列保存到矩阵d’中,然后计算其他列与该方差值最大列的协方差,再将协方差值最小的一列保存到矩阵d’中;
c、将保留的两列从矩阵d中删除,然后返回步骤b,直至矩阵d’的维度达到预设维度。
计算特征点的方向:
上式中,g为特征点的采样点对集合,m为g中采样点对数,po为g中的一个点对,
(3)采用ransac算法对步骤(2)得到的匹配结果进行处理,剔除误匹配点,提取目标有效像素
ransac(randomsampleconsensus)算法,又称随机抽样一致算法,是一种有效去除噪声影响,估计模型的方法。具体步骤如下。
a、从匹配点集合s中随机选择s个特征点;
b、利用s个匹配点拟合出一个模型q;
c、对于集合s中剩余的匹配点,计算每个匹配点与模型q的距离,距离超过阈值的特征点视为局外点outliers,距离未超过阈值的特征点视为局内点inliers;
d、将上述步骤迭代k次后,将包含局内点数目最多的模型qk作为拟合结果;
e、将集合s中不满足模型qk的匹配点剔除,从而提取出目标有效像素。
集合s中的特征点数目通常较大,从中任选s个数据点的组合会很大,导致上面操作的运算量较大。通常情况下,只要保证模型估计需要的s个点都是局内点的概率足够高即可。因此设α为集合s中inliers的比例,z为进行k次选取后,至少有一次选取的s个点都是inliers的概率。则有:
z=1-(1-αs)k
其中,1-αs表示一次选取都不是inliers的概率,(1-αs)k表示k次选取中没有一次都是inliers的概率,则有:
k=log(1-z)/log(1-αs)
这里z一般要求满足大于95%即可。
(二)快速图像匹配算法(如图3所示)
(1)采用surf(speededuprobustfeature,快速鲁棒特征)算法分别对提取目标后的实测图像和参考图像进行特征点检测
surf算法是对sift算法的一种改进,主要是在算法的执行效率上,比sift算法来讲运行更快,作为sift算法的加速版,surf算法在适中的条件下完成两幅图像中物体的匹配基本实现了实时处理,其快速的基础为积分图像haar求导。
hessian矩阵是surf算法的核心,为了方便运算,假设函数f(x,y),hessian矩阵h是由函数f(x,y)偏导数组成:
h矩阵判别式为:
判别式的值是矩阵h的特征值,可以利用判定结果的符号将所有点分类,根据判别式取值正负,来判别该点是或不是极值点。在surf算法中,针对图像i(x,y)中一个像素点x(x,y),位于x处的σ尺度上对应的hessian矩阵表达式为:
上式中,
高斯函数常用来做尺度空间的计算,但实际运算中,必须将其离散化并做裁剪,这就改变了复杂的模板,得到仅需若干矩形方块形成的模板。鉴于lowe在用dog近似log时获得的成功,bay等提出将这种近似更扩展一步,直接用框状滤波器近似高斯的二阶偏导。用简化后近似的模板处理积分图像时,由于是简单矩形代替了复杂的偏导,运算量与模板的尺寸不相互影响,这就很大程度上减少了运算时间,提高了效率。经过实验表明这种框状滤波的近似并没有降低卷积模板的性能。将上述改变后的模板与图像卷积结果用dxx、dxy、dyy代换lxx、lxy、lyy可得近似hessian矩阵happrox的行列式方法:
det(happrox)=dxxdyy-(ωdxy)2
其中,ω为权重系数,主要用来平衡近似误差,在本实施例中取0.9。根据上式计算原图像x点的响应值,再将对应全部的像素点进行逐个处理,就能够获得相应σ上的响应结果。
surf算法引入了框状滤波模板和积分图像的概念,用不同大小的模板同原始图像在不同方向上做卷积,从而多尺度空间构建完成。尺度空间的最底层由9×9的模板滤波输入得到,对应二阶高斯滤波σ=1.2,此时近似模板的尺度s=σ=1.2。尺度空间的首层是最初始尺度的近似模板同图像做卷积计算结果而来,同理,使用调整尺寸的方式保持模板慢慢增大,之后的尺度层就是在这种情况下用每个尺寸同目标卷积便可形成。每两个距离最近的模板尺寸之差都固定为偶数个像素,从而保证了模板尺寸的奇数性和其中心像素的存在。每4个模板为1阶(octave)。每1阶要进行4次滤波,第1阶中相邻的模板尺寸相差6个像素,上1阶第2次滤波模板的大小将作为下1阶最初滤波模板的大小,在第2阶中后1阶滤波模板较前1阶的大小总是增大12,同理第3层每次增加24,以此类推,一般取4阶数就足够了。surf算法对于每1个像素点的非极大值抑制要在3×3×3的三维立体空间中进行,与该点上1个尺度对应的9个点、下1个尺度层对应的9个点以及自身周围邻域8个点共26个点比较,只有在达到最大或最小的条件下才选择为特征点,极大值被选定后,采用三维线性插值法得到亚像素级的特征点,同时也去除那些值小于一定阈值的点,最终确定特征点的位置及尺度。
以特征点为中心,计算半径为6σ(σ为特征点所在的尺度值)的邻域内的点在x、y方向的haar小波(haar小波边长取4σ)响应,计算出图像在haar小波的x和y方向上的响应值之后,对两个值进行因子为2σ的高斯加权,加权后的值分别表示在水平和垂直方向上的方向分量dx、dy。harr特征值反应了图像灰度变化的情况,那么这个主方向就是描述那些灰度变化特别剧烈的区域方向。接着,以特征点为中心,张角为π/3的扇形滑动,计算窗口w内的harr小波响应值dx、dy的累加值:
将mw最大对应的扇形窗口w的θw作为特征点的主方向:
(2)采用freak算法对获取的特征点进行描述和匹配
该步骤余上文(一)中的步骤(2)一致,此处不再赘述。
(3)采用ransac算法对匹配结果进行处理,剔除误匹配点,计算单应性矩阵
设单应性矩阵h的内部参数:
则:
其中,x'、y'、z'=1和x、y、z=1分别为两幅图像上的像素点;
随机选择4对匹配点估计h中的8个参数:
多次选择匹配点,得到若干矩阵h,将所有特征点代入下式,将满足下式的特征点数最多所对应的矩阵h作为最终的单应性矩阵:
上式中,t为预设阈值。
(三)目标高精度定位算法(如图4所示)
设提取的目标有效像素为p(x,y),目标实测图像与机载参考图像之间匹配后利用ransac算法计算得到的像素点对应单应性矩阵为h,则目标在参考图中对应的像素坐标为:
q(x,y)=h·p(x,y)
式中,q(x,y)为由目标有效像素经单应性矩阵映射得到的在参考图中的像素坐标,利用该像素坐标即可对目标进行精确定位。
实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。