徐鵬程 ,劉本永
(1.貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴州 貴陽 550025;2.貴州大學(xué) 智能信息處理研究所,貴州 貴陽 550025)
行為識(shí)別是計(jì)算機(jī)視覺領(lǐng)域的一個(gè)研究熱點(diǎn)。與圖像分類相似,行為識(shí)別的目的是在一組圖像序列或者視頻中,讓機(jī)器自動(dòng)識(shí)別出未知行為的類別。行為識(shí)別在公共安全、遠(yuǎn)程醫(yī)療和虛擬現(xiàn)實(shí)等領(lǐng)域有著廣泛的應(yīng)用價(jià)值。Aggarwal等人[1]根據(jù)行為的復(fù)雜度把行為分為身體局部動(dòng)作、簡單行為、交互行為和人群行為。交互行為是較復(fù)雜的行為,近年來,研究人員提出了許多交互行為識(shí)別方法,主要有兩種:一種是提取簡單特征,用傳統(tǒng)分類器分類(以下簡稱“簡單特征法”),另一種是基于CNN識(shí)別。
簡單特征法在小樣本條件下表現(xiàn)出良好的分類性能。2010年韓磊等人[2]提出一種基于時(shí)空單詞的雙人交互行為識(shí)別算法,該算法從視頻中提取時(shí)空興趣點(diǎn),并將聚類生成的時(shí)空碼本分配給視頻中各個(gè)人物。2014年Kong等人[3]提出用語義描述子對(duì)交互行為分類,該算法將交互行為分成多個(gè)部位的動(dòng)作描述,通過多個(gè)部位的動(dòng)作描述組合來表示某種交互行為。2015年Alazrai等人[4]提出基于解剖平面的交互行為識(shí)別算法,該算法用一種新穎的視角不變運(yùn)動(dòng)姿態(tài)幾何描述符作為交互行為的表示。2017年Li等人[5]提出基于深度序列多特征融合的交互行為識(shí)別的算法,該算法對(duì)深度圖像稀疏提取關(guān)鍵幀,然后融合輪廓特征和動(dòng)作特征。雖然簡單特征法在某些情況下能很好識(shí)別交互行為,但是常見的視頻片段中人物做出的行為常常伴隨遮擋、復(fù)雜背景和鏡頭抖動(dòng)等問題,簡單特征法不能很好解決這些問題。在大樣本條件下,利用CNN可以較好的解決這些問題。
在視頻圖像處理領(lǐng)域,CNN主要用于圖像分類,近幾年ImageNet大規(guī)模視覺識(shí)別挑戰(zhàn)賽(ILSVRC 2010~2017)[6]產(chǎn)生了很多優(yōu)秀的CNN模型,比如AlexNet[7]、VGGNet[8]、GoogLeNet[9]和 ResNet[10]等。目前可以通過微調(diào)(Fine-tuning)的方法將CNN模型應(yīng)用到雙人交互行為識(shí)別研究上。早期基于CNN的交互行為識(shí)別主要使用淺層的CNN,各隱層之間都是基于全卷積計(jì)算,激活函數(shù)主要是sigmoid函數(shù)。這種方式往往需要設(shè)定過多的超參數(shù),同時(shí)在做反向傳播運(yùn)算時(shí)sigmoid函數(shù)計(jì)算容易出現(xiàn)梯度爆炸和梯度消失等問題,因此對(duì)識(shí)別效果不太理想。Zhao等人[11]通過提取密集光流,然后輸入到ResNet中訓(xùn)練,接著將結(jié)果輸入到LSTM中訓(xùn)練,取得了較好的分類效果。Feichtenhofer等人[12]提出一種基于VGG-m-2048和VGG16的時(shí)域空域雙CNN融合算法,在UCF101、hmdb51數(shù)據(jù)集上取得了很好的識(shí)別效果。
為了讓CNN模型更好的提取交互行為特征,本文提出一種將原始視頻幀進(jìn)行圖像增強(qiáng)再利用VGG16模型進(jìn)行訓(xùn)練的算法。首先采用將原始數(shù)據(jù)集從RGB顏色空間轉(zhuǎn)換到HSV顏色空間,其次根據(jù)min-max規(guī)范化算法對(duì)HSV顏色空間中S和V通道拉伸(H通道不變),然后再將數(shù)據(jù)從HSV顏色空間映射到RGB顏色空間,最后將圖像增強(qiáng)后的數(shù)據(jù)輸入到VGG16模型中進(jìn)行學(xué)習(xí)訓(xùn)練。實(shí)驗(yàn)選用BIT-Interaction[3]數(shù)據(jù)集對(duì)本文算法進(jìn)行驗(yàn)證,結(jié)果表明所探討算法在交互行為識(shí)別上是有效的。
圖像增強(qiáng)目的是為了突出圖像中不同物體特征之間的差異,通過一些方法有針對(duì)性地突出某些感興趣特征和削弱不必要特征。數(shù)字視頻由若干靜態(tài)圖像序列組成,根據(jù)人眼的視覺暫留原理,呈現(xiàn)出動(dòng)態(tài)畫面。因此突出視頻中人物特征,只需對(duì)視頻每一幀做圖像增強(qiáng)即可。本文在數(shù)據(jù)預(yù)處理階段圖像增強(qiáng)流程如圖1所示,其中S、V參量歸一化是對(duì)S和V參量分別做min-max規(guī)范化處理[13]。
圖1 視頻幀圖像增強(qiáng)流程
顏色空間(又稱彩色模型)是在某些標(biāo)準(zhǔn)下用可以接受的方式方便對(duì)色彩加以說明的顏色表示域。本質(zhì)上,顏色空間是坐標(biāo)軸和子空間的說明,其中,位于系統(tǒng)中的每個(gè)顏色都是由單個(gè)點(diǎn)來表示。常見顏色空間有RGB、HSV、YUV、Lab等[14]。
1.1.1 RGB顏色空間
RGB顏色空間包含紅(R)、綠(G)、藍(lán)(B)三個(gè)顏色分量,故RGB顏色空間又稱三原色模式,大多數(shù)可見光都可以由三分量組合堆疊得到。當(dāng)前主流的CRT顯示器和液晶顯示器大都采用RGB彩色模型。RGB顏色空間將每個(gè)分量分為256個(gè)灰度級(jí)并將其歸一化到0~1范圍內(nèi),其中灰度值越大表明顏色越深。
1.1.2 HSV顏色空間
HSV顏色空間是根據(jù)顏色特性而創(chuàng)建得來的,其符合人對(duì)顏色的直觀感受,HSV顏色空間有兩種模型,分別是倒六角錐模型和倒圓錐模型。
以倒圓錐模型為例,如圖2所示,HSV顏色空間三個(gè)參量表示色彩的三要素:色調(diào)(H)、飽和度(S)和明度(V)。色調(diào)是色彩最主要特征,是區(qū)分不同色彩的主要標(biāo)準(zhǔn)。模型橫切面角度表示H(0~360°)參量,不同角度表示不同色彩,例如0°對(duì)應(yīng)紅色、120°對(duì)應(yīng)綠色、240°對(duì)應(yīng)藍(lán)色。飽和度表示色彩的鮮艷程度,圓錐中軸到圓錐母線的水平線段代表S參量,S(0~1)越大表示該色彩越鮮艷(越靠近圓錐邊緣)。明度表示色彩的明暗程度,圓錐中軸自下而上的垂直線段代表V參量,V(0~1)越大表示色彩越明亮。
圖2 HSV顏色空間的倒圓錐模型
1.2.1 RGB轉(zhuǎn)換到HSV
對(duì)三個(gè)參量取值在[0,1]的RGB圖像,轉(zhuǎn)換到HSV顏色空間,H、S、V的計(jì)算過程如下:
1.2.2 HSV轉(zhuǎn)換到RGB
HSV顏色空間圖像映射到RGB顏色空間,RGB三個(gè)參量的計(jì)算過程如下:
在圖像中,S和V參量的實(shí)際取值范圍往往比[0,1]小,這就造成了圖像中某些區(qū)域之間的對(duì)比度比較小。例如本文中圖像增強(qiáng)的目的是增強(qiáng)人體(圖中前景)特征,削弱背景特征。為了增大圖像中各部分S或V參量的差異,對(duì)圖像中各像素點(diǎn)S或V的實(shí)際取值范圍進(jìn)行拉伸,保持H不變。原圖像像素點(diǎn)S或V值大的會(huì)更大,小的會(huì)更小。
min-max規(guī)范化(min-max normalization又稱min-max scaling)是將原數(shù)據(jù)的取值范圍縮放到[0,1]。HSV顏色空間圖像中S參量的min-max規(guī)范化過程如式(10):
其中,src(x,y)是原始圖像各像素點(diǎn)S參量值,max(src(x,y))和min (src(x,y))分別是原始圖像所有像素點(diǎn)S參量的最大值和最小值,dst(x,y)是各像素點(diǎn)S參量min-max規(guī)范化后的值。V參量的變換過程與S參量一致。
CNN結(jié)構(gòu)主要包含:卷積層、激活函數(shù)、池化層、全連接層和soft-max層。卷積層的主要作用是提特征,淺層卷積層提取低級(jí)圖像特征,深層卷積層提取更抽象的特征。激活函數(shù)將卷積層的輸出結(jié)果做非線性映射處理,從而增加網(wǎng)絡(luò)的表達(dá)能力,常見的激活函數(shù)有sigmoid、tanh和ReLU[7]等。池化層在保留了上層特征圖主要特征的同時(shí)還減少了下層的參數(shù),其主要有max pooling和average pooling兩種池化方式。全連接層把提取到的特征映射到樣本的標(biāo)記空間,起到分類器的作用。soft-max層將最后一層全連接層的輸出結(jié)果映射到0~1范圍內(nèi),根據(jù)得分高低判別分類,soft-max層神經(jīng)元數(shù)目取決于樣本的類別數(shù)。損失函數(shù)對(duì)權(quán)重(ω)和偏置(b)求偏導(dǎo),根據(jù)BP算法更新ω和b,使損失函數(shù)值最優(yōu)。
2014年牛津大學(xué)視覺幾何團(tuán)隊(duì)(Visual Geometry Group)提出VGGNet,并在當(dāng)年的ILSVRC獲得分類任務(wù)第二名和定位任務(wù)第一名。VGGNet在AlexNet基礎(chǔ)上發(fā)展而來,首次使用小卷積核、小池化核同時(shí)增加了網(wǎng)絡(luò)層數(shù)[8]。VGGNet主要有VGG16和VGG19兩種網(wǎng)絡(luò)模型,二者結(jié)構(gòu)相同,但VGG19相比VGG16在圖像分類上的識(shí)別率上提升不明顯且增大了模型參數(shù),為減小計(jì)算量,本文選用的網(wǎng)絡(luò)模型是VGG16。
VGG16結(jié)構(gòu)如圖3所示,網(wǎng)絡(luò)一共16個(gè)卷積層(包含最后三層全連接層),5個(gè)池化層和一個(gè)soft-max層。模型輸入為224×224的三通道圖片。卷積層均為3×3的小卷積核,滑動(dòng)步長為1。堆疊2個(gè)或3個(gè)3×3的卷積核計(jì)算效果等于1個(gè)5×5或7×7的卷積核, 但計(jì)算量大大降低并且經(jīng)過多次非線性變換后模型對(duì)特征的學(xué)習(xí)能力更強(qiáng)。卷積層輸出結(jié)果輸入到ReLU激活函數(shù)中,ReLU相比sigmoid函數(shù)有計(jì)算量較小、減少梯度消失、稀疏網(wǎng)絡(luò)從而緩解出現(xiàn)過擬合現(xiàn)象等優(yōu)點(diǎn)。池化核(本文使用的是max pooling)大小為2×2,滑動(dòng)步長為2,其對(duì)特征降維的同時(shí)保留了原始特征的屬性。最后是三個(gè)通道數(shù)分別為4 096、4 096和1 000的全連接層。soft-max層對(duì)ImageNet1000種類別分類。因本文使用的數(shù)據(jù)庫有8個(gè)類別動(dòng)作,需要微調(diào)FC1000和soft-max層。
圖3 VGG16網(wǎng)絡(luò)結(jié)構(gòu)
為了對(duì)比本文方法和文獻(xiàn)[12]方法在交互行為識(shí)別上的實(shí)驗(yàn)結(jié)果,本文選用的數(shù)據(jù)集是北京理工大學(xué)的交互行為數(shù)據(jù)集(BIT-Interaction)[3]。該數(shù)據(jù)集包含八類交互動(dòng)作(Bend、Box、Handshake、Hifive、Hug、Kick、Pat、Push),每類動(dòng)作包含50段短視頻。這些視頻均是在不同自然場景下拍攝的,鏡頭固定。我們對(duì)該數(shù)據(jù)集多次實(shí)驗(yàn)取平均值,實(shí)驗(yàn)分為3個(gè)split,其中括號(hào)里指擴(kuò)充數(shù)據(jù)集的分組。split1:15~50(29~100)為訓(xùn)練集,1~14(1~28)為驗(yàn)證集,101~114(101~128)為測試集;split2:1~14 和 29~50(1~28 和 57~100)為訓(xùn)練集,15~28(29~56)為驗(yàn)證集,115~128(129~156)為測試集;split3:1~28 和 43~50(1~56 和 85~100)為訓(xùn)練集,29~42(57~84)為驗(yàn)證集,129~142(157~184)為測試集。
圖4 BIT-Interaction數(shù)據(jù)集
原始數(shù)據(jù)集在視頻分幀后得到的圖片數(shù)量較少,原始視頻幀作為輸入進(jìn)行CNN訓(xùn)練容易出現(xiàn)過擬合問題。為解決上述問題,我們對(duì)數(shù)據(jù)集進(jìn)行擴(kuò)充。常見擴(kuò)充數(shù)據(jù)集的方法有:翻轉(zhuǎn)、旋轉(zhuǎn)和拉伸等,本文采用鏡像翻轉(zhuǎn)和旋轉(zhuǎn)的方法對(duì)數(shù)據(jù)集擴(kuò)充,擴(kuò)充后數(shù)據(jù)集的訓(xùn)練集和驗(yàn)證集每類動(dòng)作共包含100個(gè)的幀序列。
從數(shù)據(jù)集中任選三張圖片及對(duì)應(yīng)圖像增強(qiáng)后的圖片如圖5所示。
圖5 原始視頻幀(第一列)與圖像增強(qiáng)幀(第二列)
從這兩列圖像中可以看出圖像增強(qiáng)后的圖像凸顯或保持了人物輪廓,豐富了人物的紋理信息,增大了人物與背景的對(duì)比度,同時(shí)背景的紋理信息有所減少,例如圖5(d)與圖5(c)相比遠(yuǎn)處樹木和建筑信息較少,人物細(xì)節(jié)信息更突出。雖然原始圖像經(jīng)過本文中的圖像增強(qiáng)算法后不能準(zhǔn)確反映真實(shí)場景信息,但凸顯了人物(前景)特征,有益于接下來的CNN模型提取特征。
CNN模型選用在ImageNet預(yù)訓(xùn)練好的VGG16模型,針對(duì)現(xiàn)有分類問題進(jìn)行微調(diào)(fine-tuning),原因是自己從頭開始訓(xùn)練VGG16容易出現(xiàn)問題,fine-tuning初始化自己的網(wǎng)絡(luò)能使網(wǎng)絡(luò)較快收斂。把輸入圖片寬高隨機(jī)修剪為224×224,為提高內(nèi)存利用率,batchsize設(shè)置為256。為了減小網(wǎng)絡(luò)收斂時(shí)在最優(yōu)值附近小幅度波動(dòng),而不設(shè)定固定學(xué)習(xí)率,采取隨著迭代次數(shù)增加逐漸減小學(xué)習(xí)率的方法,不同階段學(xué)習(xí)率分別設(shè)置為:10-2、10-3、10-4。表1是原始數(shù)據(jù)集、數(shù)據(jù)集擴(kuò)充和圖像增強(qiáng)300次快拍訓(xùn)練得到模型在測試集上的準(zhǔn)確率與平均準(zhǔn)確率結(jié)果。
表1 測試識(shí)別率和平均識(shí)別率 /(%)
如表1所示,三種數(shù)據(jù)集的平均識(shí)別率分別為25.40%、95.01%、97.70%??梢院苊黠@看出擴(kuò)充數(shù)據(jù)后的識(shí)別準(zhǔn)確率要遠(yuǎn)遠(yuǎn)好于原始數(shù)據(jù)集,原因是深層CNN訓(xùn)練數(shù)據(jù)集過少容易出現(xiàn)過擬合現(xiàn)象。在數(shù)據(jù)集樣本足夠大的情況下,對(duì)數(shù)據(jù)集進(jìn)行圖像增強(qiáng)操作的識(shí)別準(zhǔn)確率均比未處理圖像的提升了2.69%,這說明原始數(shù)據(jù)在圖像增強(qiáng)后能夠更好地凸顯圖片中人物特征。
近幾年交互行為識(shí)別方法與本文方法識(shí)別準(zhǔn)確率對(duì)比見表2,在數(shù)據(jù)集足夠大的情況下,利用深度學(xué)習(xí)研究雙人交互行為識(shí)別有很大的優(yōu)勢(shì)。另外,本文方法在數(shù)據(jù)預(yù)處理階段對(duì)輸入圖像做圖像增強(qiáng)處理進(jìn)一步提高了識(shí)別準(zhǔn)確率。
表2 幾種方法在BIT-Interaction數(shù)據(jù)集上的識(shí)別率
本文在數(shù)據(jù)預(yù)處理階段,為解決數(shù)據(jù)集不足的問題,對(duì)原始視頻幀鏡像翻轉(zhuǎn)和旋轉(zhuǎn),提升了VGG16在BIT-Interaction數(shù)據(jù)集上的識(shí)別準(zhǔn)確率。將RGB顏色空間映射到HSV顏色空間,對(duì)S和V參量分別做min-max 標(biāo)準(zhǔn)化處理,將所得結(jié)果映射到RGB顏色空間上作為CNN的輸入,進(jìn)一步提升了識(shí)別準(zhǔn)確率。本文使用在ImageNet訓(xùn)練好的VGG16對(duì)本文需要解決的問題做fine-tuning,節(jié)省了對(duì)前期對(duì)網(wǎng)絡(luò)參數(shù)訓(xùn)練的時(shí)間。
總體而言,深層CNN對(duì)雙人交互行為有著較高的識(shí)別準(zhǔn)確率,但嚴(yán)重依賴數(shù)據(jù)集樣本數(shù)量。本文的在后續(xù)的工作中將適當(dāng)減少網(wǎng)絡(luò)層數(shù),優(yōu)化網(wǎng)絡(luò)參數(shù),使其對(duì)原始視頻幀也有較高的識(shí)別率。