趙春飛, 張麗紅
(山西大學(xué) 物理電子工程學(xué)院, 山西 太原 030006)
隨著海量監(jiān)控視頻數(shù)據(jù)的產(chǎn)生, 使得能對(duì)視頻數(shù)據(jù)進(jìn)行有效瀏覽和分析的視頻濃縮技術(shù)成為一個(gè)研究熱點(diǎn). Tonomuray 等人最早提出關(guān)鍵幀思想, 他們將每一小段視頻的第一幀當(dāng)做關(guān)鍵幀[1]. Pentland等人提出將視頻序列按時(shí)間間隔等分, 從預(yù)定幀中選取關(guān)鍵幀[2]; Girgensohn等人充分考慮時(shí)間特征, 每隔相同時(shí)間提取關(guān)鍵幀, 基本可以描述整個(gè)視頻內(nèi)容[3]; Zhang等人提出根據(jù)幀間差分變化選取關(guān)鍵幀[4]; Negahdaripour等人通過(guò)進(jìn)一步的研究提出光流表示圖像動(dòng)態(tài)空間變化以及光照輻射程度[5]; Yong Liu[6]等在物體檢測(cè)時(shí)采用圖結(jié)構(gòu)并同時(shí)建模物體細(xì)節(jié)特征、 場(chǎng)景上下文以及物體之間關(guān)系, 從而實(shí)現(xiàn)物體檢測(cè); 胡嵐清等[7]采用無(wú)監(jiān)督域自適應(yīng)雙工生成對(duì)抗性網(wǎng)絡(luò)進(jìn)行物體檢測(cè). S.Bell等提出內(nèi)-外網(wǎng)絡(luò): 利用跳過(guò)池和遞歸神經(jīng)網(wǎng)絡(luò)在上下文中檢測(cè)對(duì)象[8].
上述方法都是人工定義的關(guān)鍵幀, 會(huì)丟失幀間的關(guān)聯(lián)性, 而且目標(biāo)之間的相互遮擋和背景復(fù)雜程度的不同, 使得視頻濃縮很難實(shí)現(xiàn)高壓縮率. 因此利用卷積神經(jīng)網(wǎng)絡(luò)[9]強(qiáng)大的特征提取能力和表示能力, 將交互機(jī)制融合到卷積神經(jīng)網(wǎng)絡(luò)可提高幀間的關(guān)聯(lián)性, 以有效提高濃縮比.
圖 1 中, ROI(Region of Interest)是感興趣區(qū)域, scene是背景, edge是運(yùn)動(dòng)目標(biāo)間的關(guān)系, 該交互機(jī)制相當(dāng)于一個(gè)打分. 在背景指導(dǎo)下, 運(yùn)動(dòng)目標(biāo)之間通過(guò)關(guān)系程度相互交互, 即運(yùn)動(dòng)目標(biāo)接收背景的指導(dǎo)信息, 每個(gè)運(yùn)動(dòng)目標(biāo)接收其他運(yùn)動(dòng)目標(biāo)傳遞來(lái)的信息, 關(guān)系不同, 接收程度不同.
圖 1 交互機(jī)制結(jié)構(gòu)Fig.1 Interaction mechanism structure
所以, 交互機(jī)制也是消息傳遞, 采用門控循環(huán)單元GRU(Gated Recurrent Unit)實(shí)現(xiàn). 例如, 當(dāng)前運(yùn)動(dòng)物體需要接收背景信息, 那么將當(dāng)前物體的狀態(tài)作為隱狀態(tài), 背景信息作為輸入, 輸出即為接收信息更新后的物體狀態(tài); 同理當(dāng)運(yùn)動(dòng)目標(biāo)需要接收其他運(yùn)動(dòng)目標(biāo)的信息, 同樣將當(dāng)前運(yùn)動(dòng)目標(biāo)狀態(tài)作為隱狀態(tài), 其他運(yùn)動(dòng)目標(biāo)傳遞來(lái)的信息作為輸入, 輸出即為更新后的運(yùn)動(dòng)目標(biāo)狀態(tài). GRU的門結(jié)構(gòu)可以使得隱狀態(tài)丟棄與輸入無(wú)關(guān)的部分, 也可以選擇與輸入相關(guān)的部分來(lái)更新隱狀態(tài). 具體的GRU門結(jié)構(gòu)工作原理為:
復(fù)位開(kāi)關(guān)r通過(guò)式(1)計(jì)算
r=σ(Wr[x,ht]),
(1)
式中:x是輸入;ht是運(yùn)動(dòng)目標(biāo)前一時(shí)刻的隱狀態(tài);Wr是權(quán)重矩陣;σ是S型函數(shù). 同理, 更新開(kāi)關(guān)z通過(guò)式(2)計(jì)算
z=σ(Wz[x,ht]),
(2)
式中:Wz為權(quán)重矩陣.
更新后的狀態(tài)ht+1用式(3)計(jì)算
(3)
因此, GRU是一種有效的存儲(chǔ)單元, 可以記住長(zhǎng)期信息, 且GRU的初始狀態(tài)為空或隨機(jī)向量. 本文選擇GRU的初始狀態(tài)為隨機(jī)向量.
卷積雙流融合神經(jīng)網(wǎng)絡(luò)是將具有特定卷積層的兩個(gè)網(wǎng)絡(luò)融合在一起, 使得在相同像素位置的通道被放在相對(duì)應(yīng)的位置. 這樣, 如果一個(gè)物體在某個(gè)空間位置移動(dòng), 那么時(shí)間網(wǎng)絡(luò)就可以識(shí)別這個(gè)物體, 空間網(wǎng)絡(luò)就能識(shí)別物體位置, 從而得到物體的運(yùn)動(dòng)軌跡.
卷積雙流融合神經(jīng)網(wǎng)絡(luò)的融合過(guò)程為:
1) 將特征圖Xa,Xb在特征通道d的相同空間位置i,j通過(guò)式(4)進(jìn)行堆疊
(4)
式中:y∈RH×W×2D.
2) 將1)得到的數(shù)據(jù)與濾波器f進(jìn)行卷積
yconv=ycat*f+b,
(5)
式中:f∈R1×1×2D×D,b∈RD. 輸出通道的數(shù)量是D, 而過(guò)濾器的尺寸是1×1×2D. 此時(shí), 過(guò)濾器f用于將維度減少到原來(lái)的一半, 并且能夠在相同的空間(像素)位置上對(duì)兩個(gè)特征圖Xa,Xb進(jìn)行加權(quán)組合. 當(dāng)在網(wǎng)絡(luò)中作為可訓(xùn)練的過(guò)濾器內(nèi)核時(shí),f能夠?qū)W習(xí)兩個(gè)特征映射的對(duì)應(yīng)關(guān)系, 從而最小化聯(lián)合損失函數(shù).
圖 2 為兩個(gè)卷積融合的示意圖.
圖 2(a) 為在第4個(gè)卷積層后融合,
圖 2(b) 是在第5個(gè)卷積層和fc8后融合. 注入融合層可以對(duì)雙流網(wǎng)絡(luò)中的參數(shù)和層數(shù)產(chǎn)生重大影響, 特別是如果只保留被融合的網(wǎng)絡(luò), 而其他網(wǎng)絡(luò)塔被截?cái)啵?如圖2(a)所示. 兩個(gè)網(wǎng)絡(luò)也可以在兩層融合, 如圖2(b)所示. 這樣就實(shí)現(xiàn)了從每個(gè)網(wǎng)絡(luò)(在卷積5)中對(duì)通道進(jìn)行像素級(jí)注冊(cè)的最初目標(biāo), 但不會(huì)導(dǎo)致參數(shù)數(shù)量的減少(例如, 如果只在conv5層進(jìn)行融合, 參數(shù)則會(huì)減少一半).
圖 2 卷積融合示意圖Fig.2 Convolution fusion diagram
表 1 比較了兩個(gè)網(wǎng)絡(luò)中不同層融合參數(shù)的數(shù)量. 使用VGG-M模型, 在不同的卷積層之后進(jìn)行融合, 對(duì)參數(shù)的數(shù)量產(chǎn)生了大致相同的影響, 因?yàn)榇蠖鄶?shù)這些參數(shù)都存儲(chǔ)在全連接層中.
表 1 不同層融合后網(wǎng)絡(luò)參數(shù)Tab.1 Network parameters of after different layers merged
在表 1 中比較了來(lái)自不同層的融合. 使用卷積融合, 融合層由與先前層的激活相加的單位矩陣初始化構(gòu)成. 表1中, ReLU2, ReLU3, ReLU4, ReLU5表示融合發(fā)生的層數(shù)且采用ReLU激活函數(shù); Accuracy表示在融合后的視頻濃縮效果; #layers代表CNN的層數(shù); #parameters表示網(wǎng)絡(luò)中參數(shù)數(shù)量. 通過(guò)比較, 本文選取圖 2(a) 作為融合結(jié)構(gòu).
基于交互機(jī)制的卷積雙流融合神經(jīng)網(wǎng)絡(luò)如圖 3 所示.
圖 3 基于交互機(jī)制的卷積雙流融合神經(jīng)網(wǎng)絡(luò)Fig.3 Convolutional fusion neural network based on interaction mechanism
在該網(wǎng)絡(luò)中, 將輸入的視頻幀序列進(jìn)行感興趣區(qū)域ROI選取, 然后通過(guò)卷積融合神經(jīng)網(wǎng)絡(luò)提取運(yùn)動(dòng)目標(biāo)和背景特征, 并將特征輸入到交互機(jī)制結(jié)構(gòu)中進(jìn)行關(guān)聯(lián)性運(yùn)算.
在網(wǎng)絡(luò)中的交互機(jī)結(jié)構(gòu)中, 左邊scene GRU接收?qǐng)鼍靶畔ⅲ?將ROI特征作為隱狀態(tài), 場(chǎng)景特征作為信息輸入. 右邊edge GRU接收其他物體的信息, 通過(guò)關(guān)系程度計(jì)算每個(gè)物體傳遞的信息, 再pooling所有物體傳遞來(lái)的整合信息, 將整合后的信息傳遞到當(dāng)前ROI. 兩種GRU的輸出融合為最終的狀態(tài)表達(dá), 作為物體狀態(tài). 當(dāng)物體狀態(tài)更新后, 物體之間的關(guān)系發(fā)生變化, 更多次的信息交互迭代可以更魯棒地表示物體狀態(tài).
在Windows Server 2008, 2.2 GHz, 14核, 31 GB ROM的服務(wù)器上搭建網(wǎng)絡(luò)運(yùn)行環(huán)境, 所使用的軟件有Python, MATLAB.
所使用的實(shí)驗(yàn)數(shù)據(jù)如表 2 所示.
表 2 實(shí)驗(yàn)所用數(shù)據(jù)集Tab.2 Experimental data set
基于交互機(jī)制的卷積雙流融合神經(jīng)網(wǎng)絡(luò)的視頻濃縮整體算法流程圖如圖 4 所示.
1) 讀取輸入視頻文件;
2) 視頻分解: 分割輸入的視頻數(shù)據(jù)文件, 讀取視頻數(shù)據(jù)信息, 獲得對(duì)應(yīng)的視頻幀序列;
3) 特征提取: 用基于交互機(jī)制的卷積雙流融合神經(jīng)網(wǎng)絡(luò)對(duì)步驟2) 的視頻幀序列進(jìn)行特征提??;
4) 相似性度量: 融合圖像的多種特征來(lái)進(jìn)行視頻幀之間的相似性度量, 計(jì)算出視頻的幀序列間相似矩陣;
5) 關(guān)鍵幀提?。?將步驟4) 得到的相似矩陣進(jìn)行場(chǎng)景聚類, 然后計(jì)算視頻幀到該聚類中心的距離, 將距離聚類中心最近的視頻幀作為場(chǎng)景的關(guān)鍵幀;
6) 視頻濃縮: 將提取出來(lái)的關(guān)鍵幀按照視頻流中的先后順序排列, 設(shè)置想要的幀率, 合成縮略視頻;
7) 視頻輸出: 將縮略視頻保存為avi 視頻文件, 然后輸出濃縮視頻.
圖 4 算法框圖Fig.4 Algorithm block diagram
2.3.1 視頻濃縮評(píng)價(jià)指標(biāo)
本文采用保真率[10]和壓縮率[11]兩個(gè)比較客觀的指標(biāo)來(lái)評(píng)價(jià)視頻濃縮質(zhì)量的好壞.
輸入視頻文件S包含有N個(gè)視頻幀, 其幀序列表示為式(6); 濃縮視頻F包含K個(gè)提取出來(lái)的視頻關(guān)鍵幀, 其幀序列表示為式(7),
S={Si|i=1,2,…,N},
(6)
F={Fj|j=1,2,…,K}.
(7)
1) 保真率
保真率用來(lái)表征濃縮視頻是否完整有效準(zhǔn)確地表達(dá)了原始視頻的結(jié)構(gòu)和信息. 本文利用濃縮視頻中的關(guān)鍵幀和輸入視頻中的視頻序列之間的距離來(lái)計(jì)算保真率的大小.
關(guān)鍵幀序列Fi與原始輸入視頻文件S中任意一個(gè)視頻幀Si之間的距離定義為式(8),
d(Si,Fj)=min{d(Si,Fj)|j=1,2,…,K}.
(8)
則濃縮視頻和輸入視頻文件的距離用式(9)表示
d(S,F)=max{d(Si,F)|i=1,2,…,N}.
(9)
由此, 保真率的定義式為式(10),
FDLT=max{d(Si,Fj)|i=1,2,…,N,
j=1,2,…,K}.
(10)
2) 壓縮率
壓縮率用來(lái)表征視頻濃縮結(jié)果的冗余度, 壓縮率越大, 濃縮效果越好. 壓縮率用式(11)定義,
RoC(S,F)=1-K/F.
(11)
2.3.2 實(shí)驗(yàn)結(jié)果
將本文所采用的方法和基于抽樣的視頻濃縮方法、 基于鏡頭分割的視頻濃縮方法以及基于F-RNN的視頻濃縮方法進(jìn)行比較, 其結(jié)果如表 3, 表 4 所示.
表 3 保真率比較結(jié)果Tab.3 Fidelity rate comparison result
表 4 壓縮率比較結(jié)果Tab.4 Compression ratio comparison result
從表 3 中可以看出, 對(duì)于背景簡(jiǎn)單的E類視頻, 本文所用的方法和基于F-RNN的視頻濃縮方法的保真度要優(yōu)于傳統(tǒng)的視頻濃縮方法, 且保真度相近; 但是對(duì)于場(chǎng)景數(shù)量多而且復(fù)雜的視頻, 本文所用方法的保真度明顯優(yōu)于其他3種方法. 從表 4 中可以看出, 視頻中存在運(yùn)動(dòng)的目標(biāo)或者是攝像機(jī)運(yùn)動(dòng)時(shí), 本文所用的方法壓縮率明顯高于鏡頭分割的方法. 因?yàn)楸疚姆椒ㄖ苯永脠D像特征的差異對(duì)整個(gè)視頻幀序列進(jìn)行場(chǎng)景聚類, 避免了場(chǎng)景誤檢測(cè)的問(wèn)題.
針對(duì)如何實(shí)現(xiàn)高壓縮率的視頻濃縮問(wèn)題, 本文提出采用交互機(jī)制的卷積雙流融合神經(jīng)網(wǎng)絡(luò)提取運(yùn)動(dòng)目標(biāo)的特征并將其與背景特征結(jié)合起來(lái)進(jìn)行聚類, 從而實(shí)現(xiàn)高壓縮率的視頻濃縮. 克服了傳統(tǒng)方法中信息冗余度高、 特征關(guān)聯(lián)性差等問(wèn)題. 實(shí)驗(yàn)結(jié)果表明: 在保持原有信息的基礎(chǔ)上, 本文提出的方法能有效提升濃縮視頻的保真率和壓縮率.