王奪魁
(西南交通大學(xué)計算機與人工智能學(xué)院,成都 611756)
為了理解現(xiàn)實場景中的信息,計算機需要識別人與周圍物體的交互方式,而人物交互(human-object interaction, HOI)檢測則是實現(xiàn)以人為中心的場景的更高層次語義理解的重要關(guān)鍵技術(shù),它在視頻理解、智能監(jiān)控、人機交互等方面發(fā)揮著重要作用。HOI 檢測的目標是得到三元組<人,交互動作,對象>,三元組的主體是人,對象包含人和物體,主體和對象的相互作用是動作。
HOI 檢測的輸入數(shù)據(jù)類型包括圖像和視頻兩類。圖像主要應(yīng)用于人物交互時間較短的動作,視頻涉及到時序信息,可以基于前序特征,更有利于檢測人物交互時間較長的動作。由于現(xiàn)實生活中人物交互過程主要是視頻信息,更具有社會應(yīng)用價值,并且需要聚合分析視頻在不同時序上各實例的動態(tài)關(guān)系,難度大,更有研究價值,因此,本文做的是基于視頻的人物交互動作的檢測工作。
視頻中人物交互動作的檢測方法主要歸納為三類:雙流網(wǎng)絡(luò)、3D 卷積網(wǎng)絡(luò)、計算高效的網(wǎng)絡(luò)。雙流網(wǎng)絡(luò)[1]是在一個卷積網(wǎng)絡(luò)提取空間特征的基礎(chǔ)上,新增一個卷積網(wǎng)絡(luò)分支利用光流信息提取視頻中人物運動的時序特征,最后融合兩個分支的時空特征。雙流網(wǎng)絡(luò)能夠有效提取短期的運動信息,但是無法很好地捕捉長期運動的信息,并且光流計算量大,存儲空間大,時間成本高,不利于大規(guī)模訓(xùn)練和實時部署。因此,后續(xù)的工作主要針對于光流的改進或者思考提出新的解決范式—3D 卷積網(wǎng)絡(luò)。3D卷積網(wǎng)絡(luò)主要使用3D 卷積核對時間信息進行建模。I3D[2]根據(jù)Inception[3]網(wǎng)絡(luò)架構(gòu)實現(xiàn)的,將原先的卷積核和池化核增加一個時間維度進而從2D 擴展到3D,并且有效地將2D 網(wǎng)絡(luò)的預(yù)訓(xùn)練權(quán)重遷移到3D 網(wǎng)絡(luò)中。然而3D 網(wǎng)絡(luò)仍具有較大的參數(shù)量,更難訓(xùn)練和優(yōu)化。近幾年,由于基于自注意機制的Transformer 模型在計算機視覺領(lǐng)域的性能顯著提升,涌現(xiàn)出許多優(yōu)秀的相關(guān)工作,Girdhar 等[4]設(shè)計Transformer 結(jié)構(gòu)來聚合人體周圍時空上下文的特征,并構(gòu)建動作Transformer 模塊來識別和定位視頻片段中人物的交互動作。
本文的主要工作包括以下四點:
(1)為了豐富特征空間,提高對交互時長較短動作的檢測能力。本文提出了雙向時序增強模塊,引入了雙向視頻幀特征庫和雙向交互動作適配器,用于存儲前向時序和反向時序的視頻幀特征以輔助提高當前幀的表征能力,以及正確將反向特征唯一映射到正向特征空間內(nèi)。
(2)本文構(gòu)建了多交互類型模塊,包括人與人特征融合和人與物體特征融合兩個子模塊,細化了特征融合方式,針對性地自適應(yīng)實現(xiàn)人-人交互、人-物交互的建模,提高了檢測精度,而且這兩個子模塊并行運作,提高了檢測速率。
(3)本文引入Transformer 編碼器對多種自建模塊的輸出特征進行融合,含有豐富的上下文信息和全局人物位置信息,提高了檢測精度。
(4)本文模型在處理過的公開視頻數(shù)據(jù)集AVA-HOI 上進行了驗證。實驗結(jié)果表明本文方法的交互動作檢測準確度高于多個主流的模型,mAP@0.5IoU 為25.81%,較TubeR 方法[5]提升了1.29個百分點。證明了本文模型可以完成視頻中人物交互行為檢測任務(wù),具有不錯的性能表現(xiàn)。
本文設(shè)計的總體網(wǎng)絡(luò)模型如圖1 所示,該模型主要包括三大部分:雙向時序增強模塊、多交互類型建模模塊、多頭注意力特征融合模塊。雙向時序增強模塊包括雙向視頻幀特征庫和雙向交互動作適配器,這兩個子模塊是串聯(lián)起來的。多交互類型建模模塊包括人與人交互建模H-H 和人與物交互建模H-O,這兩個子模塊是并行處理的。
網(wǎng)絡(luò)模型的輸入可能含有人物交互行為的視頻片段中的關(guān)鍵幀,視頻幀的大小會調(diào)整成464 × 464,將視頻幀輸入到目標檢測器和特征提取器分別獲取人體框和物體框以及特征圖,經(jīng)過ROI 將特征圖和目標框進行對齊得到準確匹配的當前幀的特征圖。該特征圖經(jīng)過兩個并行的處理操作:一是輸入到視頻幀序列長度為64幀的雙向視頻幀特征庫中的前向特征存儲庫,經(jīng)內(nèi)置的反向算法得到反向特征圖序列并實現(xiàn)雙向特征圖的張量拼接,通過雙向交互動作適配器完成反向時序特征與前向時序特征的唯一映射;二是從整個特征圖中拆解出人體特征圖Ht和物體特征圖Ot,以及經(jīng)過mask 掩碼機制獲取到的空間位置特征St。然后將Ht和Ot輸入到多交互類型建模模塊得到融合后的特征HHt和HOt。再引入Transformer編碼器對上述多種自建模塊的輸出特征進行融合,得到豐富的上下文信息和全局信息。最后輸入到人物交互分類器中進行判別,即可輸出當前視頻幀中含有的人物交互動作類別。
圖1 總體網(wǎng)絡(luò)模型框架
在視頻中,人和物體的位置會隨著時間而發(fā)生移動,當前視頻幀中的人物交互動作會與前后幀之間存在時序上的關(guān)聯(lián)性,因此,模型在檢測當前幀中的交互動作類別時需要考慮到相鄰幀的特征以提高檢測精度。通常情況下,一個物體從a點運動到b點,從相反角度可看成從b點運動到a點。借鑒這種思想,沿著時間順序進行的交互動作也可看成逆時間順序的交互動作,以達到為視頻幀中的人和物體構(gòu)造出具有互補信息的時間運動軌跡信息。只要把反向的交互動作正確映射到正向的交互動作上,即實現(xiàn)雙向動作匹配,便可以豐富視頻幀特征,將同一交互動作的人物特征圖擴充為原先的2倍,實現(xiàn)特征增強,該模塊有利于提高對交互時間較短的動作的檢測能力。
基于以上思考,本文首先構(gòu)建了雙向視頻幀特征庫,用于存儲一定數(shù)量(本文設(shè)定的是64幀)的視頻幀的特征圖,并內(nèi)置了反向置換算法,將傳入的正向視頻幀逆向存儲,因提前進行了反向處理,則在模型訓(xùn)練過程可以直接加載反向視頻幀特征,以空間換時間的思想提高模型的訓(xùn)練速度。
雙向視頻幀特征庫的寫入和更新算法的主要步驟如下:
(1)模型數(shù)據(jù)加載器一次讀取指定幀數(shù)N的視頻幀送入網(wǎng)絡(luò)模型中,經(jīng)特征提取器和目標檢測器之后進行ROI 對齊獲取到當前幀序列的特征圖,按照順序依次存儲到雙向視頻幀特征庫的前向特征內(nèi)存池(forward-feature memory pool,F(xiàn)FMP)中,并且按照次序給每一視頻幀特征圖標記為
其中Ft表示當前檢測的視頻幀。
(2)當檢測到有新的視頻幀特征圖輸入到特征庫時,則觸發(fā)反向置換算法,該算法將按照逆序依次存儲到反向特征內(nèi)存池(backwardfeature memory pool,BFMP)中,視頻幀特征圖序列標記為
(3)因為特征庫的長度設(shè)置成64 幀,即最多只能存儲64 幀的時序特征圖,所以后續(xù)輸入的特征圖將采用滑動窗口的機制,丟棄舊幀以替換成新幀的特征圖,始終保持特征庫中含有最新的特征圖。
雙向視頻幀特征庫的讀取算法的主要步驟如下:
(1)從特征庫中讀取當前幀的相鄰m區(qū)間內(nèi)的視頻幀特征,組成前向時序特征序列FFm和反向時序特征序列BFm,見公式(3):
(2)雙向時序特征拼接:相鄰區(qū)間內(nèi)關(guān)鍵幀與當前關(guān)鍵幀F(xiàn)t的距離遠近意味著時序上的相關(guān)性程度,距離越近,則相關(guān)性越強,越有助于當前幀中交互動作的檢測。因此,引入反距離加權(quán)函數(shù)來賦予其他關(guān)鍵幀對當前幀的權(quán)重值,進而確定在拼接后的特征中不同關(guān)鍵幀的影響程度。定義當前幀F(xiàn)t在[t-m,t+m]區(qū)間內(nèi)每個關(guān)鍵幀F(xiàn)i對其影響權(quán)重值為Wi,則采用反距離加權(quán)函數(shù)可表示為
將特征庫中區(qū)間內(nèi)的正向時序特征和反向時序特征在時間序列上進行張量的拼接,拼接后的特征分別為FFconcat和BFconcat,則表示如下:
因為拼接后的特征通道維度會增加,需要降維到與拼接前當前幀特征相同的形狀,所以將FFconcat和BFconcat經(jīng)過3D 卷積和池化操作實現(xiàn)形狀的匹配,表示如下:
雙向時序特征拼接的過程如圖2所示。
圖2 雙向時序特征序列拼接
在設(shè)計雙向交互動作適配器時,還需要考慮到兩兩交互動作類別之間是否與時序強相關(guān)的,避免由于某個交互動作的反向特征與其他交互動作的正向特征相似而產(chǎn)生的干擾。例如“開門”和“關(guān)門”是兩個相反的交互動作,“開門”經(jīng)過反向特征置換后與“關(guān)門”的行為是相同的,因此需要制定一種策略使其產(chǎn)生的虛擬“關(guān)門”特征歸屬于“開門”類別,而不能錯誤地歸類于實質(zhì)性的“關(guān)門”。
因此,在雙向交互動作適配器中為每個交互動作分配唯一的ID,將反向交互動作綁定到對應(yīng)的正向交互動作。根據(jù)其ID 便可將模型在反向特征空間內(nèi)檢測到的結(jié)果映射到正向特征空間,增強特征的表達能力,提高交互動作檢測精度。
視頻幀經(jīng)過目標檢測器和特征提取器后進行ROI 對齊后,則會得到當前幀的特征圖。以前大多數(shù)工作是直接使用這個特征圖經(jīng)過某些處理操作完成人物交互動作的檢測,這種特征圖的使用方式相對粗糙,沒有針對性,并且當特征圖中僅有人的情況時不能較好地表征,檢測效果較弱。本文針對上述問題并借鑒了Tang等[6]的交互模型思想,構(gòu)建了多交互類型模塊,該模塊包括兩個類似的子模塊:人與人特征融合模塊和人與物體特征融合模塊,記作H-H 和H-O。
多交互類型模塊首先根據(jù)特征圖中檢測框的類別,提取出人體特征Ht和物體的特征Ot。并且采用mask掩碼機制提取到空間位置特征St,即將含有人物目標的特征像素賦值為二進制的1,而其他位置賦值為0。H-H 模塊針對人與人之間的交互進行自適應(yīng)的建模,查詢、鍵以及值的輸入都是人的特征Ht,經(jīng)過Linear 層、點積、Scale、Softmax 層、LayerNorm 層實現(xiàn)特征的融合,輸出增強后的特征HHt。H-O 模塊則針對人與物體之間的交互進行自適應(yīng)的建模,查詢是人的特征Ht,而鍵和值是物體的特征Ot,通過與上述相同的處理操作完成特征的融合,輸出增強后的特征HOt。這兩個子模塊是并行運作的,最后將HHt與HOt合并后輸入到Transformer編碼器模塊中。
本文模型采用含有多頭注意力機制的Transformer 編碼器[7]對其他模塊生成的特征進行編碼增強,包括雙向時序特征、多交互類型特征以及人物空間位置特征。編碼后的特征含有豐富的上下文信息以及全局信息。為了進一步提高交互動作的檢測精度,這里引入了N個Transformer編碼器,多次編碼會使得特征的表征能力更強,最后將其輸入到人物交互分類器中,選擇置信度大于指定閾值的交互動作類別作為當前幀的結(jié)果輸出。
實驗硬件和軟件環(huán)境參數(shù)見表1。
表1 實驗軟硬件環(huán)境
每次迭代輸入骨干網(wǎng)絡(luò)中視頻幀數(shù)為64 幀關(guān)鍵幀,4 個數(shù)據(jù)加載進程,初始學(xué)習(xí)率為0.0004,學(xué)習(xí)率偏置因子是2,優(yōu)化器采用隨機梯度下降算法SGD,權(quán)重衰減值是1e-7,衰減步長位于(105000, 135000),最大迭代次數(shù)為165000,迭代次數(shù)前2000送入模型預(yù)熱調(diào)度器。模型訓(xùn)練階段選擇4張顯存為11 GB 的RTX2080 Ti顯卡進行分布式訓(xùn)練,總共批量大小為8,即每張顯卡每次訓(xùn)練2個短視頻。候選框的閾值設(shè)定為0.8,網(wǎng)絡(luò)模型的Dropout值為0.2。輸入視頻幀的尺寸最小為256,最大為464。輸入數(shù)據(jù)增強包括旋轉(zhuǎn)、縮放和顏色抖動。
實驗數(shù)據(jù)集基于時空動作檢測常用的AVA數(shù)據(jù)集[8]進行改造,因為本文研究的是人物交互動作的檢測,所以刪除了前14 個單人姿勢動作的標簽,并且對相關(guān)標注文件進行了處理,提出了名為AVA-HOI 數(shù)據(jù)集。AVA-HOI 共有299 個標注時長為15 分鐘的視頻片段,其中235個作為訓(xùn)練視頻,64 個作為驗證視頻。AVAHOI 具有66 種常見的人物交互動作標簽,標注數(shù)量多達67 萬,涵蓋人與人的交互動作和人與物體的交互動作。
采用人物交互動作檢測通用的mAP(mean average precision)@0.5IoU 作為評價指標,mAP表示模型在所有人物交互動作上的檢測性能,mAP值越高表示檢測準確率越高。mAP@0.5IoU的計算公式如下:
其中,HOI-C 表示AVA-HOI 的某個交互動作類別,N(HOI-C)表示所有交互動作類別總數(shù),表示某個交互動作類別的檢測準確率,計算公式如下:
其中:TP(true positive)表示正確預(yù)測的樣本數(shù)目,F(xiàn)P(false positive)表示錯誤預(yù)測的樣本數(shù)目。
為了驗證本文提出的算法模型的有效性及性能表現(xiàn),將本文方法與其他主流方法都在AVA-HOI 數(shù)據(jù)集上進行了模型訓(xùn)練和測試,同時,實驗方法都采用參數(shù)量和計算量相近的骨干網(wǎng)絡(luò)進行實驗,實驗結(jié)果見表2。
表2 本文方法與其他主流方法的對比結(jié)果
通過對比實驗結(jié)果,可知本文網(wǎng)絡(luò)框架模型較主流方法都有一定的提升,mAP@0.5IoU 為25.81%,較TubeR 方法提升了1.29 個百分點。原因是采用了雙向時序增強模塊,引入了反向特征及對應(yīng)的雙向動作適配器,將同一人物交互動作的特征圖擴充到原先的2 倍,提高了模型訓(xùn)練過程中人物特征圖的表達能力,并且這一處理可以增加對人物交互時長較短的動作的識別能力,同時應(yīng)用了雙向視頻幀特征庫,在檢測當前幀的交互動作類別時可以很好地參考前后幀的特征,利用到了視頻中交互動作會存在時序相關(guān)性。此外,模型采用了多交互類型建模機制,分別針對人與人交互和人與物交互單獨進行特征融合,提高了檢測精度和速度。最后引入Transformer 編碼器對空間位置特征、多交互類型融合特征、雙向時序增強特征進行融合,生成最佳的人物交互特征送入人物交互分類器進行判別。該對比實驗證明了本文模型的有效性,性能表現(xiàn)不錯。
此外,將基線模型和本文模型在AVA-HOI驗證集上每個人物交互類別的AP@0.5IoU 結(jié)果進行對比,結(jié)果如圖3所示。
通過圖3所示,可知本文模型相比基線模型在各個人物交互類別上都有所提升。對于不同的交互動作類別,AP@0.5IoU 的相差較大,存在明顯的長尾分布,部分交互動作的AP@0.5IoU 較小是因為交互雙方實體不明顯、交互尺度差異大、交互存在遮擋以及交互行為弱依賴于時序關(guān)系。
為了確定本文模型的流程和訓(xùn)練過程是否正確,對經(jīng)過多頭注意力融合后的特征進行可視化,結(jié)果如圖4所示。
圖4 中第一行是視頻幀,第二行是注意力圖可視化的結(jié)果,第三行是對應(yīng)的交互類別。由圖4分析可得以下三點:
(1)多交互類型建模效果不錯,只關(guān)注存在交互行為的區(qū)域。
該模型適用于人和人之間的交互、人和物體之間的交互。見圖4 中的“舉杯”“抽煙”和“看電視”是人與物體間的交互,而“擁抱”是人與人之間的交互。針對于多人多物體等復(fù)雜場景,模型只關(guān)注真正存在交互行為的區(qū)域,如圖4第4列“擁抱(多人)”只關(guān)注到了存在擁抱行為的三個人,而不會將其他無關(guān)人員和物體的特征輸入到人物交互分類器中導(dǎo)致檢測干擾。
(2)本文模型也可以識別到非接觸式的交互行為。
圖3 基線模型和本文模型在AVA-HOI驗證集上每個交互類別的結(jié)果
圖4 注意力圖可視化
非接觸式的交互行為的識別是業(yè)界的研究難點之一,雖然本文并沒有針對此點進行深入研究,但模型仍可以較好地檢測出來,原因是本文使用了掩碼機制對視頻幀中的人物的空間位置特征進行表征,并輸入到多頭注意力模塊中進行特征融合,因此考慮到了全局空間特征和人物之間的空間關(guān)系。見圖4 第5 列“看電視”,在視覺特征上人與電視并沒有接觸,但在空間關(guān)系上是存在實質(zhì)性的交互行為的,本文模型針對這種類型的交互也可以檢測出來。
(3)多頭注意力融合后的特征是有效的,進而證明了本文網(wǎng)絡(luò)模型可以很好地完成視頻中人物交互行為檢測任務(wù)。
多頭注意力機制融合了模型處理過程中生成的多交互類型建模特征、空間位置特征以及雙向時序增強后的特征,這是輸入到人物交互分類器的最后一步。因此,如果融合后的特征是有效表征的,則說明本文網(wǎng)絡(luò)模型的整個過程中涉及到的模塊都是有效且相互促進的,整體是可以完成人物交互行為檢測任務(wù)的,而通過圖4 針對于融合后的特征進行可視化正是驗證了這一點的有效性。
為了驗證本文提出的網(wǎng)絡(luò)模型中各模塊的有效性,使用同一個基準模型,設(shè)計了多組消融實驗,結(jié)果見表3。
表3 模型中各模塊消融實驗結(jié)果
由表3 可得,通過在基線模型上分別單獨添加雙向時序增強模塊、多交互類型建模模塊、多頭注意力特征融合模塊效果都是有提升的,提升約1.8個百分點。若同時引入其中的兩種模塊則可以提高約2 個百分點,說明這些模塊兩兩間是相互促進的,并不會抑制干擾。若將三種模塊同時使用,則效果最佳,性能為25.81%,提升約2.8個百分點,這也是本文所采用的最終的模型架構(gòu)。因此,通過上述消融實驗,可以得到本文模型使用的各模塊都是有效的,對人物交互檢測任務(wù)都存在促進作用,相互間不存在干擾。
本文采用了多頭注意力Transformer 編碼器進行特征的融合,為了確定合適的特征融合次數(shù),進行了消融實驗,實驗結(jié)果見表4。
表4 多頭注意力融合消融實驗結(jié)果
其中,N是圖1中Transformer 編碼器的數(shù)目,經(jīng)實驗可得多次進行特征融合可以增強人物交互動作識別的準確度,當融合次數(shù)為3 時,性能最佳為25.81%,相較于單個多頭注意力融合提升了0.95 個百分點,這是因為當?shù)谝淮芜M行特征融合后,可能無法準確推斷出交互動作類別,但在第二次或更多次特征融合時,已經(jīng)對上次的多交互類型特征、人物空間位置特征和雙向動作時序特征進行了融合,交互信息得到了增強,進而提高了交互動作的檢測能力。此外,并不是融合次數(shù)越高,模型性能越好,原因是更多的融合次數(shù)會引入更多的網(wǎng)絡(luò)參數(shù),增大計算成本,降低模型的訓(xùn)練速度,可能引起過擬合而導(dǎo)致性能下降。
本文針對視頻中人物交互動作的檢測任務(wù)進行研究,交互動作在時序上存在關(guān)聯(lián)性,因此,本文設(shè)計了雙向時序增強模塊以存儲時序特征并進行唯一映射,豐富了視頻幀的特征空間,解決了交互時長較短的動作的檢測效果差的問題。此外,構(gòu)建了多交互類型模塊以針對性的自適應(yīng)實現(xiàn)人與人交互和人與物交互的建模,提高了檢測精度和速率。還引入了Transformer編碼器對特征進行融合增強,提高檢測精度,并且具有全局性人物關(guān)系位置信息,解決了非接觸式的交互動作的識別問題。最后通過多組對比實驗和消融實驗證明了模型的有效性并且有較大的性能提升。該研究可對監(jiān)控視頻下人物交互行為進行智能化檢測,提高安防水平,達到實際應(yīng)用價值。