程 萍,馮 杰,馬漢杰,許永恩,王 健
(浙江理工大學(xué) 信息學(xué)院,杭州 310018)
隨著網(wǎng)絡(luò)技術(shù)的普及、多媒體信息的爆炸性增長、社會(huì)生活節(jié)奏不斷加快,人們往往沒有足夠的時(shí)間觀看整段視頻節(jié)目,而是希望根據(jù)自己的需求觀看特定的部分.足球作為全球最受歡迎的一項(xiàng)體育運(yùn)動(dòng),有著廣泛的收看群體.足球比賽的持續(xù)時(shí)間較長,人們感興趣的內(nèi)容卻是不同的,有人喜歡看精彩鏡頭(射門、點(diǎn)球等),有人喜歡看中場配合.然而,面對(duì)海量的視頻數(shù)據(jù),依靠傳統(tǒng)人工剪輯分類方式,不僅極大地浪費(fèi)人力資源而且也不能保證工作的及時(shí)性與可靠性.
目前,足球視頻的場景分類面臨的主要問題包括:場景切換檢測的查全率和查準(zhǔn)率不夠高,無法滿足實(shí)際需求,其次,在人工制定足球語義方面,需要耗費(fèi)大量的人力資源.為了解決上述問題,國內(nèi)外學(xué)者進(jìn)行了系統(tǒng)、深入的研究,并取得了一定的成果.
在解決場景切換檢測準(zhǔn)確率問題上,陸思燁等[1]提出基于雙閾值灰度直方圖的場景檢測算法,通過比較相鄰幀的灰度直方圖差與高低閾值的大小,針對(duì)場景可能的漸變情形,比較非相鄰幀的直方圖差與高低閾值的大小來判斷是否發(fā)生了場景切換.方宏俊等[2]結(jié)合數(shù)字電視圖像處理芯片中硬件算法設(shè)計(jì)的低復(fù)雜度要求,介紹了一種基于動(dòng)態(tài)階數(shù)控制直方圖分布的場景檢測優(yōu)化設(shè)計(jì)算法.孫桃等[3]對(duì)動(dòng)畫幀圖像分塊并提取其 HSV顏色特征,然后將連續(xù)幀的相似度存入一個(gè)固定長度的緩存隊(duì)列中,最后基于動(dòng)態(tài) Bayesian 決策判定是否有場景切換.段淑玉等[4]提出一種應(yīng)用于幀率提升系統(tǒng)的,根據(jù)內(nèi)插幀各匹配塊的均值SAD為檢測依據(jù)的場景切換檢測算法,解決場景切換時(shí)ME/MC算法因匹配失誤產(chǎn)生嚴(yán)重塊效應(yīng)的問題.
語義方面,早期的場景分類研究中,文獻(xiàn)[5,6]是基于圖像特征的,即通過描述顏色、紋理和形狀等底層特征來實(shí)現(xiàn)分類.之后,用融合多種特征的方法來描述不同內(nèi)容的圖像場景,Naveed等[7]利用混合特征進(jìn)行訓(xùn)練以預(yù)測人類活動(dòng).他們使用HOG、SIFT、LBP等作為訓(xùn)練系統(tǒng)的特征集.Kang等人[8]在對(duì)視頻底層特征分析的基礎(chǔ)上,提取音視頻關(guān)鍵字作為中級(jí)特征,基于隱馬爾科夫模型來檢測精彩視頻片段.Ekin等[9]通過提取視頻的中低級(jí)特征,提出了一種有效的足球視頻摘要生成框架,能夠生成慢速運(yùn)動(dòng)、進(jìn)球和基于對(duì)象特征分類的慢速運(yùn)動(dòng)3類摘要.文獻(xiàn)[10,11]結(jié)合網(wǎng)絡(luò)直播文本對(duì)體育視頻事件進(jìn)行檢測,實(shí)驗(yàn)表明檢測到的事件類型更加豐富,準(zhǔn)確率也得到較大提升.但網(wǎng)絡(luò)直播文本的獲取和文本事件與視頻事件的對(duì)齊是此方法的關(guān)鍵和難點(diǎn).于俊清等[12]利用足球比賽中觀眾情緒波動(dòng)情況,建立情感激勵(lì)曲線并對(duì)曲線尖峰進(jìn)行檢測,但基于尖峰檢測誤差較大,檢測性能無法滿足實(shí)際需要.
相較于傳統(tǒng)的場景分類方法,文獻(xiàn)[13]利用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)進(jìn)行場景分類,通過自學(xué)習(xí)的方式來“識(shí)別”圖像,利用反饋網(wǎng)絡(luò)實(shí)現(xiàn)實(shí)現(xiàn)分類.Jiang等[14]首先將視頻分解為關(guān)鍵幀,然后將這些關(guān)鍵幀的CNN特征傳遞給RNN進(jìn)行分類.Tjondronegoro等[15]對(duì)不同類型的事件進(jìn)行統(tǒng)計(jì)分析,選擇6個(gè)具有區(qū)分性的特征,根據(jù)統(tǒng)計(jì)結(jié)果建立一系列規(guī)則把足球視頻事件分為進(jìn)球、射門和犯規(guī)3類.但過程比較繁雜,人力耗費(fèi)較大.Ji等[16]提出基于三維卷積神經(jīng)網(wǎng)絡(luò)的體系結(jié)構(gòu),該算法捕捉多個(gè)相鄰幀中編碼的運(yùn)動(dòng)信息,從輸入幀中生成多個(gè)信息通道.最終的特征表示為結(jié)合了所有通道的信息.但該算法應(yīng)用場景是機(jī)場監(jiān)控視頻中人的行為識(shí)別.目前,對(duì)于足球視頻中的活動(dòng)識(shí)別,模型僅限于處理二維數(shù)據(jù)的輸入實(shí)現(xiàn)分類.本文提出了一種基于三維CNN(C3D)的足球視頻分類模型,模型通過執(zhí)行三維卷積,從空間和時(shí)間維度中提取特征,從而捕獲編碼在多個(gè)相鄰幀中的運(yùn)動(dòng)信息.具體算法流程如圖1所示.
圖1 算法流程圖
本文的算法以視頻作為輸入,在場景切換檢測的基礎(chǔ)上將視頻分割成小片段,根據(jù)預(yù)定義的類別將片段進(jìn)行標(biāo)記,然后,將小片段送入C3D(三維卷積)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練.
本文提出的算法建立在三維卷積的神經(jīng)網(wǎng)絡(luò)模型上,模型以視頻作為輸入.首先,對(duì)足球視頻的場景切換進(jìn)行檢測,提取不同場景的視頻片段以實(shí)現(xiàn)鏡頭分割,通過邊界檢測算法將視頻中每個(gè)鏡頭的邊界幀檢測出來,然后通過這些邊界幀將完整的視頻分割成一系列獨(dú)立的鏡頭.
根據(jù)足球視頻場景變換的特點(diǎn),整場比賽中突變鏡頭的情況較多,在綜合考慮了效率和準(zhǔn)確率之后,本文選取了基于像素比較的鏡頭分割方法:幀間差分法,如式(1)所示:
其中,Ik(x,y)和Ik+1(x,y)分別表示第k幀和第k+1幀在(x,y)處的亮度值,M和N分別表示該幀圖像的高度和寬度.D(k,k+1)的值表示兩幀之間的變化.當(dāng)D(k,k+1)大于某一設(shè)定的閾值時(shí)則認(rèn)為這兩幀分別屬于兩個(gè)不同的鏡頭.
對(duì)于回放鏡頭,由于鏡頭切換頻率較低,文獻(xiàn)[12]通過實(shí)驗(yàn)驗(yàn)證了基于Logo 的回放鏡頭檢測方法的可行性,因此,本文采取上述基于徽標(biāo)檢測的方法對(duì)回放場景進(jìn)行檢測.
文獻(xiàn)[17]通過提取特征值并結(jié)合決策樹來對(duì)鏡頭進(jìn)行分類和語義標(biāo)注.本文結(jié)合決策樹算法及人工規(guī)則對(duì)分割好的鏡頭進(jìn)行語義標(biāo)注.決策樹流程如圖2所示.
圖2 決策樹流程圖
在決策樹的第一層首先區(qū)分的是回放鏡頭和非回放鏡頭,決策樹的第二層則是通過顏色直方圖來判斷場地面積,以此將非回放鏡頭分為場內(nèi)鏡頭和場外鏡頭(觀眾鏡頭、開場鏡頭);第三層通過計(jì)算人臉比例提取場內(nèi)鏡頭中的特寫鏡頭;第四層通過計(jì)算場地和球員面積比例將剩下的場內(nèi)鏡頭分為遠(yuǎn)鏡頭、VAR鏡頭和中鏡頭.
本文將鏡頭場景分為7類,分別為:遠(yuǎn)鏡頭、中鏡頭、特寫鏡頭、回放鏡頭、觀眾鏡頭、開場鏡頭及VAR鏡頭.各鏡頭語義代表幀如圖3所示.
圖3 鏡頭代表幀
本文優(yōu)化了經(jīng)典的C3D網(wǎng)絡(luò)的結(jié)構(gòu).經(jīng)典的C3D網(wǎng)絡(luò)結(jié)構(gòu)是由8個(gè)3D卷積層(Convolution)、5個(gè)3D最大池化層(MaxPooling)、2個(gè)全連接層(Fully-Connect)構(gòu)成.優(yōu)化后的網(wǎng)絡(luò)結(jié)構(gòu)減少卷積層的個(gè)數(shù),新的網(wǎng)絡(luò)結(jié)構(gòu)為5個(gè)卷積層,5個(gè)最大池化層,3個(gè)全連接層,2個(gè)Dropout層及1個(gè)Softmax層組成,如圖4所示.
圖4 C3D網(wǎng)絡(luò)模型圖
1)輸入層
輸入層的數(shù)據(jù)為一個(gè)個(gè)視頻片段,但由于視頻的長度長短不一,我們選用最近鄰插值的方式,對(duì)視頻片段少于采樣長度的數(shù)據(jù)進(jìn)行填補(bǔ),以達(dá)到每次采樣的長度為28幀.同時(shí),我們還將視頻序列幀的大小統(tǒng)一尺寸為122×122.
2)卷積層與池化層
本文采用三維卷積,在視頻的空間和時(shí)間維上對(duì)相鄰幀進(jìn)行卷積操作以提取特征.這些特征保存了空間信息和時(shí)間信息,便于對(duì)視頻中物體的運(yùn)動(dòng)進(jìn)行檢測.針對(duì)單通道,與2D卷積不同之處在于,輸入圖像多了一個(gè)depth維度,故輸入大小為(1,depth,height,width),卷積核也多了一個(gè)k_d(depth)維度,因此卷積核在輸入3D圖像的空間維度(height和width維)和depth維度上均進(jìn)行滑窗操作,每次滑窗與(k_d,k_h,k_w)窗口內(nèi)的values進(jìn)行相關(guān)操作,得到輸出3D圖像中的一個(gè)value.如圖5所示.
圖5 2D卷積
針對(duì)多通道,輸入大小為(3,depth,height,width),則與2D卷積的操作一樣,每次滑窗與3個(gè)channels上的(k_d,k_h,k_w)窗口內(nèi)的所有values進(jìn)行相關(guān)操作,得到輸出3D圖像中的一個(gè)value.如圖6所示.
我們的視頻片段每幀的大小為c×l×w×h,其中c為圖像的通道數(shù),l為視頻序列的長度,即我們的采樣幀數(shù),w和h為每幀的寬和高.卷積層的核大小為d×k×k,d為卷積核的時(shí)間深度,k為核的空間大小,本文卷積層的核大小為3×3×3,所有池化層都是最大池化,內(nèi)核大小為2×2×2(第一層除外),步長為1.第一層池化層的內(nèi)核大小為1×2×2,其目的是不過早地合并時(shí)間信號(hào),同時(shí)滿足28幀的剪輯長度.
圖6 3D卷積
3)Dropout 層
為了防止模型過擬合,我們引入了Dropout層,它將深度神經(jīng)網(wǎng)絡(luò)模型作為一個(gè)集成的模型進(jìn)行訓(xùn)練,然后將所有值取平均,而不只是訓(xùn)練單個(gè)模型.網(wǎng)絡(luò)模型將Dropout率為p,即一個(gè)神經(jīng)元被保留的概率為1-p.當(dāng)一個(gè)神經(jīng)元被丟棄時(shí),無論輸入的是什么、相關(guān)的參數(shù)是多少,它的輸出值都會(huì)被設(shè)置0.Dropout_1和 Dropout_2 層的p值初始設(shè)置為0.5.
4)Flatten層
Fatten層的作用是將數(shù)據(jù)“拍平”,即將多維的數(shù)據(jù)一維化,作為從卷積層到全連接層的過渡.Flatten層的處理不會(huì)影響批處理batch_size的大小,因此,本文的數(shù)據(jù)在經(jīng)過Flatten層處理后,數(shù)據(jù)大小為256×9=2304.
5)損失函數(shù)
損失函數(shù)是衡量我們的網(wǎng)絡(luò)結(jié)構(gòu)在我們的數(shù)據(jù)集上訓(xùn)練的好壞的一項(xiàng)指標(biāo).當(dāng)訓(xùn)練集的預(yù)測大部分為錯(cuò)誤時(shí),則對(duì)應(yīng)輸出較大的損失函數(shù)值.當(dāng)模型的輸出結(jié)果較好,則損失函數(shù)的輸出也將較低.如果我們想要改變算法的某些部分來提高我們模型的性能,損失函數(shù)的輸出將作為我們的參考標(biāo)準(zhǔn).本文在架構(gòu)中使用了交叉熵?fù)p失函數(shù),如式(2)所示:
通過概率分布q來表達(dá)概率分布p的困難程度,p代表正確答案,q代表的是預(yù)測值,交叉熵越小,兩個(gè)概率的分布越接近.
在此基礎(chǔ)上,利用Softmax函數(shù)求出每個(gè)類的概率.Softmax函數(shù)如式(3)所示:
其中,S是每個(gè)可能結(jié)果M的分類概率得分.假設(shè)我們有一個(gè)具有M種可能結(jié)果的分類問題,當(dāng)我們輸入一幅圖像進(jìn)行分類時(shí),我們根據(jù)每個(gè)結(jié)果得到分類分?jǐn)?shù)S1,S2,…,SM.在得到預(yù)測后,將某一特定框架的分類分?jǐn)?shù)除以所有指數(shù)分?jǐn)?shù)之和后,得到基于最小損失的實(shí)際類,該類的概率最大.
實(shí)驗(yàn)環(huán)境為Ubuntu16.0,運(yùn)行內(nèi)存為16 GB,GPU型號(hào)為 NIVIDIA 1080 Ti,內(nèi)存為12 GB.本文用MXNet框架搭建模型.
針對(duì)足球比賽視頻,目前還未形成一個(gè)公開的數(shù)據(jù)集,為了訓(xùn)練本文的分類算法,必須自行收集數(shù)據(jù),并根據(jù)需要對(duì)鏡頭的場景進(jìn)行標(biāo)記.因此,本文也為足球數(shù)據(jù)集的生成做出了貢獻(xiàn).在本文的分類中包含7種類型,包括開場鏡頭、觀眾鏡頭、遠(yuǎn)鏡頭、中場鏡頭、回放鏡頭、特寫鏡頭、以及VAR鏡頭.每個(gè)類別的場景鏡頭約600個(gè),每個(gè)鏡頭的平均持續(xù)時(shí)間為7秒,視頻的幀率為25 秒/幀.本文的數(shù)據(jù)集包括5場世界杯比賽,每場比賽為90分鐘.我們將數(shù)據(jù)的訓(xùn)練集與測試集按4:1的比例分配.
由于本文的數(shù)據(jù)集有限,在采用3D CNN提取特征時(shí),容易導(dǎo)致模型過度擬合,因此,我們引入了Dropout層,并設(shè)置不同的Dropout參數(shù)進(jìn)行訓(xùn)練.訓(xùn)練準(zhǔn)確率與測試準(zhǔn)確率如表1所示.
本文發(fā)現(xiàn),模型在Dropout值為0.7時(shí),效果最好,因此,我們用這個(gè)Dropout值對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練.
在訓(xùn)練過程中,網(wǎng)絡(luò)在迭代周期為1000時(shí),損失函數(shù)的值最小,此后,損失函數(shù)開始收斂,如圖7所示.
表1 不同的Dropout值對(duì)應(yīng)的準(zhǔn)確率
圖7 迭代周期與準(zhǔn)確率
與此同時(shí),模型的優(yōu)化函數(shù)采用自適應(yīng)估計(jì)(Adam)梯度優(yōu)化函數(shù),其他參數(shù)配置如表2所示.
表2 超參數(shù)配置
本文算法將足球視頻場景分為7類,分類結(jié)果如表3所示,表格最右列表示未分類(漏檢)鏡頭數(shù),對(duì)角線的位置表示正確分類的鏡頭數(shù).由表3可以看出,本文算法針對(duì)特寫鏡頭的場景分類準(zhǔn)確率最高96%,與文獻(xiàn)[18]對(duì)比,場景類別更加豐富.同時(shí),在特寫鏡頭分類時(shí),準(zhǔn)確率高于文獻(xiàn)[18]的基于HMM的事件檢測分類算法.與文獻(xiàn)[19]提出的基于貝葉斯網(wǎng)絡(luò)的足球事件檢測算法相比,雖然遠(yuǎn)鏡頭分類準(zhǔn)確率低于其算法,但特寫鏡頭的準(zhǔn)確率高于其算法.與Jiang[14]所提出的2D CNN網(wǎng)絡(luò)比較,特征提取更為有效,分類的準(zhǔn)確率較高.與Chen[15]相比,數(shù)據(jù)集更豐富,比較的類別也更多.與基于LSTM的2D CNN相比,3D CNN同時(shí)捕獲了二維CNN的時(shí)空特征,取得了較好的效果.本文數(shù)據(jù)對(duì)比如表4所示.
2 D CNN在空間特征的學(xué)習(xí)效果較好,但無法對(duì)視頻的時(shí)間特征進(jìn)行處理.本文提出的基于C3D的足球視頻場景分類算法,分別對(duì)時(shí)間特征和空間特征進(jìn)行了有效的提取,實(shí)現(xiàn)了比傳統(tǒng)技術(shù)更好的精度,本文在特寫鏡頭分類時(shí),準(zhǔn)確率提高了2%.本文算法在場景切換檢測的基礎(chǔ)上,根據(jù)預(yù)定義的類別將各個(gè)場景片段進(jìn)行標(biāo)記,利用3D CNN學(xué)習(xí)時(shí)空特征,然后將其進(jìn)行分類.下一步工作計(jì)劃是進(jìn)行實(shí)時(shí)的足球視頻場景分類,與此同時(shí),擴(kuò)展場景類別以識(shí)別足球視頻中更復(fù)雜的場景.
表3 查全率與準(zhǔn)確率實(shí)驗(yàn)結(jié)果
表4 特寫鏡頭分類結(jié)果對(duì)比