雷 亮 李小兵 和圓圓 尹衍偉 龔 宇
(重慶科技學(xué)院 智能技術(shù)與工程學(xué)院, 重慶 400000)
人群計(jì)數(shù)是人群分析算法研究的重點(diǎn)內(nèi)容之一。在智慧校園管理中,可應(yīng)用人群計(jì)數(shù)算法實(shí)時(shí)獲取教室中的人數(shù)及人群流動(dòng)狀態(tài),從而實(shí)現(xiàn)動(dòng)態(tài)分析及優(yōu)化管理[1]。
在人群計(jì)數(shù)問(wèn)題上,曾出現(xiàn)過(guò)很多算法。2008年,盧湖川等人曾提出利用幀間差直方圖檢測(cè)人體的方法及稀疏人群計(jì)數(shù)算法[2]。2012年,針對(duì)高密度人群計(jì)數(shù)問(wèn)題,梁榮華等人提出了基于SURF(speeded up robust features)的計(jì)數(shù)方法,檢測(cè)運(yùn)動(dòng)人群的SURF,將其作為主要維度構(gòu)建人群特征向量,學(xué)習(xí)人群特征向量以獲得人群評(píng)價(jià)函數(shù),最后通過(guò)評(píng)價(jià)函數(shù)實(shí)現(xiàn)人群計(jì)數(shù)[3]。2013,覃勛輝等人提出一種基于支持向量回歸機(jī)的人群計(jì)數(shù)算法,以圖像中人的高度為基準(zhǔn)將圖像分成多個(gè)圖像塊,向SVR模型輸入圖像特征以估算圖像塊中的人數(shù)[4]。2016年,周成博等人提出結(jié)合像素特征和紋理特征的人群計(jì)數(shù)方法,獲取像素特征后對(duì)傳統(tǒng)的灰度并發(fā)矩陣進(jìn)行改進(jìn),最后通過(guò)回歸模型估計(jì)人數(shù)[5]。2017年,袁燁等人針對(duì)人群計(jì)數(shù)和密度檢測(cè)問(wèn)題提出了一種分塊多列卷積神經(jīng)網(wǎng)絡(luò)構(gòu)架[6]。他們將待檢測(cè)的圖像分為3部分進(jìn)行訓(xùn)練,在獲取了3個(gè)模型之后分別進(jìn)行預(yù)測(cè),由預(yù)測(cè)結(jié)果之和得到人數(shù)預(yù)測(cè)結(jié)果。然而,這些算法并不能完全有效地解決教室場(chǎng)景內(nèi)的人群計(jì)數(shù)問(wèn)題,應(yīng)用場(chǎng)景單一、檢測(cè)精度低,且面對(duì)高密度人群檢測(cè)時(shí)誤檢率較高。
針對(duì)教室場(chǎng)景的人群計(jì)數(shù)問(wèn)題,我們避開(kāi)傳統(tǒng)算法對(duì)人臉先驗(yàn)知識(shí)過(guò)度依賴(lài)的局限性,研究基于Anchor的上下文輔助[8]人臉檢測(cè)算法的應(yīng)用。
PyramidBox是基于SSD[9]的One-Stage檢測(cè)器,它從Wider Face驗(yàn)證集和測(cè)試集的困難子集中分別獲得了高達(dá)88.9%和88.7%的mAP(平均精確度)。PyramidBox模型中,是基于Anchor的上下文輔助方法來(lái)監(jiān)督學(xué)習(xí)小的、模糊的、部分隱藏的人臉特征信息[8]。對(duì)于常用人臉檢測(cè)基準(zhǔn) —— FDDB[10]和Wider Face[11],Pyramidbox模型的表現(xiàn)優(yōu)異,能夠可靠地檢測(cè)出不受約束的面部信息。將基于Anchor的上下文輔助檢測(cè)算法應(yīng)用于教室場(chǎng)景人群計(jì)數(shù)問(wèn)題中,能夠解決教室場(chǎng)景下學(xué)生人數(shù)眾多、行為不受控制、場(chǎng)景受限等情況下的人臉檢測(cè)問(wèn)題,特別是小尺寸和相互遮擋的人臉檢測(cè)問(wèn)題。
PyramidBox以基于VGG-16[12]的S3FD[13]模型為基礎(chǔ)網(wǎng)絡(luò),基于Anchor的環(huán)境信息支持方法“Pyramid Anchor”,以引入監(jiān)督的信息來(lái)學(xué)習(xí)小尺寸、模糊、部分隱藏的面部環(huán)境特征。其人群統(tǒng)計(jì)檢測(cè)的實(shí)現(xiàn)原理如圖1所示。
圖1 PyramidBox人群統(tǒng)計(jì)檢測(cè)實(shí)現(xiàn)原理
利用Netron模型結(jié)構(gòu)可視化工具,使實(shí)驗(yàn)中模型的搭建過(guò)程可視化。首先,搭建尺度合理的Scale-Equitable 主干網(wǎng)絡(luò)層,以基礎(chǔ)卷積層和額外卷積層作為主干層。其次,基礎(chǔ)卷積層將VGG16主干特征提取層保留下來(lái),額外卷積層轉(zhuǎn)換了VGG16的全連接層,最后添加卷積層加深網(wǎng)絡(luò)。主干網(wǎng)絡(luò)搭建可視化結(jié)果如圖2所示。
圖2 主干網(wǎng)絡(luò)搭建可視化結(jié)果
低層特征金字塔層從中間層做自上而下融合,并且感受野達(dá)到輸入大小的一半。此外,每個(gè)LFPN模塊的結(jié)構(gòu)與FPN[14]相同。金字塔檢測(cè)層,選擇LFPN中的子層和卷積層作為檢測(cè)層。其中,子LFPN層分別是基于卷積層的 LFPN輸出層。此外,與其他 SSD 類(lèi)型一樣,L2正則化也用于重新調(diào)整LFPN 層。
對(duì)于預(yù)測(cè)層,其每個(gè)檢測(cè)層后均有一個(gè)上下文敏感預(yù)測(cè)模塊,用來(lái)輸出及監(jiān)督PyramidAnchors。實(shí)驗(yàn)中,人群的面部、頭部、身體部位被粗略覆蓋。多通道輸出功能用于面部、頭部和身體的分類(lèi)和回歸。其中,面部的分類(lèi)需要4個(gè)通道,作為前景和背景的max-in-out輸出。另外,頭和身體的分類(lèi)需要2個(gè)通道,臉、頭和身體分別排列在4個(gè)通道中,用式(1)表示。
(1)
式中:cl為通道數(shù);l為所在特征層數(shù)。
損失層為每個(gè)人臉檢測(cè)目標(biāo)提供了一系列的 Pyramid Anchors,可同時(shí)監(jiān)督分類(lèi)和回歸任務(wù)。所設(shè)計(jì)的PyramidBox Loss通過(guò)SoftMax損失進(jìn)行分類(lèi),通過(guò)平滑損失函數(shù)進(jìn)行回歸[8]。
通過(guò)對(duì)PyramidBox人臉檢測(cè)算法的復(fù)現(xiàn),加載vgg16_reducedfc預(yù)訓(xùn)練權(quán)重,并采用Pytorch在Wider Face數(shù)據(jù)集中訓(xùn)練PyramidBox模型。其主要超參數(shù)設(shè)置如表1所示,實(shí)驗(yàn)所得Wider Face中的mAP參數(shù)如表2所示。
表1 主要超參數(shù)設(shè)置
表2 文獻(xiàn)[8]與算法復(fù)現(xiàn)的mAP參數(shù)對(duì)比
通過(guò)實(shí)驗(yàn)算法復(fù)現(xiàn)得到的PyramidBox算法結(jié)果與原論文的算法結(jié)果相近。因此,復(fù)現(xiàn)的PyramidBox網(wǎng)絡(luò)模型可用于驗(yàn)證教室場(chǎng)景人群計(jì)數(shù)的可行性??紤]到Wider Face 數(shù)據(jù)集中并沒(méi)有國(guó)內(nèi)高校教室場(chǎng)景的樣本,所以為了提高實(shí)驗(yàn)效果,對(duì)其作了一些改進(jìn)[15]。
作為人臉目標(biāo)檢測(cè)的基準(zhǔn)數(shù)據(jù)集,Wider Face數(shù)據(jù)集包含了32 203幅圖像、393 703張人臉的信息樣本,這些樣本在很大范圍內(nèi)涵蓋了人臉的各種變化。選擇了公開(kāi)數(shù)據(jù)集Wider中的61類(lèi)樣本,隨機(jī)選擇每個(gè)類(lèi)別的40%、10%、50%分別作為訓(xùn)練集、驗(yàn)證集和測(cè)試集。增加教室場(chǎng)景類(lèi)別的樣本,使檢測(cè)算法特征提取層對(duì)該場(chǎng)景更加敏感,從而得到更為精準(zhǔn)的檢測(cè)模型。
為了提高教室場(chǎng)景人臉檢測(cè)的準(zhǔn)確度,對(duì)Wider Face數(shù)據(jù)集進(jìn)行擴(kuò)充,選取了某高校教室視頻監(jiān)控圖像及互聯(lián)網(wǎng)上符合條件的圖像。為了提高檢測(cè)器在不同環(huán)境、不同人數(shù)條件下的檢測(cè)能力,選用了多張不同時(shí)間、不同光照和不同人數(shù)的監(jiān)控視頻截圖及圖像(見(jiàn)圖3)。通過(guò)對(duì)權(quán)威數(shù)據(jù)集Wider Face的擴(kuò)充,使實(shí)驗(yàn)訓(xùn)練的模型更具有針對(duì)性,教室場(chǎng)景中人群數(shù)量的檢則結(jié)果更加準(zhǔn)確。
圖3 不同的教室場(chǎng)景樣本
采用軟件LabelImg對(duì)收集到的圖片進(jìn)行標(biāo)注,產(chǎn)生xml 文件,其中包含目標(biāo)分類(lèi)名稱(chēng)及目標(biāo)所在位置的坐標(biāo)信息,最后將圖像和xml文件中的圖像標(biāo)注信息添加到Wider Face數(shù)據(jù)集文件中。采用多種方法增強(qiáng)數(shù)據(jù)的魯棒性,設(shè)置隨機(jī)參數(shù)調(diào)整原始圖像的亮度、對(duì)比度和飽和度,以應(yīng)對(duì)光照及其他不友好因素帶來(lái)的影響。訓(xùn)練樣本及標(biāo)注后的訓(xùn)練樣本如圖4所示。最終得到擴(kuò)充后的實(shí)驗(yàn)數(shù)據(jù)集,其中包含9 226個(gè)訓(xùn)練樣本、3 954個(gè)測(cè)試樣本和3 400幅驗(yàn)證圖片。各數(shù)據(jù)集中的數(shù)據(jù)均不重復(fù)。
圖4 訓(xùn)練樣本的標(biāo)注
采用基于Pytorch深度學(xué)習(xí)框架的PyramidBox模型進(jìn)行訓(xùn)練和測(cè)試。Anchor參數(shù)值設(shè)置為16、32、64、128、256、512,主要超參數(shù)設(shè)置同復(fù)現(xiàn)PyramidBox算法相同。采用vgg16_reducedfc預(yù)訓(xùn)練權(quán)重,并通過(guò)數(shù)據(jù)增強(qiáng)擴(kuò)充后得到含9 226幅圖像的訓(xùn)練集,然后進(jìn)行模型訓(xùn)練。訓(xùn)練步驟如下:
(1) 根據(jù)損失函數(shù)計(jì)算預(yù)測(cè)框的誤差。模型如下:
(2)
(3)
式中:L—— 損失函數(shù);
Lk,cls—— 2個(gè)類(lèi)別的對(duì)數(shù)損失函數(shù);
Lk,reg—— 平滑L1損失函數(shù);
Nk,cls、Nk,reg—— 歸一化Lk,cls和Lk,reg,通過(guò)λ和λk進(jìn)行平衡;
k—— 目標(biāo)人體的部位,可取0、1、2;
Pk,i—— 第i個(gè)Anchor第k個(gè)目標(biāo)的概率;
(4)
(5)
式中:δx,k、δy,k—— 基于二分類(lèi)的對(duì)數(shù)損失,下標(biāo)x表示輸入樣本,y表示真實(shí)分類(lèi);sw,k—— 寬度的縮放因子;sh,k—— 高度的縮放因子。
當(dāng)k<2時(shí),δx,k=δy,k=0,sw,k=sh,k=1;
(2) 根據(jù)預(yù)測(cè)值與真實(shí)值的誤差,計(jì)算網(wǎng)絡(luò)模型中每個(gè)參數(shù)的梯度。
(3) 通過(guò)基于梯度和動(dòng)量的隨機(jī)梯度下降法(SGD)更新權(quán)重。
在訓(xùn)練過(guò)程中保存模型,訓(xùn)練結(jié)束后選出最優(yōu)的教室場(chǎng)景人臉檢測(cè)器。
為了獲得可以反映整體性能的各項(xiàng)指標(biāo),實(shí)驗(yàn)中以mAP參數(shù)作為模型的評(píng)價(jià)標(biāo)準(zhǔn)。選擇mAP是因?yàn)榕c解決precision、recall、f-measure的單點(diǎn)值局限性有關(guān)。
(6)
式中:p—— 準(zhǔn)確率;r—— 召回率。
以FP表示負(fù)樣本,TP表示正樣本,GT表示正確標(biāo)注,確立以下關(guān)系式:
(7)
(8)
當(dāng)完成網(wǎng)絡(luò)模型訓(xùn)練后,得到教室人數(shù)檢測(cè)模型。將教室監(jiān)控的幀數(shù)據(jù)輸入模型中,即可完成對(duì)教室人數(shù)的檢測(cè),結(jié)果如圖5所示。針對(duì)PyramidBox擴(kuò)充后的數(shù)據(jù)集,將其中3個(gè)不同難度子數(shù)據(jù)集中的mAP參數(shù)與文獻(xiàn)[8]進(jìn)行對(duì)比(見(jiàn)表3)。
圖5 數(shù)據(jù)集改進(jìn)后檢測(cè)效果
表3 文獻(xiàn)[8]與本次實(shí)驗(yàn)檢驗(yàn)的mAP參數(shù)對(duì)比
可以看到,本次實(shí)驗(yàn)所得的mAP參數(shù)分別可達(dá)到0.912、0.890、0.800,與文獻(xiàn)[8]的結(jié)果接近。從圖5也可以看出,檢測(cè)模型對(duì)一些存在人臉過(guò)小、光照影響、遮擋問(wèn)題的目標(biāo)也能進(jìn)行有效檢測(cè)。在實(shí)際應(yīng)用中,本模型可以準(zhǔn)確檢測(cè)教室人群數(shù)量,滿(mǎn)足實(shí)驗(yàn)需求。
傳統(tǒng)的人群計(jì)數(shù)算法往往檢測(cè)精度低,不能夠有效處理一些不友好因素,使用場(chǎng)景單一。針對(duì)教室場(chǎng)景下的樣本檢測(cè)問(wèn)題,提出一種新的方法 —— 基于Anchor上下文輔助的人臉檢測(cè)方法。應(yīng)用此方法,可有效地檢測(cè)出復(fù)雜環(huán)境下的人臉,實(shí)現(xiàn)基于教室場(chǎng)景的實(shí)時(shí)檢測(cè)與人群計(jì)數(shù)功能。在實(shí)驗(yàn)中,通過(guò)改進(jìn)原始數(shù)據(jù)集,對(duì)檢測(cè)模型進(jìn)行再訓(xùn)練,最后得到適用于教室場(chǎng)景下的檢測(cè)模型。實(shí)驗(yàn)結(jié)果表明,本算法準(zhǔn)確、可靠,基本能夠滿(mǎn)足教室場(chǎng)景的人群計(jì)數(shù)精度需求。