蔣晶晶,安博文
(1.上海海事大學(xué) 信息工程學(xué)院 電子工程系,上海 201306;2.上海海事大學(xué) 信息工程學(xué)院,上海201306)
低空航拍視頻中基于Vibe算法的船舶檢測(cè)方法*
蔣晶晶1,安博文2
(1.上海海事大學(xué) 信息工程學(xué)院 電子工程系,上海 201306;2.上海海事大學(xué) 信息工程學(xué)院,上海201306)
針對(duì)低空航拍視頻中的船舶檢測(cè)研究普遍存在因背景變化及水紋擾動(dòng)導(dǎo)致的識(shí)別效果不理想等問(wèn)題,提出了一種基于改進(jìn)型Vibe(Visual background extractor)算法的船舶檢測(cè)方法。該方法在傳統(tǒng)Vibe算法基礎(chǔ)上融合了改進(jìn)型的Canny算子,采取平滑濾波與自適應(yīng)閾值分割策略提高了船舶輪廓提取的準(zhǔn)確性。利用四方位結(jié)構(gòu)元素的形態(tài)學(xué)機(jī)制,降低了水面波紋對(duì)目標(biāo)識(shí)別的干擾影響。對(duì)于船舶檢測(cè)中的內(nèi)部空洞則選取了種子填充法進(jìn)行填充,最后根據(jù)船舶外輪廓實(shí)現(xiàn)對(duì)船舶目標(biāo)的框定。實(shí)驗(yàn)結(jié)果表明,所提出的改進(jìn)型Vibe算法的船舶檢測(cè)效果明顯優(yōu)于傳統(tǒng)方法,驗(yàn)證了其可行性與實(shí)用性。
船舶檢測(cè);Vibe算法;Canny算子;種子填充法
空中航拍技術(shù)作為目標(biāo)船舶動(dòng)態(tài)監(jiān)管的重要手段之一,具有成本低、實(shí)現(xiàn)簡(jiǎn)單等諸多優(yōu)勢(shì),但通過(guò)空中巡航方式進(jìn)行海事監(jiān)管時(shí),由視覺監(jiān)控實(shí)現(xiàn)目標(biāo)船舶的實(shí)時(shí)檢測(cè)成為了一大技術(shù)難題[1]。
當(dāng)前學(xué)術(shù)界對(duì)于目標(biāo)檢測(cè)的方法主要分為以下三類:幀間差分法、背景減除法、光流法。幀間差分法主要是利用視頻圖像序列連續(xù)兩幀或三幀的差異來(lái)檢測(cè)出運(yùn)動(dòng)區(qū)域,但對(duì)于目標(biāo)的輪廓檢測(cè)很不理想,甚至無(wú)法檢測(cè)完整的目標(biāo)邊界;背景減除法最主要的部分就是背景建模,模型的好壞直接影響前景目標(biāo)的檢測(cè)效果;光流法是利用光流場(chǎng)的變化來(lái)檢測(cè)運(yùn)動(dòng)目標(biāo),在理想狀態(tài)下檢測(cè)效果較好,但是光照變化時(shí),即使物體沒(méi)有運(yùn)動(dòng)也會(huì)被檢測(cè)出來(lái)[2-4]。Vibe算法是BARNICH O等知名學(xué)者在圖像處理領(lǐng)域提出的一種動(dòng)態(tài)目標(biāo)檢測(cè)方法[5]。該方法允許在多種動(dòng)態(tài)與靜態(tài)環(huán)境下進(jìn)行目標(biāo)檢測(cè),且經(jīng)過(guò)學(xué)術(shù)界諸多學(xué)者的研究考量,證實(shí)了其良好的實(shí)時(shí)性和有效性,成為了目標(biāo)檢測(cè)技術(shù)中具有重要意義的有效檢測(cè)算法。但由于低空航拍視頻中的船舶目標(biāo)大小不一、運(yùn)動(dòng)速度緩慢,以及無(wú)人機(jī)的不定向運(yùn)動(dòng)等影響,傳統(tǒng)Vibe算法對(duì)船舶目標(biāo)的檢測(cè)效果不理想,無(wú)法檢測(cè)到船舶的外輪廓信息,船舶內(nèi)部也存在大量空洞。本文針對(duì)低空航拍視頻中船舶檢測(cè)問(wèn)題,提出了一種基于改進(jìn)型Vibe算法的低空航拍視頻中的船舶檢測(cè)方法,將傳統(tǒng)Vibe算法與改進(jìn)型Canny算子邊緣檢測(cè)進(jìn)行融合,并利用增強(qiáng)型種子填充法進(jìn)行船舶目標(biāo)優(yōu)化,實(shí)現(xiàn)了低空航拍視頻中對(duì)船舶目標(biāo)的有效檢測(cè)。
Vibe算法首次將隨機(jī)選擇機(jī)制和鄰域傳播機(jī)制應(yīng)用于背景模型的建立與更新,是一種基于樣本的背景建模方法[6]。該算法為每一個(gè)像素建立一個(gè)樣本集,此樣本集由過(guò)去時(shí)刻該位置與其鄰域位置像素值組成,然后將現(xiàn)在此處的像素值與這個(gè)樣本集中的像素進(jìn)行對(duì)比來(lái)判斷此像素是否屬于背景,再隨機(jī)地對(duì)背景模型進(jìn)行更新[7]。其基本原理主要包含背景模型初始化、前景檢測(cè)、背景模型更新三大部分[8-10]。
假設(shè)圖像x處給定的歐式顏色空間像素值為V(x),背景模型中的每個(gè)像素由N個(gè)背景樣本值組成:M(x)={v1,v2,…vN}(vi為索引是i的背景樣本值)。背景模型初始化就是選取V(x)的過(guò)程,隨機(jī)地從x的八鄰域NG(x)中選取N個(gè)樣本值來(lái)初始化背景模型M0(x)={V0(y|y∈NG(x))}。
前景檢測(cè)即像素分類的過(guò)程,Vibe算法是通過(guò)比較2D空間中的歐式距離來(lái)對(duì)像素進(jìn)行分類的。如圖1所示,記為以x為中心、R為半徑的區(qū)域。通過(guò)比較SR(V(x))與M(x)交集的個(gè)數(shù)是否大于給定的閾值#min來(lái)進(jìn)行判斷,若大于或者等于,則這個(gè)像素點(diǎn)x屬于背景點(diǎn),即完成像素點(diǎn)是背景點(diǎn)還是前景點(diǎn)的分類。
圖1 2-D歐式空間中像素分類
在更新單個(gè)像素樣本集中20個(gè)樣本值時(shí),因單個(gè)值的選取原則是隨機(jī)的,所以模型中樣本值出現(xiàn)的概率呈指數(shù)型衰減,那么該樣本集在T時(shí)刻不被更新的概率為(N-1)/N。若時(shí)間是連續(xù)的,那么在dt時(shí)間之后,樣本集中的樣本值依然保留不被更新的概率則為:
(1)
因低空航拍視頻中待檢測(cè)船舶目標(biāo)較大且運(yùn)行較慢,所以僅使用傳統(tǒng)的Vibe算法難以達(dá)到檢測(cè)完整性與準(zhǔn)確性的要求。本文所述Vibe算法主要是在傳統(tǒng)算法基礎(chǔ)上融合改進(jìn)型Canny算子來(lái)增強(qiáng)船舶目標(biāo)輪廓提取的完整性,對(duì)于水面波紋采用四個(gè)方向的結(jié)構(gòu)元素進(jìn)行形態(tài)學(xué)處理的方法,進(jìn)而優(yōu)化檢測(cè)結(jié)果。
2.1 改進(jìn)型Vibe算法流程
本文所述的改進(jìn)型Vibe算法流程如圖2所示。根據(jù)讀入的視頻幀,將Vibe算法得到的前景目標(biāo)與改進(jìn)型Canny算子邊緣檢測(cè)后的邊緣特征圖進(jìn)行融合,從而得到航拍視頻中的船舶目標(biāo)。為了使船舶目標(biāo)更加完整與準(zhǔn)確,方便后續(xù)的跟蹤,在得到前景目標(biāo)后進(jìn)行了目標(biāo)優(yōu)化與船舶框定。
圖2 改進(jìn)型Vibe算法流程
2.2 改進(jìn)型Canny算子提取船舶輪廓
利用改進(jìn)型Canny算子進(jìn)行邊緣檢測(cè)的主要步驟如下:
(1)采用中值濾波代替高斯濾波來(lái)平滑圖像,實(shí)驗(yàn)表明中值濾波對(duì)水面波紋的平滑效果比高斯濾波效果更好。
(2)結(jié)合傾斜方向梯度與原梯度方向信息,采用兩個(gè)對(duì)角線模板計(jì)算圖像傾斜方向上的梯度,45°和135°對(duì)角模板矩陣分別為Mat1和Mat2:
(2)
(3)
與45°對(duì)角模板對(duì)應(yīng)的梯度計(jì)算方法為:
(4)
與135°對(duì)角模板對(duì)應(yīng)的梯度計(jì)算方法為:
(5)
這里的自適應(yīng)閾值分割采用的是最大類間方差法[11]。將圖像按灰度特性分為前景和背景兩部分,定義參數(shù)如表1所示。
表1 閾值分割相關(guān)參數(shù)
假設(shè)一幅圖像的大小為M×N,圖像背景較暗,圖像中灰度值小于閾值T(前景)的像素個(gè)數(shù)為N0,大于閾值T(背景)的像素個(gè)數(shù)為N1。則可得前景像素點(diǎn)個(gè)數(shù)占整幅圖像的比例ω0=N0/(M×N),背景像素點(diǎn)個(gè)數(shù)占整幅圖像的比例ω1=N1/(M×N),ω0與ω1存在如下關(guān)系:
ω0+ω1=1
(6)
圖像的總平均灰度計(jì)算方法為:
μ=ω0×μ0+ω1×μ1
(7)
類間方差為:
g=ω0(μ0-μ)2+ω1(μ1-μ)2
(8)
由式(7)、(8)可得g=ω0×ω1×(μ0-μ1)2,采用遍歷的方法即可得到使類間方差最大的閾值T。
2.3 形態(tài)學(xué)濾波抑制水面雜波
由于低空航拍視頻中水面波紋震動(dòng)明顯,且拍攝方向的轉(zhuǎn)變會(huì)造成水面波紋的方向變化,因此利用四種方向的結(jié)構(gòu)元素去濾除水面波紋噪聲對(duì)船舶目標(biāo)檢測(cè)的影響。本文考慮了水平、垂直、對(duì)角線等幾種不同尺寸的結(jié)構(gòu)特點(diǎn),設(shè)計(jì)了如圖3所示的4種方向的結(jié)構(gòu)元素。
圖3 四種方向的結(jié)構(gòu)元素
設(shè)f(x,y)是輸入圖像,g(x,y)是結(jié)構(gòu)元素。用結(jié)構(gòu)元素對(duì)圖像進(jìn)行腐蝕和膨脹運(yùn)算分別定義為:
(fΘg)(x,y)=min{f(x-i,y-j)-g(-i,-j)}
(9)
(f⊕g)(x,y)=max{f(x-i,y-j)+g(-i,-j)}
(10)
形態(tài)學(xué)開運(yùn)算定義為:
fog=(fΘg)⊕g
(11)
對(duì)同一幅圖像分別用這四種方向的結(jié)構(gòu)元素進(jìn)行形態(tài)學(xué)開運(yùn)算,再利用式(12)進(jìn)行融合,便可實(shí)現(xiàn)對(duì)水面雜波的濾除效果。
f=mean(f1,f2,f3,f4)
(12)
由于航拍視頻中船只目標(biāo)較大,單純的種子填充不能夠滿足實(shí)際的需求,例如種子點(diǎn)不在搜索二值圖像的空洞內(nèi)而在外部。本文的目標(biāo)優(yōu)化采用了相與的計(jì)算方法來(lái)填充灰度圖像的空洞現(xiàn)象,具體算法步驟如下。
(1)選取圖像原點(diǎn)(0,0)作為種子點(diǎn),對(duì)圖像進(jìn)行填充,填充顏色設(shè)為白色,如圖4(a)所示。
(2)理想情況下此時(shí)幀上只存在黑色空洞部分,然后對(duì)灰度圖上的灰度像素值進(jìn)行顏色反轉(zhuǎn)計(jì)算,即灰度圖像素值為1時(shí)賦值0,灰度圖像素值為0時(shí)賦值1,得到的結(jié)果圖4(b)所示。
(3)將原圖5(a)與步驟(2)得到的圖像4(b)疊加得到全局的灰度圖像后再進(jìn)行腐蝕濾波處理得到圖5(e)所示的修復(fù)后的圖像。
圖4 目標(biāo)優(yōu)化
船舶框定的過(guò)程就是根據(jù)船舶的面積以及長(zhǎng)寬比對(duì)檢測(cè)到的前景目標(biāo)進(jìn)行篩選與外輪廓提取,然后再根據(jù)外輪廓框定船舶目標(biāo),方便后期的船舶定位與跟蹤。
實(shí)驗(yàn)用到的視頻是由無(wú)人機(jī)在黃浦江流域拍攝的,視頻分辨率為1 280×720;系統(tǒng)平臺(tái)為32位Windows 7系統(tǒng);軟件實(shí)施平臺(tái)為VS2010和OpenCV2.4.8。
圖5 垂直拍攝實(shí)驗(yàn)
圖5、圖6給出了垂直拍攝和非垂直拍攝兩組實(shí)驗(yàn)的對(duì)比實(shí)驗(yàn)結(jié)果。在不同實(shí)驗(yàn)條件下,不同算法提取的船舶目標(biāo)效果各不相同。本文所提出算法的檢測(cè)效果明顯優(yōu)于傳統(tǒng)Vibe算法。具體分析結(jié)果如下:由圖5(b)和圖6(b)可以看出傳統(tǒng)Vibe算法對(duì)低空航拍視頻中無(wú)論是垂直拍攝還是非垂直拍攝的船舶目標(biāo)檢測(cè)效果都不太理想,船舶輪廓不清晰甚至嚴(yán)重缺損,此外還存在一定的鬼影[12-13]。Canny邊緣檢測(cè)后的結(jié)果圖如圖5(c)和圖6(c)所示,可以實(shí)現(xiàn)船舶輪廓的基本提取,將其與Vibe算法的檢測(cè)結(jié)果進(jìn)行融合后得到如圖5(d)和6(d)所示的效果,彌補(bǔ)了Vibe算法的輪廓檢測(cè)缺點(diǎn)。再對(duì)前景融合后的結(jié)果圖進(jìn)行目標(biāo)優(yōu)化,解決船舶空洞問(wèn)題,使得船舶外輪廓連續(xù),如圖5(e)和圖6(e)所示,便于根據(jù)船舶外輪廓進(jìn)行框定。圖5(f)和圖6(f)顯示了用最小外接矩形對(duì)船舶目標(biāo)進(jìn)行連通域標(biāo)記后的檢測(cè)結(jié)果。
圖6 非垂直拍攝實(shí)驗(yàn)
表2 兩種算法運(yùn)行時(shí)間比較
表2為傳統(tǒng)Vibe算法和本文算法分別處理24幀連續(xù)的圖片所用時(shí)間的對(duì)比??梢娪捎诒疚脑趥鹘y(tǒng)Vibe算法基礎(chǔ)上增加了Canny邊緣檢測(cè)以及前景融合和目標(biāo)優(yōu)化,算法運(yùn)行時(shí)間有所增加,但仍然能滿足實(shí)時(shí)檢測(cè)的要求。
本文根據(jù)低空航拍視頻中船舶目標(biāo)檢測(cè)的實(shí)際需求,以前景目標(biāo)檢測(cè)算法中最新的Vibe算法為基礎(chǔ),針對(duì)其檢測(cè)效果的缺點(diǎn)融合了改進(jìn)型Canny算子邊緣檢測(cè)算法,并對(duì)融合后的前景目標(biāo)進(jìn)行優(yōu)化。將理論算法與實(shí)際相結(jié)合,研究實(shí)現(xiàn)了基于改進(jìn)型Vibe算法的低空航拍視頻中的船舶檢測(cè)方法。該方法適用于海事無(wú)人機(jī)進(jìn)行電子巡航時(shí)對(duì)船舶目標(biāo)的檢測(cè)。
[1] 元海文,肖長(zhǎng)詩(shī),文元橋,等.基于顯著性分析的HOG快速船舶檢測(cè)方法[J].中國(guó)航海,2016,39(01):69-73.
[2] WREN B C,AZARBAYEJANI A,DARREL T,et al.Pfinder:
real-time tracking of human body[J].Transaction on Pattern Analysis and Machine Intelligence,2015,19(7):780-785.
[3] 庾鵬,王旭,仝天樂(lè),等.基于GrabCut算法和四幀差分法的目標(biāo)提取算法[J].微型機(jī)與應(yīng)用,2016,35(11):40-42.
[4] BARRON B J L,FLEET D J,BEAUCHEMIN S S,et al.Performance of optical ow techniques[C].Proceedings of the Conference on Computer Vision and Pattern Recognition,2010:236-242.
[5] BARNICH O,VAN ROOGENBROECK M.ViBe:a powerful random technique to estimate the background in video sequence[C].International Conference on Acoustics Speech and Signal Processing(ICASSP),2009:945-948.
[6] 王輝,宋建新.一種基于閾值的自適應(yīng)Vibe目標(biāo)檢測(cè)算法[J].計(jì)算機(jī)科學(xué),2015,42(6A):154-157.
[7] BARNICH O,VAN ROOGENBROECK M,EVS B E,et al.ViBe:a universal background subtraction algorithm for video sequence[J].IEEE Transactions on Image Processing,2011,20(6):1709-1724.
[8] MAHOOR E,MAGHSOUMI H,ASEMANI D.An improved motion detection algorithm using ViBe[C].International Conference on Computing,Communication and Networking Technologies,2015:1-5.
[9] YANG W,ZENG P,FANG D.An improved algorithm for motion detection based on Vibe[J].Icic Express Letters,2015,9(9):2475-2481.
[10] 余燁,曹明偉,岳峰.EVibe:一種改進(jìn)的Vibe運(yùn)動(dòng)目標(biāo)檢測(cè)算法[J].儀器儀表學(xué)報(bào),2014,35(4):924-931.
[11] 譚艷麗,趙永強(qiáng).一種改進(jìn)的二維Otsu閾值分割法[J].半導(dǎo)體光電,2014,35(5):937-940.
[12] 王珦磊,唐加山.一種基于YUV顏色空間自適應(yīng)陰影消除算法[J].微型機(jī)與應(yīng)用,2016,35(7):44-47.
[13] Dou Jianfang,Li Jianxun.Moving object detection based on improved VIBE and graph cutoptimization[J].Optik-International Journal for Light and Electron Optics,2013,124(23):6081-6088.
Ship detection method in low aerial video based on Vibe
Jiang Jingjing1,An Bowen2
(1.Department of Electronic Engineering,Information Engineering College,Shanghai Maritime University,Shanghai 201306,China; 2.Information Engineering College,Shanghai Maritime University,Shanghai 201306,China)
Ship detection in low-altitude aerial video universally has not ideal performance due to background disturbances and ripples.In response to the issues,a new method is proposed based on improved Vibe (Visual background extractor).This saliency-mixture of improved Canny operator consists of smoothing and adaptive thresholding strategy to realize comparatively higher accuracy of ship contour extraction.Morphological mechanisms of the four-way structural elements reduce interference caused by ripples in target recognition.Internal cavity in ships model is filled though seed filling algorithm,finally,ship contours are identified precisely according to the outline of its characteristic.The experimental results demonstrate that the proposed method is significantly superior to the traditional method,and its feasibility and practicality have been proved.
ship detection; Vibe algorithm; Canny operator; seed filling algorithm
國(guó)家自然科學(xué)基金(61171126)
TP391.41
A
10.19358/j.issn.1674- 7720.2017.10.013
蔣晶晶,安博文.低空航拍視頻中基于Vibe算法的船舶檢測(cè)方法[J].微型機(jī)與應(yīng)用,2017,36(10):44-47.
2016-12-20)
蔣晶晶(1993-),通信作者,女,碩士研究生,主要研究方向:前景目標(biāo)檢測(cè)、圖像處理。E-mail:jiangjingjing930@163.com。
安博文(1969-),男,博士、教授,主要研究方向:遙感圖像處理。