張云佐,郭凱娜,蔡昭權,李汶軒
(1 石家莊鐵道大學信息科學與技術學院,石家莊050043)
(2 石家莊鐵道大學河北省電磁環(huán)境效應與信息處理重點實驗室,石家莊050043)
(3 汕尾職業(yè)技術學院,廣東汕尾516600)
隨著人們安全意識的提升,視頻監(jiān)控系統(tǒng)得到了廣泛的應用,由此產生的監(jiān)控視頻數(shù)據(jù)量日益劇增。監(jiān)控攝像機通常固定安裝且長時間持續(xù)拍攝,導致監(jiān)控視頻背景單一、運動片段和靜止片段交叉存在,而人們通常只關注其中的運動片段。如何從海量的監(jiān)控視頻中快速提取運動片段有著迫切的現(xiàn)實需求,這也引起了研究人員的廣泛關注[1-3],并涌現(xiàn)出了大量的研究成果。
現(xiàn)有的運動片段提取方法多是基于運動目標檢測取得的,在傳統(tǒng)的運動目標檢測方法中,文獻[4]融入了改進的關鍵幀提取方法,以單個運動對象為目標進行視頻空間上的壓縮;文獻[5]對背景圖像和使用濾波處理后的連續(xù)幀間差分圖像進行差分運算,在該方法中運動速度較慢的物體也能得到較好的檢測;文獻[6]通過計算歷史運動幀的能量來反映視頻中運動目標的時空信息,實現(xiàn)運動片段提取;文獻[7]將改進的局部紋理特征二值模式和顏色特征相結合用于背景建模,并結合像素的鄰域相關性抑制虛假前景,可以很好地應對多模態(tài)背景場景;文獻[8]將背景差分法和改進順序輪廓分離策略相結合,在背景差分法檢測前景運動過程中,將改進的順序輪廓分離策略用于運動目標發(fā)現(xiàn),可以區(qū)分復雜情況下大小和數(shù)量不斷變化的運動目標;文獻[9]在傳統(tǒng)光流法的基礎上計算了光流場四個邊界的平均運動向量來提取前景目標,檢測效果有所提升但運算量明顯增大。基于上述目標檢測方法進行運動片段提取可以取得較為理想的效果,但由于這些方法需要處理視頻空域全量數(shù)據(jù),逐幀檢測運動目標,計算量大、耗費時間長。
隨著人工智能的快速發(fā)展,深度學習方法被廣泛應用于目標檢測領域,文獻[10]設計了一種端到端的用于間歇性目標檢測的深度卷積神經網(wǎng)絡,該網(wǎng)絡以視頻中的相鄰兩幀作為輸入,根據(jù)像素之間的對應關系檢測出運動目標;文獻[11]提出了金字塔注意力模塊來獲取關鍵目標信息,并將擴張卷積塊專用于多尺度特征提供語義信息和幾何細節(jié),來獲得運動前景。此類算法需要大量的樣本數(shù)據(jù)預先訓練模型,算法復雜度高且對硬件設備有較高要求。
隨著移動設備的廣泛應用,在線運動片段提取的需求日益迫切,現(xiàn)有方法通常運算量大、算法復雜度高,難以應用到計算資源受限的移動設備上。文獻[12]提出了邊界檢測方法來降低運算量,很好地解決了跨越監(jiān)視區(qū)域邊界的運動目標檢測問題,但對監(jiān)視區(qū)域內部的目標檢測效果并不理想。為此,本文提出了一種嵌套橢圓時空管道的監(jiān)控視頻運動片段快速提取算法,該算法采用橢圓時空采樣來兼顧運動目標檢測的準確率和待處理的視頻數(shù)據(jù)量;采用時空平面圖全面分析監(jiān)視區(qū)域內的運動狀況;實現(xiàn)全面、快速地提取監(jiān)控視頻運動片段。
本文提出了一種嵌套橢圓時空管道的監(jiān)控視頻運動片段快速提取算法,首先對輸入視頻序列進行橢圓時空采樣以檢測跨越視頻邊界的運動目標;其次遞進橢圓時空采樣生成嵌套橢圓時空管道;然后展開嵌套橢圓時空管道形成時空平面圖;最后基于時空平面圖構建時空流量模型進而提取監(jiān)控視頻運動片段。本文所提算法的流程如圖1。
圖1 本文算法流程Fig.1 Flowchart of proposed algorithm
時空切片是一種能夠高效表達視頻序列時空信息的方式,被廣泛應用于視頻分析領域[13]。根據(jù)采樣線的選擇方式不同,時空切片具有不同的表現(xiàn)形式。在現(xiàn)實監(jiān)控場景下,目標在監(jiān)視區(qū)域內通常沿直線運動,如果運動目標在水平或垂直時空切片中一直以平行于采樣線的方向運動,目標將不會跨越采樣線,此時就會造成目標的丟失,導致漏檢。邊界時空采樣[12]可以檢測到來自各個方向的運動目標,但不能檢測到在監(jiān)視區(qū)域內部運動的目標。
本文提出橢圓時空采樣,如圖1 時空采樣模塊所示,根據(jù)不同寬高比的視頻序列,自適應地產生內切于視頻幀的橢圓采樣線,當運動目標進入或退出監(jiān)視區(qū)域時,會跨越橢圓采樣線,通過計算圖中橢圓采樣線的周長可以得出,其周長明顯小于邊界采樣線的周長,因此該采樣方式可以兼顧來自各個方向的運動目標并且需要處理的數(shù)據(jù)量更小。對于現(xiàn)實監(jiān)控場景來說,運動目標的軌跡多抽象為直線、拐角及其組合,因此不會導致漏檢。提取視頻序列每一幀的采樣像素,按照時間軸T依次向后排列,形成橢圓時空管道,有目標跨越橢圓采樣線時,會在橢圓時空管道上留下運動痕跡。
為了全面檢測監(jiān)視區(qū)域內的運動目標,采用遞進橢圓時空采樣的方式來劃分監(jiān)視區(qū)域,圖2(a)給出了3條橢圓采樣線的劃分示例,對應形成了3 個子監(jiān)視區(qū)域。同理,采用n條橢圓采樣線時,視頻將被劃分為n個子監(jiān)視區(qū)域,橢圓采樣線條數(shù)越多,運動目標的漏檢率越低。
不同的子監(jiān)視區(qū)域對應不同周長的橢圓時空管道,將各橢圓時空管道按時間軸T排列,周長越短的排列越靠后,形成如圖2(b)所示的嵌套橢圓時空管道。
圖2 嵌套橢圓時空管道的形成Fig.2 The formation of nested elliptical spatio-temporal tubes
沿嵌套橢圓時空管道的時間軸T方向將其展開可得到時空平面圖。對于一個寬高為M×N共有T幀的監(jiān)控視頻,由外向內橢圓采樣線周長分別為L1,L2,…,Ln,計算周長為L的橢圓采樣線上某一像素在視頻幀中的坐標(x,y),首先定義θ為
式中,S是弧長,L是對應橢圓采樣線的周長,則θ是橢圓采樣線上坐標點與橢圓中心的連線和x軸正方向的夾角。
式中,a是橢圓采樣線長軸的長度,b是橢圓采樣線短軸的長度,a、b分別為監(jiān)控視頻幀寬度的1/2 和高度的1/2。將第k幀視頻中橢圓采樣線上各個像素的坐標自上向下排列,可以形成長度為L的列向量Ek,可表示為
對視頻序列中的每一幀進行相同的橢圓采樣,提取每個橢圓上的像素,用表示第k幀上第i行第j列的像素,得到每一幀的Ek,將這些向量按時間順序從左到右依次排列,可以得到橢圓時空管道的平面圖SE,可表示為
將嵌套橢圓時空管道沿時間軸T方向展開,可以得到如圖3所示的嵌套橢圓時空管道的時空平面圖,從圖中可以看到運動目標跨越橢圓采樣線時在時空平面圖上留下的痕跡。
圖3 嵌套橢圓時空管道的時空平面圖Fig.3 Spatio-temporal plane maps of nested elliptical spatio-temporal tubes
運動片段由目標進入監(jiān)視區(qū)域開始,到目標退出監(jiān)視區(qū)域截止,目標進入監(jiān)視區(qū)域賦予正流量,退出監(jiān)視區(qū)域賦予負流量。為了確定子監(jiān)視區(qū)域中運動目標的進入和退出,引入了次采樣線,如圖4所示,若運動目標先跨越子監(jiān)視區(qū)域的采樣線后跨越次采樣線,則為進入子監(jiān)視區(qū)域;若運動目標先跨越次采樣線后跨越采樣線,則為退出子監(jiān)視區(qū)域。
圖4 次采樣線及時空流量示意圖Fig.4 Schematic diagram of sub-sampling lines and spatio-temporal flow
將時空平面圖中運動目標的質心歸一化,如果運動目標進入子監(jiān)視區(qū)域,將運動目標像素的值賦為1,如果運動目標退出子監(jiān)視區(qū)域,將運動目標像素的值賦為-1。則第n個子監(jiān)視區(qū)域的橢圓時空切片展開圖中第k幀的瞬時時空流量Fn(fk)為
式中,pi,k表示展開圖中第i行第k列的像素的值,即第k幀的像素,L表示對應橢圓采樣線的周長。設N為子監(jiān)視區(qū)域的總數(shù)目,那么第n個子監(jiān)視區(qū)域的瞬時時空流量定義為
第n個子監(jiān)視區(qū)域的累計時空流量定義為
根據(jù)式(8)~(11)可計算出橢圓時空管道的瞬時時空流量和累計時空流量,構建時空流量模型。在該模型中,瞬時時空流量大小反映了相應幀中運動目標是進入還是退出子監(jiān)視區(qū)域,累計時空流量大小反映了相應幀子監(jiān)視區(qū)域中運動目標的數(shù)量。
獲得每個子監(jiān)視區(qū)域的累計時空流量AFi后,依據(jù)監(jiān)控視頻中運動目標的稠密程度,將監(jiān)控視頻劃分為N個子監(jiān)視區(qū)域,將每個子監(jiān)視區(qū)域的累計時空流量取并集,可以得到整個監(jiān)視區(qū)域的累計時空流量,可表示為
根據(jù)式(12)獲得的累計時空流量可以提取出整個監(jiān)控視頻的運動片段。
實驗環(huán)境為Windows10 系統(tǒng)、Intel(R)Core(TM)i5-8265U CPU、NVIDIA GeForce MX250 顯卡,內存16 G。為了驗證本文算法的正確性和有效性,在20 段監(jiān)控視頻上進行了實驗,實驗視頻涉及多種場景,Video1-Video13 來自公共數(shù)據(jù)集SISOR,Video14、Video15 來自公共數(shù)據(jù)集KTH,Video16-Video18 來自公共數(shù)據(jù)集CAVIAR,Video19、Video20 為真實場景采集的監(jiān)控視頻,視頻的詳細信息如表1。
表1 實驗視頻信息Table 1 Information of experimental videos
為了分析本文算法的有效性,使用計算時間(Calculating time,Tc)、準確率(Precision,P)、召回率(Recall,R)和F1-score(F1)來衡量算法的性能,統(tǒng)計實驗結果中所有被識別為運動片段的視頻幀,若幀中包含運動目標,則該幀為真正例(NTP),若幀中不包含運動目標,則該幀為假正例(NFP),對于包含運動目標但沒有被識別為運動片段的幀,稱為假負例(NFN)。準確率、召回率和F1-score 的計算表達式分別為
分別選取1 條橢圓采樣線(1E)、2 條橢圓采樣線(2E)、3 條橢圓采樣線(3E)和4 條橢圓采樣線(4E)對表1 中的20 段視頻進行實驗分析,并與當前主流的文獻[4]、文獻[6]和文獻[9]中的運動片段提取算法進行實驗對比,表2 為對比算法和本文算法在20 段實驗視頻上的平均計算時間、平均準確率、平均召回率和平均F1的值。
從表2 的平均計算時間可以看出,本文算法的計算時間明顯低于文獻[4]、文獻[6]和文獻[9]中算法的計算時間,主要原因是本文算法僅對時空平面圖進行處理,即每幀只處理橢圓采樣線上的像素,而不需逐幀逐像素處理,大大減少了數(shù)據(jù)量。假設視頻的大小為M×N×T,M表示視頻幀的高,N表示視頻幀的寬,T表示視頻序列的長度,則本文算法的計算復雜度為O(2×N+(π-2)×M),而對比算法的計算復雜度為O(M×N×T),O(2×N+(π-2)×M)?O(M×N×T),可以看出本文算法的計算復雜度遠小于對比算法,因此大大降低了計算時間。
從表2 的平均準確率可以看出,本文算法的平均準確率高于文獻[4]、文獻[6]和文獻[9]中算法,隨著橢圓采樣線數(shù)量的增多,平均準確率會略微降低,這是因為橢圓采樣線的增多可能會將小目標誤認為運動目標,降低準確率,但本文算法的平均準確率依然高于對比算法。從平均召回率可以看出,當橢圓采樣線的數(shù)量小于4 時召回率略低于改進光流法,這是因為所提算法僅計算橢圓采樣線上的像素點,當橢圓采樣線數(shù)量過少時可能遺漏部分運動目標,但隨著橢圓采樣線數(shù)量的增多,平均召回率逐漸提高,采用4 條橢圓采樣線時,本文算法的平均召回率已經高于對比文獻的算法。從平均F1可以看出,采樣線數(shù)量增多時,F(xiàn)1逐漸提高,說明本文算法整體的性能相較于對比算法有所提升,證明了本文算法具有良好的監(jiān)控視頻運動片段提取性能。
為了驗證本文算法的正確性,選用具有代表性的視頻Video1 和Video19 進行分析,其中Video1 為行人在室內運動的場景,兩個行人分別進入監(jiān)視區(qū)域并退出,Video19 為多個行人在室外運動的場景。
Video1 的瞬時時空流量、累計時空流量如圖5。當瞬時時空流量大于0 時,應為目標進入監(jiān)視區(qū)域,相應的累計時空流量應逐漸上升;當瞬時時空流量小于0 時,應為目標退出監(jiān)視區(qū)域,相應的累計時空流量應逐漸下降,Video1 的時空流量曲線跳變處的視頻幀如圖6。
圖5 Video1 的時空流量Fig.5 Spatio-temporal flow of video1
圖6 Video1 的時空流量曲線跳變處的部分視頻幀F(xiàn)ig.6 The part of the video frames at spatio-temporal flow curve changed of video1
Video1 的第181、385 幀為運動目標進入監(jiān)視區(qū)域,對應的瞬時時空流量大于0,累計時空流量呈上升趨勢;第321、505 幀為運動目標退出監(jiān)視區(qū)域,對應的瞬時時空流量小于0,累計時空流量呈下降趨勢。通過圖6 可以看出,181~321 幀為運動目標從監(jiān)視區(qū)域右側進入,從左側退出,是一段完整的運動片段,對應的累計時空流量大于0;385~505 幀為運動目標從監(jiān)視區(qū)域左側進入,從右側退出,是一段完整的運動片段,對應的累計時空流量大于0;其余幀累計時空流量等于0,為靜止片段,印證了本文算法的正確性。
對Video19 使用2 條橢圓采樣線進行實驗分析,使用本文算法,2 條橢圓采樣線可以將視頻序列分割為兩個子監(jiān)視區(qū)域,以第一個子監(jiān)視區(qū)域為例進行分析,Video19 中目標的運動狀態(tài)、對應的瞬時時空流量和累計時空流量如圖7所示。
從圖7 中可以看出,第75、341、852、931 幀為運動目標跨越橢圓采樣線進入子監(jiān)視區(qū)域,子監(jiān)視區(qū)域相應的瞬時時空流量大于0,累計時空流量呈上升趨勢;第172、761、1 235 幀為運動目標跨越橢圓采樣線退出子監(jiān)視區(qū)域,對應的瞬時時空流量小于0,累計時空流量呈下降趨勢,印證了本文算法的正確性。
圖7 Video19 的時空流量分析圖Fig.7 Spatio-temporal flow analysis chart of video19
當累計時空流量大于0 時,表明進入子監(jiān)視區(qū)域的運動目標數(shù)量大于退出子監(jiān)視區(qū)域的運動目標數(shù)量,該部分視頻為運動片段;當累計時空流量等于0 時,表明子監(jiān)視區(qū)域沒有運動目標進出,該部分視頻為靜止片段。
特別地,當累計時空流量小于0 時,表示退出子監(jiān)視區(qū)域的運動目標數(shù)量大于進入子監(jiān)視區(qū)域的運動目標數(shù)量,說明有目標由靜止轉為運動。
綜上所述,本文算法在保證了精確度的同時,有效降低了計算復雜度,實現(xiàn)了監(jiān)控視頻運動片段的快速提取。實際應用中,子監(jiān)視區(qū)域劃分的越多,運動片段提取的精確度也就越高,但計算量也會隨之增大。
本文提出了一種嵌套橢圓時空管道的運動片段快速提取算法,利用遞進的橢圓采樣線對監(jiān)控視頻序列進行采樣,將監(jiān)控視頻劃分為多個子監(jiān)視區(qū)域并檢測運動目標,通過構建時空流量模型提取運動片段,在保證檢測精度的前提下極大地減小了計算量,可以實現(xiàn)監(jiān)控視頻運動片段的快速提取。下一步工作,將研究運動片段中運動模式分類與目標精準識別。