李景華 任煒 化晨冰 彭籽萱 劉濤 高文舉
摘要:使用ORB特征點進行圖像特征提取的檔案管控系統(tǒng),實現(xiàn)了高效的特征點提取,保證了系統(tǒng)的實時性與準確性。在ORB中,使用BRIEF描述子來描述特征點的特征,利用漢明距離來計算兩個描述子之間的相似度,縮短了計算耗時,結(jié)合二維碼圖像識別技術(shù),確保了圖像識別精準。
關(guān)鍵詞:ORB;BRIEF;漢明距離;二維碼
0引言
近年來隨著硬件設(shè)備計算能力的提高,物聯(lián)網(wǎng)領(lǐng)域的研究進入了高速發(fā)展的時代,作為該領(lǐng)域的核心問題之一的定位問題也越來越受到更多人的關(guān)注?;谝曈X的定位方法因為效率高、精度好的特點而被廣泛使用。本文在基于特征匹配的視覺定位系統(tǒng)中,使用ORB特征點來進行圖像特征的提取,在實現(xiàn)圖像拼接過程中,ORB算法能夠較好地解決運行實時性問題[1],確保了系統(tǒng)的實時性與準確性。
1ORB特征點提取
本文在ORB特征點的計算過程中,首先檢測了FAST角點,F(xiàn)AST角點的檢測方法是,以某個像素作為候選點,計算以這個點為圓心半徑為3的圓周上的16個點與候選點的亮度差值的絕對值,若有N個點的差值大于設(shè)定的閾值,就認為這個點為一個FAST特征點。根據(jù)N取值的不同,通常使用FAST-12方法或FAST-9方法作為角點的檢測方法。本文使用的ORB特征檢測算法中使用的是FAST-12方法,在FAST-12方法中,在原始算法的基礎(chǔ)上又添加了預(yù)測試操作,即首先檢測圓周上第1、5、9、13個像素點與候選點的亮度差,若有三個以上的像素點的差值大于閾值,才會進行正式的角點檢測計算,否則直接放棄當前候選點。這種預(yù)操作在原本的算法上又提升了檢測速度,同時對最終角點的計算結(jié)果影響較小。
2圖像特征匹配
在得到兩幀圖像的特征點后,就可以根據(jù)這些特征點的描述子來計算哪兩個特征點是匹配的,即哪兩個特征點描述了相同的圖像特征。使用漢明距離來進行描述子之間的特征匹配是一種常用的特征匹配算法,也是本文中使用的特征匹配方法。
漢明距離[2]可以用來描述兩組二進制數(shù)據(jù)之間的相似程度,它計算了兩組二進制數(shù)據(jù)對應(yīng)位置的值不相同的組數(shù),這個值越小說明兩組數(shù)據(jù)越相似。在特征點的檢測過程中,本文使用了BRIEF作為ORB特征的描述子,這種描述子是以二進制形式儲存的,因此非常適合用漢明距離來計算兩個描述子之間的相似度。在計算過程中,可以通過異或運算來計算漢明距離,這種計算方法大大縮短了匹配計算所消耗的時間。
3條碼識別
3.1總體流程
首先對拍攝的圖像進行圖像預(yù)處理,然后對預(yù)處理的圖像根據(jù)二維碼探測圖形的特點進行定位。定位之后對圖像進行旋轉(zhuǎn)校正得到方形的二維碼圖像。根據(jù)二維碼的四個坐標對二維碼進行模塊采集得到二維碼的數(shù)據(jù)流。然后根據(jù)相應(yīng)的糾錯算法進行糾錯,糾錯之后就進行譯碼。
3.2圖像預(yù)處理
二維碼圖像預(yù)處理可以分為3個部分:彩色圖像的灰度化,利用中值濾波進行圖像平滑以及利用灰度圖像二值化技術(shù)分割圖像。
3.2.1彩色圖像灰度化
實際情況下,通常直接采集到的是彩色圖像,每個像素有R?G?B三個顏色分量,每個顏色分量的取值范圍為0到255。二維碼是以黑白模塊構(gòu)成,而顏色不包含任何信息(這里指的是傳統(tǒng)二維碼,彩色條碼除外),所以首先要對采集到的彩色圖像進行灰度化處理,本文采用另一種方法灰度化圖像。
3.2.2圖像去噪
設(shè)備采集到的圖像一般都因受到干擾而含有噪聲。條碼圖像的噪聲主要來自兩個方面。首先是條碼表面的各種形式的污損,這方面噪聲只能憑借條碼本身的糾錯算法進行糾錯。噪聲的另外一個來源是來自光學(xué)采集系統(tǒng),這部分的噪聲是滿足泊松分布的鹽粒噪聲,用適當大小的矩形窗口的中值濾波非常適于條碼圖像。中值濾波是抑制噪聲的非線性處理方法。對于給定的n個數(shù),將它們按大小有序排列。當n為奇數(shù)時,處于中間位置的那個數(shù)值稱為這n個數(shù)的中值。當n為偶數(shù)時,位于中間位置的兩個數(shù)值的平均值稱為這n個數(shù)的中值。中值濾波的方法運算簡單,易于實現(xiàn),而且能較好地保護邊界但有時會失掉圖像中的細線和小塊的目標區(qū)域。本系統(tǒng)直接調(diào)用OpenCV的cvSoomth()函數(shù)即可實現(xiàn)。
3.2.3圖像二值化
因為二維碼是由黑白模塊組成的,本身分割較為明顯,所以二維碼的圖像分割通常采用二值化方法,二值化方法具有速度快,容易實現(xiàn)等優(yōu)點。二值化方法是通過選取閾值,然后用閾值來對圖像中每個像素進行判斷,如果灰度值大于該閾值,則用灰度值的最大值替換該像素值;相反,若灰度值小于閾值,則用灰度值的最小值替換該像素值。二值化算法過程就是求解閾值的過程,根據(jù)閾值選取范圍的不同二值化算法又可分為全局閾值算法和局部閾值算法。全局閾值算法是選用唯一且固定的閾值對整幅圖像進行二值化處理,當圖像的灰度直方圖具有明顯雙峰時全局閡值算法處理結(jié)果較好;局部閾值算法是通過將圖像劃分為若干局部窗口,然后對每個窗口分別計算閾值并進行二值化處理,局部閾值算法對于復(fù)雜圖像(亮度不均,有噪聲或是背景灰度變化比較大)二值處理效果好,但是增加算的復(fù)雜度。
本文采用局部閾值進行圖像二值化,算法思想是:將以當前像素為中心的一個鄰域內(nèi),灰度值的最大值和最小值的平均值作為該像素的閾值,然后用該閾值對當這個像素進行二值化,每個像素的閉值單獨計算,所以算法的復(fù)雜度較高。設(shè)當前像素坐標為(x,y),鄰域窗口選用以當前像素為中心的正方形,正方形邊長為2w+1。
4結(jié)語
本文檔案管控系統(tǒng)中的視覺定位系統(tǒng)部分使用ORB特征點來進行圖像特征的提取,實現(xiàn)了高效的特征點提取,保證了系統(tǒng)的實時性與準確性。根據(jù)二維碼的四個坐標對二維碼進行模塊采集得到二維碼的數(shù)據(jù)流,對色相,飽和度,亮度進行處理,確保了圖像識別精準。
參考文獻
[1]高強,潘俊.基于ORB的圖像特征提取與匹配研究[J].福建電腦,2019,1(10):21-22.
[2]喬屾,呂志民,張楠.基于漢明距離的改進粒子群算法求解旅行商問題[J].計算機應(yīng)用,2017,37(10):2767-2772.