基于fast-surf的移動端實時特征檢測匹配方法
【技術領域】
[0001] 本發明涉及一種基于FAST-SURF的移動端實時特征檢測匹配方法,屬于移動端增 強現實技術領域。
【背景技術】
[0002] 在增強現實技術中,基于自然特征的跟蹤注冊方法復雜度高,對計算能力的要求 相當高,其中的基于計算機視覺的跟蹤注冊方法主要涉及的就是特征點的檢測和匹配。而 移動設備因其計算設施(吞吐量低,浮點運算能力差)和內存帶寬(內存大小有限,速度緩 慢,緩存小)方面不足,使得技術表現效果受到了限制。因此在移動設備上兼顧效果跟效率 是一個難題。FAST算法最大的特點就在于其計算效率。正是由于其高速性能,適合應用在移 動平臺的實時視頻圖像處理中。但傳統FAST算法檢測出來的角點包含偽角點,需要增加計 算量通過非極值約束來去除偽角點。采用SURF描述子來進行描述特征點,匹配精度高,但是 由于其計算復雜度過大,需要對其進行簡化以便于在移動端實時運行。
【發明內容】
[0003] 針對移動終端自然特征提取和匹配的處理能力不足的技術問題,本發明提供了一 種基于FAST-SURF的移動端實時特征檢測匹配方法,采用改進的FAST算法檢測特征點,再采 用簡化過的SURF算法計算特征點的方向,并建立特征描述符,然后將建立好的特征點描述 符與數據庫中的特征描述符進行匹配。該算法處理圖像花費時間短,在移動端能實時處理 自然特征檢測與匹配。
[0004] 為解決上述技術問題,本發明提供一種基于FAST-SURF的移動端實時特征檢測匹 配方法,包括以下步驟:
[0005] 步驟一,對采集的圖片建立特征庫:對圖片上的特征點建立KD-tree,形成特征庫 數據;
[0006] 步驟二,讀入圖像,并將圖像轉換成灰度圖,計算灰度圖上每個點的灰度值;
[0007] 步驟三,采用改進的FAST算法檢測特征點;
[0008] 步驟四,采用簡化的SURF算法對特征點建立描述符;
[0009] 步驟五,將描述符與特征庫中的特征點進行匹配。
[0010]其中,所述步驟三具體為,以待測點P為圓心,選取半徑為3的圓,將圓周上的16個 像素點分別用1、2、、、15、16進行標記;設待測點?的灰度值為1[)、圓上每個像素點的灰度值 為I x、灰度閾值為t、圓周上連續N個像素點組成的集合為S,其中x=l、2、、、15、16,N=9;
[0011 ]若圓周上任意一象素點X滿足射牛:綠:獲良【k % +1或者Vk. t - t,貝ij 以待測點p為對稱中心,將圓內的點分成對稱的點對di-di,,若點對di-di,滿足條件I Ip-di I < t,I Ip-dr I <t,則待測點P為角點,即特征點,否則不是;
[0012]若圓周上任意一個像素點X不滿足條件:r ^ ls: > ip 4、t或者Vx e心k - t, 貝ij選取下一個待測點。
[0013] 所述步驟四包括,一,計算特征點的方向,以特征點為圓心,半徑為3的圓計算特征 點的方向;二,建立描述符,以特征點為中心,選取9 X 9的區域,并分成9個3 X 3的子域,每個 子域計算得到4個數據,產生一個36維的向量作為特征點的描述符。
[0014] 計算特征點的方向具體為,1.以特征點為圓心,選取半徑為3的圓形區域,將圓心 角為蘭的扇形繞圓心旋轉,每次旋轉15°,得到24個扇形區域;2.采用邊長為2的濾波器,計 算每個扇形區域內的每個點在X軸方向的Haar小波響應和y軸方向的Haar小波響應,并以特 征點為中心的二階高斯函數值對X軸方向的Haar小波響應和y軸方向的Haar小波響應分別 進行加權,加權后的X軸方向的Haar小波響應和y軸方向的Haar小波響應分別作為扇形區域 內的點在扇形區域內沿橫坐標X軸方向的水平響應和沿縱坐標y軸方向的垂直響應;3.將每 個扇形區域內所有點的水平響應和垂直響應分別相加,得到一個局部向量,在24個扇形區 域中,長度最長的局部向量作為特征點的方向,記特征點的方向角為Θ。
[0015] 建立描述符具體為,1.以特征點為中心,選取9X9的區域,并分成9個3X3的子域 2.采用邊長為2的濾波器,分別計算每個子域的水平方向Haar小波響應hxi,j和垂直方向Haar 小波響應hyi, j,其中i = 1,2,、、、,4,j = 1,2,、、、,9,并以特征點為中心的二階高斯函數值分別對 水平方向Haar小波響應hxi,j和垂直方向Haar小波響應h yi,j進行加權,得到加權后的水平方向 Haar小波響應h\ j和垂直方向Haar小波響應h\ j,分別對水平方向Haar小波響應h\ j和垂直方向 Haar小波響應hyi,j進行旋轉變換,得到在特征點方向上的分景dJJ,旋轉變換公式分別為旋 轉變換公式分別為
其中w為以特征點為中心的二階高斯權值,Θ為特征點的方向角;3.對于每個子域,分別計算 Η
則每個子域就產生一個4維描述向量
得9個子域產生的描述向量連接起來,得到長度為 36的描述向量,即36維的描述符。
[00?6] 所述步驟五為,將步驟四得到的36維描述與步驟一建立的KD-tree中的節點進行 比對,找出與描述向量處在同一個空間的點。
[0017] 本發明所達到的有益技術效果:本發明提供的方法相比于傳統的FAST算法提高了 特征點檢測的準確性,減少了特征點中的偽角點。同時,簡化了 SURF描述符生成方法,大大 降低了運算復雜度。采用該方法開發的程序能在移動平臺上實時運行。
【附圖說明】
[0018] 圖1本發明的流程框圖;
[0019] 圖2本發明之以待測點P為圓心,半徑為3的圓形區域示意圖;
[0020] 圖3本發明之X方向(a)和y方向(b)的Haar小波響應濾波器;
[0021] 圖4本發明之以特征點為圓心,半徑為3的圓形區域示意圖。
【具體實施方式】
[0022]為了能更好的了解本發明的技術特征、技術內容及其達到的技術效果,現將本發 明的附圖結合實施例進行更詳細的說明。
[0023]下面結合附圖和實施例對本發明專利進一步說明。
[0024]如圖1所示,本發明提供一種基于FAST-SURF的移動端實時特征檢測匹配方法,包 括以下步驟:
[0025]步驟一,對采集的圖片建立特征庫:對圖片上的特征點建立KD-tree,形成特征庫 數據;
[0026]步驟二,讀入圖像,并將圖像轉換成灰度圖,計算灰度圖上每個點的灰度值;
[0027]步驟三,采用改進的FAST算法檢測特征點;
[0028] 如圖2所示,以待測點P為圓心,選取半徑為3的圓,將圓周上的16個像素點分別用 1、2、、、15、16進行標記;設待測點P的灰度值為Ip、圓上每個像素點的灰度值為I x、灰度閾值 為t、圓周上連續N個像素點組成的集合為S,其中x = l、2、、、15、16,N=9;
[0029] 若圓周上任意一個像素點X滿足條件+ t或者 貝1J以待測點P為對稱中心,將圓內的點分成對稱的點對di-di,,若點對di-di,滿足條件I Ip-di <t,I Ip-dr I <t,則待測點P為角點,即特征點,否則不是;
[0030] 若圓周上任意一個像素點X不滿足條件?或者1 則選取下一個待測點。
[0031 ]步驟四,采用簡化的SURF算法對特征點建立描述符,包括: