王明芬,盧 宇
(福建師范大學協和學院 信息技術系,福州 350117)
隨著計算機視覺技術的發展以及各類視頻攝像終端的普及,研究表明人工對海量視頻信息的處理具有容易疲勞和自動忽略的缺點.人工智能領域的一個重要研究熱點是目標行為識別,要求系統智能檢測和識別出感興趣的目標,減輕人工的工作量[1].近年來在智能監控報警安防等方面,深度學習已有諸多成功的應用.深度置信神經網絡模型(DBN)是一個概率生成模型,由 Hinton 等提出[2],該模型建立一個觀察數據和標簽之間的聯合分布,通過無監督預訓練和有監督調優訓練達到理想的網絡模型.傳統的深度學習不對特征進行提取方法的設計,直接利用圖像信息進行訓練得到目標表示法[3].但是圖像具有豐富的特征可以用來描述關鍵信息,這些特征的訓練在系統識別中會發揮重要的作用,因為特征的好壞直接會影響到最終的識別效果[4].在視頻中時序的相關性是個不可忽視的信息特征,利用時間上下文信息能為系統識別帶來增益[5].因此本文提出了將提取的HOG 特征作為輸入,通過深度置信網絡訓練得到更高層的抽象特征,利用訓練好的DBN 網絡識別人體區域,最后利用區域的質心的時序相關性特征判斷課堂異常行為.通過實驗數據驗證了課堂行為識別算法的有效性,實驗結果表明在訓練數據比較少的情況下,也能獲得較好的識別效果.
梯度特征可以很好地描述局部目標的形狀邊緣,梯度方向直方圖被用來描述HOG 特征,能夠有效地對形狀特征檢測,主要用于解決人體目標檢測[6].
HOG 采用了統計的方式進行提取.首先將圖像顏色空間歸一化,然后計算梯度,接著將圖像分成小的Cell,然為每個Cell 中各像素點的梯度方向直方圖,最后把每個Block(掃描窗口)的特征進行聯合以形成最終的特征[6].具體計算流程圖如圖1 所示.

圖1 HOG 特征提取流程圖
HOG 先計算各個單元灰度直方圖,然后進行歸一化處理,降低對光照和陰影的敏感性[7].因此其在人體檢測方面有著有獨特較多優點,適用于做圖像及視頻中的人體檢測特征.
HOG 特征最小單位是Cell,計算塊區域Block 和檢測窗口的計算步長就是一個Cell 的寬度,因此先把整個圖像分割為多個的Cell 單元格[8],按特征算法結果共有128 個單元格.
實驗中我們把梯度圖通過分解提取變為機器容易理解的特征向量.將Cell 的梯度方向360 度分成9 個方向塊得到特征,每個塊包含4 個Cell,一個檢測窗口特征向量是36.一個64×128 大小的圖像計算后,它的特征數為36×7×15=3780 個.可視化的HOG 特征提取顯示如圖2 所示.

圖2 可視化特征提取
上文的HOG 特征是基于形狀邊緣梯度的特征,在此基礎上別出來的目標很容易用幾何特征來進一步識別行為動作.本文選取質心的變化加速度來判斷課堂的異常行為.
目標區域在坐標系軸上進行投影,接著進行區域掃描那么目標區域就可以用P1 和P2 描述,記作R[P1,P2],用外接矩形框表示目標區域如圖3 所示.
圖3 中,P1 坐標為(xmin,ymin),P2 坐標為(xmax,ymax),該目標區域記作M,則其質心可以表示成:

式中,H(x,y)表示人的目標區域在(x,y)位置的像素點灰度值信息.

圖3 目標矩形區域
在視頻中,時序特征能夠很好地表示目標的運動趨勢.本文從視頻序列的幾何特征中計算目標質心的位移和時間,然后計算前后K幀間隔的質心加速度,把質心加速度變化設置為時序相關性特征.
假設第N幀的質心是(xn,yn),第M幀的質心是(xm,ym),計算出質心在x,y兩個方向上的位移S1:

第N幀與第M幀的時間差是t,就可以得到質心的位移速度V1=S1/t.
同理可以得到第M幀與第L幀之間的質心速度V2=S2/t.即可以求出質心加速度:

當目標的質心加速度突然加快,說明目標在短時間內位置發生了變化.當這個加速度超過設置的閾值,z則判定為課堂異常行為,觸發警報信息.
深度置信網絡是由多個限制玻爾茲曼機堆疊以及一個BP 層組合而成的深度置信網絡.在深度置信網絡中,每個隱含層接收來自低層的神經元的輸入,通過層與層之間非線性關系,將低層特征組合成高層的信息表示,并建立觀測數據的分布式式特征.它貪婪的前向學習[9],通過逐層學習可以逐步收斂.并結合梯度下降[10]的反向微調機制,可以得到更高的收斂精度,從而達到最佳的模型訓練.根據學習到的網絡結構,系統將輸入的樣本數據映射到輸出特征,然后采用 Softmax 分類器識別.
對每層波爾茲曼機(RBM)進行訓練是一個深層置信網絡的開始.訓練 RBM 的過程簡單來說就是尋找可視層節點和隱藏層節點之間連接的最優權值參數.RBM 由一層可視層v和一層隱藏層h組成.該網絡的可視層v和隱藏層h神經元彼此雙向互聯,但同一層內神經元無連接.RBM 中神經元有兩種狀態,“激活”和“未激活”,一般用二進制的1 和0 表示[11].每一層可用一個向量表示,向量的維數由每層神經元的個數決定,每一個神經元代表數據向量的一維,具體結構圖如圖4 所示.

圖4 RBM 結構圖
RBM 是的可視層神經元向量v和隱藏層神經元向量h聯合配置的函數為:

式中,θ =(wij,ai,bj)為 RBM 的參數,ai為可視層單元 的偏置值,bj為隱含層單元的偏置值,wij為可視層與隱含層之間的連接權重,n和m分別為可視層與隱含層的神經元數目.由能量函數可以得到可視層與隱含層的聯合概率分布為:


在給定隱含層h的前提下,求得其可視層第i個節點激活概率為:

RBM 采用極大對數似然函數迭代方法訓練出可以擬合目標的參數θ.然后以經典的對比散度算法更新權值,可以得到優的參數θ.逐層訓練完成的 RBM 可以從高維數據中提取出更有表征意義的特征[12].
自底向上的逐層學習,通過底層特征訓練得到高層特征是DBN 模型的訓練學習方式[13],在頂層設計一個BP 網絡,根據識別的誤差進行網絡參數的反向微調.
首先是預訓練,用貪婪學習算法訓練波爾茲曼機,一次一個直到所有的波爾茲曼機都被訓練完成為止.低層的隱含層的輸出將作為高層可視層的輸入,經過不斷調整網絡權值,網絡狀態達到和諧.經過訓練之后得到DBN 的初始參數 θ=(wij,ai,bj).通過BP 網絡梯度下降算法實現反向微調,將誤差自頂向下地反向傳播到每一層,通過梯度下降算法對整個網絡進行微調,整個網絡的參數達到理想.如圖5 所示.

圖5 DBN 訓練流程
從一層神經網絡開始訓練一個網絡的方法是可行的,且可以節約網絡資源避免過度計算.在第一個隱藏層和標簽輸出層之間插入第二個隱藏層,然后對整個網絡通過BP 網絡反向調整網絡的權值.以此類推,一層層地設計網絡的層數,這種判別式預訓練在能夠取得很好的效果.
對于深度學習的網絡模型,訓練迭代次數、網絡隱含層的層數是重要參數.在用DBN 網絡模型對訓練樣本進行訓練時,采用BP 算法將訓練所得結果與結果標簽數據進行誤差分析,根據相關差異進行反向微調,實現對網絡結構中各層間權值的更新,逐步達到提升網絡模型識別精確度的目的[14].在時間上下文信息中我們需要計算質心的加速度,因此取合適的幀間隔也是一個重要的參數.
結合實際實驗采用包含1-3 層RBM 的深度置信網絡結構模型.設置預訓練的學習率0.01,設置BP 神經網絡的學習率為0.01,迭代次數設置為2000.采用批訓練的方式初始化節點數,批訓練樣本數設置為200.通過實驗分析的方式把網絡中RBM 的層數確定下來,文中設置DBN 模型中RBM 層數為2.
視頻播放的幀是25 f/m,我們通過實驗對比選擇K幀間隔,取K=5 為實驗參數,即幀間隔為1/5 s,每秒計算5 次質心的位移速度,4 次質心加速度.當質心加速度特征a>4 m/s2時,認為是課堂異常行為.
從提取的形狀特征中提取更為抽象的高層特征作為DBN 網絡的輸入,能更好地讓DBN 網絡理解圖像特征的分布,提高DBN 的表征能力.本文先采用基于HOG 算法的圖像形狀特征提取,采用提取到的特征訓練DBN 網絡.其次利用二級遞推算法,首先識別出人體目標,其次利用視頻的時序相關性運動特征計算人體區域前后幀的質加心速度,判斷課堂行為算法流程如圖6 所示.

圖6 系統框架流程
硬件實驗環境為CPU 型號Intel i9 9900X,內存32 GB,顯存11 GB,集成顯卡GTX 1080 Ti 的工作站,軟件環境為Ubantu 14.04 操作系統,Python 3.7+OpenCV集成系統.
本系統訓練的樣本為課堂采集的小樣本庫,命名為Classroom 數據集,類別是book,chair person,table等4 類.系統主要分析課堂目標中的時序相關性特征,因此本文只計算person 類的質心加速度.
Classroom 數據集訓練庫的部分圖片如圖7 所示.

圖7 課堂訓練樣本庫
通過Classroom 小樣本數據集訓練的深度置信網絡模型,通過Softmax 分類器識別效果如圖8,圖9 所示,可以識別出 person,table,book,chair 等4 類目標.從實驗可以看出在目標模糊和目標密集的復雜場景下,目標也可以被有效地識別出.這對今后的由于攝像頭晃動造成的運動模糊和運動遮擋有很好的應用參考.

圖8 模糊場景識別效果
本系統關心的是課堂person 類的行為,因此根據識別結果選擇人體目標,其他類的目標在視頻中不再標出.在正常情況下,人體目標都是細框圖顯示.由前文的分析可知,目標的質心加速度是一個重要的時序相關性特征.因此計算的幀間隔是個關鍵參數,間隔太小則增加系統的計算量,太大則容易產生漏檢.根據實驗調試,系統設置N=5 的幀間隔,檢測閾值設置為4 m/s2,當加速度a超出設置的閾值時則認為是異常行為.系統中采用粗框對異常行為目標進行預警.

圖9 密集場景識別效果
測試學校提供的課堂視頻,當學生課堂出現了睡覺、趴在桌子上等負面異常行為時,質心加速度超出了閾值,系統認定為異常行為目標如圖10,圖11 所示.應用網絡上的視頻測試系統,結果如圖12 所示.顯然突然起立,目標質心加速度也會超過閾值.這時系統也將其標識為異常行為,這個屬于正面異常行為.

圖10 單目標課堂異常行為識別
異常行為有正面異常行為和負面異常行為,但是兩者并不是絕對對立的.如在智能監考系統中,起立代表負面異常,但在教學課堂中則代表正面異常.
不同RBM 網絡層數的DBN 模型率如圖13 所示.采用的數據樣本集為Classroom 數據集,KTH 人體行為數據庫,INRIA Person 庫,其中第一個數據庫為實際采集的小樣本數據庫,后兩者為測試公開庫.由于實驗所用的樣本數較小,涉及到的類別也不多,因此DBN 型所需的RBM 層數和隱藏層節點不需要設置太多.本文將隱含層RBM 的隱藏層節點數量設置為30 個.通過實驗測試 RBM 層數與識別率的關系如圖13所示.實驗結果可知當設置2 層RBM 時目標識別率均較高,當層數再增加時,網絡的識別率反而有所下降.在RBM 層數為2 時學生課堂的人體目標識別率為98%,符合我們系統的指標要求.
在INRIA Person 數據集上進行測試,得到的檢測率如表1 所示.可以看出,和未進行特征提取訓練的DBN 相比,加入HOG 特征提取的DBN 在準確度上有較好的提升[15],因為HOG 可以增強目標的局部特征.同時在輸出層設置Softmax 分類器,在目標類別不是特別多的情況下,可明顯提升目標的識別率.

圖11 多目標課堂異常行為識別

圖12 網絡課堂視頻測試結果
加速度是一個很好的物理特征,計算加速度的時間間隔是一個重要的參數.幀間隔太大,無法檢測出理想的目標,間隔太小影響系統的實時性.合理的幀間隔不僅可以檢測出速度變化的快慢,而且可以有效的降低系統的運算開銷.因此本文采用基于HOG 特征輸入的2 層RBM 結構的DBN 模型,頂層采用Softmax 分類器識別出目標.在視頻序列中采用幀間隔為5 的參數計算時序相關性特征,最后標識出課堂異常行為目標.
針對人體行為最重要的motion 特征,提出了基于時序相關性的二級遞推異常行為識別方法.不僅能解決傳統 DBN 不能處理視頻序列的問題,而且可以充分利用視頻中目標前后幀提供的質心加速度信息識別出異常目標,提高了系統的識別準確率.實驗結果表明本文設計的方案在運動模糊和目標遮擋等復雜場景下都可以識別出目標,這對今后的實際應用中由于攝像頭晃動造成的運動模糊和運動遮擋有很好的應用參考.系統后續可以展開聯動模塊的設計,把課堂行為中異常數據傳輸到云端進行分析,可在評估習效果、課堂動態趨勢等方面發揮作用.

圖13 RBM 層數與識別率

表1 不同模型識別率