劉魯濤,王曉,李欣雨
哈爾濱工程大學(xué) 信息與通信工程學(xué)院,黑龍江 哈爾濱 150001
伴隨著小型無人機(jī)技術(shù)的快速發(fā)展,無人機(jī)在軍用、民用方面都展現(xiàn)了巨大價(jià)值,隨之而來的針對(duì)小型無人機(jī)的監(jiān)管拒止技術(shù)也具有十分重大的實(shí)際意義。通過光學(xué)手段對(duì)無人機(jī)進(jìn)行檢測跟蹤識(shí)別是反無人機(jī)技術(shù)的重要一環(huán),而其中對(duì)無人機(jī)等低空慢速小型目標(biāo)的檢測技術(shù)十分重要,并影響著整體系統(tǒng)的性能。在運(yùn)動(dòng)目標(biāo)檢測領(lǐng)域,經(jīng)典的檢測方法包括幀間差法、背景建模和光流法,這些方法在光照變化、鏡頭抖動(dòng)、動(dòng)態(tài)干擾下表現(xiàn)不佳。近年來一些基于視覺顯著性的方法和一些基于深度學(xué)習(xí)的方法被提出用以解決此類問題,Hou等[1]于2007年提出了顯著性SR算法,在頻域上得到圖像的顯著性并以此檢測目標(biāo),此類方法在天空背景下效果較好,但在天地混合背景中不能有效檢測?;谏疃葘W(xué)習(xí)的方法往往用于目標(biāo)分類。在飛行目標(biāo)檢測方向上,王茂森等[2]提出的基于幀差法改進(jìn)的無人機(jī)運(yùn)動(dòng)檢測研究,利用水平分級(jí)的方法很好地提取了目標(biāo)輪廓信息。張榮剛等[3]提出了改進(jìn)的Vibe算法,提高Vibe算法的鬼影消除速度,并消除了陰影問題,但在面臨光照變化、動(dòng)態(tài)干擾等問題時(shí)效果不佳。王曉華等[4]通過視覺顯著性對(duì)無人機(jī)目標(biāo)進(jìn)行檢測,結(jié)合AdaBoost進(jìn)行學(xué)習(xí)訓(xùn)練,可以針對(duì)較明顯無人機(jī)目標(biāo)進(jìn)行檢測,但對(duì)于無人機(jī)目標(biāo)極小的情況難以達(dá)到良好的效果。
通過研究發(fā)現(xiàn)傳統(tǒng)算法中幀間差分法可以檢測極小的目標(biāo),這個(gè)特點(diǎn)可以很大程度上提高檢測性能,但在實(shí)際場景下往往會(huì)出現(xiàn)多種動(dòng)態(tài)干擾,如行人、車輛、建筑物邊緣、噪聲點(diǎn)、飄動(dòng)的云等,這些干擾為檢測帶來了很大困難。另外幀間差分難以獲取目標(biāo)的具體輪廓位置,僅能提供目標(biāo)大致方位,這就為之后的跟蹤帶來了一定的影響[5]。
針對(duì)上述問題,在幀間差分的基礎(chǔ)上,本文提出了一種分類排除的思想,將可能存在的干擾信息分為地面干擾與空中干擾2種情況,地面干擾主要指地面背景下一些行人、車輛等動(dòng)態(tài)干擾;空中干擾主要是飄動(dòng)的云[6]。改進(jìn)SR算法中排除地面動(dòng)態(tài)干擾是通過局部復(fù)雜度分類的方法,其工作原理在于地面干擾所處的地面背景相比于天空背景更加復(fù)雜[7],其背景復(fù)雜度較高,通過閾值對(duì)背景復(fù)雜度進(jìn)行分類可以排除地面動(dòng)態(tài)干擾。經(jīng)過此步之后,剩下的就是空中干擾與目標(biāo)。為此本文將原圖像分解成LAB三通道圖像,并取其B通道數(shù)據(jù)通過自行設(shè)計(jì)的濾波器進(jìn)行濾波獲取云與天的邊緣位置圖,再將其與原SR算法輸出進(jìn)行歸一化做差,得到的圖像數(shù)據(jù)中有效地排除了大量云與天的邊緣干擾。從而利用改進(jìn)后的視覺顯著性檢測器可以排除云等動(dòng)態(tài)干擾,僅保留目標(biāo)數(shù)據(jù)。
實(shí)驗(yàn)表明本文改進(jìn)視覺顯著性SR算法中的局部復(fù)雜度分類模塊可以有效地去除地面干擾信息,在存在動(dòng)態(tài)干擾的地空背景、天空背景中表現(xiàn)出良好的檢測效果,相比于常規(guī)算法具有更好的檢測性能,在對(duì)比了其他幾種視覺顯著性算法后證明本文使用的改進(jìn)視覺顯著性SR算法具有更好的檢測效果,總體上來說,本文算法相對(duì)于對(duì)比算法具有更好的檢測效果,在處理速度上也可以達(dá)到實(shí)時(shí)的要求,有較強(qiáng)的應(yīng)用價(jià)值和實(shí)際意義。
如果將圖像序列中某一幀圖像可以分為背景和前景,前景是我們應(yīng)該檢測出的目標(biāo)和一些可能的干擾因素,背景則是相對(duì)于前景來說慢變的一部分,幀差法利用這樣的特點(diǎn)區(qū)分前景和背景。幀間差法可由式(1)~(2)表示,本算法中幀差法閾值為Th。
Df(x,y,t)=If(x,y,t)-If(x,y,t-1)
(1)
(2)
SR算法是一種利用對(duì)數(shù)光譜殘差求取取圖像顯著性區(qū)域的方法[8]。該算法具有運(yùn)行速度快效果好的特點(diǎn)。作者提出大量圖像的log振幅譜都差不多趨近一條直線,一幅圖像的log振幅譜減去平均log振幅譜就是圖像中具有顯著性部分。該方法的公式如(3)~(7):
A(f)=R(F(I[x]))
(3)
P(f)=S(F(I[x]))
(4)
L(f)=log(A(f))
(5)
R(f)=L(f)-hn(f)*L(f)
(6)
S(x)=g(x)*F-1[exp(R(f)+P(f))]2
(7)
式中:I(x)為輸入圖像,對(duì)其傅里葉變換,并且求出振幅譜為A(f),P(f)是其相位譜,Lf是log振幅譜。hn(f)是一個(gè)n×n均值濾波的卷積核,用原圖像的log振幅譜圖像減去經(jīng)平滑后的log振幅譜圖像可以得到頻譜殘差圖,利用Rf+Pf求出自然指數(shù)exp,最后求取傅里葉逆變換回到時(shí)域得到的就是顯著性區(qū)域。經(jīng)實(shí)驗(yàn)證明:SR算法在一些純天空背景下或云背景下表現(xiàn)出了良好的適應(yīng)性,但在存在明顯云天邊緣的圖片中處理效果較差,圖1是SR算法效果圖。
圖1 SR算法檢測效果
本文檢測算法的目的是在多種復(fù)雜背景圖像中檢測低慢小目標(biāo),本文算法首先獲取當(dāng)前幀中的運(yùn)動(dòng)信息,再將運(yùn)動(dòng)信息輸入改進(jìn)SR算法模塊進(jìn)行處理,去除動(dòng)態(tài)干擾信息,獲得最終檢測結(jié)果。檢測算法流程如圖2所示。
圖2 檢測算法流程
通過幀間差分離背景與前景,提取前景信息供給后續(xù)算法分析,這其中包括了真正的目標(biāo)、來自地面的干擾信息、來自空中的干擾信息,這些前景信息會(huì)通過后續(xù)算法進(jìn)行分類。
由于原SR算法受到顯著性算法的局限性,其檢測無人機(jī)時(shí)僅能針對(duì)天空背景目標(biāo)進(jìn)行檢測,針對(duì)復(fù)雜的地空混合背景該算法難以工作。另外云天邊緣部分往往會(huì)被檢測出來造成一定的干擾,本文算法的改進(jìn)流程如圖3所示。
圖3 改進(jìn)SR算法流程
局部復(fù)雜度分類模塊的目的是剔除運(yùn)動(dòng)信息中來自地面的動(dòng)態(tài)干擾。經(jīng)研究發(fā)現(xiàn)來自地面的動(dòng)態(tài)干擾所處的背景都相對(duì)來說較為復(fù)雜,如樹葉和枝干相連其背景中必然包含著復(fù)雜成分?;谶@樣的思想,可以將區(qū)別目標(biāo)與干擾物的問題轉(zhuǎn)化為局部復(fù)雜度計(jì)算的問題。
由于Canny算子具有保留強(qiáng)邊緣忽略弱邊緣的特性[9],故其在天地混合背景的圖像中往往保留大量地面建筑的強(qiáng)邊緣而忽略空中的弱邊緣,從而更有利于達(dá)到分類的目的。故先對(duì)輸入圖像進(jìn)行Canny算子邊緣提取,獲取邊緣圖像。再依次在邊緣圖像中提取各個(gè)運(yùn)動(dòng)信息的周邊區(qū)域作為敏感區(qū)域,敏感區(qū)域的小為120 pix×120 pix。在敏感區(qū)域中統(tǒng)計(jì)其中灰度值為255的像素點(diǎn)的數(shù)量,本算法通過閾值300對(duì)其進(jìn)行分類,數(shù)量小于閾值的被判斷為空中目標(biāo),反之為干擾。
圖4為邊緣圖像提取樣例與對(duì)應(yīng)原始區(qū)域圖,第1行為原始圖像中運(yùn)動(dòng)信息周邊區(qū)域,第2行為邊緣信息提取樣例。圖中可以明顯看出地面干擾對(duì)應(yīng)的邊緣圖像較為復(fù)雜,空中目標(biāo)的邊緣圖像較為簡單。
圖4 邊緣圖像提取樣例與對(duì)應(yīng)原始區(qū)域
經(jīng)過篩選之后,剩余運(yùn)動(dòng)目標(biāo)中除了實(shí)際的檢測目標(biāo)外還存在一些飄動(dòng)的云產(chǎn)生的動(dòng)態(tài)干擾,從圖1中可以看到原SR算法在周圍背景具有不明顯邊緣的情況下,可以達(dá)到比較好的效果,但面對(duì)一些較為復(fù)雜的混合背景情況下,算法出現(xiàn)了一些干擾信息。原SR算法適用于多種自然場景下[10],但本文中經(jīng)過之前模塊的處理已經(jīng)將復(fù)雜的天地混合的場景簡化到天空?qǐng)鼍暗姆秶鷥?nèi),天空背景往往是由天空和云兩種元素構(gòu)成,在這種情況下背景具有很強(qiáng)的相關(guān)性,通過對(duì)這類圖片的測試發(fā)現(xiàn)通過原SR算法處理的結(jié)果中存在的干擾部分是天空與云的明顯的邊緣,若對(duì)該類邊緣進(jìn)行抑制則能使得到的結(jié)果更好。此部分的步驟如下:
1)首先要將原圖像從RGB空間轉(zhuǎn)換為LAB空間,并提取LAB圖像中B通道的圖像。在RGB空間中一些亮度信息被摻雜在RGB三個(gè)顏色通道中難以區(qū)分,而LAB空間中,A、B通道中完全不含亮度信息[11],這就為我們確定背景中的藍(lán)天位置與云位置提供了方便,一般情況下背景中藍(lán)天中包含較高的藍(lán)色信息,從而在B通道中獲得一個(gè)較高的值,相反若排除亮度因素影響,烏云與白云中幾乎不含藍(lán)色信息,其在B通道圖像中表現(xiàn)出較低的值。
2)對(duì)獲取的B通道圖像進(jìn)行7×7的卷積運(yùn)算以提取其邊緣信息位置,這些位置就是天與云的交接位置,式(8)描述了卷積核的構(gòu)成,H(x,y)描述了卷積核的構(gòu)成,其取值為卷積中心所對(duì)應(yīng)B通道圖像I(x,y)周邊7×7鄰域中的值最大的一項(xiàng)為1,最小的一項(xiàng)為-1,其余為零。然后以該核與原圖像卷積獲取最后圖像,最終結(jié)果圖像D(x,y)中某一像素的值是I(x,y)圖像周邊鄰域中最大值與最小值的差,該差值越大代表此像素越可能屬于天與云的邊緣區(qū)域。
(8)
D(x,y)=I(x,y)?H7*7(x,y)
(9)
3)將原始視頻圖像輸入SR算法,獲取檢測結(jié)果圖像,并將結(jié)果圖像S(x,y)與D(x,y)進(jìn)行歸一化做差,歸一化方法如式(10)所示:并以此求得的顯著性圖像作為改進(jìn)SR算法輸出Q(x,y),Q(x,y)代表了去除云天邊緣干擾后的顯著圖像。
(10)
圖5第1行為原始圖像,第2行為將B通道值提取出來產(chǎn)生的灰度圖,第3行是經(jīng)過式(9)~(10)處理的云天干擾圖D(x,y),第4行是改進(jìn)SR算法的輸出。
圖5 改進(jìn)SR算法中間結(jié)果與最終輸出
圖6中圖片是背景分析過程中的一些圖片,其中圖6(a)是建筑物的邊緣;圖6(b)是電塔局部;圖6(c)是樹枝圖像;圖6(d)是地面場景的運(yùn)動(dòng)行人;圖6(e)~(h)是無人機(jī)不同場景下成像。
圖6 局部復(fù)雜度分類輸入樣本
表1為圖6中各圖片局部復(fù)雜度計(jì)算結(jié)果,根據(jù)表1可以看出,本文提出的局部復(fù)雜度分類方法在多數(shù)情況下可以有效地區(qū)分天空與地面目標(biāo),僅在天空中云干擾較大的情況下出現(xiàn)了誤判的情況,該算法可以實(shí)現(xiàn)分離天空與地面的目標(biāo)的功能。
本文選取了6種視覺顯著性算法與本文算法作對(duì)比, 分別是SR[1]、AC[12]、LC[13]、FT[14]、SIM[15]、CA[16],比較時(shí)考慮多種背景情況進(jìn)行分析比較,具體內(nèi)容如圖7~14所示。
圖7 天空背景下存在目標(biāo)時(shí)各算法顯著圖
圖8 烏云白云背景下各算法顯著圖
圖9 彩色天空背景下各算法顯著圖
圖10 淺色天空背景下各算法顯著圖
從圖7、9中可以比較看出,當(dāng)背景為純天空背景時(shí),大部分算法都能對(duì)目標(biāo)進(jìn)行有效的檢測,本文算法可以不受天空中云的影響,其余算法都存在一定的干擾。圖8、10所示含云背景下,LC算法、CA算法不能很好工作,SR算法與本文方案都能處理這種環(huán)境。
從圖11、12中的效果來看,當(dāng)背景信息的對(duì)比極其明顯且存在很多明顯的邊緣信息時(shí),僅有SR算法與本文算法能給出較好的效果,但SR算法結(jié)果中包含了大量的背景干擾信息,此類信息對(duì)檢測性能會(huì)產(chǎn)生不利影響,而本文算法幾乎不受此類干擾影響,雖然得到的目標(biāo)強(qiáng)度不高,但很好地抑制了干擾。
圖11 藍(lán)天白云背景下各算法顯著圖
圖12 烏云天空背景下各算法顯著圖
從圖13、14中可以看出,當(dāng)復(fù)雜背景中無目標(biāo)時(shí)SR算法依然得到了高亮的目標(biāo)顯著區(qū)域,而本文算法圖像中抑制了大部分干擾,同樣情況下含目標(biāo)時(shí)本文算法可以抑制類似的相似干擾區(qū)域。定性的分析,本文算法的檢測效果要好于其他對(duì)比算法。
圖13 復(fù)雜背景下無目標(biāo)時(shí)各算法顯著圖
圖14 復(fù)雜背景下存在目標(biāo)時(shí)各算法顯著圖
從算法用時(shí)上分析可見表2,測試輸入為大小為256 pix×256 pix的圖片,各算法處理百次并取時(shí)間均值,并對(duì)各個(gè)算法的時(shí)間進(jìn)行分析,測試機(jī)采用i5-6300 CPU,2.3 GHz主頻的計(jì)算機(jī),SIM算法與CA算法采用MATLAB實(shí)現(xiàn)。其余各個(gè)算法都采用VS2010+OpenCv2.4.9的方式進(jìn)行實(shí)現(xiàn)。
從時(shí)間的角度來看,本文算法的速度相比于LC算法、FT算法、SIM算法、SR算法存在一定劣勢,但綜合時(shí)間與效果考慮,本文算法在此方向上優(yōu)于現(xiàn)有方法。
為了驗(yàn)證本文的總體檢測性能,本文針對(duì)不同環(huán)境下的視頻進(jìn)行測試,測試視頻選取6 000 f進(jìn)行測試。主要的測試指標(biāo)包括誤檢率、漏檢率、正確率、運(yùn)行速度這4個(gè)方面。分別對(duì)視頻中每一幀的目標(biāo)情況計(jì)算,當(dāng)有且僅有目標(biāo)被檢測出來則為正確,若目標(biāo)未被檢測出來則為漏檢,若還有其他干擾被檢測出來則為誤檢。在比較時(shí)選取了目前比較常用的背景差算法Vibe算法、與常規(guī)的幀間差分法,結(jié)果如表3所示。
表3 天地混合背景目標(biāo)檢測情況表
表4為天空背景目標(biāo)檢測情況表,從表4中可以看出本文算法整體檢測準(zhǔn)確率最高,相比常規(guī)方法有明顯優(yōu)勢,但本文算法增加了時(shí)間復(fù)雜度,在對(duì)漏檢要求不高的系統(tǒng)中更好工作。
表4 天空背景目標(biāo)檢測情況表
1)經(jīng)實(shí)驗(yàn)發(fā)現(xiàn),本文中改進(jìn)視覺顯著性SR算法在針對(duì)空中目標(biāo)進(jìn)行檢測時(shí)比傳統(tǒng)檢測算法準(zhǔn)確率更高,并擁有實(shí)時(shí)計(jì)算的能力;
2)本文改進(jìn)SR算法中的局部復(fù)雜度分類模塊可以有效地分類地面動(dòng)態(tài)干擾與空中目標(biāo);
3)本文改進(jìn)SR算法進(jìn)行檢測時(shí)獲得的顯著性圖,相比于其他顯著性算法干擾因素更少,檢測效果更加準(zhǔn)確,更適合在天空背景下工作。