于坤林,司維釗
(長(zhǎng)沙航空職業(yè)技術(shù)學(xué)院,湖南長(zhǎng)沙,410124)
機(jī)器視覺的障礙物檢測(cè)是指利用攝像機(jī)代替人眼捕獲客觀事物信息,通過相關(guān)視覺圖像處理算法獲取事物的輪廓、深度、位置等信息為避障提供依據(jù)。植保無人機(jī)作業(yè)時(shí)會(huì)遇到建筑物、樹木、電線桿等障礙物。因此研究基于機(jī)器視覺的植保無人機(jī)障礙物檢測(cè)技術(shù)具有重要的應(yīng)用價(jià)值。
該方法是采用單個(gè)攝像頭進(jìn)行連續(xù)圖像拍攝,通過計(jì)算前后兩幀圖像的特征區(qū)域或像素變化來獲取物體的運(yùn)動(dòng)信息以及判斷物體的遠(yuǎn)近程度[1]。缺點(diǎn)是無法直接測(cè)量距離,優(yōu)點(diǎn)是計(jì)算量小、成本低。
該方法是利用兩個(gè)攝像頭從不同的角度來進(jìn)行拍攝,根據(jù)視圖差異和幾何關(guān)系可以得到周圍環(huán)境的三維信息[2]。缺點(diǎn)是計(jì)算量大,優(yōu)點(diǎn)是獲取的空間信息更加精確。
當(dāng)植保無人機(jī)飛行方向上有障礙物時(shí),就首先激活視覺傳感器對(duì)障礙物進(jìn)行圖像采集、然后圖像處理模塊對(duì)障礙物圖像進(jìn)行灰度變化、圖像增強(qiáng)、圖像濾波等預(yù)處理,再對(duì)圖像進(jìn)行特征提取與匹配,最后對(duì)障礙物進(jìn)行識(shí)別,采用障礙物避障策略進(jìn)行避障。整個(gè)障礙物檢測(cè)流程如圖1所示。
圖1 基于機(jī)器視覺的植保無人機(jī)障礙物檢測(cè)算法流程
圖像預(yù)處理包括灰度化處理、圖像增強(qiáng)、圖像濾波等。這里以樹木作為障礙物,樹木圖像預(yù)處理實(shí)驗(yàn)如圖2所示。
圖2 障礙物圖像預(yù)處理
3.2.1 特征提取與匹配簡(jiǎn)介
機(jī)器視覺中兩個(gè)重要的技術(shù)是特征點(diǎn)提取和匹配,通過對(duì)機(jī)器視覺圖像進(jìn)行特征點(diǎn)提取與匹配,可以從中提取出障礙物信息,因此圖像特征提取與匹配是植保無人機(jī)障礙物檢測(cè)的關(guān)鍵技術(shù)。
3.2.2 Harris算法分析
以圖像中任一像素為中心,在該中心點(diǎn)設(shè)定測(cè)試窗口并沿各個(gè)方向進(jìn)行微小移動(dòng),計(jì)算窗口內(nèi)的平均灰度變化。如果灰度變化值大于設(shè)定的閾值,則窗口中的中心像素點(diǎn)被認(rèn)為是角點(diǎn)[3]。
Harris角點(diǎn)檢測(cè)公式如下:
式中:E(x,y)為窗口內(nèi)的圖像灰度變化值,Wu,v是在(u,v)處的系數(shù),I(x+u,y+v)為窗口平移后的灰度值,I(x,y)為原始圖像灰度值。
3.2.3 SURF算法分析
3.2.3.1 提取特征點(diǎn)
SURF 算法[4]采用Hessian矩陣行列式來檢測(cè)特征點(diǎn),每一個(gè)像素點(diǎn)都可以求出一個(gè)Hessian矩陣:
式中,Lxx,Lxy和Lyy是點(diǎn)(x,y)分別與高斯函數(shù)二階偏導(dǎo)卷積的結(jié)果。
為了提升運(yùn)算速度, 使用盒式濾波器來代替高斯濾波器,卷積運(yùn)算后的值分別為Dxx、Dyy、Dxy,其公式如下:
式中,w為權(quán)重系數(shù)。
3.2.3.2 確定特征點(diǎn)方向
為了確保旋轉(zhuǎn)不變性,SURF算法在特征點(diǎn)區(qū)域范圍內(nèi)統(tǒng)計(jì)harr小波,計(jì)算半徑為6S(S為尺度因子)60度扇形內(nèi)所有特征點(diǎn)的水平和垂直Haar小波特征總和。
3.2.3.3 構(gòu)建特征描述子
以特征點(diǎn)為中心,構(gòu)建中心點(diǎn)在特征興趣點(diǎn)上的正方形區(qū)域,將該區(qū)域分為4X4個(gè)子區(qū)域,每個(gè)子區(qū)域統(tǒng)計(jì)5X5個(gè)像素的水平方向和垂直方向的harr小波特征。每個(gè)子區(qū)域得到4維的強(qiáng)度結(jié)構(gòu)描述向量,一共得到64維特征向量。
3.2.3.4 特征點(diǎn)匹配
SURF是通過計(jì)算兩個(gè)特征點(diǎn)之間的歐式距離進(jìn)行匹配,兩個(gè)特征點(diǎn)之間的歐氏距離越短, 代表兩個(gè)特征點(diǎn)的匹配度越好。
3.2.4 特征提取與匹配仿真實(shí)驗(yàn)
3.2.4.1 Harris算法的障礙物圖像特征點(diǎn)提取與匹配仿真實(shí)驗(yàn)
Harris算法的障礙物圖像特征點(diǎn)檢測(cè)仿真實(shí)驗(yàn)分別如3(a)和圖3(b)所示,Harris算法的障礙物圖像特征點(diǎn)匹配仿真實(shí)驗(yàn)如3(c)所示。
圖3 Harris算法的障礙物圖像特征點(diǎn)提取與匹配仿真實(shí)驗(yàn)
3.2.4.2 SURF算法的障礙物圖像特征點(diǎn)檢測(cè)與匹配仿真實(shí)驗(yàn)
SURF算法的障礙物圖像特征點(diǎn)檢測(cè)仿真實(shí)驗(yàn)分別如4(a)和圖4(b)所示,SURF算法的障礙物圖像特征點(diǎn)匹配仿真實(shí)驗(yàn)如 4(c)所示。
圖4 Surf算法的障礙物圖像特征點(diǎn)提取與匹配仿真實(shí)驗(yàn)
3.2.4.3 實(shí)驗(yàn)分析
由實(shí)驗(yàn)可知:Harris算法的特征匹配時(shí)間為2.467829秒,SURF算法的匹配時(shí)間2.126343秒。
SURF算法的速度要快一些。對(duì)比圖3和圖4可以看出:SURF算法檢測(cè)到的圖像特征點(diǎn)數(shù)量要多一些且特征點(diǎn)匹配度高。
綜上所知,SURF算法具有檢測(cè)速度快,實(shí)時(shí)性好,且能夠檢測(cè)出大量的特征點(diǎn),圖像匹配度高等優(yōu)點(diǎn),該算法非常適合作為植保無人機(jī)障礙物圖像特征點(diǎn)的提取和匹配算法,因此可選用SURF算法來檢測(cè)植保無人機(jī)障礙物。
在本文中植保無人機(jī)避障是采用垂直避障和左右避障這兩種避障策略[5]。當(dāng)植保無人機(jī)作業(yè)中檢測(cè)到前方有障礙物時(shí),就要計(jì)算出障礙物高度,然后判斷無人機(jī)最大飛行高度是否大于障礙物高度。如果最大飛行高度大于障礙物高度,則啟動(dòng)垂直避障方式進(jìn)行避障。如果最大飛行高度小于障礙物高度,就啟動(dòng)左右避障方式,這時(shí)首先要計(jì)算無人機(jī)距離障礙物左右邊界的距離,當(dāng)距離障礙物左邊界較近時(shí),則從障礙物左側(cè)面繞過障礙物飛行,當(dāng)距離障礙物右邊界較近時(shí),則從障礙物右側(cè)面繞過障礙物飛行。
本文對(duì)基于機(jī)器視覺的植保無人機(jī)障礙物檢測(cè)算法進(jìn)行了分析和研究,并給出了Harris算法 和SURF算法的障礙物圖像特征點(diǎn)檢測(cè)與匹配仿真實(shí)驗(yàn)結(jié)果。從實(shí)驗(yàn)結(jié)果來看:SURF算法具有檢測(cè)速度快,實(shí)時(shí)性好,且能夠檢測(cè)出大量的特征點(diǎn),圖像匹配度高等優(yōu)點(diǎn),將SURF算法用于植保無人機(jī)障礙物的自動(dòng)檢測(cè),可以有效地提高檢測(cè)的效率和準(zhǔn)確率。