關(guān)百勝 ,卞春江 ,馮水春 ,陳 實
(1.中國科學院國家空間科學中心北京100190;2.中國科學院大學北京100094)
人的行為識別一直是計算機視覺領(lǐng)域的一個重要研究方向。近年來隨著深度學習技術(shù)的不斷發(fā)展,行為識別已經(jīng)成為了計算機視覺方向的一個研究熱點[1]。在智能安防領(lǐng)域中,人的行為識別研究范圍主要包括越界檢測、遺留物力檢測、徘徊檢測和打架斗毆等異常行為。
目前,行為識別研究方面的一些綜述性文章[2-7]對最近幾年行為識別的發(fā)展現(xiàn)狀進行了分析和總結(jié)。行為識別特征提取的方法分為傳統(tǒng)的特征提取方法和基于深度學習的特征提取方法。針對人的行為分析主要包括人的姿態(tài)分析[8]、單人行為分析[9]、交互式行為分析[10]和人群行為分析[11]。
交互式行為識別的研究工作主要開始于2010[12]年。在2014年的Computer Vision and Pattern Recognition(CVPR)會議上,相關(guān)專家對交互式行為識別的研究現(xiàn)狀以及存在的問題進行了討論分析。之前的研究方法主要是通過傳統(tǒng)的圖像特征提取方法和分類算法等手段進行交互式行為的識別,因此無法對復雜的交互式異常行為進行識別,算法的魯棒性較差??紤]到目前深度學習在行為識別上已經(jīng)取得初步的成果,故本文提出基于神經(jīng)網(wǎng)絡(luò)的交互式異常行為識別方法,對異常行為進行識別。神經(jīng)網(wǎng)絡(luò)技術(shù)能夠自動提取視頻中的交互式行為特征,避免了設(shè)計復雜的行為特征提取算法,減化了算法的設(shè)計流程,同時也提高了系統(tǒng)的魯棒性。
交互式異常行為識別的主要目的是自動識別出監(jiān)控視頻中的異常行為,保障公共安全,減輕人力資源。文獻[14]提出了基于Hough-Voting的行為識別方法,文獻[15]提出了基于Spatio-Temporal的行為識別方法,文獻[16]提出了基于Poselet Key-framing的行為識別方法。以上研究都是通過圖像處理技術(shù)提取行為特征,而本文通過深度學習技術(shù)對兩個人的交互式行為進行識別,研究的交互式行為種類有握手、擁抱、踢腿、挑逗、推動和出拳6種,其中握手和擁抱屬于正常行為,踢腿,挑逗,推動和出拳屬于異常行為。交互式行為示例如圖1所示。
圖1 6種交互式行為
交互式異常行為識別分為視頻數(shù)據(jù)預處理、特征提取和行為特征判斷3步,整體框架如圖2所示。首先需要對視頻數(shù)據(jù)進行預處理,例如濾波去噪、圖像增強和圖像背景減除等處理;其次需要提取視頻中的交互式行為特征,例如通過提取Hog特征、輪廓模板特征和神經(jīng)網(wǎng)絡(luò)自提取特征等方法提取行為特征;然后通過已經(jīng)訓練好的分類器對交互式異常行為進行判斷,區(qū)分正常行為和異常行為。
交互式異常行為識別系統(tǒng)方案設(shè)計如圖3所示。系統(tǒng)方案中包括3部分,分別是背景減除、AlexNet網(wǎng)絡(luò)和雙隱層網(wǎng)絡(luò)。
圖2 交互式異常行為識別框架
圖3 系統(tǒng)方案設(shè)計
背景減除的作用是去除視頻圖像背景,保留前景目標圖像,并將前景圖像作為ALexNet網(wǎng)絡(luò)的輸入;ALexNet網(wǎng)絡(luò)的作用是根據(jù)輸入的目標圖像提取人體行為特征,作為特征分類的依據(jù);雙隱層網(wǎng)絡(luò)的作用是根據(jù)已標注的標簽數(shù)據(jù)和ALexNet網(wǎng)絡(luò)已提取的行為特征訓練分類模型,并根據(jù)訓練后的模型判斷異常行為。
背景減除是對視頻圖像進行預處理,提取運動目標,為AlexNet網(wǎng)絡(luò)提供輸入?;谶\動的目標檢測算法是指從圖像序列中將運動的目標區(qū)域檢測出來。目前常用的基于運動的目標檢測方法有幀差法、光流法和背景差(背景減除)法[17]。考慮到基于高斯混合模型(Gaussian mixture model)的背景差法可以在線更新背景模型,很好地解決了光照變化、背景混亂變化的干擾,并且可以檢測視頻中停止運動的物體,因此本文選擇基于高斯混合模型的背景差法來檢測視頻中運動的人體,去除圖像背景并保存提取到的前景人體行為圖像。高斯混合模型是指具有如下形式的概率分布模型[19]:
稱為第k個分模型。
ALexNet是一個經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)(ConvolutionalNeural Networks,CNN),包含5個卷積層和3個全連接層,最后一個全連接層的輸出被送到softmax層中。文中通過ALexNet提取視頻中的交互式行為特征,并生成概率模型。AlexNet網(wǎng)絡(luò)的結(jié)構(gòu)如圖4所示[20],輸入圖像大小為224×224×3(RGB),輸出為1000個float類型的值,即提取出的行為特征概率值。
文中設(shè)計的雙隱層網(wǎng)絡(luò)是對已標注的行為和ALexNet網(wǎng)絡(luò)生成的概率模型進行訓練,最終生成一個行為分類器,對異常行為進行判斷。雙隱層網(wǎng)絡(luò)包含一個輸入層,一個輸出層和兩個隱藏層。雙隱層網(wǎng)絡(luò)的結(jié)構(gòu)如圖5所示。
圖4 ALexNet網(wǎng)絡(luò)結(jié)構(gòu)圖
圖5 雙隱層網(wǎng)絡(luò)示例
圖5中的雙隱層網(wǎng)絡(luò)有3個輸入單元,一個輸出單元,隱藏層1有3個輸入單元,隱藏層2有兩個輸入單元,圖中的“+1”表示偏置節(jié)點。
本實驗在Ubuntu16.04環(huán)境下搭建深度學習開發(fā)平臺,系統(tǒng)開發(fā)環(huán)境如表1所示。
其中OpenCV3.3是一個開源的計算機視覺庫,包含許多圖像處理和計算機視覺的通用算法,用戶可以通過OpenCV快速實現(xiàn)相關(guān)功能,不需要關(guān)注底層算法的具體實現(xiàn)過程;TensorFlow1.4是Google的第二代人工智能學習系統(tǒng),可用于機器學習或圖像識別等多項機器學習和深度學習領(lǐng)域,借助TensorFlow開發(fā)平臺可以方便設(shè)計自己的神經(jīng)網(wǎng)絡(luò)。
表1 開發(fā)環(huán)境介紹
在算法的具體實現(xiàn)中,考慮到OpenCV視覺庫中已有基于混合高斯模型的背景減除算法,并通過BackgroundSubtrctorMOG2函數(shù)實現(xiàn),因此本文對該函數(shù)進行研究分析并利用BackgroundSubtrctorMOG2函數(shù)實現(xiàn)視頻圖像的背景減除。該算法的一個重要特點是它為每個像素選擇一個合適的高斯分布。原圖與背景減除后的圖像如圖6所示。
圖6 背景減除前后
利用TensorFlow深度學習平臺實現(xiàn)ALexNet網(wǎng)絡(luò),并根據(jù)實際需求對相關(guān)參數(shù)進行重新設(shè)置。AlexNet網(wǎng)絡(luò)實現(xiàn)中用到的函數(shù)主要有7個,分別是fully_connected()、tf.reshape()、local_response_nor?malization()、conv_2d()、max_pool_2d()、dropout()和regression()。其中conv_2d()用于神經(jīng)網(wǎng)絡(luò)卷積操作;local_response_normalization()用于數(shù)據(jù)標準化;tf.reshape()用于格式化輸入數(shù)據(jù);max_pool_2d()用于池化操作;dropout()用于防止數(shù)據(jù)過擬合;ful?ly_connected()用于全連接操作;regression()用于回歸分析。AlexNet網(wǎng)絡(luò)實現(xiàn)流程如圖7所示。
圖7 AlexNet網(wǎng)絡(luò)實現(xiàn)流程
完成ALexNet網(wǎng)絡(luò)的實現(xiàn)并通過AlexNet網(wǎng)絡(luò)提取交互式行為特征,提取過程中損失函數(shù)的變化如圖8所示,最終的損失值為0.127。
利用TensorFlow深度學習平臺設(shè)計并實現(xiàn)雙隱層網(wǎng)絡(luò),其設(shè)計結(jié)構(gòu)簡圖如圖9所示。雙隱層網(wǎng)絡(luò)可以將交互式行為分為正常行為和異常行為,其中輸入層有20個輸入單元,隱藏層1有16個輸入單元,隱藏層2有8個輸入單元,輸出層有1個單元。關(guān)于雙隱層網(wǎng)絡(luò)的詳細設(shè)計請參考圖5。
圖8 AlexNet網(wǎng)絡(luò)損失值
圖9 雙隱層網(wǎng)絡(luò)結(jié)構(gòu)簡圖
完成雙隱層網(wǎng)絡(luò)的實現(xiàn)并訓練模型,訓練過程中損失函數(shù)的變化如圖10所示,最終的損失值為0.112。
圖10 雙隱層網(wǎng)絡(luò)損失值
經(jīng)過對6種交互式行為進行測試分析,計算出行為分類的準確率為85%,識別的準確率為73%;文獻[21]對目前交互式行為識別的準確率進行了總結(jié),分類準確率范圍基本在70%~90%之間。
在行為識別的準確率上,本文提出的方法與當前的方法沒有明顯差異,主要原因是樣本數(shù)據(jù)較少,無法進行大規(guī)模的深度學習。如果能夠增加樣本數(shù)量,進行大規(guī)模數(shù)據(jù)的學習,會再次提高識別的準確率。在行為識別的方法上,本文提出的基于深度學習的方法可以自學習行為特征,不需要人工進行特征標注并提取行為特征,簡化了行為特征的提取過程,更有利于算法的工程化實現(xiàn)。
文中通過神經(jīng)網(wǎng)絡(luò)方法提取行為特征進行交互式異常行為的識別,驗證了神經(jīng)網(wǎng)絡(luò)技術(shù)可以用于交互式行為識別,并且取得了很好的效果,準確率也不低于傳統(tǒng)的行為識別方法。但是本文目前只是針對單組的交互式行為進行研究,對于多組交互式行為的分類問題還在研究中,后續(xù)將在本文研究的基礎(chǔ)上,對多組交互式行為進行分析研究,提高算法模型的適應(yīng)性。