陳 柳,陳明舉,薛智爽,羅仕勝
四川輕化工大學(xué) 人工智能四川省重點(diǎn)實(shí)驗(yàn)室,四川 自貢643000
隨著電子信息技術(shù)的發(fā)展,機(jī)器視覺技術(shù)已逐漸應(yīng)用到社會(huì)生產(chǎn)生活的各個(gè)領(lǐng)域。在電力生產(chǎn)、施工現(xiàn)場以及交通等領(lǐng)域,未正確佩戴安全帽是造成安全事故的主要因素之一。通過機(jī)器視覺技術(shù)能實(shí)現(xiàn)對(duì)施工作業(yè)現(xiàn)場安全帽的檢測與識(shí)別,減少安全事故的發(fā)生。
近年來,一些科研人員采用機(jī)器視覺技術(shù)進(jìn)行安全帽識(shí)別,并獲得了一些有效的研究成果。在傳統(tǒng)機(jī)器學(xué)習(xí)算法研究方面,主要通過安全帽的形狀與顏色特性進(jìn)行識(shí)別。如Park 等人[1]利用顏色直方圖與空間關(guān)系匹配實(shí)現(xiàn)對(duì)安全帽的檢測。李琪瑞等人[2]通過ViBe 運(yùn)動(dòng)目標(biāo)檢測,并結(jié)合SVM的特征分類算法,以判斷是否佩戴安全帽。劉曉慧等人[3]通過頭部區(qū)域的Hu 矩特征進(jìn)行訓(xùn)練得到分類器,從而實(shí)現(xiàn)對(duì)安全帽的判斷。傳統(tǒng)的基于機(jī)器學(xué)習(xí)的安全帽檢測算法,檢測速度較快,但嚴(yán)重依賴人為特征設(shè)計(jì)和選取,同時(shí)由于特征單一,泛化能力較差,無法對(duì)復(fù)雜施工環(huán)境下的目標(biāo)進(jìn)行有效檢測,導(dǎo)致檢測準(zhǔn)確率較低。
基于深度學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)技術(shù)在圖像處理中表現(xiàn)出較好的性能,越來越多的科研人員將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于圖像的分類識(shí)別中,并取得了較好的識(shí)別效果?;谏窠?jīng)網(wǎng)絡(luò)的目標(biāo)檢測主要分為兩階段網(wǎng)絡(luò)方法和單階段網(wǎng)絡(luò)方法。兩階段網(wǎng)絡(luò)通過區(qū)域提取和分類兩個(gè)階段去實(shí)現(xiàn)識(shí)別,具有較高的檢測精度,但由于檢測過程存在大量的數(shù)學(xué)計(jì)算,從而導(dǎo)致檢測速度較慢[4-5]。單階段網(wǎng)絡(luò)使用目標(biāo)的高級(jí)特征直接進(jìn)行識(shí)別,避免復(fù)雜的特征提取與檢索算法,大大減少了運(yùn)算時(shí)間[5],但由于單階段網(wǎng)絡(luò)對(duì)各級(jí)網(wǎng)絡(luò)特征單獨(dú)進(jìn)行預(yù)測,底層特征缺少語義與全局信息,造成小物體漏檢的情況發(fā)生[6]。
由于生產(chǎn)作業(yè)的場景錯(cuò)綜復(fù)雜,采用單階段卷積神經(jīng)網(wǎng)絡(luò)對(duì)作業(yè)人員是否佩戴安全帽進(jìn)行識(shí)別,存在漏檢現(xiàn)象。采用兩階段網(wǎng)絡(luò)進(jìn)行識(shí)別的運(yùn)算時(shí)間長,無法滿足實(shí)時(shí)性的要求。為滿足對(duì)作業(yè)場景佩戴安全帽識(shí)別的精度和速度的要求,本文以單階段檢測網(wǎng)絡(luò)RFBnet[7]為基礎(chǔ),引入多尺度特征金字塔結(jié)構(gòu)增強(qiáng)對(duì)小目標(biāo)的檢測能力,并輕量化網(wǎng)絡(luò)模塊,提高檢測效率。實(shí)驗(yàn)中采用SCUT-HEAD數(shù)據(jù)集進(jìn)行訓(xùn)練和測試,將本文改進(jìn)的輕量化RFBnet網(wǎng)絡(luò)與RFBnet-300[7]、RFBnet-512[7]、YOLO-v3[8]三種檢測方法進(jìn)行對(duì)比實(shí)驗(yàn),結(jié)果表明,本文改進(jìn)的RFBnet 檢測方法能夠保持較快的檢測速度,同時(shí)能夠?qū)崿F(xiàn)較高的檢測精度。
強(qiáng)大的特征提取能力在目標(biāo)檢測網(wǎng)絡(luò)中變得至關(guān)重要,提取精確的目標(biāo)特征需要增加卷積神經(jīng)網(wǎng)絡(luò)的層數(shù),然而性能的不斷提高帶來的卻是高額的計(jì)算成本,導(dǎo)致模型檢測速度降低。受人類視覺系統(tǒng)中感受野(Receptive Filed,RF)結(jié)構(gòu)的啟發(fā)而誕生的RFBnet網(wǎng)絡(luò)是一種簡單而高效的目標(biāo)檢測網(wǎng)絡(luò)。
RFBnet目標(biāo)檢測網(wǎng)絡(luò)以VGG-16網(wǎng)絡(luò)[9]作為提取特征的主干網(wǎng)絡(luò),將VGG-16網(wǎng)絡(luò)最后的三個(gè)全連接層采用空洞卷積層Conv6 和Conv7 進(jìn)行替換,并對(duì)池化層Pool5 的步長和大小進(jìn)行改變,實(shí)現(xiàn)在不增加網(wǎng)絡(luò)運(yùn)算量的前提下使卷積層能夠提取到更多的特征信息,實(shí)現(xiàn)圖像語義信息準(zhǔn)確分割[10]。另外,為了更好地增強(qiáng)淺層卷積神經(jīng)網(wǎng)絡(luò)的特征表示能力,有效提取目標(biāo)的特征,RFBnet 模擬人類淺層視網(wǎng)膜圖中的群體感受野(population Receptive Field,pRF),構(gòu)建以多分支卷積模塊與膨脹卷積層為組件的RF Block,以提取目標(biāo)更精細(xì)的特征[7]。RFBnet 在Conv4_3 層連接小群體感受野的RF Block,在Conv7層之后連接多個(gè)RF Block,如圖1所示。根據(jù)網(wǎng)絡(luò)輸入圖片的大小,RFBnet又有RFBnet-300和RFBnet-512兩個(gè)版本,以適用輸出特征圖不同分辨率的要求。
圖1 RFBnet-512結(jié)構(gòu)Fig.1 Structure of RFBnet-512
由上分析可知,RFBnet采用空洞卷積層與RF Block模塊,實(shí)現(xiàn)以較少的層數(shù)增強(qiáng)淺層卷積神經(jīng)網(wǎng)絡(luò)的特征表示能力,然而RFBnet強(qiáng)調(diào)同層之間特征表示,忽略了高層特征與底層特征之間的相互聯(lián)系,使得淺層特征表示能力有限,從而造成復(fù)雜環(huán)境下小目標(biāo)的漏檢。
針對(duì)施工環(huán)境的復(fù)雜性,為達(dá)到安全帽檢測精度的要求,本文在檢測效果更佳的RFBnet-512 的基礎(chǔ)上進(jìn)行改進(jìn)。為了更好地利用不同層次特征之間的聯(lián)系,有效地增強(qiáng)淺層特征,將特征金字塔網(wǎng)絡(luò)(Feature Pyramid Networks,F(xiàn)PN)模塊引入到RFBnet 中。同時(shí)保持網(wǎng)絡(luò)特征提取能力不變的情況下減少計(jì)算量,本文構(gòu)建一種輕量化模塊代替網(wǎng)絡(luò)中的部分卷積模塊,從而建立一種實(shí)現(xiàn)安全帽檢測的輕量化高精度卷積神經(jīng)網(wǎng)絡(luò)。
在目標(biāo)檢測網(wǎng)絡(luò)中,RFBnet 由于卷積層和池化層的不斷堆疊,導(dǎo)致深層特征圖分辨率較低,不能對(duì)小目標(biāo)進(jìn)行有效檢測。FPN 模塊[11]通過深層特征進(jìn)行上采樣,然后將上采樣得到的特征與次一級(jí)特征圖進(jìn)行融合,實(shí)現(xiàn)高層特征向淺層特征融合,使淺層特征也具有較強(qiáng)的語義信息,并且在多個(gè)融合尺度上進(jìn)行預(yù)測,增強(qiáng)對(duì)小目標(biāo)的檢測能力[11],其網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 FPN網(wǎng)絡(luò)Fig.2 FPN network
為了實(shí)現(xiàn)適用于復(fù)雜環(huán)境下多形態(tài)安全帽的檢測,并降低安全帽漏檢的概率,本文將FPN 模塊引入到RFBnet結(jié)構(gòu)中。RFBnet網(wǎng)絡(luò)層數(shù)較大的深層特征圖不含有小目標(biāo)信息,在過小的特征圖上進(jìn)行上采樣融合,反而會(huì)使目標(biāo)的檢測效果變差,影響整個(gè)網(wǎng)絡(luò)的識(shí)別能力。本文針對(duì)施工環(huán)境安全帽圖像的特性,在RFBnet中輸出8×8 特征圖的特征層處添加自上而下的FPN 結(jié)構(gòu),通過上采樣生成16×16的特征圖,然后與低一層16×16 的特征圖進(jìn)行對(duì)應(yīng)融合,依次自上向下融合直到Conv4_3層。改進(jìn)后的FP-RFBnet結(jié)構(gòu)如圖3所示。
圖3 FP-RFBnet網(wǎng)絡(luò)Fig.3 FP-RFBnet network
由于引入FPN 模塊的FP-RFBnet 網(wǎng)絡(luò)增加了網(wǎng)絡(luò)的結(jié)構(gòu)復(fù)雜性,從而導(dǎo)致檢測速度變慢,為了提高網(wǎng)絡(luò)的檢測速度,同時(shí)保持檢測性能不變的情況下,提出一種SG(SE+Ghost)模塊來對(duì)FP-RFBnet網(wǎng)絡(luò)進(jìn)行輕量化。
SE注意力模塊通過學(xué)習(xí)自動(dòng)獲取每個(gè)特征通道的重要程度,然后根據(jù)該重要程度去提升有用的特征并抑制表達(dá)能力不強(qiáng)的特征。SE 模塊首先對(duì)特征進(jìn)行壓縮,得到一個(gè)多維的全局感受野的特征,然后通過自動(dòng)學(xué)習(xí)確定每一維度特征的權(quán)重,最后通過將學(xué)習(xí)到的特征逐通道加權(quán)到先前的特征上,實(shí)現(xiàn)對(duì)原始特征的重新標(biāo)定[12]。在RFBnet 網(wǎng)絡(luò)中,卷積存在大量的浮點(diǎn)運(yùn)算并產(chǎn)生大量的冗余特征圖,而這些冗余的特征對(duì)于目標(biāo)檢測等任務(wù)是至關(guān)重要的[13-14]。Ghost 模塊由兩個(gè)卷積塊構(gòu)成,首先通過較小卷積核生成少量的原始特征,然后對(duì)原始特征通過“廉價(jià)”的線性運(yùn)算來產(chǎn)生大量的冗余特征,從而實(shí)現(xiàn)花費(fèi)很小的計(jì)算代價(jià)達(dá)到普通卷積實(shí)現(xiàn)的效果[15]。
將SE 模塊和Ghost 模塊組合得到SG 模塊(SEGhost),SG 模塊不僅實(shí)現(xiàn)RFBnet 網(wǎng)絡(luò)中冗余特征圖的提取,且提取的特征圖體現(xiàn)特征通道重要程度,SG模塊的結(jié)構(gòu)如圖4所示。
圖4 SG結(jié)構(gòu)Fig.4 Structure of SG
在SG 結(jié)構(gòu)中,首先將Ghost 模塊輸出的特征經(jīng)過Squeeze 全局平均池化得到壓縮特征;然后將特征維度降低到輸入的1/16,經(jīng)過激活函數(shù)后通過兩個(gè)全連接層FC將維度提升到原來的水平;接著通過Sigmoid激活函數(shù)將每個(gè)特征層的權(quán)重歸一化到[0,1]之間;最后通過Scale 操作將歸一化后的權(quán)重加權(quán)到每個(gè)通道的特征上,得到具有特征通道重要程度信息的特征層。
為了減小網(wǎng)絡(luò)的參數(shù)量與計(jì)算量,用構(gòu)建的輕量高效的SG模塊替換FP-RFBnet主干網(wǎng)絡(luò)中的部分卷積模塊,使其能夠聚合不同感受野的特征和不同特征層之間的相關(guān)性,使得改進(jìn)后的網(wǎng)絡(luò)更好地實(shí)現(xiàn)對(duì)較小目標(biāo)的檢測,在提取安全帽特征時(shí)更加高效。另外,F(xiàn)P-RFBnet在Conv7之后連接了4個(gè)RF Block,由于深層特征分辨率較低,同時(shí)RF Block相較于普通卷積運(yùn)算量較大,為了進(jìn)一步輕量化網(wǎng)絡(luò),用普通卷積替換FP-RFBnet中最后兩個(gè)RF Block。改進(jìn)后的FP-RFBnet網(wǎng)絡(luò)命名為SGFP-RFBnet,其主干結(jié)構(gòu)如圖5所示。
圖5 SG-FP-RFBnet主干網(wǎng)絡(luò)Fig.5 Backbone network of SG-FP-RFBnet
在服務(wù)器上搭建進(jìn)行訓(xùn)練所需要的環(huán)境,服務(wù)器硬件配置為CPU(Intel Xeon)、GPU(Nvidia TITAN Xp)、主板(超微X10DRG-Q)、內(nèi)存(鎂光256 GB)、硬盤(2 TB);軟件配置為Windows10 專業(yè)版操作系統(tǒng)、CUDA、Anaconda、Pytorch 等。實(shí)驗(yàn)數(shù)據(jù)采用開源的安全帽SCUTHEAD 數(shù)據(jù)庫(https://github.com/njvisionpower/Safety-Helmet-Wearing-Dataset),該數(shù)據(jù)集下有6 878 張圖片,其中6 328張作為訓(xùn)練集,550張作為測試集。為了提高SG-FP-RFBnet 的魯棒性并防止模型過擬合,對(duì)訓(xùn)練樣本圖片進(jìn)行隨機(jī)裁剪和放大、亮度和鏡像變換等操作。為了說明SG-FP-RFBnet 網(wǎng)絡(luò)的有效性,在相同的實(shí)驗(yàn)環(huán)境下采用相同的學(xué)習(xí)參數(shù)與數(shù)據(jù)集對(duì)RFBnet-512、RFBnet-300、YOLO-v3 分別進(jìn)行訓(xùn)練,得到相對(duì)應(yīng)的訓(xùn)練模型。
選取復(fù)雜施工環(huán)境的樣本圖片用上述網(wǎng)絡(luò)模型進(jìn)行測試,并對(duì)測試結(jié)果進(jìn)行對(duì)比分析。圖6(a)給出了不同遮擋、干擾和大小的4 幅代表性測試圖像。圖6(b)、(c)、(d)、(e)分別是測試樣本在YOLO-v3、RFBnet-300、RFBnet-512 和SG-FP-RFBnet 方法檢測下得到的結(jié)果。從圖中可以看出,RFBnet-300 的檢測效果最差,在4 幅圖中都存在弱小安全帽的漏檢,這是由于其提取圖像特征信息的能力較弱造成的。YOLO-v3網(wǎng)絡(luò)尺度表示和特征提取能力有限,對(duì)圖1、圖2中的弱小安全帽存在漏檢。相比YOLO-v3 與RFBnet-300 網(wǎng)絡(luò),RFBnet-512 檢測準(zhǔn)確率有一定的提高,但在圖3中出現(xiàn)了遠(yuǎn)處弱小安全帽的漏檢。在所有算法中,本文的SG-FP-RFBnet 實(shí)現(xiàn)了圖中所有安全帽的準(zhǔn)確檢測,取得最好的檢測效果,說明了建立的SG-FP-RFBnet 網(wǎng)絡(luò)有效地實(shí)現(xiàn)了圖像多尺度語義信息的表示與圖像特征的提取,從而提高了弱小目標(biāo)的提取能力。
圖6 模型對(duì)比結(jié)果Fig.6 Model test comparison results
為了從客觀指標(biāo)上說明SG-FP-RFBnet 網(wǎng)絡(luò)的性能,本文從檢測精度、速度以及模型參數(shù)量等方面來驗(yàn)證改進(jìn)的效果。利用SCUT-HEAD 測試數(shù)據(jù)集分別對(duì)上文中的四種檢測方法進(jìn)行測試,識(shí)別率結(jié)果如圖7和表1所示。圖7給出了四種檢測方法在SCUT-HEAD測試數(shù)據(jù)集上的平均準(zhǔn)確率(Average Precision,AP)和平均準(zhǔn)確率均值(Mean Average Precision,MAP)。SGFP-RFBnet在安全帽(hat)和人臉(person)檢測中獲得的AP 與MAP 值最高,相較于YOLO-v3、RFBnet-300 和RFBnet-512,MAP 分別提高了1.60 個(gè)百分點(diǎn)、3.62 個(gè)百分點(diǎn)和0.98 個(gè)百分點(diǎn),說明SG-FP-RFBnet 網(wǎng)絡(luò)中的特征金字塔網(wǎng)絡(luò)模塊可以有效地提高安全帽檢測的精度。表1給出了四種檢測方法的速度與參數(shù)量,可以看出SG-FP-RFBnet雖然每秒檢測的幀數(shù)相較于FRBnet-512略有下降,但達(dá)到20 frame/s,具有一定的實(shí)時(shí)性。模型存儲(chǔ)參數(shù)量得到了極大的降低,相較于YOLO-v3、RFBnet-300 和RFBnet-512 分別減少了183.5 MB、77.5 MB 和80.5 MB,可以節(jié)省大量的存儲(chǔ)空間。
圖7 模型精度對(duì)比Fig.7 Model accuracy comparison
表1 參數(shù)對(duì)比結(jié)果Table 1 Parameter comparison results
綜述,本文將特征金字塔網(wǎng)絡(luò)模塊引入到RFBnet網(wǎng)絡(luò)中,使神經(jīng)網(wǎng)絡(luò)融合淺層和深層語義信息,實(shí)現(xiàn)了復(fù)雜施工環(huán)境下安全帽的精確識(shí)別。采用SE-Ghost 模塊,對(duì)網(wǎng)絡(luò)的主干網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行輕量化,大幅度降低了網(wǎng)絡(luò)的存儲(chǔ)空間。建立的SG-FP-RFBnet實(shí)現(xiàn)了高精度安全帽的識(shí)別,并滿足實(shí)時(shí)性的要求。
本文針對(duì)工業(yè)復(fù)雜環(huán)境下的安全帽佩戴檢測問題,構(gòu)建FPN結(jié)構(gòu)來增強(qiáng)網(wǎng)絡(luò)對(duì)于小目標(biāo)檢測的能力,采用SG 模塊對(duì)網(wǎng)絡(luò)進(jìn)行輕量化,從而建立輕量化高精度的安全帽佩戴檢測網(wǎng)絡(luò)SG-FP-RFBnet。通過實(shí)驗(yàn)證明,該網(wǎng)絡(luò)在復(fù)雜施工場景下,能有效地實(shí)現(xiàn)安全帽佩戴識(shí)別,極大地縮小網(wǎng)絡(luò)的存儲(chǔ)空間,運(yùn)算速度滿足實(shí)時(shí)要求,識(shí)別準(zhǔn)確率相對(duì)其他網(wǎng)絡(luò)有一定的提高。因此,本文提出的SG-FP-RFBnet網(wǎng)絡(luò)具有較大的學(xué)術(shù)參考與應(yīng)用價(jià)值。