林峰,江荔
(福州職業(yè)技術(shù)學(xué)院,福州350108)
視頻監(jiān)控是現(xiàn)代安防技術(shù)的關(guān)鍵組成部分。視頻監(jiān)控系統(tǒng)歷經(jīng)模擬、數(shù)字視頻監(jiān)控,當(dāng)前已進(jìn)入智能視頻監(jiān)控時代。智能視頻監(jiān)控將傳統(tǒng)視頻監(jiān)控技術(shù)與人工智能技術(shù)進(jìn)行深度融合,通過構(gòu)建一系列的算法模型,使得安防監(jiān)控能夠更加智能化、自動化,減少了人工干預(yù),提高了監(jiān)控效率和準(zhǔn)確性。在智能視頻監(jiān)控系統(tǒng)中,人群密度檢測是一項(xiàng)核心任務(wù),特別是在景點(diǎn)、車站、商場等應(yīng)用場景重,通過攝像頭采集人群影像數(shù)據(jù),快速分析統(tǒng)計人數(shù),對過高人群密度進(jìn)行告警,提前進(jìn)行人流疏散,有助于避免出現(xiàn)過分擁擠甚至踩踏等安全事件[1-2]。
現(xiàn)有的人群密度檢測方法主要有對象檢測、回歸分析以及目標(biāo)檢測。這些方法已廣泛運(yùn)用在視頻監(jiān)控系統(tǒng)中,具有分析速度快、檢測精確度高等優(yōu)點(diǎn)。但是在人群密度分布不均、遮擋嚴(yán)重、目標(biāo)尺度變化大等場景中,傳統(tǒng)方法無法做出精確判斷,存在誤檢率高的缺點(diǎn)[3]。卷積神經(jīng)網(wǎng)絡(luò)是一類成熟的深度學(xué)習(xí)技術(shù),在自然語言處理、圖像識別、計算機(jī)視覺等領(lǐng)域有著廣泛的應(yīng)用。MS-CNN(Multi-Scale Convolutional Neural Network)網(wǎng)絡(luò)是卷積神經(jīng)網(wǎng)絡(luò)中的一種,通過在卷積層中加入多個分支結(jié)構(gòu),解決了傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)只適用于單一尺度目標(biāo)檢測的問題,提高了在復(fù)雜背景下多尺度目標(biāo)檢測的準(zhǔn)確率[4-7]。
本文通過對視頻圖像進(jìn)行高斯濾波預(yù)處理,構(gòu)建MS-CNN 多尺度卷積神經(jīng)網(wǎng)絡(luò)模型,使用國際基準(zhǔn)數(shù)據(jù)集Mall Dataset 進(jìn)行測試,驗(yàn)證了模型在遮擋嚴(yán)重、目標(biāo)尺度變化大等場景中仍具有較高的人群密度檢測準(zhǔn)確性。
攝像頭所采集的影像數(shù)據(jù),往往存在背景復(fù)雜、人群密度分布不均、人體部位互相遮擋等問題,對人流計數(shù)模型的準(zhǔn)確性產(chǎn)生了較大的影響。為了有效抑制噪聲,平滑圖像,減少像素與像素之間的相關(guān)性,本文采用了高斯濾波的方法,對監(jiān)控圖像進(jìn)行了必要的預(yù)處理。其具體操作是,利用二維高斯分布函數(shù),生成高斯模板,掃描監(jiān)控圖像中所有的像素點(diǎn),用模板(本文模板尺寸選用15×15)框選范圍內(nèi)像素點(diǎn)的加權(quán)平均值,作為新生成圖像的像素點(diǎn)的值[11]。其中二維高斯分布函數(shù)如公式(1)所示:
此外,為了進(jìn)一步減少干擾,在檢測模型構(gòu)建前,針對已標(biāo)注人像位置的圖像,經(jīng)過高斯濾波器模糊處理后,同時生成相應(yīng)人群密度圖,進(jìn)一步提高了模型訓(xùn)練速度和準(zhǔn)確性。圖像預(yù)處理效果如圖1 所示。
圖1 經(jīng)過高斯濾波處理后的密度圖
傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)通常由輸入層、卷積層、池化層、扁平層、全連接層、輸出層等網(wǎng)絡(luò)結(jié)構(gòu)組成,用于圖像特征的提取和結(jié)果的分類。對于單一尺度或尺度變化不大的圖像進(jìn)行目標(biāo)檢測,傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)模型具有較高的識別率。但是針對尺度變化較大的人像檢測,傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)模型誤判率較高,在人群密度計數(shù)等應(yīng)用上表現(xiàn)效果較差[8-10]。
圖2 傳統(tǒng)CNN結(jié)構(gòu)
MS-CNN 是對傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)的升級和改造,通過在傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上增加了若干MSB(Multi Scale Blob)層,可實(shí)現(xiàn)不同尺度的圖像特征的提取。本文中所使用的MSB 層由4 次卷積操作構(gòu)成,卷積核大小分別為9×9、7×7、5×5、3×3,負(fù)責(zé)對應(yīng)尺度范圍內(nèi)圖像特征的提取。MSB 層結(jié)構(gòu)示意圖如圖3所示。
圖3 MSB層結(jié)構(gòu)
針對安防監(jiān)控人群密度檢測問題領(lǐng)域,本文基于MS-CNN 網(wǎng)絡(luò)進(jìn)行了部分改進(jìn)和優(yōu)化,其完整網(wǎng)絡(luò)結(jié)構(gòu)如圖4 所示。通過若干次“卷積層-MSB 層-最大池化層”的組合,構(gòu)建多尺度目標(biāo)檢測器,解決了待檢測目標(biāo)與感受野大小不一致的問題,使得所構(gòu)建的神經(jīng)網(wǎng)絡(luò),能夠在淺層網(wǎng)絡(luò)檢測較小的目標(biāo),在深層網(wǎng)絡(luò)檢測較大的目標(biāo)。
圖4 改進(jìn)的MS-CNN網(wǎng)絡(luò)結(jié)構(gòu)
此外,在卷積層的構(gòu)建中,使用的激活函數(shù)為Re-LU 函數(shù),優(yōu)化器選擇隨機(jī)梯度下降算法,損失函數(shù)采用MSE 函數(shù)。其中ReLU 函數(shù)如公式(2)所示:
本次方法涉及的完整算法流程如下所示:
Step1 將訓(xùn)練樣本按公式(1)進(jìn)行高斯濾波預(yù)處理,并根據(jù)人像所在像素位置,生成密度圖;
Step2 按圖4 結(jié)構(gòu),構(gòu)建經(jīng)過優(yōu)化的MS-CNN 網(wǎng)絡(luò),其中卷積層激活函數(shù)使用ReLU 函數(shù),MSB 層中涉及的四個卷積操作對應(yīng)的卷積核大小分別為9×9、7×7、5×5、3×3;
Step3 將訓(xùn)練樣本逐個輸入Step2 中構(gòu)建的神經(jīng)網(wǎng)絡(luò),進(jìn)行模型參數(shù)的訓(xùn)練,其中模型優(yōu)化器選擇隨機(jī)梯度下降算法(SGD),損失函數(shù)使用均方誤差(MSE);
Step4 重復(fù)步驟Step3,直到損失函數(shù)逐漸收斂,且不再發(fā)生變化,將結(jié)果模型進(jìn)行保存;
Step5 使用模型對待預(yù)測圖像進(jìn)行人群密度統(tǒng)計。
本次實(shí)驗(yàn)所用數(shù)據(jù)集為國際標(biāo)準(zhǔn)數(shù)據(jù)集Mall Dataset[12]。該數(shù)據(jù)使用了某大型購物商場監(jiān)控數(shù)據(jù),涉及超過60,000 個不同的行人,共有2000 幀,每幀均為JPEG 格式,圖像大小統(tǒng)一為640×480 像素,視頻圖像具有人群分布不均、部分遮擋及尺度變化較大等特點(diǎn),其完整分布圖如圖5 所示。每張圖像的人數(shù)及人像位置均作了標(biāo)記,并保存為MAT 格式。
圖5 人數(shù)分布圖
本次實(shí)驗(yàn)基于當(dāng)前流行的Python 語言,深度學(xué)習(xí)框架前端采用Keras(版本號:2.2.2),后端采用Tensor-Flow(版本號:1.11.0),圖像預(yù)處理選擇OpenCV 代碼庫(版本號:4.0.0)。模型訓(xùn)練所用設(shè)備計算性能:CPU 型號為Intel 酷睿i5-3427U(核心數(shù):4,主頻:1.8GHz)、內(nèi)存10GB。經(jīng)過10 輪的迭代訓(xùn)練,模型逐漸收斂,共耗時約7 天,訓(xùn)練參數(shù)個數(shù)總計57,892,305。模型訓(xùn)練過程中損失函數(shù)的收斂情況如圖6 所示。
圖6 損失函數(shù)收斂情況
人群密度計數(shù)所使用的評估指標(biāo)為MSE(Mean Square Error,均方誤差),其指標(biāo)計算公式如下所示:
式中,N 為圖像個數(shù),zi為第i 張圖像真實(shí)人數(shù)為第i 張圖像通過模型預(yù)測的人數(shù)。
對上述訓(xùn)練后的模型進(jìn)行評估,其MSE 值為3.2,較傳統(tǒng)方法(MSE 值:3.4)[12]有所提高。隨機(jī)20 幀監(jiān)控的實(shí)際與估計人數(shù)比對情況如圖7 所示。
圖7 實(shí)際人數(shù)與模型估計人數(shù)比對
為了提升人群密度檢測準(zhǔn)確性,本文通過對視頻圖像進(jìn)行高斯濾波預(yù)處理,有效抑制了噪聲,減少了像素干擾,同時設(shè)計并構(gòu)建了MS-CNN 深度卷積神經(jīng)網(wǎng)絡(luò),經(jīng)過訓(xùn)練的模型,提高了在復(fù)雜背景下多尺度目標(biāo)檢測的準(zhǔn)確率,經(jīng)在標(biāo)準(zhǔn)數(shù)據(jù)集Mall Dataset 上測試,其MSE 值達(dá)到3.2,較傳統(tǒng)方法有所提升,在安防監(jiān)控領(lǐng)域中具有較良好的應(yīng)用前景。但是在實(shí)驗(yàn)過程中,模型訓(xùn)練耗時過長(運(yùn)行約7 天),后續(xù)將研究如何通過搭建分布式系統(tǒng),加快神經(jīng)網(wǎng)絡(luò)參數(shù)的訓(xùn)練過程[13-15]。