高 程,唐 超,童安煬,王文劍
(1.合肥學院人工智能與大數據學院,合肥 230601;2.山西大學計算機與信息技術學院 太原 030006)
人體行為識別(Human Action Recognition,HAR)是指通過現代計算機相關技術來識別人的行為動作的一個過程。它是計算機視覺領域中一個活躍的研究課題,在虛擬現實[1]、自動監(jiān)視[2]、人機交互[3]和智能視頻監(jiān)控[4]等許多領域都展現出巨大潛力。然而,行為識別提取特征受光照影響嚴重,缺少對時域信息的整合,使得準確高效地識別人體行為仍舊是一個難題。
近年來大多數的人體行為識別研究是在可見光環(huán)境下進行的,對于夜間環(huán)境下的研究相對較少。由于傳統光學相機在晚上無法正常工作,而許多影響到人身和財產安全的行為動作又常常出現在夜晚或較暗的地方。相比較而言,紅外成像具有很強的魯棒性,基本上可以排除煙塵、雨雪這些惡劣天氣的干擾;具有細節(jié)保留性,能夠保留較為完善的圖像邊緣輪廓和細節(jié)特征[5];具備較好的光照不變性,能極大地降低光照影響。因此,后續(xù)針對夜間環(huán)境下的紅外人體行為識別研究具有發(fā)展意義。
本文針對紅外人體行為數據集較少的現象,設計相關的人體行為動作,用專業(yè)的紅外攝像機采集了足量的數據集進行實驗研究。提出的混合網絡模型C-L,該混合模型是基于CNN 和LSTM 兩種深度學習網絡,分別提取空間信息和時間信息,再按照一定的置信比進行融合的。最后通過實驗對比得出更加精確的分類結果。
目前,針對夜間環(huán)境下的人體行為識別方法主要分為兩類:基于可穿戴傳感器和基于紅外視頻圖像。
基于可穿戴傳感器的方法能夠通過獲取使用者的位置和運動姿態(tài)等關鍵特征,并利用模式識別對人體行為動作情況進行識別分類。[6]kumar 等人[7]提出一個包含加速度計和陀螺儀的可穿戴傳感器,通過支持向量機(Support Vector Machine,SVM)算法對人體行為檢測,得到比較高的準確率為93%。Giuffrida等人[8]提出了一種基于可穿戴傳感器和機器學習的跌倒檢測系統,通過提取信號的特征輸入到SVM 分類器進行區(qū)分人類的行為活動。Kerdjidj 等人[9]提出一個可穿戴的Shimmer 設備,采用壓縮感知的方法對人體跌倒和活動進行識別。Sun等人[10]提出了基于空時特征融合的深度學習模型,在公開的可穿戴傳感器數據集DaLiAc 上進行人體行為識別的方法,總體識別率為97.6%。然而,佩戴在身上的傳感器存在著很大的局限性,因為它影響了人自然自主的活動軌跡和動作。此外,這些傳感器檢測的主要是個人層面的活動,因此很難檢測其他涉及人和物或人和人交互的復雜活動,這可以通過基于視頻圖像的行為識別來克服。
紅外人體行為識別方法主要分為兩大類:基于手工提取特征的方法和基于深度學習的方法?;谑止ぬ崛√卣鞯姆椒?,Shao 等人[11]提出了一種基于稠密軌跡融合特征的紅外人體行為識別方法,對IADB紅外行為數據庫展開研究,準確率達到96.7%。Xie等人[12]提出了一種基于多尺度局部二進制模式(Local Binary Pattern,LBP)共生直方圖的紅外人臉識別方法,最終實驗表明識別率可以達到91.2%。Su等人[13]針對FLIR 紅外目標識別中復雜背景干擾等問題,提出了一種基于輪廓片段匹配和圖搜索的目標識別方法,具有較好的適應性和泛化能力。Wu等人[14]提出一種基于多特征融合的紅外圖像目標識別算法,有效地提高了紅外圖像在復雜多變環(huán)境下的識別準確率。
基于深度學習的方法,Gao等人[15]提出一種雙流卷積神經網絡,并構建了一個紅外行為識別數據集InfAR 來驗證實驗,平均識別率為76.66%。Liu 等人[16]提出一種基于全局時間表示的三流卷積神經網絡,在紅外數據集InfAR和NTU RGB+D 上取得79.25%和66.29%的平均識別率。Akula等人[17]提出帶兩個卷積層的監(jiān)督CNN 架構來識別6 種行為動作,識別精度是87.44%;Boissiere 等人[18]提出一種結合骨架和紅外數據數據的模塊化網絡,在NTU RGB+D 數據集上實現了比較好的性能。Jiang 等人[19]提出了一種改進的空時雙流網絡,采用基于決策級特征融合機制來反映行人的動作類別,有較高的工程應用價值。
本文提出的紅外人體行為識別混合網絡模型,其總體框架如圖1所示,主要步驟為:(1)對輸入的紅處視頻圖像進行預處理操作,包括灰度化、歸一化和劃分序列;(2)將預處理后的圖像輸入到卷積神經網絡和長短時記憶網絡中,分別訓練得到動作的空間信息特征和時間信息特征;(3)將上一步得到兩種不同的特征分別輸入到分類器中進行決策級的得分融合,輸出分類結果。
為了規(guī)范圖像數據的格式以及提高圖像數據的表征能力,本文做了一些數據預處理的工作,具體如下:
第一步,通過灰度變換將紅外圖像轉為灰度圖像,設輸入紅外圖像為I(x,y),灰度化為Gray(?),得到的灰度圖像為G(x,y),即
因為灰度圖像每個像素只需要較少的空間存放灰度值,所以能夠提高運算速度,節(jié)約時間成本。
第二步,為了增加圖像處理的效果,需要對圖像進行規(guī)格化。設輸入圖像為G(x,y),調整尺寸為Re(?),調整后得到的圖像為R1(x,y),即
將輸入圖像尺寸規(guī)格化為120×120輸入到網絡中。
第三步,數據歸一化是利用特征的最大最小值,將特征的值縮放到[Min,Max]區(qū)間,計算公式如下
其中:R1(x,y)是Step2 中尺寸規(guī)格化后得到的圖像;R1min 是R1中取的最小值;R1max 是R1中取的最大值;R(x,y)是是數據歸一化后的圖像。另外Max取1,Min取0,即原本的數據映射到了[0,1]這個區(qū)間,由此可以加快梯度下降求解最優(yōu)解的速度。
本文在空間域上設計了一個卷積神經網絡,是一個由很多不同功能的網絡層交替出現組成的層級結構網絡,包括輸入層(1 層)、卷積層(2 層)、池化層(2 層)、全連接層(2 層)、輸出層(1層)等,卷積神經網絡模型,如圖2所示。該網絡處理圖像數據具體操作如下。
圖2 卷積神經網絡模型
1)卷積層由多個卷積單元組成,輸入圖像經過預處理以120×120的尺寸輸入,可以提取人體行為不同的局部區(qū)域特征。由圖2所示,Conv_1和Conv_2分別是兩次卷積后的人體行為特征圖,為了保留邊緣信息,卷積得到的特征圖經過padding尺寸大小保持不變。卷積層的計算公式如下。
其中:為第l層中第(i,j)點的輸入值;Yli,j為第l層中第(i,j)點的輸出值;mh為第l層中局部感受野[20]的高度值;nw為第l層中局部感受野的寬度值;為第k層中卷積核(i,j)點值;bl為第l層的偏移量。
2)本文的激活函數選擇ReLU 函數,可以對網絡進行稀疏化處理,加快訓練速度及防止梯度消失[21]。數學表達式如下。
其中:當輸入x<0時,ReLU函數的輸出為0;當輸入x≥0時,ReLU函數的輸出為x。
3)本模型中池化層選取的池化方法是最大池化,它可以對特征進行降維,提高算法的運行速度和性能。由圖2 所示,Pool_1 和Pool_2 分別是兩次池化后的人體行為特征圖,尺寸均為之前輸入特征圖的一半。計算公式如下
其 中:Xm,n表示當前的輸入值;Yi,j表示池化后的輸出值,m∈(i×H,(i+1)×H-1),n∈(i×W,(i+1) ×W-1);H和W分別為池化窗口的高度和寬度。
4)本文全連接層設置了兩層,如圖2所示,第一層長度是28 800,作用是將卷積層提取的特征進行線性組合,第二層長度是500,實現了對輸入的數據進行高度的非線性變換的目的。
5)輸出層采用softmax函數計算各個類別的概率值,函數的具體形式如下。
其中:yi為softmax的輸出概率值;xi為softmax的輸入值;n為softmax的輸入值個數。
本文構建一個雙層LSTM 網絡用于時序特征的挖掘,如圖3所示,輸入的紅外圖像經過預處理劃分為t個序列,這里的t取值為120。將劃分的圖片序列經過LSTM 單元后,對應會輸出h11,h12...h1t,然后輸入到下一個LSTM單元,輸出h21,h22...h2t,最終所有時序信息都輸入到softmax進行分類。
圖3 雙層LSTM 網絡分類模型
圖4 LSTM 結構單元圖4 LSTM 結構單元
LSTM結構單元中三個門的步驟具體如下:
1)遺忘門f:表示從h(t-1)傳進來的輸入信息有多少可以通過。公式如下
其中:f是遺忘門的激活;Wf為輸入層到f的權重向量;bf是遺忘門的偏移量。
2)輸入門i:表示當前輸入x(t)新計算出來的狀態(tài)有多少可以通過。公式如下
其中,i是輸入門的激活,Wi為輸入層到i的權重向量,bi是輸入門的偏移量。
3)輸出門o:決定哪些信息可以被當成當前狀態(tài)的輸出。公式如下:
其中:o是輸出門的激活;Wo為輸入層到o的權重向量;bo是輸出門的偏移量。
基于CNN 和LSTM 融合的C-L 網絡模型經過預訓練分別提取出空間、時間特征向量,但是單一的特征向量包含的特征維度不夠,表征能力和模型泛化能力不足。而融合不同的隱含特征是提高模型識別性能的重要方法,卷積神經網絡包含大量的空間特征信息描述,長短時記憶網絡可提取大量時間特征信息描述,融合兩者特征優(yōu)點可以使訓練識別分類的精確度有所提升。目前主流的特征融合方法有三種:像素級融合、特征級融合、決策級融合。[22,23]
本文通過實驗對比,選取決策級融合中的得分融合方法,取代傳統的最大值融合方法,加強模型的容錯性和實時性,提高模型的泛化能力。本文采用的融合策略如下式所示
其中:F是融合后的得分:C是CNN 網絡分類的概率分布:L是LSTM 網絡分類的概率分布,α+β=1,α≥0,β≥0。
本文通過實驗做了各種不同比例的加權融合進行對比,得到了最好的識別結果,如表1 所示。接著再通過argmax()函數找到一組概率中最大值出現的位置,即得到特征信息最終被分到的類別。
表1 在不同數據集下,采用不同融合比例時的識別率/%
本文具體的實驗環(huán)境參數如下:CPU 為Intel Core i9-11900F@2.50 GHz 8 cores;GPU 為Nvidia Ge-Force 3060 11G;操作系統為Ubuntu 20.04;編程語言為Python3.7;采用深度學習框架pytorch,建立網絡模型進行訓練和測試,其中兩個網絡模型的batch_size 均選取64,CNN 網絡模型學習率為0.001,LSTM網絡模型學習率為0.01。
人體行為數據集的更新和發(fā)展為計算機視覺領域的崛起奠定了很重要的基礎。但是與可見光領域公開的人體行為識別的數據集不同,紅外的人體行為識別公開的數據集少之又少。為驗證本文研究方法的有效性與可行性,我們用于實驗的數據集包括公開的紅外圖像數據集,公開紅外視頻數據集(Infrared Action Dataset,IAD)以及自建紅外人體行為數據集。
公開紅外圖像數據集,包括受試者在單一場景下執(zhí)行的一系列的簡單動作。該紅外數據集于網上下載所得。是一組背景簡單、視圖單一的數據集,共1680 張圖像幀。數據集中5 個不同受試者的6 種人體行為:坐下(a)、跑步(b)、站立(c)、轉身(d),走路(e)、躺倒(f)。其示例如圖5所示。
圖5 紅外圖像數據集
公開紅外視頻數據集IAD,動作類型包括12個類別,每個動作類別有30個視頻剪輯,所有動作都由25名不同的志愿者執(zhí)行,視頻由手持紅外攝像機IR300A拍攝,每個剪輯平均持續(xù)4秒,幀速率為每秒25 幀,分辨率為293×256。12 個動作類別分別是Fight,Handclapping,Handshake,Hug,Jog,Jump,Punch,Puch,Skip,Walk,Wave1,Wave2。其中每個視頻包含一個人或幾個人執(zhí)行一個或多個動作。其示例如圖6所示。
圖6 紅外動作數據集
自建紅外人體行為數據集HFUU Infrared HAR,數據集是用固定的紅外熱成像攝像機以25fps 的幀速率記錄的單一背景的數據集,共200 個視頻序列。其中紅外攝像機的參數有:錄像分辨率:4K 2880×2160(24FPS),數碼變焦:16X,焦距:f=7.36mm,光圈:F3.2 等。數據集中提供了同種場景下20個不同受試者的10種人體行為:走路(a).Walking、慢跑(b).Jogging、快跑(c).Running、雙手揮(d).Wavings、拳擊(e).Boxing、拍掌(f).Clapping、單手揮(g).Waving、跳躍(h).Jumping、下蹲(i).Crouching、彎腰(j).Bending。其示例如圖7所示。
圖7 HFUU紅外人體行為數據集
本文的實驗是在一個公開的紅外圖像數據集,IAD 和自建的紅外視頻數據集上進行的,然后通過對比實驗,驗證了本文方法的有效性。其中,公開的紅外圖像數據集有6 個行為動作,分為訓練集和測試集,訓練集共1200 張圖像,測試集共480 張圖像,IAD 紅外數據集共有12 個類別,600 個動作視頻,而自建的紅外視頻數據集有10 個類別,200 個動作視頻,進行分解后得到74385 張視頻幀。由于樣本的數量有限制,在訓練過程中采用十折交叉驗證的方法對數據集進行劃分學習研究,保證模型對數據的充分學習。
識別準確率如表2所示,它對模型整體的泛化能力有更直觀的表達,計算公式如下
表2 不同算法在不同數據集的準確率%
其中:TP表示分類正確的樣本數;Total表示分類的樣本總數。
由表2可知,本文的C-L模型在公開數據集,IAD紅外數據集和自建數據集上的分類效果比單一的CNN 模型和LSTM 模型有明顯的提升。在公開數據集上C-L 模型比CNN 模型高1.6%的準確率;在IAD紅外數據集上C-L 模型比CNN 模型高1.47%的準確率,并且比原作者提出的傳統方法要高7.62%的準確率,明顯地提升了識別效果;在自建數據集上C-L 模型比CNN 模型高1.95%的準確率,比LSTM 模型高4.76%的準確率。另外由于公開的紅外數據集數據量較小,且是不連續(xù)的圖像,所以運用針對時序較為有效的LSTM 模型效果不是很好,只有61.95%的準確率,但這個問題在IAD 紅外數據集和自建的紅外數據集上就不復存在,自建數據集是拍攝的紅外視頻,處理后對連續(xù)的視頻幀進行訓練測試,最后得到了比較好的識別結果。
另外,還可以從多方面的模型評價指標來表達實驗的完整性,包含精確率(Precision,P)、召回率(Recall,R)、F值(F-Measure)三個常用來表示模型精度和泛化能力的重要評價指標。其中,精確率P表示的是預測為正的樣本中有多少是真正的正樣本。計算公式如下
其中:TP是真正例(True Positive,TP);FP是假正例(False Positive,FP)。
召回率R表示的是樣本中的正例有多少被預測正確。計算公式如下
其中,FN是假反例(False Negative,FN)。
還有一個常見的方法是F-Measure,指的是通過計算F值來評價一個指標。以下是其中一個具體計算公式
其中:P代表Precision;R代表Recall;F1 綜合了Precision與Recall的產出的結果。
從表3可以看出,C-L混合模型的三項評價指標的結果都比單個CNN和LSTM網絡要明顯高,足以證明了混合模型有效提高了模型的精度和識別能力。其中,公開紅外數據集的LSTM 模型精度低也是因為該數據集是由不連續(xù)的幀組成,沒有形成時間上的一個序列,破壞了LSTM 的時序依賴性,從而結果不是很理想;但自建的紅外視頻數據集和IAD 紅外數據集是連續(xù)的視頻幀,LSTM 模型識別結果正常。
表3 兩種紅外人體行為數據集的PRF值
如圖8,9所示,分別為基于公開紅外圖像數據集和自建紅外視頻數據集的行為識別混淆矩陣,圖中每一列代表預測類別每一行代表該活動的真實歸屬類別,每個動作的準確度也是直觀的以小于1 的概率值輸出。由圖8、9 可知,CNN 和LSTM 結合后,數據集中幾乎每個類別的準確率都比單個模型得到了提升。其中,在公開紅外數據集的sitting、lying-down 動作上實現100%的準確率,在自建的紅外數據集的boxing 實現了100%的準確率,在wavings、claping、bending 動作上也都取得了高達99%的準確率,足以證明了混合模型C-L在提高圖像特征和模型訓練上更有優(yōu)勢,對實現動作分類更加有效。
圖8 公開紅外數據集的混淆矩陣
圖9 自建紅外數據集的混淆矩陣
為了提高和加強人體行為識別在紅外即夜間環(huán)境下的識別率,本文提出了一種基于CNN 和LSTM的混合模型C-L 的紅外人體識別方法。通過將卷積神經網絡提取的空間信息和長短時記憶網絡提取的時間信息進行融合,采用各自的置信度占比,通過實驗結果,得出最合適的權重比例,從而選出最佳的融合結果。在公開的以及自建的紅外人體行為三個數據集上的實驗結果表明,對比單純使用CNN 和LSTM神經網絡,混合模型C-L不僅在識別率上優(yōu)勢明顯,抗干擾能力和不依賴個體能力也較強,從而證明了本文方法的有效性,是一個很好的方案。