李 磊,郭俊輝
(上海海事大學(xué) 信息工程學(xué)院,上海 201306)
近年來,為了提高航運(yùn)的安全性,海事CCTV成功運(yùn)用到了船舶監(jiān)管系統(tǒng)中,與岸基VTS與AIS系統(tǒng)相互補(bǔ)充,為航道的安全發(fā)揮了重要的作用。但是遺憾的是,就目前CCTV系統(tǒng)完全依賴工作人員值守,需要手動控制云臺,并且要求工作人員一直盯著顯示系統(tǒng),獲取視頻信息,通過人為的理解和判斷才能做出相應(yīng)的決策。這無疑增加了海事管理部門的人力資源的浪費(fèi),且工作效率不高。特別是在監(jiān)控點(diǎn)較多、船舶密度較大的情況下,完全依賴人工操作是一項十分繁重的任務(wù)。因此對CCTV的自動或者半自動化的需求越來越迫切。為了解決這個問題,浙江大學(xué)的洪晶[1]提出了海事場景的網(wǎng)絡(luò)視頻監(jiān)控,通過網(wǎng)絡(luò)獲取現(xiàn)場視頻圖像并監(jiān)控用戶自定義的區(qū)域,缺點(diǎn)是目標(biāo)被遮擋后會出現(xiàn)跟蹤丟失。李斌[2]提出利用粒子濾波構(gòu)造運(yùn)動船舶模型,以此實(shí)現(xiàn)對運(yùn)動船舶的檢測與跟蹤,這種方法可以很好地描述運(yùn)動船舶的檢測與跟蹤,但是在船舶靜止或者航道背景變化的情況下檢測跟蹤效果不好。武漢理工大學(xué)的葉玲利[3]提出利用背景幀差法實(shí)現(xiàn)內(nèi)河視頻監(jiān)控中運(yùn)動船舶檢測和遮擋分離,這可以解決背景不動的運(yùn)動船舶檢測的問題,但是對于背景不斷變化且船舶目標(biāo)行進(jìn)緩慢的情況下達(dá)不到理想的檢測跟蹤效果。為了實(shí)現(xiàn)在復(fù)雜背景不斷變化且船舶航行緩慢的甚至被遮擋情況下的檢測與跟蹤,提出了一種新的基于稀疏表示的船體檢測與跟蹤算法。該算法對視頻序列逐幀檢測且對航道背景是否變化無要求,可以解決文獻(xiàn)[2-3]因航道背景變化或者船體目標(biāo)行進(jìn)緩慢而引起漏檢的問題;該算法中稀疏表示對船體的檢測具有很好的魯棒性,可以解決文獻(xiàn)[1]因船體目標(biāo)被遮擋而引起的跟蹤丟失問題。
稀疏表示是由OLSHAUSEN等人[4]提出的能對復(fù)雜信號進(jìn)行壓縮表示并能高效重構(gòu)的方法,近幾年在模式識別及計算機(jī)視覺領(lǐng)域引起了廣泛的關(guān)注,且在目標(biāo)檢測與跟蹤中取得了很好的效果。下面對稀疏表示原理闡述如下。其中圖1描述的是稀疏表示原理。設(shè)信號y∈Rl維待表示信號,A∈Rl×p的冗余字典,則信號y可表示如式(1)所示。
其中x∈Rp的系數(shù)向量,因?yàn)閘<
其中,‖·‖0表示統(tǒng)計系數(shù)向量x非零元數(shù)的個數(shù)。
圖1 稀疏表示原理(圖片引自文獻(xiàn)[5])Fig.1 Sparse representation theory(Images from the literature[5])
由于在實(shí)際應(yīng)用中允許一定的誤差存在,所以可將上式最優(yōu)化求解問題轉(zhuǎn)化成求解不等式(3)的過程。
其中,ε為誤差閾值,‖·‖2表示求取二范數(shù)。將式(3)轉(zhuǎn)化為無約束形式,如式(4)所示。
其中,λ為調(diào)節(jié)參數(shù),且λ?0。理論上,λ越大,系數(shù)向量x越稀疏,且當(dāng) λ→0 時,ε→0。 在式(4)中,當(dāng) λ=0時,式(4)將變?yōu)樽钚《斯烙媶栴}。在所有線性組合中,最小二乘估計量的均方誤差最小。式(2)到式(4)中的優(yōu)化問題是無法求解的NP-hard問題,所以通常要考慮近似的解法。目前國內(nèi)外研究的求解算法可歸入以下三大類[6-7]:貪婪追蹤算法,這類方法通過每次迭代時選擇一個局部最優(yōu)解逐漸實(shí)現(xiàn)原始信號的逼近;凸松弛算法,這類方法通過將非凸優(yōu)化問題轉(zhuǎn)化為凸優(yōu)化問題求解實(shí)現(xiàn)信號的逼近;組合算法,這類方法通過信號的采樣支持通過分組測試快速重建。
為了構(gòu)建特征矩陣,需對采集得到的船體樣本與航道背景樣本分別構(gòu)建船體樣本的特征矩陣D和航道背景樣本的特征矩陣F。首先將船體樣本和航道背景樣本的尺寸歸一化為60×120。然后對船體樣本庫與航道背景庫中的樣本進(jìn)行下采樣,采樣頻率越高,樣本保留的細(xì)節(jié)信息就越多,相應(yīng)地數(shù)據(jù)就越繁雜。針對樣本庫中含有的樣本的個數(shù)以及下采樣得到的信息的復(fù)雜度,對60×120大小的樣本采用6×6的采樣頻率。將采樣得到的數(shù)據(jù)按先后順序排成一列,以此作為所采樣樣本的特征向量。最后分別將船體樣本庫和航道背景庫采樣得到的特征向量分別按列排列組成各自的特征矩陣D=[d1,d2,…,dn]和 F=[f1,f2,…,fn]。 其中 di和 fj分別為第 i個船體樣本和第j個航道背景樣本經(jīng)下采樣得到的單列向量,且di∈R200、fj∈R200。 圖 2、圖 3分別表示經(jīng)下采樣得到的部分船體樣本特征矩陣和部分航道背景樣本特征矩陣。
圖2 Vessel characteristic matrixFig.2 船體特征矩陣
圖3 Waterway characteristic matrixFig.3 航道背景特征矩陣
字典學(xué)習(xí)就是從數(shù)據(jù)中學(xué)習(xí)系數(shù)表示下的最優(yōu)表示,使得字典中的原子尺度和特性更接近需要表示的測試信號。為獲得性能優(yōu)良且更為緊湊的冗余字典,需要對特征矩陣和進(jìn)行訓(xùn)練學(xué)習(xí)得到表達(dá)能力更強(qiáng)的冗余字典D^和F^。
在字典學(xué)習(xí)領(lǐng)域MOD算法和K-SVD算法是其中典型的兩種方法。MOD算法每次訓(xùn)練中都同時更新所有字典原子,以促進(jìn)表述系數(shù)的稀疏化或表達(dá)誤差的不斷減少。相對應(yīng)的K-SVD算法則是在多維向量的情況下,每一輪字典更新時遍歷優(yōu)化每一個向量,與MOD算法相比,K-SVD算法同時優(yōu)化所有向量可以降低計算量,同時也可以避免陷入局部最小化問題。以特征矩陣D為例,K-SVD算法通過以下步驟[8]得到冗余字典 D^。
Step1:初始化字典 D^,D^∈Rt×s的隨機(jī)矩陣,其中 t為船體樣本特征向量的維度且s≤n,n為船體樣本總數(shù)。對D^的列向量進(jìn)行歸一化處理。
Step2:稀疏編碼階段。將每個船體樣本特征向量di用OMP追蹤算法表示為字典D^的線性表示,即求解如式(5)所示的最優(yōu)化問題:
其中di為第i船體樣本特征向量,D^為初始化的字典,Γ^i為第個船體樣本在字典D^表示下的稀疏系數(shù),‖·‖0表示統(tǒng)計非零元數(shù)的個數(shù),K為稀疏表示的稀疏閾值,且K?0。
Step3:字典更新階段。設(shè)定更新冗余字典D^的第ζ個原子d^ζ,則按以下方式更新。
①定義使用d^ζ進(jìn)行稀疏表示的船體樣本集合ω:
其中,M≤n,n為船體樣本總數(shù),Γ^(ζ,:)為原子d^ζ對應(yīng)的稀疏系數(shù)矩陣的第ζ行。
②求誤差矩陣,如式(7)所示:
其中,D為船體樣本特征矩陣,di^為字典D^的第i個原子,為原子對應(yīng)的稀疏系數(shù)矩陣 Γ^的第i行。
③由誤差矩陣Eζ選出僅與ωζ相對應(yīng)的列,得到。
Step4:直到滿足收斂條件,否則返回Step2。
正交匹配(OMP)算法[9]是在 MP算法[10]基礎(chǔ)上改進(jìn)得到的。此算法是從冗余字典中找出與待分解或者重構(gòu)的信號最為匹配的匹配原子的經(jīng)典算法之一。以冗余字典D^為例,設(shè)視頻序列測試樣本為 X。已知 D^=[,,…,],且‖‖2=1。具體過程如下所述:
算法輸入:冗余字典D^,測試樣本X,稀疏閾值K;
算法輸出:稀疏系數(shù)矩陣Ψ;
初始化內(nèi)容:殘差γ0=X,系數(shù)稀疏矩陣Ψ初始化為空,稀疏度k初始化為1;
Step1:找出殘差γ和冗余字典D^的原子積中最大值所對應(yīng)的腳標(biāo)β,即
其中,γk-1是稀疏度為k-1時的殘差,s為冗余字典D^的原子總數(shù)。
Step2:更新稀疏系數(shù)矩陣 Ψk=Ψk-1∪{βk},記錄找到的冗余字典中的重建原子集合:
Step3:由最小二乘得到:
Step4:更新殘差 γk=X-D^kΨk,k=k+1;
Step5:判斷是否k?K,若成立,則停止迭代;若不成立,則返回Step1。
馬氏距離是一種有效計算兩個樣本集相似度的算法,它考慮到了各種特性之間的聯(lián)系,且是與尺度無關(guān)的 (scaleinvariant)。一般對于服從同一分布且協(xié)方差矩陣P的兩個隨機(jī)向量x,y∈Rm,其馬氏距離可表示為:
其中P=Rm×n為隨機(jī)向量的正定協(xié)方差矩陣。由式(11)可得原始測試樣本X與重構(gòu)得到的測試樣本XD^與XF^之間的馬氏距離可表示為:
其中,S1為(X-XD^)與(X-XD^)T的正定協(xié)方差矩陣,S2為(X-XF^)與(X-XF^)T的正定協(xié)方差矩陣。 在稀疏表示船體檢測中若 d(X,XD^)?d(X,XF^),說明原始測試樣本與船體數(shù)據(jù)庫更為接近,此時將原始測試樣本判定為船體目標(biāo);反之,則判定為航道背景。最后,將判定為船體目標(biāo)的測試樣本進(jìn)行目標(biāo)標(biāo)定。
為驗(yàn)證基于稀疏表示的船體檢測算法在CCTV中的檢測跟蹤效果,本次實(shí)驗(yàn)所使用的實(shí)拍來自于長江入海口航道附近CCTV的監(jiān)控視頻,實(shí)驗(yàn)中使用的船體樣本數(shù)據(jù)庫和航道背景數(shù)據(jù)庫是在指導(dǎo)老師和實(shí)驗(yàn)室成員的共同努力下建立的。圖4顯示的是部分船體樣本數(shù)據(jù)庫。
圖4 Part of the vessel sample databaseFig.4 部分船體樣本數(shù)據(jù)庫
基于稀疏表示船體檢測測試環(huán)境:普通計算機(jī),其配置為英特爾 Xeon (志強(qiáng))W3565 3.20 GHz、 四核 CPU、8G內(nèi)存、Win7 Enterprise 64位 SP1(DirectX 11) 操作系統(tǒng),MATLAB 7.12.0(R2011a)編程環(huán)境。
在CCTV監(jiān)控視頻對稀疏表示船體檢測算法進(jìn)行檢驗(yàn)跟蹤,圖5為監(jiān)控視頻第六幀的檢測跟蹤結(jié)果,圖6為第六幀圖像中的根據(jù)冗余字典和得到的重構(gòu)測試樣本與原測試樣本之間的馬氏距離圖譜。
圖5 第六幀檢測跟蹤效果Fig.5 The detection tracking of sixth frame
圖6 測試樣本與重構(gòu)樣本間的馬氏距離Fig.6 The markov distance between test sample and reconstruction sample
在實(shí)驗(yàn)中將基于稀疏表示的船體檢測跟蹤算法與傳統(tǒng)的支持向量機(jī)(SVM)檢測跟蹤算法進(jìn)行了對比分析。在SVM檢測算法中,將船體樣本按船體方向分為八類,提取船體的梯度直方圖(HOG)[11]作為目標(biāo)的特征向量,采用投票法[12]利用SVM實(shí)現(xiàn)多分類問題,最終將多類船舶檢測結(jié)果合并為總的船體檢測結(jié)果,并進(jìn)行標(biāo)記。下面是本實(shí)驗(yàn)得到的對比結(jié)果。
1)在單幀處理時間上如表1所示。
表1 兩種檢測算法單幀處理時間Tab.1 The time used in two algorithm of single frame
從上表中可以看出,在運(yùn)行速度上基于稀疏表示(SRC)的船體檢測算法是基于支持向量機(jī)(SVM)的5倍左右,可以更實(shí)時的處理檢測任務(wù)。
2)監(jiān)控視頻前50幀的船體檢測準(zhǔn)確率與漏檢率分別如圖7、圖8所示。
圖7 船體檢測準(zhǔn)確率Fig.7 Vessel detection accuracy
圖8 船體檢測漏檢率Fig.8 Vessel miss rate
在圖7中可以發(fā)現(xiàn)基于稀疏表示的船體檢測算法的準(zhǔn)確率高于基于支持向量機(jī)的船體檢測算法,且更穩(wěn)定;圖8中25幀以后出現(xiàn)基于稀疏表示的船體檢測算法的漏檢率高于基于支持向量機(jī)的檢測算法,這說明在追求運(yùn)行時間和檢測準(zhǔn)確率的目標(biāo)基礎(chǔ)上犧牲掉了船體的漏檢率。但是在實(shí)驗(yàn)中發(fā)現(xiàn),出現(xiàn)的漏檢船體往往發(fā)生在海天線附近,這離航道內(nèi)航行的船體目標(biāo)距離較遠(yuǎn),可以很好地保證船體的安全。
從上面比較很明顯可以看出基于稀疏表示檢測跟蹤算法較SVM檢測跟蹤算法有明顯優(yōu)勢,首先在運(yùn)行時間上,稀疏表示的船體檢測算法比基于支持向量機(jī)的船體檢測跟蹤算法快了很多,實(shí)時性比較好;其次在檢測準(zhǔn)確率上有明顯的優(yōu)勢,檢測準(zhǔn)確率高,魯棒性高。由此可以得出基于稀疏表示的船體檢測算法可以更好地實(shí)現(xiàn)CCTV視頻監(jiān)控系統(tǒng)的自動或者半自動的控制。
[1]洪晶.海事場景的視頻監(jiān)控系統(tǒng)[D].浙江大學(xué),2007.
[2]李斌,孫華峰.內(nèi)河運(yùn)動船舶的準(zhǔn)確檢測跟蹤技術(shù)研究[J].微電子學(xué)與計算機(jī),2012,29(11):180-184.LI Bin,SUN Hua-feng.Research the inland river motion ships accurately detection and tracking algorithm[J].Microelectronics,2012,29(11):180-184.
[3]葉玲利.內(nèi)河視頻監(jiān)控中運(yùn)動船舶檢測和遮擋分離算法研究[D].漢理工大學(xué),2013.
[4]Olshausen B A,F(xiàn)ield J.Sparse coding with an over-complete basis set:a strategy employed by v1[J].Vision Research,1997,37(23):3311-3325.
[5]Wei Tang,Zhenwei Shi,Zhana Duren.Sparse hyperspectral unmixing using an approximate L0 norm [J].Optick,2013,125(2014):31-38.
[6]李修志,吳健,崔志明,等.復(fù)雜交通場景中采用稀疏表示的車輛識別方法[J].中國圖像圖形學(xué)報,2012,17(3):387-392.LI Xiu-zhi,WU Jian,CUI Zhi-ming,et al.Sparse representation method of vehicle recognition in complex traffic scenes[J].Journal of Image and Graphics,2012,17(3):387-392.
[7]Needell D,Tropp J.CoSaMP:Iterative signal recovery from incomplete and inaccurate samples[J].Communications of the ACM,2010,53(12):93-100.
[8]肖玲,李仁發(fā),曾凡仔,等.基于自學(xué)習(xí)稀疏表示的動態(tài)手勢識別方法[J].通信學(xué)報,2013,34(6):128-135.XIAO Ling,LI Ren-fa,ZENG Fan-zai,et al.Gesture recognition approach based on learning sparse representation[J].Journal on Communications,2013,34(6):128-135.
[9]PatiY C,Reza ifarR.K rishnaprased.Orthogonal matching pursuit:recursive function approximation with applications to wave le t decomposition[A]//Proceedings of the 27th Annual Asilomar Conference in Signals, Systems and Computers,November 1-3, 1993[C].Pacific Grove:IEEE Explore,1993.
[10]尹忠科,邵君,Pierre Vandergheynst.利用FFT實(shí)現(xiàn)基于MP的信號稀疏分解[J].電子信息學(xué)報,2006,28(4):614-618.YIN Zhong-ke,SHAO Jun,Pierre Vandergheynst.MP Based Signal Sparse Decomposition with FFT [J].Journal of Electronics&Information Technology,2006,28(4):614-618.
[11]Dalal N,Triggs B.Histograms of Oriented Gradients for Human Detection[M].CVPR,005.
[12]陳中杰,蔣剛,蔡勇.基于SVM一對一多分類算法的二次細(xì)分法研究[J].傳感器與微系統(tǒng),2013,32(4):44-47.CHENZhong-jie,JIANGGang,CAIYong.Researchofsecondary subdivision method for one-versus-one multi-classification algorithm based on SVM [J].Transducer and Microsystem Technologies,2013,32(4):44-47.