成玉榮 胡海洋
摘? ?要:卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)成為了計(jì)算機(jī)視覺(jué)處理最為廣泛的技術(shù)方法,基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測(cè)技術(shù)也是一個(gè)熱門的研究話題。本文通過(guò)引入通道注意力機(jī)制,對(duì)目標(biāo)檢測(cè)算法Tiny-YOLOv3進(jìn)行改進(jìn),訓(xùn)練人體頭部的目標(biāo)檢測(cè)模型,從而統(tǒng)計(jì)當(dāng)前監(jiān)控環(huán)境下的人數(shù)。實(shí)驗(yàn)結(jié)果表明該方法能取得較好的頭部檢測(cè)效果,人數(shù)統(tǒng)計(jì)準(zhǔn)確率高。
關(guān)鍵詞:卷積神經(jīng)網(wǎng)絡(luò)? Tiny-YOLOv3? 頭部檢測(cè)? 人數(shù)統(tǒng)計(jì)
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ì)問(wèn)題是近年來(lái)計(jì)算機(jī)視覺(jué)領(lǐng)域研究熱點(diǎn)之一,在現(xiàn)實(shí)生活中具有廣泛應(yīng)用。如政府管理部門根據(jù)旅客流量對(duì)交通資源進(jìn)行合理分配;醫(yī)院門診流量有助于總結(jié)病人就診規(guī)律,合理分配醫(yī)護(hù)資源;對(duì)人數(shù)密集情況進(jìn)行預(yù)警,能夠有效減少踩踏等公共安全事故的發(fā)生。公共場(chǎng)所的人數(shù)統(tǒng)計(jì)分析對(duì)于公共資源分配以及商業(yè)決策具有重要的參考價(jià)值。在人數(shù)統(tǒng)計(jì)的眾多方法中,計(jì)算機(jī)視覺(jué)處理方案在已有監(jiān)控系統(tǒng)資源實(shí)現(xiàn)再挖掘利用,不需要安裝專門檢測(cè)設(shè)備, 具有成本低、實(shí)時(shí)性高等優(yōu)勢(shì)。本文基于深度卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建的具有通道注意力機(jī)制的Tiny-YOLOv3目標(biāo)檢測(cè)算法,在SCUT-HEAD公開(kāi)數(shù)據(jù)集上訓(xùn)練人體頭部檢測(cè)模型,實(shí)現(xiàn)公共場(chǎng)合的人數(shù)統(tǒng)計(jì)。
1? 卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)是受生物學(xué)上感受野的機(jī)制而提出的,感受野主要是指視覺(jué)、聽(tīng)覺(jué)等神經(jīng)系統(tǒng)中一些神經(jīng)元的特性,即神經(jīng)元只接受其支配的刺激區(qū)域內(nèi)的信號(hào)。卷積神經(jīng)網(wǎng)絡(luò)一般包括輸入層、卷積層、激活層、池化層,其中卷積層是卷積神經(jīng)網(wǎng)絡(luò)的核心組件,它的作用是對(duì)輸入數(shù)據(jù)進(jìn)行特征提取,利用卷積核矩陣對(duì)原始數(shù)據(jù)中的隱含關(guān)聯(lián)性進(jìn)行抽象。激活層負(fù)責(zé)對(duì)卷積層抽取的特征進(jìn)行激活,由于卷積操作是把輸入圖像和卷積核進(jìn)行相應(yīng)的線性變換,需要引入非線性函數(shù)對(duì)其進(jìn)行非線性映射。池化層就是對(duì)特征圖進(jìn)行子采樣,負(fù)責(zé)對(duì)感受域內(nèi)的特征進(jìn)行篩選,提取區(qū)域內(nèi)最具代表性的特征,能夠有效地降低輸出特征的尺度,進(jìn)而減少模型所需要的參數(shù)量。卷積神經(jīng)網(wǎng)絡(luò)具有三個(gè)特性:局部連接、權(quán)重共享以及子采樣,這些特性使得卷積神經(jīng)網(wǎng)絡(luò)具有一定程度上的平移、縮放和旋轉(zhuǎn)不變性,符合人的視覺(jué)特點(diǎn),和一般的前饋神經(jīng)網(wǎng)絡(luò)相比,卷積神經(jīng)網(wǎng)絡(luò)的稀疏連接及權(quán)值共享模式,具有更少的參數(shù)量,能夠有效提高訓(xùn)練速度。
2? 目標(biāo)檢測(cè)算法
2.1 YOLO模型
YOLO系列算法是單階段目標(biāo)檢測(cè)算法的主要代表算法之一,經(jīng)歷了三個(gè)版本的變更,YOLOv1提出通過(guò)網(wǎng)格劃分做檢測(cè),目標(biāo)中心點(diǎn)在哪個(gè)網(wǎng)格,該網(wǎng)格就負(fù)責(zé)檢測(cè)這個(gè)目標(biāo),顯著提升了檢測(cè)速度。YOLOv2在網(wǎng)格約束的基礎(chǔ)上應(yīng)用了anchor機(jī)制,通過(guò)預(yù)設(shè)不同尺度的先驗(yàn)框使目標(biāo)檢測(cè)器專注于檢測(cè)與先驗(yàn)框形狀相近的物體,同時(shí)采用了批標(biāo)準(zhǔn)化作為正則化、加速收斂和避免過(guò)擬合的方法。YOLOv3采用了深層卷積神經(jīng)網(wǎng)絡(luò)作為特征提取的主干網(wǎng)絡(luò),在YOLOv2的基礎(chǔ)上,借鑒特征金字塔網(wǎng)絡(luò)的多尺度思想,設(shè)計(jì)了三個(gè)不同尺度的檢測(cè)層,并為每個(gè)檢測(cè)層分配3個(gè)先驗(yàn)框,YOLOv3通過(guò)邊框回歸預(yù)測(cè)的方式預(yù)測(cè)物體位置,解決了先驗(yàn)框機(jī)制線性回歸不穩(wěn)定的問(wèn)題。
2.2 Tiny-YOLOv3模型
Tiny-YOLOv3是輕量化的YOLOv3,Tiny-YOLOv3主要是由卷積層和池化層拼接而成,其模型結(jié)構(gòu)如圖1所示。模型輸入圖像分辨率為416×416×3,經(jīng)過(guò)一系列的卷積與池化操作對(duì)圖像進(jìn)行特征提取,圖中長(zhǎng)方體為提取到的特征圖,下方數(shù)字為當(dāng)前特征圖的寬高與通道數(shù),它同樣融合了特征金字塔網(wǎng)絡(luò)的多尺度思想,在26×26、13×13兩個(gè)尺度的特征圖上進(jìn)行預(yù)測(cè),通過(guò)對(duì)兩個(gè)檢測(cè)層上所有的預(yù)測(cè)框進(jìn)行非極大值抑制去除冗余框,獲取最終有效的預(yù)測(cè)框。Tiny-YOLOv3模型結(jié)構(gòu)簡(jiǎn)單,檢測(cè)精度高,速度快。
2.3 對(duì) Tiny-YOLOv3改進(jìn)
因特征圖不同通道信息對(duì)檢測(cè)結(jié)果貢獻(xiàn)度不同,本文引入通道注意力模塊對(duì)特征圖各個(gè)通道間的依賴性進(jìn)行建模,其結(jié)構(gòu)如圖2所示,首先對(duì)卷積得到的特征圖進(jìn)行全局池化得到一個(gè)與通道數(shù)一致的一維向量,接著通過(guò)全連接層與激活層實(shí)現(xiàn)維度的變換與數(shù)值的非線性變換,再利用一個(gè)全連接層使其維度恢復(fù),這個(gè)過(guò)程相當(dāng)于一次編解碼操作,最后利用sigmoid函數(shù)激活使其范圍在0-1之間,該一維向量作為每個(gè)通道的評(píng)價(jià)分?jǐn)?shù),用來(lái)衡量每個(gè)通道的重要性,將該分?jǐn)?shù)分別施加到輸入特征圖的各個(gè)通道上,得到具有通道注意力的特征圖。在Tiny-YOLOv3所有的卷積層后,添加通道注意力模塊,使其關(guān)注重要特征并抑制不必要的特征,從而提高目標(biāo)檢測(cè)的準(zhǔn)確率。
3? 實(shí)驗(yàn)
3.1 數(shù)據(jù)準(zhǔn)備
訓(xùn)練數(shù)據(jù)采用的是SCUT-HEAD公開(kāi)數(shù)據(jù)集,共計(jì)4340張圖片,為了提高訓(xùn)練模型的魯棒性,對(duì)數(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ò)時(shí),需要預(yù)設(shè)先驗(yàn)框的初始大小和個(gè)數(shù),使用接近真實(shí)框的先驗(yàn)框,更容易加快網(wǎng)絡(luò)收斂的速度,提高頭部檢測(cè)的定位精度。K-means聚類算法采用歐氏距離來(lái)衡量?jī)牲c(diǎn)之間的距離,本文對(duì)數(shù)據(jù)集中目標(biāo)框?qū)捀呃肒-means算法進(jìn)行聚類,找到接近數(shù)據(jù)樣本的先驗(yàn)框。
3.3 模型訓(xùn)練
實(shí)驗(yà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)練集與驗(yàn)證集,利用添加了通道注意力機(jī)制的Tiny-YOlOv3進(jìn)行交叉驗(yàn)證訓(xùn)練273個(gè)epoch,訓(xùn)練過(guò)程如圖3所示,損失最低在0.6左右,平均檢測(cè)精度高達(dá)80%,實(shí)際檢測(cè)效果如圖4所示,頭部檢測(cè)精準(zhǔn)人數(shù)統(tǒng)計(jì)準(zhǔn)確率高。
4? 結(jié)語(yǔ)
添加了通道注意力機(jī)制的Tiny-YOLOv3在人體頭部檢測(cè)上取得了較高的準(zhǔn)確率,對(duì)于公共場(chǎng)所進(jìn)行人數(shù)統(tǒng)計(jì)具有較高的應(yīng)用價(jià)值。在接下來(lái)的工作中將著重傾向于將注意力機(jī)制引入更多的目標(biāo)檢測(cè)算法,測(cè)試其在小目標(biāo)檢測(cè)方面的有效性。
參考文獻(xiàn)
[1] 周飛燕,金林鵬,董軍.卷積神經(jīng)網(wǎng)絡(luò)研究綜述[J].計(jì)算機(jī)學(xué)報(bào),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] 王小鵬, 渠燕紅, 馬鵬等. 基于頭部圖像特征的人流計(jì)數(shù)方法[J]. 鐵道學(xué)報(bào), 2019, 41(2):82-87.
[5] 鞠默然, 羅海波, 王仲博等. 改進(jìn)的YOLO V3算法及其在小目標(biāo)檢測(cè)中的應(yīng)用[J]. 光學(xué)學(xué)報(bào), 2019, 39(7).