邱鵬瑞
(1. 昆明理工大學(xué) 國土資源工程學(xué)院, 昆明 650093; 2. 昆明冶金高等??茖W(xué)校, 昆明 650033)
光流是由于物體表面、邊界和物體本身在被觀察場景中與觀察者之間發(fā)生的相對運動而產(chǎn)生的表觀運動方式。光流理論問世于20世紀80年代,光流中包含了很多的結(jié)構(gòu)和運動信息,因此很多異常檢測、避障和運動物體跟蹤都能用到光流信息。光流是由三維空間中的點A=(X,Y,Z)在攝像機坐標(biāo)系下的旋轉(zhuǎn)和平移運動產(chǎn)生[5-6],如圖1所示。
圖1 計算光流的投影幾何
其中,O為攝像機坐標(biāo)原點,f為攝像機焦距,點A在圖像平面的投影a=(x,y),點A在方程中的時間導(dǎo)數(shù),為式(1)。
(1)
(2)
(3)
(4)
計算光流的技術(shù)主要基于塊匹配法,具體操作是把圖像序列里相鄰的圖像子塊進行匹配來對運動進行估計[8-9]。算法將圖像分成若干個子塊,相同子塊的像素運動均相同。按照物理學(xué)運動合成分解的法則,復(fù)雜的運動可以分解為若干簡單平移運動的和。塊匹配法原理就是將運動的物體視為多個或者一個平移運動剛體,其前提條件是在圖像場景中沒有大的遮擋物。假定有兩幀圖像,把第一幀圖像分為N*N或者N*M像素的子塊,在(N+2w)*(N+2w)的匹配窗口中把待處理塊同第一幀待處理塊進行對比,按照匹配標(biāo)準(zhǔn)來實現(xiàn)最佳匹配,確定處理的塊的替代位置。匹配標(biāo)準(zhǔn)采用均方差MSE和平均絕對值誤差MAE,其定義為式(5)、(6)。
(5)
(6)
式(5)、(6)中,i≥-w,j≤w。I1(m,n)是待處理的塊在第一幀圖像的(m,n)位置,I2(m+i,n+j)是待處理的塊在第二幀圖像的(m+i,n+j)位置。使用全搜索法對(N+2w)*(N+2w)窗口中的所有圖像計算最小匹配誤差子塊,對每個運動向量進行迭代搜索,次數(shù)為(N+2w)*(N+2w)次。由于采集的視頻圖像具有連續(xù)性,目標(biāo)運動范圍不會有大的躍遷,可以設(shè)置搜索范圍、搜索跨度和搜索塊大小。塊匹配方法具有較快的速度,但是精度受搜索環(huán)境影響,在具體應(yīng)用中,為了對光流進行有效計算,需要滿足采集圖像的亮度相對恒定的問題,物體表觀在實驗場景中照度發(fā)生變化時會產(chǎn)生運動的誤判。事實上,在物體相對靜止情況下,光源位置改變也會使得圖像傳感器檢測到陰影的運動。同時,圖像紋理豐富程度也是光流計算的重要條件[10-11]。
室內(nèi)飛行和定點懸停是四旋翼無人機在GPS信號缺失的情況下通過視覺傳感器完成的重要功能。本文自行搭建基于Pixhawk的四旋翼無人機光流硬件系統(tǒng)平臺,光流傳感器采用PX4FLOW,系統(tǒng)架構(gòu),如圖2所示。
對于大國,老子同樣以強弱的辯證關(guān)系切合自身的危機意識,通過謙遜處下的方式而不是以戰(zhàn)爭兼并天下領(lǐng)土與百姓的形式使小國歸附。 提供給小國生存空間,使別國認可并接受自身統(tǒng)治,達到“王天下”的實質(zhì)與目的。 在整體的層面上通過切合統(tǒng)治者危機意識,在適當(dāng)與平衡的思維和行為上達到認同與共存,從根本上消除或減弱社會的現(xiàn)存威脅。 例如:
圖2 系統(tǒng)架構(gòu)
Pixhawk是基于ARM芯片的開源自動駕駛儀,由改進的APM和PX4發(fā)展而來,能夠運用于直升機、固定翼無人機、多旋翼無人機、水下航行器等無人機,Pixhawk有與之相匹配的開源地面站QGroundControl進行地面控制。地面站能夠?qū)ο到y(tǒng)固件進行升級、修改,對控制參數(shù)進行設(shè)定,并完成與無人機的連接和控制功能[12]。本研究基于Pixhawk研發(fā)的無人機在各種環(huán)境進行試飛,存在飛行不穩(wěn)定,無法定點的情況,主要原因是采用塊匹配法進行光流定位時,自然光及周邊環(huán)境對塊匹配算法的影響較大,特別是在頻閃和弱光條件下導(dǎo)致視覺數(shù)據(jù)偏離理想值較多,因此對算法進行如下的改進。
視覺傳感器在采集數(shù)據(jù)階段不可避免受到周邊環(huán)境噪聲的影響,通過中值濾波對采集圖像數(shù)據(jù)進行預(yù)處理。具體步驟是把窗口中的像素點按照像素值的大小排序,對像素集取中間值并將其確定為中心點,然后進行濾波。以3*3大小的窗格舉例,將9個像素的像素值屬性進行排序,把確定的中值替換中心處的像素值。同時為了保障遍歷窗口中所有的點,將圖像的邊緣進行擴展,即把圖像原來的N*M擴大到(N+2)*(M+2),擴展后的區(qū)域邊緣值和頂點值為原來圖像的邊緣值和頂點值。中值濾波預(yù)處理的模式是非線性濾波,其把圖像數(shù)據(jù)中一個像素點的值用該點領(lǐng)域內(nèi)各點的中值代替,使得周圍噪聲像素接近真實值,從而對孤立噪聲點進行濾除。具體流程,如圖3所示。
圖3 中值濾波預(yù)處理流程圖
在無人機飛行過程中遇到的高亮度與低亮度光照交替出現(xiàn)時,將導(dǎo)致采集圖像數(shù)據(jù)產(chǎn)生較大誤差。本文采用對相鄰幀進行比例系數(shù)的設(shè)定,按照相鄰幀的像素值對比例系數(shù)更新的方法對圖像數(shù)據(jù)更新,消解誤差影響。如圖4所示。
210180150180160240170130220
(a) 高亮度幀
(b) 低亮度幀
(c) 漸進幀
圖4 比例判定示意圖
以3*3像素圖像為例,其中I,a為判定系數(shù),I通過高亮度圖像和低亮度圖像的各像素點值之和確定,a∈(0,1)。
使用塊匹配進行光流計算效率高且較為簡單,估算效果在固定環(huán)境中較好,但受到的限制也很明顯,在計算時必須先假定Ω領(lǐng)域內(nèi)各個像素點對應(yīng)光流恒定不變。如果領(lǐng)域內(nèi)存在不滿足約束方程的點,光流的估算將會受到很大影響。本文利用Hessian矩陣判斷領(lǐng)域內(nèi)的異常點并進行剔除。
對光流約束方程x,y求偏導(dǎo)得到公式(7),其中I為像素點t時刻的亮度,u、v分別為該點的光流x分量和光流y分量,如式(7—9)。
(7)
轉(zhuǎn)化為矩陣公式(8):
(8)
Hessian矩陣即為公式(9):
(9)
為驗證改進光流算法的具體效果,在無人機定點懸停時采用均方根誤差(Root Mean Square Error,RMSE)進行評價,即理想狀況下,地面站在無人機定點懸停時獲取光流數(shù)據(jù)與無人機運動一致,但在實際環(huán)境中會獲得非一致的數(shù)據(jù),以Pixel為單位,計算噪聲得到的均方根誤差越小則定點懸停效果越好。如公式(10)所示。
(10)
在自然光、弱光和頻閃光條件下基于Pixhawk系統(tǒng)架構(gòu)采用未改進的源碼進行真機飛行實驗,實驗操作控制四旋翼無人機定點懸停,并采集實驗數(shù)據(jù),采樣5次數(shù)據(jù)進行RMSE指標(biāo)計算。之后將改進后的算法源碼編譯后通過QGroundControl寫入固件,并進行相應(yīng)條件的懸停實驗和數(shù)據(jù)采集。四旋翼無人機飛行實景,如圖5所示。
通過實驗數(shù)據(jù)得出的RMSE,如表1所示。
通過實驗驗證,改進算法在自然光、弱光和頻閃光條件下能夠?qū)崿F(xiàn)更好的定位懸停效果。
(a) 自然光
(b) 弱光
(c) 頻閃光
圖5 四旋翼無人機飛行實景
本文基于Pixhawk開源飛控和PX4FLOW光流傳感器提出一種改進的光流算法,首先采用中值濾波預(yù)處理濾除部分光流噪聲,并采用相鄰幀比例判定削減頻閃光對光流數(shù)據(jù)的影響,然后通過Hessian矩陣閾值處理剔除異常點,最后將改進的光流算法通過地面站軟件QGroundControl上傳飛控并進行實驗。實驗結(jié)果表明,改進光流算法在自然光、弱光和頻閃光條件下能夠?qū)崿F(xiàn)更好的定位懸停效果,具有較強的魯棒性。