黨偉超,張 磊,高改梅,劉春霞
(太原科技大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,太原 030024)
時(shí)序動(dòng)作定位是視頻理解中重要的基本領(lǐng)域之一,旨在識(shí)別視頻中的動(dòng)作實(shí)例,并在未修剪視頻中定位每個(gè)動(dòng)作的時(shí)間邊界。時(shí)序動(dòng)作定位可以看作由兩個(gè)子任務(wù)組成,一個(gè)子任務(wù)預(yù)測(cè)動(dòng)作的起止時(shí)序區(qū)間,另一個(gè)子任務(wù)預(yù)測(cè)動(dòng)作的類別?,F(xiàn)實(shí)世界中的大多數(shù)視頻通常未被剪輯,且時(shí)間較長(zhǎng),視頻可能沒有動(dòng)作,也可能包含多個(gè)動(dòng)作。傳統(tǒng)的時(shí)序動(dòng)作定位需要注釋視頻中的每個(gè)動(dòng)作實(shí)例類型和時(shí)間區(qū)間,導(dǎo)致收集樣本數(shù)據(jù)成本昂貴、消耗時(shí)間長(zhǎng),以及動(dòng)作樣本易錯(cuò)標(biāo)或漏標(biāo)。這些問題表明使用更少注釋信息的重要性,因此,只需要視頻級(jí)別標(biāo)簽的弱監(jiān)督時(shí)序動(dòng)作定位[1-3]逐漸成為動(dòng)作定位研究的重點(diǎn)。
現(xiàn)有的一些弱監(jiān)督時(shí)序動(dòng)作定位方法[4-5]利用注意力機(jī)制分離前景背景,構(gòu)建視頻級(jí)特征,應(yīng)用分類器獲取分類激活序列(Class Activation Sequence,CAS)[6],對(duì)CAS 閾值化處理得到定位結(jié)果。在視頻中除動(dòng)作幀與背景幀外,還存在語(yǔ)義模糊的上下文幀,這些上下文幀與動(dòng)作幀相似,導(dǎo)致在定位過程中難以被準(zhǔn)確分類。此外,這些方法大多處理單個(gè)片段,片段間的聯(lián)系未得到充分利用,導(dǎo)致出現(xiàn)在動(dòng)作時(shí)間邊界處的上下文幀也易被錯(cuò)誤劃分為動(dòng)作實(shí)例。
隨著深度學(xué)習(xí)的技術(shù)發(fā)展,無監(jiān)督學(xué)習(xí)[7-8]近年來備受關(guān)注,已被驗(yàn)證具有特征提取的適應(yīng)性和豐富性。在弱監(jiān)督時(shí)序動(dòng)作定位研究中,由于缺乏幀級(jí)別的注釋,可以利用無監(jiān)督學(xué)習(xí)提取特征的適應(yīng)性和豐富性的優(yōu)勢(shì),借助無監(jiān)督學(xué)習(xí)間接獲取幀級(jí)特征,幫助模型提高性能。文獻(xiàn)[9]中使用自編碼器生成數(shù)據(jù),使之在整體或高級(jí)語(yǔ)義上與訓(xùn)練數(shù)據(jù)相近,這類方法稱為生成式學(xué)習(xí)。對(duì)比式學(xué)習(xí)只將樣本分為正負(fù)樣本兩類,正樣本之間應(yīng)該相似,而正樣本與負(fù)樣本應(yīng)該不相似。通過學(xué)習(xí)同類樣本的共同特征,區(qū)分非同類樣本的不同以構(gòu)建對(duì)比學(xué)習(xí)模型。因此,可以利用對(duì)比學(xué)習(xí)范式解決弱監(jiān)督動(dòng)作定位中上下文混淆的問題。
為了將出現(xiàn)在動(dòng)作時(shí)間邊界處的上下文幀準(zhǔn)確分類,本文提出一種融合片段對(duì)比學(xué)習(xí)的弱監(jiān)督動(dòng)作定位方法。該方法主要由多分支注意力機(jī)制與片段挖掘算法[10]組成,其中,片段挖掘算法根據(jù)CAS 確定動(dòng)作邊界處的模糊片段。首先,通過特征提取進(jìn)行特征嵌入表示;其次,使用3 個(gè)注意力分支分別測(cè)量每個(gè)視頻幀是動(dòng)作實(shí)例、上下文以及背景的可能性,根據(jù)獲得的注意力值得到關(guān)于3 個(gè)類別對(duì)應(yīng)的類激活序列;隨后,對(duì)動(dòng)作實(shí)例類激活序列采用片段挖掘算法,挖掘模糊片段與顯著片段;最后,應(yīng)用片段對(duì)比學(xué)習(xí)范式識(shí)別這些模糊片段,引導(dǎo)模型定位準(zhǔn)確的時(shí)間邊界。
完全監(jiān)督的時(shí)序動(dòng)作定位通過提供幀級(jí)別的注釋定位和分類未修剪視頻中的動(dòng)作實(shí)例?,F(xiàn)有方法大致分為兩類:一類是兩階段方法[11-14],另一類是一階段方法[15]。第一類方法首先生成動(dòng)作建議,然后在動(dòng)作發(fā)生的時(shí)間邊界上分類;而第二類方法則從原始數(shù)據(jù)中直接預(yù)測(cè)幀級(jí)別的動(dòng)作類別與時(shí)間邊界,然后處理獲得的數(shù)據(jù)后完成最終定位。但這些方法在生成建議階段與分類階段都需要精確的動(dòng)作實(shí)例注釋,需要耗費(fèi)大量的人力資源,導(dǎo)致效率低,因此無法在現(xiàn)實(shí)中廣泛應(yīng)用。
弱監(jiān)督時(shí)序動(dòng)作定位相較于完全監(jiān)督學(xué)習(xí),僅需要視頻級(jí)別的動(dòng)作類別標(biāo)簽,極大地降低了標(biāo)注成本,更適用于視頻監(jiān)控、異常檢測(cè)等現(xiàn)實(shí)場(chǎng)景。現(xiàn)有的弱監(jiān)督時(shí)序動(dòng)作定位方法可以分為自上而下的方法和自下而上的方法兩類。自上而下的方法[16-17]首先學(xué)習(xí)一個(gè)視頻級(jí)別分類器,然后選擇分類激活序列較高的視頻幀作為動(dòng)作的位置。Min 等[18]將弱監(jiān)督動(dòng)作定位任務(wù)定義為動(dòng)作識(shí)別問題,通過引入動(dòng)作背景分離注意力分支構(gòu)建視頻級(jí)特征,然后使用分類器分類視頻。與自上而下的方法不同,自下而上的方法[4,6,19]直接從原始數(shù)據(jù)中預(yù)測(cè)時(shí)間注意力權(quán)重,為每一幀產(chǎn)生一個(gè)注意力值,并設(shè)置閾值以區(qū)分幀,將注意力值高的視頻幀當(dāng)作動(dòng)作幀,注意力值低的視頻幀作為背景幀,引導(dǎo)模型更專注于更可能包含動(dòng)作部分的片段。Shi 等[9]提出條件變分自編碼器對(duì)基于幀級(jí)注意力的未知幀概率進(jìn)行建模,再觀察上下文所表現(xiàn)的差異,學(xué)習(xí)一個(gè)概率模型,從而對(duì)給定注意力的每一幀的可能性進(jìn)行建模,最后實(shí)現(xiàn)動(dòng)作與背景的分離。
對(duì)比學(xué)習(xí)[20]是一種利用數(shù)據(jù)本身作為監(jiān)督信息學(xué)習(xí)樣本數(shù)據(jù)的特征表達(dá)的自監(jiān)督學(xué)習(xí)方式,通過在輸入樣本間進(jìn)行比較以學(xué)習(xí)表示。可以在“相似”輸入的正對(duì)和“不同”輸入的負(fù)對(duì)之間比較,從而學(xué)習(xí)樣本數(shù)據(jù)的一般特征。各領(lǐng)域?qū)W者提出各種改進(jìn)模型:如MoCo(Momentum Contrast for unsupervised visual representation Learning)[21]系 列、SimCLR(Simple framework for Contrastive Learning of visual Representations)[22]系列等,這些模型效果已經(jīng)超越了有監(jiān)督模型。對(duì)比學(xué)習(xí)的目標(biāo)是將樣本不同的、增強(qiáng)過的正樣本們?cè)谇度肟臻g中盡可能拉近,再將不同類的樣本間盡可能拉遠(yuǎn)。在計(jì)算機(jī)視覺領(lǐng)域中,對(duì)比學(xué)習(xí)可以被認(rèn)為是通過樣本之間的比較來進(jìn)行學(xué)習(xí),首先使用數(shù)據(jù)內(nèi)部模式學(xué)習(xí)一個(gè)嵌入空間,在這個(gè)嵌入空間中聚集相關(guān)的信號(hào),而不關(guān)聯(lián)的信號(hào)則通過噪聲對(duì)比估計(jì)(Noise Contrastive Estimation,NCE)[23]區(qū)分。文獻(xiàn)[8]中通過局部聚合方法拉近相似數(shù)據(jù),拉遠(yuǎn)相差較大的數(shù)據(jù),提出聚類和實(shí)例判別對(duì)比學(xué)習(xí)相結(jié)合的思路。在弱監(jiān)督時(shí)序動(dòng)作定位任務(wù)中,片段之間也存在聯(lián)系,但大部分方法忽略了這一點(diǎn),導(dǎo)致一些片段被錯(cuò)誤歸類,DGAM(Discriminative and Generative Attention Modeling)[9]將上下文混淆的問題視為單個(gè)片段的作弊問題,基于此,本文利用片段間的聯(lián)系構(gòu)建了融合片段對(duì)比學(xué)習(xí)的弱監(jiān)督動(dòng)作定位模型以提高定位準(zhǔn)確率。在動(dòng)作定位任務(wù)中,發(fā)生在動(dòng)作邊界處的上下文幀與動(dòng)作幀不易區(qū)分,因此將這些不易區(qū)分的片段稱為模糊片段,辨別力強(qiáng)的動(dòng)作幀稱為顯著片段,將構(gòu)造的正負(fù)樣本在特征空間中進(jìn)行片段對(duì)比學(xué)習(xí)以幫助網(wǎng)絡(luò)正確識(shí)別模糊片段。片段對(duì)比學(xué)習(xí)的原理如圖1 所示。本文方法融合注意力機(jī)制和片段對(duì)比學(xué)習(xí),利用注意力機(jī)制優(yōu)化類激活序列,使用片段對(duì)比學(xué)習(xí)引導(dǎo)模型找出模糊片段,更準(zhǔn)確定位動(dòng)作時(shí)間邊界。
圖1 片段對(duì)比學(xué)習(xí)的原理Fig.1 Principle of snippet contrastive learning
為了減小上下文與單片段作弊問題帶來的影響,本文構(gòu)建了一種融合片段對(duì)比學(xué)習(xí)的弱監(jiān)督動(dòng)作定位模型。本文模型的總體框架如圖2 所示。
圖2 本文模型的總體框架Fig.2 Overall framework of proposed model
對(duì)于給定的未修剪視頻V,以每秒25 幀的采樣率采樣為RGB 幀,然后使用TV-L1 算法[24]將RGB 幀轉(zhuǎn)換為光流數(shù)據(jù),最后將RGB 數(shù)據(jù)與光流數(shù)據(jù)分割為具有連續(xù)16 幀的非重疊片段。將這些片段放入Kinetics 數(shù)據(jù)集[25]預(yù)訓(xùn)練的I3D(Inflated 3D ConvNet)網(wǎng)絡(luò)[26]提取特征,然后將得到的RGB特征Frgb(t) ∈RD與光流特征Fflow(t) ∈RD連接在一起形成片段特征F(t)=[Frgb(t),F(xiàn)flow(t)]∈R2D,然后堆疊所有片段特征,形成特征F∈RT×2D,其中T為視頻片段數(shù)。
特征F是經(jīng)過預(yù)訓(xùn)練的I3D 網(wǎng)絡(luò)提取得到,為了將它映射至任務(wù)特定的特征空間中,需要引入特征嵌入模塊。嵌入模塊由一組卷積層和非線性激活函數(shù)ReLU(Rectified Linear Unit)組成,特征嵌入模塊如下表示:
其中:θembed為嵌入層可訓(xùn)練的參數(shù)。
為了定位視頻中動(dòng)作實(shí)例的時(shí)間邊界,將得到的特征X首先通過一個(gè)動(dòng)作分類分支得到一個(gè)初始的類激活序列,即CAS(t),將它視為動(dòng)作實(shí)例的初始指標(biāo)。動(dòng)作分類分支將特征X從初始空間映射至動(dòng)作類別空間,輸出是關(guān)于每個(gè)動(dòng)作類別隨時(shí)間變化的分?jǐn)?shù)。記作Φ∈RT×(C+1)。分類激活分支表示如下:
其中:θcas為分類激活分支中可訓(xùn)練的參數(shù),MLP()為多層感知機(jī)。
為使網(wǎng)絡(luò)準(zhǔn)確分離上下文幀與動(dòng)作幀,本文設(shè)計(jì)了一個(gè)具有三條分支的注意力模塊分別為動(dòng)作幀、上下文幀以及背景幀進(jìn)行建模,使用Softmax 函數(shù)對(duì)輸出結(jié)果進(jìn)行歸一化處理。注意力模塊使用一個(gè)卷積層與Softmax 函數(shù)測(cè)量每個(gè)視頻幀是動(dòng)作實(shí)例、上下文以及背景的可能性,它的輸出為:其 中attins(t)、attcon(t)和attbak(t)分別表示片段s(t)是動(dòng)作實(shí)例、動(dòng)作上下文和背景的可能性。三分支動(dòng)作注意力模塊表示如下:
其中θatt為多分支注意力模塊中可訓(xùn)練的參數(shù)。
基于分類激活序列和三分支注意力值,構(gòu)建關(guān)于動(dòng)作實(shí)例、動(dòng)作上下文和背景的類激活序列,即CASins(t)、CAScon(t)和CASbak(t),分別表示如下:
CASins(t) 是關(guān)于動(dòng)作實(shí)例的類激活序列,相較于CAS(t),CASins(t)在CAS(t)的基礎(chǔ)上增加注意力機(jī)制,得到的CASins(t)可以更關(guān)注動(dòng)作幀。而CAScon(t)更關(guān)注于動(dòng)作上下文幀,CASbak(t)更關(guān)注于背景幀。
在弱監(jiān)督時(shí)序動(dòng)作定位任務(wù)中,引入注意力機(jī)制可促使網(wǎng)絡(luò)更關(guān)注動(dòng)作幀,并在一定程度上提高類激活序列的準(zhǔn)確性,但由于網(wǎng)絡(luò)始終處理單個(gè)片段,導(dǎo)致片段間的語(yǔ)義信息無法得到充分利用。為此,本文使用片段挖掘算法選取模糊片段與顯著片段,利用對(duì)比學(xué)習(xí)范式最大化正樣本對(duì)之間的相似性,從而捕獲更完整的動(dòng)作信息,緩解模糊片段的誤分類問題。
2.4.1 模糊片段的挖掘
視頻中大部分的動(dòng)作片段和背景片段遠(yuǎn)離時(shí)間邊界,噪聲干擾較小,可信度較高,但出現(xiàn)在時(shí)間邊界處的片段,處于動(dòng)作與背景之間的過渡區(qū)域,噪聲干擾大,容易導(dǎo)致模型檢測(cè)錯(cuò)誤。因此在得到CASins(t)后,時(shí)間邊界處仍存在許多錯(cuò)誤檢測(cè)的片段,本文在僅使用注意力分支得到的CASins(t)的基礎(chǔ)上應(yīng)用片段挖掘算法得到模糊片段。最后根據(jù)捕獲到的片段的時(shí)間索引劃分為模糊動(dòng)作片段與模糊背景片段。具體如下:
得到CASins(t)后,在類別維度上按動(dòng)作類聚合,然后使用Sigmoid 函數(shù)得到一個(gè)與類無關(guān)的動(dòng)作性分?jǐn)?shù)An∈RT,再對(duì)An閾值化處理得到
其中:ε(?)為海維賽德階躍函數(shù),θb為閾值,當(dāng)An>θb時(shí)為1,否則為0。
圖3 模糊片段挖掘算法Fig.3 Hard snippet mining algorithm
2.4.2 顯著片段的挖掘
為了構(gòu)造正負(fù)樣本對(duì),還需捕獲顯著片段以學(xué)習(xí)片段間的特征信息,根據(jù)得到的動(dòng)作性分?jǐn)?shù)An,對(duì)它按照降序分別選取前keasy個(gè)與后keasy個(gè)片段作為顯著動(dòng)作片段與顯著背景片段具體如下:
對(duì)于已挖掘的模糊片段和顯著片段,設(shè)計(jì)了片段對(duì)比損失函數(shù)以學(xué)習(xí)片段的特征信息;此外,對(duì)于分類損失,分別計(jì)算視頻相應(yīng)的3 個(gè)CAS損失;最后增加了注意力引導(dǎo)損失,它用于約束CASins與動(dòng)作注意力保持一致??倱p失函數(shù)表示如下:
其中:Lcls為分類損失,Lgui為注意力引導(dǎo)損失,Ls為片段對(duì)比損失,λ1與λ2為平衡總損失的兩個(gè)超參數(shù)。下面分別定義各個(gè)損失函數(shù)。
2.5.1 分類損失
分類損失由3 個(gè)分支的類激活序列損失構(gòu)成,首先定義動(dòng)作分支的類激活序列損失,即。
為了測(cè)量視頻中動(dòng)作分支的類激活序列的損失,首先取每個(gè)動(dòng)作類別的所有視頻片段,按降序取前kins個(gè)動(dòng)作分支的分類分?jǐn)?shù),再將其平均,得到視頻V對(duì)應(yīng)第c類動(dòng)作分支的視頻級(jí)分類分?jǐn)?shù),即(V):
然后再對(duì)得到的視頻級(jí)分類分?jǐn)?shù)應(yīng)用Softmax 函數(shù)得到視頻級(jí)動(dòng)作概率。
為了分離動(dòng)作幀、背景幀以及上下文幀,將得到的CASins應(yīng)用上述機(jī)制得到視頻級(jí)動(dòng)作概率分布,將CAScon與CASbak分別應(yīng)用上述機(jī)制可得。
為了得到視頻中關(guān)于動(dòng)作注意力類激活序列CASins的損失,將預(yù)測(cè)的視頻級(jí)動(dòng)作概率分布和真實(shí)視頻動(dòng)作概率分布應(yīng)用交叉熵?fù)p失函數(shù)分類視頻中不同的動(dòng)作,關(guān)于CASins的分類損失表示如下:
首先設(shè)置動(dòng)作分支的視頻級(jí)標(biāo)簽為yins=[y(c)=1,y(C+1)=0]表示視頻V中包含第c個(gè)動(dòng)作類是視頻V中第c個(gè)類的視頻級(jí)標(biāo)簽。因?yàn)樯舷挛膸c動(dòng)作類別相關(guān),又與靜態(tài)背景幀類似,所以設(shè)置上下文分支的視頻級(jí)標(biāo)簽為ycon=[y(c)=1,y(C+1)=1],而CASbak更關(guān)注背景幀,因此設(shè)置背景分支的視頻級(jí)標(biāo)簽為ybak=[y(c)=0,y(C+1)=1]表示視頻V中不包含第c個(gè)動(dòng)作類。同理可以得到關(guān)于CAScon和CASbak的分類損失,即根據(jù)得到的可構(gòu)建出分類損失Lcls。
2.5.2 注意力引導(dǎo)損失
由于只構(gòu)建了視頻級(jí)分類損失,并未在片段級(jí)優(yōu)化動(dòng)作分類的結(jié)果,因此引入注意力引導(dǎo)損失,使分類激活序列和動(dòng)作注意力趨于一致,使用attins在片段級(jí)水平上引導(dǎo)CASins,抑制上下文幀與背景幀。
其中:pins(t)是對(duì)CASins應(yīng)用Softmax 函數(shù)后得到的預(yù)測(cè)片段級(jí)動(dòng)作概率分布則表示片段s(t)不包含動(dòng)作實(shí)例的可能性,attins(t)是片段s(t)處的動(dòng)作注意力值,通過最小化Lgui可以引導(dǎo)網(wǎng)絡(luò)在片段級(jí)優(yōu)化類激活序列。
2.5.3 片段對(duì)比損失
應(yīng)用片段挖掘算法挖掘模糊片段和顯著片段后,將片段對(duì)應(yīng)的嵌入特征應(yīng)用對(duì)比學(xué)習(xí),即引入片段對(duì)比損失Ls細(xì)化模糊片段的特征,并獲得更豐富的特征信息。模糊片段分為模糊動(dòng)作片段和模糊背景片段,因此構(gòu)造兩組對(duì)比對(duì),即模糊動(dòng)作片段HA 的細(xì)化與模糊背景片段HB 的細(xì)化,HA 細(xì)化的目的是通過在特征空間中促使模糊動(dòng)作片段與顯著動(dòng)作片段轉(zhuǎn)化模糊動(dòng)作片段的特征,HB 的細(xì)化同理。
其中:K表示負(fù)例數(shù)表示第i個(gè)負(fù)例片段,τ為溫度系數(shù),通過最大化同一類別(動(dòng)作或背景)的顯著片段和模糊片段之間的相互信息,這有助于細(xì)化特征表示,從而緩解單個(gè)片段作弊的問題。
對(duì)于給定的輸入視頻,將得到的CASins(t)、CAScon(t)和CASbak(t)分別采用top-k運(yùn)算得到三分支的視頻級(jí)分類預(yù)測(cè)。再對(duì)動(dòng)作注意力類激活序列CASins進(jìn)行閾值處理后再進(jìn)行定位操作,輸出結(jié)果為,應(yīng)用文獻(xiàn)[6]中提出的外-內(nèi)-對(duì)比函數(shù)獲得每個(gè)動(dòng)作實(shí)例的置信度得分最后生成動(dòng)作建議并且使用非極大值抑制刪除重復(fù)的建議。其中置信度分?jǐn)?shù)的定義如下:
其中:v表示第c個(gè)動(dòng)作類在第t個(gè)片段處的類激活分?jǐn)?shù);α是用于組合CASins與attins的超參數(shù)為定位到動(dòng)作實(shí)例的時(shí)間邊界為膨脹對(duì)比區(qū)域表示對(duì)應(yīng)的動(dòng)作類別。
本文在兩個(gè)流行的動(dòng)作定位數(shù)據(jù)集THUMOS14[27]與ActivityNet1.3[28]上進(jìn)行實(shí)驗(yàn),且使用了視頻級(jí)標(biāo)簽訓(xùn)練網(wǎng)絡(luò)。
THUMOS14 數(shù)據(jù)集包含20 個(gè)動(dòng)作類別,驗(yàn)證集包含200個(gè)未修剪的視頻,測(cè)試集包含213 個(gè)未修剪的視頻。視頻的長(zhǎng)度變化較大,從長(zhǎng)度幾秒到超過1 h 不等。每個(gè)視頻可能包含多個(gè)動(dòng)作實(shí)例,有超過70%的幀為上下文幀或背景幀。選取驗(yàn)證集視頻用于模型訓(xùn)練,測(cè)試集視頻用于測(cè)試模型性能。
ActivityNet1.3 數(shù)據(jù)集相較于THUMOS14 數(shù)據(jù)集,規(guī)模更為龐大,涵蓋了與人類在日常生活中最相關(guān)的活動(dòng),視頻數(shù)量多、類別豐富,包含200 種不同類別的動(dòng)作,其中有10 024 個(gè)未修剪的視頻用于模型的訓(xùn)練,4 296 個(gè)未修剪的視頻用于模型的性能測(cè)試。約有36%的幀為上下文幀或背景幀。大部分視頻時(shí)長(zhǎng)在5~10 min,50%的視頻的分辨率在1 280×720,大部分視頻是30 FPS,類別主要分為個(gè)人護(hù)理、飲食、家庭活動(dòng)、關(guān)懷和幫助、工作、社交娛樂、運(yùn)動(dòng)鍛煉7 大類。
實(shí)驗(yàn)遵循了標(biāo)準(zhǔn)的評(píng)估方案,記錄了在不同交并比(Intersection over Union,IoU)閾值下的平均精度均值(mean Average Precision,mAP),在THUMOS14 數(shù)據(jù)集上,閾值為[0.1:0.1:0.7],在ActivityNet1.3 數(shù)據(jù)集上的閾值為[0.5:0.05:0.95]。在兩數(shù)據(jù)集上評(píng)估都是使用ActivityNet 提供的基準(zhǔn)代碼進(jìn)行的。
實(shí)驗(yàn)環(huán)境 融合片段對(duì)比學(xué)習(xí)的弱監(jiān)督動(dòng)作定位方法是在PyTorch 環(huán)境、單個(gè)NVIDIA GeForce RTX 2080Ti GPU 上樣本訓(xùn)練。
特征提取 在特征提取部分,首先使用預(yù)訓(xùn)練的I3D 網(wǎng)絡(luò)提取特征,使用TV-L1 光流算法從RGB 幀中提取光流特征,將每個(gè)視頻分為連續(xù)16 幀的非重疊片段,得到1 024 維的RGB 特征與光流特征。
THUMOS14 數(shù)據(jù)集上的實(shí)驗(yàn) 在THUMOS14 數(shù)據(jù)集上,將每批數(shù)據(jù)量大小設(shè)置為16,使用Adam[37]優(yōu)化器,學(xué)習(xí)率為0.000 1,權(quán)重衰減為0.000 5,將視頻片段長(zhǎng)度設(shè)置為T=750,以及top-k運(yùn)算中對(duì)應(yīng)三分支的k的大小,動(dòng)作分支中kins=T//sins,上下文分支中kcon=T//scon,背景分支中kbak=T//sbak。其中sins為8,scon與sbak為3,λ1為0.002,λ2為0.01,α為0;reasy為5,rhard為20;θb為0.5,m與M分別為3和6;τ為0.07。對(duì)于生成的動(dòng)作建議,將閾值設(shè)為0.15~0.25,步幅為0.05。在IoU 為0.5 時(shí)執(zhí)行非極大值抑制。在THUMOS14數(shù)據(jù)集上不同弱監(jiān)督動(dòng)作定位模型的檢測(cè)結(jié)果如表1 所示。觀察表1 可知,所提方法在IoU 閾值為0.1~0.6 時(shí)均取得了最佳性能。與之前的最佳方法DGCNN(Dynamic Graph modeling for weakly-supervised temporal action localization Convolutional Neural Network)相比,在IoU 為0.5 時(shí),mAP 提高了1.1 個(gè)百分點(diǎn),這表明所提方法在包含動(dòng)作較多且長(zhǎng)度不斷變化的視頻數(shù)據(jù)上,能表現(xiàn)出良好的性能。
表1 不同弱監(jiān)督動(dòng)作定位方法在THUMOS14數(shù)據(jù)集上的檢測(cè)結(jié)果 單位:%Tab.1 Detection results of different weakly-supervised action localization methods on THUMOS14 dataset unit:%
ActivityNet1.3 數(shù)據(jù)集上的實(shí)驗(yàn) 在ActivityNet1.3 數(shù)據(jù)集上,將每批數(shù)據(jù)量大小設(shè)置為64,使用Adam 優(yōu)化器,學(xué)習(xí)率為0.000 05,權(quán)重衰減為0.001,由于大多視頻時(shí)長(zhǎng)相較于THUMOS14 中的視頻時(shí)長(zhǎng)要短很多,因此將視頻片段長(zhǎng)度設(shè)置為T=75,對(duì)于top-k運(yùn)算中對(duì)應(yīng)三分支的k的大小,動(dòng)作分支中sins為2,上下文分支中scon為10,背景分支中sbak為10;λ1為0.005,λ2為0.01,α為0.5;reasy為10,rhard為8;θb為0.5,m與M分別為3 和6;對(duì)于生成的動(dòng)作建議,將閾值設(shè)為0.01~0.02,步幅為0.005。τ為0.07。在IoU 為0.9 時(shí)執(zhí)行非極大值抑制。在ActivityNet1.3 數(shù)據(jù)集上不同弱監(jiān)督動(dòng)作定位模型的檢測(cè)結(jié)果如表2 所示。觀察表2 中可知,所提方法在各個(gè)不同的IoU 閾值下均取得了最佳性能。與DGCNN 相比,在IoU 為0.5時(shí),mAP 提高了2.9個(gè)百分點(diǎn)。
表2 不同模型在ActivityNet1.3數(shù)據(jù)集上的檢測(cè)結(jié)果 單位:%Tab.2 Detection results of different models on ActivityNet1.3 dataset unit:%
表1、2 分別展現(xiàn)了在 THUMOS14 數(shù)據(jù)集和ActivityNet1.3 數(shù)據(jù)集上不同弱監(jiān)督動(dòng)作定位模型的檢測(cè)結(jié)果,對(duì)比的網(wǎng)絡(luò)模型涵蓋了近五年內(nèi)弱監(jiān)督動(dòng)作定位任務(wù)的主流方法。其中STPN(Sparse Temporal Pooling Network)、A2CL-PT(Adversarial and Angular Center Loss with a Pair of Triplets)為使用前景-背景分離注意機(jī)制構(gòu)建視頻級(jí)特征的主流算法。而另一類主流算法W-TALC(Weakly-supervised Temporal Activity Localization and Classification)、MAAN(Marginalized Average Attentional Network)等將時(shí)序動(dòng)作定位表述為多示例學(xué)習(xí)任務(wù),通過分類器獲取時(shí)序類激活序列,進(jìn)而描述動(dòng)作在時(shí)間上的概率分布。此外,為充分說明所提方法的對(duì)比效果,與近兩年內(nèi)的主流算法MSA-Net(Multi-Scale structure-Aware Network)、HAM-Net(Hybrid Attention Mechanism)、EGA-Net(Entropy Guided Attention Network)、DGCNN 對(duì)比,并與BasNe(tBackground suppression Network)、TSCN(Two-Stream Consensus Network)、ACS-Net(Action-Context Separation Network)、TSM(Temporal Structure Mining)、BMUE(Background Modeling via Uncertainty Estimation)等主流算法對(duì)比,實(shí)驗(yàn)結(jié)果表明,所提方法相比目前主流方法有著良好的效果提升。
本文參數(shù)設(shè)置參考主流的弱監(jiān)督動(dòng)作定位算法[9-10],并利用網(wǎng)格搜索法做大量實(shí)驗(yàn)調(diào)試確定。由于對(duì)比損失函數(shù)的平衡因子λ2對(duì)實(shí)驗(yàn)結(jié)果影響較大,因此在表3 中給出THUMOS14 數(shù)據(jù)集中不同的對(duì)比損失系數(shù)λ2的實(shí)驗(yàn)結(jié)果,選取交并比為0.5 作為評(píng)價(jià)指標(biāo),參數(shù)λ2用于式(13)中平衡對(duì)比損失與分類損失和注意力引導(dǎo)損失。實(shí)驗(yàn)結(jié)果表明,當(dāng)λ2=0.01 時(shí),網(wǎng)絡(luò)性能最佳,mAP@0.5 達(dá)到了33.9%。此外,平衡因子λ2在0.01~0.1 的變化范圍內(nèi)定位精度保持穩(wěn)定,說明所提方法具有一定的魯棒性。
表3 不同平衡因子在THUMOS14數(shù)據(jù)集上的性能比較Tab.3 Performance comparison of different balance factors on THUMOS 14 dataset
在實(shí)驗(yàn)過程中進(jìn)行了多個(gè)消融研究,如表4 中基線所示,THUMOS14 數(shù)據(jù)集是用于評(píng)估弱監(jiān)督時(shí)序動(dòng)作定位任務(wù)的最常見數(shù)據(jù)集,它的視頻長(zhǎng)度變化較大,且每個(gè)視頻可能包含多個(gè)動(dòng)作實(shí)例,超過70%的幀為上下文幀或背景幀,相較于ActivityNet1.3 數(shù)據(jù)集背景干擾較多,消融實(shí)驗(yàn)可以更直觀地體現(xiàn)不同因素對(duì)檢測(cè)結(jié)果的影響,因此所有實(shí)驗(yàn)均在THUMOS14 數(shù)據(jù)集上進(jìn)行。
表4 動(dòng)作上下文分支消融實(shí)驗(yàn)結(jié)果Tab.4 Ablation experiment results of action context branch
關(guān)于動(dòng)作上下文注意力分支的有效性,消融實(shí)驗(yàn)結(jié)果如表4 所示。
從表4 中可以看出,相較于沒有動(dòng)作上下文注意分支的基線方法,動(dòng)作上下文分支的引入有顯著效果,這是由于將動(dòng)作幀、上下文幀和背景幀劃分為一個(gè)類別是不合理的,因此在三種不同語(yǔ)義片段中增加注意力機(jī)制可以有效提高模型的性能。而實(shí)驗(yàn)3 中的結(jié)果相較于實(shí)驗(yàn)4 更有效,這是由于在沒有引入指導(dǎo)損失與片段對(duì)比損失的情況下,更準(zhǔn)確地區(qū)分動(dòng)作幀、上下文幀和背景幀。
注意力引導(dǎo)損失與片段對(duì)比損失的有效性:關(guān)于注意力引導(dǎo)損失與片段對(duì)比損失的有效性,消融實(shí)驗(yàn)結(jié)果如表5所示。
表5 注意力引導(dǎo)損失與片段對(duì)比損失消融實(shí)驗(yàn)結(jié)果Tab.5 Ablation experiment results of attention guided loss and snippet contrast loss
從表5 中可以看出,在有分類損失與片段對(duì)比損失的情況下,mAP@0.5 達(dá)到了29.8%,在此基礎(chǔ)上引入注意力引導(dǎo)損失后,可以達(dá)到33.9%。這是由于注意力引導(dǎo)損失可以促使網(wǎng)絡(luò)在片段級(jí)別上最小化CASins與attins的差異,從而提高模型的性能。在有分類損失與注意力引導(dǎo)損失的情況下,mAP@0.5 可以達(dá)到32.2%,而在此基礎(chǔ)上引入片段對(duì)比損失后,mAP@0.5 可以達(dá)到33.9%。這是由于片段對(duì)比損失引導(dǎo)網(wǎng)絡(luò)在弱監(jiān)督動(dòng)作定位上實(shí)現(xiàn)了更好的特征分布,可以更精確地分離模糊片段以及動(dòng)作片段與背景片段。
綜上所述,融合片段對(duì)比學(xué)習(xí)的弱監(jiān)督動(dòng)作定位方法可以通過注意力機(jī)制幫助網(wǎng)絡(luò)更關(guān)注關(guān)鍵信息,同時(shí)通過對(duì)比學(xué)習(xí)的方式將模糊片段進(jìn)行準(zhǔn)確分類以提高模型的性能。
融合片段對(duì)比學(xué)習(xí)的弱監(jiān)督動(dòng)作定位方法由分類模塊、注意力模塊和片段對(duì)比學(xué)習(xí)模塊組成。其中,分類模塊通過神經(jīng)網(wǎng)絡(luò)獲取CAS;注意力模塊分別由動(dòng)作注意力分支、上下文注意力分支以及背景注意力分支構(gòu)成,3 個(gè)分支分別用于測(cè)量每個(gè)視頻幀為動(dòng)作實(shí)例、上下文和背景的可能性。融合CAS和注意力值獲得3 種類激活序列,它們表示每個(gè)視頻幀分別是動(dòng)作幀、上下文幀和背景幀的分類激活分?jǐn)?shù);片段對(duì)比學(xué)習(xí)模塊應(yīng)用片段挖掘算法挑選正負(fù)樣本對(duì),構(gòu)建片段對(duì)比學(xué)習(xí)模型提高片段分類精度。本文方法解決了弱監(jiān)督動(dòng)作定位中上下文幀容易被錯(cuò)誤分類的問題。在兩個(gè)基準(zhǔn)數(shù)據(jù)集上充分實(shí)驗(yàn),在THUMOS14 數(shù)據(jù)集上,mAP@0.5 達(dá)到了33.9%;在ActivityNet1.3 數(shù)據(jù)集上,mAP@0.5 達(dá)到了40.1%。實(shí)驗(yàn)結(jié)果驗(yàn)證了融合片段對(duì)比學(xué)習(xí)的弱監(jiān)督動(dòng)作定位方法的有效性。