賀鳳,張洪博,杜吉祥,汪冠鴻
(1. 華僑大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,福建 廈門 361021; 2. 華僑大學(xué) 福建省大數(shù)據(jù)智能與安全重點(diǎn)實(shí)驗(yàn)室,福建 廈門 361021; 3. 華僑大學(xué) 廈門市計(jì)算機(jī)視覺與模式識(shí)別重點(diǎn)實(shí)驗(yàn)室,福建 廈門 361021)
在現(xiàn)代人日益注重健康、推崇體育運(yùn)動(dòng)的大背景下,體育視頻的內(nèi)容分析與識(shí)別成為研究熱點(diǎn).然而,現(xiàn)有的體育視頻研究多集中于體育運(yùn)動(dòng)的語義分析及識(shí)別方面,在體育運(yùn)動(dòng)的分類細(xì)項(xiàng)研究中,除足球、籃球、高爾夫球、羽毛球等球類運(yùn)動(dòng)外,其他運(yùn)動(dòng)項(xiàng)目少有涉及[1-8].體育視頻自動(dòng)描述是對(duì)體育視頻中人體動(dòng)作的自動(dòng)描述,是計(jì)算機(jī)視覺研究中的難點(diǎn)和熱點(diǎn)之一.通過計(jì)算機(jī)視覺和模式識(shí)別等技術(shù)手段對(duì)視頻中的人體運(yùn)動(dòng)進(jìn)行分析,可以對(duì)視頻序列中存在的特定人體運(yùn)動(dòng)進(jìn)行智能化表示和標(biāo)記.自由體操是競(jìng)技體操的典型代表,其自由度最大,動(dòng)作變化較多,需在規(guī)定時(shí)間內(nèi)按照規(guī)則表演多個(gè)動(dòng)作組合的成套動(dòng)作[9].自由體操視頻的自動(dòng)描述研究具有極強(qiáng)的現(xiàn)實(shí)意義.對(duì)非專業(yè)人士而言,自動(dòng)描述不僅能夠提升觀賽感受,也能增進(jìn)觀眾對(duì)自由體操運(yùn)動(dòng)的了解;對(duì)專業(yè)人士而言,可以通過自動(dòng)描述進(jìn)行動(dòng)作數(shù)據(jù)分析,挖掘自由體操技術(shù)創(chuàng)新發(fā)展的規(guī)律性特征,從而輔助訓(xùn)練.
為了實(shí)現(xiàn)對(duì)自由體操動(dòng)作的自動(dòng)描述,可使用卷積神經(jīng)網(wǎng)絡(luò)對(duì)自由體操視頻特征進(jìn)行分析[10-19];基于分析得出的特征,通過長短時(shí)記憶(LSTM)網(wǎng)絡(luò)[20-22]實(shí)現(xiàn)特征到自然語言的映射,自動(dòng)生成自由體操分解動(dòng)作的描述.在數(shù)據(jù)標(biāo)注的基礎(chǔ)上,自由體操視頻的自動(dòng)描述問題可看成是視頻字幕的自動(dòng)生成問題.視頻字幕自動(dòng)生成的任務(wù)是自動(dòng)生成視頻內(nèi)容的自然語言描述.S2VT[23]是第一個(gè)序列到序列的視頻描述模型,可實(shí)現(xiàn)視頻幀序列的輸入及文本序列的輸出,且輸入的視頻幀和輸出的文本長度可變.然而,對(duì)自由體操視頻而言,分解動(dòng)作的關(guān)鍵在于翻轉(zhuǎn)方向、旋轉(zhuǎn)度數(shù)、身體姿態(tài),故將包含這些關(guān)鍵動(dòng)作的視頻幀定義為關(guān)鍵幀,通過提取視頻中判別力較高的關(guān)鍵幀,提高視頻自動(dòng)描述的精度.本文基于S2VT模型,提出一種長短時(shí)記憶網(wǎng)絡(luò)的自由體操視頻自動(dòng)描述方法.
自由體操視頻自動(dòng)描述的基本框架,如圖1所示.
圖1 自由體操視頻自動(dòng)描述的基本框架Fig.1 Basic framework of automatic description of floor exercise video
圖2 VGG16網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 VGG16 network structure diagram
自由體操視頻自動(dòng)描述網(wǎng)絡(luò)的輸入數(shù)據(jù)包括視頻序列和文本序列.通過卷積神經(jīng)網(wǎng)絡(luò)提取視頻特征,并利用自然語言文本處理方式提取文本特征.
1.1.1 視頻特征提取 卷積神經(jīng)網(wǎng)絡(luò)對(duì)幾何變換、形變、光照具有一定程度的不變性,可用較小的計(jì)算代價(jià)掃描整幅圖像[24].因此,卷積神經(jīng)網(wǎng)絡(luò)被廣泛地應(yīng)用于圖像特征提取.文中使用VGG16[25]卷積神經(jīng)網(wǎng)絡(luò)提取自由體操視頻的特征.VGG16網(wǎng)絡(luò)結(jié)構(gòu)圖,如圖2所示.圖2中:ReLU為線性整流函數(shù);softmax為激勵(lì)函數(shù).
與state-of-the-art網(wǎng)絡(luò)相比,VGG16的錯(cuò)誤率較低,拓展性較強(qiáng),遷移到其他圖片數(shù)據(jù)上的泛化性非常好.VGG16的結(jié)構(gòu)簡潔,整個(gè)網(wǎng)絡(luò)都使用相同大小的卷積核尺寸(3 px×3 px)和最大池化尺寸(2 px×2 px).VGG16模型的輸入為227 px×227 px固定尺寸的RGB圖片,輸出為視頻特征序列X=(x1,…,xn).
1.1.2 描述文本處理 通過one-hot向量編碼的方式將自由體操視頻的描述符轉(zhuǎn)化為特征,統(tǒng)計(jì)自由體操標(biāo)注文本中的詞語,構(gòu)建字典.因?yàn)樵谧杂审w操分解動(dòng)作描述中使用的字詞種類數(shù)量不一,所以在預(yù)處理時(shí)未對(duì)字詞進(jìn)行篩選.
one-hot向量編碼的輸入是一句話,輸出是一個(gè)特征.one-hot向量編碼的計(jì)算方法:先計(jì)算自由體操數(shù)據(jù)集中所有描述的單詞總數(shù)N;然后,將每個(gè)單詞表示為一個(gè)長1×N的向量,該向量中只有 0 和 1 兩種取值,且該向量中只有一個(gè)值為 1,其所在位置即當(dāng)下單詞在詞表中的位置,其余值為0.
通過長短時(shí)記憶網(wǎng)絡(luò)實(shí)現(xiàn)視頻特征到文本特征的學(xué)習(xí).循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)在反向傳播過程中易產(chǎn)生梯度消失現(xiàn)象,導(dǎo)致網(wǎng)絡(luò)參數(shù)難以持續(xù)優(yōu)化[26],而LSTM網(wǎng)絡(luò)作為一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò),可以有效地解決該問題.
LSTM在每個(gè)序列索引位置t時(shí)刻除了向前傳播與RNN相同的隱藏狀態(tài)ht外,還多了另一個(gè)隱藏狀態(tài),即細(xì)胞狀態(tài)Ct.此外,LSTM網(wǎng)絡(luò)通過增加門控單元控制即時(shí)信息對(duì)歷史信息的影響程度,使神經(jīng)網(wǎng)絡(luò)模型能夠較長時(shí)間地保存并傳遞信息.
因此,LSTM單元可以看作一個(gè)嘗試將信息存儲(chǔ)較久的記憶單元,記憶單元被遺忘門(forget gate)、輸入門(input gate)和輸出門(output gate)保護(hù),并以此為基礎(chǔ),實(shí)現(xiàn)有效信息的更新和利用.
LSTM單元的更新方式為
ft=σ(Wf1ht-1+Wf2Xt+bf)
,
(1)
it=σ(Wi1ht-1+Wi2Xt+bi)
,
(2)
at=tanh(Wa1ht-1+Wa2Xt+ba)
,
(3)
Ct=ft⊙Ct-1+it⊙a(bǔ)t
,
(4)
ot=σ(Wo1ht-1+Wo2Xt+bo)
,
(5)
ht=ot⊙tanhCt
.
(6)
式(1)~(6)中:ft,it,at,Ct,ot,ht分別為t時(shí)刻各狀態(tài)的輸出值;σ為Sigmoid激活函數(shù);Wf1,Wi1,Wa1,Wo1,Wf2,Wi2,Wa2,Wo2均為權(quán)重向量;ht-1,Ct-1分別為t-1時(shí)刻的隱藏狀態(tài)和細(xì)胞狀態(tài);Xt為t時(shí)刻輸入的視頻序列;bf,bi,ba,bo均為偏移量;tanh為雙曲正切激活函數(shù);⊙為向量元素的Hadamard積.
長短時(shí)記憶網(wǎng)絡(luò)結(jié)構(gòu),如圖3所示.圖3中:hN,ht+1,hn分別為不同時(shí)刻的隱藏狀態(tài);XN,Xt-1,Xt,Xt+1,Xn分別為不同時(shí)刻的視頻輸入序列.
圖3 長短時(shí)記憶網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Long short-term memory network structure
將固定維度的自由體操分解動(dòng)作特征向量X=(x1,…,xn)編碼成特征序列,由此得到對(duì)應(yīng)隱藏層的輸出H=(h1,…,hn).已知LSTM網(wǎng)絡(luò)的輸出取決于前一個(gè)輸入序列,將特征向量按順序輸入LSTM網(wǎng)絡(luò),可得到一個(gè)序列向量的編碼映射輸出.
當(dāng)最后一幀圖片的特征向量輸入后,LSTM網(wǎng)絡(luò)的輸出即為幀序列編碼.解碼階段的LSTM送入起始符,促使其將收到的隱藏狀態(tài)解碼成單詞序列,輸出的單詞序列Y=(y1,…,ym),概率為p(y1,…,ym|x1,…,xn),即
.
(7)
解碼階段進(jìn)行訓(xùn)練時(shí),在已知幀序列的隱藏狀態(tài)及之前輸出單詞的條件下,求預(yù)測(cè)句子的對(duì)數(shù)似然性.訓(xùn)練目標(biāo)是使待估參數(shù)值θ達(dá)到最大值θ*,即
.
(8)
采用隨機(jī)梯度下降算法對(duì)整個(gè)訓(xùn)練數(shù)據(jù)集進(jìn)行優(yōu)化,使LSTM網(wǎng)絡(luò)學(xué)習(xí)更合適的隱藏狀態(tài).第二層LSTM網(wǎng)絡(luò)的輸出z在Y中尋找最大可能性的目標(biāo)單詞y,其概率p(y|zt)為
.
(9)
式(9)中:zt為t時(shí)刻的輸出;Wy,Wy′均為權(quán)重向量.
視頻描述的編解碼結(jié)構(gòu)圖,如圖4所示.
圖4 視頻描述的編解碼結(jié)構(gòu)圖Fig.4 Encoding and decoding structure diagram of video description
人腦對(duì)不同部分的注意力是不同的.注意力機(jī)制是人類視覺特有的大腦信號(hào)處理機(jī)制.人類視覺通過快速掃描全局圖像,獲得需要重點(diǎn)關(guān)注的目標(biāo)區(qū)域,即注意力焦點(diǎn),并對(duì)這一區(qū)域投入更多的注意力資源,以獲取更多需要關(guān)注目標(biāo)的細(xì)節(jié)信息,抑制其他無用信息.
對(duì)自由體操分解動(dòng)作自動(dòng)描述具有決定性作用的是關(guān)鍵幀,故關(guān)鍵幀的權(quán)重應(yīng)該更大.在網(wǎng)絡(luò)結(jié)構(gòu)中引入注意力機(jī)制[27],可允許解碼器對(duì)自由體操視頻的每個(gè)時(shí)間特征向量進(jìn)行加權(quán).采用時(shí)間特征向量的動(dòng)態(tài)加權(quán)和公式為
.
(10)
.
(11)
式(11)中:score(xi,hj)為第i個(gè)隱藏層的輸出hj在視頻特征向量xi中所占的分值;score(xi,hi)為第i個(gè)隱藏層的輸出hi在視頻特征向量xi中所占的分值,分值越大,說明這個(gè)時(shí)刻的輸入在該視頻中的注意力越大.
score(xi,hi)的計(jì)算公式為
score(xi,hi)=wTtanh(Wxi+Uhi+b)
.
(12)
式(12)中:w,W,U均為權(quán)重向量;b為偏移量.
引入注意力機(jī)制后的網(wǎng)絡(luò)結(jié)構(gòu)圖,如圖5所示.圖5中:α1~αn為不同時(shí)刻的隱藏層輸出與整個(gè)視頻表示向量的匹配得分占總體得分的比值;δ為α1~αn在對(duì)應(yīng)隱藏層輸出中的比值.
圖5 引入注意力機(jī)制后的網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.5 Network structure diagram after adding attention mechanism
自由體操分解動(dòng)作數(shù)據(jù)集的構(gòu)建是自由體操視頻自動(dòng)描述的基礎(chǔ)工作.為此收集了大量高規(guī)格賽事的視頻,包括奧運(yùn)會(huì)、世界錦標(biāo)賽、全運(yùn)會(huì)等多個(gè)男女重量級(jí)賽事視頻.
首先,對(duì)這些賽事視頻進(jìn)行預(yù)處理.一場(chǎng)完整的賽事視頻是由多名運(yùn)動(dòng)員共同參與完成的,期間會(huì)穿插精彩瞬間的回放、慢動(dòng)作解說、評(píng)委打分排名等.在海量的視頻里,以運(yùn)動(dòng)員為單位進(jìn)行裁剪,僅保留運(yùn)動(dòng)員自由體操的成套動(dòng)作.構(gòu)建的自由體操分解動(dòng)作數(shù)據(jù)集OURS包括訓(xùn)練集(298個(gè)視頻)與測(cè)試集(45個(gè)視頻),測(cè)試集中的自由體操分解動(dòng)作均在訓(xùn)練集中出現(xiàn).由于體育賽事的解說沒有字幕,解說員對(duì)分解動(dòng)作名稱進(jìn)行語音解說時(shí),常常會(huì)伴隨著一些評(píng)判,干擾因素很多,無法通過語音識(shí)別等技術(shù)進(jìn)行識(shí)別.因此,自由體操分解動(dòng)作數(shù)據(jù)集只能根據(jù)實(shí)時(shí)體育解說詞進(jìn)行手動(dòng)標(biāo)注.
對(duì)測(cè)試集的298個(gè)視頻對(duì)應(yīng)的298條描述進(jìn)行分詞和詞頻統(tǒng)計(jì).單詞及頻數(shù)的統(tǒng)計(jì)結(jié)果,如表1所示.由表1可知:45.83%的單詞出現(xiàn)的頻數(shù)低于10;僅有4.20%的單詞頻數(shù)為150次以上.
表1 單詞及頻數(shù)的統(tǒng)計(jì)結(jié)果Tab.1 Statistical results of words and frequencies
訓(xùn)練解碼器是將目標(biāo)樣本作為下一個(gè)預(yù)測(cè)值的輸入;而預(yù)測(cè)解碼器是將上一個(gè)預(yù)測(cè)結(jié)果作為下一個(gè)預(yù)測(cè)值的輸入.這個(gè)差異導(dǎo)致訓(xùn)練和預(yù)測(cè)的情景不同.因此,在預(yù)測(cè)階段,如果上一個(gè)詞語預(yù)測(cè)錯(cuò)誤,其后的數(shù)據(jù)都會(huì)出現(xiàn)錯(cuò)誤,而訓(xùn)練階段則不會(huì).
為消除訓(xùn)練解碼器與預(yù)測(cè)解碼器之間的差異,需對(duì)訓(xùn)練解碼器模型進(jìn)行修改,故引入計(jì)劃采樣方法.訓(xùn)練解碼器的基礎(chǔ)模型是以真實(shí)標(biāo)注數(shù)據(jù)作為輸入,加入計(jì)劃采樣的訓(xùn)練解碼器是以采樣率P選擇模型自身的輸出作為下一個(gè)預(yù)測(cè)的輸入,以1-P選擇真實(shí)標(biāo)注數(shù)據(jù)作為下一個(gè)預(yù)測(cè)的輸入,即采樣率P在訓(xùn)練的過程中是變化的.一開始訓(xùn)練不充分,P可以小一些,盡量使用真實(shí)標(biāo)注數(shù)據(jù)作為下一個(gè)預(yù)測(cè)的輸入;隨著訓(xùn)練的進(jìn)行,P逐漸增大,可以多采用自身的輸出作為輸入;隨著P越來越大,訓(xùn)練解碼器最終趨于預(yù)測(cè)解碼器.通過計(jì)劃采樣方法,可縮小訓(xùn)練解碼器和預(yù)測(cè)解碼器之間的差異.
使用TensorFlow開源軟件庫中的TensorBoard可視化工具,讀取TensorFlow訓(xùn)練后保存的事件文件,可展示各個(gè)參數(shù)的變化.S2VT模型(原始模型)和文中模型(經(jīng)文中方法改進(jìn)的模型)訓(xùn)練完成后,通過損失函數(shù)了解2種模型的損失值隨迭代次數(shù)的變化情況,結(jié)果如圖 6所示.圖6中:d為迭代次數(shù);L為模型訓(xùn)練損失值.由圖6可知:隨著迭代次數(shù)的增加,S2VT模型與文中模型的函數(shù)損失值均逐漸下降,最終趨于穩(wěn)定收斂狀態(tài);相較于S2VT模型,文中模型因復(fù)雜度增加,起始的損失值較大,但其收斂速度有所提高.因此,文中模型具有可訓(xùn)練性及有效性.
(a) S2VT模型 (b) 文中模型 圖6 損失值隨迭代次數(shù)的變化情況Fig.6 Change of loss value with number of iterations
自由體操視頻自動(dòng)描述的結(jié)果是自由體操分解動(dòng)作的描述語句,是一種自然語言,因此,評(píng)價(jià)自由體操視頻自動(dòng)描述結(jié)果可參考自然語言領(lǐng)域中機(jī)器翻譯質(zhì)量的評(píng)價(jià)指標(biāo),即雙語評(píng)估候補(bǔ)(BLEU).BLEU[28]是目前最接近人類評(píng)分的評(píng)價(jià)指標(biāo),BLEU重點(diǎn)關(guān)注相同文本下,機(jī)器譯文和參考譯文的相似度,其值越大,則翻譯質(zhì)量越好.
表2 不同模型的BLEU對(duì)比 Tab.2 BLEU comparison of different models
在數(shù)據(jù)集MSVD[29]和自建數(shù)據(jù)集的兩個(gè)語料庫OURS(1),OURS(2)中,對(duì)S2VT模型、文中模型和計(jì)劃采樣模型(引入計(jì)劃采樣方法的文中模型)的性能進(jìn)行對(duì)比.OURS(1)采用最直接的自然語言;OURS(2)則根據(jù)專業(yè)術(shù)語對(duì)描述語句進(jìn)行調(diào)整.不同模型的BLEU對(duì)比,如表2所示.由表2可知:相較于S2VT模型,文中模型和計(jì)劃采樣模型的性能更優(yōu).
由于篇幅所限,僅給出一個(gè)實(shí)例作為參考.自建數(shù)據(jù)集OURS上,自由體操視頻自動(dòng)描述實(shí)例,如圖7所示.圖7中:正確描述為forward stretched twist three forward stretched twist one;S2VT模型為twohalf forward onehalf forward;文中模型為onehalf forward one stretched forward;計(jì)劃采樣模型為two stretched 〈PAD〉 stretched 〈PAD〉.由圖7可知:文中模型在翻轉(zhuǎn)方向方面的測(cè)試結(jié)果與正確描述相近,如“forward”;計(jì)劃采樣模型在身體姿勢(shì)方面的測(cè)試結(jié)果與正確描述相近,如“stretched”.
圖7 自由體操視頻自動(dòng)描述實(shí)例Fig.7 Example of floor exercise video description
提出一種長短時(shí)記憶網(wǎng)絡(luò)的自由體操視頻自動(dòng)描述方法,但該研究仍需進(jìn)一步優(yōu)化.在數(shù)據(jù)層面,應(yīng)進(jìn)一步豐富自由體操自動(dòng)描述數(shù)據(jù)集的建設(shè),均勻不同分解動(dòng)作的數(shù)據(jù)量及描述量.在視頻特征的提取層面,可以使用目前較為流行的三維卷積操作對(duì)自由體操視頻進(jìn)行時(shí)域和空域的特征提取[30].此外,可以借助知識(shí)遷移更有效地識(shí)別、定位體育視頻中運(yùn)動(dòng)員的動(dòng)作,并將自由體操視頻自動(dòng)描述方法運(yùn)用于其他體育項(xiàng)目中,擴(kuò)大研究成果的使用范圍.