毛昕蓉,楊興林,張小紅,韓曉冰
(西安科技大學(xué) 通信與信息工程學(xué)院,陜西 西安 710054)
隨著計(jì)算機(jī)視覺技術(shù)的飛速發(fā)展,高精度的圖像匹配在目標(biāo)識(shí)別[1-3]與視覺[4-7]SLAM等領(lǐng)域中被廣泛的應(yīng)用。常見的圖像特征提取匹配算法可以分為2類,一類為基于點(diǎn)特征的圖像特征提取匹配算法[8-11],另一類為基于線特征的圖像特征提取匹配算法[12-14]。
基于點(diǎn)特征的圖像特征提取匹配算法作為現(xiàn)今的主流算法,一直都是研究熱點(diǎn),但是其在光照不足,弱紋理環(huán)境中,存在圖像特征匹配率較低的問題,進(jìn)而降低視覺SLAM的精度。故而產(chǎn)生基于線特征的圖像匹配算法,例如WANG等利用SIFT(Scale Invariant Feature Transform)特征匹配算法的鄰域位置劃分思想,提出均值標(biāo)準(zhǔn)差直線描述子MSLD(Mean-Standard Deviation Line Descriptor),并將其應(yīng)用在曲線匹配中[15],但是該方法容易產(chǎn)生邊界誤差。為克服這一問題,在FAN等提出的依據(jù)樣本亮度序的子區(qū)域劃分方法的基礎(chǔ)上[16],WANG等提出基于亮度序的均值標(biāo)準(zhǔn)差描述子IOMSD(Intensity Order Mean-Standard Deviation Descriptor)[17]和基于亮度序列的曲線描述子IOCD(Intensity Order Curve Descriptor)[18],該方法極大地提高圖像匹配率。劉少剛等改進(jìn)動(dòng)態(tài)閾值分割合并算法,與固定閾值算法相比,提高直線擬合的精度[19]。劉肅艷等提出一種結(jié)合同名點(diǎn)和極線約束的近距離圖像線匹配算法,結(jié)果表明,該算法得到的直線匹配結(jié)果更加可靠[20]。朱紅等提出一種基于直線重合相似度的近距離圖像直線匹配算法,算法使用SIFT算子對(duì)同名點(diǎn)進(jìn)行匹配,并使用RANSAC(Random Sample Consensus)算法對(duì)匹配進(jìn)行優(yōu)化,能有效地減少計(jì)算量,具有良好的魯棒性[21]。傅丹等提出一種基于極線約束和RANSAC算法的圖像匹配方法,該算法有效地解決部分遮擋圖像中的直線匹配問題[22]。王競(jìng)雪等以LSD算法提取的直線段作為匹配基元,利用SIFT匹配得到的同名點(diǎn)構(gòu)造同名三角形網(wǎng)絡(luò)約束來確定候選直線,實(shí)驗(yàn)結(jié)果表明,其匹配率得到了極大的提高[23]。
目前較流行的線特征匹配算法為L(zhǎng)SD線特征匹配算法,但是基于井下特殊環(huán)境,現(xiàn)有的LSD線特征算法的誤匹配較大,無法在井下環(huán)境中實(shí)現(xiàn)高精度的特征匹配。故而針對(duì)該問題,在LSD線特征提取匹配算法的基礎(chǔ)上進(jìn)行改進(jìn)。即首先對(duì)攝像頭采集的井下視頻圖像進(jìn)行圖像幀提取,然后對(duì)提取的圖像幀進(jìn)行圖像增強(qiáng),其次對(duì)增強(qiáng)后的圖像幀進(jìn)行Canny邊緣提取,最后對(duì)提取Canny邊緣信息后的圖像幀進(jìn)行LSD線特征提取匹配,并計(jì)算匹配率。
由于現(xiàn)有線特征提取匹配算法在井下存在誤匹配較大,無法適應(yīng)井下環(huán)境,故而進(jìn)行改進(jìn),首先利用攝像頭采集井下環(huán)境的視頻圖像,并提取視頻圖像的視頻幀,然后進(jìn)行圖像增強(qiáng),對(duì)增強(qiáng)后的圖像幀進(jìn)行Canny邊緣提取,最后對(duì)提取Canny邊緣信息后的圖像幀進(jìn)行LSD線特征提取匹配,并計(jì)算匹配率,改進(jìn)算法流程如圖1所示。
圖1 算法流程Fig.1 Process of algorithm
由于井下環(huán)境中光照不足,通過攝像頭采集的井下視頻圖像質(zhì)量不高,模糊不清,無法提取出足夠的特征點(diǎn),從而降低匹配率。因此,改進(jìn)算法首先將通過攝像頭采集的視頻圖像數(shù)據(jù)進(jìn)行圖像幀提取,再將提取的圖像幀進(jìn)行圖像增強(qiáng)。其流程如圖2所示。
圖2 圖像預(yù)處理算法流程Fig.2 Process of image preprocessing algorithm
1.1.1 對(duì)比度亮度增強(qiáng)
圖像對(duì)比度是指圖像明暗區(qū)域中不同亮度層級(jí)的測(cè)量,其差異范圍越大代表對(duì)比越大,反之則表示對(duì)比越小。對(duì)比度越大,圖像越清晰;反之,則模糊不清。故而,高對(duì)比度在圖像的清晰度、細(xì)節(jié)表現(xiàn)等方面被廣泛的應(yīng)用。
而圖象亮度是指圖像的明亮程度,在RGB圖像中,亮度體現(xiàn)為每個(gè)點(diǎn)的像素值的大小,像素值越大,亮度越高,對(duì)比度亮度增強(qiáng)計(jì)算見式(1)。
gi,j=α·f(i,j)+β,α>0
(1)
式中f(i,j)為源圖像像素;g(i,j)為輸出圖像像素;i和j為像素位于第i行和第j列;α為系數(shù)乘以源像素值,其會(huì)擴(kuò)大最大像素值和最小像素值之間的差異,從而提升對(duì)比度;β為加數(shù),可以直接增大源像素值,提升亮度。
因此,經(jīng)過圖像對(duì)比度亮度增強(qiáng)后的結(jié)果如圖3所示。
圖3 對(duì)比度亮度增強(qiáng)結(jié)果Fig.3 Result of contrast and brightness enhancement
由圖3可知,經(jīng)過圖像對(duì)比度亮度增強(qiáng)后,得到的運(yùn)行結(jié)果明顯優(yōu)于原始圖像,但其依舊存在圖像模糊的情況,例如圖3中左側(cè)防護(hù)墻壁上的防護(hù)網(wǎng)依舊很模糊,故而,改進(jìn)算法將增強(qiáng)后的視頻圖像幀進(jìn)行對(duì)數(shù)變換。
1.1.2 對(duì)數(shù)變換
對(duì)數(shù)變換通過對(duì)圖像的低灰度值進(jìn)行部分?jǐn)U展,從而達(dá)到強(qiáng)調(diào)圖像低灰度部分的目的,其計(jì)算見式(2)。
f(i,j)=Aln[|g(i,j)|+1]
(2)
式中 (i,j)為視頻圖像的像素點(diǎn);f(i,j)為輸出圖像的像素灰度值;g(i,j)為輸入圖像的像素灰度值;A為強(qiáng)度參數(shù),主要用于變換陰影特征提升的動(dòng)態(tài)范圍,將動(dòng)態(tài)范圍變換到一個(gè)合適的區(qū)間,以顯示陰影區(qū)域更多的細(xì)節(jié)。
經(jīng)過對(duì)數(shù)變換后的運(yùn)行結(jié)果如圖4所示。
圖4 對(duì)數(shù)變換結(jié)果Fig.4 Result of logarithmic transformation
由圖4可知,經(jīng)過對(duì)數(shù)變換后的圖像幀清晰度大幅度提升,為后續(xù)Canny邊緣提取打下了基礎(chǔ)。
對(duì)視頻圖像幀進(jìn)行圖像增強(qiáng)后,進(jìn)行邊緣特征信息提取,常見的圖像邊緣特征提取算子有很多,例如,Sobel算子,Laplacian算子和Canny算子等。其中Sobel算子和Laplacian算子存在邊緣定位精度不夠和對(duì)噪聲干擾敏感等問題,而Canny算子相較于Sobel算子和Laplacian算子,其不易受噪聲干擾且邊緣定位精度較高,故而改進(jìn)算法選用Canny算子進(jìn)行邊緣特征檢測(cè)。
Canny算子為1986年,CANNY在其碩士論文中提出的邊緣檢測(cè)算子[24],該算子具有良好的性能,故而基于Canny邊緣檢測(cè)的流程如下。
1)對(duì)原始圖像幀進(jìn)行圖像變換,再通過高斯濾波(見式(3))方法進(jìn)行平滑去噪,從而得到無噪聲圖像,其中δ是標(biāo)準(zhǔn)差,用來控制圖像平滑程度[25]。當(dāng)δ較小時(shí),能夠準(zhǔn)確確定邊緣位置;反之,則會(huì)丟失部分信息,增加運(yùn)算量,故而要適當(dāng)選擇平滑參數(shù)[26]。
(3)
2)通過一階偏導(dǎo)算子求出水平Gx和垂直Gy的偏導(dǎo)數(shù),并求出圖像灰度的梯度幅值G和方位角度θ,計(jì)算見式(4)。
(4)
3)抑制步驟2)中的梯度幅值極大值,并尋找局部最大值。
4)設(shè)定2個(gè)閾值T1和T2進(jìn)行驗(yàn)證,驗(yàn)證流程如圖5所示。
圖5 閾值驗(yàn)證流程Fig.5 Process of threshold verification
在原圖中利用高低閾值得到2幅閾值圖像,其中,低閾值圖像中存在的邊緣信息比高閾值的圖像多,此外,將得到的2幅閾值圖像進(jìn)行連接即可得到邊緣檢測(cè)結(jié)果。故而,經(jīng)過Canny邊緣提取后的運(yùn)行結(jié)果如圖6所示。
圖6 Canny邊緣提取結(jié)果Fig.6 Result of Canny edge extraction
由圖6可知,經(jīng)過Canny邊緣提取算法對(duì)井下視頻幀圖像進(jìn)行提取后,井下視頻圖像幀的邊緣信息被提取出來,為后續(xù)線特征提取打下了基礎(chǔ)。
LSD線特征算法通過計(jì)算每一個(gè)像素對(duì)應(yīng)的水平線的角度得到一個(gè)level-line場(chǎng)。例如,單位向量場(chǎng)是所有向量點(diǎn)與基點(diǎn)之間的水平切線,因此該場(chǎng)被劃分為多個(gè)區(qū)域,這些區(qū)域可以通過共享同一水平線的角度連接。這些連接的區(qū)域可以成為線段的支持區(qū)域。每條線段的支撐區(qū)域是實(shí)際線段的候選區(qū)域,符合相關(guān)關(guān)系的集合對(duì)象與這些候選區(qū)域相關(guān)。對(duì)于這些線段,其支持區(qū)域最重要的慣性軸是矩形框的方向,其大小剛好覆蓋整個(gè)區(qū)域。
最小邊界矩形框上像素的水平角度小于矩形框的角度稱為對(duì)齊點(diǎn)。計(jì)算矩形框中的所有像素點(diǎn)和對(duì)齊點(diǎn)的數(shù)量,以驗(yàn)證矩形框是否已被檢測(cè)為直線段,并確定其是否為直線段。
從上面線段的候選區(qū)域中,對(duì)齊點(diǎn)的個(gè)數(shù)是最優(yōu)的點(diǎn)集合。因此,定義一個(gè)假設(shè),即在對(duì)立模型中,當(dāng)線段區(qū)域有多個(gè)對(duì)齊點(diǎn)時(shí),該線段區(qū)域被視為一個(gè)線段。對(duì)于一副圖像i和一個(gè)矩形r,記k(r,i)為對(duì)齊點(diǎn)的數(shù)量,n(r)為矩形r內(nèi)的總像素?cái)?shù)。計(jì)算見式(5)。
Ntest*PH0[k(r,I)≥k(r,i)]
(5)
式中Ntest為矩形的數(shù)量;PH0為針對(duì)逆向模型的一個(gè)概率;I為H0模型下隨機(jī)圖像。
在將線特征通過LSD算法提取后,需要對(duì)其進(jìn)行特征匹配,剔除誤匹配,從而提高匹配率。改進(jìn)算法首先通過漢明距離進(jìn)行特征匹配,然后設(shè)定相鄰兩特征最小距離為30,并計(jì)算相鄰兩特征的距離,若該距離小于最小距離的2倍,則為正確匹配,反之則為誤匹配,最后計(jì)算匹配率。具體流程如圖7所示。
實(shí)驗(yàn)數(shù)據(jù)來源為攝像頭采集的西安科技大學(xué)煤礦井下實(shí)訓(xùn)中心模擬礦道視頻圖像,并在Unbuntu 16.04上進(jìn)行實(shí)驗(yàn)驗(yàn)證。在實(shí)驗(yàn)中,首先對(duì)攝像頭采集的視頻圖像進(jìn)行圖像幀提取,再對(duì)圖像幀進(jìn)行圖像增強(qiáng),其次通過Canny邊緣提取算法進(jìn)行視頻幀邊緣提取,然后對(duì)攜帶邊緣信息的圖像幀進(jìn)行LSD線特征提取,最后進(jìn)行特征匹配,其中,改進(jìn)算法改進(jìn)和原始算法的匹配結(jié)果如圖8和圖9所示。
圖7 LSD特征提取匹配流程Fig.7 Process of LSD feature extraction matching
圖8 改進(jìn)算法匹配結(jié)果Fig.8 Result of improved algorithm matching
由圖8和圖9匹配結(jié)果可知,原始算法匹配結(jié)果中存在的誤匹配對(duì)在改進(jìn)算法中均已被剔除,且其提取的線特征相較于原始算法更多,故而改進(jìn)后的算法較原始算法更優(yōu)。此外,在實(shí)驗(yàn)驗(yàn)證過程中,對(duì)攝像頭采集的井下視頻在改進(jìn)算法和原始算法上分別進(jìn)行了300幀的特征匹配,文中對(duì)前40幀進(jìn)行分析,匹配結(jié)果見表1和表2。
表1 改進(jìn)算法前40幀特征匹配匹配率
由表1和表2可知,改進(jìn)算法在連續(xù)前40幀井下圖像特征匹配中,匹配結(jié)果明顯高于原始算法,且改進(jìn)算法提取的線特征也多與原始算法提取的線特征,故而,對(duì)其進(jìn)行了對(duì)比,結(jié)果見表3。
由表3可知改進(jìn)算法明顯優(yōu)于原始算法,連續(xù)前40幀井下視頻匹配過程中其匹配率有34次都為100%匹配,其余2次也都達(dá)到97%以上,而原始匹配算法最高匹配率只有95%。此外,對(duì)實(shí)驗(yàn)中連續(xù)300幀匹配結(jié)果進(jìn)行取平均,并再次進(jìn)行對(duì)比,對(duì)比結(jié)果見表4,如圖10所示。
由表4和圖10可知,改進(jìn)算法對(duì)連續(xù)300幀井下圖像的平均匹配率為99.88%,而原始算法的平均匹配率只有88.42%,其匹配率較原始算法提高了11.46%,可以為后續(xù)視覺SLAM在井下環(huán)境工作提供一定的參考。
表2 原始算法前40幀特征匹配匹配率
表3 連續(xù)前40幀井下圖像匹配率對(duì)比
表4 連續(xù)300幀圖像平均匹配率
圖10 連續(xù)300幀圖像平均匹配率Fig.10 Average match rate of 300 consecutive frames of images
1)改進(jìn)了LSD特征提取匹配算法。利用圖像對(duì)比度亮度增強(qiáng)算法和Canny邊緣提取算法,實(shí)現(xiàn)井下環(huán)境的高精度圖像特征匹配,為井下圖像特征提取匹配提供了一種新方法。
2)改進(jìn)的LSD井下視頻圖像線特征提取匹配算法具有更高的匹配精度。相較于原始算法,改進(jìn)算法在連續(xù)300幀井下視頻圖像線特征匹配結(jié)果中,其匹配率提升11.46%。
3)改進(jìn)的LSD井下視頻圖像線特征提取匹配算法后續(xù)可以使用在井下無人巡檢機(jī)器人上,也為視覺SLAM在井下環(huán)境中的應(yīng)用提供一定的參考。