楊 磊 ,龐 芳 ,胡豁生
(1.上海大學(xué)機電工程與自動化學(xué)院,上海 200444;2.埃塞克斯大學(xué)計算機科學(xué)與電氣工程學(xué)院,埃塞克斯郡科爾切斯特CO4 3SQ)
運動目標(biāo)檢測作為計算機視覺領(lǐng)域中重要和基礎(chǔ)的研究領(lǐng)域之一,在計算機視覺中有著廣泛的應(yīng)用,它的精確度、完整性和快速性對后續(xù)運動目標(biāo)分析產(chǎn)生很大影響,所以視頻序列中的運動目標(biāo)檢測具有非常重要的研究意義.20世紀(jì)60年代初,國外就開始了對運動目標(biāo)檢測的研究.運動目標(biāo)檢測的實質(zhì)就是從視頻序列中將變化部分從背景中提取出來.其中,背景差分法[1]是經(jīng)典的運動目標(biāo)檢測方法之一,其核心思想是利用當(dāng)前圖像與背景圖像的差分來檢測運動目標(biāo)區(qū)域.背景建模是背景差分法的關(guān)鍵環(huán)節(jié),常用的背景模型有高斯模型[2]、支持向量模型[3]、模糊模型[4]、子空間學(xué)習(xí)模型和魯棒子空間模型[5]等.其中Wright等人[6]提出的魯棒主成分分析(robust principal component analysis,RPCA)是一種重要的魯棒子空間建模法,已被廣泛應(yīng)用到運動目標(biāo)檢測中.基于RPCA的運動目標(biāo)檢測方法通過將視頻序列矩陣近似看作是低秩的背景矩陣與稀疏的運動目標(biāo)矩陣之和,從而實現(xiàn)運動目標(biāo)檢測.該類方法不用背景建模就可以提取出運動目標(biāo).然而,基本RPCA方法只有在簡單場景[7-9]中檢測效果較好,當(dāng)面對復(fù)雜場景時,它的準(zhǔn)確度就會急劇退化.為了克服基本RPCA方法的不足,諸多研究者對RPCA進行了改進,GUYON等人[10]提出了低秩和塊稀疏矩陣分解的前景檢測算法,這種分解增強了背景的低粗糙度和前景的塊稀疏性.SHAHID等人[11]提出了一種基于圖正則化的RPCA算法,提高了主成分對于遮擋和缺失值的魯棒性和增強低秩恢復(fù).GAO等人[12]提出全變分正則化的RPCA方法,將空間和時間連續(xù)性引入到原始RPCA中,從而在單一目標(biāo)函數(shù)中形成目標(biāo)問題.Ye等人[13]提出了一個運動輔助矩陣恢復(fù)模型的前景與背景分離算法.JAVED等人[14]在Ye的基礎(chǔ)上提出了一種基于RPCA 的時空稀疏頻譜聚類的正則化算法,該算法在存在遮擋、雜波、抖動和突變強度變化的情況下也能產(chǎn)生準(zhǔn)確的背景模型.胡紹華等人[15]針對ViBe算法對于動態(tài)背景不魯棒的問題進行改進,同時引入了超像素特征,提出了基于超像素特征的運動目標(biāo)檢測算法.另外,ZHU等人[16]在RPCA基礎(chǔ)上提出一種L1/2和空間連續(xù)正則化運動檢測算法,NEHORAI[17]引入結(jié)構(gòu)化稀疏范數(shù)正則化項來精確地檢測前景.趙志偉等人[18]提出了一種基于角度鄰域的多目標(biāo)差分進化算法,通過在選擇操作中引入弱支配概念,實現(xiàn)了對多目標(biāo)優(yōu)化問題的求解.可見,雖然RPCA在運動目標(biāo)檢測方面取得了一定理論研究成果與實際應(yīng)用,但仍存在一些值得進一步研究的問題.
在基于RPCA的運動目標(biāo)檢測方法中,由于奇異值分解(singular value decomposition,SVD)的多次迭代運算使得RPCA從損壞的觀測值中恢復(fù)出低秩矩陣需要較大的計算量,加上初始模型沒有利用好運動目標(biāo)的時空連續(xù)的特性,會比較容易將動態(tài)背景判定為運動目標(biāo).針對RPCA存在的不足,本文利用運動目標(biāo)在時間和空間上的連續(xù)性和背景在時間和空間上的相關(guān)性,提出了一種新的運動目標(biāo)檢測方法.由于運動目標(biāo)在時間和空間上的特征,這在數(shù)學(xué)上滿足全變分的定義,所以本文利用全變分來對運動目標(biāo)進行約束,從而較為精確地把動態(tài)背景和運動目標(biāo)分離開.另外,由于全變分在視頻處理時的計算量相對較大,受Shu等人[19]提出的魯棒性正交子空間學(xué)習(xí)(robust orthonormal subspace learning,ROSL)的啟發(fā),進一步令低秩矩陣的秩由正交子空間表示系數(shù)矩陣的非零行代替,得到新的運動檢測模型.實驗結(jié)果表明本文方法能很好地檢測到復(fù)雜背景下的運動目標(biāo),同時還具有較快的運行速度.
近年來,RPCA是較熱門的運動檢測方法.RPCA通過引入低秩表示與稀疏表示聯(lián)合表示,來獲取運動視頻序列中的背景和運動目標(biāo)部分.它主要的思路:將視頻序列所構(gòu)成的觀測數(shù)據(jù)矩陣分為兩部分:具有低秩特性的背景部分和稀疏特性的運動目標(biāo)部分.其公式表達(dá)如下式所示:
式中:X∈Rm×n表示視頻序列構(gòu)成的數(shù)據(jù)矩陣,B∈Rm×n和F∈Rm×n分別表示低秩背景矩陣和稀疏運動目標(biāo)矩陣;rank(B)表示矩陣B的秩;為矩陣F的l0范數(shù);λ表示縮放因子,用來平衡背景和運動目標(biāo)之間的比重.由于rank(·)和都是非凸的,求解上式會是一個NP-hard問題,故通過凸松弛將上式轉(zhuǎn)化為
基于RPCA的運動目標(biāo)檢測方法能夠同時建立背景模型和提取出運動目標(biāo),不需要預(yù)先準(zhǔn)備好只含有背景的視頻序列模型,而且也不存在參數(shù)更新的問題.然而,該方法只能很好地處理背景靜態(tài)和運動目標(biāo)移動連續(xù)的理想情況,動態(tài)背景下的RPCA檢測準(zhǔn)確度就會急劇退化.本文針對動態(tài)背景下運動目標(biāo)檢測的問題,在RPCA的基礎(chǔ)上提出了新方法,其思路如下:首先,根據(jù)運動目標(biāo)在時空的連續(xù)性,利用全變分對其進行約束;其次,令低秩矩陣的秩由其正交子空間表示系數(shù)矩陣的非零行代替以加快整體的運行速度;最后,在RPCA的基礎(chǔ)上提出本文方法的理論模型并進行求解.圖1是本文方法的基本框架.
圖1 本文方法的基本框架圖Fig.1 Framework of the method
圖1中:X表示待處理的視頻序列,C表示某正交子空間基,α表示稀疏系數(shù)矩陣,M表示動態(tài)稀疏矩陣,E表示動態(tài)背景矩陣,F表示運動目標(biāo)矩陣,Ik是單位矩陣.
RPCA運動檢測方法是把數(shù)據(jù)矩陣分為低秩矩陣和稀疏矩陣,低秩矩陣對應(yīng)于背景,稀疏矩陣對應(yīng)于運動目標(biāo).由于本文主要研究在動態(tài)背景下的運動目標(biāo)檢測,要充分考慮到稀疏矩陣不僅包含運動目標(biāo),還包含動態(tài)背景.故本文將稀疏矩陣又進一步分解為運動目標(biāo)矩陣和動態(tài)背景矩陣.因為運動目標(biāo)在時間和空間上連續(xù)的特征滿足全變分的定義,本文利用全變分范數(shù)(total variational,TV)來對運動目標(biāo)進行約束.為便于本文方法模型的建立和理解,這里首先給出二維TV范數(shù)定義:假設(shè)二維圖像為u∈Rm×n,u(i,j)表示在像素點(i,j)處的灰度值,它的全變分定義為
式中ux(i,j)和uy(i,j)分別表示水平和垂直方向的灰度值變化.本文要處理的視頻數(shù)據(jù)均屬于三維空間,根據(jù)二維TV范數(shù),可得出三維TV范數(shù)定義為
式中:X(i,j,t)表示在t時刻像素點(i,j)的灰度值;X(i,j,t)在像素點(i,j)沿水平、垂直和時間方向的變化量分別表示為
利用三維TV范數(shù)對運動目標(biāo)進行約束,得到本文方法的初級模型如下所示:
式中:X∈Rm×n是視頻序列構(gòu)成的數(shù)據(jù)矩陣;B∈Rm×n是低秩背景矩陣;M∈Rm×n是稀疏矩陣;E∈Rm×n是動態(tài)背景矩陣;F∈Rm×n是運動目標(biāo)矩陣;是矩陣F的全變分范數(shù);λ1,λ2和λ3是平衡參數(shù)因子.
在RPCA中,由于SVD的多重迭代運算,其本身的計算復(fù)雜度為O(min(m2n,mn2)),再加上全變分的計算是基于像素級的,如果不對上述模型進行改進,整體的運行速度將會非常緩慢.需要在不影響準(zhǔn)確度的條件下,仍能使整體算法保持較快的運行速度.RPCA中的SVD迭代運算占用了較多運行時間,本文在ROSL的啟發(fā)下,將對低秩矩陣的核范數(shù)求解轉(zhuǎn)化其正交子空間下的最小稀疏系數(shù)矩陣非零行數(shù)目的求解.假設(shè)給定一個輸入矩陣B∈Rm×n,同時,C={C1,C2,···,Ck}∈Rm×k(m< 式中α=[α1; α2; ...; αk]∈Rk×n是稀疏系數(shù)矩陣. 若沒有特殊要求,在稀疏表示下Frobenius范數(shù)正則化通常是核范數(shù)的有效替代,如下式所示: ROSL中矩陣秩的最小化可以通過最小化稀疏系數(shù)的非零行數(shù)目獲取,具體表示為 式中:CTC=Ik是避免α的消失,對正交字典進行約束;k表示子空間的維度.但求解此問題是NP-hard問題,通常使用核范數(shù)作為矩陣秩的凸近似[20],l1范數(shù)作為l0范數(shù)的凸近似,ROSL得出如下替代式: 本節(jié)采用交替方向乘子法(alternating direction method of multipliers,ADMM)依次迭代求解式(11).首先,將式(11)寫成增廣拉格朗日形式: 式中:Y1∈Rm×n,Y2∈Rm×n是拉格朗日乘子;μ>0是增廣拉格朗日參數(shù);<·,·>表示矩陣內(nèi)積.同時優(yōu)化這8個變量計算復(fù)雜,類似坐標(biāo)下降法[21],采用每次只最小化一個變量,固定其他變量的方式,具體迭代步驟如下: 1)求解Cj+1,αj+1: 在X+Y1/μ=Cα+M約束下,同時求解C和α是一個非凸問題.但當(dāng)把這個問題看成一個子問題,即固定一個矩陣,更新另一個矩陣時,該問題就成了一個凸問題.ROSL中使用塊坐標(biāo)下降法(block coordinate descent,BCD)對該問題求解.假設(shè)某子空間基C=[C1··· Ct··· Ck]和 系 數(shù) 矩 陣α=[α1;··· ; αt;··· ; αk],BCD通過保持所有其他指標(biāo)不變,依次更新(Ct,αt),如下式: 當(dāng)考慮正交子空間時,需要通過Gram-Schmidt過程對Ctj+1進行正交化.新的Ctj+1通過3個步驟得到:首先,投 影 到C=[C1··· Ct?1]空 間 上;然 后,將Ctj+1更新為等式(14);最后,通過歸一化將其投影到單位球面上. 2)求解Mj+1. 為方便計算,先計算出下式: 則Mj+1更新如下式: 式中:shrink(a,b)表示元素的軟閾值運算:shrink(a,b)=sgn a×max(|a|?b,0). 3)求解Ej+1: 4)求解Fj+1: Fj+1可以通過優(yōu)化下式得到: 需將Fp∈Rm×1,Gp∈Rm×1重新堆疊為 m1和n1分別是指原視頻幀的行長和列長. 把上式分成n個子問題求解,每個子問題使用梯度投影方法.最后,把每個子問題求得的fp再次重新堆疊得到Fpj+1=reshape(fp)∈Rm×1,獲得最終更新后的Fj+1: 5)求解Y1j+1,Y2j+1: 6)求解μj+1: 為了驗證本文方法的有效性,實驗將采用公開視頻庫的視頻序列和作者拍攝的視頻序列進行實驗分析.在相同條件下,將本文所提出的方法與其他4種近期的同類方法(DECOLOR[22],GRASTA[23],MAMR[13],RPCA[9])進行對比.實驗在MATLAB 2016 環(huán)境下實現(xiàn),實驗所選用的計算機是64位操作系統(tǒng)的戴爾筆記本電腦,處理器為Intel(R)Core(TM)i5-8250U CPU@1.60 GHz 1.80 GHz.沒有特別說明,本文方法的參數(shù)都設(shè)置為默認(rèn)值: ρ=1.2, nummax=500,μ0=1000/norm(norm是視頻矩陣的最大奇異值),λ1=λ2;對于平衡全變分的λ3需要分情況,當(dāng)處理的視頻序列只存在靜態(tài)背景時λ3=,當(dāng)處理的視頻序列含有動態(tài)背景時λ3=,這里的m 和n分別是單個視頻幀的寬度和高度. 本文用DECOLOR,GRASTA,MAMR,RPCA 和本文方法先對作者拍攝的單人目標(biāo)和雙人目標(biāo)運動的視頻進行實驗,再對Lobyy視頻和Hall視頻組進行實驗.這4組視頻序列的背景比較簡單,都只是存在光線明暗變化的問題.由于視頻序列較大,本文只取了其中連續(xù)40幀視頻序列進行運動目標(biāo)檢測實驗分析. 圖2 是DECOLOR,GRASTA,MAMR,RPCA和本文方法在作者拍攝視頻序列的運動目標(biāo)檢測結(jié)果,第1行分別選取的單人運動目標(biāo)(左)和雙人運動目標(biāo)(右)視頻序列中的兩幀圖像,第2-5行分別是DECOLOR,GRASTA,MAMR 和RPCA 恢復(fù)的背景圖像和運動目標(biāo)檢測結(jié)果,最后1行是本文方法恢復(fù)的背景圖像和運動目標(biāo)檢測結(jié)果. 圖2 5種方法在作者拍攝視頻序列上的運動目標(biāo)檢測結(jié)果Fig.2 Motion object detection results of 5 methods on video sequences taken by authors 圖3是DECOLOR,GRASTA,MAMR,RPCA和本文方法在Lobyy和Hall視頻的運動目標(biāo)檢測結(jié)果,第1行分別選取的Lobyy視頻(左)和Hall視頻(右)中的兩幀圖像,第2-5分別是DECOLOR,GRASTA,MAMR和RPCA恢復(fù)的背景圖像和運動目標(biāo)檢測結(jié)果,最后1行是本文方法恢復(fù)的背景圖像和運動目標(biāo)檢測結(jié)果. 圖3 5種方法在Lobyy和Hall視頻上的運動目標(biāo)檢測結(jié)果Fig.3 Motion object detection results of 5 methods on Lobyy and Hall videos 通過圖2和圖3可以看出,對于背景只存在光線明暗變化的單人運動目標(biāo)視頻、Lobyy視頻和Hall視頻序列,GRASTA 的檢測效果最差;本文方法和DECOLOR,MAMR,RPCA都能很好的把運動目標(biāo)檢測出來,且較好的恢復(fù)出背景.對于前半段運動比較緩慢的雙人運動目標(biāo)視頻序列,GRASTA檢測效果最差;RPCA的檢測效果次之,其檢測出來的運動目標(biāo)存在明顯的“空洞”現(xiàn)象;而本文方法和剩余2種方法均能把運動目標(biāo)很好地檢測出來.除了檢測效果上的比較,本文對5種方法在相同的運算精度(10?3)情況下的運行時間比較如表1所示. 表1 5種方法的運行時間對比表Table 1 Comparing tables of running time of 5 methods 從表1可以看出,在精度要求相同的條件下,本文方法在運行速度上雖然不是最優(yōu),但始終要小于RPCA.本文把對低秩矩陣的核范數(shù)求解轉(zhuǎn)化為最小稀疏系數(shù)矩陣非零行數(shù)目的求解,使得方法在運行速度上與其他同類方法相當(dāng). 為了驗證本文算法在動態(tài)背景下的運動檢測效果,選取Overpass視頻序列[24]進行實驗對比分析.Overpass是CDnet數(shù)據(jù)集中包含動態(tài)背景的運動視頻序列,該視頻數(shù)據(jù)集中不僅包含輸入視頻每幀的原圖,還包含二值化處理后的標(biāo)準(zhǔn)運動目標(biāo)檢測圖,這為運動檢測方法的準(zhǔn)確度對比提供了標(biāo)準(zhǔn). 圖4是用DECOLOR,GRASTA,RPCA,MAMR和本文方法在Overpass視頻上的運動檢測結(jié)果.從圖4的檢測效果可看出,這5種方法都能把運動目標(biāo)大體標(biāo)示出來,但GRASTA的檢測效果算是相對最差的,它只能把輪廓給提取出來,且受抖動樹葉影響較大;盡管RPCA可以更好地檢測到運動目標(biāo),但它也受抖動樹葉影響較大;DECOLOR和MAMR比前兩種方法檢測出來的效果要好,都能夠較完整的檢測出運動目標(biāo),受抖動樹葉影響也較小.通過對比發(fā)現(xiàn),以上4種方法都存在一個共同的問題:4種方法后面檢測到的運動目標(biāo)上方都存在拖尾的現(xiàn)象,幾乎無法辨別出人形.其中原因是后面幾幀圖像中運動目標(biāo)移動比較緩慢,致使恢復(fù)的背景受運動目標(biāo)的影響.而本文方法所檢測到的運動目標(biāo)中幾乎沒有受抖動樹葉的影響,檢測效果較好,且后期不存在拖尾現(xiàn)象. 圖4 5種方法在Overpass視頻上的運動目標(biāo)檢測結(jié)果Fig.4 Motion object detection results of 5 methods on Overpass video 為了定量的比較,采用準(zhǔn)確度p來比較本文方法與其他4種方法的運動目標(biāo)檢測結(jié)果,如下式所示: 式中:TMn是Overpass視頻中對應(yīng)的標(biāo)準(zhǔn)運動目標(biāo)圖像中總的像素個數(shù)(運動目標(biāo)像素總數(shù)+背景像素總數(shù));Mn是各個方法實際檢測到的運動目標(biāo)像素個數(shù)的總和;Bn是各個方法實際檢測到的背景像素個數(shù)的總和. 通過式(29)計算出參考方法和本文方法的準(zhǔn)確率如表2所示,同時將各個方法在相同精度條件下運行時間進行對比如表3所示.由表2可見,本文方法在準(zhǔn)確率上比其他4種方法都高.由表3可見,本文方法的運行時間雖不是最快的,但快于RPCA和其他幾種同類方法. 表2 5種方法準(zhǔn)確度對比表Table 2 5 methods accuracy comparison table 表3 5種方法運行時間對比表Table 3 5 methods running time comparison table 為了有效地檢測復(fù)雜背景視頻序列中的運動目標(biāo),本文提出了一種低秩-稀疏與全變分表示的運動目標(biāo)檢測方法.該方法根據(jù)運動目標(biāo)在時間和空間上的連續(xù)性,對其進行全變分約束;同時考慮到全變分的計算對運行速度的影響,進而把對低秩矩陣的核范數(shù)求解轉(zhuǎn)化最小稀疏系數(shù)矩陣非零行數(shù)目的求解,以此提高方法的運行速度,得到新的運動檢測模型并進行求解.實驗結(jié)果表明,與其他同類方法相比,本文方法在含復(fù)雜背景的視頻序列運動目標(biāo)檢測的準(zhǔn)確率有明顯優(yōu)勢,而且運行速度較快.優(yōu)化提出方法的效率是本文進一步的工作.3.2 模型求解
4 實驗結(jié)果與分析
4.1 靜態(tài)背景的視頻序列運動檢測
4.2 動態(tài)背景的視頻序列運動檢測
5 結(jié)論