牛嘉豐,石蘊(yùn)玉,劉 翔,李任斯
(上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院,上海 201620)
監(jiān)控?cái)z像頭已被廣泛應(yīng)用于各行各業(yè),由此也產(chǎn)生了規(guī)模龐大的視頻數(shù)據(jù)。傳統(tǒng)的視頻壓縮算法,例如文獻(xiàn)[1]根據(jù)張量緊湊表示概念提出了張量迭代Tucker-ALS算法,雖取得了較好的效果,但壓縮能力有限。為了提高壓縮率,基于目標(biāo)的視頻摘要生成方法得到了越來越多的關(guān)注。
文獻(xiàn)[2]和文獻(xiàn)[3]分別提出了融合紋理算法的高斯混合模型和圖切割算法,提高了摘要視頻中目標(biāo)的提取效率和質(zhì)量。文獻(xiàn)[4]在時(shí)空域中同時(shí)移動目標(biāo),在充分利用背景空間的同時(shí)避免了目標(biāo)碰撞。但該方法不可避免地破壞了目標(biāo)間的時(shí)序關(guān)系,且必須合成與目標(biāo)匹配的新背景。文獻(xiàn)[5]構(gòu)造了潛在的碰撞圖,在該潛在碰撞圖的基礎(chǔ)上,將減少目標(biāo)碰撞的問題轉(zhuǎn)化為圖著色問題。文獻(xiàn)[6]所提出的方法同樣是一種基于圖的目標(biāo)重排算法,其用動態(tài)圖表示目標(biāo)間的相互關(guān)系,并使用動態(tài)圖著色算法解決了目標(biāo)重排問題。文獻(xiàn)[7]針對目標(biāo)重排中能量函數(shù)的優(yōu)化問題,首先提出了粒子群優(yōu)化算法,在提升了能量函數(shù)優(yōu)化速度的基礎(chǔ)上減少了目標(biāo)碰撞。文獻(xiàn)[8]提出了目標(biāo)時(shí)空信息分組算法和基于時(shí)空信息的摩爾投票算法,獲得了目標(biāo)間的時(shí)空交互關(guān)系,并進(jìn)行分組關(guān)聯(lián),有效避免了目標(biāo)時(shí)序錯(cuò)亂的問題。
圖1 視頻摘要生成模型流程圖Figure 1. Flow chart of video synopsis generation model
以上工作中,目標(biāo)本身均保持完整。為了進(jìn)一步減少目標(biāo)碰撞和時(shí)序錯(cuò)亂,文獻(xiàn)[9]提出了縮放目標(biāo)大小的方法。該方法雖然直接有效地避免了目標(biāo)間的碰撞,但是目標(biāo)不能被縮放得太小,否則難以在摘要視頻中被分辨出來,而目標(biāo)的忽小忽大也會影響摘要視頻的瀏覽效果。
本文設(shè)計(jì)了目標(biāo)速度變化機(jī)制,通過改變目標(biāo)速度,使得目標(biāo)避免碰撞,且可以更靈活地進(jìn)行排列。本文設(shè)計(jì)了含有速度變量的能量函數(shù),并使用馬爾科夫鏈蒙特卡羅隨機(jī)采樣算法求解了能量函數(shù)的最小值,獲得了目標(biāo)重排的最優(yōu)解決方案。
視頻摘要生成模型如圖1所示。從原始視頻中提取背景圖和目標(biāo)時(shí)空信息后,對目標(biāo)的速度和起始位置進(jìn)行轉(zhuǎn)變,得到重排目標(biāo)的時(shí)空信息,再將目標(biāo)融合進(jìn)背景即可生成摘要視頻。
由于視頻背景是不斷變化的,因此使用中值法,每兩分鐘獲取一張背景圖以應(yīng)對背景變化[10]。然后,使用背景圖和原始視頻幀做差,將差值的絕對值大于15的像素點(diǎn)作為前景像素點(diǎn)。最后,使用高斯混合模型[11]和跟蹤算法[12-13]對前景掩膜進(jìn)行識別,并跟蹤獲取目標(biāo)ID和時(shí)空信息。
E(S,V)=Ea(S,V)+ωcEc(S,V)+
ωtEt(S,V)+ωdEd(V)
(1)
式中,E(S,V)、Ea(S,V)、Ec(S,V)、Et(S,V)、Ed(S,V)分別代表總能量、活動丟失能量項(xiàng)、碰撞能量項(xiàng)、時(shí)序能量項(xiàng)和抑制速度變化能量項(xiàng);ω*是平衡各能量項(xiàng)的權(quán)重參數(shù),其中活動丟失能量項(xiàng)的權(quán)重始終為1。
1.3.1 活動丟失能量項(xiàng)
視頻摘要需要最大限度地反映原始視頻中的內(nèi)容,因此需要盡可能地保留原始視頻中的活動目標(biāo)信息?;顒觼G失能量是原始視頻中存在的目標(biāo)沒有在摘要視頻中出現(xiàn)所造成的損失?;顒觼G失能量項(xiàng)的定義為
(2)
1.3.2 碰撞能量項(xiàng)
原始視頻中的目標(biāo)重新排列后,原本時(shí)空上無交叉的目標(biāo)很可能出現(xiàn)碰撞現(xiàn)象,從而影響摘要視頻質(zhì)量,因此本文定義了碰撞能量項(xiàng)來抑制碰撞的發(fā)生
(3)
式中,m、n取遍所有目標(biāo)的組合且m≠n;A(·)為面積求取函數(shù)。
1.3.3 時(shí)序能量項(xiàng)
一般情況下,在原始視頻中較早出現(xiàn)的目標(biāo)在視頻摘要中也應(yīng)該較早的出現(xiàn)。為了懲罰目標(biāo)經(jīng)過重排后時(shí)序被打亂的情況,并結(jié)合目標(biāo)速度變化對時(shí)序造成的影響,本文對時(shí)序能量項(xiàng)的定義為
(4)
式中,m、n取遍所有目標(biāo)的組合且m≠n;D(m,n)為目標(biāo)m和目標(biāo)n所形成的時(shí)序能量,其定義為
(5)
式中,d(m,n,o)表示目標(biāo)m和n在原始視頻第o幀中掩膜間的歐式距離;依據(jù)經(jīng)驗(yàn),σ、ω分別取值為10和40;k1、k2分別為兩個(gè)目標(biāo)在原始視頻中起始幀的最大值和終止幀的最小值,其定義如式(6)和式(7)所示;R(m,n)、T(m,n)的定義則為式(8)和式(9)
k1=max(fm,fn)
(6)
k2=min(fm+Lm,fn+Ln)
(7)
R(m,n)=
(8)
(9)
式中,avg(·)表示其中表達(dá)式不為0項(xiàng)求和后的均值。
1.3.4 抑制速度變化能量項(xiàng)
為了使目標(biāo)速度變化盡可能小,本文定義了抑制速度變化能量項(xiàng)來懲罰目標(biāo)速度變化大的現(xiàn)象。其定義為
(10)
式中,m取遍所有的目標(biāo);ε依據(jù)經(jīng)驗(yàn)設(shè)置為2。
由于目標(biāo)速度是可調(diào)變量,而傳統(tǒng)優(yōu)化算法求取式(1)的最優(yōu)解會較為困難,因此優(yōu)化算法采用和文獻(xiàn)[10]同樣的優(yōu)化策略,即使用馬爾科夫鏈蒙特卡羅(Markov Chain Monte Carlo,MCMC)隨機(jī)采樣算法[14]求解式(1)的最優(yōu)解。為了使用MCMC算法,首先將式(1)轉(zhuǎn)換為一個(gè)玻爾茲曼密度函數(shù)
(11)
式中,β是溫度常數(shù),本文設(shè)置β為1;Z為歸一化因子。由于Z的計(jì)算比較復(fù)雜,因此使用Metropolis-Hastings算法[15-16]以避免計(jì)算Z。
初始化解決方案C=(S,V),隨后使用建議分布q(C*│C)生成新的解決方案C*。新解決方案的接受率表述如式(12)所示。
(12)
如果新解決方案被接受,則將當(dāng)前的解決方案設(shè)為C*,否則為C。依次迭代一定次數(shù)后,若采集的樣本服從式(11)的分布,則選擇所有樣本中使p(S,V)值最大的解決方案作為式(1)的最優(yōu)解。建議分布由如下3部分等概率事件組成:
(1)隨機(jī)選取一個(gè)目標(biāo),并隨機(jī)選取摘要視頻的一幀作為此目標(biāo)的起始幀;
(2)隨機(jī)選取一個(gè)目標(biāo),并從區(qū)間[a,b]中隨機(jī)選取一個(gè)浮點(diǎn)數(shù)作為此目標(biāo)的速度;
(3)隨機(jī)選取兩個(gè)不同的目標(biāo),并交換這兩個(gè)目標(biāo)的起始幀。
由于建議分布是對稱的,即q(C*│C)=q(C│C*),因此式(12)可簡化為如式(13)所示的形式。
(13)
詳細(xì)的算法流程如算法1所示。
算法1 目標(biāo)重排算法輸入:所有目標(biāo)的原始時(shí)空信息和迭代次數(shù)Iter。輸出:最優(yōu)配置C。1.初始化一個(gè)解決方案C02.n ← 13.max← 04.while n < Iter5. fun ← randint[1,3] //1到3的隨機(jī)整數(shù)6. if fun == 1 //目標(biāo)起始位置轉(zhuǎn)換7. shift ←randint[1,N]8. C?( f?shiftt) ← randint[0, Ls)9. else if fun == 2 //目標(biāo)速度變化10. speed ← randint[1,N]11. e ←rand[a,b] //a到b的隨機(jī)浮點(diǎn)數(shù)12. C?(vspeed)← e13. else if fun == 3 //兩目標(biāo)起始位置互換14. swap1 ← randint[1,N]15. swap2 ← randint[1,N]16. tmp ← C?(f?swap1)17. C?(f?swap1) ← C?(f?swap2)18. C?( f?swap2) ← tmp19. α ← min(1, p(C?)/p(Cn-1))20. t ←rand[0,1] 21. if t < α then Cn ←C?22.else Cn ← Cn-123. if max < p(Cn)24. Cmax←Cn, max ←p(Cn)25. n ← n+126.end while27.return Cmax
本文在目標(biāo)融合階段采用泊松編輯算法[17-19],解決了目標(biāo)和背景融合時(shí)的邊緣過渡問題,提高了摘要視頻的視覺質(zhì)量。
處理器CPU為AMD Ryzen Threadr-ipper 1900X 8-Core 3.8 GHz,GPU為4×Nvidia GTX 1 080 Ti,內(nèi)存RAM為64 GB,系統(tǒng)為Windows10。
本文共使用了3個(gè)測試視頻。前兩個(gè)來自網(wǎng)絡(luò)中的公路監(jiān)控視頻,第3個(gè)來自于MEVA數(shù)據(jù)集[18]的廣場監(jiān)控視頻。測試視頻的詳細(xì)參數(shù)如表1所示。
表1 視頻參數(shù)
在求取能量函數(shù)最優(yōu)解的過程中,在壓縮率要求比較高時(shí),減少某能量項(xiàng)的大小是以增加其它能量項(xiàng)為代價(jià)的。由于各能量項(xiàng)的計(jì)算數(shù)值相差很大,且能量函數(shù)總是趨向于使得總能量最小的方向優(yōu)化,因而容易造成能量項(xiàng)的優(yōu)化失衡,出現(xiàn)類似目標(biāo)重排結(jié)果中沒有時(shí)序錯(cuò)亂問題但目標(biāo)碰撞問題較嚴(yán)重的情況。由此可知,各能量項(xiàng)的權(quán)重ωc、ωt和ωd對能量函數(shù)的優(yōu)化過程具有重要的指導(dǎo)意義。
當(dāng)測試視頻1的壓縮率設(shè)為0.2,且各個(gè)能量項(xiàng)的權(quán)重均置為1時(shí),能量函數(shù)4 000次迭代的總能量及各能量項(xiàng)能量的變化如圖2所示。由圖可知,總能量、碰撞能量和抑制速度變化能量在1 000次迭代后速度變緩,這是因?yàn)殡S著能量函數(shù)的優(yōu)化,各能量項(xiàng)相互轉(zhuǎn)化的次數(shù)變多,而時(shí)序能量的數(shù)值比碰撞能量和抑制速度變化能量的數(shù)值大了幾個(gè)數(shù)量級,所以在時(shí)序能量優(yōu)化到一定程度時(shí),碰撞能量和抑制速度變化能量也很難繼續(xù)優(yōu)化。為解決能量項(xiàng)的優(yōu)化失衡,通過以下步驟選取各能量項(xiàng)的權(quán)重:
步驟1選取測試視頻并設(shè)置壓縮率,初始化各能量項(xiàng)的權(quán)重為1;
步驟2將能量函數(shù)迭代60 000次,并提取總能量變化幅度不超過5%時(shí)迭代段所對應(yīng)的各能量項(xiàng)產(chǎn)生的數(shù)據(jù);
步驟3對提取的各能量項(xiàng)的數(shù)據(jù)分別進(jìn)行排序,并去除前10%的較大值和后10%的較小值后,對剩余的80%數(shù)據(jù)求取平均值;
步驟4將步驟3中得到的各能量項(xiàng)的平均值分別乘以權(quán)值,其可以使得各能量項(xiàng)平均值的兩兩比值范圍為0.95~1.05。將此權(quán)值更新為各能量項(xiàng)的權(quán)重,并重復(fù)執(zhí)行步驟2~步驟4直到各能量項(xiàng)權(quán)重不再變化。
將3個(gè)測試視頻依據(jù)以上步驟,分別以0.5、0.35、0.2的壓縮率調(diào)試10次之后,最終設(shè)置ωc、ωt和ωd的值分別為1 000、0.001、1 100。章節(jié)2.5的對比實(shí)驗(yàn)驗(yàn)證了能量項(xiàng)權(quán)重設(shè)置的有效性。
依據(jù)已有研究[5,9],使用3個(gè)評估指標(biāo)對摘要視頻的質(zhì)量進(jìn)行評估,所用指標(biāo)為:(1)壓縮率。摘要視頻和原始視頻長度的比值;(2)碰撞數(shù)。摘要視頻中目標(biāo)發(fā)生碰撞的對數(shù);(3)時(shí)序錯(cuò)亂數(shù)。摘要視頻中,目標(biāo)間時(shí)序關(guān)系和原始視頻不同的對數(shù)。
本文分別實(shí)現(xiàn)了文獻(xiàn)[4]和文獻(xiàn)[8]的方法,并在測試視頻上將這兩種方法同本文所提方法進(jìn)行了對比實(shí)驗(yàn)。3個(gè)視頻的實(shí)驗(yàn)迭代次數(shù)均為100 000次,實(shí)驗(yàn)結(jié)果中各評估指標(biāo)的對比結(jié)果如表2所示。實(shí)驗(yàn)效果如圖3所示,其中圖3(a1)、圖3(b1)和圖3(c1)分別為3個(gè)測試視頻的原始視頻幀。圖3中,從圖3(a2)、圖3(b2)和圖3(c2)開始,由左至右分別為本文方法、文獻(xiàn)[4]、文獻(xiàn)[8]方法產(chǎn)生的摘要視頻幀。
(a)
(b)
(c)
(d)圖2 能量變化示意圖 (a)總能量 (b)碰撞能量 (c)時(shí)序能量 (d)抑制速度變化能量Figure 2. Schematic diagram of energy change (a)Total energy (b)Collision energy (c)Chronological energy (d)Limited speed change energy
表2 實(shí)驗(yàn)結(jié)果
視頻1的特點(diǎn)是目標(biāo)主要出現(xiàn)在右側(cè)兩個(gè)車道內(nèi)。當(dāng)3種方法對視頻1的壓縮率均為0.21時(shí),從表2的實(shí)驗(yàn)結(jié)果可以看出,本文方法生成的摘要視頻沒有發(fā)生目標(biāo)碰撞和時(shí)序錯(cuò)亂。文獻(xiàn)[4]的方法雖然沒有造成目標(biāo)碰撞,但時(shí)序錯(cuò)亂問題最嚴(yán)重。文獻(xiàn)[8]的方法同時(shí)造成了目標(biāo)碰撞和時(shí)序錯(cuò)亂問題。經(jīng)分析,文獻(xiàn)[8]造成的目標(biāo)碰撞和時(shí)序錯(cuò)亂問題是由于壓縮率設(shè)置較高導(dǎo)致的。文獻(xiàn)[4]的方法在目標(biāo)重排時(shí)改變了目標(biāo)的空間位置,如圖3(a1)中,標(biāo)黑框的汽車原在中間車道,但文獻(xiàn)[4]的方法卻使標(biāo)黑框的汽車出現(xiàn)在了左側(cè)車道上,雖然達(dá)到了充分利用空間的目的,并有效避免了碰撞,但容易出現(xiàn)目標(biāo)時(shí)序錯(cuò)亂的問題。本文方法則有效地通過改變目標(biāo)的速度使得目標(biāo)排列更加靈活,從而避免了目標(biāo)碰撞和時(shí)序錯(cuò)亂的問題。
視頻2的特點(diǎn)是所有目標(biāo)均勻出現(xiàn)在兩個(gè)車道內(nèi),且目標(biāo)比較密集。當(dāng)3種方法對視頻2的壓縮率均為0.34時(shí),從表2可以看出,本文方法僅造成了1處時(shí)序錯(cuò)亂問題;文獻(xiàn)[4]和文獻(xiàn)[8]的方法造成的目標(biāo)碰撞和時(shí)序錯(cuò)亂程度類似。經(jīng)分析,由于視頻2中幾乎沒有空閑空間,使得文獻(xiàn)[4]的方法改變了目標(biāo)的空間位置,因此和文獻(xiàn)[8]出現(xiàn)了類似的目標(biāo)碰撞和時(shí)序錯(cuò)亂問題。
視頻3的特點(diǎn)是所有目標(biāo)相對于背景比較小,目標(biāo)軌跡長,且目標(biāo)出現(xiàn)和離開的位置較多。當(dāng)3種方法對視頻3的壓縮率均為0.08時(shí),從表2中可以看出,本文方法造成了1處目標(biāo)碰撞和1處時(shí)序錯(cuò)亂問題;文獻(xiàn)[4]的方法沒有目標(biāo)碰撞問題,但時(shí)序錯(cuò)亂問題最多;文獻(xiàn)[8]的方法同時(shí)造成了目標(biāo)碰撞和時(shí)序錯(cuò)亂問題,且目標(biāo)碰撞問題最多。經(jīng)分析,雖然視頻3的視頻場景給了3種視頻摘要生成方法足夠的應(yīng)用空間,但壓縮率設(shè)置偏高,因此文獻(xiàn)[8]的方法同時(shí)造成了目標(biāo)碰撞和時(shí)序錯(cuò)亂問題。文獻(xiàn)[4]中的方法雖避免了目標(biāo)碰撞問題, 卻造成了嚴(yán)重時(shí)序錯(cuò)亂問題。本文方法在高壓縮率下造成的目標(biāo)碰撞和時(shí)序錯(cuò)亂問題最少,且程度相近。
(a1) (a2) (a3) (a4)
(b1) (b2) (b3) (b4)
(c1) (c2) (c3) (c4)圖3原始視頻幀及摘要視頻幀示意圖Figure 3. Diagram of original video frame and synopsis video frame
綜上所述,視頻1和視頻2的對比結(jié)果驗(yàn)證了本文方法的有效性和穩(wěn)定性?;谝曨l3的對比實(shí)驗(yàn)結(jié)果不但驗(yàn)證了本文方法的優(yōu)越性,還驗(yàn)證了各能量項(xiàng)權(quán)重參數(shù)設(shè)置的合理性。
本文將目標(biāo)起始位置變量和目標(biāo)速度變量同時(shí)融入目標(biāo)重排的能量函數(shù)中,并使用馬爾科夫鏈蒙特卡羅隨機(jī)采樣算法得到了該能量函數(shù)的最小值,得到了目標(biāo)重排方案的最優(yōu)解。對比實(shí)驗(yàn)驗(yàn)證了在相同壓縮比的條件下,相較于其他方法,本文方法生成的摘要視頻具有較少的目標(biāo)碰撞和時(shí)序錯(cuò)亂問題。今后,將進(jìn)一步研究能量函數(shù)的優(yōu)化問題,以使優(yōu)化過程更加高效。