鐘佩儀 曹云峰 丁 萌
(1.南京航空航天大學(xué)航天學(xué)院 南京 210016)(2.南京航空航天大學(xué)民航學(xué)院 南京 210016)
近年來,無人機(jī)在軍事和民用方面展現(xiàn)了很大的應(yīng)用潛力,由于無人機(jī)在智能化、監(jiān)控、偵查等方面表現(xiàn)出了廣闊的前景,并且與有人機(jī)相比成本更低,使用更加靈活[1~5],因此無人機(jī)在軍用和民用方面都受到了前所未有的關(guān)注。無人機(jī)在現(xiàn)代數(shù)字戰(zhàn)場(chǎng)中的突出優(yōu)點(diǎn)和驚人表現(xiàn),使得各國競(jìng)相研制,目前無人機(jī)已經(jīng)被各國大量使用。不同種類的無人機(jī)在各個(gè)領(lǐng)域的應(yīng)用均獲得了極大的成功,但與此同時(shí)所帶來的問題是:隨著不同類型無人機(jī)的大量使用,中空、低空、超低空的空域變得越來越“擁擠”,給國家空域系統(tǒng)帶來越來越嚴(yán)峻的安全隱患。無人機(jī)的廣泛應(yīng)用使得無人機(jī)之間和無人機(jī)對(duì)有人機(jī)造成了直接的威脅,如何規(guī)避無人機(jī)和其他飛機(jī)的碰撞成為了目前需要關(guān)注的問題。對(duì)于有人機(jī)而言,可以通過機(jī)載雷達(dá)收發(fā)機(jī)和機(jī)組人員完成環(huán)境感知并操縱飛機(jī)規(guī)避威脅目標(biāo)來確保有人機(jī)的安全,而這一個(gè)過程被稱之為“探測(cè)與規(guī)避”。但是對(duì)于無人機(jī)而言,并沒有機(jī)組人員來承擔(dān)環(huán)境感知與威脅規(guī)避的職能,因此當(dāng)無人機(jī)系統(tǒng)集成到國家空域系統(tǒng)中時(shí),無人機(jī)只能單純依靠機(jī)載設(shè)備來完成環(huán)境感知與威脅規(guī)避,實(shí)現(xiàn)和有人機(jī)“探測(cè)與規(guī)避”相同的功能,而這個(gè)過程被稱之為“感知與規(guī)避”。感知與規(guī)避的過程如圖1所示。
圖1 感知與規(guī)避系統(tǒng)的過程
感知與規(guī)避系統(tǒng)的過程主要分為感知和規(guī)避兩個(gè)部分[6~7],其中感知是規(guī)避的前提,通過機(jī)載傳感器完成對(duì)入侵目標(biāo)的檢測(cè)和識(shí)別;規(guī)避是感知的歸宿和目的,在感知的基礎(chǔ)上完成對(duì)入侵目標(biāo)威脅度的評(píng)估,為規(guī)避威脅提供重要的參考依據(jù)。在機(jī)載傳感器的選擇上,由于視覺傳感器比其他傳感器有更好的SWAP(尺寸,重量和能耗)特征,完全自主的工作方式可檢測(cè)到?jīng)]有安裝相同的傳感器的目標(biāo)使其可靠性、安全性更高,因此本文主要是以基于視覺的感知與規(guī)避技術(shù)為研究背景,以機(jī)載視覺傳感器所提供的視頻圖像作為研究對(duì)象。
為了保證對(duì)入侵目標(biāo)檢測(cè)算法的實(shí)時(shí)性,在提取測(cè)試圖像的特征之前,一般通過提取測(cè)試圖像的感興趣區(qū)域(ROI)來減少提取特征的工作量以達(dá)到加快算法的作用[8~9]。常用的提取ROI區(qū)域算法包括基于顯著性分析的IT,MZ,SR,GB等,但是來自于微軟研究院的Piotr等在2014年提出了Edge-Boxes算法[10],利用邊緣信息(Edge)來確定目標(biāo)可能存在的方框。Edge-Boxes算法優(yōu)勢(shì)在于采用的是純圖像的方法,不需要任何先驗(yàn)知識(shí),沒有復(fù)雜的運(yùn)算過程,最重要的是該算法的運(yùn)行速度很快。因此本文采用Edge-Boxes算法提取ROI區(qū)域,作為圖像特征提取的前提。
得到ROI區(qū)域還需要通過識(shí)別模塊來確定入侵目標(biāo)在哪一個(gè)或者哪幾個(gè)ROI中。經(jīng)典的識(shí)別算法都是由特征提取和分類器設(shè)計(jì)兩部分構(gòu)成。識(shí)別算法的構(gòu)成如圖2所示。
圖2 入侵目標(biāo)識(shí)別算法
尺度不變特征轉(zhuǎn)換(Scale-Invariant Feature Transform,SIFT)特征[11]是基于物體上的一些局部外觀的興趣點(diǎn)而與影像的大小和旋轉(zhuǎn)無關(guān)。對(duì)于光線、噪聲、些微視角改變的容忍度也相當(dāng)高。基于這些特征,它們是高度顯著而且相對(duì)易于獲取,在龐大的特征數(shù)據(jù)庫中,很容易辨識(shí)物體而且鮮有失誤。使用SIFT特征描述對(duì)于部分物體遮蔽的檢測(cè)率也相當(dāng)高,甚至只需要3個(gè)以上的SIFT物體特征就足以計(jì)算出位置和方位,在現(xiàn)今的電腦硬件速度下,運(yùn)算速度可達(dá)到即時(shí)運(yùn)算。SIFT特征的信息量大,適合在海量數(shù)據(jù)庫中快速準(zhǔn)確匹配。但是SIFT中每個(gè)feature需要用128維的向量來描述,因此計(jì)算量相對(duì)很大。
方向梯度直方圖(Histogram of Oriented Gradient,HOG)特征[12]是一種在計(jì)算機(jī)視覺和圖像處理中用來進(jìn)行物體檢測(cè)的特征描述子。其本質(zhì)是統(tǒng)計(jì)圖像的梯度信息,而梯度主要存在于邊緣的地方,所以HOG特征能夠較好的描述各類物體輪廓形狀。由于HOG是在圖像的局部方格單元上操作,所以它對(duì)圖像幾何的和光學(xué)的形變都能保持很好的不變性,這兩種形變只會(huì)出現(xiàn)在更大的空間領(lǐng)域上。其次,在粗的空域抽樣、精細(xì)的方向抽樣以及較強(qiáng)的局部光學(xué)歸一化等更好地完成了照射、陰影不變性。HOG特征結(jié)合SVM分類器已經(jīng)被廣泛應(yīng)用于圖像識(shí)別中。
因?yàn)楫?dāng)前沒有一種統(tǒng)一的特征提取方法適用于多數(shù)目標(biāo)分類問題,而經(jīng)典的算法SIFT,HOG等,都有自身的特殊性和局限性,所以在本文中為了尋找更加合適于入侵目標(biāo)檢測(cè)的特征提取方法,分別使用這兩種特征作為sc-SPM算法[13~16]的底層特征對(duì)入侵目標(biāo)檢測(cè),通過分析檢測(cè)結(jié)果來判斷哪種特征更加適合入侵目標(biāo)檢測(cè)。
入侵目標(biāo)檢測(cè)算法主要分為三步:第一是對(duì)檢測(cè)圖像提取ROI區(qū)域;第二是對(duì)ROI區(qū)域提取特征;第三是用SVM分類器分類識(shí)別ROI區(qū)域,圈出有入侵目標(biāo)所在的區(qū)域。
在本節(jié)中,基于Edge-Boxes的ROI區(qū)域提取主要分為兩步:第一是使用Edge-Boxes算法得到大量的Proposals(目標(biāo)可能會(huì)在的區(qū)域)以及每個(gè)Proposals的分?jǐn)?shù);第二是通過設(shè)定適當(dāng)?shù)姆謹(jǐn)?shù)和面積的閾值結(jié)合NMS(非極大值抑制算法)來優(yōu)化Proposals而得到少量的面積適中的ROI區(qū)域。具體流程如圖3所示。
圖3 提取ROI區(qū)域過程
提取ROI區(qū)域的第一步——Edge-Boxes算法:計(jì)算輸入圖像的特征,通過特征檢測(cè)圖像的邊緣信息,然后將近乎在一條直線上的邊緣點(diǎn),集中起來形成一個(gè)邊緣信息組(Edge group),計(jì)算兩兩邊緣信息組之間的相似度,相似度越高意味著這兩個(gè)組的邊緣信息是同一個(gè)輪廓的可能性越高。計(jì)算相似度的公式如下:
a( )si,sj指的是兩組之間的相似度;γ是用來調(diào)整相似性對(duì)方向改變的敏感度,一般取值為2。
如果兩邊緣信息組之間的相似度低于閾值0.05的舍棄,高于閾值0.05則保存。給保存的每一邊緣信息組一個(gè)權(quán)值,然后把權(quán)值均為1的邊緣信息組歸為框內(nèi)輪廓上的一部分,把權(quán)值為0的邊緣信息組歸為框外或者與框邊界重疊的輪廓的一部分。計(jì)算權(quán)值公式如下:
T是指從框框的邊緣開始到達(dá)si的邊緣信息組序列集合。
第二步:在邊緣信息組處理后得到的Proposals數(shù)量過于龐大,邊框過于密集,其中面積或大或小,對(duì)后續(xù)的分類太過繁雜,效率不高。所以需要對(duì)此做優(yōu)化,得到性能良好的ROI區(qū)域。
對(duì)所得Proposals進(jìn)行評(píng)分,評(píng)分公式如下:
進(jìn)一步根據(jù)得分的高低對(duì)Proposals做一個(gè)降序排列,設(shè)定一個(gè)分?jǐn)?shù)閾值(Score),保存分?jǐn)?shù)高于S的Proposals,舍棄分?jǐn)?shù)低于S的Proposals。然后再計(jì)算留下的Proposals的面積,并做一個(gè)升序排列,設(shè)定一個(gè)面積閾值(Area),保留面積低于Area的Proposals,舍棄高于Area的Proposals。剩下的Proposals呈現(xiàn)的特點(diǎn)是邊框面積過小,但在完整輪廓處較為密集,因此對(duì)這些Proposals做非極大值抑制(NMS)即可得到面積適當(dāng),較為稀疏的ROI區(qū)域。
本文所采用的基于稀疏編碼和空間金字塔匹配模型的特征學(xué)習(xí)方法過程如圖4所示。首先對(duì)ROI圖像塊提取底層特征(SIFT,HOG),其次在空間金字塔框架下以稀疏編碼為基本手段對(duì)所提取的特征作進(jìn)一步的抽象,最后以特征池化思想為基礎(chǔ),實(shí)現(xiàn)局部特征的聚合,完成整個(gè)特征提取的過程。
圖4 基于稀疏編碼和空間金字塔匹配模型的特征學(xué)習(xí)過程
2.2.1 第一層特征提取
SIFT算法利用高斯金字塔和高斯差分(Difference of Gaussian,DoG)金字塔實(shí)現(xiàn)圖像特征點(diǎn)和該點(diǎn)處尺度的自動(dòng)選擇。高斯金字塔由圖像與不同尺度的高斯核卷積得到,差分金字塔(DoG)是相鄰兩尺度空間函數(shù)之差,用D( x,y,σ)表示,輸入圖像為I( x,y),由式(4)計(jì)算得到:
在完成高斯差分金字塔的構(gòu)建后,SIFT算法按以下步驟提取特征點(diǎn)和生成128維特征向量:
1)在DoG金字塔中,DoG尺度空間中中間層(最低和最頂層除外)的每一個(gè)像素與同一層相鄰的8個(gè)像素以及它上一層和下一層的9個(gè)相鄰像素共26個(gè)相鄰像素點(diǎn)進(jìn)行比較得到局部極值;
2)利用特征點(diǎn)鄰域像素的梯度方向分布特性為每個(gè)特征點(diǎn)指定方向參數(shù),使相應(yīng)特征具備旋轉(zhuǎn)不變性;
3)對(duì)于任意一個(gè)特征點(diǎn),在它所在的尺度空間中,取其為中心的16×16像素大小的領(lǐng)域,再將這個(gè)領(lǐng)域均勻分成4×4個(gè)子區(qū)域,并對(duì)每個(gè)子區(qū)域計(jì)算梯度方向直方圖。將各個(gè)子區(qū)域的直方圖組合成16×8=128維的特征向量。
HOG算法是將圖像分成小的連通區(qū)域(細(xì)胞單元,cell)。然后采集細(xì)胞單元中各像素點(diǎn)的梯度的或邊緣的方向直方圖。最后把這些直方圖組合起來就可以構(gòu)成HOG特征描述器。具體步驟如下:
1)將輸入圖像灰度化,采用Gamma校正法對(duì)輸入圖像進(jìn)行顏色空間的標(biāo)準(zhǔn)化(歸一化);目的是調(diào)節(jié)圖像的對(duì)比度,降低圖像局部的陰影和光照變化所造成的影響,同時(shí)可以抑制噪音的干擾;
2)將歸一化之后的圖像分割為8*8個(gè)像素的細(xì)胞單元(cell),把梯度方向平均劃分為9個(gè)區(qū)間(bin),在每個(gè)細(xì)胞單元里面對(duì)所有像素的梯度方向在各個(gè)方向區(qū)間進(jìn)行直方圖統(tǒng)計(jì),得到一個(gè)9維的特征向量;
3)每相鄰的4個(gè)細(xì)胞單元構(gòu)成一個(gè)塊(block),把一個(gè)塊內(nèi)的特征向量聯(lián)起來得到36維的特征向量,用塊對(duì)樣本圖像進(jìn)行掃描,掃描步長(8個(gè)像素)為一個(gè)單元。最后將所有塊的特征串聯(lián)起來,就得到了輸入圖像的36維的HOG特征描述器。
利用空間金字塔方法對(duì)圖像進(jìn)行空間多尺度劃分,然后利用稀疏編碼對(duì)每個(gè)局部塊的底層特征進(jìn)行編碼得到特征向量,之后再利用權(quán)值串接每個(gè)特定局部塊中的語義信息得到圖像多尺度空間特征,完成目標(biāo)的特征提取。
稀疏編碼即是在一組過完備基向量(過完備字典D)中選擇少量基(稀疏系數(shù)X)的線性組合來表示樣本數(shù)據(jù)(輸入圖像的底層特征Y),計(jì)算公式如下:
T0是稀疏系數(shù)非零項(xiàng)的最大值。
過完備字典D可以通過K_SVD(The K-means Singular Value Decomposition)算法訓(xùn)練大量樣本得到。從線性組合角度看,K-SVD訓(xùn)練算法的目標(biāo)函數(shù)可表示為
T0是稀疏系數(shù)非零項(xiàng)的最大值。
式(6)中計(jì)算過程是一個(gè)不斷迭代的過程:
1)設(shè)字典D是固定的,利用稀疏向量計(jì)算方法OMP,可以得到基于字典D的輸入樣本Y的稀疏表示的稀疏矩陣A;
2)根據(jù)系數(shù)矩陣A,找到更好的字典D。
2.2.3 最大池化
最大池化是對(duì)圖像中不同位置的特征進(jìn)行聚合統(tǒng)計(jì),降低計(jì)算特征的難度,避免出現(xiàn)過擬合現(xiàn)象。設(shè)XM×N是求得的M個(gè)向量的N維稀疏系數(shù),則最大值池化方程如下所示:Xij是稀疏系數(shù)矩陣的第i行,第j列元素。
對(duì)整張圖像基于金字塔框架下分割以后的每個(gè)區(qū)域進(jìn)行特征池化,并對(duì)最大池化后的特征進(jìn)行組合,從而得到最終我們所需要的特征。
為了驗(yàn)證底層特征選取不同對(duì)檢測(cè)識(shí)別入侵目標(biāo)的影響,本文設(shè)計(jì)兩種不同底層特征的入侵目標(biāo)檢測(cè)算法作比較。在本次實(shí)驗(yàn)過程中,所有的實(shí)驗(yàn)圖像均來自于Flight-Gear V3.4模擬軟件獲得。首先在實(shí)驗(yàn)圖像中抽取1000幅圖像作為樣本圖像分別提取SIFT和HOG特征,并以此為基礎(chǔ)訓(xùn)練過完備字典D以及SVM分類器,再選取200幅圖像進(jìn)行入侵目標(biāo)檢測(cè)實(shí)驗(yàn),并用指標(biāo)IoU(Intersection over Union)和召回率(recall)曲線來評(píng)判檢測(cè)結(jié)果的好與壞。
利用K-SVD進(jìn)行過完備字典訓(xùn)練的步驟如下:
1)從樣本圖像中隨機(jī)性選取100000個(gè)大小為
2)對(duì)每個(gè)圖像塊提取出一個(gè)128維的SIFT特征向量和一個(gè)36維的HOG特征向量;
3)將所有100000個(gè)圖像塊的特征向量組合成一個(gè)矩陣,SIFT特征矩陣的大小為128×100000,HOG特征矩陣大小為36×100000;
4)利用K-SVD算法對(duì)該矩陣進(jìn)行訓(xùn)練,設(shè)置訓(xùn)練后的字典大小都為128×1024。
隨機(jī)選擇500幅正樣本、500幅負(fù)樣本進(jìn)行訓(xùn)練,具體訓(xùn)練方法按以下步驟完成:
1)提取出500幅正樣本的SIFT特征向量和HOG特征向量;
2)提取出500幅負(fù)樣本的SIFT特征向量和HOG特征向量;
3)利用訓(xùn)練函數(shù)分別對(duì)正負(fù)樣本SIFT特征向量和正負(fù)樣本HOG特征向量進(jìn)行訓(xùn)練,得到兩個(gè)分類器參數(shù)。
為了實(shí)驗(yàn)圖像的多樣性,從Flight-Gear V3.4模擬得到的實(shí)驗(yàn)圖像中選取200幅不同背景不同天氣的圖像作為檢測(cè)算法的實(shí)驗(yàn)圖像,首先用基于Edge-Boxes的ROI提取算法對(duì)每一幅圖像提取ROI區(qū)域,如表1第一列所示,淺色框是指ROI區(qū)域,深色框是指真值圖;其次對(duì)提取的ROI區(qū)域分別用基于HOG和SIFT特征的入侵目標(biāo)檢測(cè)算法檢測(cè)和識(shí)別目標(biāo),檢測(cè)結(jié)果如表1第二列和第三列所示,淺色框是指檢測(cè)結(jié)果,深色框是指真值圖。
表1 檢測(cè)入侵目標(biāo)實(shí)驗(yàn)結(jié)果
從實(shí)驗(yàn)結(jié)果看,同一幅實(shí)驗(yàn)圖像,基于HOG特征的檢測(cè)結(jié)果跟基于SIFT特征相比是差一點(diǎn)的。為了更加直觀地比較兩者的差異,本文選擇IoU和recall這兩個(gè)常用指標(biāo)衡量檢測(cè)結(jié)果的好壞。IoU是指檢測(cè)框和真值框交區(qū)域和并區(qū)域的比值,IoU比值越高則檢測(cè)結(jié)果越貼近真值則表示定位越準(zhǔn)確。經(jīng)常取IoU值為0.5來衡量結(jié)果的好與壞,大于等于0.5都可以當(dāng)做是好的檢測(cè)結(jié)果。recall(召回率)是指檢測(cè)出來的目標(biāo)個(gè)數(shù)于整個(gè)數(shù)據(jù)集中所有目標(biāo)個(gè)數(shù)的比值,衡量的是檢測(cè)算法的查全率,查全率越高,則檢測(cè)出來的目標(biāo)個(gè)數(shù)就越多,算法效果越好。下面用recall-IoU曲線來描述檢測(cè)結(jié)果的好壞,如圖5所示。
圖5 recall-IoU曲線圖
圖5中圓形曲線是基于HOG檢測(cè)算法的recall-IoU曲線,星形曲線是基于SIFT檢測(cè)算法的recall-IoU曲線。當(dāng)IoU=0.5時(shí),基于SIFT的檢測(cè)算法的recall是高達(dá)0.9的,而基于HOG的檢測(cè)算法的recall則不到0.9。當(dāng)IoU取值越來越大,即對(duì)檢測(cè)結(jié)果與真值圖貼近度要求越來越高,而召回率(recall)也會(huì)有所下降,但是星形曲線是一直高于圓形曲線的,也就是說在recall隨著IoU的增加而減少的過程中,基于SIFT算法的recall是一直高于基于HOG算法的recall的。從檢測(cè)結(jié)果來看,基于SIFT的檢測(cè)算法是要優(yōu)于基于HOG檢測(cè)算法的。
本文在對(duì)入侵目標(biāo)檢測(cè)算法的圖像特征選擇上討論了經(jīng)典的SIFT和HOG兩種特征提取算法,通過對(duì)檢測(cè)結(jié)果的比較,發(fā)現(xiàn)在同樣的IoU值上,基于SIFT的檢測(cè)結(jié)果的召回率(recall)是要比基于HOG的召回率要高。在設(shè)計(jì)對(duì)入侵目標(biāo)檢測(cè)算法中,SIFT和sc-SPM的結(jié)合所表現(xiàn)出來的檢測(cè)性能是要比HOG結(jié)合sc-SPM算法的檢測(cè)性能要更優(yōu)。所以選擇SIFT特征提取算法作為基于sc-SPM的入侵目標(biāo)檢測(cè)算法的底層特征。