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