劉寅
(廣西電力職業技術學院,廣西 南寧 530007)
近年來,攝像頭應用的場景越來越多,基于深度學習技術,通過識別圖像中的目標以實現特定功能應用的場景已不少見[1]。而基于學校教室內監控視頻圖像,運用深度學習技術對人物目標識別的應用場景尚不普遍。通過教室內圖像的人物識別,進一步結合數據統計得到教室內人數,可為教育管理和資源調配提供數據參考。目前,基于深度學習技術進行目標檢測的方法主要有基于直接回歸的One-stage 和基于候選框和分類的Two-stage 兩類[2]。One-stage 即直接回歸的方法,不使用RPN 網絡,被識別目標的類別和坐標通過主網絡直接給出。SSD、FSSD架構[3]和常用的YOLO 系列網絡[4]都屬One-stage。而Two-stage方法是先算出目標的候選框,再用卷積神經網絡確定樣本的類別。Two-stage的訓練過程也分成兩步,首先訓練RPN 網絡[5],再訓練目標檢測網絡。Fast R-CNN、Faster R-CNN、R-FCN 架構[6]都屬于Two-stage 方法。基于直接回歸的識別方法識別速度快,精度略低,而基于候選框和分類的方法識別精度高,識別速度相對較慢。在上述兩類目標檢測方法中,R-FCN 架構能夠在具備較高檢測準確度的情況下,同時具備較快的檢測速度[7]。因此,本文基于R-FCN 目標識別架構,結合教室內人物目標場景的特點,實現教室內的人物識別。
R-FCN 目標檢測架構是代季峰在2016 年對Faster R-CNN架構進行改進而提出的[8]。R-FCN 目標檢測網絡架構如圖1 所示。從圖1 可以看出,R-FCN 網絡架構主要可以分為4 個子網絡,即卷積神經網絡ResNet、區域候選網絡RPN、分類網絡和回歸網絡。被識別的圖像首先輸入ResNet-101 殘差網絡進行特征提取,這個ResNet 包括了conv1-conv5 五個卷積網絡。網絡conv4的特征輸出給到RPN 網絡,通過RPN 網絡提出候選RoIs。網絡conv5的特征輸出經過卷積降維再輸入分類網絡和回歸網絡。分類和回歸網絡分別生成多維位置敏感得分映射,再結合RPN 網絡的候選RoIs 進行池化以確定目標的類別和位置。目標識別的效果常用目標預測區域與真實目標區域的誤差來判定。代價函數與目標識別誤差直接相關,通過隨機梯度下降等方法優化神經網絡參數可以達到最小化代價函數的目的。R-FCN 目標檢測架構的代價函數由分類誤差和回歸誤差組成[9],公式如下:

圖1 R-FCN 網絡架構

式(1)中,Lcls是分類誤差,Lreg是回歸誤差,λ 是平衡系數,t是預測的目標位置,t*是實際目標的位置。分類誤差Lcls采用交叉熵誤差來計算,即:

而回歸誤差Lreg采用L1平滑函數計算,即:

因教室內的監控攝像頭通常安裝在教室前后的高處,攝像頭距離教室內座位相對較遠,其取得的圖像中人物與其他場景人物識別相比更容易出現小目標和目標部分重疊的情況。直接應用R-FCN 架構進行人物識別,其對小目標人物和部分重疊人物的檢測效果并不理想,因此,本文針對教室內人物識別場景對R-FCN 架構進行優化。
R-FCN 網絡得到的對同一個人物目標的預測框集合中包含大量的目標預測框,需要在這些目標預測框中挑選出最優目標預測框。R-FCN 網絡預測框最優化選用的是非極大值抑制算法[10],其步驟為:
3.1.1 R-FCN 網絡計算出N 個目標預測框。
3.1.2 建立預測數據集合H,將計算得到的N 個目標預測框(h1~hN)初始化入集合H。
3.1.3 建立最優數據集合M并初始化為空,用于存儲最優目標預測框。
3.1.4 計算集合H 中的所有目標預測框的分類置信度si,挑選出分類置信度數值最高的目標預測框mi并將其剪切到集合M。
3.1.5 對集合H 中的所有目標預測框(hi)計算與mi的交并比(IoU),若IoU 數值大于等于閥值T,則將此目標預測框的置信度數值置零。
3.1.6 重復步驟3.1.4 和3.1.5,直到集合H 中的目標預測框置信度全部置零,此時集合M中的數據即為最優預測框。
非極大值抑制算法IoU的計算如下:

非極大值抑制的置信度修正函數為:

本文目標人物識別場景為教室內,由于座位之間的距離比較近,相鄰的前后幾個座位容易出現目標人物的部分重疊。對于這種情況,R-FCN 網絡預測框也容易出現部分重疊現象,使用非極大值抑制算法容易將部分重疊的目標預測框置信度置零,從而導致真實存在的人物目標被漏檢。
針對教室內部分重疊人物目標識別時因非極大值抑制算法導致的預測框置信度修正過度問題,本文采用基于目標預測框與最優預測框IoU的自適應非極大值抑制算法,其置信度修正函數為:

式(7)中,IoU 為預測框交并比,hi為集合H 中的第i 個目標預測框,mi為第i 個最優預測框,T 為修正閥值,si為第i 個預測框的置信度。從式(7)中可以看出,自適應非極大值抑制算法與非自適應算法的主要區別是,對于IoU 數值大于等于閥值T的預測框,不直接進行置零修正,而是采用基于該預測框與最優框IoU 數值的自適應修正。修正后的預測框置信度數值減小但不為零,使得該預測框避免被剔除。自適應非極大值抑制算法在微軟COCO 公開數據集上的測試效果理想,而且自適應算法沒有增加新參數。
在R-FCN 網絡中,預測的候選框與真實框的IoU 超過所設置的閥值,則認定該候選框為正樣本。若IoU 低于預設的閥值,則該候選框為負樣本[11]。這些正負樣本都作為系統訓練的候選數據,而在檢測中往往負樣本的數量要比正樣本多很多。因此,經過訓練的網絡容易產生針對負樣本的錯誤判斷,即將負樣本錯誤的歸類為正。例如,RoI 中沒有目標人物,即全是背景,此時網絡很容易認定為背景;而當RoI 中有三分之一個目標人物時,標簽應該是負樣本,但網絡會容易將其認定為正樣本。這種具備較高loss 值的負樣本就是hard example(難例)[12],為了使得網絡分類更準確,通過針對這些難例進行網絡訓練可以增強網絡識別能力。本文采用在線難例學習來訓練網絡以減少高值樣本誤判。在線難例學習網絡結構如圖2 所示。

圖2 在線難例學習網絡結構
從圖2 可以看出,在線難例學習在原有RoI 網絡(a)的基礎上,增加RoI(b)網絡。RoI(a)網絡只負責計算損失并計算出loss值比較高的RoI 從而得到難例,傳播方向為前向傳播。因為這些難例對分類和回歸的識別結果影響較大,需要用隨機梯度下降方法對其進行訓練,以增強R-FCN 網絡對此類難例的計算能力。RoI(b)網絡具備前向和后向傳播,網絡(a)產生的難例做為網絡(b)的輸入,網絡(b)負責計算損失并傳遞梯度。
在線難例學習算法對大量高loos 值負樣本與正樣本不平衡問題的處理效果明顯,因為通過在線學習從而實現有針對性的樣本選擇,能找到對網絡影響較大的負樣本,特別是數據集數量比較大時,難例學習效果更加明顯。通過增加針對性在線學習訓練,有效提高了分類準確度。
R-FCN 網絡候選框生成時,其模式默認參數為base_size=16,scales=(8,16,32),ratio=(0.5,1,2),其基本尺寸為128,256,512,共計生成9 個anchor box。教室內的目標人物通常占圖像比例較小,默認anchor box的數值相對較大,預設anchor與被識人物的線性回歸不理想,網絡檢測效果較差。本文重新設定base_size=8,scales=(3,6,12),ratio=(0.5,0.7,1,1.5,2),使得候選框基本尺寸下降為24,48,96,同時增加ratio 維度,有效提高了教室內小目標人物的識別效果。
本次實驗采用Ubuntu 操作系統,基于Caffe 深度學習平臺搭建檢測網絡。基于學校教室內視頻監控圖像,建立實驗訓練數據集DL2021x和實驗測試數據集DL2021c。經過對R-FCN檢測網絡的訓練和測試,得到樣本的檢測效果如圖3 所示。

圖3 R-FCN 網絡檢測效果
為了衡量R-FCN 網絡的檢測效果,引入每秒浮點計算量Bflops 來反應整個網絡的運行速度,識別準確率AP 來反應識別效果?;赗-FCN 架構的網絡對教室內人物目標識別的結果見表1。

表1 R-FCN 網絡教室內人物識別結果
從表1 可以看出,針對教室內人物目標識別的特殊場景,在Bflops 小于80的情況下,經優化后的R-FCN 網絡在測試數據集DL2021c 下的單類別檢測準確率達到89.52%。
為了通過學校教室內的監控攝像來檢測教室內的人物目標,本文基于當前主流目標檢測架構R-FCN,采用自適應非極大值抑制算法提高網絡對部分重疊人物的檢出,通過在線難例學習對網絡進行訓練并優化anchor 參數以提高小目標人物的識別效果。在自制數據集下訓練和測試,優化后的R-FCN 網絡對教室內的人物目標識別準確率為89.52%。下一步將對教室內重疊特別嚴重的人物識別方法進行研究。