(海軍工程大學 武漢 430000)
無人機(Unmanned Aerial Vehicle,UAV)是一種典型的智能化無人平臺,要求具有極強的環(huán)境感知、航路規(guī)劃以及機動能力,以便在復雜的環(huán)境下開展相關工作[1]。與固定翼無人機相比,多旋翼無人機具有可垂直起降、定點懸停、靈活性高等特點并且能夠實現復雜動作[2]。通常搭載視覺傳感器來獲取環(huán)境信息,再通過計算機視覺算法來感知場景,進而在事故搜救、交通監(jiān)控、軍事行動等任務中發(fā)揮重要作用。
傳統(tǒng)簡單場景下目標檢測算法一般通過提取目標局部特征進行檢測,包括閾值法、區(qū)域目標檢測法和邊緣檢測法[3]。閾值法對噪聲特別敏感,且檢測效果一般;區(qū)域目標檢測法需要人為設定種子點,算法復雜且計算量大;邊緣檢測法對邊緣檢測算子的依賴程度較大。復雜場景下的目標檢測算法主要利用相鄰幀間背景與目標的運動規(guī)律,實現視頻圖像中運動目標的檢測,主要有背景差分法[4]、光流法[5]和相鄰幀差法[6]。光流法運算量比較大,實時性不高,相鄰幀差法易產生空洞現象。在無人機進行視頻拍攝的過程中,由于飛行運動和機體震動而造成視頻序列的抖動和模糊問題,導致圖像質量差從而加大目標檢測的難度。為消除這些抖動噪聲,高效準確地實現無人機目標檢測,本文利用特征點匹配和仿射變換技術實現了高可靠性的視頻圖像防抖優(yōu)化算法,并采用基于Adaboost的目標檢測算法[7],以四旋翼無人機為實驗平臺,實現了一個檢測效果和實時性較好的無人機目標檢測系統(tǒng)。
本文選擇四旋翼無人機作為系統(tǒng)搭建平臺,其分別由機身、飛控、旋翼、電源和電機等部分構成。機架采用大疆風火輪F450,對稱電機軸距為450mm,機身重量為282g,起飛重量為800g~1600g,力臂采用高強度材料PA66+30%GF制作,具有較強的耐摔耐碰性能。動力系統(tǒng)采用大疆公司E305多旋翼動力系統(tǒng),可靠性高、減震性能好。采用美國3DRobotics生產的APM2.8嵌入式系統(tǒng)與外圍傳感器設計飛控系統(tǒng)。APM自動駕駛儀的姿態(tài)解算控制方式為雙重閉環(huán)PID控制,控制方式如圖1所示。
圖1 雙重閉環(huán)PID控制方式示意圖
定義一組歐拉角(航向角ψ、俯仰角θ、滾轉角φ)為慣性參考系(設為e)到無人機機體坐標系(x,y,z,設為u)的旋轉角。因此沿每個坐標軸的旋轉關系為
經自動駕駛儀控制沿三個坐標軸旋轉后,可得到慣性坐標系到無人機參考系的轉換矩陣:
則歐拉角可確定如下:
它是整個無人機控制部分的核心,通過接收地面?zhèn)鬟f過來的信號,將其處理后傳遞到四個電機上,通過控制其轉速來調整無人機的飛行姿態(tài)。
本文視覺平臺設計既需要一定的圖像處理技術,還要考慮無人機自身的掛載能力,滿足穩(wěn)定性、簡易性、抗干擾性、低耗性等要求。四旋翼無人機目標檢測系統(tǒng)結構如圖2所示,主要由地面主控中心和機載云臺系統(tǒng)兩個部分組成,兩部分之間通過無線通信模塊交互信息。地面主控中心是對四旋翼無人機進行飛行控制,記錄其飛行數據并檢驗飛行狀況是否正常,防止因硬件故障導致無人機墜落或失控現象。機載云臺系統(tǒng)主要對視頻圖像進行采集,并將采集到的信息進行一系列處理,實現四旋翼無人機對指定目標的檢測。
圖2 無人機目標檢測系統(tǒng)結構示意圖
該系統(tǒng)硬件部分主要包括一臺ccd相機、圖像采集卡、輔助處理器和云臺等。相機的選擇及搭載方法、圖像處理算法、計算機運算能力對目標檢測的效果有重要影響。本檢測模塊利用ccd相機采集視頻圖像信息,通過搭載一個單軸俯仰的云臺擴大其采集范圍,再通過圖像采集卡將采集信息轉為數字信號,便于計算機進行處理。此外還搭建輔助處理器處理視頻圖像信息,并通過控制云臺上的舵機調整云臺姿態(tài),從而提高本系統(tǒng)的采集效率和處理速度。
“霜白了頭”將本來運用于修飾霜降的形容詞“白”運用到“頭發(fā)”這另一事物之上,寫她頭發(fā)花白,形象地寫出了妻子老去這一悲劇現實;
機載相機在采集圖像時會受到風力、天氣等外界因素影響,導致圖像或視頻信息存在失真和噪聲干擾。本文對采集圖像進行必要的預處理,減少干擾信息以重點突出圖像中感興趣的目標信息,有助于提高目標檢測的效率和精度。首先對ccd相機采集到的RGB彩色圖像進行灰度化,不僅能降低后續(xù)圖像處理的計算量,同時也能夠完整保留原彩色圖像的亮度、色度和紋理等特征信息。圖像灰度化[8]就是讓圖像中RGB三個分量值相同的過程,主要有平均值法、最大值法、加權平均法和隨機分量法四種。本文選擇加權平均法對圖像灰度化處理,其轉換公式為
其中I為圖像中像素的灰度值,R、G、B分別代表紅、綠、藍三種像素。
為克服圖像噪聲給圖像處理帶來的不利影響,先對圖像進行同態(tài)濾波處理。同態(tài)濾波是非線性濾波,它結合頻率過濾和灰度變換對圖像進行處理,將圖像反射率/照度視為頻域處理的基礎,再通過增強對比度和壓縮亮度范圍提高圖像質量。同態(tài)濾波通過減少低頻增加高頻來減少光線變化和銳化圖像邊緣細節(jié),經同態(tài)濾波處理后圖像再經過高斯濾波進一步提高圖像質量,減少圖像的噪聲并保持圖像目標的大小、形狀等。實現高斯濾波通常有兩種方法,一種是傅里葉變換,另一種是離散化窗口卷積。本文選擇離散化窗口卷積對圖像進行平滑處理,平滑窗口越大,平滑力度也越大。
針對無人機在視頻拍攝過程中由于自身運動和機體震動造成視頻序列的抖動和模糊問題,本文首先提取攝像機真實全局運動參數,使用特征點匹配和仿射變換技術[10]補償攝像機運動干擾,使視頻畫面運行流暢且穩(wěn)定。在提取每幀圖像間特征點的基礎之上,結合特征點匹配結果求得攝像機全局運動參數,接著利用此參數與仿射變換模型估算視頻幀間的相對運動參數,以實現從抖動幀向基準幀間的糾正,達到連續(xù)拍攝視頻圖像的防抖動效果。視頻防抖算法流程圖見圖3。
圖3 防抖算法流程圖
找到基準圖像上特征點,并找到待配準圖像上對應的特征點,然后利用匹配特征點計算空間映射參數。利用仿射變換模型,視頻圖像中In與In-1相對應的像素坐標Xn與Xn-1滿足:
其中An表示水平尺度、垂直尺度和選擇因子,Tn則反映了平移參數。通常選取第一幀作為基準幀,在相鄰幀間級聯使用以上變換,可得:
式中,上標r表示r次級聯。故第n幀圖像與基準幀間的全局變換可通過聯系起來。假設消抖后第n幀圖像與基準幀間全局變換參數為,類似上述級聯方式,第n幀圖像的位置則滿足:
因此,為補償攝像機的隨機抖動干擾,第n幀圖像In根據下式變換后可得穩(wěn)定的圖像序列:
本文采用的目標檢測算法通過OpenCV數據庫[11]來實現,采用的是具有高精度和高速度特點的Adaboost算法[12]。VIOLA 和 JONES 首先提出Harr-Like特征[13]來表示人臉目標,并成功將其應用到Adaboost算法中實現對目標的檢測。后來證明,利用特定的Harr-Like特征同樣可以實現其他目標的特征表示。通常利用特征圖提取特征,采用積分圖像法對圖像進行二次積分,使計算量大大減少。在積分圖像任意位置(x,y)處的值ii(x,y)表示該點左上角所有像素之和,表示如下:
其中,i(x',y')表示輸入圖像相關位置上的像素點。
Adaboost算法的訓練過程就是通過提取圖片的Harr-Like特征,選擇出若干個弱分類器,然后把這些弱分類器迭加成一個強分類器[14]。設這n個弱分類器 (h1,h2,···,hn)是經過相同的學習算法產生的,每一個弱分類器都能對未知樣本單獨實現二分類,再通過加權計算各個弱分類器的分類結果得到最終分類結果。分類錯誤率小于0.5的分類器都能稱為弱分類器,但在實際訓練中,一般把錯誤率最小的分類器作為本輪使用的弱分類器,用公式表示如下:
其中,p能夠改變不等式方向,θj表示某個特征j的閾值。
圖4 Adaboost算法模型
Adaboost算法模型如圖4所示。圖中權重αn代表各個弱分類器hn對樣本分類的貢獻值,值越大,說明特征樣本的分類能力越強。分類結果由n個弱分類器加權“投票”結果決定,將投票結果與分類閾值進行比較,得到最終對樣本的分類結果。強分類器F表示為
為驗證基于特征點匹配和仿射變換技術視頻防抖算法的有效性,通過無人機采集視頻圖像序列,在計算機上進行實驗仿真。在圖像處理中,一般通過計算峰值信噪比[15](Peak Signal to Noise Ratio,PSNR)客觀評價處理后的視頻與原視頻間的穩(wěn)定程度。PSNR的計算公式表示如下:
其中M×N為圖像尺寸,分別為參考幀和當前幀在坐標處的灰度值,MSE表示兩幅圖像的對應像素值的平均差,其值越小,PSNR值越大,則說明圖像質量越好[16]。實驗中抓取200幀尺寸為240×320的視頻圖像進行測試,圖5為原始視頻序列和經防抖優(yōu)化算法處理后視頻序列的PSNR值曲線圖。
圖5 不同視頻序列的PSNR值曲線圖
由圖5可知,經本文視頻防抖算法處理后的PSNR均值為37.438dB,遠大于原始序列的PSNR平均值33.275dB,說明算法處理后的視頻與原視頻相比穩(wěn)定性得到了很大的提高,證明了本文算法能夠實現快速、準確的視頻防抖效果。
本文分類器的訓練是在Microsoft Visual Studio 2010開發(fā)環(huán)境下,實驗平臺配置的CPU型號為i7-8750H,內存為32G。分類器實際訓練過程分三步:1)建立正負樣本庫;2)訓練目標檢測分類器;3)在訓練好的分類器上測試。本實驗針對的是無人機航拍車輛目標的檢測,利用通過無人機航拍系統(tǒng)和MIT計算機視覺庫中采集的4000張圖片作為訓練器樣本。正樣本中不包含其他物體,只含有待檢測目標(車輛),并且需要目標盡可能充滿整張圖片。無人機航拍系統(tǒng)主要從車輛前上方、后上方以及測上方三個角度采集圖片作為訓練和測試樣本。負樣本為場景中除車輛以外的其他常見物體。實踐證明,正負訓練樣本數量比例為1:3時,分類器的訓練效果往往較好。因此本文在樣本庫中挑選質量較高的1000張正樣本圖像和3000張負樣本圖像建立樣本庫,并剪裁為同樣大小,分類器訓練完成得到.xml格式的分類器文件。
四旋翼無人機升空后對視頻進行采集,采集到的圖像傳遞到計算機上進行一系列處理。部分實驗結果如圖6。由圖可見,本文算法對車輛目標的整體識別率較高,能夠有效完成無人機車輛目標識別任務。一方面是因為豐富的訓練樣本和高效的Adaboost算法對識別率有了穩(wěn)定的保障,另一方面本文使用的視頻防抖優(yōu)化算法大大改善了視頻質量,促使識別效果得到進一步提升。當然本算法也存在因樹木遮擋、取景不全、距離較遠和光線黑暗等因素導致的漏檢現象。測試結果表明,本系統(tǒng)目標檢測準確率約為94.75%,每幀檢測時間為22.5ms,達到預期效果。
圖6 車輛檢測部分實驗結果
本文設計了基于防抖優(yōu)化的無人機目標檢測系統(tǒng),通過有效緩解無人機采集數據過程中不可避免存在的視頻序列抖動問題,實現了準確性和實時性較好的無人機車輛目標檢測效果。但在更高要求的應用場合中,系統(tǒng)的性能仍存在一定的不足,下一步可以通過使用性能更高的硬件處理器和開發(fā)更高效的軟件算法來繼續(xù)優(yōu)化和改進。