劉寅
(廣西電力職業(yè)技術(shù)學(xué)院,廣西 南寧 530007)
近年來(lái),攝像頭應(yīng)用的場(chǎng)景越來(lái)越多,基于深度學(xué)習(xí)技術(shù),通過(guò)識(shí)別圖像中的目標(biāo)以實(shí)現(xiàn)特定功能應(yīng)用的場(chǎng)景已不少見(jiàn)[1]。而基于學(xué)校教室內(nèi)監(jiān)控視頻圖像,運(yùn)用深度學(xué)習(xí)技術(shù)對(duì)人物目標(biāo)識(shí)別的應(yīng)用場(chǎng)景尚不普遍。通過(guò)教室內(nèi)圖像的人物識(shí)別,進(jìn)一步結(jié)合數(shù)據(jù)統(tǒng)計(jì)得到教室內(nèi)人數(shù),可為教育管理和資源調(diào)配提供數(shù)據(jù)參考。目前,基于深度學(xué)習(xí)技術(shù)進(jìn)行目標(biāo)檢測(cè)的方法主要有基于直接回歸的One-stage 和基于候選框和分類的Two-stage 兩類[2]。One-stage 即直接回歸的方法,不使用RPN 網(wǎng)絡(luò),被識(shí)別目標(biāo)的類別和坐標(biāo)通過(guò)主網(wǎng)絡(luò)直接給出。SSD、FSSD架構(gòu)[3]和常用的YOLO 系列網(wǎng)絡(luò)[4]都屬One-stage。而Two-stage方法是先算出目標(biāo)的候選框,再用卷積神經(jīng)網(wǎng)絡(luò)確定樣本的類別。Two-stage的訓(xùn)練過(guò)程也分成兩步,首先訓(xùn)練RPN 網(wǎng)絡(luò)[5],再訓(xùn)練目標(biāo)檢測(cè)網(wǎng)絡(luò)。Fast R-CNN、Faster R-CNN、R-FCN 架構(gòu)[6]都屬于Two-stage 方法?;谥苯踊貧w的識(shí)別方法識(shí)別速度快,精度略低,而基于候選框和分類的方法識(shí)別精度高,識(shí)別速度相對(duì)較慢。在上述兩類目標(biāo)檢測(cè)方法中,R-FCN 架構(gòu)能夠在具備較高檢測(cè)準(zhǔn)確度的情況下,同時(shí)具備較快的檢測(cè)速度[7]。因此,本文基于R-FCN 目標(biāo)識(shí)別架構(gòu),結(jié)合教室內(nèi)人物目標(biāo)場(chǎng)景的特點(diǎn),實(shí)現(xiàn)教室內(nèi)的人物識(shí)別。
R-FCN 目標(biāo)檢測(cè)架構(gòu)是代季峰在2016 年對(duì)Faster R-CNN架構(gòu)進(jìn)行改進(jìn)而提出的[8]。R-FCN 目標(biāo)檢測(cè)網(wǎng)絡(luò)架構(gòu)如圖1 所示。從圖1 可以看出,R-FCN 網(wǎng)絡(luò)架構(gòu)主要可以分為4 個(gè)子網(wǎng)絡(luò),即卷積神經(jīng)網(wǎng)絡(luò)ResNet、區(qū)域候選網(wǎng)絡(luò)RPN、分類網(wǎng)絡(luò)和回歸網(wǎng)絡(luò)。被識(shí)別的圖像首先輸入ResNet-101 殘差網(wǎng)絡(luò)進(jìn)行特征提取,這個(gè)ResNet 包括了conv1-conv5 五個(gè)卷積網(wǎng)絡(luò)。網(wǎng)絡(luò)conv4的特征輸出給到RPN 網(wǎng)絡(luò),通過(guò)RPN 網(wǎng)絡(luò)提出候選RoIs。網(wǎng)絡(luò)conv5的特征輸出經(jīng)過(guò)卷積降維再輸入分類網(wǎng)絡(luò)和回歸網(wǎng)絡(luò)。分類和回歸網(wǎng)絡(luò)分別生成多維位置敏感得分映射,再結(jié)合RPN 網(wǎng)絡(luò)的候選RoIs 進(jìn)行池化以確定目標(biāo)的類別和位置。目標(biāo)識(shí)別的效果常用目標(biāo)預(yù)測(cè)區(qū)域與真實(shí)目標(biāo)區(qū)域的誤差來(lái)判定。代價(jià)函數(shù)與目標(biāo)識(shí)別誤差直接相關(guān),通過(guò)隨機(jī)梯度下降等方法優(yōu)化神經(jīng)網(wǎng)絡(luò)參數(shù)可以達(dá)到最小化代價(jià)函數(shù)的目的。R-FCN 目標(biāo)檢測(cè)架構(gòu)的代價(jià)函數(shù)由分類誤差和回歸誤差組成[9],公式如下:
圖1 R-FCN 網(wǎng)絡(luò)架構(gòu)
式(1)中,Lcls是分類誤差,Lreg是回歸誤差,λ 是平衡系數(shù),t是預(yù)測(cè)的目標(biāo)位置,t*是實(shí)際目標(biāo)的位置。分類誤差Lcls采用交叉熵誤差來(lái)計(jì)算,即:
而回歸誤差Lreg采用L1平滑函數(shù)計(jì)算,即:
因教室內(nèi)的監(jiān)控?cái)z像頭通常安裝在教室前后的高處,攝像頭距離教室內(nèi)座位相對(duì)較遠(yuǎn),其取得的圖像中人物與其他場(chǎng)景人物識(shí)別相比更容易出現(xiàn)小目標(biāo)和目標(biāo)部分重疊的情況。直接應(yīng)用R-FCN 架構(gòu)進(jìn)行人物識(shí)別,其對(duì)小目標(biāo)人物和部分重疊人物的檢測(cè)效果并不理想,因此,本文針對(duì)教室內(nèi)人物識(shí)別場(chǎng)景對(duì)R-FCN 架構(gòu)進(jìn)行優(yōu)化。
R-FCN 網(wǎng)絡(luò)得到的對(duì)同一個(gè)人物目標(biāo)的預(yù)測(cè)框集合中包含大量的目標(biāo)預(yù)測(cè)框,需要在這些目標(biāo)預(yù)測(cè)框中挑選出最優(yōu)目標(biāo)預(yù)測(cè)框。R-FCN 網(wǎng)絡(luò)預(yù)測(cè)框最優(yōu)化選用的是非極大值抑制算法[10],其步驟為:
3.1.1 R-FCN 網(wǎng)絡(luò)計(jì)算出N 個(gè)目標(biāo)預(yù)測(cè)框。
3.1.2 建立預(yù)測(cè)數(shù)據(jù)集合H,將計(jì)算得到的N 個(gè)目標(biāo)預(yù)測(cè)框(h1~hN)初始化入集合H。
3.1.3 建立最優(yōu)數(shù)據(jù)集合M并初始化為空,用于存儲(chǔ)最優(yōu)目標(biāo)預(yù)測(cè)框。
3.1.4 計(jì)算集合H 中的所有目標(biāo)預(yù)測(cè)框的分類置信度si,挑選出分類置信度數(shù)值最高的目標(biāo)預(yù)測(cè)框mi并將其剪切到集合M。
3.1.5 對(duì)集合H 中的所有目標(biāo)預(yù)測(cè)框(hi)計(jì)算與mi的交并比(IoU),若IoU 數(shù)值大于等于閥值T,則將此目標(biāo)預(yù)測(cè)框的置信度數(shù)值置零。
3.1.6 重復(fù)步驟3.1.4 和3.1.5,直到集合H 中的目標(biāo)預(yù)測(cè)框置信度全部置零,此時(shí)集合M中的數(shù)據(jù)即為最優(yōu)預(yù)測(cè)框。
非極大值抑制算法IoU的計(jì)算如下:
非極大值抑制的置信度修正函數(shù)為:
本文目標(biāo)人物識(shí)別場(chǎng)景為教室內(nèi),由于座位之間的距離比較近,相鄰的前后幾個(gè)座位容易出現(xiàn)目標(biāo)人物的部分重疊。對(duì)于這種情況,R-FCN 網(wǎng)絡(luò)預(yù)測(cè)框也容易出現(xiàn)部分重疊現(xiàn)象,使用非極大值抑制算法容易將部分重疊的目標(biāo)預(yù)測(cè)框置信度置零,從而導(dǎo)致真實(shí)存在的人物目標(biāo)被漏檢。
針對(duì)教室內(nèi)部分重疊人物目標(biāo)識(shí)別時(shí)因非極大值抑制算法導(dǎo)致的預(yù)測(cè)框置信度修正過(guò)度問(wèn)題,本文采用基于目標(biāo)預(yù)測(cè)框與最優(yōu)預(yù)測(cè)框IoU的自適應(yīng)非極大值抑制算法,其置信度修正函數(shù)為:
式(7)中,IoU 為預(yù)測(cè)框交并比,hi為集合H 中的第i 個(gè)目標(biāo)預(yù)測(cè)框,mi為第i 個(gè)最優(yōu)預(yù)測(cè)框,T 為修正閥值,si為第i 個(gè)預(yù)測(cè)框的置信度。從式(7)中可以看出,自適應(yīng)非極大值抑制算法與非自適應(yīng)算法的主要區(qū)別是,對(duì)于IoU 數(shù)值大于等于閥值T的預(yù)測(cè)框,不直接進(jìn)行置零修正,而是采用基于該預(yù)測(cè)框與最優(yōu)框IoU 數(shù)值的自適應(yīng)修正。修正后的預(yù)測(cè)框置信度數(shù)值減小但不為零,使得該預(yù)測(cè)框避免被剔除。自適應(yīng)非極大值抑制算法在微軟COCO 公開(kāi)數(shù)據(jù)集上的測(cè)試效果理想,而且自適應(yīng)算法沒(méi)有增加新參數(shù)。
在R-FCN 網(wǎng)絡(luò)中,預(yù)測(cè)的候選框與真實(shí)框的IoU 超過(guò)所設(shè)置的閥值,則認(rèn)定該候選框?yàn)檎龢颖?。若IoU 低于預(yù)設(shè)的閥值,則該候選框?yàn)樨?fù)樣本[11]。這些正負(fù)樣本都作為系統(tǒng)訓(xùn)練的候選數(shù)據(jù),而在檢測(cè)中往往負(fù)樣本的數(shù)量要比正樣本多很多。因此,經(jīng)過(guò)訓(xùn)練的網(wǎng)絡(luò)容易產(chǎn)生針對(duì)負(fù)樣本的錯(cuò)誤判斷,即將負(fù)樣本錯(cuò)誤的歸類為正。例如,RoI 中沒(méi)有目標(biāo)人物,即全是背景,此時(shí)網(wǎng)絡(luò)很容易認(rèn)定為背景;而當(dāng)RoI 中有三分之一個(gè)目標(biāo)人物時(shí),標(biāo)簽應(yīng)該是負(fù)樣本,但網(wǎng)絡(luò)會(huì)容易將其認(rèn)定為正樣本。這種具備較高loss 值的負(fù)樣本就是hard example(難例)[12],為了使得網(wǎng)絡(luò)分類更準(zhǔn)確,通過(guò)針對(duì)這些難例進(jìn)行網(wǎng)絡(luò)訓(xùn)練可以增強(qiáng)網(wǎng)絡(luò)識(shí)別能力。本文采用在線難例學(xué)習(xí)來(lái)訓(xùn)練網(wǎng)絡(luò)以減少高值樣本誤判。在線難例學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示。
圖2 在線難例學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)
從圖2 可以看出,在線難例學(xué)習(xí)在原有RoI 網(wǎng)絡(luò)(a)的基礎(chǔ)上,增加RoI(b)網(wǎng)絡(luò)。RoI(a)網(wǎng)絡(luò)只負(fù)責(zé)計(jì)算損失并計(jì)算出loss值比較高的RoI 從而得到難例,傳播方向?yàn)榍跋騻鞑ァR驗(yàn)檫@些難例對(duì)分類和回歸的識(shí)別結(jié)果影響較大,需要用隨機(jī)梯度下降方法對(duì)其進(jìn)行訓(xùn)練,以增強(qiáng)R-FCN 網(wǎng)絡(luò)對(duì)此類難例的計(jì)算能力。RoI(b)網(wǎng)絡(luò)具備前向和后向傳播,網(wǎng)絡(luò)(a)產(chǎn)生的難例做為網(wǎng)絡(luò)(b)的輸入,網(wǎng)絡(luò)(b)負(fù)責(zé)計(jì)算損失并傳遞梯度。
在線難例學(xué)習(xí)算法對(duì)大量高loos 值負(fù)樣本與正樣本不平衡問(wèn)題的處理效果明顯,因?yàn)橥ㄟ^(guò)在線學(xué)習(xí)從而實(shí)現(xiàn)有針對(duì)性的樣本選擇,能找到對(duì)網(wǎng)絡(luò)影響較大的負(fù)樣本,特別是數(shù)據(jù)集數(shù)量比較大時(shí),難例學(xué)習(xí)效果更加明顯。通過(guò)增加針對(duì)性在線學(xué)習(xí)訓(xùn)練,有效提高了分類準(zhǔn)確度。
R-FCN 網(wǎng)絡(luò)候選框生成時(shí),其模式默認(rèn)參數(shù)為base_size=16,scales=(8,16,32),ratio=(0.5,1,2),其基本尺寸為128,256,512,共計(jì)生成9 個(gè)anchor box。教室內(nèi)的目標(biāo)人物通常占圖像比例較小,默認(rèn)anchor box的數(shù)值相對(duì)較大,預(yù)設(shè)anchor與被識(shí)人物的線性回歸不理想,網(wǎng)絡(luò)檢測(cè)效果較差。本文重新設(shè)定base_size=8,scales=(3,6,12),ratio=(0.5,0.7,1,1.5,2),使得候選框基本尺寸下降為24,48,96,同時(shí)增加ratio 維度,有效提高了教室內(nèi)小目標(biāo)人物的識(shí)別效果。
本次實(shí)驗(yàn)采用Ubuntu 操作系統(tǒng),基于Caffe 深度學(xué)習(xí)平臺(tái)搭建檢測(cè)網(wǎng)絡(luò)?;趯W(xué)校教室內(nèi)視頻監(jiān)控圖像,建立實(shí)驗(yàn)訓(xùn)練數(shù)據(jù)集DL2021x和實(shí)驗(yàn)測(cè)試數(shù)據(jù)集DL2021c。經(jīng)過(guò)對(duì)R-FCN檢測(cè)網(wǎng)絡(luò)的訓(xùn)練和測(cè)試,得到樣本的檢測(cè)效果如圖3 所示。
圖3 R-FCN 網(wǎng)絡(luò)檢測(cè)效果
為了衡量R-FCN 網(wǎng)絡(luò)的檢測(cè)效果,引入每秒浮點(diǎn)計(jì)算量Bflops 來(lái)反應(yīng)整個(gè)網(wǎng)絡(luò)的運(yùn)行速度,識(shí)別準(zhǔn)確率AP 來(lái)反應(yīng)識(shí)別效果?;赗-FCN 架構(gòu)的網(wǎng)絡(luò)對(duì)教室內(nèi)人物目標(biāo)識(shí)別的結(jié)果見(jiàn)表1。
表1 R-FCN 網(wǎng)絡(luò)教室內(nèi)人物識(shí)別結(jié)果
從表1 可以看出,針對(duì)教室內(nèi)人物目標(biāo)識(shí)別的特殊場(chǎng)景,在Bflops 小于80的情況下,經(jīng)優(yōu)化后的R-FCN 網(wǎng)絡(luò)在測(cè)試數(shù)據(jù)集DL2021c 下的單類別檢測(cè)準(zhǔn)確率達(dá)到89.52%。
為了通過(guò)學(xué)校教室內(nèi)的監(jiān)控?cái)z像來(lái)檢測(cè)教室內(nèi)的人物目標(biāo),本文基于當(dāng)前主流目標(biāo)檢測(cè)架構(gòu)R-FCN,采用自適應(yīng)非極大值抑制算法提高網(wǎng)絡(luò)對(duì)部分重疊人物的檢出,通過(guò)在線難例學(xué)習(xí)對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練并優(yōu)化anchor 參數(shù)以提高小目標(biāo)人物的識(shí)別效果。在自制數(shù)據(jù)集下訓(xùn)練和測(cè)試,優(yōu)化后的R-FCN 網(wǎng)絡(luò)對(duì)教室內(nèi)的人物目標(biāo)識(shí)別準(zhǔn)確率為89.52%。下一步將對(duì)教室內(nèi)重疊特別嚴(yán)重的人物識(shí)別方法進(jìn)行研究。