龔云, 楊龐彬, 頡昕宇
(西安科技大學 測繪科學與技術學院, 陜西 西安 710054)
隨著計算機、通信等技術的發展,煤礦的自動化、智能化水平得到了極大提升[1]。目前,我國大多數煤礦都安裝了視頻監控系統,但由于井下巷道狹長及光照、粉塵等影響,攝像機視野范圍有限,存在監控盲區[2-3]。通過圖像拼接技術可將多個攝像機拍攝的圖像拼接成全景圖,從而改善監控效果,為后續數據分析和處理打下基礎[4]。圖像拼接的核心問題是準確找到待拼接圖像的重疊區域,即圖像匹配。
現有的圖像匹配方法可分為基于灰度的匹配方法和基于特征的匹配方法[5]。基于灰度的匹配方法存在對圖像尺度敏感、時間復雜度高等缺點,匹配精度往往較低。基于特征的匹配方法對圖像幾何信息和光照變化的魯棒性較強且速度更快,因此得到了廣泛應用[6]?;谔卣鞯钠ヅ浞椒ㄖ饕捎贸叨炔蛔兊奶卣髯儞Q(Scale Invariant Feature Transform,SIFT)[7]、加速穩健特征(Speeded Up Robust Features,SURF)[8]、KAZE[9]及加速KAZE(Accelerated-KAZE,AKAZE)[10]等算法進行特征提取。其中SIFT算法和SURF算法通過高斯差分函數構造尺度空間,易造成邊界模糊和細節丟失。AKAZE算法通過非線性擴散濾波構造尺度空間,相較于SIFT算法和SURF算法,能夠局部自適應濾除邊緣細節,同時保留目標邊界。本文采用AKAZE算法進行特征提取。
由于井下光照不均勻,從井下圖像中提取的特征信息較少,且圖像中過暗區域和過亮區域的邊緣細節和局部紋理特征會在構造相同尺度空間時被平滑掉,造成匹配錯誤的現象。因此,本文在采用AKAZE算法構造尺度空間之前,通過同態濾波對圖像進行銳化,以突出圖像的邊緣細節信息;為進一步提高圖像的對比度,采用一種限制對比度的自適應直方圖均衡化(Contrast Limited Adaptive Histgram Equalization, CLAHE )算法[11]對圖像進行處理。
傳統的AKAZE算法采用漢明距離作為相似性測度,并結合最近鄰距離比率(Nearest Neighbor Distance Ratio, NNDR)約束剔除錯誤匹配點,但人為設定的距離比率約束會使部分正確匹配點被丟棄,從而影響匹配效果[12]。針對該問題,本文采用漢明距離作為相似度測度進行粗匹配,并采用基于單應性矩陣的隨機采樣一致性(Random Sample Consensus, RANSAC)算法剔除錯誤匹配點對,以提高匹配準確率。
同態濾波器作為一種非線性濾波器,通過傅里葉變換、對數變換等數學運算,采用線性濾波方法處理AKAZE算法構造尺度空間時的非線性問題。
同態濾波是根據圖像的照射-反射模型提出的。設圖像坐標為(x,y),圖像密度函數f(x,y)可表示為照度分量i(x,y)與反射分量r(x,y)的乘積,即
f(x,y)=i(x,y)r(x,y)
(1)
對式(1)進行對數變換,得
lnf(x,y)=lni(x,y)+lnr(x,y)
(2)
對式(2)進行傅里葉變換,得
F(u,v)=I(u,v)+R(u,v)
(3)
式中F(u,v),I(u,v),R(u,v)為經過傅里葉變換后的圖像密度函數、照射分量和反射分量。
采用同態濾波傳遞函數H(u,v)對式(3)中的照射分量與反射分量進行增強,并通過傅里葉逆變換將圖像密度函數、照射分量和反射分量變換到空間域:
hf(x,y)=hi(x,y)+hr(x,y)
(4)
式中hf(x,y),hi(x,y),hr(x,y)分別為空間域的圖像密度函數、照射分量和反射分量。
對式(4)進行對數變換,得到濾波后的圖像g(x,y):
g(x,y)=exp|hi(x,y)|·exp|hr(x,y)|
(5)
圖像的照射分量屬于低頻分量,而反射分量屬于高頻分量。因此,設計同態濾波傳遞函數時,需兼顧低頻分量和高頻分量。同態濾波傳遞函數波形如圖1所示。其中,D(u,v)表示傳遞函數頻率到濾波器中心D0的距離,Zh為高頻增益,Zl為低頻增益。

圖1 同態濾波傳遞函數波形Fig.1 Waveform of homomorphic filter transfer function
由于同態濾波傳遞函數波形與高斯型高通濾波函數波形類似,所以常用高斯型高通濾波函數作為同態濾波傳遞函數。但傳統的高斯型同態濾波傳遞函數存在多個參數,且參數的選擇較為經驗化[13],因此,本文采用單參數同態濾波傳遞函數[14]:
(6)
式中α為調節參數。
在新的傳遞函數中,只存在一個調節參數α,可提高參數的可調性。
經同態濾波處理后的圖像清晰度得到了提高,但圖像的整體對比度不夠理想。傳統的直方圖均衡化是一種全局算法,沒有充分考慮圖像細節信息。由于井下光照不均,對圖像整體進行直方圖均衡化會導致過亮區域或過暗區域的細節丟失。因此,本文采用CLAHE算法,使得圖像像素灰度間距拉開,以改善視覺效果,達到圖像增強的目的。
CLAHE算法是在直方圖均衡化的基礎上,通過抑制部分灰度級被過多合并所引起的噪聲放大和局部對比度增強的現象,以提高圖像的對比度,使圖像更加生動、清晰。CLAHE算法的具體步驟如下:
(1) 將圖像分為多個子區域,每個子區域內像素點的個數為NsubI(0≤NsubI≤85),直方圖為l(k)(k為灰度級,0≤k≤L-1,L為最大灰度級)。
(2) 對每個子區域內的直方圖進行剪切,剪切閾值為
(7)
式中C為決定圖像對比度的常量。
(3) 采用閾值δ對每個子區域內圖像的直方圖l(k)進行剪切,將超出閾值的像素點重新均勻分布到其他子區域的直方圖中(圖2)。超出閾值的像素點個數Ntotal為
(8)

圖2 直方圖剪切Fig.2 Histogram clipping
(4) 通過對比度受限函數對圖像對比度增強的程度進行限制,得到最終的圖像直方圖l′(k):

(9)
μ=δ-Nsub
(10)
Nsub=Ntotal/L
(11)
式中:μ為分配閾值;Nsub為每個子區域增加的平均像素點數。
針對傳統AKAZE算法存在誤匹配的問題,在采用暴力匹配算法進行粗匹配的基礎上,采用基于單應性矩陣的RANSAC算法剔除錯誤匹配點對,以提高匹配準確率。
采用非線性擴散濾波構造金字塔形狀的尺度空間,通過非極大值抑制方法確定特征點位置,再通過以下步驟實現特征點匹配:
(1) 采用K近鄰算法檢測出目標特征點的最近鄰點和次近鄰點,并計算目標特征點與最近鄰點和次近鄰點的漢明距離d(a,b):
(12)
式中:a,b為特征點描述符,a=p1p2…p512,b=q1q2…q512;pj,qj為二進制編碼;⊕表示異或運算。
(2) 利用漢明距離作為相似度測度,采用暴力匹配算法對所有特征點進行粗匹配,獲取高質量的粗匹配點對。暴力匹配算法可通過直接調用openCV庫中的函數實現。
(3) 采用基于單應性矩陣的RANSAC算法剔除錯誤匹配點對。RANSAC算法原理是在一組存在外點的數據集中,利用連續循環迭代的方法尋求最優參數模型(即最佳單應性矩陣),剔除不符合最優模型的點對(即外點),得到提純后的精準匹配點對(即內點)。
基于單應性矩陣的RANSAC算法步驟如下:
(1) 假設在目標圖像與待匹配圖像中存在對應點對(x,y,1)和(x′,y′,1),則有
(13)
式中M為單應性矩陣。
將式(13)展開后可得到3個等式,通過代換可得
(14)
在矩陣M中,m33一般設為1,剩余8個未知參數,至少需要4組匹配點對才能求解,矩陣M計算公式為
(15)

(2) 利用矩陣M計算所有特征點對的投影誤差,若投影誤差小于閾值ε(本文設為5),則保留該單應性矩陣M。
(16)
(3) 隨機獲取4組匹配點對,反復進行上述2步。若發現投影誤差更小的矩陣,則保留該矩陣。
(4) 當將所有匹配點對隨機選取完后,確定出投影誤差最小的矩陣,即最佳單應性矩陣。將所有匹配點對代入式(13)中,若滿足該等式,則將匹配點加入內點集合,反之視為外點進行剔除。
以基于Microsoft Visual Studio 2019的OpenCV 4.5.1計算機視覺庫和Matlab R2016a為實驗平臺,采用SONY A6000相機所拍攝的3組井下照片進行實驗分析。對原圖像進行單參數同態濾波并采用CLAHE算法處理,將處理后的圖像與原圖像進行對比分析,如圖3所示??梢?,經本文算法處理后,圖像的細節更加突出,且整體對比度得到提高,圖像更為生動。
為進一步說明圖像增強效果,以第1幅圖像為例,對原圖像和處理后圖像的灰度直方圖進行對比,如圖4所示??梢钥闯觯褂脝螀低瑧B濾波和CLAHE算法對圖像進行增強,可拉伸圖像的灰度級,減少暗像元數量,增加亮像元數量,使得灰度級分布更加平滑,有利于保留圖像的細節和邊界信息。
采用傳統的SURF算法、AKAZE算法及本文算法進行實驗,3種算法檢測到的特征點數量見表1??梢?,SURF算法檢測出的特征點最少,本文算法檢測出的特征點最多。

圖3 圖像增強效果Fig.3 Image enhancement effect

圖4 灰度直方圖對比Fig.4 Grayscale histogram comparison

表1 各算法特征點檢測數量Table 1 Number of feature points detected by each algorithm
3種算法的圖像匹配效果如圖5所示。由圖5可以直觀地看出,SURF算法檢測出的特征點過于稀少,AKAZE算法雖然可以檢測出較多特征點,但特征點質量不佳,匹配結果不理想。本文算法檢測出的特征點最多,具有較好的匹配效果。



(a) SURF算法(b) AKAZE算法(c) 本文算法
為了客觀評價3種算法的性能,以匹配準確率作為評價指標,進行對比分析,結果見表2。可見,本文算法的匹配效果最佳,準確率最高可達96.09%。

表2 各算法的準確率Table 2 The accuracy of each algorithm
(1) 通過同態濾波對圖像進行銳化,提高了圖像清晰度。同時,采用單參數同態濾波傳遞函數,提高參數的可調性。采用CLAHE算法對圖像進行處理,使得圖像像素灰度間距拉開,可改善視覺效果,達到圖像增強的目的。
(2) 對傳統AKAZE算法進行優化,利用漢明距離作為相似度測度,采用暴力匹配算法對所有特征點進行粗匹配,再采用基于單應性矩陣的RANSAC算法剔除錯誤匹配點對,以提高匹配準確率。
(3) 實驗結果表明:使用單參數同態濾波和CLAHE算法對圖像進行增強,可拉伸圖像的灰度級,減少暗像元數量,增加亮像元數量,使得灰度級分布更加平滑,有利于保留圖像的細節和邊界信息;采用基于單應性矩陣的RANSAC算法進行精準匹配,可檢測出更多特征點,提高匹配準確率,準確率最高可達96.09%,匹配效果優于SURF算法和傳統AKAZE算法。