周敏新,張方舟,龔聲蓉
(1.東北石油大學(xué) 計(jì)算機(jī)與信息技術(shù)學(xué)院,黑龍江 大慶 163000;2.常熟理工學(xué)院 計(jì)算機(jī)科學(xué)與工程學(xué)院,江蘇 蘇州 215500)
目前已經(jīng)有學(xué)者對(duì)安全帽佩戴檢測(cè)做出了研究,現(xiàn)有的大多方法依賴人的臉部特征,一旦人背離攝像頭就無法檢測(cè)[1]。也有方法雖然可以在工作場所進(jìn)行檢測(cè),但是只對(duì)近處的工人有很好的檢測(cè)效果,遠(yuǎn)處的工人檢測(cè)效果不佳[2-6]。這是因?yàn)楣さ乇O(jiān)控?cái)z像頭拍攝到的遠(yuǎn)處工人僅占據(jù)圖像的小部分,特征難以識(shí)別,很難與復(fù)雜的背景區(qū)分開,并且工地的監(jiān)控?cái)z像頭大多安裝在高處,采集到的圖像中工人大部分都是小尺度的?;谶@些原因,迫切需要一個(gè)能夠解決小尺度工人問題的自動(dòng)安全帽佩戴檢測(cè)器。
本文提出在CenterNet[7]基礎(chǔ)上引入新型特征融合結(jié)構(gòu)用于安全帽佩戴檢測(cè),為了提高對(duì)小尺度工人檢測(cè)的有效性,首先引入一個(gè)U型結(jié)構(gòu)的特征金字塔模塊(feature pyramid module,F(xiàn)PM),采用自頂向下的方式融合深層和淺層特征[8]。受PoolNet[9]啟發(fā),深層語義信息在融合過程中容易被稀釋,因此引入全局引導(dǎo)模塊(global guidance module,GGM),即在特征金字塔結(jié)構(gòu)的每一個(gè)橫向連接處添加深層語義信息。其次高倍數(shù)的上采樣會(huì)造成失真,采用特征整合模塊(feature aggregation module,F(xiàn)AM)使粗層次的語義信息在自頂向下過程中與精細(xì)特征更好融合[9]。
目前關(guān)于安全帽佩戴檢測(cè)的研究主要分為基于傳感器的方法和基于視覺的方法[2]。基于傳感器的方法使用場景受限,一旦超過了信號(hào)范圍就無法檢測(cè),并且設(shè)備需要定期充電,不利于長期使用。因此,使用普通相機(jī)進(jìn)行實(shí)際應(yīng)用比傳感器具有更重要的現(xiàn)實(shí)意義[2]?;谝曈X的方法進(jìn)一步分為基于手工設(shè)計(jì)特征的方法和目前主流的基于深度學(xué)習(xí)的方法。
Shrestha等[1]提取頭部區(qū)域的邊緣特征來判斷工人是否佩戴了安全帽。Park等[3]提出使用背景分離法從復(fù)雜的背景中檢測(cè)人體和安全帽,再分別提取人的身體部分和安全帽的HOG特征,最后根據(jù)它們的空間關(guān)系進(jìn)行匹配。Li等[4]提出采用行人檢測(cè)算法檢測(cè)出行人,再利用頭部定位、顏色空間變化和顏色特征識(shí)別實(shí)現(xiàn)安全帽佩戴檢測(cè)??梢钥闯龌谑止ぴO(shè)計(jì)特征的方法大都需要進(jìn)行多步驟檢測(cè),首先從復(fù)雜的背景中提取行人,再提取目標(biāo)的邊緣、顏色、形狀和其它具有判別性的特征,這些特征通常被編碼成低層次的視覺描述器,檢測(cè)速度慢[10]。還有方法依賴人的正臉特征,使用場景受限。此外,該類方法的特征描述符是基于低層次的視覺線索手工設(shè)計(jì)的,難以在復(fù)雜的上下文環(huán)境中捕獲具有代表性的語義信息[11]。
隨著計(jì)算資源比如GPU的發(fā)展以及更多公開的數(shù)據(jù)集,和基于手工設(shè)計(jì)特征的方法相反,深度卷積神經(jīng)網(wǎng)絡(luò)可以從大量訓(xùn)練數(shù)據(jù)集中自動(dòng)學(xué)習(xí)并將圖片的原始像素信息表示成高層次的語義信息,因此基于深度卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測(cè)算法具有更強(qiáng)的特征表示能力[11]?;谶@些特性,深度學(xué)習(xí)目標(biāo)檢測(cè)算法逐漸成為主流。
目前已經(jīng)有學(xué)者使用深度學(xué)習(xí)目標(biāo)檢測(cè)算法進(jìn)行安全帽佩戴檢測(cè),但是仍處于起步階段[2]。直接將Faster R-CNN[14]用于安全帽佩戴檢測(cè),結(jié)構(gòu)復(fù)雜,不能達(dá)到實(shí)時(shí)的效果,并且僅在最后一層特征圖上進(jìn)行預(yù)測(cè),對(duì)小尺度目標(biāo)檢測(cè)效果不佳。Wu F等[5]將YOLOv3[12]的骨干網(wǎng)絡(luò)DarkNet53替換成了DenseNet用于安全帽佩戴檢測(cè),訓(xùn)練簡單,并且該方法在多尺度特征映射圖上進(jìn)行預(yù)測(cè)提高了對(duì)小尺度目標(biāo)的檢測(cè)效果。Luo等[6]采用SSD[13]算法進(jìn)行安全帽佩戴檢測(cè),但是SSD[13]算法利用淺層特征預(yù)測(cè)小尺度目標(biāo),深層特征預(yù)測(cè)大尺度目標(biāo),沒有結(jié)合深層和淺層特征各自的優(yōu)勢(shì),因此對(duì)于小尺度的目標(biāo)檢測(cè)效果依然不佳。
上述方法均采用了錨框機(jī)制,在設(shè)置錨框?qū)捀弑葧r(shí)麻煩,此外,還存在大量的冗余框?qū)е抡?fù)樣本嚴(yán)重失衡。2018年~2019年期間出現(xiàn)了大量基于關(guān)鍵點(diǎn)的目標(biāo)檢測(cè)方法,不需要預(yù)設(shè)錨框,直接根據(jù)關(guān)鍵點(diǎn)定位目標(biāo)。CenterNet[7]僅使用中心點(diǎn)表示目標(biāo),邊界框的其它屬性通過中心點(diǎn)區(qū)域的特征映射圖進(jìn)行回歸,每個(gè)目標(biāo)只有一個(gè)中心點(diǎn),因此不需要做極大值抑制后處理。在與YOLOv3[12]相同的檢測(cè)速度下,CenterNet的檢測(cè)精度要比YOLOv3[12]高3倍[7]。
為了全面考慮檢測(cè)的速度和精度,本文提出以CenterNet[7]為基礎(chǔ)的改進(jìn)方法用于安全帽佩戴檢測(cè)。
CenterNet屬于無錨框目標(biāo)檢測(cè),圖1為CenterNet的無錨框機(jī)制與傳統(tǒng)的錨框機(jī)制對(duì)比,如圖1(a)所描述的,目標(biāo)直接通過它的中心點(diǎn)來表示,圖1(b)表示的是傳統(tǒng)的基于錨框的目標(biāo)檢測(cè)算法,每個(gè)位置都預(yù)設(shè)了固定尺度的錨框,每個(gè)錨框負(fù)責(zé)預(yù)測(cè)與真值框交并比大于某個(gè)閾值的目標(biāo)[14]。
圖1 CenterNet與傳統(tǒng)的錨框機(jī)制對(duì)比
CenterNet網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,僅在最后一層特征映射圖上進(jìn)行預(yù)測(cè),忽略了淺層特征的細(xì)節(jié)信息,導(dǎo)致對(duì)小尺度目標(biāo)不敏感,在應(yīng)用于安全帽佩戴檢測(cè)時(shí)仍然會(huì)存在漏檢、誤檢情況。本文采用新型特征融合方式充分融合深層和淺層特征,提高對(duì)小目標(biāo)的檢測(cè)精度和召回率。
圖2 CenterNet網(wǎng)絡(luò)結(jié)構(gòu)
深層語義信息有助于分類,而淺層特征具有豐富的細(xì)節(jié)信息有利于定位[8],CenterNet僅通過最后一層特征進(jìn)行預(yù)測(cè),忽略了淺層特征的細(xì)節(jié)信息,導(dǎo)致在檢測(cè)小尺度目標(biāo)時(shí)效果不佳。本文提出在CenterNet中引入一種新型特征融合方法,稱之為CenterNet-Feature-Fusion(CenterNetFF),利用3個(gè)模塊更好的融合深層和淺層特征,擴(kuò)大了整體網(wǎng)絡(luò)的感受野,以便更精確捕捉目標(biāo)的位置信息,提升對(duì)小尺度目標(biāo)的檢測(cè)效果。
如圖3所示,CenterNet作為基礎(chǔ)網(wǎng)絡(luò),輸入512×512大小的圖片,經(jīng)過骨干網(wǎng)絡(luò)得到最終的特征映射圖Conv_5。本文提出3個(gè)模塊更好融合深層和淺層特征,提高對(duì)小尺度目標(biāo)的檢測(cè)效果。首先引入特征金字塔模塊采用自頂向下的方式融合深層特征與淺層特征,由于深層語義信息會(huì)在自頂向下融合過程中被稀釋[9],本文在特征金字塔模塊中插入全局引導(dǎo)模塊,由圖3中的金字塔池化模塊(pyramid pooling module,PPM)和全局引導(dǎo)流(global guidance flows,GGFs)組成。金字塔池化通過不同尺度的縮放Conv_5獲得全局引導(dǎo)信息,全局引導(dǎo)流負(fù)責(zé)在特征金字塔的每一個(gè)橫向連接處添加金字塔池化獲得的全局引導(dǎo)信息,彌補(bǔ)在自頂向下過程中逐漸被稀釋的深層語義信息。高倍數(shù)的上采樣容易引入雜質(zhì),造成混疊效應(yīng),引入特征整合模塊,也就是圖3中的A,對(duì)每一層融合特征映射圖進(jìn)行處理,不僅減少了混疊效應(yīng),同時(shí)通過在不同尺度空間上查看上下文信息,進(jìn)一步擴(kuò)大了整個(gè)網(wǎng)絡(luò)的感受野。最后使用融合后的特征進(jìn)行預(yù)測(cè),分為3個(gè)分支用于生成關(guān)鍵點(diǎn)熱力圖、邊界框的尺度預(yù)測(cè)(Wi,Hi)以及關(guān)鍵點(diǎn)的偏差預(yù)測(cè)(ΔXi,ΔYi),均采用3×3和1×1的卷積。根據(jù)預(yù)測(cè)得到的中心點(diǎn)坐標(biāo)(Xi,Yi),即關(guān)鍵點(diǎn)熱力圖中的峰值點(diǎn)、邊界框的尺度以及偏差值可以定位目標(biāo)的位置 (Xi+ΔXi-Wi/2,Yi+ΔYi-Hi/2,Xi+ΔXi+Wi/2,Yi+ΔYi+Hi/2)。
由于小尺度目標(biāo)占據(jù)圖像的像素較小,在自底向上過程中隨著特征圖的分辨率越來越低,小尺度目標(biāo)的像素信息逐漸丟失,僅通過最后一層特征層進(jìn)行預(yù)測(cè)導(dǎo)致在檢測(cè)小尺度目標(biāo)時(shí)存在不足。本文在CenterNet基礎(chǔ)上引入U(xiǎn)型結(jié)構(gòu)的特征金字塔模塊。第一步是自底向上的過程,也就是網(wǎng)絡(luò)的前向傳播過程,如圖3所示,Conv_2~Conv_5特征映射圖的大小隨著網(wǎng)絡(luò)層數(shù)的加深逐漸減小,分辨率也越來越低。Conv_1~Conv_3淺層特征包含豐富的目標(biāo)邊緣等細(xì)節(jié)信息,但是缺乏語義信息,而深層特征Conv_4~Conv_5語義信息豐富,有利于目標(biāo)的分類,但是缺乏淺層特征的細(xì)節(jié)信息,不利于定位。第二步,采用自頂向下的方式融合深層特征和淺層特征,如圖3中的F模塊,將上一層的特征映射圖進(jìn)行2倍上采樣,下一層的特征映射圖采用1×1的卷積核減少通道數(shù),與上采樣后的上一層特征
圖3 改進(jìn)后的網(wǎng)絡(luò)CenterNetFF結(jié)構(gòu)
進(jìn)行融合。本文將骨干網(wǎng)絡(luò)的Conv_5,Conv_4,Conv_3這3層特征圖依次進(jìn)行上采樣融合,融合后的特征圖既包含了淺層特征的細(xì)節(jié)信息,又包含了深層特征的語義信息,提高了對(duì)小尺度目標(biāo)的敏感性,并且融合后的特征圖分辨率高,感受野與小尺度目標(biāo)剛好匹配。
特征金字塔是融合不同特征層的經(jīng)典結(jié)構(gòu),但是在自頂向下過程中深層語義信息會(huì)逐漸被稀釋[15]。指出卷積神經(jīng)網(wǎng)絡(luò)的實(shí)際感受野會(huì)比理論感受野要小,尤其是在深層特征映射圖上。因此整個(gè)網(wǎng)絡(luò)的感受野不足以捕獲輸入圖像的全局信息,導(dǎo)致目標(biāo)容易被背景吞噬[9],本文引入全局引導(dǎo)模塊將深層語義信息更好融入到淺層特征層中。如圖3所示,全局引導(dǎo)模塊由兩個(gè)部分組成:金字塔池化模塊和全局引導(dǎo)流。金字塔池化模塊通過融合不同區(qū)域的上下文信息來捕獲全局信息,圖4是金字塔池化模塊結(jié)構(gòu)。首先對(duì)Conv_5采用平均池化得到1×1、2×2、3×3和6×6不同大小的池化特征映射圖,再通過1×1的卷積核將池化特征映射圖的通道數(shù)變?yōu)樵瓉淼?/4,最后通過雙線性插值法將這些特征圖上采樣回原來大小,并與初始的Conv_5 進(jìn)行拼接。為了將金字塔池化獲得的全局引導(dǎo)信息融入到特征金字塔的不同特征層上,引入全局引導(dǎo)流,如圖3所示,在特征金字塔模塊的每一次橫向連接處分別加入2倍、4倍、8倍上采樣后的全局引導(dǎo)信息,彌補(bǔ)了在自頂向下過程中被稀釋的深層語義信息,本文通過對(duì)引入全局引導(dǎo)流前后的特征進(jìn)行可視化結(jié)果對(duì)比來驗(yàn)證其有效性,具體分析結(jié)果將在實(shí)驗(yàn)部分進(jìn)行展示。
圖4 金字塔池化模塊
上一節(jié)的全局引導(dǎo)模塊在自頂向下過程的每一個(gè)融合特征層中加入全局引導(dǎo)信息,增加了各層融合特征層的深層語義信息,但同時(shí)也帶來了一個(gè)問題。圖5為引入各模塊后的特征可視化結(jié)果,其中圖5(c)是在融合特征層中添加全局引導(dǎo)信息后的特征可視化圖,可以看出由于高倍數(shù)的上采樣引入了雜質(zhì),造成混疊效應(yīng)。傳統(tǒng)的特征金字塔模塊對(duì)2倍上采樣融合后的特征采用3×3的卷積核進(jìn)行卷積,消除了上采樣引起的混疊效應(yīng),但是全局引導(dǎo)流需要更大倍數(shù)的上采樣,比如4倍和8倍,因此需要有效消除全局引導(dǎo)流和不同尺度特征映射圖之間的差距[9]。特征整合模塊如圖6所示,包括4個(gè)分支,首先將融合特征通過平均池化進(jìn)行2、4、8倍的下采樣,然后經(jīng)過3×3的卷積操作再進(jìn)行對(duì)應(yīng)倍數(shù)的上采樣與初始的融合特征合并到一起,最后再做一個(gè)3×3的卷積。如圖3所示,本文首先對(duì)Conv_5進(jìn)行特征整合模塊處理,之后對(duì)每一層融合的特征都進(jìn)行了特征整合模塊處理,不僅中和了高倍數(shù)上采樣帶來的混疊效應(yīng),而且特征整合模塊通過在不同空間位置和不同尺度上觀察局部信息,整個(gè)網(wǎng)絡(luò)的感受野得到了擴(kuò)展。
圖5 引入各模塊后的特征可視化結(jié)果
圖6 特征整合模塊
實(shí)驗(yàn)環(huán)境見表1,服務(wù)器包含4個(gè)GPU,每個(gè)容量為16 G,型號(hào)為Tesla P100。本文將CenterNetFF和原始的CenterNet以及其它先進(jìn)的深度學(xué)習(xí)目標(biāo)檢測(cè)器在SHWD數(shù)據(jù)集上使用表2相同的訓(xùn)練參數(shù)進(jìn)行訓(xùn)練。學(xué)習(xí)率初始化為1.25e-4,批量大小為16??偣灿?xùn)練200輪,由于在訓(xùn)練初期學(xué)習(xí)率較大,所以損失值下降速度很快,但是在訓(xùn)練后期模型逐漸收斂時(shí),大的學(xué)習(xí)率會(huì)導(dǎo)致?lián)p失值下降的緩慢,在一個(gè)區(qū)域值內(nèi)不停擺動(dòng),于是在第90輪和第120輪時(shí)對(duì)學(xué)習(xí)率進(jìn)行一個(gè)衰減,這樣損失值又可以進(jìn)一步下降一個(gè)坡度。
表1 實(shí)驗(yàn)環(huán)境
表2 訓(xùn)練參數(shù)
本文采用的實(shí)驗(yàn)數(shù)據(jù)是公開的安全帽數(shù)據(jù)集SHWD以及目標(biāo)檢測(cè)數(shù)據(jù)集COCO。SHWD數(shù)據(jù)集被分為兩類:hat(佩戴安全帽的)和person(沒有佩戴安全帽的)。SHWD總共7581張圖片,包括9044個(gè)佩戴安全帽的正例和11 151個(gè)沒有佩戴安全帽的反例。本文將SHWD數(shù)據(jù)集按3∶1∶1的比例劃分為4548張訓(xùn)練集、1516張驗(yàn)證集和1517張測(cè)試集,部分樣本如圖7所示。為了驗(yàn)證本文方法不僅僅只對(duì)安全帽數(shù)據(jù)集有很好的檢測(cè)效果,本文同時(shí)使用COCO數(shù)據(jù)集對(duì)CenterNetFF進(jìn)行了訓(xùn)練檢測(cè)。COCO數(shù)據(jù)集分為10個(gè)類別,總共包含20萬張圖像。評(píng)價(jià)指標(biāo)采用的是平均檢測(cè)精度AP、平均召回率AR以及檢測(cè)速度幀每秒fps。
圖7 數(shù)據(jù)集樣本
為了驗(yàn)證本文提出的每個(gè)模塊的有效性,我們進(jìn)行了廣泛的消融實(shí)驗(yàn)。
4.3.1 特征金字塔的有效性
骨干網(wǎng)絡(luò)的淺層特征映射圖包含清晰的目標(biāo)邊緣細(xì)節(jié),隨著網(wǎng)絡(luò)層數(shù)的不斷加深,語義信息越來越豐富。但是目標(biāo)的細(xì)節(jié)信息逐漸模糊,分辨率越來越低,導(dǎo)致識(shí)別小尺度目標(biāo)困難。將深層特征融入到淺層特征中可以彌補(bǔ)淺層特征缺乏的語義信息,最終的融合特征映射圖比原來的特征映射圖具有更高的分辨率,感受野又剛好與小尺度目標(biāo)相匹配。融合后的特征圖不僅包含深層特征的語義信息,還包含了淺層特征的細(xì)節(jié)信息。表3的第2、6、10行展示了在不同的骨干網(wǎng)絡(luò)下添加了特征金字塔之后的檢測(cè)結(jié)果,可以看出平均檢測(cè)精度AP分別提高了1.4%、1.8%、0.4%,
表3 在SHWD數(shù)據(jù)集上的測(cè)試結(jié)果對(duì)比
平均召回率AR分別提高了2.4%、4.3%、0.7%。同時(shí),對(duì)于小尺度目標(biāo)檢測(cè)效果也有了很大的提升,APsmall分別提高了4.0%、3.6%、1.0%,ARsmall分別提高了4.9%、4.9%、2.0%,特征金字塔的引入明顯提高了對(duì)小目標(biāo)的敏感性。
4.3.2 全局引導(dǎo)模塊的有效性
圖5為引入各模塊后的特征可視化結(jié)果,其中圖5(b)是經(jīng)過特征金字塔融合后的特征圖可視化結(jié)果,圖5(c)是引入全局引導(dǎo)模塊后的特征圖可視化結(jié)果。全局引導(dǎo)模塊在每一層融合特征層中添加了全局引導(dǎo)信息,可以看出圖5(c)的語義信息要更豐富一些,整個(gè)網(wǎng)絡(luò)更加關(guān)注目標(biāo)的完整性。表3的第3、7、11行是引入全局引導(dǎo)模塊后的結(jié)果,平均檢測(cè)精度AP和平均召回率AR較上一步又有了進(jìn)一步提升,其中AP分別提高了0.4%、0.7%、0.8%,AR分別提高了0.5%、0.4%、1.0%。
4.3.3 特征整合模塊的有效性
特征整合模塊將融合后的特征先通過平均池化進(jìn)行下采樣,再用相同的倍數(shù)進(jìn)行上采樣整合到一起,平均了高倍數(shù)上采樣而引入的雜質(zhì)。在圖5的特征圖可視化結(jié)果圖中,圖5(d)是引入特征整合模塊后的特征圖可視化結(jié)果,可以看出減少了高倍上采樣帶來的混疊效應(yīng),更能準(zhǔn)確捕捉目標(biāo)的位置和細(xì)節(jié)信息。從表3的第4、8、12行可以看出經(jīng)過特征整合模塊處理后網(wǎng)絡(luò)的檢測(cè)平均精度AP又分別提高了1.6%、1.6%、0.8%,小尺度目標(biāo)的檢測(cè)平均精度APsmall分別提高了0.1%、1.1%、0.8%。最終本文的CenterNetFF算法AP達(dá)到了87.8%,AR達(dá)到了43.1%,并且對(duì)于小尺度目標(biāo)的檢測(cè)APsmall達(dá)到33.2%,ARsmall達(dá)到43.1%,相較于原來的CenterNet的APsmall和ARsmall分別提高了3.0%以及4.7%,檢測(cè)速度可以達(dá)到21 fps,滿足工地上的實(shí)時(shí)檢測(cè)要求。
為了充分驗(yàn)證CenterNetFF的有效性,本文將CenterNetFF與原來的CenterNet在COCO數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn)。表4是實(shí)驗(yàn)結(jié)果數(shù)據(jù),在ResNet18上檢測(cè)AP達(dá)到29.2%,相較于原來的CenterNet提高了1.1%,小尺度目標(biāo)的檢測(cè)AP提高了1.1%。在ResNet101上檢測(cè)AP達(dá)到35.9%,比原來的CenterNet檢測(cè)平均精度提高了1.3%。小尺度目標(biāo)檢測(cè)AP達(dá)到24.6%??梢钥闯龈倪M(jìn)后的算法不僅提高了網(wǎng)絡(luò)整體的檢測(cè)平均精度,而且極大提高了對(duì)小尺度目標(biāo)的檢測(cè)精度。
表4 COCO數(shù)據(jù)集上實(shí)驗(yàn)數(shù)據(jù)對(duì)比/%
本文將CenterNetFF與Faster R-CNN[14]、YOLOv3[12]以及SSD[13]在SHWD數(shù)據(jù)集上進(jìn)行了訓(xùn)練對(duì)比。在相同的實(shí)驗(yàn)環(huán)境下,結(jié)果如圖8所示,盡管Faster R-CNN[14]的檢測(cè)平均精度和CenterNetFF差不多,但是檢測(cè)速度只有4.92 fps,遠(yuǎn)遠(yuǎn)達(dá)不到實(shí)時(shí)的效果。由于復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),
圖8 與目前先進(jìn)的目標(biāo)檢測(cè)算法對(duì)比
大量的計(jì)算成本,F(xiàn)aster R-CNN[14]在檢測(cè)速度方面不占優(yōu)勢(shì)。另外,YOLOv3[12]和SSD[13]檢測(cè)速度快,可以達(dá)到實(shí)時(shí)的效果,但是檢測(cè)精度比本文的方法低,不能滿足復(fù)雜工況下安全帽佩戴檢測(cè)所需要達(dá)到的精度要求。由于不需要提前預(yù)設(shè)候選框,操作麻煩并且會(huì)存在大量的冗余框。另外YOLOv3[12]使用傳統(tǒng)的特征金字塔結(jié)構(gòu)融合深層特征和淺層特征, 深層語義信息會(huì)在自頂向下過程中被稀釋,不能很好與淺層特征進(jìn)行融合。SSD[13]在多尺度特征圖上進(jìn)行預(yù)測(cè),沒有結(jié)合深層和淺層特征各自的優(yōu)勢(shì),因此對(duì)于小尺度目標(biāo)檢測(cè)效果仍然不好。相反,本文提出的CenterNetFF既結(jié)合了深層和淺層特征各自的優(yōu)勢(shì),又保證了深層語義信息不在融合過程中被稀釋。最終CenterNetFF的平均檢測(cè)精度達(dá)到87.8%,檢測(cè)速度21 fps,滿足實(shí)時(shí)性檢測(cè)要求。
本文選用多張小尺度工人的圖像測(cè)試CenterNetFF以及原來的CenterNet[7]。圖9為在CenterNet和本文改進(jìn)的方法CenterNetFF上的檢測(cè)結(jié)果,圖9(a)和圖9(c)是原來的CenterNet檢測(cè)結(jié)果,圖9(b)和圖9(d)是CenterNetFF檢測(cè)結(jié)果。圖9(a)中遠(yuǎn)離攝像頭的工人沒有被檢測(cè)出來,但是CenterNetFF檢測(cè)出這個(gè)工人佩戴了安全帽,并且檢測(cè)的置信度要更高。圖9(c)中有別的目標(biāo)被誤檢成安全帽,可能是因?yàn)樗念伾桶踩鳖愃啤enterNetFF通過全局引導(dǎo)模塊的全局信息使得網(wǎng)絡(luò)更關(guān)心目標(biāo)的完整性,減少了假陽性。另外我們看到圖9(c)中一個(gè)被起重機(jī)遮擋的工人在改進(jìn)后的算法中仍然沒有被檢測(cè)出來,這是本文的方法還存在的問題。
圖9 CenterNet與CenterNetFF對(duì)小尺度目標(biāo)的檢測(cè)效果
基于以上結(jié)果,本文改進(jìn)后的算法CenterNetFF不僅減少了原來的CenterNet的誤檢和漏檢情況,還有效解決了小尺度工人的安全帽佩戴情況檢測(cè)問題。
基于上述實(shí)驗(yàn)結(jié)果,可以發(fā)現(xiàn)和原來的CenterNet以及其它先進(jìn)的深度學(xué)習(xí)目標(biāo)檢測(cè)算法相比,本文改進(jìn)后的算法CenterNetFF在真實(shí)工作場景下有更好的檢測(cè)性能,誤檢和漏檢情況都有所改善,在速度方面也能達(dá)到實(shí)時(shí)效果。
本文首先介紹了CenterNet基本原理,簡單、快速、精確、不需要做極大值抑制后處理。但是在復(fù)雜的工作場景下,檢測(cè)小尺度工人佩戴安全帽情況仍存在不足。本文提出一種特征融合方法,在CenterNet基礎(chǔ)上引入特征金字塔模塊、全局引導(dǎo)模塊以及特征整合模塊。從實(shí)驗(yàn)結(jié)果可以看出,整體的平均檢測(cè)精度和平均召回率都有了不同程度的提升,尤其對(duì)于小尺度工人的誤檢情況得到了改善,而且檢測(cè)速度也基本滿足實(shí)時(shí)性。但是我們可以看到被建筑物遮擋的工人檢測(cè)效果不好。如何減輕遮擋的問題將是我們下一步的工作重點(diǎn)。