彭 泓 李紅利 杜 宇 寧 博 郭 磊
1(遼寧工程技術大學電氣與控制工程學院 遼寧 葫蘆島 125105)2(國網(wǎng)葫蘆島供電公司 遼寧 葫蘆島 125000)
電力線路是電能遠距離傳輸?shù)谋夭豢缮俚沫h(huán)節(jié),輸電線路的正常、安全運行直接影響了電力電網(wǎng)的運行。輸電線路在野外運行,經(jīng)常遭受雷擊、酸雨腐蝕、風暴沙塵等的危害,很容易致使高壓電線出現(xiàn)斷股、絕緣子劣化等,若不及時發(fā)現(xiàn)維修極易造成輸電線路斷線或短路。近些年隨著無人機技術的發(fā)展,如何使用無人機替代人工進行電力巡線,已成為一個重要的研究方向[1-3]。無人機機載相機的畫幅有限,一次拍攝很難得到大畫幅電力線路圖像,因此需要借助圖像拼接技術獲得全局電力線圖像。
針對電力巡線無人機建立全局圖像的問題,主要分為兩大類:第一類為基于POS數(shù)據(jù),如:文獻[4]利用單張航拍地圖對應的無人機的姿態(tài)和坐標等信息計算相鄰幀圖像的單適應矩陣;文獻[5]提出使用機載傳感器對圖像配準進行調(diào)整,矯正拼接誤差。該類方法對無人機性能要求較高,并且造價昂貴普及困難,不利于推廣。第二類為基于局部特征匹配,如:文獻[6]提出使用尺度不變算法[4](SIFT)尋找成對匹配點,然后計算相鄰幀之間透視變換矩陣;文獻[7]提取特征點進行匹配,使用卡爾諾曼濾波器預測待匹配區(qū)域,對于具有視差的航拍圖像拼接質量不佳;文獻[8]提出PCA-SIFT算法進行特征點匹配,然后計算相鄰幀之間的單適應矩陣進行拼接。上述算法拼接的魯棒性較好,對無人機的性能要求較低,但配準算法的速度較慢,嚴重影響拼接速度。
為此,本文提出一種改進的AKAZE算法[9],特征點檢測和主方向建立均在灰度空間中,在對比空間中建立MLDB描述符,命名為Opponent-MLDB描述符。圖像匹配后,借助盡可能投影變換配準模型[11-12](As projective as possible image stitching,APAP)配準電力巡線無人機航拍圖像,最后利用加權疊加算法融合拼接電力巡線圖像。
本文提出在Opponent對比色彩空間內(nèi)構建MLDB描述符的改進AKAZE算法,對電力線圖像進行匹配,然后使用APAP模型對待拼接圖像配準,最后對配準圖像加權融合得到拼接圖像,算法流程如圖1所示。
圖1 本文算法流程圖
非線性擴散濾波算法的主要思想是將灰度圖像L在不同尺度上變化,看成流動函數(shù)的擴散過程,具體可以用非線性偏微分方程來描述:
(1)
式中:L表示圖像灰度信息;div表示流動函數(shù)的擴散;▽表示圖像的梯度;c(x,y,t)表示傳導函數(shù)。
c(x,y,t)=g(|▽Lσ(x,y,t)|)
(2)
通過設置不同的傳導函數(shù)c(x,y,t),擴散函數(shù)可自適應于圖像的局部梯度信息。t為尺度參數(shù),▽Lσ表示灰度圖像L經(jīng)過高斯濾波后的梯度圖像,g(·)函數(shù)為:
(3)
式中:k是控制擴散度的對比因子。
在AKAZE算法基礎上提出FED算法[13],解非線性擴散濾波函數(shù)中的偏微分方程式。FED算法可表示為:
Li+1,j+1=(I+τjA(Li))Li+1j=0,1,…,n-1
(4)
式中:I表示單位矩陣;A(Li)為圖像Li的傳導矩陣;n表示顯性擴散步數(shù);τj表示對應步長。
(5)
式中:τmax表示為不違反穩(wěn)定條件的最大步長。一個FED算法周期對應的停止時間θn為:
(6)
AKAZE算法使用Hessian矩陣在非線性金字塔上尋找極大值從而確定特征點:
(7)
式中:σi為尺度因子初始值;Lxx、Lxy和Lyy分別表示x方向、y方向和xy方向的2階導數(shù)。對于每一個經(jīng)過Hessian矩陣歸一化的像素點,將其與金字塔相鄰尺度中σi×σi區(qū)域以及本身所在尺度σi×σi區(qū)域的像素點進行比較,若為最大值時,則該點為特征點。在建立描述符前,需要確定描述符的主方向,實現(xiàn)匹配算法的旋轉不變性。定位特征點的位置,以特征點為中心,畫出半徑為σi的圓分為6個扇形,計算每個扇形內(nèi)所有像素點在水平和豎直方向的一階導數(shù)的高斯加權值,高斯加權值最大方向為特征點的主方向。
在AKAZE算法中,特征點的檢測和描述符的建立均在灰度空間中。但RGB圖像脫色后,會有大量信息丟失,致使描述符魯棒性下降,造成匹配失敗。為了使描述符具有更強的魯棒性,本文引入對立色彩空間(Opponent color),轉換公式如下:
(8)
式中:O1和O2通道代表了原RGB圖像的色彩信息;O3表示了光強通道且具有光照不變性。本文提出Opponent-MLDB描述符,在對比色彩空間內(nèi)建立描述符,增加多維色彩信息。Opponent對比色彩空間轉化主要代碼如下:
for (int y=0;y { for (int x=0;x { Vec3b v=bgrImage.at uchar& b=v[0]; uchar& g=v[1]; uchar& r=v[2]; opponentChannels[0].at opponentChannels[1].at opponentChannels[2].at } } 得到特征點的尺度層信息和主方向信息后,利用尺度信息建立對立色彩空間,描述符的建立皆在對立色彩空間中進行。以特征點為中心,選擇一定區(qū)域P建立描述符,然后對描述符采樣區(qū)域進行劃分為n×n。網(wǎng)格劃分后需要計算單個網(wǎng)格內(nèi)像素值的平均值: (9) 式中:I(k)為像素點值;m是網(wǎng)格中像素點的數(shù)量;i為網(wǎng)格數(shù),然后計算像素塊內(nèi)在橫縱方向上的梯度值dx、dy,比較像素塊之間的像素值和梯度值進行編碼,可表示為: Func(·)={Funcintensity(i),Funcdx(i),Funcdy(i)} (10) 式中:Funcintensity(i)=Iavg(i),F(xiàn)uncdx(i)=Gradientx(i)=dx,F(xiàn)uncdy(i)=Gradienty(i)=dy。 由式(10)可得,MLDB描述符中的每對網(wǎng)格都可生成一個3 bit的二進制數(shù),則可得一對網(wǎng)格的二進制數(shù): (11) 由于Opponent-MLDB描述符是在O1、O2和O3層上建立的,如圖2所示,故Opponent-MLDB描述符可表示為: τOppnent={τO1,τO2,τO3} (12) 圖2 Opponent-MLDB描述符 得到Opponent-MLDB描述符后,利用漢明距離衡量待匹配圖像的兩兩描述符的相似性。 1.3節(jié)對相鄰的兩幅圖像匹配,本節(jié)需要根據(jù)成對匹配點,建立APAP配準模型[11-12],計算目標圖像網(wǎng)格單應性變換矩陣。I和I′是一組待拼接電力巡線無人機航拍圖像,它們對應的匹配點為p=[x,y,1]T、p′=[x′,y′,1],則對應的變換關系為p=h(p′),可以表示為: (13) (14) 齊次坐標p=[x,y,1]T和p′=[x′,y′,1],對應的變換關系表示為: p′~Hp (15) (16) 將式(16)化為Ah=0,表示為: (17) 對于圖像I和I′共有N組對應匹配點,則DLT算法自適應矩陣h可表示為: (18) (19) //APAP配準模型參設置 float gamma=0.1; float sigma=12.f; float sigmaSquared=sigma*sigma; //Grid parition int GW=30; int GH=30; ArrayXf X=ArrayXf::LinSpaced(GW,0,cw); ArrayXf Y=ArrayXf::LinSpaced(GH,0,ch); ArrayXf MvX=X-offX; ArrayXf MvY=Y-offY; MatrixXf Hmdlt=MatrixXf::Zero(GW*GH,9); MatrixXf pts1=(T1.inverse()*inlier.block(0,0,inlier.rows(),3).transpose()).transpose(); MatrixXf pts2=(T2.inverse()*inlier.block(0,3,inlier.rows(),3).transpose()).transpose(); MatrixXf Wi(pts1.rows()*2,pts1.rows()*2); Matrix3f inv_T2=T2.inverse(); Wi.setZero(); for (int i=0; i float localX=MvX(i%GW); float localY=MvY(i/GW); for (int j=0; j float dist_weight=exp(-pdist2(localX,localY,pts1(j,0),pts1(j,1))/sigmaSquared); float weight=max(dist_weight,gamma); Wi(j*2,j*2)=weight; Wi(j*2+1,j*2+1)=weight; } //Solve for SVD JacobiSVD MatrixXf V=svd.matrixV(); VectorXf h=V.col(V.cols()-1); Hmdlt.row(i)=unrollMatrix3f(inv_T2*rollVector9f(h)*T1); } warpAndFuseImageAPAP(img1,img2,Hmdlt,offX,offY,cw,ch,X,Y); 電力線圖像的APAP配準模型求出后,需要對電力線圖像進行融合,若是直接把兩幅地圖進行疊加融合,會出現(xiàn)很嚴重的噪聲。本文使用加權平均法,在重疊區(qū)域求平均值時,對像素點增加權重,表示為: (20) 式中:w1、w2表示加權的權重系數(shù),如圖3所示。 圖3 權重值 本文實驗主要分為兩部分:第一部分為了驗證本文提出的Opponent-AKAZE算法,在匹配速度和匹配魯棒性上是否具有優(yōu)勢;第二部分為驗證本文所提出的拼接模型,是否可拼接電力巡線無人機拍攝的圖像。 實驗平臺為個人筆記本,酷睿I7處理器、主頻2.6 GHz,基于Opencv3.10在Visual Studio2013上進行實驗。圖4給了四組圖像,(b)和(d)為Oxford數(shù)據(jù)[20]中具有光照變換、視角變換的測試圖像組,每組有六幅圖像且第一幅圖像為目標圖像,剩余的五幅為待匹配圖像,尺寸大小分別為600×900×3、700×1 000×3;(a)和(c)均為電力巡線無人機拍攝的具有光照變換、視角變換的測試組,每組僅有兩幅圖像且尺寸大小分別為600×900×3、700×1 000×3。 (a) 具有光照差異圖像 (b) 具有光照差異圖像 (c) 具有視差圖像 (d) 具有視差圖像圖4 測試圖像 本文選擇標準數(shù)據(jù)集和大量電力巡線無人機航拍圖像作為測試,并使用SIFT算法、ORB算法[17]、AKAZE算法和本文算法進行對比實驗,從算法的匹配速度、匹配正確率等方面定量評價。本文選擇的對比算法描述符維度均為Opencv3.1庫中默認值,SIFT算法為128維描述符;ORB算法的二進制描述符為256 bits;AKAZE算法的描述符為486 bits。 隨著描述符維度的增加,描述符的魯棒性會逐漸增加,但過高的維數(shù)會致使匹配速度嚴重下降,因此描述符的魯棒性和匹配速度是需要均衡的。本文所提Opponent-AKAZE算法的對比空間O1、O2、O3各層的二進制描述符為256 bits,則描述符長度為768 bits。 SIFT算法、ORB算法、AKAZE算法的特征點檢測方式各不相同,故匹配點數(shù)有很大的差異,本文以正確匹配率作為衡量算法的魯棒性的標準。圖5為SIFT算法、ORB算法、AKAZE算法和本文算法在圖4測試圖像上匹配正確率柱狀圖,每一組公開數(shù)據(jù)集中有六幅圖像,圖例1-2表示測試集中第一幅圖像與第二幅圖像匹配,航拍圖像為電力巡線無人機拍攝的測試圖像。 (a) 具有亮度差異的圖像 (b) 具有視差圖像圖5 匹配正確率 SIFT算法通過計算圖像的梯度信息得到浮點型描述符,魯棒性相較ORB算法的二進制描述符要強,但是高斯金字塔會造成圖像邊緣信息丟失嚴重,致使匹配算法的魯棒性下降。AKAZE算法利用圖像梯度和像素值編碼出魯棒性更強的二進制描述符,且非線性尺度空間可以更好地保護圖像邊緣信息,增加匹配算法的魯棒性,故AKAZE算法的匹配正確率要優(yōu)于SIFT算法。本文算法消除了灰度化造成的圖像信息的丟失,并且描述符的維度為768 bits,故算法的魯棒性要優(yōu)于AKAZE算法。由圖5可看出,在具光照差異和視差圖像中,本文算法具有最好的性能,其次是AKAZE算法,SIFT算法次之,ORB算法魯棒性最差。 表1為SIFT算法、ORB算法、AKAZE算法和本文算法對圖4每一組圖像匹配所用的平均時間。SIFT算法描述符為浮點型描述符,需要計算不同描述符之間的歐式距離,故匹配速度最慢。AKAZE算法需要解非線性函數(shù),MLDB描述符需要計算圖像梯度,故匹配速度不及ORB。本文算法描述符的維度更高,并且需要建立Opponent色彩空間,故匹配速度遠高于AKAZE算法和ORB算法。由表1可看出,ORB匹配算法最快,AKAZE算法次之,本文算法再次之,SIFT算法最慢。 表1 匹配速度 s 圖6為圖像拼接結果,單從視角角度判斷,拼接效果良好,并未出現(xiàn)畸變、重影等現(xiàn)象。從量化角度考慮,可以計算拼接圖像配準的誤差均方根[19],如表2所示。本文算法借助APAP拼接模型對具有視差的電力巡線無人機航拍圖像進行配準拼接,故誤差均方根較小、配準精度較高。 (a) (b)圖6 拼接結果 表2 均方根誤差 針對電力巡線無人機搭載相機畫幅過小,不能拍攝全局電力線圖像的問題,本文提出基于Opponent-AKAZE算法對電力巡線無人機圖像進行拼接。首先,在Opponent對比色彩空間上搭建尺度空間構建具有色彩信息的Opponent-MLDB描述符,增加匹配算法的魯棒性,可匹配更多的穩(wěn)健的特征點;然后提出APAP配準模型對待拼接圖像進行投影變換配準;最后利用加權疊加算法對重疊部分圖像進行加權疊加。實驗表明:Opponent-AKAZE算法描述符的魯棒性遠超過AKAZE、SIFT等算法,APAP配準模型對圖像拼接效果良好,無明顯拼接痕跡。在實際應用中,為更加快捷、有效地監(jiān)測電力線設備,只需將電力巡線無人機拍攝的電力線圖像采用本文方法構建全局電力線路地圖,即可實現(xiàn)無人化電力巡線管理。1.4 APAP配準模型
1.5 圖像融合
2 實 驗
2.1 匹配算法實驗
2.2 拼接結果
3 結 語