張璦涵,劉 翔,石蘊(yùn)玉,劉思齊
(上海工程技術(shù)大學(xué)電子電氣工程學(xué)院,上海 201620)
視頻分類是指給定一個視頻片段并對其中包含的內(nèi)容進(jìn)行分類,廣泛應(yīng)用于視頻點(diǎn)播、網(wǎng)絡(luò)演示、遠(yuǎn)程教育等互聯(lián)網(wǎng)信息服務(wù)領(lǐng)域[1-2]。隨著深度學(xué)習(xí)[3-4]技術(shù)的發(fā)展,通常將視頻每一幀視為一幅單獨(dú)的圖像并利用二維卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)進(jìn)行圖像分類。該方法將視頻分類問題簡化為圖像分類問題,對比圖像分類僅多了一個維度的時序特征。KARPATHY等[5]將時序語義融合分為識別動作靠場景和識別場景靠物體的單融合、相鄰固定幀的兩幀做卷積而全連接接受時序信息的后融合、在二維卷積中增加深度的前融合、在前融合中增加長度和步長的緩融合4 類。根據(jù)3D卷積神經(jīng)網(wǎng)絡(luò)(3D Convolutional Neural Network,3DCNN)保留時序特征的特點(diǎn),TRAN等[6]在UCF101 數(shù)據(jù)集上的分類準(zhǔn)確率最高為85.2%,每秒傳輸幀數(shù)(Frame Per Second,F(xiàn)PS)為313.9。研究人員對3D 卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行大量研究,CARREIRA等[7]提出增加網(wǎng)絡(luò)寬度的I3D 網(wǎng)絡(luò),在單一數(shù)據(jù)集RGB 流中的分類準(zhǔn)確率為84.5%,但需使用64 個GPU 并行訓(xùn)練,且計(jì)算量難以應(yīng)用于現(xiàn)實(shí)場景。為解決現(xiàn)實(shí)生活場景下的視頻分類問題,楊曙光等[8-11]分別對3D 卷積提取進(jìn)行改進(jìn)并將其運(yùn)用于人體動作識別、體育運(yùn)動分類等任務(wù),獲得了較高的分類準(zhǔn)確 率。HARA等[12]將ResNet網(wǎng)絡(luò)[13]從2D 擴(kuò)展到3D,并將其與ResNeXt 網(wǎng)絡(luò)[14]、DenseNet網(wǎng)絡(luò)[15]在Kinetics 數(shù)據(jù)集上進(jìn)行分類準(zhǔn)確率對比,證明了預(yù)訓(xùn)練的簡單3D 體系結(jié)構(gòu)優(yōu)于復(fù)雜2D 體系結(jié)構(gòu)。陳意等[16]改進(jìn)了NeXtVLAD,并且在VideoNet-100 數(shù)據(jù)集中的分類準(zhǔn)確率最高為85.4%。
由于目前常用的UCF101[17]、Kinetics[7]、HMDB51等數(shù)據(jù)集主要是以人物動作進(jìn)行分類,然而在現(xiàn)實(shí)生活場景中還有純風(fēng)景、純文字、卡通動漫等識別類型,此類基于人物動作的分類數(shù)據(jù)集并不適用,因此本文構(gòu)建來源于抖音、快手、今日頭條等平臺的短視頻數(shù)據(jù)集,并提出一種雙流程短視頻分類方法。在主流程中,通過考慮短視頻在時間維度的連續(xù)性、平衡性與魯棒性,設(shè)計(jì)更適合短視頻分類的A-VGG-3D 網(wǎng)絡(luò)模型和采樣策略。在輔助流程中,將幀差法判斷鏡頭切換抽取出的若干幀通過人臉檢測進(jìn)行人物類和非人物類的二分類,以進(jìn)一步提升短視頻分類準(zhǔn)確性。
針對實(shí)際生活場景下的短視頻分類問題,本文提出一種雙流程分類方法。主流程采用A-VGG-3D 網(wǎng)絡(luò)結(jié)構(gòu),通過對特征的精準(zhǔn)提取并結(jié)合視頻時序特征實(shí)現(xiàn)短視頻分類。輔助流程通過鏡頭判別和人臉檢測進(jìn)行輔助分類。將輔助流程的分類結(jié)果與主流程分類結(jié)果進(jìn)行分析,得出最終的分類結(jié)果。該分類方法不局限于人物動作,可將生活中的短視頻進(jìn)行更好的分類,適用于視頻推薦、視頻監(jiān)管、視頻查詢等任務(wù)。
在采樣過程中,為充分保留視頻的時序性,并且考慮到2D 卷積網(wǎng)絡(luò)在每次卷積運(yùn)算后都會丟失輸入的時間信息,而3D 卷積網(wǎng)絡(luò)除了2D 卷積網(wǎng)絡(luò)原有特征之外,還會保留輸入的時間信息,因此選擇3D 卷積用于視頻的相關(guān)特征提取。給定一個短視頻,將其按相等間隔分為k段,其中相等的間隔所獲取到的幀數(shù)即為網(wǎng)絡(luò)中3D 卷積采樣深度,采樣得到的片段序列T1,T2,…,Tk表示如下:
2D 和3D 卷積操作如圖1 所示,其中,L、H、W分別表示為短視頻的時間長度、通道數(shù)、高和寬,k、d、K表示卷積核的尺寸。
圖1 2D 和3D 卷積操作Fig.1 2D and 3D convolution operations
牛津大學(xué)的SIMONYAN等[18]提出的VGG16 卷積神經(jīng)網(wǎng)絡(luò)模型在ImageNet 數(shù)據(jù)集中的Top-5 測試精確率達(dá)到92.7%。VGG16 網(wǎng)絡(luò)模型利用深度學(xué)習(xí)技術(shù),使得每個神經(jīng)元只能感覺到局部圖像區(qū)域,而全局信息則通過整合不同敏感的神經(jīng)元獲得,減少了卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練所需的參數(shù)量和權(quán)值。
注意力機(jī)制是一種大腦信號處理機(jī)制,通過計(jì)算概率分布突出某個關(guān)鍵輸入對輸出的影響[19]。軟注意力機(jī)制考慮所有輸入,為每一個特征分配不同概率的注意力權(quán)重值,相對發(fā)散。硬注意力機(jī)制較為隨機(jī),在某一時刻只關(guān)注一個位置的信息,相對專注。通道注意力模塊通過對特征圖的各個通道之間的依賴性進(jìn)行建模,提高了對于重要特征的表征能力。HU等[20]提出SENet block,其核心思想在于網(wǎng)絡(luò)根據(jù)loss 學(xué)習(xí)特征權(quán)重,有選擇性地通過權(quán)重分配加強(qiáng)有關(guān)特征或抑制無關(guān)特征。BAHDANAU等[21]將注意力機(jī)制引入循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN),實(shí)現(xiàn)機(jī)器翻譯。
本文在VGG16 網(wǎng)絡(luò)模型的基礎(chǔ)上,引入壓縮注意力模塊(SENet block),SENet block 主要包含Squeeze 和Excitation 兩部分,如 圖2所示,其中X為輸入,C為通道數(shù),W為權(quán)重參數(shù),F(xiàn)tr為標(biāo)準(zhǔn)的卷積形式轉(zhuǎn)換操作,F(xiàn)sq為壓縮操作,F(xiàn)ex為激勵操作,F(xiàn)scale為通道上的乘積操作。
圖2 SENet block 結(jié)構(gòu)Fig.2 SENet block structure
壓縮操作(Squeeze)是一個全局平均池化操作,將C個大小為H×W的特征圖(H×W×C)的輸入轉(zhuǎn)換成的輸出,輸出結(jié)果為全局信息,如式(2)所示:
其中:UC代表2D 矩陣的數(shù)值。
激勵操作(Excitation)是一個全連接層操作,位于壓縮操作得到的結(jié)果Z后。權(quán)重參數(shù)W被用來學(xué)習(xí)顯式地建模特征通道間的相關(guān)性,經(jīng)過一個ReLU層,輸出的維度不變,與W2相乘也是一個全連接層的過程,再經(jīng)過sigmoid 函數(shù)得到S,如式(3)所示:
其中:S用來刻畫U中C個特征圖的權(quán)重,該權(quán)重是通過前面的全連接層和非線性層學(xué)習(xí)得到的。激勵操作中兩個全連接層的作用是融合各通道的特征圖信息。
規(guī)?;僮鳎⊿cale)是在得到S后對U進(jìn)行的操作,如式(4)所示:
其中:SC代表2D 權(quán)重的數(shù)值。
短視頻分類流程如圖3 所示,在主流程中選取網(wǎng)絡(luò)輸出的前5 類,從高到低設(shè)置為5 分至1 分,輔助流程輸出結(jié)果各占1 分,采用投票法計(jì)算出最終分值后進(jìn)行短視頻類別排序,最終輸出總排名第1的短視頻類別作為最終分類結(jié)果,進(jìn)一步提升短視頻分類準(zhǔn)確率。
圖3 短視頻分類流程Fig.3 Procedure of short video classification
選取典型短視頻,構(gòu)建C1 和C2 兩類數(shù)據(jù)集,其中,C1 是僅包含人物動作類的數(shù)據(jù)集,細(xì)分為訪談、劇情、樂器、舞蹈、穿搭5 類短視頻,C2 數(shù)據(jù)集在C1數(shù)據(jù)集的基礎(chǔ)上增加了文字類和動畫類短視頻,每類包括10~25 組短視頻,每組包括3~7 個短視頻。C1 和C2 數(shù)據(jù)集標(biāo)簽層級結(jié)構(gòu)關(guān)系如圖4 所示。
圖4 C1 和C2 數(shù)據(jù)集標(biāo)簽層級結(jié)構(gòu)關(guān)系Fig.4 C1 and C2 dataset label hierarchy relationship
通過觀察創(chuàng)作者的短視頻,自制數(shù)據(jù)集中的短視頻時長為15 s 至1 min,主要集中在30 s 左右,分別選取對應(yīng)的388 條和504 條短視頻,以防止過擬合。本文提出的短視頻分類方法以短視頻實(shí)際展示內(nèi)容為視頻標(biāo)簽,在短視頻分類上更具實(shí)用性和魯棒性。C2 數(shù)據(jù)集中的部分短視頻如圖5 所示。
圖5 C2 數(shù)據(jù)集部分短視頻Fig.5 Part of short videos of the C2 dataset
短視頻分類主流程如圖6 所示,首先分割選取短視頻片段,保證幀圖像規(guī)格相同并確保相應(yīng)數(shù)量的片段樣本,然后把視頻段輸入A-VGG-3D 網(wǎng)絡(luò)進(jìn)行特征提取、訓(xùn)練和測試,最后網(wǎng)絡(luò)預(yù)測出前5 類分類結(jié)果。
圖6 短視頻分類主流程Fig.6 Main procedure of short video classification
目前,短視頻分辨率一般為720×1 280 像素。通過降采樣處理,將短視頻分割為224×224×3×15 的片段輸入A-VGG-3D 網(wǎng)絡(luò)特征提取部分,將Conv 3-3特征圖輸入短視頻分類部分,將調(diào)整特征圖做上采樣處理為112×112×3×15 的片段輸入A-VGG-3D 網(wǎng)絡(luò)分類部分,其中采樣深度為15,通道數(shù)為3,最終輸出為該短視頻類別。短視頻深度選擇方法主要分為給定固定值和選擇所有幀2 類,本文選擇所有視頻幀,這樣能減少特殊樣本對數(shù)據(jù)的影響。在式(5)中,Nframe為在視頻中被抽取的首幀序號、Nnframe為短視頻文件的總幀數(shù)、Ndepth為需要抽取的總幀數(shù),x(x=0,1,…,Ndepth)為從0 開始依次遞增的整數(shù)。
A-VGG-3D 網(wǎng)絡(luò)架構(gòu)分為特征提取部分和短視頻分類部分,其中特征提取部分為增加注意力機(jī)制的VGG 網(wǎng)絡(luò),短視頻分類部分為改進(jìn)的C3D 網(wǎng)絡(luò)。A-VGG-3D 網(wǎng)絡(luò)模型的創(chuàng)新之處在于:1)特征提取部分在VGG-16 網(wǎng)絡(luò)淺層增加注意力機(jī)制,可模擬人腦對感興趣區(qū)域合理分配權(quán)重;2)短視頻分類部分減少了卷積層和池化層,在幾乎不影響準(zhǔn)確度的情況下降低了計(jì)算復(fù)雜度,加快了分類速度,并具有較高的分類魯棒性;3)短視頻分類部分新增3 個BN層,解決了因網(wǎng)絡(luò)層數(shù)加深而產(chǎn)生的收斂速度慢甚至消失的問題;4)短視頻分類部分增加了級聯(lián)融合模塊,將小尺度圖像放大至所需尺度,實(shí)現(xiàn)了多級特征融合。
A-VGG-3D 網(wǎng)絡(luò)架構(gòu)如圖7 所示,彩色效果見《計(jì)算機(jī)工程》官網(wǎng)HTML 版。在特征提取部分,卷積層為粉色(Convolution+ReLU)、池化層為藍(lán)色(max pool)、全連接層為黃 色(Fully connected+ReLU)、深橙色為注意力機(jī)制模塊(SENet block),最后輸出層為綠色(softmax)。該網(wǎng)絡(luò)在VGG 網(wǎng)絡(luò)Conv 1-1 和Conv 1-2 之間加入SENet block,主要包含Squeeze 和Excitation 兩部分,通過在淺層進(jìn)行學(xué)習(xí)并分配注意力權(quán)重從而選擇性地加強(qiáng)有關(guān)特征或抑制無關(guān)特征。然后將特征以Conv 3-3 特征圖作為短視頻分類部分輸入。在短視頻分類部分,綠色部分為本文加入的歸一化層,通過兩個跳躍連接的上采樣模塊(淺橙色)融合多尺度特征進(jìn)行預(yù)測,從而加強(qiáng)對局部特征的學(xué)習(xí),其中32@3×3×3為32個3×3×3的卷積核。
圖7 A-VGG-3D 網(wǎng)絡(luò)架構(gòu)Fig.7 A-VGG-3D network architecture
短視頻分類輔助流程主要包括鏡頭判別和人臉檢測兩部分輔助流程。由于短視頻拍攝可分為航拍、弧型運(yùn)動、銜接等鏡頭,因此不同類別短視頻采用的鏡頭拍攝方法存在差異。劇情類和訪談類短視頻的拍攝視角和場景切換頻率存在很大不同,以相同方式選取短視頻的46 幀,劇情類前景與背景均存在較多變化,如圖8(a)中黑框區(qū)域,訪談類前景背景幾乎不變,如圖8(b)所示。
圖8 短視頻鏡頭拍攝差異圖Fig.8 Lens shot difference images in the short videos
在鏡頭判別輔助流程中,采用幀差法來判斷鏡頭切換,根據(jù)視頻序列具有連續(xù)性的特點(diǎn):如果拍攝鏡頭內(nèi)沒有較大變化,則連續(xù)幀的變化很微弱;如果存在鏡頭切換,則連續(xù)的幀與幀之間會有明顯變化,即為本文選取的變換鏡頭幀。將相鄰兩幀圖像對應(yīng)像素點(diǎn)的灰度值進(jìn)行相減并取絕對值,fn(x,y)為當(dāng)前幀的直方圖特征,fn-1(x,y)為上一幀的直方圖特征,得到差分圖像Dn,如式(6)所示:
設(shè)定閾值T,按照式(7)逐個對像素點(diǎn)進(jìn)行二值化處理得到二值化圖像
其中:灰度值為255 的點(diǎn),即為前景點(diǎn);灰度值為0 的點(diǎn),即為背景點(diǎn)。
為進(jìn)一步提升短視頻分類準(zhǔn)確性,將幀差法抽取出的若干幀通過人臉檢測輔助流程進(jìn)行人物類和非人物類的二分類。采用滑動窗口機(jī)制與級聯(lián)分類器融合的方式進(jìn)行多尺度人臉檢測,若抽取的短視頻幀中存在人臉,則將人臉框出作為人物類短視頻依據(jù)。因?yàn)槿宋镱惗桃曨l部分帶有人物特征,所以將改進(jìn)的行為識別網(wǎng)絡(luò)作為分類網(wǎng)絡(luò)進(jìn)行分類。最終根據(jù)分類網(wǎng)絡(luò)得到的分類結(jié)果進(jìn)行分析優(yōu)化,并與前幾次分類結(jié)果進(jìn)行比對,得到最優(yōu)分類結(jié)果。
實(shí)驗(yàn)操作系統(tǒng)為Windows 10 64 位旗艦版。實(shí)驗(yàn)環(huán)境GPU 為4 塊NVIDIA GeForce GTX 1080Ti 顯卡。A-VGG-3D以keras為框架,batch size設(shè)置為128,初始學(xué)習(xí)率為0.003,每經(jīng)過1.5×105次迭代,學(xué)習(xí)率除以2,在第1.9×106次迭代(大約13 個epoch)時停止,共訓(xùn)練100 個epoch。鏡頭判別采用灰度幀差法,其中鏡頭邊界閾值為0.5。人臉檢測采用Python腳本在鏡頭幀中進(jìn)行自動檢測。
采用Top-1 準(zhǔn)確率和FPS 作為評價視頻分類方法主流程的性能指標(biāo)。Top-1 準(zhǔn)確率和FPS 計(jì)算公式分別如式(8)和式(9)所示:
其中:A表示準(zhǔn)確率;T表示分類正確的樣本數(shù);F為分類錯誤的樣本數(shù);NFrameNum表示每秒處理的圖像幀數(shù);Ttime表示時間間隔,取值為1 s。
選擇查準(zhǔn)率(ATR)和查全率(APR)作為評價視頻分類方法輔助流程的性能指標(biāo)。ATR和APR計(jì)算公式分別如式(10)和式(11)所示:
其中:AFP表示誤檢的數(shù)量;AFN表示漏檢的數(shù)量。
由于數(shù)據(jù)集數(shù)量有限,在較多的短視頻樣本中選取少量推薦率高、代表性強(qiáng)的短視頻作為實(shí)驗(yàn)數(shù)據(jù)集。UCF101[17]為包含時間短于10 s的13320條實(shí)際動作短視頻的公開數(shù)據(jù)集,共分為101 類,其中每類有25 個人,每人做4~7 組刷牙、擊鼓、蛙泳等動作。由于UCF101 數(shù)據(jù)集與短視頻分類研究數(shù)據(jù)集在時間上有相似性,因此選取UCF101 數(shù)據(jù)集和自建數(shù)據(jù)集以解決短視頻分類問題。選擇C1、C2 和UCF101 數(shù)據(jù)集進(jìn)行5 類、7 類、101 類短視頻分類,并按照4∶1 的比例劃分為訓(xùn)練集和測試集。為確保結(jié)果的一致性,實(shí)驗(yàn)選取視頻的隨機(jī)性保持不變,使用RGB 幀輸入。在輔助流程中,鏡頭判別在C1、C2 數(shù)據(jù)集中進(jìn)行鏡頭切換數(shù)量判定,在表示訪談類、劇情類、卡通類鏡頭切換數(shù)量與視頻幀總數(shù)量的關(guān)系中:訪談類鏡頭切換數(shù)量基本保持在5 次左右,在視頻總幀數(shù)中占比不足5%;劇情類鏡頭切換數(shù)量基本大于10 次,集中于20~70 次,在視頻總幀數(shù)中占10%~20%;卡通類鏡頭切換數(shù)量并不穩(wěn)定,在切換數(shù)量上與劇情類更為相似,通過人臉檢測輔助流程可較好地將兩者進(jìn)行分類。在輔助流程中,人臉檢測準(zhǔn)確率高達(dá)99%,表明輔助流程在短視頻分類中具有較大作用。由于訪談類和劇情類在鏡頭切換數(shù)量上存在較大區(qū)別,因此以鏡頭數(shù)量判別非訪談類和非劇情類效果較好,也可降低網(wǎng)絡(luò)對短視頻分類的誤判。為保證較高的查準(zhǔn)率與查全率,設(shè)置鏡頭切換數(shù)量閾值為10,查準(zhǔn)率與查全率結(jié)果如表1 所示。
表1 鏡頭判別查準(zhǔn)率與查全率Table 1 Precision and recall of lens discrimination %
通過雙流程權(quán)重設(shè)置,主流程A-VGG-3D 網(wǎng)絡(luò)判定中存在粗分類問題,在分類層得出的前5 名分類結(jié)果得分從高到低為5 分至1 分,輔助流程結(jié)果各占1 分,采用投票法計(jì)算出最終分值作為分類結(jié)果,進(jìn)一步提升短視頻分類準(zhǔn)確率。由于鏡頭判別僅針對輔助訪談類和劇情類提升準(zhǔn)確率,最終分類準(zhǔn)確率主要依據(jù)A-VGG-3D 網(wǎng)絡(luò)結(jié)果,因此本文權(quán)重設(shè)置較為合適。不同視頻分類方法的消融實(shí)驗(yàn)結(jié)果如表2 所示。由表2 可以看出,與主流程A-VGG-3D 網(wǎng)絡(luò)分類相比,增加人臉檢測可提升人物類和非人物類的分類準(zhǔn)確率,在C2 數(shù)據(jù)集上提升了3.2 個百分點(diǎn),增加鏡頭判別在C1 數(shù)據(jù)集上提升了4.5 個百分點(diǎn),可見本文方法中的輔助流程可提升現(xiàn)實(shí)生活場景短視頻的分類準(zhǔn)確率。
表2 消融實(shí)驗(yàn)結(jié)果Table 2 Ablation experiment results %
不同視頻分類方法的對比實(shí)驗(yàn)結(jié)果如表3 所示。由表3 可以看出,與基于C3D 的分類方法相比,本文方法的準(zhǔn)確率在UCF101 數(shù)據(jù)集上提升了9.7 個百分點(diǎn),在C1 和C2 數(shù)據(jù)集上表現(xiàn)也較為突出。綜上,本文方法針對不同數(shù)據(jù)集能快速高效地進(jìn)行短視頻分類,并且對于人物類和非人物類短視頻均具有較強(qiáng)的魯棒性。
表3 對比實(shí)驗(yàn)結(jié)果Table 3 Comparative experiment results %
本文提出一種針對生活場景的雙流程短視頻分類方法,構(gòu)建A-VGG-3D 網(wǎng)絡(luò)模型,采用帶有注意力機(jī)制的VGG 網(wǎng)絡(luò)提取特征,利用優(yōu)化的3DCNN 網(wǎng)絡(luò)進(jìn)行短視頻分類,并結(jié)合鏡頭判別和人臉檢測進(jìn)一步提高短視頻分類準(zhǔn)確率。實(shí)驗(yàn)結(jié)果表明,該方法相比基于2D 網(wǎng)絡(luò)的視頻分類方法可以更好地保留時間信息,并且在UCF101 數(shù)據(jù)集和自建的生活場景短視頻數(shù)據(jù)集上的分類效果均優(yōu)于傳統(tǒng)短視頻分類方法。后續(xù)將優(yōu)化A-VGG-3D 分類模型,通過匹配鏡頭判別和人臉檢測輔助流程進(jìn)一步提升分類效果。