梁雅欣,李曉明
(太原科技大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,太原 030024)
海底面積廣闊,蘊藏著人類賴以生存的豐富資源,但由于深海環(huán)境復(fù)雜,人類技術(shù)條件有限,迄今為止都未能窺探海底全貌.海水具有光線難以穿透的性質(zhì),從海面上無法準(zhǔn)確的掌握海底情況.相比較于其他技術(shù)而言,視覺技術(shù)可以很直觀的獲取深海信息,已經(jīng)成為深海研究的重要手段.單幅圖像視野小,為了更清晰的得到海底全景圖,需要拼接海底圖像.圖像配準(zhǔn)是圖像拼接的第一步,也是最核心的一步.圖像配準(zhǔn)的準(zhǔn)確度直接影響圖像拼接的最后結(jié)果.
圖像配準(zhǔn)的目的是將兩張具有重疊部分的鄰接圖像進(jìn)行空間匹配對準(zhǔn).目前,國內(nèi)外針對圖像配準(zhǔn)的研究做了很多的工作.常見的配準(zhǔn)方法可以分為兩大類:(1)基于灰度的圖像匹配[1–4]:這種方法直接利用圖像的灰度信息完成匹配運算,主要依賴于像素值,對噪聲比較敏感,容易受灰度,尺度和尺寸變化的影響.使用該類算法要求兩張圖像之間重疊面積大,幾何變形小.該類算法要求兩幅圖像重疊面積大,而機(jī)器人拍攝海底圖像重疊面積小,此類基于灰度的圖像配準(zhǔn)在機(jī)器人自主拍攝的海底圖像中不具有可行性.(2)基于特征的圖像配準(zhǔn)[5–11]:這種算法不直接依賴于像素值,需要在圖像中提取對縮放,旋轉(zhuǎn),灰度變換具有不變性的特征.SIFT[12,13]、SURF[14,15]和DAISY[16]是檢測和描述在水外環(huán)境中捕獲的物體特征的著名技術(shù).這些標(biāo)準(zhǔn)描述符已被證明對幾何變化最為穩(wěn)健.這些算法對圖像的噪聲,旋轉(zhuǎn),縮放和光照等變化不敏感.海底圖像不同于一般的地面圖像.由于光的衰減作用,越到海底深處,光照強(qiáng)度越低;深海懸浮物的散射以及人造光源的影響,造成海底圖像亮度不均勻,中間區(qū)域亮,兩邊區(qū)域暗,對比度低,質(zhì)量退化.同時,機(jī)器人拍攝過程中,海底地面凹凸不平.相鄰兩張圖像拍攝角度會發(fā)生一定的偏差,圖像之間的幾何變形大,重疊面積不超過35%.基于特征的圖像配準(zhǔn),可以適當(dāng)?shù)臏p少縮放,旋轉(zhuǎn),灰度等變換的影響.由于深海圖像質(zhì)量下降,直接的使用傳統(tǒng)特征點配準(zhǔn)算法提取到的特征點數(shù)量少,描述子辨別能力低;最后所得配準(zhǔn)對應(yīng)點錯誤率高,部分圖像甚至找不到正確的對應(yīng)點.基于運動一致性的GMS[17]特征點配準(zhǔn)算法以劃分網(wǎng)格的方式進(jìn)行精匹配.對應(yīng)點集中于一個區(qū)域,容易出現(xiàn)一個區(qū)域均為錯誤對應(yīng)點的情況.2012年,Prabhakar 等[18]根據(jù)整個水下圖像序列場景塊的紋理參數(shù)和顏色不變性,提出了適用于水下環(huán)境的局部特征描述符LBP-SURF.LBPSURF 描述子,它可以有效地提取水下圖像的紋理特征.該算法主要是在SURF 的基礎(chǔ)上加入了LBP,使描述子具有灰度不變性.這種方法要求兩張圖像相似區(qū)域變化小.但機(jī)器人拍攝海底圖像,人造光源使兩張圖像相似區(qū)域變化明顯,不同圖像的相似區(qū)域特征點由LBP-SURF 計算的描述子差別大,特征點匹配錯誤率高.該方法不適用于機(jī)器人拍攝的海底圖像.2017年,Raut 等[19]針對水下圖像運用基于改進(jìn)的SIFT 算法提取特征點,采用Gabor 濾波器作為前置濾波器,利用Hausdorff 距離計算關(guān)鍵點之間的距離.2010年,謝雨來等[20]就SURF 在深海圖像上的應(yīng)用做了研究,用SURF算法獲取參考圖像和配準(zhǔn)圖像的特征點.2014年,李超[21]發(fā)表了將SURF 算法運用到海底圖像.2016年,賀磊盈等[22]對有序列的深海圖像做了研究,提出了一種基于卡爾曼濾波跟蹤序列圖像的空間位置實施序列圖像的快速匹配方法.這些方法主要針對的是一般的深海圖像,對于本次實驗機(jī)器人拍攝的海底圖像中不具有可行性.
綜上所述,針對機(jī)器人拍攝的序列海底圖像,本文提出了先將海底圖像進(jìn)行適當(dāng)?shù)念A(yù)處理,改善圖像質(zhì)量;根據(jù)機(jī)器人拍攝圖像的航行特點,在基于圖像信息的配準(zhǔn)算法基礎(chǔ)上加入導(dǎo)航先驗信息.利用導(dǎo)航數(shù)據(jù),縮小特征點配準(zhǔn)區(qū)域,從而有效的增加圖像配準(zhǔn)對應(yīng)點.
海底圖像由水下機(jī)器人根據(jù)特定航線拍攝.機(jī)器人圖像如圖1所示,從圖中照相機(jī)的位置可知,機(jī)器人向下拍攝圖像.
圖1 機(jī)器人結(jié)構(gòu)圖
每臺機(jī)器人配有傳感器和閃光燈,海底拍攝需要打開閃光燈,拍攝圖像的同時記錄拍攝位置的橫縱坐標(biāo).如圖2左上角第一張圖所示:方框表示機(jī)器人拍攝范圍.三角形代表機(jī)器人拍攝圖像所在位置.理想情況下的機(jī)器人拍攝航線嚴(yán)格按照水平方向和豎直方向,拍攝的圖像序列如右上角第二張圖所示(每一個長方形表示一張圖像):相鄰兩張圖像相似區(qū)域位于一條水平線上.實際情況中,海底地面凹凸不平,機(jī)器人拍攝航線會出現(xiàn)一定的偏差.如左下角第3 張圖所示:水平方向(橫向)會有一定的傾斜,豎直方向出現(xiàn)旋轉(zhuǎn)角度.實際所拍攝的圖像序列如右下角第4 張圖所示:鄰接圖像的相似區(qū)域并不嚴(yán)格處于水平線范圍內(nèi),豎直方向拍攝的圖像存在一定的旋轉(zhuǎn)角度.
圖2 機(jī)器人理想航線與實際航線
由于光的衰減,水中懸浮顆粒散射和人造光源的影響,海底圖像具有對比度低,中間區(qū)域亮,兩邊區(qū)域暗的特點.因此,本文針對海底圖像質(zhì)量差的問題,對原始圖像進(jìn)行預(yù)處理.預(yù)處理步驟如下:
(1)光照補(bǔ)償:即從數(shù)據(jù)集中選取10 張低紋理圖像,灰度值化,對所選10 張圖像進(jìn)行像素平均.公式為:
通過高斯濾波器獲得光照補(bǔ)償因子F(x,y);對海底圖像M(x,y)光 照補(bǔ)償?shù)玫綀D像Z(x,y).光照補(bǔ)償公式如式(2)所示:
(2)對圖像灰度值范圍進(jìn)行線性調(diào)整.原圖像Z(x,y)的灰度范圍是[m,M],調(diào)整后的圖G(x,y)的灰度范圍是[n,N],變換公式為:
為減小描述子辨別能力低對圖像配準(zhǔn)的影響,根據(jù)導(dǎo)航信息計算拍攝相鄰兩張圖像的物理偏移量,通過物理偏移量估算源圖像特征點對應(yīng)目標(biāo)圖像的匹配區(qū)域(即帶狀區(qū)域).如圖3所示,取源圖像方框內(nèi)的特征點,經(jīng)過相對應(yīng)模型計算確定在目標(biāo)圖像中的方框區(qū)域(即帶狀區(qū)域)內(nèi)尋找最匹配的特征點.以帶狀區(qū)域配準(zhǔn)[23]代替全局配準(zhǔn),提高了特征對應(yīng)點數(shù)目和準(zhǔn)確率.
圖3 匹配區(qū)域
建立水平航線數(shù)學(xué)模型計算鄰接圖像配準(zhǔn)區(qū)域.機(jī)器人左右移動拍攝圖像,由于海底凹凸不平,機(jī)器人左右(橫向)移動的同時伴隨則上下(縱向)移動.相鄰兩幅圖像對應(yīng)點不嚴(yán)格處于一條水平線范圍內(nèi).利用導(dǎo)航數(shù)據(jù)得出拍相鄰兩幅圖像的左右物理偏移量與對應(yīng)的像素偏移量,求得每兩個像素點代表的物理距離;根據(jù)導(dǎo)航信息的上下物理偏移量得出縱向像素點偏移量,計算特征對應(yīng)點配準(zhǔn)區(qū)域(即帶狀區(qū)域),在配準(zhǔn)區(qū)域內(nèi)進(jìn)行特征對應(yīng)點匹配.計算公式定義為:
其中,X表示計算得到的兩幅圖像之間左右物理位置偏移量,求得兩張圖像物理偏移量對應(yīng)的像素值I,Y表示兩張圖像之間縱向物理位置偏移量,通過計算縱向像素偏移值,使用模板圖像特征點縱坐標(biāo)yi加上與σ的誤差量,確定配準(zhǔn)區(qū)域D,作為模板圖像特征點在待配準(zhǔn)圖像的配準(zhǔn)區(qū)域,縮小配準(zhǔn)區(qū)域,增加對應(yīng)點正確率.
鄰接旋轉(zhuǎn)航線圖像的配準(zhǔn)區(qū)域數(shù)學(xué)模型計算:機(jī)器人旋轉(zhuǎn)拍攝圖像,首先根據(jù)導(dǎo)航物理位置信息計算相鄰兩幅圖像旋轉(zhuǎn)角度.取機(jī)器人拍攝圖像的物理位置坐標(biāo)為圖4中的A,B兩點(A,B兩點可以由圖中任意兩個相對位置取代).橫向坐標(biāo)表示物理平行方向位置坐標(biāo),縱向坐標(biāo)表示物理豎直方向位置坐標(biāo).將圖N旋轉(zhuǎn)角度b與圖M平行.然后計算圖N中特征點對應(yīng)圖M中的帶狀區(qū)域.計算方法如下:
角度計算公式如式(2):
其中,x2?x1是A,B兩點的橫向坐標(biāo)差值(即BC線段的長度),y2?y1是A,B兩點的縱向坐標(biāo)差值(即AC的長度).利用式(2) 求出圖4中的角a(即公式中的θ).角a與角b的和為90 度,所以旋轉(zhuǎn)角度b=90?a,則可以得出 cos(b)=cos(90?a)=sin(a).帶狀區(qū)域計算公式如式(3)所示:
圖4 鄰接旋轉(zhuǎn)航線拍攝圖像
其中,D表示兩張鄰接旋轉(zhuǎn)圖像相似區(qū)域像素偏移量(即帶狀配準(zhǔn)區(qū)域).X表示計算得到的兩幅圖像之間橫向物理位置偏移量,求得兩張圖像物理偏移量對應(yīng)的像素值I.Y表示拍攝兩幅圖像機(jī)器人的縱向位置偏移量.求出兩幅圖像平行時的位置偏移量.通過得到模板圖像特征點對應(yīng)于待配準(zhǔn)圖像的偏移像素量,特征點縱坐標(biāo)yi加上與σ 的誤差量得出配準(zhǔn)區(qū)域,縮小配準(zhǔn)區(qū)域,有效的提高特征對應(yīng)點的正確率.
本文實驗總流程如圖5所示.實驗中采用了具有重復(fù)紋理和低紋理的海底圖像.分別由平移航線和旋轉(zhuǎn)航線所拍攝.先將所選圖像采用2 的方法進(jìn)行預(yù)處理,以緩解海底圖像對比度低,光照不均勻的情況.SIFT是圖像的局部特征提取算法,其對旋轉(zhuǎn)、尺度縮放、亮度變化保持不變性,對視角變化、仿射變換、噪聲也保持一定程度的穩(wěn)定性.對存在旋轉(zhuǎn),縮放,尺度變化的海底圖像具有很高的適用性.采用基于SIFT 算法提取特征點,在KNN (K=1)算法的基礎(chǔ)上加入先驗信息進(jìn)行特征點匹配,最后通過RANSAC和最小二乘法篩選內(nèi)點.得到特征對應(yīng)點正確率高的圖像配準(zhǔn).
圖5 總實驗步驟流程圖
本文實驗數(shù)據(jù)由水下機(jī)器人拍攝于2019年4月中國南海5000 米以下的深海海域.拍攝范圍約300×300 平方米,機(jī)器人航線分為東西走向,邊緣航線需要經(jīng)過旋轉(zhuǎn)拍攝.相鄰兩張圖像的橫向物理位移大致為2 米,縱向偏移量不等,每張圖像覆蓋面積2×2 米,拍攝內(nèi)容存在重復(fù)紋理和低紋理的問題.
圖6所示機(jī)器人實際拍攝海底圖像的航線,根據(jù)機(jī)器人記錄的坐標(biāo)信息所繪制,圖中數(shù)字表示由左行駛到右一次的拍攝.
圖6 機(jī)器人拍攝航線
表1是機(jī)器人從左到右水平方向行駛拍攝所記錄的橫向和縱向坐標(biāo)信息.表2是機(jī)器人旋轉(zhuǎn)(轉(zhuǎn)換行駛方向)行駛拍攝所記錄的橫向和縱向坐標(biāo)信息.
表1 水平導(dǎo)航數(shù)據(jù)
表2 旋轉(zhuǎn)導(dǎo)航數(shù)據(jù)
深海圖像本文方法預(yù)處理對比如圖7所示:預(yù)處理之前如圖7(a)所示,可以明顯的看出圖像光照不均勻,中間區(qū)域偏亮,兩邊區(qū)域偏暗,暗處圖像對比度低.經(jīng)過調(diào)整光照,增強(qiáng)等預(yù)處理后如圖7(b)所示:圖像特征明顯,減少了圖像明暗不一的情況.
圖7 海底圖像預(yù)處理
(1)實驗基于SIFT 算法對圖像進(jìn)行特征點提取.
(2)計算帶狀配準(zhǔn)區(qū)域D.
① 平移航線圖像的帶狀區(qū)域計算:利用表1相鄰兩行橫向坐標(biāo)計算機(jī)器人水平方向移動距離X;論文中所選圖像像素為640×480,拍攝鄰接圖像橫向物理距離對應(yīng)的圖像像素為一張圖像的像素大小減去鄰接圖像相似區(qū)域的像素值;本次實驗數(shù)據(jù)相鄰圖像之間的相似區(qū)域不超過35%,甚至更小,所以大致的估算像素偏移量為圖像的寬,即I=480.相鄰兩行縱向坐標(biāo)的差Y;經(jīng)過觀察及實驗得出,機(jī)器人縱向差值小于1 米,偏差角度小于10 度,σ取值100 即不會使配準(zhǔn)區(qū)域過大,也不會小于重疊面積.即:
② 旋轉(zhuǎn)航線的帶狀區(qū)域計算:根據(jù)表2相鄰兩行橫向坐標(biāo)的差值x2?x1與縱向坐標(biāo)的差值y2?y1通過θ=arctan計算旋轉(zhuǎn)角度θ;計算相鄰兩張旋轉(zhuǎn)圖像之間的像素偏移量,yi為特征點縱坐標(biāo),通過觀察及實驗得出,機(jī)器人旋轉(zhuǎn)角度小于20 度,σ 取60.即:
(3)取圖像A 中的某個關(guān)鍵點,在圖像B 的帶狀區(qū)域(由第(2)步求出)尋找最合適的特征對應(yīng)點,采用最近鄰(KNN,K=1)匹配特征點,進(jìn)行初始匹配.遍歷A中的所有關(guān)鍵點,在對應(yīng)帶狀區(qū)域找出所有匹配點.
(4)本次實驗數(shù)據(jù)中80%的圖像之間的變換僅包含簡單的平移和旋轉(zhuǎn),部分存在縮放,所以選擇相似變換模型,RANSAC和最小二乘法求取變換關(guān)系(閾值設(shè)置為4.5),篩選初始匹配對應(yīng)點,保留內(nèi)點.
實驗分為兩大類:(1)預(yù)處理前后初始匹配實驗結(jié)果對比.(2)預(yù)處理的情況下未加入帶狀區(qū)域的特征點配準(zhǔn)和加入帶狀區(qū)域的配準(zhǔn)實驗對比.這兩類都可以通過比較正確匹配點個數(shù)判斷方法的有效性.其中,第(2)類實驗又分為平移航線和旋轉(zhuǎn)航線兩種不同的情況.平移航線選取存在重復(fù)紋理問題的圖像,旋轉(zhuǎn)航線選取存在低紋理問題的圖像.
預(yù)處理實驗共選取500 張深海海底圖像,經(jīng)計算,其中80%的圖像配準(zhǔn)點個數(shù)提高了25%.圖8為部分實驗圖.
圖8 預(yù)處理前后對比
如圖8,表3所示為第1 類實驗結(jié)果.經(jīng)過本文方法預(yù)處理后的圖像在亮度,對比度方面改善明顯.從實驗結(jié)果可以分析得出,由于預(yù)處理前的圖像對比度低,圖像模糊,光照不均勻,中間區(qū)域亮,兩邊區(qū)域較暗;提取到的初始匹配特征點數(shù)量少,且正確的匹配對應(yīng)點少,無法滿足求取變換矩陣的最低對應(yīng)點數(shù)目.預(yù)處理后的圖像光照均勻,有效的改善了圖像亮度,對比度增強(qiáng),提取到較多的特征點,初始匹配對應(yīng)點得到了增加,可以求得較精確的變換矩陣.
表3 預(yù)處理前后圖像配準(zhǔn)結(jié)果比較
加入帶狀信息的實驗選取500 張深海海底圖像.整體圖像配準(zhǔn)點正確率提高了20%.圖9,圖10所示為本部分實驗效果圖.
圖9 水平航線加入先驗信息前后實驗對比
圖10 旋轉(zhuǎn)航線加入先驗信息前后實驗對比
如圖9,表4所示為第2 類情況中的平移航線未加入導(dǎo)航信息與加入導(dǎo)航信息的實驗對比.圖10,表5所示為第2 類情況中的旋轉(zhuǎn)航線未加入導(dǎo)航信息與加入導(dǎo)航信息的實驗對比.由實驗結(jié)果可以分析得出,相鄰兩張圖像重疊區(qū)域不足圖像的35%,且圖像存在嚴(yán)重的重復(fù)紋理和低紋理問題,導(dǎo)致描述子辨別能力降低.經(jīng)過RANSAC和最小二乘化篩選內(nèi)點之后僅得到不足5 對匹配對應(yīng)點,所求出的變換矩陣精確度低.按照本文方法,加入先驗信息作為引導(dǎo)思想,縮小特征點匹配面積,減少其他區(qū)域描述子的干擾,從而有效的增加了匹配對應(yīng)點的數(shù)目.
表4 水平航線圖像配準(zhǔn)結(jié)果比較
表5 旋轉(zhuǎn)航線圖像配準(zhǔn)結(jié)果比較
實驗結(jié)果表明,文中提出的基于先驗知識和圖像信息的方法,可以有效的解決描述子辨別能力降低的問題,提高特征對應(yīng)點的數(shù)目和正確率.在重復(fù)紋理和低紋理的情況下,不同區(qū)域的特征描述子之間的相似度極高,在全局特征點配準(zhǔn)干擾性大,更增加了配準(zhǔn)的難度.采用本文方法,縮小配準(zhǔn)區(qū)域,帶狀區(qū)域配準(zhǔn)代替全局配準(zhǔn).減少了錯誤特征點的干擾,降低了誤匹配的概率,得到滿意的配準(zhǔn)結(jié)果.在具有重復(fù)紋理和低紋理的海底圖像中得到的成功說明了該方法的可行性和有效性.
根據(jù)海底圖像拼接需要正確且數(shù)量多的特征對應(yīng)點的要求,本文提出了海底圖像預(yù)處理方法,介紹了相應(yīng)的步驟及效果;然后提出了一種針對機(jī)器人拍攝的海底序列圖像的圖像配準(zhǔn)方法:基于先驗信息和圖像信息的圖像配準(zhǔn)方法,并于僅基于圖像信息的海底圖像配準(zhǔn)進(jìn)行配準(zhǔn)點數(shù)目及正確率的比較,在具有重復(fù)紋理和低紋理的海底圖像上進(jìn)行實驗.實驗結(jié)果表明:經(jīng)過預(yù)處理之后,海底圖像光照不均勻,對比度差的問題得到有效改善,為后續(xù)圖像配準(zhǔn)做好準(zhǔn)備.相對于基于圖像信息的序列海底圖像配準(zhǔn),本文方法有效的降低了匹配對應(yīng)的誤配率,增加了對應(yīng)點的數(shù)目,滿足了海底圖像拼接的后續(xù)要求,為水下視覺在海底探索中的應(yīng)用提供了幫助.