成玉榮 胡海洋
摘? ?要:卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)成為了計算機(jī)視覺處理最為廣泛的技術(shù)方法,基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測技術(shù)也是一個熱門的研究話題。本文通過引入通道注意力機(jī)制,對目標(biāo)檢測算法Tiny-YOLOv3進(jìn)行改進(jìn),訓(xùn)練人體頭部的目標(biāo)檢測模型,從而統(tǒng)計當(dāng)前監(jiān)控環(huán)境下的人數(shù)。實驗結(jié)果表明該方法能取得較好的頭部檢測效果,人數(shù)統(tǒng)計準(zhǔn)確率高。
關(guān)鍵詞:卷積神經(jīng)網(wǎng)絡(luò)? Tiny-YOLOv3? 頭部檢測? 人數(shù)統(tǒng)計
Abstract: Convolutional neural networks have become the most widespread technical method for computer vision processing. Object detection technology based on convolutional neural networks is also a hot research topic. This paper introduces the channel attention mechanism to improve the object detection algorithm Tiny-YOLOv3, and trains head detection model to count the number of people in the current monitoring environment. The experimental results show that this method can achieve a good head detection effect, and the people counting accuracy is high.
Key Words: Convolutional neural networks; Tiny-YOLOv3; Head detection; People counting
人數(shù)統(tǒng)計問題是近年來計算機(jī)視覺領(lǐng)域研究熱點(diǎn)之一,在現(xiàn)實生活中具有廣泛應(yīng)用。如政府管理部門根據(jù)旅客流量對交通資源進(jìn)行合理分配;醫(yī)院門診流量有助于總結(jié)病人就診規(guī)律,合理分配醫(yī)護(hù)資源;對人數(shù)密集情況進(jìn)行預(yù)警,能夠有效減少踩踏等公共安全事故的發(fā)生。公共場所的人數(shù)統(tǒng)計分析對于公共資源分配以及商業(yè)決策具有重要的參考價值。在人數(shù)統(tǒng)計的眾多方法中,計算機(jī)視覺處理方案在已有監(jiān)控系統(tǒng)資源實現(xiàn)再挖掘利用,不需要安裝專門檢測設(shè)備, 具有成本低、實時性高等優(yōu)勢。本文基于深度卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建的具有通道注意力機(jī)制的Tiny-YOLOv3目標(biāo)檢測算法,在SCUT-HEAD公開數(shù)據(jù)集上訓(xùn)練人體頭部檢測模型,實現(xiàn)公共場合的人數(shù)統(tǒng)計。
1? 卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)是受生物學(xué)上感受野的機(jī)制而提出的,感受野主要是指視覺、聽覺等神經(jīng)系統(tǒng)中一些神經(jīng)元的特性,即神經(jīng)元只接受其支配的刺激區(qū)域內(nèi)的信號。卷積神經(jīng)網(wǎng)絡(luò)一般包括輸入層、卷積層、激活層、池化層,其中卷積層是卷積神經(jīng)網(wǎng)絡(luò)的核心組件,它的作用是對輸入數(shù)據(jù)進(jìn)行特征提取,利用卷積核矩陣對原始數(shù)據(jù)中的隱含關(guān)聯(lián)性進(jìn)行抽象。激活層負(fù)責(zé)對卷積層抽取的特征進(jìn)行激活,由于卷積操作是把輸入圖像和卷積核進(jìn)行相應(yīng)的線性變換,需要引入非線性函數(shù)對其進(jìn)行非線性映射。池化層就是對特征圖進(jìn)行子采樣,負(fù)責(zé)對感受域內(nèi)的特征進(jìn)行篩選,提取區(qū)域內(nèi)最具代表性的特征,能夠有效地降低輸出特征的尺度,進(jìn)而減少模型所需要的參數(shù)量。卷積神經(jīng)網(wǎng)絡(luò)具有三個特性:局部連接、權(quán)重共享以及子采樣,這些特性使得卷積神經(jīng)網(wǎng)絡(luò)具有一定程度上的平移、縮放和旋轉(zhuǎn)不變性,符合人的視覺特點(diǎn),和一般的前饋神經(jīng)網(wǎng)絡(luò)相比,卷積神經(jīng)網(wǎng)絡(luò)的稀疏連接及權(quán)值共享模式,具有更少的參數(shù)量,能夠有效提高訓(xùn)練速度。
2? 目標(biāo)檢測算法
2.1 YOLO模型
YOLO系列算法是單階段目標(biāo)檢測算法的主要代表算法之一,經(jīng)歷了三個版本的變更,YOLOv1提出通過網(wǎng)格劃分做檢測,目標(biāo)中心點(diǎn)在哪個網(wǎng)格,該網(wǎng)格就負(fù)責(zé)檢測這個目標(biāo),顯著提升了檢測速度。YOLOv2在網(wǎng)格約束的基礎(chǔ)上應(yīng)用了anchor機(jī)制,通過預(yù)設(shè)不同尺度的先驗框使目標(biāo)檢測器專注于檢測與先驗框形狀相近的物體,同時采用了批標(biāo)準(zhǔn)化作為正則化、加速收斂和避免過擬合的方法。YOLOv3采用了深層卷積神經(jīng)網(wǎng)絡(luò)作為特征提取的主干網(wǎng)絡(luò),在YOLOv2的基礎(chǔ)上,借鑒特征金字塔網(wǎng)絡(luò)的多尺度思想,設(shè)計了三個不同尺度的檢測層,并為每個檢測層分配3個先驗框,YOLOv3通過邊框回歸預(yù)測的方式預(yù)測物體位置,解決了先驗框機(jī)制線性回歸不穩(wěn)定的問題。
2.2 Tiny-YOLOv3模型
Tiny-YOLOv3是輕量化的YOLOv3,Tiny-YOLOv3主要是由卷積層和池化層拼接而成,其模型結(jié)構(gòu)如圖1所示。模型輸入圖像分辨率為416×416×3,經(jīng)過一系列的卷積與池化操作對圖像進(jìn)行特征提取,圖中長方體為提取到的特征圖,下方數(shù)字為當(dāng)前特征圖的寬高與通道數(shù),它同樣融合了特征金字塔網(wǎng)絡(luò)的多尺度思想,在26×26、13×13兩個尺度的特征圖上進(jìn)行預(yù)測,通過對兩個檢測層上所有的預(yù)測框進(jìn)行非極大值抑制去除冗余框,獲取最終有效的預(yù)測框。Tiny-YOLOv3模型結(jié)構(gòu)簡單,檢測精度高,速度快。
2.3 對 Tiny-YOLOv3改進(jìn)
因特征圖不同通道信息對檢測結(jié)果貢獻(xiàn)度不同,本文引入通道注意力模塊對特征圖各個通道間的依賴性進(jìn)行建模,其結(jié)構(gòu)如圖2所示,首先對卷積得到的特征圖進(jìn)行全局池化得到一個與通道數(shù)一致的一維向量,接著通過全連接層與激活層實現(xiàn)維度的變換與數(shù)值的非線性變換,再利用一個全連接層使其維度恢復(fù),這個過程相當(dāng)于一次編解碼操作,最后利用sigmoid函數(shù)激活使其范圍在0-1之間,該一維向量作為每個通道的評價分?jǐn)?shù),用來衡量每個通道的重要性,將該分?jǐn)?shù)分別施加到輸入特征圖的各個通道上,得到具有通道注意力的特征圖。在Tiny-YOLOv3所有的卷積層后,添加通道注意力模塊,使其關(guān)注重要特征并抑制不必要的特征,從而提高目標(biāo)檢測的準(zhǔn)確率。
3? 實驗
3.1 數(shù)據(jù)準(zhǔn)備
訓(xùn)練數(shù)據(jù)采用的是SCUT-HEAD公開數(shù)據(jù)集,共計4340張圖片,為了提高訓(xùn)練模型的魯棒性,對數(shù)據(jù)集進(jìn)行了如下的數(shù)據(jù)增廣:(1)旋轉(zhuǎn)角度;(2)隨機(jī)裁剪;(3)曝光度調(diào)整;(4)飽和度調(diào)整。采用以上四種方式豐富數(shù)據(jù)集,生成更多的訓(xùn)練樣本,從而使網(wǎng)絡(luò)學(xué)習(xí)到更多的信息。
3.2 K-means聚類
在訓(xùn)練網(wǎng)絡(luò)時,需要預(yù)設(shè)先驗框的初始大小和個數(shù),使用接近真實框的先驗框,更容易加快網(wǎng)絡(luò)收斂的速度,提高頭部檢測的定位精度。K-means聚類算法采用歐氏距離來衡量兩點(diǎn)之間的距離,本文對數(shù)據(jù)集中目標(biāo)框?qū)捀呃肒-means算法進(jìn)行聚類,找到接近數(shù)據(jù)樣本的先驗框。
3.3 模型訓(xùn)練
實驗軟件環(huán)境:Python3.6.8;OpenCV3.4.1;Pytorch1.1。 硬件環(huán)境:CPU: Intel Xeon E5-2620 v3 @ 2.40 GHz六核;內(nèi)存: DDR4 64G;GPU: Nvidia GeForce GTX TITAN X。將增廣后的數(shù)據(jù)集以7:3隨機(jī)分為訓(xùn)練集與驗證集,利用添加了通道注意力機(jī)制的Tiny-YOlOv3進(jìn)行交叉驗證訓(xùn)練273個epoch,訓(xùn)練過程如圖3所示,損失最低在0.6左右,平均檢測精度高達(dá)80%,實際檢測效果如圖4所示,頭部檢測精準(zhǔn)人數(shù)統(tǒng)計準(zhǔn)確率高。
4? 結(jié)語
添加了通道注意力機(jī)制的Tiny-YOLOv3在人體頭部檢測上取得了較高的準(zhǔn)確率,對于公共場所進(jìn)行人數(shù)統(tǒng)計具有較高的應(yīng)用價值。在接下來的工作中將著重傾向于將注意力機(jī)制引入更多的目標(biāo)檢測算法,測試其在小目標(biāo)檢測方面的有效性。
參考文獻(xiàn)
[1] 周飛燕,金林鵬,董軍.卷積神經(jīng)網(wǎng)絡(luò)研究綜述[J].計算機(jī)學(xué)報,2017,40(6):1229-1251.
[2] Redmon J, Farhadi A. Yolov3: An incremental improvement[J]. arXiv preprint arXiv:1804.02767, 2018.
[3] Hu Jie,Shen Li,Albanie Samuel,Sun Gang, et al. Squeeze-and-Excitation Networks.[J]. IEEE transactions on pattern analysis and machine intelligence,2019.
[4] 王小鵬, 渠燕紅, 馬鵬等. 基于頭部圖像特征的人流計數(shù)方法[J]. 鐵道學(xué)報, 2019, 41(2):82-87.
[5] 鞠默然, 羅海波, 王仲博等. 改進(jìn)的YOLO V3算法及其在小目標(biāo)檢測中的應(yīng)用[J]. 光學(xué)學(xué)報, 2019, 39(7).