周 勇, 楊學(xué)志, 臧宗迪, 王金誠, 吳克偉
(1.合肥工業(yè)大學(xué) 計(jì)算機(jī)與信息學(xué)院,安徽 合肥 230601; 2.工業(yè)安全與應(yīng)急技術(shù)安徽省重點(diǎn)實(shí)驗(yàn)室,安徽 合肥 230601; 3.合肥工業(yè)大學(xué) 軟件學(xué)院,安徽 合肥 230601)
物體的振動特征能夠反映該物體的某些本質(zhì)屬性。比如,橋梁等大型建筑的振動特征反映其結(jié)構(gòu)健康狀況[1-2],螺栓等連接件的振動參數(shù)反映出工廠設(shè)備的運(yùn)行狀態(tài)[3],人體呼吸的振動特征反映了人類的情緒和健康狀況[4]?;谝曈X的振動檢測方法具有便捷與低成本的優(yōu)勢,且能夠避免接觸式傳感器對目標(biāo)振動產(chǎn)生的干擾,受到國內(nèi)外學(xué)者的廣泛關(guān)注[5]。
視覺振動檢測系統(tǒng)利用相機(jī)捕捉目標(biāo)振動視頻,將三維圖像信號轉(zhuǎn)換為振動信號,進(jìn)而獲取振動頻率等參數(shù)。固定相機(jī)能夠完成小范圍、地面位置的目標(biāo)振動測量,然而對于橋梁等大型基礎(chǔ)設(shè)施的振動檢測,固定位置的視覺測量系統(tǒng)則難以實(shí)現(xiàn)。這種情況下,通常需要使用多個相機(jī)布置測點(diǎn),相機(jī)的部署位置、測量視角等都需要精確計(jì)算;此外,實(shí)際環(huán)境中某些位置并不適合架設(shè)相機(jī)。
無人機(jī)技術(shù)的發(fā)展為這一問題提供了可能的解決方案,通過無人機(jī)搭載相機(jī)進(jìn)行拍攝,能夠克服相機(jī)部署位置的局限性。然而,無人機(jī)在飛行過程中受到氣流的影響會產(chǎn)生隨機(jī)晃動,造成所拍畫面不穩(wěn)定,無人機(jī)平臺的視覺振動檢測系統(tǒng)需要克服這一問題。
對于結(jié)構(gòu)的振動變化,近年來有研究將歐拉視角下的相位分析法應(yīng)用于振動檢測。文獻(xiàn)[6-7]將基于相位的運(yùn)動分析法與歐拉視角相結(jié)合,實(shí)現(xiàn)了全場運(yùn)動估計(jì)。圖像的相位信息相對于亮度信息,對環(huán)境光照變化和圖像噪聲表現(xiàn)出更高的魯棒性。文獻(xiàn)[8-9]使用基于相位的振動提取方法,通過高速攝像機(jī)測量懸臂梁、金屬桿以及民用基礎(chǔ)設(shè)施的微小振動,并開展大量的實(shí)驗(yàn)驗(yàn)證了該方法的可行性;文獻(xiàn)[10]采用基于相位的振動信號提取算法測量了金屬桿等材料的模態(tài)頻率;文獻(xiàn)[11]使用基于相位的運(yùn)動估計(jì)和放大方法測量了風(fēng)力機(jī)葉片的諧振頻率;文獻(xiàn)[12]在基于相位的運(yùn)動處理框架上實(shí)現(xiàn)目標(biāo)的振動模態(tài)分解,并在實(shí)驗(yàn)室搭建的小型建筑結(jié)構(gòu)上進(jìn)行了驗(yàn)證;文獻(xiàn)[13]對原有的相位振動檢測方法進(jìn)行了改進(jìn),簡化了振動波形的提取過程。然而,上述研究所提出的算法只適用于穩(wěn)定的相機(jī),當(dāng)應(yīng)用于無人機(jī)平臺時,會因氣流所引發(fā)的相機(jī)晃動而失效。
對于無人機(jī)平臺的振動檢測,有學(xué)者使用特征點(diǎn)追蹤的方式實(shí)現(xiàn)。文獻(xiàn)[14-15]利用無人機(jī)搭載相機(jī)拍攝實(shí)驗(yàn)室橋梁模型,檢測圖像特征點(diǎn)并求解運(yùn)動矩陣,進(jìn)而測量目標(biāo)的振動時程、頻率等參數(shù)。這兩項(xiàng)研究均假設(shè)圖像背景區(qū)域的運(yùn)動信號反映無人機(jī)晃動,并通過手動選取背景特征點(diǎn)提取干擾信號,完成運(yùn)動校正,從而準(zhǔn)確測量目標(biāo)振動。
但是,特征點(diǎn)追蹤的運(yùn)動分析方法本質(zhì)上基于亮度信號,對光照變化和圖像噪聲較為敏感;并且這兩項(xiàng)研究中,背景特征點(diǎn)依賴于手工選取,引入了很大的工作量。文獻(xiàn)[16]使用無人機(jī)捕捉地面人體的呼吸振動信號,首先對無人機(jī)所拍攝的視頻進(jìn)行穩(wěn)像處理后,然后通過基于相位的運(yùn)動信號提取方式完成呼吸振動檢測。然而,穩(wěn)像算法可能會抑制目標(biāo)振動信號本身,從而影響檢測結(jié)果的準(zhǔn)確性。
本文提出一種抗無人機(jī)晃動的視覺振動檢測算法。該算法基于局部相位的信號提取方式,利用晃動信號的全局性和目標(biāo)振動信號的局部性對信號進(jìn)行分離。首先根據(jù)像素點(diǎn)亮度變化劇烈程度實(shí)現(xiàn)目標(biāo)振動區(qū)域與背景區(qū)域的分離;其次對圖像的背景區(qū)域進(jìn)行特征點(diǎn)提取,并求解背景區(qū)域的運(yùn)動矩陣;然后對目標(biāo)區(qū)域進(jìn)行運(yùn)動矯正,去除其包含的背景信號分量,即晃動信號分量;然后提取目標(biāo)振動區(qū)域的局部相位序列,構(gòu)建振動信號,并檢測其振動頻率。實(shí)驗(yàn)結(jié)果表明,該算法能夠有效去除無人機(jī)晃動干擾,實(shí)現(xiàn)無人機(jī)在晃動情況下的振動檢測。
本文提出的無人機(jī)晃動下的視覺振動檢測算法以局部相位提取振動信號為基礎(chǔ),以相位的運(yùn)動信號提取方式處理振動信號,根據(jù)振動區(qū)域亮度變化更為劇烈這一特征,定位出振動區(qū)域;然后對圖像背景區(qū)域進(jìn)行特征點(diǎn)提取,得出背景點(diǎn)的運(yùn)動矩陣,即無人機(jī)在氣流等影響下產(chǎn)生的晃動信號的運(yùn)動矩陣,通過這個運(yùn)動矩陣對目標(biāo)區(qū)域進(jìn)行矯正,消除無人機(jī)晃動的影響;最后提取目標(biāo)區(qū)域的局部相位序列,構(gòu)建振動信號并檢測目標(biāo)區(qū)域的振動頻率。
本文所提算法的流程框圖如圖1所示,包括3個主要步驟:
圖1 本文算法流程
(1)振動目標(biāo)定位與分離;
(2)無人機(jī)晃動信號矯正;
(3)基于相位的振動信號提取。
分離目標(biāo)區(qū)域與背景區(qū)域,一方面是為了增強(qiáng)所提取振動信號的純凈度,另一方面是為了利用背景特征點(diǎn)對無人機(jī)晃動信號建模。像素點(diǎn)的位置變化可以與其亮度變化相對應(yīng),即圖像的運(yùn)動信息可以由其亮度信息來表示,因此本文根據(jù)像素點(diǎn)亮度變化特征識別目標(biāo)點(diǎn)與背景點(diǎn)。目標(biāo)像素點(diǎn)的運(yùn)動由目標(biāo)自身振動引起,而背景像素點(diǎn)的運(yùn)動則對應(yīng)無人機(jī)的晃動。本文做以下2個假設(shè):① 無人機(jī)自身的晃動信號,相比較于振動信號,在時間域上是線性的;② 振動信號包含高階運(yùn)動分量,不具備線性變化特征。
1.1.1 二階差分濾波
使用二階差分濾波的方式可實(shí)現(xiàn)振動點(diǎn)與背景點(diǎn)的分離。I表示視頻的第1幀圖像;(x,y)為圖像任意一點(diǎn)坐標(biāo);i(x,y,k)為視頻第k幀圖像(x,y)點(diǎn)所對應(yīng)的亮度信號,1≤k≤N,N為視頻總幀數(shù),則濾波后信號if(x,y,k)可表示為:
if(x,y,k)=i(x,y,k+2)-
2i(x,y,k+1)+i(x,y,k)
(1)
目標(biāo)點(diǎn)的亮度-時間序列通過該濾波器后,仍有較大的能量剩余;背景點(diǎn)的亮度-時間序列經(jīng)過二階差分濾波后則大幅衰減。
實(shí)驗(yàn)時選取的不同位置如圖2所示,圖2中:A點(diǎn)代表振動區(qū)域的點(diǎn);B、C點(diǎn)代表非振動區(qū)域的點(diǎn)。A、B、C3點(diǎn)的亮度序列(intensity sequence,IS)及其濾波后信號的亮度序列(IS-Filtered)如圖3所示。由圖3a、圖3b可知,A點(diǎn)在濾波前由振動信號與無人機(jī)晃動信號的疊加,在亮度上變化比較明顯,亮度-時間序列變化比較劇烈,在經(jīng)過二階差分濾波后還存在大量的能量殘余。由圖3c、圖3d可知,B點(diǎn)只有無人機(jī)晃動信號,因此B點(diǎn)屬于平坦區(qū)域,B點(diǎn)的亮度-時間序列趨于一個常量,并且變化并不明顯,經(jīng)過二階差分濾波之后可以看出幾乎沒有能量殘余。由圖3e、圖3f可知,C點(diǎn)處于導(dǎo)線邊緣,在只有無人機(jī)晃動的信號下才會有亮度變化的較大波動。
圖2 振動區(qū)域與非振動區(qū)域
圖3 3點(diǎn)濾波前后亮度序列
從圖3e、圖3f還可以看出,通過二階差分濾波器的亮度-序列趨于0,由此可知,二階差分濾波對于濾除線性運(yùn)動,找尋有振動的區(qū)域是有效的。
1.1.2 基于能量的目標(biāo)分離
在對圖像進(jìn)行二階差分濾波后,用ef(x,y)表示某一位置(x,y)處濾波后亮度信號的能量大小,則有:
(2)
根據(jù)整幅圖像濾波之后的能量大小,構(gòu)造振動能量矩陣E:
(3)
矩陣E表示圖像中每個位置所含振動信號的強(qiáng)弱,然后以σ為閾值實(shí)現(xiàn)ef(x,y)的二值化:
EBW(x,y)=f(ef(x,y))=
(4)
通過(4)式實(shí)現(xiàn)矩陣E的二值化EBW=f(E)。σ的選取依賴于經(jīng)驗(yàn),一般取σ=0.2 max(ef(x,y)。
完成以上操作后,二值圖像中可能包含振動信號的點(diǎn)會被置1,背景點(diǎn)則會被置0。采用圖像形態(tài)學(xué)操作,去除EBW中面積過小的連通區(qū)域,得到修飾后的振動能量矩陣EBW′。一方面由于在視頻畫面存在晃動時,振動目標(biāo)通常會掃過一塊較大的面積,另一方面為了便于后續(xù)處理,將EBW′的非零區(qū)域擴(kuò)展為小矩形塊,從而得到表征振動目標(biāo)的模板矩陣M。將模板矩陣M與視頻的每幀圖像I相乘即可分離出目標(biāo)振動區(qū)域與背景區(qū)域。具體如圖4所示。
圖4 振動目標(biāo)定位
無人機(jī)晃動引發(fā)圖像背景產(chǎn)生整體運(yùn)動。對圖像背景區(qū)域進(jìn)行運(yùn)動特征的分析則能夠?qū)崿F(xiàn)對無人機(jī)晃動信號的估計(jì),處理過程使用角點(diǎn)檢測算法(features from accelerated segment test,FAST)[17]與特征點(diǎn)提取算法(fast retina keypoint,FREAK)[18]算法實(shí)現(xiàn)背景區(qū)域特征點(diǎn)的檢測和匹配,通過采樣一致估計(jì)(m-estimate sample consensus,MSAC)[19]剔除誤匹配點(diǎn)。完成全局運(yùn)動模型的建立并構(gòu)建得到仿射變換矩陣,然后對目標(biāo)區(qū)域進(jìn)行矯正。具體實(shí)現(xiàn)方法如下。
1.2.1 特征點(diǎn)提取
根據(jù)目標(biāo)點(diǎn)與周圍點(diǎn)的灰度差來確定特征點(diǎn),FAST算法步驟如下:① 從圖片中選取一個目標(biāo)像素點(diǎn)p,設(shè)其像素值為Ip;② 設(shè)定一個合適的閾值t;③ 選取16個以目標(biāo)像素點(diǎn)p為中心,半徑為3的像素點(diǎn),像素值分別記為Ij,j=1,2,…,16;④ 滿足判決函數(shù)有連續(xù)的9個像素點(diǎn)的那個像素點(diǎn)即為角點(diǎn)。判決函數(shù)為:
S=|I-Ij|>t
(5)
1.2.2 特征描述與匹配
(6)
(7)
在特征描述中,得到了512 bit的二進(jìn)制描述符,該描述符的列是方差由高到低的排列,高方差表征模糊信息,低方差表征細(xì)節(jié)信息。因此,選取前128 bit(即16字節(jié))進(jìn)行匹配,若2個待匹配的特征點(diǎn)前16字節(jié)距離小于設(shè)定的閾值,則再用剩余的比特位進(jìn)行匹配。最終得到視頻任意兩幀圖像之間的匹配點(diǎn)集。
1.2.3 矯正目標(biāo)區(qū)域
完成背景區(qū)域的特征點(diǎn)檢測和匹配后,使用MSAC算法[19]完成全局運(yùn)動模型的建立。MSAC可以自動判斷出正確的匹配點(diǎn)對(內(nèi)點(diǎn)),剔除誤匹配(外點(diǎn)),并且計(jì)算出第1幅圖像的所有特征點(diǎn)映射到第2幅圖像的運(yùn)動模型。該模型由如下一個3×3的矩陣描述,即
(8)
其中:(tx,ty)為平移量;am(m=1,2,3,4)為控制圖像的旋轉(zhuǎn)和縮放。為了簡化計(jì)算,使用以下只有1個參數(shù)的變換矩陣來代替仿射變換矩陣:
(9)
對Hi求逆,可以消除兩幀圖像之間背景區(qū)域的整體運(yùn)動。用Gk表示第1幀圖像背景區(qū)域和第k幀圖像背景區(qū)域之間的映射關(guān)系,則Gk可以由上述幀與幀之間的變換矩陣Hi累積表示如下:
(10)
所求Gk描述了背景區(qū)域的運(yùn)動,即實(shí)現(xiàn)了無人機(jī)晃動信號的估計(jì)。Gk可用來對目標(biāo)振動區(qū)域進(jìn)行校正,去除其包含的無人機(jī)晃動分量,保留振動分量。設(shè)Ok表示第k幀目標(biāo)振動區(qū)域,(xk,yk)為其任意一點(diǎn),(xk,yk)∈Ok,T表示校正變換,則有:
(11)
其中,(xk′,yk′)為校正后的點(diǎn)坐標(biāo)。將目標(biāo)區(qū)域的所有點(diǎn)完成校正,得到Ok′=T(Ok)。
完成對目標(biāo)區(qū)域晃動信號矯正后,需要提取振動信號,提取流程如圖1所示。首先在空間上,使用復(fù)數(shù)可控濾波器組對視頻的每一幀進(jìn)行不同尺度、不同方向的子帶分解,獲取到相位變化序列;然后在時域上濾除相位序列的直流分量,濾波后的相位序列即為目標(biāo)振動信號;對振動信號進(jìn)行傅里葉變換,檢測其幅頻響應(yīng)函數(shù)峰值,即可得到振動頻率,算法原理如下。
傅里葉變換獲取到的空間全局相位與圖像的整體運(yùn)動相關(guān),與之類似,空間局部相位可以用來計(jì)算局部運(yùn)動。復(fù)可控金字塔(complex steerable pyramid,CSP)可以實(shí)現(xiàn)空間局部相位的提取。本文以一維全局傅里葉基為例說明振動與相位之間的關(guān)系,用f(x)表示位置x處的圖像亮度,進(jìn)行傅里葉級數(shù)展開,ω表示每個子帶的空間頻率,則有:
(12)
用v(t)表示振動引發(fā)的位置變化,則有:
(13)
其中每個子帶可以表示為:
Sω(x,t)=Aωeiω(x+v(t))
(14)
由于每個子帶都是復(fù)指數(shù)函數(shù),相位ω(x+v(t))含有運(yùn)動信息。濾除其直流分量,得到相位變化信號Vω(x,t)=ωv(t),Vω(x,t)為位置x處的振動信號。
復(fù)可控金字塔可以將視頻的每一幀亮度信號分解為不同尺度、不同方向的局部相位,這些處理后的局部相位信號可提取出視頻中的目標(biāo)振動。用Cλ,θ表示某一空間尺度λ、某一方向θ的復(fù)可控濾波器,則有:
A(x,y,k)eiφ(x,y,k)=Cλ,θ(x,y)?T(Ok(x,y))
(15)
其中:A(x,y,k)為復(fù)可控濾波得到的局部幅值;φ(x,y,k)為復(fù)可控濾波得到的局部相位。濾除φ(x,y,k)的直流分量,即可得到振動信號V(x,y,k)。經(jīng)傅里葉處理后,可得峰值振動頻率f為:
f=maxA(f)FFTk(V(x,y,k))
(16)
其中:A(f)為變換后得到的幅度求最大值;FFTk表示對變量k(即時間)做傅里葉變換。
實(shí)驗(yàn)系統(tǒng)由1臺DJI Mavic Air 2無人機(jī)、1臺SA-SG030掃頻信號發(fā)生器和1臺SA-JZ002模態(tài)激振器組成。使用信號發(fā)生器模擬真實(shí)場景中電機(jī)等設(shè)備的不同振動頻率,使用無人機(jī)在不同晃動幅度下拍攝激振器視頻,測量激振器頂端桿的振動頻率。無人機(jī)所拍視頻的分辨率為1 080 像素×1 920 像素,幀率為60 幀/s。通過手動操縱遙控桿可使無人機(jī)產(chǎn)生3種不同幅度(小幅、中幅、大幅)的晃動,其中小幅晃動由無人機(jī)靜止拍攝產(chǎn)生。
使用無人機(jī)拍攝激振器振動視頻,拍攝時長為10 s。計(jì)算多個特征點(diǎn)在不同幀的坐標(biāo)間的歐式距離,選擇最大距離作為無人機(jī)晃動幅度的估計(jì)。按照無人機(jī)晃動程度的不同將實(shí)驗(yàn)視頻分為3組:組別1(晃動幅度0~30 像素)、組別2(晃動幅度30~60 像素)、組別3(晃動幅度60~90 像素)。激振器的振動頻率可通過信號發(fā)生器調(diào)節(jié),將激振器頻率分別設(shè)置為5.2、10.2、15.2 Hz,每個頻率點(diǎn)拍攝10段視頻,一共采90段視頻作為實(shí)驗(yàn)數(shù)據(jù)集。實(shí)驗(yàn)場景如圖5所示。
圖5 實(shí)驗(yàn)場景
(1)平均絕對誤差Me,用來反映所測頻率與真實(shí)頻率的絕對誤差平均值,計(jì)算公式為:
(17)
(2)均方誤差RMSE,用來反映在多次測量結(jié)果中,檢測頻率偏離真實(shí)頻率的程度,計(jì)算公式為:
(18)
2.3.1 驗(yàn)證實(shí)驗(yàn)
本文使用對真實(shí)頻率為10.2 Hz的激振器進(jìn)行頻率檢測,從不同晃動幅度的3組視頻中各選取1段視頻進(jìn)行處理,生成的頻譜圖如圖6所示。
圖6 不同晃動幅度檢測頻譜對比
從圖6可以看出,組別1測得的峰值頻率為10.2 Hz,組別2為10.3 Hz,組別3為9.9 Hz。結(jié)果表明,本文算法在不同晃動幅度下均能準(zhǔn)確測得振動信號,當(dāng)晃動幅度增大時,誤差相應(yīng)增大。為了進(jìn)一步驗(yàn)證本文算法的檢測效果,計(jì)算3種晃動幅度、3種振動頻率下的平均絕對誤差和均方誤差,對采集的全部90段視頻進(jìn)行頻率檢測,結(jié)果見表1所列。
表1 本文算法檢測結(jié)果
由表1可知本文算法的平均絕對誤差控制在0.2 Hz以內(nèi),均方誤差不超過0.22 Hz。
2.3.2 對比實(shí)驗(yàn)
將本文算法與文獻(xiàn)[13]使用的相位檢測算法、文獻(xiàn)[15]使用的特征點(diǎn)追蹤算法、文獻(xiàn)[16]使用的穩(wěn)像后相位提取算法進(jìn)行頻率檢測對比。組別1中振動頻率為10.2 Hz的視頻在各方法下的頻率檢測結(jié)果如圖7所示。從圖7可以看出,文獻(xiàn)[13]、文獻(xiàn)[15]、文獻(xiàn)[16]算法的峰值頻率分別對應(yīng)0.3、10.6、8.9 Hz,而本文算法檢測結(jié)果為10.2 Hz。相比于本文算法,其他3種算法都存在較大誤差。由該組實(shí)驗(yàn)可以看出,本文算法能夠有效去除無人機(jī)晃動干擾,準(zhǔn)確提取出視頻中的振動信號,相比于其他算法的檢測結(jié)果,本文算法的誤差更小。為了進(jìn)一步對比上述算法的檢測效果,對采集的全部90段視頻進(jìn)行頻率檢測,檢測結(jié)果見表2~表4所列。
圖7 10.2 Hz下不同算法頻率檢測對比
表2 0~30像素晃動下檢測結(jié)果
表3 30~60 像素晃動下檢測結(jié)果
表4 60~90像素晃動下檢測結(jié)果
從表2~表4可以看出,對比文獻(xiàn)[13]、文獻(xiàn)[15]、文獻(xiàn)[16]算法,分別在5.2、10.2、15.2 Hz下對應(yīng)3個不同幅度無人機(jī)晃動的檢測結(jié)果,發(fā)現(xiàn)本文算法均優(yōu)于另外3種算法。
2.3.3 實(shí)驗(yàn)分析
本實(shí)驗(yàn)對本文算法與文獻(xiàn)[13]、文獻(xiàn)[15]、文獻(xiàn)[16]3種算法進(jìn)行準(zhǔn)確性分析,結(jié)果見表5所列。
表5 準(zhǔn)確性分析
從表5可以看出,本文算法取得了最佳的檢測效果,分組平均絕對誤差和均方誤差均保持在0.2 Hz的范圍內(nèi),總體平均絕對誤差為0.132;文獻(xiàn)[15]算法檢測性能次之,總體平均絕對誤差0.343;文獻(xiàn)[16]算法整體檢測性能欠佳,總體平均絕對誤差超過了1;而文獻(xiàn)[13]算法整體誤差過大,超過了可接受的范圍,因此可判定該算法對于無人機(jī)晃動下的振動檢測失效。
原因在于:文獻(xiàn)[13]不加區(qū)分地將全場運(yùn)動信號轉(zhuǎn)化為相位信息,未處理相機(jī)晃動,引入了大量低頻干擾,導(dǎo)致目標(biāo)振動信號被湮沒;文獻(xiàn)[15]算法通過手動選定背景特征點(diǎn)實(shí)現(xiàn)運(yùn)動矯正,保留了振動信號,但由于其采用基于亮度特征的振動提取方式,因而其振動檢測準(zhǔn)確性上低于本文的相位檢測法;文獻(xiàn)[16]算法雖然針對無人機(jī)引發(fā)的相機(jī)晃動進(jìn)行了穩(wěn)像處理,但是由于其未區(qū)分目標(biāo)振動信號和晃動信號,從而導(dǎo)致振動信號產(chǎn)生了畸變。
本文算法實(shí)現(xiàn)了振動和背景區(qū)域的分離,以背景區(qū)域的特征點(diǎn)完成對無人機(jī)運(yùn)動矩陣的求解,從而去除振動區(qū)域的晃動干擾,準(zhǔn)確提取出了目標(biāo)振動視頻中的待測振動信號。
在不同晃動幅度下將本文算法與其他3種算法的平均絕對誤差進(jìn)行對比,見表6所列。從表6可以看出:對于文獻(xiàn)[15]、文獻(xiàn)[16]以及本文算法,隨著無人機(jī)晃動幅度的增大,3種算法的頻率檢測誤差均明顯增大;文獻(xiàn)[15]采用特征點(diǎn)追蹤框架,當(dāng)晃動增大時,其特征點(diǎn)匹配錯誤的可能性增加,造成性能下降;文獻(xiàn)[16]使用穩(wěn)像算法對視頻進(jìn)行處理后,再進(jìn)行基于相位的振動檢測,由于視頻穩(wěn)像依賴特征點(diǎn)匹配,因而晃動幅度增加會影響其穩(wěn)像預(yù)處理的性能,進(jìn)而降低頻率檢測準(zhǔn)確率。
表6 3種晃動幅度下平均絕對誤差分析 單位:Hz
對于本文算法,由于無人機(jī)運(yùn)動矩陣的求解同樣依賴特征點(diǎn)匹配,檢測準(zhǔn)確率必然隨著晃動幅度的增大而降低。
在不同頻率下將本文算法與其他3種算法的平均絕對誤差進(jìn)行對比,結(jié)果見表7所列。
表7 不同振動頻率下平均絕對誤差分析 單位:Hz
由表7可知,由于文獻(xiàn)[13]算法在實(shí)驗(yàn)場景下已基本失效,因此不做進(jìn)一步分析;文獻(xiàn)[15]算法和本文算法在不同振動頻率下的檢測性能無明顯差別;而文獻(xiàn)[16]算法則在測量高頻信號時,準(zhǔn)確率明顯降低。原因在于:文獻(xiàn)[16]算法基于視頻的全局穩(wěn)像,穩(wěn)像過程會去除劇烈變化信號,保留圖像序列的平滑運(yùn)動,如果目標(biāo)的振動頻率較高,那么算法可能會對目標(biāo)本身的振動產(chǎn)生抑制效果,進(jìn)而影響頻率檢測的準(zhǔn)確性;文獻(xiàn)[15]算法通過人工選擇背景特征點(diǎn)實(shí)現(xiàn)晃動信號的估計(jì);本文算法則在自動分離背景區(qū)域和振動區(qū)域的基礎(chǔ)上,使用背景區(qū)域的特征點(diǎn)求解無人機(jī)運(yùn)動矩陣。因此這2種算法均不會對目標(biāo)本身的振動產(chǎn)生影響。
2.3.4 算法時間復(fù)雜度分析
將本文算法時間復(fù)雜度與文獻(xiàn)[13]、文獻(xiàn)[15]、文獻(xiàn)[16]算法時間復(fù)雜度進(jìn)行對比分析,結(jié)果見表8所列,視頻每幀分辨率為1 080像素×1 920 像素,每個視頻總共為600幀,使用5個不同的視頻進(jìn)行實(shí)驗(yàn)。
從表8可以看出,本文算法的時間復(fù)雜度優(yōu)于文獻(xiàn)[13]、文獻(xiàn)[16],但比文獻(xiàn)[15]更耗時。這是由于文獻(xiàn)[13]使用的是全局相位檢測算法,由于對視頻每幀整體進(jìn)行計(jì)算,本文算法在矯正分離后只對振動區(qū)域進(jìn)行相位檢測算法,只計(jì)算每一幀部分位置,因而本文算法耗時更少。
表8 不同算法時間性能分析 單位:s
對比文獻(xiàn)[15]采用特征點(diǎn)追蹤算法,在算法的時間復(fù)雜度上比本文算法更優(yōu)。文獻(xiàn)[16]采用全局穩(wěn)像再使用相位檢測算法,首先穩(wěn)像是針對全局進(jìn)行,而本文算法的矯正只針對目標(biāo)區(qū)域,在這一階段本文的算法就會耗時更少。而且文獻(xiàn)[16]在使用穩(wěn)像算法之后再進(jìn)行全局的相位檢測算法,整體來看,本文算法的時間復(fù)雜度明顯優(yōu)于文獻(xiàn)[16]。
本文提出了一種抗無人機(jī)晃動的視覺振動檢測算法,該算法利用目標(biāo)物體的振動特征,從視頻中分離出振動目標(biāo)和背景區(qū)域,利用背景區(qū)域計(jì)算出無人機(jī)在氣流擾動下晃動的運(yùn)動矩陣,利用得到的運(yùn)動矩陣實(shí)現(xiàn)對目標(biāo)區(qū)域里疊加的無人機(jī)晃動信號進(jìn)行矯正,得到較為純凈的振動信號,然后通過復(fù)可控濾波器提取振動信號的相位序列,檢測其振動頻率。
在真實(shí)使用場景中,振動目標(biāo)不一定總能夠保持在拍攝畫面內(nèi),當(dāng)無人機(jī)晃動幅度過大時,目標(biāo)可能會短暫的丟失在視頻幀中,這會影響到本文算法的準(zhǔn)確性。
在未來的工作中,將針對更大幅度的無人機(jī)晃動以及更為復(fù)雜的無人機(jī)測量場景開展研究,以拓寬本文算法的應(yīng)用范圍。