張云佐,李汶軒,郭亞寧,王 蕾,崔世強
(石家莊鐵道大學 信息科學與技術(shù)學院,河北 石家莊 050043)
近年來,視頻監(jiān)控技術(shù)廣泛應(yīng)用于社會生產(chǎn)生活的各個方面,交通路口、銀行、以及各種銷售場所等都安裝了監(jiān)控攝像頭,視頻數(shù)據(jù)量呈現(xiàn)爆炸式增長,面對如此龐大的數(shù)據(jù),結(jié)合智能算法分析的智能視頻監(jiān)控成為未來發(fā)展的必然趨勢[1],如何實現(xiàn)海量監(jiān)控視頻的快速瀏覽,以及在海量視頻中快速檢索出需要的視頻資料進行分析和處理,已經(jīng)成為急需解決的問題[2]。監(jiān)控視頻智能分析技術(shù)應(yīng)運而生,如監(jiān)控視頻分割技術(shù)[3-4],視頻運動目標檢測和提取技術(shù)[5-6],視頻摘要技術(shù)[7-8]等。
視頻分割算法可以歸類為空間分割和時域分割兩種。空間分割是一種靜態(tài)分割,只對單幅圖像進行操作;時域分割一般是運動分割,利用序列圖片中像素點的差值進行判斷。視頻時域分割是實現(xiàn)視頻分析的基礎(chǔ)和前提。在視頻分析中,通常將鏡頭作為視頻分析和處理的基本單元。視頻鏡頭是由同一攝像機連續(xù)攝取的一系列相互關(guān)聯(lián)的幀,代表了一個連續(xù)的動作。不同于以往的傳統(tǒng)視頻,監(jiān)控視頻是由固定安裝的攝像機拍攝的連續(xù)圖像序列,通常全天進行拍攝,故在監(jiān)控視頻中并沒有傳統(tǒng)意義上的鏡頭的概念。
目前,已有大量學者對監(jiān)控視頻時域分割進行了研究,其最為主要的就是對監(jiān)控視頻的運動片段進行提取,提取方法主要分為三大類,第一類是基于圖像幀之間的特征差異[9-10],通過比較相鄰幀之間特征差異的大小來判斷運動的存在與否,也是使用最為廣泛的一類,第二類是基于前景目標提取的方法[11-12],通過計算運動目標占整個幀的比例大小來判斷,第三類是在壓縮域中[13],通過判斷幀運動活動量來得到運動片段。但是以上算法大都是只研究了運動片段的提取,對于運動片段以下單位研究較少。為此本文根據(jù)普通視頻的層次結(jié)構(gòu)以及監(jiān)控視頻固有特點定義了監(jiān)控視頻的時域?qū)哟谓Y(jié)構(gòu),并對第一類基于特征差異的運動片段分割方法進行驗證與分析,選取特征主要有像素點特征、邊緣特征以及分塊直方圖特征。
視頻的本質(zhì)是一系列在時間上連續(xù)的圖像幀,視頻結(jié)構(gòu)化就是對非結(jié)構(gòu)化的圖像流進行處理,使之成為結(jié)構(gòu)化的數(shù)據(jù),即在時域上將視頻劃分為有意義的時間單元,一般可分為視頻、場景、鏡頭、子鏡頭和幀五個層次單元,其層次結(jié)構(gòu)圖如圖1所示。視頻的時域分割就是按照其層次結(jié)構(gòu),識別并提取出時間單元的邊界,最終將視頻分割成不同的時間單元。
圖1 視頻層次結(jié)構(gòu)示意圖Fig.1 video hierarchy diagram
(1)視頻:視頻層次結(jié)構(gòu)中最高層次的結(jié)構(gòu),是整個待處理視頻,通常包含視頻的整體信息;(2)場景:視頻層次中的高級語義單元,是由連續(xù)的、語義相關(guān)的視頻鏡頭組成的;(3)鏡頭:由同一攝像機連續(xù)拍攝的一組圖像幀組成的集合,是視頻的基本時間單元,也是視頻最基本的語義單元,鏡頭的轉(zhuǎn)換類型一般分為鏡頭突變和鏡頭漸變,而鏡頭漸變又可分為淡入淡出、溶解和掃換三種;(4)子鏡頭:通常由時間上內(nèi)容上連續(xù)的幀組成,是鏡頭以下的時間單元,一般幾個子鏡頭可以構(gòu)成一個鏡頭;(5)幀:是視頻結(jié)構(gòu)層次中最小的單位[14],通常是指一幅靜態(tài)的圖像。
監(jiān)控視頻一般是用監(jiān)控設(shè)備所拍攝的,由于拍攝者、拍攝工具、拍攝內(nèi)容和拍攝手段的限制,形成了不同于其他視頻資料的一些顯著特點,通常無鏡頭切換,含有大量冗余信息且觀眾一般為固定群體[13],而觀眾往往只關(guān)注視頻中含有運動目標的片段。故本文將含有運動目標的視頻片段定義為運動片段,不含運動目標的片段為靜止片段。而一個運動片段中可能包含多個情節(jié),故定義一個情節(jié)屬于一個子運動片段。因此,本文將監(jiān)控視頻分為監(jiān)控視頻、運動片段、子運動片段和幀四個層次。片段監(jiān)控視頻層次結(jié)構(gòu)圖如圖2所示。
圖2 監(jiān)控視頻層次結(jié)構(gòu)圖Fig.2 surveillance video hierarchy diagram
基于像素差異的運動片段分割算法的原理是運動片段中相鄰圖像幀之間的像素點一定會有一定的差異,即運動片段中相鄰幀之間的像素差異大于一定的閾值,而靜止片段中相鄰幀之間的差異小于該閾值。該算法首先是計算相鄰兩幀i和i+ 1 的圖像差得到差值圖像diff:
式(1)中 Ik(i, j)為第k幀i行j列的像素值,Ik+1(i, j )為第k+1幀i行j列的像素值。對差值圖像diff先后進行灰度化和二值化處理,統(tǒng)計二值化處理后圖像中白色像素點的數(shù)目 n,最后取 n大于閾值的片段為運動片段。
在上述算法中會由于圖像中樹葉的晃動等背景的微小改變可能會使相鄰幀像素差異大于設(shè)定閾值造成誤檢,因此Liu等人[15]利用行、列像素和的差值來判斷幀間差異大小。設(shè)每幀圖像的大小為m×n,代表幀像素的矩陣:
式(2)中 k代表監(jiān)控視頻的第 k幀,i, j代表該幀的第i行、第j列像素值。計算第k幀每一列的和得到行向量kC :
計算第k幀每一行的和得到行向量kR:
當Dc大于設(shè)定閾值或者DR大于設(shè)定閾值時,認為這兩幀為運動片段,否則視為靜止片段。
基于邊緣特征的運動片段分割算法原理是運動片段中相鄰兩幀之間的邊緣特征具有一定的差異,運動片段中相鄰幀之間的邊緣距離較遠[16],當相鄰幀邊緣差異值大于設(shè)定閾值時,即被認作為運動片段。該算法首先將相鄰兩幀圖像做差得到差值圖像diff,差值圖像進行Canny邊緣檢測,得到差值圖像邊緣的數(shù)目 n ( k, k + 1 )與閾值 q進行比較,最后得到監(jiān)控視頻運動片段:
經(jīng)治療,觀察組患者Hp轉(zhuǎn)陰率為93.33%(42/45),高于對照組患者51.11%(23/45),差異具有統(tǒng)計學意義(P<0.05)。見表2。
式(7)中 f( k)為視頻的標志,如果值為1,則第k幀為運動片段。
基于直方圖的運動片段分割算法是計算相鄰幀之間直方圖差異與設(shè)定閾值進行比較來得到運動片段,由于整體灰度直方圖缺少圖像像素的位置信息,故而出現(xiàn)了分塊直方圖[17]的概念,基于分塊灰度直方圖的運動片段分割算法是將相鄰幀之間的差值圖像diff分成8× 8的小塊,如圖 3所示。利用相鄰幀之間各個小圖像塊之間的相似度來判斷運動片段。
圖3 幀分塊示意圖Fig.3 frame block diagram
將差值圖像各個圖像小塊依次進行灰度化處理,將灰度圖像中小于一定閾值的像素點灰度值設(shè)為 0,大于閾值的像素點灰度值不變,這樣做的目的是為了消除監(jiān)控視頻中背景的抖動,樹葉搖晃等引起誤差的背景像素點,得到閾值處理過的差值灰度圖像diff1。計算diff1每一小塊的灰度直方圖,用表示,其中i, j表示第i行、j列的圖像塊,k表示第k幀,t表示灰度。然后計算分塊的灰度直方圖和一個相同大小的像素值全為0的分塊進行直方圖的相似度。分別用相關(guān)系數(shù)、卡方系數(shù)、相交系數(shù)和巴氏系數(shù)四個標準判斷相似性。用相似度與設(shè)定閾值進行比較,從而判斷運動片段。
a)相關(guān)系數(shù)。相關(guān)系數(shù)越高,則相似性越高,為運動片段的可能性越小,數(shù)值最大是 1,最小是0,相關(guān)系數(shù)計算公式如式(8)~(10)所示:
其中,h0表示灰度值全為0的圖像塊的灰度直方圖,N為圖像塊中灰度種類數(shù)。
(1)卡方系數(shù)。數(shù)值越小,則相似度的相關(guān)度越高,為運動片段的可能性越小,最大值為正無窮,最小為0。卡方系數(shù)計算公式為:
(2)相交系數(shù)。數(shù)值越大,則相似度的相關(guān)度越高,為運動片段的可能性越小,數(shù)值最大是9.455319,最小是0。相交系數(shù)計算公式為:
(3)巴氏系數(shù)。數(shù)值越小,則相似度的相關(guān)度越高,為運動片段的可能性越小,數(shù)值最大是1,最小是0。巴氏系數(shù)計算公式為:
本文實驗的軟件環(huán)境為vs2017和opencv,分別選取了目標單一(video1、video2)和目標復(fù)雜的兩種視頻共4個視頻序列(video3、video4)進行實驗。
圖4~6分別為像素差異法、邊緣特征法和分塊直方圖法對video1進行分割,得到第一個運動片段的首尾幀。
圖4 像素差異法檢測到video1第一個運動片段的首尾幀F(xiàn)ig.4 the pixel difference method detected the first and last frames of the first motion segment of video1
圖5 邊緣特征法檢測到video1第一個運動片段的首尾幀F(xiàn)ig.5 the edge feature method detected the first and last frames of the first motion segment of video1
圖6 分塊直方圖法檢測到video1第一個運動片段的首尾幀F(xiàn)ig.6 block histogram method detected the first and last frames of the first motion segment of video1
圖7~9分別為像素差異法、邊緣特征法和分塊直方圖對video2進行分割,得到第三個運動片段的首尾幀。
圖7 像素差異法檢測到video2第三個運動片段的首尾幀F(xiàn)ig.7 the pixel difference method detected the first and last frames of the third motion segment of video2
圖8 邊緣特征法檢測到video2第三個運動片段的首尾幀F(xiàn)ig.8 the edge feature method detected the first and last frames of the third motion segment of video2
圖9 分塊直方圖法檢測到video2第三個運動片段的首尾幀F(xiàn)ig.9 block histogram method detected the first and last frames of the third motion segment of video2
表1為4個視頻序列的原始信息表。表2~4分別是文中三種算法對4段視頻的分割結(jié)果。
表1 視頻序列基本信息Tab.1 basic information of video sequence
表2 像素差異法運動片段分割結(jié)果Tab.2 segmentation results of motion segments by pixel difference method
從運行時間上來看,對于不同視頻序列來說,監(jiān)控視頻中運動片段幀數(shù)越多,其運動時間越長;對于同一個視頻序列來說,像素差異法的運行時間最短,邊緣特征法次之,分塊直方圖差異法用時最長。從查準率上看,對于video1和video2單一目標的視頻來說,像素差異法和分塊直方圖法的準確率相等,都優(yōu)于邊緣特征法,而對于video3和video4中具有多個目標的視頻序列來說,分塊直方圖法檢測到誤檢片段個數(shù)都為 0,且漏檢數(shù)量較少,因此分塊直方圖法的分割效果最好。由此,可得到結(jié)論,分塊直方圖法的分割效果最好,但耗時長,像素差異法的分割效果視目標數(shù)目而定,且耗時較短,邊緣特征法的分割效果是3中算法中最不理想的。在實際的生產(chǎn)生活中,可以根據(jù)需要選擇適合的分割方法。
表3 邊緣特征法運動片段分割結(jié)果Tab.3 segmentation results of motion segments by edge feature method
表4 分塊直方圖法運動片段分割結(jié)果Tab.4 segmentation results of motion segments by block histogram method
監(jiān)控視頻運動片段分割尚未出現(xiàn)較為成熟的分割算法,本文算法逐幀進行對比,且每幀都需要對所有像素點進行計算分析,故算法時間復(fù)雜度較高,且三種算法都需要設(shè)置一個或多個閾值來進行比較,就出現(xiàn)不同的視頻序列所適用的閾值不同,使閾值選取不便。在監(jiān)控視頻中如果雨天、雪天、天氣之間的轉(zhuǎn)變以及背景與目標顏色相近等都會對分割結(jié)果的準確性造成影響,以及目標的運動速度較小難以被檢測到等都是本領(lǐng)域在研究過程中需要解決的難點。
本文中的算法都只是采用了視頻的單一特征,有學者提出使用視頻的多特征融合進行分析和分割,取得了較為理想的效果?,F(xiàn)如今,5G時代即將來臨,可以將 5G技術(shù)應(yīng)用到監(jiān)控視頻運動片段分割中,利用其快速的網(wǎng)絡(luò)傳播速度和算法,來實現(xiàn)監(jiān)控視頻運動片段的實時分割。人工智能技術(shù)飛速發(fā)展,已應(yīng)用到生產(chǎn)生活的各個方面,如何將人工智能技術(shù)應(yīng)用到監(jiān)控視頻時域分割中,也是一個值得深入研究的問題。