一種改進的KAZE圖像匹配算法的製作方法
2023-06-03 11:47:26 2
本發明涉及圖像處理技術領域,尤其涉及一種改進的kaze圖像匹配算法。
背景技術:
圖像特徵提取與匹配一直是計算機視覺領域的研究熱點之一,並且在視覺導航、遙感圖像處理、目標定位、圖像檢索、目標識別與跟蹤、立體視覺測距和三維重建等領域得到了廣泛的應用。特徵檢測是圖像匹配的基礎,圖像特徵提取效果如何直接決定了圖像匹配的效果。如何從原始圖像中提取穩定性好,獨特性高的圖像特徵以進一步得到魯棒性強且滿足實時性的匹配算法已成為圖像處理的一個研究熱點。
2004年,lowe提出了高效的尺度不變特徵變換(scaleinvariantfeaturetransform,sift)算法,通過建立高斯差分尺度空間金字塔來提取特徵點,該算法不僅具有尺度不變性還具有一定的仿射不變性、視角不變性、旋轉不變性和光照不變性,在圖像特徵提取方面得到了廣泛的應用。但該算法的計算複雜度高且耗時長,不能滿足實時性的要求。2006年,bay和ess等人基於sift算法的思路,提出了加速魯棒特徵(speeded-uprobustfeatures,surf)算法,並於2008年加以完善。該算法不僅具有了良好的魯棒性,而且計算速度比sift算法提高了3倍左右,但是實際匹配性能卻不如sift算法。sift算法和surf算法都是在線性的高斯金字塔上進行檢測特徵點,這種線性高斯分解會造成精度損失,在生成高斯金字塔時容易造成細節丟失和邊緣模糊。2012年,alcantarilla等人提出了kaze算法,該算法通過加性算子分裂算法(aos)和可變傳導函數構造穩定的非線性尺度空間,有效解決了線性高斯分解會造成精度損失問題,並且其魯棒性、匹配性能也均優於傳統檢測算法,但是kaze算法的實時性較低。
技術實現要素:
有鑑於現有技術的上述缺陷,本發明所要解決的技術問題是提供一種改進的kaze圖像匹配算法,以解決現有技術的不足。
為實現上述目的,本發明提供了一種改進的kaze圖像匹配算法,其特徵在於,包括以下步驟:
(1)輸入原始圖像,得到相應的原始灰度圖l0,通過aos算法和可變傳導擴散方法來構造非線性尺度空間;
(2)檢測原始圖像及其產生的非線性尺度空間中的圖像上的感興趣特徵點,這些特徵點在尺度歸一化後的非線性尺度空間上的hessian矩陣行列式是局部極大值;
(3)在梯度圖像上,若特徵點所在的尺度參數為σ,以特徵點為中心取一個半徑為12σ的圓鄰域,將其分為3個子區域,並進行核為2.5σ的高斯加權;
(4)對於每個特徵點,生成3*8的24維特徵向量;
(5)兩幅圖像的24維特徵向量生成以後,通過近似歐式距離來度量兩幅圖像中特徵點的相似性;
(6)取模板圖像中某一個關鍵點,遍歷待匹配圖像中的所有特徵點,對所有的特徵點根據ratio進行篩選來得到粗匹配對;
(7)再通過ransac算法進一步對粗匹配對去除誤匹配和重複匹配,得到最終的匹配對;
(8)根據得到最終的匹配對,在模板圖和待匹配圖中分別做標記,連接對應的匹配點。
進一步地,所述非線性尺度空間是採用加性算子分裂算法來進行非線性擴散濾波,採用任意步長來構造的,其中,非線性擴散濾波方法是將圖像亮度f在不同尺度上的變化視為某種形式的流動函數的散度,可以通過非線性偏微分方程來描述:
通過設置合適的傳導函數其中f指的是圖像亮度,x指的是水平方向,y指的是垂直方向,t指的是時間,擴散自適應於圖像的局部結構。
進一步地,所述步驟(2)中的在尺度歸一化後的非線性尺度空間上的hessian矩陣行列式為:
其中σ是被計算像素點的尺度參數的整數值,lx、ly、lxx、lyy分別是高斯濾波後的圖像的l在x和y方向的一階微分、l在y方向的二階微分、l在x方向的二階微分,在尋找極值點時,每一個像素點和它所有的相鄰點比較,當其大於它的圖像域和尺度域的所有相鄰點時,即為局部極大值點。
進一步地,所述步驟(3)中子鄰域劃分包含以下步驟:
步驟1:以特徵點為中心取一個半徑為12σ的圓鄰域,對其進行核為2.5σ的高斯加權;
步驟2:將該圓形鄰域劃分成3個寬度為5σ的圓環,即3個子區域,相鄰的子區域有2σ的交疊帶。
進一步地,所述步驟(4)中24維特徵向量通過以下步驟生成:
步驟1:獲取3個圓環子鄰域;
步驟2:計算每一個子鄰域中的描述向量d:
d=(∑lx,∑ly,∑|lx|,∑|ly|,∑lxx,∑lyy,∑|lxx|,∑|lyy|)
其中,lx,ly,lxx,lyy分別是高斯濾波後的圖像的l在x和y方向的一階與二階微分;|lx|,|ly|,|lxx|,|lyy|分別是的絕對值;
步驟3:進行尺度歸一化,最終生成一個3*8=24維的特徵描述向量。
進一步地,所述步驟5的近似歐式距離為棋盤距離和街區距離的線性組合,即:
l2=α(l1+l∞)
其中:
街區距離l1:
棋盤距離l∞:l∞(x,y)=max{|xi-yi|},1≤i≤n;
歐氏距離l2:
其中,x與y分別代表兩個維數相同的向量,i指的是向量中的第i維。
其中α為一個需要選擇確定的實數,利用相應的超多面體去逼近超球體來確定α,描述向量為24維,
α其表達式如下:
式中:n為特徵描述符的維數。
進一步地,所述步驟(6)中ratio是最近距離與次近距離比值,當兩個特徵點的ratio小於某個閾值時判定其為匹配點。
本發明的有益效果是:
(1)傳統的sift、surf等特徵檢測算法都是基於線性的高斯金字塔進行多尺度分解來消除噪聲和提取顯著特徵點。但高斯分解是犧牲了局部精度為代價的,容易造成邊界模糊和細節丟失。非線性的尺度分解雖然可以解決這種問題,但傳統方法基於正向歐拉法(forwardeulerscheme)求解非線性擴散(non-lineardiffusion)方程時迭代收斂的步長太短,耗時長、計算複雜度高。由此,kaze算法的作者提出採用加性算子分裂算法(additiveoperatorsplitting,aos)來進行非線性擴散濾波,可以採用任意步長來構造穩定的非線性尺度空間。
(2)本算法利用圓的旋轉不變性來劃分子鄰域,減少了原kaze算法中確定主方向的步驟,提高了運算速度。
(3)本算法在生成特徵描述向量時在原有的一階梯度信息基礎上加入了圖像的二階梯度信息。二階梯度值反映了圖像紋理上的細節信息,可以很好地保留圖像邊緣和細節特徵,而在非線性尺度空間中圖像能保留邊緣、細節,本算法將二階梯度信息加入特徵描述符中,更好地利用了圖像的邊緣和細節信息。以下將結合附圖對本發明的構思、具體結構及產生的技術效果作進一步說明,以充分地了解本發明的目的、特徵和效果。
(4)本算法採用近似歐式距離來度量特徵向量間的相似性。利用街區和棋盤距離的線性組合α(l1+l∞)來近似歐式距離,α的最優解保證了單係數法作為相似性度量和歐氏距離具有相同的匹配正確率。
(5)本算法對kaze特徵描述符進行改進,添加了圖像的二階梯度信息,同時利用了圓旋轉不變性,將描述符維度由64維降至24維,並且採用近似歐式距離代替歐氏距離作為特徵向量的相似性度量,從特徵點檢測和相似性度量方法兩方面提高了運算速度。在匹配方法上,先採用ratio=0.8作為最近距離與次近距離的判斷閾值進行特徵匹配對的篩選,得到粗匹配對。再利用ransac算法進一步去除錯誤匹配和重複匹配,得到最終匹配對,有效保證了正確匹配率。因此本算法在保證正確匹配率的前提下,減少了算法的運行時間,提高了算法的實時性。
附圖說明
圖1是本發明的流程圖。
具體實施方式
如圖1所示,一種改進的kaze圖像匹配算法,其特徵在於,包括以下步驟:
(1)輸入原始圖像,得到相應的原始灰度圖l0,通過aos算法和可變傳導擴散方法來構造非線性尺度空間;
(2)檢測原始圖像及其產生的非線性尺度空間中的圖像上的感興趣特徵點,這些特徵點在尺度歸一化後的非線性尺度空間上的hessian矩陣行列式是局部極大值;
(3)在梯度圖像上,若特徵點所在的尺度參數為σ,以特徵點為中心取一個半徑為12σ的圓鄰域,將其分為3個子區域,並進行核為2.5σ的高斯加權;
(4)對於每個特徵點,生成3*8的24維特徵向量;
(5)兩幅圖像的24維特徵向量生成以後,通過近似歐式距離來度量兩幅圖像中特徵點的相似性;
(6)取模板圖像中某一個關鍵點,遍歷待匹配圖像中的所有特徵點,對所有的特徵點根據ratio進行篩選來得到粗匹配對;
(7)再通過ransac算法進一步對粗匹配對去除誤匹配和重複匹配,得到最終的匹配對;
(8)根據得到最終的匹配對,在模板圖和待匹配圖中分別做標記,連接對應的匹配點。
本實施例中,所述非線性尺度空間是採用加性算子分裂算法來進行非線性擴散濾波,採用任意步長來構造的,其中,非線性擴散濾波方法是將圖像亮度f在不同尺度上的變化視為某種形式的流動函數的散度,可以通過非線性偏微分方程來描述:
通過設置合適的傳導函數其中f指的是圖像亮度,x指的是水平方向,y指的是垂直方向,t指的是時間,擴散自適應於圖像的局部結構。
本實施例中,所述步驟(2)中的在尺度歸一化後的非線性尺度空間上的hessian矩陣行列式為:
其中σ是被計算像素點的尺度參數的整數值,lx、ly、lxx、lyy分別是高斯濾波後的圖像的l在x和y方向的一階微分、l在y方向的二階微分、l在x方向的二階微分,在尋找極值點時,每一個像素點和它所有的相鄰點比較,當其大於它的圖像域和尺度域的所有相鄰點時,即為局部極大值點。
本實施例中,所述步驟(3)中子鄰域劃分包含以下步驟:
步驟1:以特徵點為中心取一個半徑為12σ的圓鄰域,對其進行核為2.5σ的高斯加權;
步驟2:將該圓形鄰域劃分成3個寬度為5σ的圓環,即3個子區域,相鄰的子區域有2σ的交疊帶。
本實施例中,所述步驟(4)中24維特徵向量通過以下步驟生成:
步驟1:獲取3個圓環子鄰域;
步驟2:計算每一個子鄰域中的描述向量d:
d=(∑lx,∑ly,∑|lx|,∑|ly|,∑lxx,∑lyy,∑|lxx|,∑|lyy|)
其中,lx,ly,lxx,lyy分別是高斯濾波後的圖像的l在x和y方向的一階與二階微分;|lx|,|ly|,|lxx|,|lyy|分別是的絕對值;
步驟3:進行尺度歸一化,最終生成一個3*8=24維的特徵描述向量。
本實施例中,所述步驟5的近似歐式距離為棋盤距離和街區距離的線性組合,即:
l2=α(l1+l∞)
其中:
街區距離l1:
棋盤距離l∞:l∞(x,y)=max{|xi-yi|},1≤i≤n;
歐氏距離l2:
其中,x與y分別代表兩個維數相同的向量,i指的是向量中的第i維。
其中α為一個需要選擇確定的實數,利用相應的超多面體去逼近超球體來確定α,描述向量為24維,
α其表達式如下:
式中:n為特徵描述符的維數。
本實施例中,所述步驟(6)中ratio是最近距離與次近距離比值,當兩個特徵點的ratio小於某個閾值時判定其為匹配點。
表1-表5分別從檢測到的特徵點數、匹配點數、檢測時間、匹配時間和匹配率5個方面分析比較了算法的性能。
表1特徵點數
表2匹配點數
表3檢測時間(s)
表4匹配時間(s)
表5匹配率
從上述表中可以看出,本算法雖然在(a)(d)(f)三組試驗中本算法匹配率略低於原算法,但是仍然滿足實際需要,在(c)(e)(g)三組實驗中本算法匹配率高於原算法,並且本算法在檢測時間和匹配時間上都少於原算法。因此,本算法在保證了正確匹配率的前提下,減少了算法的運行時間,提高了算法的實時性,有利於本算法在實際工程中的應用。
以上詳細描述了本發明的較佳具體實施例。應當理解,本領域的普通技術人員無需創造性勞動就可以根據本發明的構思做出諸多修改和變化。因此,凡本技術領域中技術人員依本發明的構思在現有技術的基礎上通過邏輯分析、推理或者有限的實驗可以得到的技術方案,皆應在由權利要求書所確定的保護範圍內。