唐清嶺, 汪炫羲, 蔣小菲
(貴州大學 大數(shù)據與信息工程學院, 貴陽 550025)
在物聯(lián)網以及智能設備的廣泛應用背景下,人們對定位的需求日益增長。 在室外,有中國的北斗導 航 系 統(tǒng)[1]以 及 美 國 的 GPS (Global Position System)系統(tǒng)[2]對室外環(huán)境進行精準定位。 而在室內環(huán)境中,由于障礙物的遮擋,衛(wèi)星技術無法使用。但準確地獲取室內環(huán)境的位置信息有助于智能服務、智能家居以及在特定情況下的無接觸傳送,這使室內定位技術一直是研究熱點[3]。
近年來,隨著對定位的深入了解,研究者們發(fā)現(xiàn)在視覺定位技術中圖像匹配的準確度以及魯棒性對定位的結果有決定性作用。 目前基于特征的匹配方法主要有暴力匹配[4]、快速近似最近鄰匹配[5]以及RANSAC 匹配[6]。 其中,暴力匹配是最簡單的匹配方法,利用描述子距離表示2 個特征之間的相似程度來確定匹配,但當特征點數(shù)量較大時,該方法運算量大,不符合實時性需求。 快速近似最近鄰匹配是通過先確定一幅圖的關鍵點,利用歐氏距離找出對應圖中的關鍵點,在2 個關鍵點中,若最近的距離除以次近的距離得到的比例小于提前設定的閾值,則2 個關鍵點成為一對匹配點,但該方法是近似法,其精確度不高。 RANSAC 匹配是從樣本集中隨機抽選出一個大小為4 個匹配點對的樣本,利用樣本計算變換矩陣N,根據N、樣本集和誤差度量函數(shù)三個條件計算能夠滿足變換矩陣N的一致集,并利用一致集元素個數(shù)判斷是否為最優(yōu)集,若是最優(yōu)集,則更新集合與當前錯誤概率p,當p大于允許的最小錯誤概率o,則重復以上步驟進行迭代,直到p小于o。RANSAC 通過迭代能夠進行誤匹配篩選,但未經處理的室內圖像往往紋理較弱且噪聲較大,導致篩選出的錯誤匹配數(shù)較多,精確度較低。 針對圖像匹配精確度低的問題,文獻[7]提出在RANSAC 算法中加入影像的灰度信息進行約束,對于山區(qū)和建筑物影像能夠進一步剔除匹配粗差,提高剔除率。 文獻[8]提出將所有樣本點中誤差過大的特征點進行剔除,減小迭代次數(shù),再通過反向匹配及逆行二次匹配,提升匹配正確率和速度,在光照變換、模糊環(huán)境的干擾下,匹配結果仍然具有魯棒性和可靠性。 文獻[9]提出使用SIFT 算法提取特征點時,主動放棄第一組尺度空間進行特征檢測以提高速度,提出相似性系數(shù)以進行匹配點對二次篩選,限制了特征點數(shù)量,提高了匹配效率。 上述研究利用不同的特征提取方法,在不同環(huán)境下對RANSAC 的匹配情況進行了改進,提高了匹配效率,但并未有研究在圖像匹配前,對室內場景紋理稀缺且噪聲大的圖像進行直接改善,以提高在不同特征提取算法后圖像匹配的精確度。
為了改善室內場景紋理稀缺且噪聲大的缺點,提高圖像匹配的精確度,本文設計了一種新的預處理方法。 該方法首先將拉普拉斯算子加入Fast ACE[10]算法得到一種改進Fast ACE 算法,能夠調整圖像的亮度、色彩、對比度與清晰度,將改進Fast ACE 算法應用于原圖像得到增強圖像,然后利用Canny 算法[11]提取出增強圖像的邊緣信息,再按一定比例線性加權原圖像與邊緣圖像,最后使用AKAZE[12]算法與ORB[13]算法提取圖像的特征點進行暴力匹配,RANSAC 篩選誤匹配進行驗證。 算法流程如圖1 所示。

圖1 算法流程Fig. 1 Flowchart of the algorithm
Fast ACE 基于2 個假設:
假設1對一幅圖像進行ACE 增強得到輸出圖像A,再對A進行ACE 增強,得到的輸出的圖像仍是A。
假設2對圖像A進行等比例的縮放,使用ACE 增強后的結果是B。 再對B進行ACE 增強,結果仍是B。
快速ACE 算法流程:
(1)縮放原始圖像I得到I1。
(2)對圖像I1 進行色彩以及空域的調整,校正色差,從而得到空域重構圖像。
(3)對空域重構圖像進行動態(tài)擴展,并映射到[ 0,255 ]的空間中,得到動態(tài)擴展圖像。
(4)將動態(tài)擴展圖像縮放至與I相同,得到Y1,則Y1 是I1 經過ACE 處理與縮放所得結果。
(5)Y1 加上I中鄰近像素的差分結果,減去Y1中鄰近像素的差分結果,得到最終的輸出Y。
拉普拉斯算子是n維歐式空間的一個二階微分算子,定義為2 個梯度向量算子的內積。 可用如下公式進行描述:
其在二維空間上的公式為:
對于二維離散,拉普拉斯算子是2 個維度上二階差分的和,即:
研究后得到常用二維拉普拉斯對應的卷積核為:
針對Fast ACE 僅能調整具有局部和非線性特征的圖像亮度、對比度與色彩,但并未對圖像的清晰度進行處理的缺點,提出引入拉普拉斯算子。 拉普拉斯算子應用在圖像中是二階梯度算子,在灰度恒定區(qū)域與像素均勻變化區(qū)域的結果皆為0,而在像素變化速率變化較大區(qū)域其值也會變大,因此能夠處理由擴散現(xiàn)象引起的圖像模糊,增加圖像的清晰度。 該算法的步驟如圖2 所示。 由圖2 可知,對算法中的各流程步驟可做闡釋分述如下。

圖2 改進Fast ACE 算法流程Fig. 2 Improved Fast ACE algorithm flowchart
(1)縮放圖像I得到I1。
(2)對圖像I1 進行色彩以及空域的調整,校正色差,從而得到空域重構圖像R(x)。 由此推出的數(shù)學公式可表示為:
其中,Ω/x表示{y∈Ω:y≠x};I(x) 與I(y)是2 個不同點的亮度差,表示歐氏距離;R(x) 是中間結果;Sα∈[-1,1],是亮度表現(xiàn)函數(shù),能夠增強小的圖像細節(jié)以及豐富圖像大的差異。 一般地,Sα為:
(3)對R(x) 進行動態(tài)擴展,映射到[ 0 , 255 ]的空間中,得到L(x)。L(x) 的數(shù)學公式見如下:
(4)將得到的L(x)縮放至與I相同,得到Y1,則Y1 是I1 經過ACE 處理及縮放后所得結果。 若需要快速得到I1 的ACE 增強結果,則運用金字塔結構思想,對I1 再次縮放得到I2,求I2 的增強結果。
(5)Y1 加上I中鄰近像素的差分結果,減去Y1中鄰近像素的差分結果,得到圖像Y。
(6)由于圖像有2 個方向,令Y為二維圖像函數(shù)f(x,y),引入拉普拉斯算子對f(x,y) 進行處理,得到最終輸出結果g(x,y)。 計算求得的公式為:
其中,g(x,y) 為處理后的圖像;f(x,y) 為輸入圖像;c取1;?2f(x,y) 使用的濾波器如圖3 所示。

圖3 拉普拉斯濾波器Fig. 3 Laplace filter
邊緣檢測的意義是精細描述出圖像的輪廓。Canny 算法分為5 個步驟,具體見如下:
(1)使用高斯濾波平滑圖像。 即根據待濾波的像素點及其鄰域點的灰度值按照一定的參數(shù)規(guī)則進行加權平均,能夠有效地濾去在理想圖像中所疊加的高頻噪聲。
(2)尋找圖像中每一個像素點的強度梯度以及方向。
(3)采用非極大抑制(NMS)消除誤檢的邊緣區(qū)域。
(4)采用雙閾值方法減少假邊緣數(shù)量。
(5)使用滯后技術跟蹤圖像的邊界。
對圖像進行線性加權是將2 幅尺寸、類型一樣的圖像按照一定的比例混合后轉存為另一幅圖像,比例之和為1。 其表達式為:
其中,g(x) 表示輸出圖像;f0x( ) 和f1(x) 表示輸入圖像;α表示圖片所占比例。
在線性加權時,經過多次實驗,最終確定原始圖像占比95%,邊緣圖像占比為5%,這樣的比例選取在最大限度地保證原圖的完整性的同時,豐富了圖像紋理,降低了圖像噪聲。
為展示改進Fast ACE 與Fast ACE 算法的不同,算法的驗證實驗采用由慕尼黑大學制作的TUM 數(shù)據集中Testing and Debugging 的fr1/xyz 的rgb 圖像,本文采取其中2 組圖像為例進行對比,如圖4 所示。 圖4 中,(a)、(b)為第1 組,(c)、(d)為第2組。 對實驗研究結果內容,做剖析分述如下。

圖4 原始圖像Fig. 4 Original images
(1)將Fast ACE 與改進Fast ACE 處理后的圖像利用Canny 算法提取邊緣,驗證圖像的清晰度。如圖5、圖6 所示。

圖5 Fast ACE 處理后提取的邊緣圖像Fig. 5 Edge image extracted after Fast ACE processing

圖6 改進Fast ACE 處理后提取的邊緣圖像Fig. 6 Edge image extracted after improved Fast ACE processing
通過Canny 算法提取出來的圖像輪廓,圖像中的實際邊緣越多,表明圖像的清晰度更強,通過圖4與圖5 對比,能夠明顯看出圖5 的線條多于圖4 的線條,即改進Fast ACE 處理后的圖像其清晰度與紋理性均強于Fast ACE 處理后的圖像。
(2)計算Fast ACE 與改進Fast ACE 處理后的圖像的方差,驗證圖像的清晰度,見表1。

表1 Fast ACE 與改進Fast ACE 處理后的圖像的方差Tab. 1 Variance of images processed by Fast ACE and improved Fast ACE
方差是概率論中用來考察一組離散數(shù)據和期望值之間的離散數(shù)量的度量方法。 方差較大,表示這一組數(shù)據之間的偏差就較大,組內的數(shù)據分布不均衡;方差較小,表示這一組數(shù)據之間的偏差較小,組內的數(shù)據之間分布平均,大小相近。 因此清晰的圖像相比模糊的圖像,數(shù)據之間的灰度差異更大、即方差更大,由表1 可得,改進Fast ACE 處理后的4 幅圖像相較Fast ACE 處理后的4 幅圖像其方差值更大,表明清晰度更好。
經過預處理算法、即改進Fast ACE,Canny 提取邊緣圖像與線性融合后的圖像如圖7 所示。

圖7 完成預處理后的圖像Fig. 7 Images after preprocessing
為了直觀表現(xiàn)出經過預處理后的圖像噪聲的變化,通過計算峰值信噪比(PSNR, 單位為dB)與方差得到的數(shù)值結果進行比較。PSNR的數(shù)值越大,則表示圖像的失真越小。 計算公式為:
其中,n為每像素的比特數(shù)。
均方誤差(MSE) 的表達式為:
其中,H表示圖像高度;W表示圖像寬度;X表示當前圖像;Y表示參考圖像。
預處理前后圖像的PSNR見表2。
在表2 中,PSNR用于衡量圖像有效信息與噪聲之間的比率,可反映圖像的失真情況,PSNR提升的數(shù)值越大,則表示圖像越優(yōu)質。 由表2 中數(shù)值可以得出,預處理后的8 幅圖像的PSNR值相較于未處理的圖像有明顯提升。 分析原因是:經過ACE 處理后提取出來的邊緣圖片已經進行了降噪及優(yōu)化,在保證原圖至少95%完整性的前提下,線性融合后降低了圖像的噪聲,并豐富了邊緣紋理信息,得到了質量更好的圖像。

表2 預處理前后的圖像的PSNRTab. 2 PSNR of images before and after preprocessing
構造非線性尺度空間時,AKAZE 非線性尺度空間的構造近似于SIFT 算法[14]。
將尺度空間(高斯金字塔)分為O組,S層。 尺度參數(shù)σi的獲取方式為:
其中,i∈ [ 0,N -1] ,這里的N表示尺度空間下的圖像總數(shù);σi是原圖所在尺度空間的尺度參數(shù);o∈[ 0,O -1] ,s∈ [ 0,S -1] 。 為了使用擴散方程,需要把離散的尺度因子轉換為時間單位。 通過式(13) 將尺度參數(shù)σi轉化為進化時間ti,即:
由于非線性偏分方程的求解過程復雜且耗時長,引入了FED 算法[15]來加速求解非線性偏分方程,通過式(14),可得到圖像的非線性尺度空間:
其中,I表示單位矩陣;τ表示時間步長;A(Li) 表示維度i上的傳導矩陣。
首先,因為將圖像分成O組,則需要對不同尺度的算子進行歸一化,使用歸一化比例因子:
其次,計算非線性尺度空間下圖像像素點對應的Hessian 矩陣[16],計算方法為:
最后,尋找Hessian 矩陣中局部范圍內的極值點作為圖像特征點。 極值點是通過與鄰域以及上下兩層鄰域共26 個像素進行比較的。
(1)FAST 描述子。 選取像素p, 假設其亮度為Ip;設置一個閾值T(比如Ip的20%);以像素p為中心,選取半徑為3 的圓上的16 個像素點;假如選取的圓上,有連續(xù)的N個點的亮度大于Ip +T或小于Ip-T,那么像素p可以被認為是特征點;重復以上步驟,對每一個像素執(zhí)行相同操作。
(2)灰度質心法計算特征點的方向。 定義該區(qū)域圖像的矩為:
其中,p,q取0 或者1;I(x,y) 表示在像素坐標(x,y) 處圖像的灰度值;mpq表示圖像的矩。
在半徑為R的圓形圖像區(qū)域,沿x,y坐標軸方向的圖像矩分別為:
圓形區(qū)域內所有像素的灰度值總和為:
圖像的質心為:
此后,關鍵點的“主方向”可以表示從圓形圖像形心O指向質心C的方向向量,關鍵點的旋轉角度記為:
最簡單的匹配方法是暴力匹配。 測量在匹配圖像與待匹配圖像中提取的所有特征點的描述子的距離,并進行排序,取最近的一對點作為匹配點。 描述子的距離能夠衡量2 個特征點間的相似程度。
RANSAC 算法是迭代方法,利用觀測到的數(shù)據點估計數(shù)學模型,也常理解為一種采樣的方式。 研究可知,數(shù)據點分為2 種。 一種是“內點(inlier)”,指樣本中正確的樣本點,也稱作正確樣本;另一種是“外點(outlier)”,指樣本中的噪聲點,對模型的估計沒有利用價值。
每個點是真正內點的概率(Ratio) 表示為:
本實驗平臺為:Kdevelop,運行環(huán)境為:Lenovo Legion R7000 2020 / 2.90 GHz CPU,16 G 內存,Ubuntu(18.04)。
為驗證本文算法的準確性與時效性,本文從TUM 數(shù)據集選取2 組圖像進行驗證分析。 圖8 ~圖11 為基于AKAZE 提取特征點進行暴力匹配及RANSAC 誤匹配篩選后的圖像。 圖12 ~圖15 為基于ORB 提取特征點進行暴力匹配及RANSAC 誤匹配篩選后的圖像。

圖9 原始圖像第2 組Fig. 9 The second group of original images

圖10 完成預處理圖像第1 組Fig. 10 The first group of images after preprocessing

圖11 完成預處理圖像第2 組Fig. 11 The second group of images after preprocessing

圖12 原始圖像第1 組Fig. 12 The first group of original images

圖15 完成預處理圖像第2 組Fig. 15 The second group of images after preprocessing

圖13 原始圖像第2 組Fig. 13 The second group of original images

圖14 完成預處理圖像第1 組Fig. 14 The first group of images after preprocessing
基于AKAZE 與ORB 提取特征點進行暴力匹配及RANSAC 誤匹配篩選后的圖像匹配數(shù)量以及精確度見表3、表4。

表3 基于AKAZE 特征點提取匹配Tab. 3 Extraction and matching of feature points based on AKAZE

表4 基于ORB 特征點提取匹配Tab. 4 Extraction and matching of feature points based on ORB
由表3 及表4 可知,經過預處理后的圖像在基于AKAZE 以及ORB 提取特征點后進行匹配,其匹配精確度有明顯的提高。 分析原因是預處理后的圖像噪聲降低,紋理豐富,圖像質量更高,所以提取出的特征點質量更好,匹配精確度更高。
本文針對室內場景紋理稀缺且噪聲大的圖像匹配精確度低的問題,提出一種新的預處理圖像匹配研究算法。 使用改進ACE Fast 算法對原始圖像進行處理,調整圖像的色彩、對比度、亮度以及清晰度得到增強圖像,然后提取增強圖像的邊緣圖像,與原始圖像進行線性融合,降低圖像的噪聲,最后利用AKAZE 與ORB 算法提取特征點,暴力匹配進行特征點匹配,RANSAC 進行誤匹配篩選。 實驗結果證明,預處理后的圖像在噪聲及紋理性方面有明顯提升,并且在AKAZE 算法與ORB 算法提取特征點進行匹配與誤匹配篩選后,其匹配精確度均有明顯的提升。