[發明專利]基于Canny算子和Hillbert?Huang變換的SIFT圖像特征點提取方法在審
| 申請號: | 201710118809.8 | 申請日: | 2017-03-02 |
| 公開(公告)號: | CN106709499A | 公開(公告)日: | 2017-05-24 |
| 發明(設計)人: | 王曉楠;黃登山 | 申請(專利權)人: | 西北工業大學 |
| 主分類號: | G06K9/46 | 分類號: | G06K9/46;G06T7/13;G06T5/00 |
| 代理公司: | 西北工業大學專利中心61204 | 代理人: | 金鳳 |
| 地址: | 710072 *** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 canny 算子 hillbert huang 變換 sift 圖像 特征 提取 方法 | ||
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)求解固有模態函數(Intrinsic Mode Function,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中的對應點作為候選點,f2為7時,則舍去R1中的該點;
3)將2)中確定的候選點計算其方向,具體步驟如下:
求解關鍵點梯度的幅值:
求解關鍵點梯度的方向:
θ(x,y)=tan-1((L(x,y+1)-L(x,y-1))/(L(x+1,y)-L(x-1,y))) (16)
步驟6:
將步驟1至步驟5利用Matlab進行仿真,并利用Matlab中plot()方法在圖片中標記出匹配的特征點。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西北工業大學,未經西北工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710118809.8/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種圖像區域居中的方法和裝置
- 下一篇:一種相機測量食物營養成分方法





