谷連軍 孟秀軍
摘 要:直升機在進(jìn)行架空輸電線路巡視過程中,其光電吊艙受多變的載體姿態(tài)和復(fù)雜的飛行環(huán)境等因素影響,導(dǎo)致所攝取的巡視視頻失穩(wěn)、模糊不清,分辨率嚴(yán)重下降,影響后續(xù)對巡視視頻的應(yīng)用。為實時輸出穩(wěn)定的巡視視頻,提出了一種直升機巡視光電吊艙去抖增穩(wěn)算法,該算法在傳統(tǒng)運動估計模塊與運動補償模塊之外,增加了運動判斷模塊。實驗表明,該算法的巡視去抖增穩(wěn)效果明顯,視頻抖動判斷準(zhǔn)確率為91%;抖動量估計的均方根誤差的平均值為0.024像素,穩(wěn)像精度達(dá)到亞像素級;對于標(biāo)清巡視視頻的去抖增穩(wěn)平均單幀處理時間為39 ms(處理幀率為25 f/s),滿足了實時性要求。
關(guān)鍵詞:直升機巡視;光電吊艙;視頻去抖增穩(wěn);運動估計;運動補償;自適應(yīng)
中圖分類號:TP399文獻(xiàn)標(biāo)識碼:A文章編號:2095-1302(2020)06-00-05
0 引 言
隨著電力建設(shè)的迅速發(fā)展,復(fù)雜地形條件下的電網(wǎng)建設(shè)和設(shè)備維護(hù)工作越來越多。隨著投運設(shè)備的日益增加,巡檢需求和人力缺員的矛盾日益突出,傳統(tǒng)依靠人力為主的線路運維模式已無法滿足當(dāng)前及未來公司追求管理精益化、降本增效的戰(zhàn)略發(fā)展需要。直升機巡視方式的推廣應(yīng)用提高了巡檢效率,縮短了巡檢周期[1-2]。
直升機在進(jìn)行架空輸電線路巡視的過程中,其光電吊艙受多變的載體姿態(tài)和復(fù)雜的飛行環(huán)境等因素影響,導(dǎo)致所攝取的巡視視頻失穩(wěn)、模糊不清,分辨率嚴(yán)重下降,影響后續(xù)對巡視視頻的應(yīng)用[3]。因此亟需利用電子穩(wěn)像技術(shù)[4]對所攝取的巡視視頻進(jìn)行穩(wěn)像處理,去除隨機抖動的干擾,為進(jìn)一步的線路目標(biāo)檢測識別與跟蹤等提供基礎(chǔ)。
運動估計[5]和運動補償[6]是電子穩(wěn)像的關(guān)鍵,而實時性和準(zhǔn)確性是決定電子穩(wěn)像技術(shù)能否應(yīng)用于直升機巡視系統(tǒng)等領(lǐng)域的關(guān)鍵指標(biāo)。在國內(nèi)外諸多算法中,基于特征點提取的運動估計方法結(jié)合適當(dāng)?shù)倪\動補償方法的電子穩(wěn)像算法具有良好的應(yīng)用。
基于特征點提取的運動估計的研究方向是選取適當(dāng)?shù)乃阕樱焖贉?zhǔn)確的提取和匹配特征點,進(jìn)而提高電子穩(wěn)像的準(zhǔn)確性和實時性。目前常見的提取特征點的算子有SIFT(Scale Invariant Feature Transfer,尺度不變特征變換)算子[7]、SURF(Speed-Up Robust Feature,加速魯棒特征)算子[8-9]、GFTT(Good Feature to Track,易于跟蹤特征)算子、BRISK(Binary Robust Invariant Scalable Keypoint,二進(jìn)制局部特征)算子[10]、FAST(Features From Accelerated Segment Test,加速段試驗特征)算子等。Walhaa采用SIFT算子提取和匹配特征點進(jìn)行運動估計,并利用Kalman濾波結(jié)合中值濾波獲取運動補償參數(shù),取得了較好的穩(wěn)像精度,然而所采用的SIFT的描述子維度太高導(dǎo)致耗費的時間較長。Matsushita采用GFTT算子提取特征點并通過LK(Lucas & Kanade)光流法[11]匹配進(jìn)行運動估計,可以適應(yīng)靜態(tài)背景和動態(tài)背景,然而GFTT算子計算圖像梯度時需要耗費較多時間,影響實時性。程德強等[12]利用SUSAN算子提取特征點,并采用LK光流法實現(xiàn)抖動視頻序列的運動估計,但實時性仍有待提高。周凱汀等[13]將ORB算法用于多姿態(tài)人臉識別中,通過改進(jìn)ORB算子的采樣模式提高了魯棒性;李小紅等[14]將ORB算法用于快速目標(biāo)檢測中,結(jié)合ORB(Oriented Brief)特征匹配算法使用幀差法獲得運動目標(biāo)。初守艷利用ORB算法中具有方向性的FAST算子提取并匹配特征點進(jìn)行運動估計,提取的特征點具有旋轉(zhuǎn)不變性,且FAST算子提取特征點速度快、準(zhǔn)確率高,其算法具有較高的穩(wěn)像實時性和運動估計準(zhǔn)確性,可以進(jìn)一步通過改進(jìn)運動補償方法得到更好的穩(wěn)像效果。
1 研究思路
為提高算法的實時性和準(zhǔn)確性,直升機巡視光電吊艙去抖增穩(wěn)算法在傳統(tǒng)的運動估計模塊與運動補償模塊之外增加了運動判斷模塊。該算法具備自適應(yīng)性,根據(jù)可見光和紅外視頻抖動程度自動采取合適的處理策略及方法,實現(xiàn)視頻的去抖增穩(wěn),具體研究思路如圖1所示。對于輸入視頻初始的若干幀,采用基于相位相關(guān)法的運動初判,獲取初始運動狀態(tài);對于視頻的后續(xù)幀,提取FAST特征點,并通過LK光流法得到特征點的運動參數(shù),進(jìn)而通過建立仿射變換模型得到全局運動參數(shù);利用初始運動狀態(tài)和全局運動矢量矩陣,采用基于主運動識別方向的方法進(jìn)行運動補償,輸出穩(wěn)定視頻。
2 算法設(shè)計與實現(xiàn)
2.1 基于相位相關(guān)法的運動初判
攝像機的拍攝狀態(tài)包括靜態(tài)拍攝、運動拍攝及靜態(tài)拍攝與運動拍攝相互切換三種狀態(tài)。運動初判是指利用視頻的初始若干幀,計算攝像機的二維平移量,并進(jìn)行攝像機運動的初步判斷,得到攝像機的初始運動狀態(tài),為后續(xù)穩(wěn)像處理提供基礎(chǔ)。
相位相關(guān)法對相鄰兩視頻幀進(jìn)行快速傅里葉變換,將視頻幀從空域變換到頻域,然后通過互功率譜直接計算兩視頻幀間的平移量。
設(shè)f1(x, y)和f2(x, y)分別為兩幀視頻的信號,若f1(x, y)和f2(x, y)簡單平移相關(guān),(Δx, Δy)為幀間平移量,則有:
相應(yīng)的傅里葉變換為:
歸一化功率譜為:
F*1(w1, w2),F(xiàn)*2(w1, w2)分別為F1(w1, w2)和F2(w1, w2)的共軛,對上式進(jìn)行傅里葉逆變換,在(x, y)空間形成的脈沖函數(shù)δ(x-Δx, y-Δy)脈沖峰值的位置(Δx, Δy)為兩幀之間的平移量。以該平移量(Δx, Δy)近似作為攝像機的二維平移量(x0, y0)。如圖2所示,根據(jù)二維平移量(x0, y0)進(jìn)行幀間運動方向識別,分別對正負(fù)幀間運動方向的數(shù)值P0,N0進(jìn)行統(tǒng)計。若進(jìn)行幀間運動方向判斷的幀數(shù)達(dá)到預(yù)先設(shè)定的幀數(shù)F0,則進(jìn)行主運動方向初始值確定判斷,若正負(fù)幀間運動方向的數(shù)值達(dá)到一定閾值T0,則確定主運動方向M,若P0與N0之差大于預(yù)先設(shè)定的閾值T1,則存在主運動方向M(其值1為正,-1為負(fù)),且為運動拍攝;若P0與N0之差小于預(yù)先設(shè)定的閾值T1,則不存在主運動方向M(其值設(shè)為0),且判定為靜態(tài)拍攝,當(dāng)前運動狀態(tài)即為初始運動狀態(tài)。
2.2 運動估計
2.2.1 FAST特征點提取
FAST算子提取特征點的原理是若在某一像素點P的鄰域內(nèi)有足夠多的像素點的灰度值大于或小于該點的灰度值,則選擇該點為特征點。
對于圖像上一像素點P,其灰度值為Ip,以P為中心,r為半徑的圓周上,與P存在聯(lián)系的n個像素點,其灰度值為Ik(k=1, 2, ..., n),F(xiàn)AST特征點的角點響應(yīng)函數(shù)CRF(Corner Respond Function)如下:
式中,threshold為給定的小閾值(一般取threshold=10-4),如果CRF=1的個數(shù)大于1個給定的閾值(推薦值為12),則P點為FAST特征點。
2.2.2 基于仿射變換模型的全局運動參數(shù)估計
根據(jù)估計出的n個FAST特征點的光流矢量,可以求出兩幀間的仿射變換矩陣,兩幀間的仿射變換如下:
式中,vi(x)和vi(y)分別是點(xi, yi)的x方向和y方向光流值。利用最小二乘法解上述方程,得到的仿射變換矩陣即為全局運動參數(shù),a2,a5分別為水平運動矢量和垂直運動矢量。主要實現(xiàn)代碼如下:
estimateGlobMotionLeastSquaresTranslation(
int npoints,Point2f *points0,Point2f *points1,float *rmse){
Mat_
for (int i = 0; i < npoints; ++i){
M(0,2) += points1[i].x - points0[i].x;
M(1,2) += points1[i].y - points0[i].y;
}
M(0,2) /= npoints;
M(1,2) /= npoints;
if (rmse){
*rmse = 0;
for (int i = 0; i < npoints; ++i)
*rmse += sqr(points1[i].x - points0[i].x - M(0,2)) +sqr(points1[i].y - points0[i].y - M(1,2));
*rmse = std::sqrt(*rmse / npoints);
}
return M;
}
2.3 運動補償
基于主運動方向識別的運動補償流程如圖3所示。
實現(xiàn)步驟如下所示。
(1)運動狀態(tài)初始化,基于相位相關(guān)的運動初判,實現(xiàn)對靜態(tài)拍攝和運動拍攝及兩種拍攝狀態(tài)相互切換的識別。
(2)運動估計參數(shù)輸入,在進(jìn)行運動狀態(tài)初始化后,在電子穩(wěn)像過程中連續(xù)輸入視頻的運動估計參數(shù)。
(3)針對每兩幀之間的運動矢量進(jìn)行抖動判斷,如果當(dāng)前運動狀態(tài)為靜態(tài)拍攝,對當(dāng)前水平方向運動矢量、垂直方向運動矢量進(jìn)行判定,若大于一定閾值則判定為靜態(tài)抖動,否則判定為非抖動;若當(dāng)前運動狀態(tài)為運動拍攝,且當(dāng)前水平方向運動矢量、垂直方向運動矢量與主運動方向M不一致,則判定為動態(tài)抖動,若當(dāng)前運動量與主運動方向一致,則判定為非抖動。
(4)運動補償,若判定為靜態(tài)抖動則以當(dāng)前運動矢量為補償參數(shù);若判定為動態(tài)抖動,則采用高斯權(quán)值的均值濾波對得到的運動矢量進(jìn)行平滑,并利用濾波后的運動矢量對當(dāng)前幀進(jìn)行仿射變換,得到穩(wěn)定的視頻。
(5)幀間運動方向識別,若連續(xù)F1幀的幀間水平方向運動矢量x、垂直方向運動矢量y均為正(負(fù)),則對幀間運動方向值P1(N1)計數(shù)。
(6)瞬時主運動方向識別,若連續(xù)F2幀的幀間運動方向均為正(負(fù)),則對瞬時主運動方向值P2(N2)進(jìn)行計數(shù),若P2與N2之差大于預(yù)先設(shè)定的閾值T2,則存在瞬時主運動方向M1(其值1為正,-1為負(fù));若P2與N2之差小于預(yù)先設(shè)定的閾值T2,則不存在瞬時主運動方向M1(其值設(shè)為0)。
(7)主運動方向識別,若連續(xù)F3幀的瞬時主運動方向都為正(負(fù)),則對瞬時主運動方向值P3(N3)進(jìn)行計數(shù),若P3與N3之差大于預(yù)先設(shè)定的閾值T3,則存在主運動方向M(其值1為正,-1為負(fù));若P2與N3之差小于預(yù)先設(shè)定的閾值T3,則不存在主運動方向M(其值設(shè)為0),識別出靜態(tài)拍攝和運動拍攝的相互切換。
(8)運動狀態(tài)識別,若能夠識別出主運動方向,則判定當(dāng)前運動狀態(tài)為運動拍攝;若無法識別主運動方向,則判定當(dāng)前運動狀態(tài)為靜態(tài)拍攝,采用固定幀補償。
3 實驗分析
本算法在Visual Studio 2010平臺基于OpenCV3.0 beta的C++語言開發(fā)算法,實驗平臺為Inter(R) Core(TM) i7-4790CPU @3.60 GHz,RAM 16 GB。采用11個視頻進(jìn)行算法的實驗驗證,各視頻縮略圖如圖4所示,編號1~4視頻為仿真視頻,編號5~11視頻為真實架空輸電線路巡視視頻,其中5~9為可見光視頻,10~11為紅外視頻。
視頻1和視頻2是仿真靜態(tài)拍攝視頻,生成方法是對靜態(tài)圖像加入隨機抖動量生成多幀圖像,并將多幀圖像合成仿真視頻,視頻的抖動量和方向已知,可用于評價穩(wěn)像精度和統(tǒng)計抖動判斷誤差。
通過計算估計抖動量和真實抖動量的均方根誤差RMSE(Root Mean Square Error)評價穩(wěn)像精度。RMSE定義如下:
式中:(xi, yi)和(Xi, Yi)分別為視頻第i幀與第i+1幀之間的估計補償量和真實抖動量;N為視頻總幀數(shù)。
抖動判斷設(shè)置抖動量閾值的絕對值為0.5像素,即估計抖動量的絕對值大于0.5像素時判定為抖動。以視頻1的71~90幀為例,其幀間的真實抖動量、估計抖動量和抖動判斷結(jié)果見表1所列。
視頻3和視頻4是仿真動態(tài)拍攝視頻,生成方法是對平滑視頻加入具有一定方向性的隨機抖動量合成仿真視頻,視頻的抖動方向已知,可用于統(tǒng)計抖動判斷誤差。仿真視頻穩(wěn)像處理結(jié)果見表2所列,抖動判斷精度平均值為91%,抖動量估計的均方根誤差的平均值為0.024(像素),表明穩(wěn)像精度達(dá)到亞像素級。
真實巡視視頻穩(wěn)像處理過程中,為表示穩(wěn)像算法對標(biāo)清視頻的處理時間效率,將視頻分辨率統(tǒng)一轉(zhuǎn)換為720×576,對各視頻處理的時間效率匯總見表3所列,平均每幀處理時間為39 ms,處理幀率為25 f/s,與原視頻幀率相同,因此本電子穩(wěn)像算法可以滿足標(biāo)清可見光視頻和紅外視頻的實時處理要求。
圖5所示為紅外視頻10的原始視頻幀和穩(wěn)像后視頻幀的對比情況,自左向右、自上而下分別為第35,46,55,62,75,90幀。
將本算法與基于GFTT特征點的電子穩(wěn)像算法(GFTT法)和基于BRISK特征點的電子穩(wěn)像算法(BRISK法)進(jìn)行效果對比(除特征點提取方法不同外,其余計算步驟流程均相同)。見表4所列,對于仿真視頻的實驗表明,三種算法抖動判斷準(zhǔn)確度都達(dá)到90%,同時,在穩(wěn)像精度上本算法與GFTT法和BRISK法相近。如圖6所示,對真實巡視視頻的平均每幀處理時間進(jìn)行對比,結(jié)果表明本算法與其他兩種算法相比具有較高的時間效率。
4 結(jié) 語
本論文提出了基于運動初判、運動估計以及運動補償?shù)燃夹g(shù)的直升機巡視光電吊艙去抖增穩(wěn)算法。通過理論證明和實踐分析,可得出如下結(jié)論。
(1)本文提出的優(yōu)化算法主要采用ORB特征點結(jié)合光流法進(jìn)行運動估計,可以達(dá)到亞像素級精度,提高電子穩(wěn)像的準(zhǔn)確性和實時性。
(2)在算法的應(yīng)用過程中,采用初始運動估計參數(shù)進(jìn)行初始運動狀態(tài)的判斷,避免采用默認(rèn)初始值的單一性,提高了電子穩(wěn)像運動補償?shù)闹悄苄?采用主運動方向識別法進(jìn)行包含復(fù)雜運動的連續(xù)視頻的幀抖動判斷、運動補償參數(shù)確定、運動狀態(tài)確定,并能夠識別靜態(tài)拍攝和運動拍攝的相互切換,提高電子穩(wěn)像的運動補償智能性和實時性。
參考文獻(xiàn)
[1]于德明,沈建,汪駿,等.直升機與人工巡視效果對比分析[J].中國電力,2008,41(11):25-28.
[2]徐云鵬,毛強,李庭堅.輸電線路機巡與人巡效果對比及協(xié)同巡檢建議[J].南方電網(wǎng)技術(shù),2016,10(2):44-47.
[3] YU Jun,WANG Zengfu. Video stabilization based on empirical mode decomposition and several evaluation criterions [J]. Journal of Zhejiang University:engineering science,2014,48(3):23-429.
[4]吳威,許廷發(fā),王亞偉,等.高精度全景補償電子穩(wěn)像[J].中國光
學(xué),2013,6(3):378-385.
[5]楊冬冬,張曉林,李嘉茂.基于局部與全局優(yōu)化的雙目視覺里程計算法[J].計算機工程,2018,44(1):1-8.
[6]張娜,魏海平,于紅緋.一種融合特征點與運動補償信息的運動目標(biāo)檢測新算法[J].計算機應(yīng)用與軟件,2017,34(11):210-216.
[7]成春陽,張靜亞.基于多尺度角點的改進(jìn)SIFT算法[J].計算機應(yīng)用與軟件,2017,34(7):166-170.
[8]李英,李靜宇,徐正平.結(jié)合SURF與聚類分析方法實現(xiàn)運動目標(biāo)的快速跟蹤[J].液晶與顯示,2011,26(4):544-550.
[9]蔣建國,牛杰杰,齊美彬.基于SURF和軌跡濾波的旋轉(zhuǎn)視頻穩(wěn)像算法[J].儀器儀表學(xué)報,2014,35(3):550-557.
[10] LEUTENEGGER S,CHLI M,SIEGWART R Y. BRISK: Binary robust invariant scalable keypoints [C]//Proceedings of the 2011 IEEE International Conference on Computer Vision(ICCV),2012:1589-1596.
[11]范長軍,文凌艷,毛泉涌,等.結(jié)合單高斯與光流法的無人機運動目標(biāo)檢測[J].計算機系統(tǒng)應(yīng)用,2019,28(2):184-189.
[12]程德強,郭政,劉潔,等.一種基于改進(jìn)光流法的電子穩(wěn)像算法
[J].煤炭學(xué)報,2015,40(3):707-712.
[13]周凱汀,鄭力新.基于改進(jìn)ORB特征的多姿態(tài)人臉識別[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2015,27(2):287-295.
[14]李小紅,謝成明,賈易臻,等.基于ORB特征的快速目標(biāo)檢測算法[J].電子測量與儀器學(xué)報,2013,27(5):455-460.