基于Canny算子和Hillbert‑Huang变换的SIFT图像特征点提取方法技术

技术编号:15437948 阅读:69 留言:0更新日期:2017-05-26 03:56
本发明专利技术提供了一种基于Canny算子和Hillbert‑Huang变换的SIFT图像特征点提取方法,涉及图像处理领域,是基于Canny算子和Hillbert‑Huang变换,改进的SIFT图像特征点提取的方法,由于采用了Canny算子和Hillbert‑Huang变换融合的技术方案,改进了原有SIFT算法实时性不高,特征点有时较少以及对边缘光滑的目标无法准确提取特征点的缺陷,能够有效地增强了SIFT特征点的抗噪声能力,提高了算法的稳定性,为三维重建和目标定位等提供了良好的基础。

SIFT image feature extraction methods of Canny operator and Hillbert based on Huang transform

The present invention provides a method for extracting SIFT image Canny feature and Hillbert based on Huang transform, relates to the field of image processing, Canny operator and Hillbert based on Huang transform method, improved SIFT image feature extraction, because of the use of Canny operator and Hillbert Huang transform fusion scheme, improved. The original SIFT algorithm is not high, sometimes less feature points and target of smooth edges can not accurately extract the defect feature points, can effectively enhance the SIFT feature anti noise capability and improve the stability of the algorithm, providing a good foundation for the 3D reconstruction and object location etc..

【技术实现步骤摘要】
基于Canny算子和Hillbert-Huang变换的SIFT图像特征点提取方法
本专利技术涉及图像处理领域,尤其是涉及一种图像特征点匹配的方法。
技术介绍
图像匹配作为工业、农业、商业以及军事领域中不可缺少的一项重要研究手段,在近年来一直被人们不断进行深入探索,在国内外主要有以下几个手段:颜色或灰度特征提取、纹理边缘特征提取、图像代数特征提取、图像变换系数特征提取,其中,SIFT(Scale-invariantfeaturetransform)算法以其受光照强度影响小,对目标遮挡处理结果好,良好的鲁棒性以及实时高速的特点,在特征点检测中被许多学者广泛应用。SIFT算法是由Lowe在2004年提出的一种图像特征点匹配算法,通过确定尺度空间、检测关键点位置、确定关键点位置以及对选取关键点描述几个步骤,最终实现图像匹配,然而SIFT算法也存在缺陷,SIFT算法中所利用DOG算子进行边缘检测后所得到的关键点,由于边缘响应的原因,有很多并不是真正的关键点。在边缘检测中,Canny算子具有滤波、增强以及检测等多方面优化,受到噪声干扰性小,但是Canny算子处理步骤中,利用高斯算子对图像平滑处理时,会出现过度平滑和边缘移位的情况,二维的Hillbert-Huang变换用于图像分解中,可以将图像分解成对应的内蕴模函数,使边缘轮廓更加清晰。
技术实现思路
为了克服现有技术的不足,本专利技术提供一种基于Canny算子和Hillbert-Huang变换的改进的SIFT图像特征点提取的方法,对SIFT图像匹配算法进行改进,通过实验结果验证,图像特征点提取准确率有较大提高。本专利技术解决其技术问题所采用的技术方案包括以下步骤:步骤1:对输入的原图像I(x,y)定义尺度空间L(x,y,σ),构建高斯金字塔:L(x,y,σ)=G(x,y,σ)*I(x,y)(1)其中G(x,y,σ)为高斯函数,m,n为高斯模板的维度,σ为尺度空间因子;步骤2:构建高斯差分金字塔(1)将图像金字塔分o组,一组称为一个Octave,每组分为多层,组内总层数为S,在每一组图像的顶层用高斯模糊生成3幅图像,高斯金字塔每组则有S+3层图像;(2)对原图像采用隔点采样法进行降采样,具体实施为:比例因子为2对原图像每隔一行一列取一点;(3)确定高斯金字塔的层数:原图像为金字塔的底部第一层,每次降采样所得到的新图像为金字塔的上一层的一张图像,每个金字塔共n层,金字塔的层数n根据图像的原始大小和塔顶图像的大小共同决定,其计算公式如下:n=log2{min(M,N)}-t(3)其中,M,N为原图像的像素值,t为塔顶图像的最小维数的对数值;(4)计算高斯金字塔组内某一层图像的尺度其中σ0是基准层尺度,根据SIFT算法取值为1.6,o为组octave的索引,s为组内层的索引,根据SIFT算法取值为3,关键点的尺度坐标σ即关键点所在的组和组内的层,不同组相同层的组内尺度坐标相同;(5)计算DOG算子D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*I(x,y)=L(x,y,kσ)-L(x,y,σ)(5)其中k为组内总层数的倒数,即:步骤3:对图像进行空间极值点的检测,具体步骤如下:将步骤2中计算得到的DOG算子D(x,y,σ)泰勒展开,得到其中X=(x,y,σ)T,使公式(5)的泰勒展开式求导结果值为零,得到中心偏移量其中,代表相对插值中心的偏移量,根据SIFT算法在任何一个维度上,即x,y,σ三者中的任何一个数值超过0.5,则视为插值中心已经偏移;步骤4:将Canny算子和Hillbert-Huang变换融合,具体步骤如下:(1)求解固有模态函数(IntrinsicModeFunction,IMF),其中,I(x,y)为原图像,mI(x,y)表示对图像求均值曲面,mkI(x,y)表示第k次对图像mI(x,y)求均值曲面,原图像与mI(x,y)的差值为第一个IMF分量c1,得到第一个IMF分量后,将原图像与c1的差值mI(x,y)作为待处理部分继续分解,则可得到第二个IMF分量c2,以此类推可得到第n个IMF分量的分解表达式,具体公式如下:c1=I(x,y)-mI(x,y)c2=I(x,y)-c1-m[I(x,y)-c1]=mI(x,y)-m2I(x,y)c3=I(x,y)-c1-c2-m[I(x,y)-c1-c2]=m2I(x,y)-m3I(x,y)cn=mn-1I(x,y)-mnI(x,y)(9)将式(9)中c1至cn相加,得到二维IMF:(2)计算图像的梯度1)确定图像I(x,y)的x方向偏微分Ex:2)确定图像I(x,y)的y方向的偏微分Ey:3)确定图像I(x,y)上点(i,j)的边缘梯度强度A(i,j):4)确定图像I(x,y)上点(i,j)的梯度方向α(i,j):(3)利用非极大抑制消除错误点并得到单像素边缘点(4)利用双阈值二值化得到边界具体实施步骤为:1)预先设定检测需要的高低阈值,定义低阈值为T1,高阈值为T2,且T2=2T1,T1=12;2)对图像进行双阈值处理,对于任意边缘像素值在T1与T2之间的,如果能通过边缘连接到一个像素大于T2而且边缘所有像素大于最小阈值T1的则保留,否则丢弃,边缘梯度强度A(i,j)大于高阈值则是边缘,边缘梯度强度A(i,j)低于低阈值则不是边缘,边缘梯度强度A(i,j)介于高阈值和低阈值之间的,判断8邻域内是否存在高于高阈值的梯度幅值,存在则是边缘,否则不是边缘;(5)边界跟踪,得到边缘图像;1)将边缘梯度强度A(i,j)小于T1的像素的灰度值设为0,得到图像1;2)将边缘梯度强度A(i,j)小于T2的像素的灰度值设为0,得到图像2;3)对图像2进行扫描,当遇到第一个非零灰度的像素p(x,y)时,以p(x,y)为开始点跟踪轮廓线,直到图像2扫描结束,轮廓线的终点为q(x,y),此时跟踪结束;4)找出图像2中q(x,y)点在图像1中相同位置对应的点s(x,y),当s(x,y)点的8邻近区域中有非零像素s(x,y)存在,则将其包括到图像2中作为r(x,y)点,从r(x,y)开始,重复步骤1),直到图像1和图像2中均没有非零像素为止,此时完成了对包含p(x,y)的轮廓线的连结;5)返回到步骤1),寻找下一条轮廓线,重复步骤1)、2)和3),直到图像2中找不到新轮廓线,即无非零灰度像素为止,对于Canny算子边缘检测消除边缘响应后得到关键点X=(x,y,σ)T,关键点X=(x,y,σ)T组成特征点点集R2;步骤5:1)使用SIFT方法得到特征点集R1,将特征点点集R1中的点和步骤4中得到的特征点点集R2所有点两两比较,判断坐标是否相等,相同则舍去R1中的点,不相同则将R1中的点与R2中对应点所在的3×3邻域内的点集R3比较,相同则舍去R1中的点,否则,将R1中的点与R2中的其他没有比较的边缘点比较,如果任何一次比较有和R1中参与比较的点坐标相同的点,则舍去R1中的该点,否则保留;2)计算标志点f1和f2,其中f1=R1-R2,f2=size((R3-R1),1),f1和f2为标志点,f1是点集R1与R2的差集,当f1为0时,去除点集R1中的对应点,f1为1时则保留点集R1中的对应点作为候选点,当f2为8时,保留点集R1中本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201710118809.html" title="基于Canny算子和Hillbert‑Huang变换的SIFT图像特征点提取方法原文来自X技术">基于Canny算子和Hillbert‑Huang变换的SIFT图像特征点提取方法</a>

【技术保护点】
一种基于Canny算子和Hillbert‑Huang变换的SIFT图像特征点提取的方法,其特征在于包括下述步骤:步骤1:对输入的原图像I(x,y)定义尺度空间L(x,y,σ),构建高斯金字塔: L(x,y,σ)=G(x,y,σ)*I(x,y)    (1)

【技术特征摘要】
1.一种基于Canny算子和Hillbert-Huang变换的SIFT图像特征点提取的方法,其特征在于包括下述步骤:步骤1:对输入的原图像I(x,y)定义尺度空间L(x,y,σ),构建高斯金字塔:L(x,y,σ)=G(x,y,σ)*I(x,y)(1)其中G(x,y,σ)为高斯函数,m,n为高斯模板的维度,σ为尺度空间因子;步骤2:构建高斯差分金字塔(1)将图像金字塔分o组,一组称为一个Octave,每组分为多层,组内总层数为S,在每一组图像的顶层用高斯模糊生成3幅图像,高斯金字塔每组则有S+3层图像;(2)对原图像采用隔点采样法进行降采样,具体实施为:比例因子为2对原图像每隔一行一列取一点;(3)确定高斯金字塔的层数:原图像为金字塔的底部第一层,每次降采样所得到的新图像为金字塔的上一层的一张图像,每个金字塔共n层,金字塔的层数n根据图像的原始大小和塔顶图像的大小共同决定,其计算公式如下:n=log2{min(M,N)}-t(3)其中,M,N为原图像的像素值,t为塔顶图像的最小维数的对数值;(4)计算高斯金字塔组内某一层图像的尺度其中σ0是基准层尺度,根据SIFT算法取值为1.6,o为组octave的索引,s为组内层的索引,根据SIFT算法取值为3,关键点的尺度坐标σ即关键点所在的组和组内的层,不同组相同层的组内尺度坐标相同;(5)计算DOG算子D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*I(x,y)=L(x,y,kσ)-L(x,y,σ)(5)其中k为组内总层数的倒数,即:步骤3:对图像进行空间极值点的检测,具体步骤如下:将步骤2中计算得到的DOG算子D(x,y,σ)泰勒展开,得到其中X=(x,y,σ)T,使公式(5)的泰勒展开式求导结果值为零,得到中心偏移量其中,代表相对插值中心的偏移量,根据SIFT算法在任何一个维度上,即x,y,σ三者中的任何一个数值超过0.5,则视为插值中心已经偏移;步骤4:将Canny算子和Hillbert-Huang变换融合,具体步骤如下:(1)求解固有模态函数(IntrinsicModeFunction,IMF),其中,I(x,y)为原图像,mI(x,y)表示对图像求均值曲面,mkI(x,y)表示第k次对图像mI(x,y)求均值曲面,原图像与mI(x,y)的差值为第一个IMF分量c1,得到第一个IMF分量后,将原图像与c1的差值mI(x,y)作为待处理部分继续分解,则可得到第二个IMF分量c2,以此类推可得到第n个IMF分量的分解表达式,具体公式如下:c1=I(x,y)-mI(x,y)c2=I(x,y)-c1-m[I(x,y)-c1]=mI(x,y)-m2I(x,y)c3=I(x,y)-c1-c2-m[I(x,y)-c1-c2]=m2I(x,y)-m3I(x,y)cn=mn-1I(x,y)-mnI(x,y)(9)将式(9)中c1至cn相加,得到二维IMF:(2)计算图像的梯度1)确定图像I(x,y)的x方向偏微分Ex:<...

【专利技术属性】
技术研发人员:王晓楠黄登山
申请(专利权)人:西北工业大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1