譚熊,王晶磊,孫一帆
(戰(zhàn)略支援部隊(duì)信息工程大學(xué),鄭州 450001)
無人機(jī)載視頻運(yùn)動(dòng)目標(biāo)檢測(cè)跟蹤是計(jì)算機(jī)視覺領(lǐng)域的重要研究?jī)?nèi)容之一,已廣泛應(yīng)用于戰(zhàn)場(chǎng)動(dòng)態(tài)監(jiān)測(cè)、目標(biāo)偵察與打擊、智能交通、災(zāi)害預(yù)警以及城市調(diào)查等軍事和民用領(lǐng)域。無人機(jī)在獲取地面目標(biāo)的過程中往往存在抖動(dòng)現(xiàn)象,同時(shí)無人機(jī)自身也在快速運(yùn)動(dòng),這些因素導(dǎo)致了無人機(jī)視頻中地面背景的不斷變化,從而增加了運(yùn)動(dòng)目標(biāo)檢測(cè)跟蹤的難度。
無人機(jī)視頻運(yùn)動(dòng)目標(biāo)檢測(cè)跟蹤是一種動(dòng)態(tài)場(chǎng)景下的運(yùn)動(dòng)目標(biāo)檢測(cè)跟蹤,是計(jì)算機(jī)視覺領(lǐng)域的研究重點(diǎn)和難點(diǎn)。針對(duì)動(dòng)態(tài)場(chǎng)景下的運(yùn)動(dòng)目標(biāo)檢測(cè)跟蹤,眾多研究學(xué)者展開了大量的研究工作,如簡(jiǎn)單的兩幀差分及其改進(jìn)方法(如三幀差分)[1-2],基于區(qū)域匹配的方法[3],基于光流技術(shù)的方法[4-6]以及基于快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(faster region-based convolutional neural networks,F(xiàn)aster R-CNN)[7]、SSD(single shot multibox detector,SSD)[8]、YOLO(you only look once,YOLO)[9]等深度學(xué)習(xí)方法。在這些方法中,幀差法及其改進(jìn)方法計(jì)算效率較高,但精度較低;基于區(qū)域匹配的方法往往需要目標(biāo)的先驗(yàn)知識(shí);基于光流技術(shù)的方法計(jì)算效率較低;基于深度學(xué)習(xí)的方法需要大量的樣本來訓(xùn)練模型,精度較高但效率較低。在無人機(jī)視頻運(yùn)動(dòng)目標(biāo)檢測(cè)跟蹤方面,國(guó)內(nèi)外學(xué)者也開展了大量的研究工作,任霞[10]提出了改進(jìn)核相關(guān)濾波跟蹤方法和改進(jìn)LK光流進(jìn)行無人機(jī)視頻運(yùn)動(dòng)目標(biāo)跟蹤;針對(duì)目標(biāo)變形和遮擋問題,陳挺[11]提出了基于動(dòng)態(tài)稀疏投影與目標(biāo)外觀模型、目標(biāo)外觀概率模型優(yōu)化以及多層數(shù)據(jù)關(guān)聯(lián)目標(biāo)跟蹤方法;針對(duì)目標(biāo)檢測(cè)跟蹤實(shí)時(shí)性的問題,董晶等[12]提出了基于特征匹配的運(yùn)動(dòng)目標(biāo)檢測(cè)法。在無人機(jī)視頻運(yùn)動(dòng)目標(biāo)檢測(cè)跟蹤的廣泛應(yīng)用中,運(yùn)動(dòng)目標(biāo)檢測(cè)的準(zhǔn)確性和實(shí)時(shí)性是非常重要的一個(gè)因素,如在戰(zhàn)場(chǎng)目標(biāo)動(dòng)態(tài)監(jiān)測(cè)過程中,戰(zhàn)場(chǎng)態(tài)勢(shì)稍縱即逝,如不能及時(shí)發(fā)現(xiàn)、跟蹤目標(biāo),很可能將失去戰(zhàn)斗的意義。因此,對(duì)于在線實(shí)時(shí)的無人機(jī)視頻運(yùn)動(dòng)目標(biāo)檢測(cè)跟蹤,還有待更進(jìn)一步的研究和完善。
針對(duì)無人機(jī)載視頻運(yùn)動(dòng)目標(biāo)檢測(cè)準(zhǔn)確性和實(shí)時(shí)性的問題,本文提出了一種基于特征的無人機(jī)載視頻運(yùn)動(dòng)目標(biāo)快速檢測(cè)方法,采用ORB特征提取(oriented fast and rotated BRIEF,ORB)和漸進(jìn)一致采樣(progressive sample consensus,PROSAC)精匹配算法進(jìn)行全局運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償,然后采用幀差法和自適應(yīng)形態(tài)學(xué)操作進(jìn)行運(yùn)動(dòng)目標(biāo)檢測(cè),檢測(cè)精度和效率較高,能夠滿足實(shí)時(shí)處理需求。
本文所提方法的基本思路是:首先,對(duì)獲取的視頻序列影像進(jìn)行直方圖均衡化等亮度歸一化預(yù)處理,并利用ORB算法進(jìn)行特征提取,在常用匹配方法的基礎(chǔ)上采用PROSAC精匹配剔除錯(cuò)誤匹配;然后,采用六參數(shù)模型根據(jù)最小二乘原理進(jìn)行全局運(yùn)動(dòng)估計(jì)與運(yùn)動(dòng)補(bǔ)償,將補(bǔ)償后的序列影像采用幀差法進(jìn)行運(yùn)動(dòng)目標(biāo)初檢測(cè);最后,通過形態(tài)學(xué)操作等后處理實(shí)現(xiàn)最終的運(yùn)動(dòng)目標(biāo)檢測(cè)。本文所提方法的處理流程如圖1所示。
圖1 本文方法的處理流程Fig.1 Processing flowchart of processed method
ORB[13]特征檢測(cè)算法采用改進(jìn)的FAST關(guān)鍵特征點(diǎn)檢測(cè)和改進(jìn)的BRIEF特征描述子進(jìn)行關(guān)鍵特征檢測(cè),具有尺度和旋轉(zhuǎn)不變性,且檢測(cè)效率優(yōu)于傳統(tǒng)的Harris,SIFT(scale-invariant feature transform,SIFT)以及SURF(speeded up robust features,SURF)等特征檢測(cè)方法,可應(yīng)用于實(shí)時(shí)特征檢測(cè)場(chǎng)景中。
1.1.1 FAST關(guān)鍵特征點(diǎn)檢測(cè)
FAST關(guān)鍵特征點(diǎn)檢測(cè)[14]的基本思路是以影像中某一像素點(diǎn)(候選特征點(diǎn))為基準(zhǔn),計(jì)算該候選特征點(diǎn)與其周圍像素點(diǎn)(一般為16個(gè)點(diǎn))的圖像灰度差值,如果周圍鄰域內(nèi)有足夠多的像點(diǎn)滿足下式的閾值要求,則認(rèn)為該候選特征點(diǎn)為一個(gè)特征點(diǎn),即
(1)
式中:I(x)為周圍鄰域圓周上任意一點(diǎn)的灰度值;I(p)為候選特征點(diǎn)的灰度值;εd為灰度閾值。如果N>εd,且數(shù)量大于周圍像素點(diǎn)的3/4時(shí),則p為關(guān)鍵特征點(diǎn)。FAST關(guān)鍵特征點(diǎn)檢測(cè)示意圖如圖2所示。在ORB方法中,為了提高特征提取效率,通常采用周圍9個(gè)點(diǎn)進(jìn)行計(jì)算,即FAST-9。在計(jì)算出關(guān)鍵特征點(diǎn)后,采用非極大值抑制法消除局部較密集特征點(diǎn)。另外,F(xiàn)AST關(guān)鍵特征點(diǎn)檢測(cè)本身不具有尺度不變和旋轉(zhuǎn)不變性。在ORB方法中,采用圖像金字塔形式實(shí)現(xiàn)特征點(diǎn)的尺度不變性;采用灰度質(zhì)心法來計(jì)算關(guān)鍵特征點(diǎn)的特征方向以實(shí)現(xiàn)特征點(diǎn)的旋轉(zhuǎn)不變性?;叶荣|(zhì)心法的基本思路是:首先在鄰域范圍內(nèi)計(jì)算每個(gè)像素以灰度值為權(quán)重的灰度質(zhì)心,然后連接關(guān)鍵特征點(diǎn)與灰度質(zhì)心,所構(gòu)成的方向即為該關(guān)鍵特征點(diǎn)的特征方向。
圖2 FAST關(guān)鍵特征點(diǎn)檢測(cè)示意圖Fig.2 Schematic diagram of FAST key feature point detection
1.1.2 BRIEF特征描述符
BRIEF特征描述符[15]是一種二進(jìn)制描述符,其核心思想是從關(guān)鍵點(diǎn)p周圍隨機(jī)選取N個(gè)點(diǎn)對(duì)(一般為128個(gè)點(diǎn)對(duì)),然后計(jì)算每個(gè)點(diǎn)對(duì)中前一個(gè)點(diǎn)與后一個(gè)點(diǎn)的灰度差值,如果大于0,則取值為1,如果小于等于0,則取值為0。其公式為:
(2)
式中:P(p1,p2)表示一個(gè)由(p1,p2)2個(gè)關(guān)鍵特征點(diǎn)組成的點(diǎn)對(duì);Ip1為p1點(diǎn)的灰度值。
當(dāng)計(jì)算完所有點(diǎn)對(duì)的T值后,生成一個(gè)128維的二進(jìn)制編碼,該編碼即為該特征點(diǎn)的特征描述符。在得到特征描述符后,可用簡(jiǎn)單的漢明距離實(shí)現(xiàn)特征匹配。然而,常用的BRIEF特征描述符在進(jìn)行特征匹配時(shí)不具備旋轉(zhuǎn)不變性,造成了大量的誤匹配,針對(duì)該問題,ORB方法采用具有旋轉(zhuǎn)不變性的改進(jìn)方法——rBRIEF特征描述符。
1.1.3 特征匹配
特征匹配的方法很多,最簡(jiǎn)單的是距離匹配法,包括漢明距離和暴力匹配器。
漢明距離匹配法是計(jì)算2個(gè)特征點(diǎn)特征描述符(二進(jìn)制編碼字符串)對(duì)應(yīng)位置不同的字符個(gè)數(shù),若相差個(gè)數(shù)越少,則距離越近,即為特征匹配點(diǎn)。暴力匹配器是計(jì)算某一個(gè)特征點(diǎn)描述符與其他所有特征點(diǎn)描述符之間的距離,取距離最小的特征點(diǎn)作為匹配點(diǎn)。漢明距離法和暴力匹配器方法簡(jiǎn)單,計(jì)算效率高,但是往往存在大量的錯(cuò)誤匹配,因此需要采用一定的方法消除錯(cuò)誤匹配。
在特征精匹配方法中,隨機(jī)抽樣一致算法(random sample consensus,RANSAC)算法[16]是一種常用的魯棒方法,但由于其高度隨機(jī)采樣數(shù)據(jù)的特點(diǎn)導(dǎo)致了計(jì)算量較大,處理精度和效率較低。針對(duì)該問題,本文采用RANSAC改進(jìn)方法——PROSAC法[17]來剔除誤匹配,實(shí)現(xiàn)特征精匹配。PROSAC算法首先在初始匹配結(jié)果中計(jì)算最小距離和次小距離的比值,通過質(zhì)量因子衡量匹配的質(zhì)量;然后對(duì)數(shù)據(jù)質(zhì)量按照由高到底的順序進(jìn)行排序;最后根據(jù)高質(zhì)量的匹配子集數(shù)據(jù)進(jìn)行單應(yīng)矩陣模型參數(shù)估計(jì)。質(zhì)量因子的計(jì)算公式為:
(3)
(4)
式中β為最小距離dmin與次小距離dmin2的比值。
無人機(jī)搭載的視頻傳感器的運(yùn)動(dòng)引起了視頻序列影像的全局背景位移,視頻傳感器的位置和姿態(tài)的變化可以分解為傳感器的平移和旋轉(zhuǎn)。相應(yīng)地在二維圖像平面上,圖像上的任一像素點(diǎn)p(x,y)經(jīng)過時(shí)間Δt后,運(yùn)動(dòng)到另一點(diǎn)p′(x′,y′),該運(yùn)動(dòng)可以用旋轉(zhuǎn)加平移來表示為:
(5)
(6)
式(5)稱為運(yùn)動(dòng)估計(jì)的六參數(shù)模型。在完成特征提取和匹配后,利用至少3個(gè)特征點(diǎn)對(duì)根據(jù)最小二乘原理進(jìn)行模型參數(shù)解算,當(dāng)解算出參數(shù)模型中的6個(gè)參數(shù)(a1,a2,a3,a4,a5,a6)后,就可以根據(jù)六參數(shù)模型對(duì)當(dāng)前幀進(jìn)行重采樣,進(jìn)而得到補(bǔ)償后的圖像,實(shí)現(xiàn)全局運(yùn)動(dòng)估計(jì)和全局運(yùn)動(dòng)補(bǔ)償。
經(jīng)過全局運(yùn)動(dòng)補(bǔ)償后,消除了無人機(jī)視頻序列影像背景的位移,直接采用幀差法進(jìn)行運(yùn)動(dòng)目標(biāo)的檢測(cè)。設(shè)In(x,y)和In+1(x,y)為連續(xù)2幀影像在(x,y)處的灰度值,幀差法的計(jì)算公式為:
(7)
Dn(x,y)=In+1(x,y)-In(x,y),
(8)
式中:Pn(x,y)為二值化圖像;Dn(x,y)為灰度差值;T為閾值。
在實(shí)際情況下,由于受光照、風(fēng)以及噪聲等外界因素的干擾,幀差法所得結(jié)果并不能完全消除序列影像的背景位移,往往存在背景噪聲等影響。為了消除該影響,本文采用形態(tài)學(xué)濾波操作,對(duì)運(yùn)動(dòng)目標(biāo)初始檢測(cè)結(jié)果進(jìn)行后處理,進(jìn)而得到最終的運(yùn)動(dòng)目標(biāo)。
采用2組真實(shí)無人機(jī)載視頻數(shù)據(jù)進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)內(nèi)容包括運(yùn)動(dòng)目標(biāo)檢測(cè)結(jié)果和計(jì)算效率2部分內(nèi)容,計(jì)算效率實(shí)驗(yàn)未采用圖形處理器(graphics processing unit,GPU)進(jìn)行加速計(jì)算。實(shí)驗(yàn)硬件環(huán)境為16 G內(nèi)存,i9處理器,64位操作系統(tǒng),軟件環(huán)境為Python3.6和OpenCV3.4.2。
實(shí)驗(yàn)采用2組數(shù)據(jù):數(shù)據(jù)一為大疆御2商用無人機(jī)獲取的地面車輛運(yùn)動(dòng)目標(biāo)視頻,視頻圖像大小為3 840像素×2 160像素,幀率為30幀/s,視場(chǎng)中樹木較多,容易受光照和噪聲等影響。采用連續(xù)2幀影像(圖3)進(jìn)行運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)目標(biāo)檢測(cè)實(shí)驗(yàn)。
(a)第k幀影像 (b)第k+1幀影像
數(shù)據(jù)二為某型無人飛艇獲取的地面車輛目標(biāo)視頻序列影像,圖像大小為305像素×245像素,幀率為25幀/s。由于飛行高度較高,視場(chǎng)范圍較大,運(yùn)動(dòng)目標(biāo)較小,給運(yùn)動(dòng)目標(biāo)檢測(cè)帶來一定的困難。其連續(xù)2幀原始視頻序列影像如圖4所示。
(a)第k幀影像 (b)第k+1幀影像
按照?qǐng)D1所示的處理流程分別對(duì)2組視頻序列影像進(jìn)行直方圖均衡化預(yù)處理、特征提取與匹配、運(yùn)動(dòng)估計(jì)與運(yùn)動(dòng)補(bǔ)償、幀差法運(yùn)動(dòng)目標(biāo)檢測(cè)。直方圖均衡化預(yù)處理的目的是消除光照、噪聲等變化引起的同一目標(biāo)灰度值變化較大的影響。在實(shí)驗(yàn)參數(shù)設(shè)置方面,主要有幀差法二值化閾值、形態(tài)學(xué)形狀及其核大小2個(gè)參數(shù):①幀差法二值化閾值T的選?。涸O(shè)閾值范圍為10~200,每間隔5進(jìn)行一次幀差法二值化實(shí)驗(yàn),得到最佳的二值化分割閾值為50;②形態(tài)學(xué)模板及其核大小的選擇:采用3×3,5×5和7×7等不同核大小的矩形模板進(jìn)行形態(tài)學(xué)開運(yùn)算,選取效果最好的5×5矩形模板進(jìn)行形態(tài)學(xué)處理,得到數(shù)據(jù)一的實(shí)驗(yàn)結(jié)果如圖5—圖9所示。
圖5 數(shù)據(jù)一粗匹配結(jié)果Fig.5 Result of coarse matching of data 1
圖6 數(shù)據(jù)一精匹配結(jié)果Fig.6 Result of fine matching of data 1
(a)第k幀影像 (b)運(yùn)動(dòng)補(bǔ)償后影像
(a)直接差分法初始檢測(cè)結(jié)果 (b)形態(tài)學(xué)處理后運(yùn)動(dòng)目標(biāo)檢測(cè)結(jié)果
(a)初始檢測(cè)結(jié)果 (b)形態(tài)學(xué)處理后運(yùn)動(dòng)目標(biāo)檢測(cè)結(jié)果
數(shù)據(jù)二實(shí)驗(yàn)參數(shù)設(shè)置的方法與數(shù)據(jù)一相類似,具體參數(shù)為:幀差法二值化閾值T設(shè)為30,采用核大小為3×3的矩形模板進(jìn)行形態(tài)學(xué)腐蝕運(yùn)算后處理,實(shí)驗(yàn)結(jié)果如圖10—圖14所示。
圖10 數(shù)據(jù)二粗匹配結(jié)果Fig.10 Result of coarse matching of data 2
圖11 數(shù)據(jù)二精匹配結(jié)果Fig.11 Result of fine matching of data 2
(a)第k幀影像 (b)運(yùn)動(dòng)補(bǔ)償后影像
(a)直接差分法初始檢測(cè)結(jié)果 (b)形態(tài)學(xué)處理后運(yùn)動(dòng)目標(biāo)檢測(cè)結(jié)果
(a)初始檢測(cè)結(jié)果 (b)形態(tài)學(xué)處理后運(yùn)動(dòng)目標(biāo)檢測(cè)結(jié)果
分析以上2組實(shí)驗(yàn)結(jié)果,可以得出如下結(jié)論:
1)圖5—圖6以及圖10—圖11的結(jié)果表明,采用傳統(tǒng)的漢明距離進(jìn)行特征匹配,存在較多的錯(cuò)誤匹配;而采用PROSAC精匹配方法能夠全部消除錯(cuò)誤匹配,得到較高精度的匹配結(jié)果。
2)從圖8和圖13的實(shí)驗(yàn)結(jié)果可以看出,采用直接差分法并不能檢測(cè)出動(dòng)態(tài)場(chǎng)景下的運(yùn)動(dòng)目標(biāo)。
3)從圖9和圖14的實(shí)驗(yàn)結(jié)果可以看出,不管視頻場(chǎng)景中運(yùn)動(dòng)目標(biāo)大小如何,采用本文所提方法均能較好地檢測(cè)出運(yùn)動(dòng)目標(biāo),通用性較好,在此基礎(chǔ)上可進(jìn)一步實(shí)現(xiàn)運(yùn)動(dòng)目標(biāo)的跟蹤。
由于SIFT和SURF算法特征檢測(cè)精度較高而得到廣泛應(yīng)用,因此本節(jié)主要將基于ORB特征提取的運(yùn)動(dòng)目標(biāo)檢測(cè)與基于SIFT和SURF特征提取的運(yùn)動(dòng)目標(biāo)檢測(cè)計(jì)算效率進(jìn)行對(duì)比分析,2組數(shù)據(jù)的實(shí)驗(yàn)結(jié)果如表1所示,表中數(shù)據(jù)為運(yùn)行10次的平均值。
表1 運(yùn)動(dòng)目標(biāo)檢測(cè)效率Tab.1 Moving target detection efficiency (″)
分析表1的實(shí)驗(yàn)結(jié)果,可以得出如下結(jié)論:
1)運(yùn)動(dòng)目標(biāo)檢測(cè)的效率與視頻序列影像大小有一定關(guān)系,通常情況下:影像尺寸越大,計(jì)算時(shí)間越長(zhǎng),效率越低;影像尺寸越小,計(jì)算時(shí)間越短,效率越高。
2)基于SIFT和SURF特征提取的運(yùn)動(dòng)目標(biāo)檢測(cè)計(jì)算時(shí)間明顯高于基于ORB特征提取運(yùn)動(dòng)目標(biāo)檢測(cè)方法。
3)對(duì)于幀率為30幀/s的數(shù)據(jù)一,ORB基本能夠?qū)崿F(xiàn)實(shí)時(shí)處理需求;對(duì)于幀率為25幀/s的數(shù)據(jù)二,ORB能夠較好滿足實(shí)時(shí)處理需求。
綜合上述實(shí)驗(yàn)結(jié)果,可以得出:本文所提基于ORB特征的無人機(jī)載視頻運(yùn)動(dòng)目標(biāo)檢測(cè)方法的運(yùn)動(dòng)目標(biāo)檢測(cè)效果較好,計(jì)算效率較高,通用性較強(qiáng),能夠滿足實(shí)時(shí)處理需求。
本文針對(duì)動(dòng)態(tài)場(chǎng)景下無人機(jī)載視頻序列影像檢測(cè)精度不高、計(jì)算效率較低的問題,提出了基于ORB特征的無人機(jī)載視頻運(yùn)動(dòng)目標(biāo)檢測(cè)方法。該方法首先采用直方圖均衡化進(jìn)行亮度歸一化預(yù)處理,在此基礎(chǔ)上采用ORB特征提取和PROSAC精匹配方法進(jìn)行前后兩幀影像匹配,再采用六參數(shù)模型進(jìn)行視頻序列影像背景的全局運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償,最后采用幀差法和形態(tài)學(xué)操作進(jìn)行運(yùn)動(dòng)目標(biāo)檢測(cè)。通過2組不同無人機(jī)載視頻傳感器獲取的地面運(yùn)動(dòng)車輛數(shù)據(jù)進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明:
1)利用ORB特征提取后再進(jìn)行PROSAC精匹配的方法,可實(shí)現(xiàn)相鄰兩幀無人機(jī)視頻序列影像高精度配準(zhǔn)。
2)本文所提方法能夠?qū)崿F(xiàn)動(dòng)態(tài)場(chǎng)景下不同尺寸運(yùn)動(dòng)目標(biāo)的檢測(cè),檢測(cè)效果較好,算法通用性較強(qiáng)。
3)本文所提方法計(jì)算效率優(yōu)于基于SIFT和SURF特征提取的運(yùn)動(dòng)目標(biāo)檢測(cè)方法,且計(jì)算時(shí)間基本滿足無人機(jī)視頻實(shí)時(shí)處理需求。
同時(shí)在本文研究過程中還存在一定不足之處:一是未采用GPU并行計(jì)算來處理更大尺寸的無人機(jī)視頻數(shù)據(jù);二是沒有考慮運(yùn)動(dòng)目標(biāo)的遮擋。這些問題是無人機(jī)視頻運(yùn)動(dòng)目標(biāo)檢測(cè)跟蹤的重點(diǎn)和難點(diǎn)內(nèi)容,有待進(jìn)一步研究。