国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

改進(jìn)YOLOv5s算法在非機(jī)動(dòng)車頭盔佩戴檢測(cè)中的應(yīng)用

2023-01-21 01:36張瑞芳程小輝
關(guān)鍵詞:池化頭盔特征

張瑞芳,董 鳳,程小輝

(桂林理工大學(xué) a.機(jī)械與控制工程學(xué)院;b.信息科學(xué)與工程學(xué)院,廣西 桂林 541000)

0 引言

隨著我國(guó)城市汽車保有量不斷攀升,城市交通道路環(huán)境日益嚴(yán)峻,特別是在欠發(fā)達(dá)地區(qū),相較于通行受限的機(jī)動(dòng)車,小巧輕便的電動(dòng)車、摩托車等小型非機(jī)動(dòng)車更受人們的青睞,尤其現(xiàn)階段隨著汽車燃油價(jià)格的上調(diào),電動(dòng)車已成為人們減負(fù)出行的重要代步工具。但此類車輛因體型較小,活動(dòng)相對(duì)靈活,加之車體外部缺乏類似安全氣囊之類的防護(hù)工具,在交通事故中致死率極高,屬于交通道路環(huán)境中的弱勢(shì)群體,導(dǎo)致騎乘人員死亡的直接原因大多是頭部零防護(hù)式的撞擊造成不可逆轉(zhuǎn)的顱腦損傷。而正確佩戴頭盔可以將頭部損傷率減到69%[1],為騎乘人員生命安全提供了重要保障,但由于受到傳統(tǒng)觀念的影響、法律層面的約束缺乏、騎行舒適度降低等原因,騎行頭盔佩戴率并不高。為了提高人們安全出行防患意識(shí),減少交通事故的死亡率,公安部于2020年6月1日起推行“一盔一帶”安全守護(hù)行動(dòng)[2],對(duì)非機(jī)動(dòng)車騎乘者佩戴安全頭盔、機(jī)動(dòng)車駕駛者佩戴安全帶進(jìn)行倡導(dǎo)。由此可見,為了推動(dòng)智慧城市中交通監(jiān)控的智能化,騎乘者佩戴騎行頭盔的法治強(qiáng)制性是大勢(shì)所趨。但由于欠發(fā)達(dá)地區(qū)城市基礎(chǔ)設(shè)施不完善,經(jīng)濟(jì)技術(shù)落后等原因,多地交管部門仍采用人工巡查的方式對(duì)頭盔佩戴情況進(jìn)行督察,但面對(duì)復(fù)雜多變的交通道路環(huán)境,傳統(tǒng)方式顯然耗時(shí)耗力,無(wú)法有效推廣。因此設(shè)計(jì)一種低成本、高性能的面向非機(jī)動(dòng)車騎乘者的頭盔佩戴檢測(cè)模型是非常有現(xiàn)實(shí)意義的。

市面上騎行頭盔形狀各異、種類繁多,且尺寸變化大,頭盔佩戴檢測(cè)任務(wù)是一項(xiàng)不小的挑戰(zhàn)。文獻(xiàn)[3]針對(duì)乘客重疊、人頭尺寸偏小等因素導(dǎo)致的兩輪車漏檢問(wèn)題,通過(guò)修改候選框尺寸和特征融合方式加強(qiáng)了模型對(duì)小目標(biāo)的靈敏度,并用柔軟的非極大值抑制(soft-non maximum suppression,Soft-NMS)替換非極大值抑制(nonmaximum suppression,NMS)等策略對(duì)更快的基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)(faster region based convolution neural network,F(xiàn)aster R-CNN)進(jìn)行改進(jìn),緩解了二輪車乘客漏檢問(wèn)題。文獻(xiàn)[4]在YOLOv3(you only look once version3)基礎(chǔ)上,引入通道和空間注意力模塊,用密集連接網(wǎng)絡(luò)模塊(denseblock)構(gòu)建空間金字塔,顯著提升了電動(dòng)自行車頭盔佩戴的檢測(cè)精度; 文獻(xiàn)[5]選用YOLOv5s模型為基礎(chǔ)框架,為減少參數(shù)量,以GhostBottleneck模塊取代卷積模塊,并對(duì)特征提取網(wǎng)絡(luò)進(jìn)行優(yōu)化,有效改善了密集場(chǎng)景下小目標(biāo)的泛化能力;文獻(xiàn)[6]在單一的多錨框檢測(cè)器(single shot multi-box detector,SSD)算法的基礎(chǔ)上引入多個(gè)注意力模塊,采用Mosaic數(shù)據(jù)增強(qiáng)方式,并用余弦衰減學(xué)習(xí)率優(yōu)化網(wǎng)絡(luò),顯著提升了網(wǎng)絡(luò)對(duì)摩托車駕駛?cè)藛T頭盔佩戴的檢出率;文獻(xiàn)[7]為了提高頭盔檢測(cè)器的準(zhǔn)確率,設(shè)計(jì)了兩個(gè)檢測(cè)網(wǎng)絡(luò),首先使用YOLOv5檢測(cè)車體,然后將其輸出結(jié)果作為第二個(gè)頭盔檢測(cè)網(wǎng)絡(luò)的輸入,頭盔檢測(cè)網(wǎng)絡(luò)加入了注意力,有效改善了頭盔檢測(cè)的性能。

以上基于深度學(xué)習(xí)的頭盔檢測(cè)模型雖在一定程度上提高了檢測(cè)效果,但仍存有下列不足:

(Ⅰ)現(xiàn)有頭盔檢測(cè)模型大多只關(guān)注騎乘人員的頭部區(qū)域,忽略了非機(jī)動(dòng)車車體和騎乘人員的整體性,模型僅能學(xué)習(xí)到頭部的局部特征信息,只對(duì)人頭進(jìn)行檢測(cè),會(huì)把區(qū)域內(nèi)的非騎乘者劃為待檢目標(biāo),造成資源浪費(fèi),且有悖于頭盔檢測(cè)模型的設(shè)計(jì)初衷。

(Ⅱ)模型的泛化性和魯棒性較弱。由于頭盔檢測(cè)的任務(wù)環(huán)境與檢測(cè)目標(biāo)均處于高速移動(dòng)的運(yùn)動(dòng)狀態(tài),捕獲到的頭盔圖像會(huì)存在一定的模糊感,同時(shí)由于目標(biāo)對(duì)象距離拍攝點(diǎn)的遠(yuǎn)近不同,圖像尺度存在顯著變換的問(wèn)題,會(huì)造成物體特征難以區(qū)分。在擁擠的交通場(chǎng)景中,目標(biāo)重疊嚴(yán)重,而遠(yuǎn)距離的小目標(biāo)在整個(gè)圖像中占比面積小,存在感較弱,現(xiàn)有模型在上述場(chǎng)景中很難發(fā)揮作用,導(dǎo)致漏檢。

(Ⅲ)模型特征融合性不足。隨著網(wǎng)絡(luò)層數(shù)的加深,頭盔圖像的底層紋理信息丟失嚴(yán)重,無(wú)法捕獲關(guān)鍵位置信息會(huì)導(dǎo)致模型對(duì)頭盔圖像的相關(guān)特征學(xué)習(xí)不徹底,從而無(wú)法區(qū)分與安全頭盔外形極其相似的其他帽子(類如草帽、鴨舌帽、遮陽(yáng)帽等),造成誤檢。

(Ⅳ)公開數(shù)據(jù)集的缺乏也給非機(jī)動(dòng)車頭盔檢測(cè)研究帶來(lái)了一定限制。

為了解決以上問(wèn)題,本文自建一套騎行頭盔佩戴圖像數(shù)據(jù)集Datasets-Helmets,提出一種基于YOLOv5s的非機(jī)動(dòng)車安全頭盔佩戴檢測(cè)算法YOLOv5s-BC,重點(diǎn)研究如何提升網(wǎng)絡(luò)的特征提取能力,加強(qiáng)網(wǎng)絡(luò)對(duì)圖像的特征信息的提取,以提升網(wǎng)絡(luò)模型的檢測(cè)精度,降低漏檢率和誤檢率。

1 相關(guān)介紹

YOLOv5算法在YOLOv4[8]的基礎(chǔ)上進(jìn)行改進(jìn),YOLOv5系列共有4個(gè)不同的網(wǎng)絡(luò),分別是YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x。考慮到交通監(jiān)控現(xiàn)場(chǎng)投放的大多是算力偏低的嵌入式設(shè)備和低分辨率攝像頭,從項(xiàng)目落地的經(jīng)濟(jì)實(shí)用性出發(fā),本文最終選用YOLOv5系列中模型最小的YOLOv5s網(wǎng)絡(luò)作為非機(jī)動(dòng)車安全頭盔佩戴檢測(cè)算法的基準(zhǔn)網(wǎng)絡(luò)。圖1為YOLOv5s模型的結(jié)構(gòu)圖,主要由3部分組成:特征提取網(wǎng)絡(luò)(即骨干網(wǎng)絡(luò))、特征融合網(wǎng)絡(luò)(即頸部網(wǎng)絡(luò))和預(yù)測(cè)端。

圖1 YOLOv5s算法結(jié)構(gòu)圖

對(duì)于一個(gè)640 pixel*640pixel大小的輸入特征圖,在骨干網(wǎng)絡(luò)依次經(jīng)過(guò)切片模塊(focus)、BottleneckCSP結(jié)構(gòu)(cross stage partial)和空間金字塔池化結(jié)構(gòu)(spatial pyramid pooling,SPP)[9]完成的8倍、16倍的32倍下采樣操作,生成3個(gè)尺度為80 pixel*80 pixel、40 pixel*40 pixel、20 pixel*20 pixel的特征映射層;在進(jìn)入到頸部網(wǎng)絡(luò)后,經(jīng)過(guò)一個(gè)自頂向下的特征金字塔網(wǎng)絡(luò)結(jié)構(gòu)(feature pyramid network,FPN)[10]網(wǎng)絡(luò)和一個(gè)自底向上的路徑聚合特征金字塔結(jié)構(gòu)(path aggregation network,PAN)[11]將高層語(yǔ)義信息和底層位置信息進(jìn)行聚合,得到3個(gè)融合后的有效特征輸出層,并傳入預(yù)測(cè)層;預(yù)測(cè)端3個(gè)檢測(cè)層分別是80 pixel*80 pixel、40 pixel*40 pixel和20 pixel*20 pixel的特征圖,分別對(duì)應(yīng)小、中、大三種物體,檢測(cè)層的每個(gè)網(wǎng)格會(huì)生成3個(gè)預(yù)測(cè)框,對(duì)應(yīng)預(yù)測(cè)目標(biāo)的置信度、類別和位置信息,最后由NMS將得分最高的預(yù)測(cè)目標(biāo)框、預(yù)測(cè)類別、預(yù)測(cè)置信度輸出,從而在頭盔檢測(cè)任務(wù)中完成整個(gè)檢測(cè)流程。

由于頭盔在整個(gè)圖像中占比面積小,隨著網(wǎng)絡(luò)的逐漸加深,頭盔圖像關(guān)鍵信息有丟失的風(fēng)險(xiǎn),所以加強(qiáng)頭盔檢測(cè)網(wǎng)絡(luò)模型的特征提取能力和特征融合能力至關(guān)重要。本文重點(diǎn)圍繞這一方面展開對(duì)基于YOLOv5s頭盔佩戴檢測(cè)算法的研究,并提出了非機(jī)動(dòng)車頭盔佩戴檢測(cè)算法YOLOv5s-BC。針對(duì)頭盔圖像特征相似性高,最大池化會(huì)損失小尺度的頭盔圖像特征信息的問(wèn)題,提出用SoftPool替代最大池化,保留更多的頭盔圖像細(xì)粒度特征信息,以緩解密集場(chǎng)景中小目標(biāo)的漏檢情況。針對(duì)原YOLOv5s在密集場(chǎng)景下,由于人和車遮擋嚴(yán)重而出現(xiàn)的漏檢問(wèn)題以及對(duì)與頭盔相似度高的其他帽子的誤檢問(wèn)題,提出一種嵌入坐標(biāo)注意力機(jī)制的加權(quán)雙向特征融合網(wǎng)絡(luò)模塊,跨階段連接加強(qiáng)不同層級(jí)之間的聯(lián)系,并提升底層網(wǎng)絡(luò)的利用率,有效緩解密集場(chǎng)景下的漏檢情況,并且將融合后的特征信息又嵌入了坐標(biāo)位置信息,提高模型對(duì)頭盔圖像的方向感知靈敏度,幫助模型學(xué)習(xí)到頭盔圖像的關(guān)鍵特征信息,以正確區(qū)分安全頭盔和其他帽子的不同,降低誤檢率。針對(duì)原YOLOv5s模型中使用的GIoU回歸定位不準(zhǔn)確的問(wèn)題,提出用更高效的EIoU損失函數(shù)作為模型的定位損失,對(duì)非機(jī)動(dòng)車車體、騎乘人員以及頭盔精準(zhǔn)定位。

2 改進(jìn)的YOLOv5s-BC算法

2.1 SoftPool

在常見的深度學(xué)習(xí)算法改進(jìn)方法中,鮮有改進(jìn)池化層,但池化又是卷積神經(jīng)網(wǎng)絡(luò)中非常關(guān)鍵的組成部分:通過(guò)減少特征圖尺寸以減少內(nèi)存開銷,從而支持模型創(chuàng)建更深層次的結(jié)構(gòu);不增加網(wǎng)絡(luò)參數(shù),可以緩解網(wǎng)絡(luò)過(guò)擬合風(fēng)險(xiǎn)。而目前卷積神經(jīng)網(wǎng)絡(luò)大多依賴最大池化、平均池化或兩種池化組合的形式,如原YOLOv5s算法模型中的SPP結(jié)構(gòu)使用的是4個(gè)內(nèi)核不同的最大池化過(guò)濾器,這種池化方式僅將內(nèi)核中的局部最大值參與到后續(xù)的卷積映射中,以凸顯圖像中最顯著的特征信息,而這極有可能丟失圖像中重要的細(xì)節(jié)信息。相比之下,平均池化雖考慮了區(qū)域的所有特征,能保留更多背景信息,但取平均值后又弱化了明顯的特征,降低了區(qū)域的目標(biāo)特征強(qiáng)度[12]。而文獻(xiàn)[13]提出軟池化SoftPool方法,其核心思想是對(duì)感受野中的所有像素以加權(quán)求和的方式映射到下一層,保證較高激活比較低激活占據(jù)高主導(dǎo)位,是一種更加平衡的池化方法。

圖2是SoftPool實(shí)現(xiàn)方式的示意圖,以2 pixel*2 pixel大小的池化核為例,權(quán)重表達(dá)式如式(1)所示:

圖2 SoftPool實(shí)現(xiàn)方式示意圖

(1)

其中:R為區(qū)域內(nèi)所有像素的集合;wi為感受野內(nèi)每個(gè)像素的權(quán)重,以自然指數(shù)為基礎(chǔ),采用Softmax加權(quán)算子權(quán)衡激活效果,做非線性變換,經(jīng)過(guò)Softmax函數(shù)得到的歸一化結(jié)果和區(qū)域激活值成正比,即當(dāng)前像素點(diǎn)的值越大,分配的權(quán)重越高,對(duì)結(jié)果的影響越大。將得到的權(quán)重wi和區(qū)域R內(nèi)所有的激活加權(quán)求和,形成最終的池化輸出,如式(2)所示:

(2)

由式(2)可以看出,SoftPool是可微的,即在反向傳播過(guò)程中可以不斷更新梯度值,得以保證每個(gè)激活都至少會(huì)分配一個(gè)最小梯度,從而加快模型收斂速度,提高訓(xùn)練效果[14]。所以本文將原YOLOv5s算法中SPP結(jié)構(gòu)中的4個(gè)最大池化均替換成SoftPool,改進(jìn)后的Soft-SPP模塊結(jié)構(gòu)圖如圖3所示。由于SoftPool能有效平衡最大池化和平均池化的影響,并利用兩者的有利屬性,保留更多特征細(xì)粒度信息,增大鄰域特征的區(qū)分度,改進(jìn)后的Soft-SPP模塊能最大程度的保留圖像中的特征信息,在一定程度上可以提高模型的檢測(cè)精度。

圖3 改進(jìn)后的Soft-SPP結(jié)構(gòu)

2.2 融合注意力機(jī)制的加權(quán)雙向特征聚合網(wǎng)絡(luò)BiFPN-CA

2.2.1 雙向加權(quán)特征金字塔結(jié)構(gòu)BiFPN

在目標(biāo)檢測(cè)算法中,通常采用構(gòu)建特征金字塔結(jié)構(gòu)的形式來(lái)融合不同層級(jí)的語(yǔ)義信息,以緩解因網(wǎng)絡(luò)層數(shù)不斷加深產(chǎn)生的圖像特征丟失問(wèn)題。在YOLOv5s模型中使用的是一個(gè)自底向上的PAN網(wǎng)絡(luò)結(jié)構(gòu),把來(lái)自不同路徑且寬高尺寸相同的特征圖在通道維度上進(jìn)行簡(jiǎn)單相加,這種聚合網(wǎng)絡(luò)結(jié)構(gòu)默認(rèn)所有輸入特征對(duì)輸出特征的貢獻(xiàn)是一致,但谷歌團(tuán)隊(duì)認(rèn)為不同分辨率的輸入特征圖對(duì)輸出特征圖的影響是不同的,為此提出一種雙向加權(quán)特征金字塔網(wǎng)絡(luò)結(jié)構(gòu)(bidirectional feature pyramid network,BiFPN)[15],即在不同層級(jí)的網(wǎng)絡(luò)進(jìn)行堆疊融合時(shí)引入可學(xué)習(xí)權(quán)值,使網(wǎng)絡(luò)不斷調(diào)整權(quán)重以學(xué)習(xí)不同輸入特征的重要性。圖4a為BiFPN結(jié)構(gòu)圖。圖4中,P3~P7是原網(wǎng)絡(luò)模型的5個(gè)輸入節(jié)點(diǎn)。

本文受文獻(xiàn)[16]啟發(fā),將加權(quán)雙向融合的思想運(yùn)用到Y(jié)OLOv5s模型中,并結(jié)合PAN網(wǎng)絡(luò)結(jié)構(gòu)做進(jìn)一步的優(yōu)化:減少BiFPN的輸入節(jié)點(diǎn)個(gè)數(shù)以適應(yīng)原模型的3個(gè)輸入有效特征層;刪除只有一個(gè)方向的輸入節(jié)點(diǎn),因其對(duì)網(wǎng)絡(luò)的貢獻(xiàn)較??;在同一尺度的輸入節(jié)點(diǎn)到輸出節(jié)點(diǎn)之間加一個(gè)跳躍連接,以實(shí)現(xiàn)最大程度的特征融合。由此提出簡(jiǎn)化版雙向跨尺度特征融合金字塔網(wǎng)絡(luò)結(jié)構(gòu),記作BiFPN-Short,圖4b為BiFPN-Short的結(jié)構(gòu)圖。

(a) BiFPN (b) BiFPN-Short

在BiFPN-Short結(jié)構(gòu)中,P3~P5是3個(gè)輸入節(jié)點(diǎn),每個(gè)輸出節(jié)點(diǎn)的數(shù)學(xué)表達(dá)式如式(3)~(6)所示:

(3)

(4)

(5)

(6)

2.2.2 引入坐標(biāo)注意力機(jī)制的BiFPN-Short

雖然BiFPN-Short特征融合網(wǎng)絡(luò)以雙向加權(quán)的形式聚合了不同層的語(yǔ)義信息,加強(qiáng)了深淺層網(wǎng)絡(luò)的聯(lián)系,但在頭盔檢測(cè)任務(wù)中,由于車體處于不斷行駛的狀態(tài),目標(biāo)離拍攝設(shè)備的距離不同,設(shè)備捕捉到的圖像尺寸也大小不一;且當(dāng)處于車流密度較大的交通道路場(chǎng)景中,目標(biāo)之間相互遮擋,對(duì)于僅露出部分的頭部或頭盔,模型很難細(xì)致全面地學(xué)習(xí)到高質(zhì)量的特征信息,從而導(dǎo)致漏檢和誤檢。如何使模型在復(fù)雜背景下提高對(duì)目標(biāo)方向感知和位置感知的敏感度,成為需要研究和解決的關(guān)鍵問(wèn)題。

故考慮對(duì)BiFPN-Short網(wǎng)絡(luò)結(jié)構(gòu)做進(jìn)一步的優(yōu)化:即在原始特征融合網(wǎng)絡(luò)的基礎(chǔ)上,為3個(gè)加強(qiáng)輸出特征層分別插入3個(gè)坐標(biāo)注意力機(jī)制(coordinate attention,CA)[17],以實(shí)現(xiàn)對(duì)不同通道特征信息重要性的篩選。圖5是坐標(biāo)注意力機(jī)制結(jié)構(gòu)圖。坐標(biāo)注意力機(jī)制是一種將坐標(biāo)信息嵌入通道注意力的新型輕量級(jí)模塊,基本思想是將通道注意力分解為兩個(gè)并行的一維特征編碼,分別沿著高度和寬度兩個(gè)不同的空間方向聚合特征,可以更加關(guān)注目標(biāo),以增強(qiáng)復(fù)雜背景下網(wǎng)絡(luò)的特征表達(dá)能力。

圖5 坐標(biāo)注意力機(jī)制結(jié)構(gòu)圖

CA模塊將位置信息嵌入通道注意力中,主要分為2個(gè)步驟:坐標(biāo)信息嵌入和坐標(biāo)注意力生成。

第一步,將通道注意力分解為兩個(gè)一維全局池化,分別沿著水平方向(寬度)和垂直方向(高度)對(duì)每個(gè)通道進(jìn)行編碼,表達(dá)式如式(7)所示:

(7)

第二步,將2個(gè)方向上的特征圖進(jìn)行級(jí)聯(lián),之后經(jīng)過(guò)1 pixel*1 pixel共享卷積模塊和批量歸一化操作得到變換特征圖F1,以得到空間信息在水平(寬度W)和垂直方向(高度H)聚合之后的中間特征圖f,其公式如下:

f=δ(F1([zh,zw])),

(8)

其中:f∈Rc/r×(H+W),r為下采樣倍數(shù);δ為非線性激活函數(shù);F1為變換特征圖;[,]為空間維度上的級(jí)聯(lián)。

接著,將f分別沿著高度和寬度方向分割成2個(gè)獨(dú)立張量fh∈Rc/r×H和fw∈Rc/r×W,再利用兩個(gè)1 pixel*1 pixel卷積模塊(Fh,F(xiàn)w)將特征圖fh和fw變換到和輸入特征X相同的通道數(shù),從而得到兩個(gè)方向上的注意力權(quán)重gh和gw,如式(9)所示:

gh=σ(Fh(fh));gw=σ(Fw(fw)),

(9)

其中,σ為Sigmoid激活函數(shù)。

最后和原輸入特征圖進(jìn)行乘法加權(quán)計(jì)算,得到在寬度和高度上分別融合了坐標(biāo)信息的注意力權(quán)重的輸出,其表達(dá)式如式(10)所示:

(10)

在BiFPN-Short的3個(gè)輸出節(jié)點(diǎn)上分別加入CA模塊,這樣BiFPN-Short融合了包含位置坐標(biāo)間的關(guān)聯(lián)信息,模型會(huì)對(duì)方向特征和位置特征更加關(guān)注,將該模塊命名為BiFPN-CA。圖6為BiFPN-CA網(wǎng)絡(luò)模塊結(jié)構(gòu)示意圖,C1~C3是骨干網(wǎng)絡(luò)輸出的3個(gè)有效特征圖,此時(shí)作為特征聚合網(wǎng)絡(luò)的3個(gè)有效輸入層,P1~P3是經(jīng)過(guò)BiFPN-Short模塊的3個(gè)輸出特征圖。

圖6 BiFPN-CA的結(jié)構(gòu)示意圖

相較于原PAN特征聚合網(wǎng)絡(luò)模塊,BiFPN-CA在PAN基礎(chǔ)上為每條路徑均引入了可學(xué)習(xí)參數(shù),改善原網(wǎng)絡(luò)中不同輸入特征平等貢獻(xiàn)的問(wèn)題;加入跳躍連接,聚合不同分辨率的特征,以豐富特征語(yǔ)義表達(dá),實(shí)現(xiàn)多尺度特征融合;嵌入的坐標(biāo)注意力機(jī)制在不增加計(jì)算開銷的同時(shí),可以更加關(guān)注目標(biāo),增強(qiáng)復(fù)雜背景下的特征表達(dá)能力。最后將改進(jìn)后的BiFPN-CA特征融合模塊用于YOLOv5s頭盔檢測(cè)模型進(jìn)行多尺度特征融合,成為連接主干網(wǎng)絡(luò)和預(yù)測(cè)端強(qiáng)有力的紐帶。

2.3 損失函數(shù)改進(jìn)

一個(gè)優(yōu)秀的回歸損失函數(shù)應(yīng)當(dāng)考慮3個(gè)關(guān)鍵的幾何因素:兩框重疊面積、兩框中心點(diǎn)距離、兩框長(zhǎng)寬比。原YOLOv5s算法使用的損失函數(shù)是GIoU-Loss[18],公式如式(11)所示:

(11)

其中:N為目標(biāo)框與預(yù)測(cè)框的最小外接矩形;(A∪B)為兩框的并集。GIoU強(qiáng)調(diào)兩框重疊區(qū)域和非重疊區(qū)域,所以它緩解了IoU存在的無(wú)法優(yōu)化兩框不相交以及無(wú)法反映兩框如何相交[19]的問(wèn)題。

但GIoU并沒有考慮兩框的相對(duì)位置和長(zhǎng)寬比,當(dāng)預(yù)測(cè)框位于目標(biāo)框的內(nèi)部,即(A∪B)相同,兩框最小外接矩形N也相同,此時(shí)GIoU退化成IoU。針對(duì)GIoU損失函數(shù)回歸不準(zhǔn)確問(wèn)題,本文引入LEIoU(efficient intersection over union-loss,EIoU-Loss)[20],如公式(12)所示:

LEIoU=LIoU+Ldis+Lasp=

(12)

其中:LIoU為重疊面積損失;Ldis為中心距離損失;Lasp為寬高損失;ρ2(b,bgt)為兩框中心點(diǎn)歐氏距離;c為最小外接矩形對(duì)角線長(zhǎng)度;ρ2(w,wgt)和ρ2(h,hgt)分別為兩框在寬度和高度上的歐氏距離;Cw和Ch分別為最小外接矩形真實(shí)寬度和高度。EIoU-Loss損失將兩框縱橫比拆成兩框在寬度和高度上分別與最小外接矩形寬高的比值,從而使回歸定位更精準(zhǔn)。

3 實(shí)驗(yàn)平臺(tái)與結(jié)果分析

3.1 數(shù)據(jù)集采集和標(biāo)注

由于目前尚沒有公開的非機(jī)動(dòng)車頭盔數(shù)據(jù)集,本文在桂林市凱風(fēng)路非機(jī)動(dòng)車車道實(shí)地拍攝了3 284張包含多種交通情景的頭盔圖像,部分?jǐn)?shù)據(jù)集樣本如圖7所示。圖7a~圖7f分別表示不同擁堵情景、不同天氣條件、不同光線條件、不同拍攝角度,佩戴不同帽子、不同車型等6種不同交通情景的非機(jī)動(dòng)車頭盔佩戴圖像。

(a)不同擁擠情景 (b)不同天氣條件 (c)不同光線條件 (d)不同拍攝角度 (e)佩戴其他帽子 (f)不同車型

將搜集到的頭盔圖像分類整理后,利用LambelImg軟件對(duì)其進(jìn)行人工標(biāo)注,以生成包含目標(biāo)類別和目標(biāo)框坐標(biāo)信息的XML格式的數(shù)據(jù)文件。根據(jù)非機(jī)動(dòng)車頭盔檢測(cè)的任務(wù)設(shè)定,設(shè)置4種標(biāo)簽類別:“Motor”(非機(jī)動(dòng)車車體)、“Helmet(戴有頭盔)”、“Head(未戴頭盔)”、“Non-helmet(佩戴其他帽子)”。為了使算法在車體和騎乘人員頭部佩戴頭盔的狀態(tài)之間建立聯(lián)系,在標(biāo)注時(shí),將2者視作1個(gè)整體,一同標(biāo)記為“Motor”。最后將標(biāo)記后的數(shù)據(jù)照片按8∶1∶1比例隨機(jī)劃分為訓(xùn)練集(2 627張)、驗(yàn)證集(328張)、測(cè)試集(328張)。在訓(xùn)練集中Motor、Helmet、Head、Non-helmet分別被標(biāo)記8 598、6 255、6 107、5 772次。

3.2 實(shí)驗(yàn)環(huán)境

本實(shí)驗(yàn)以NVIDIA GeForce RTX 3060處理器為平臺(tái),CPU為Gen Intel(R)Core(TM)i7-11800H,操作系統(tǒng)為Windows10,內(nèi)存32 GB,顯存11 GB。Pytorch深度學(xué)習(xí)框架,CUNA 11.1版本,Pytorch 1.8.0版本,IDE環(huán)境為Pycharm 2021,編程語(yǔ)言為Python3.8.6,Anaconda 3作為包管理器。并使用隨機(jī)梯度下降優(yōu)化器(stochastic gradient descent,SGD)對(duì)網(wǎng)絡(luò)參數(shù)進(jìn)行更新優(yōu)化。訓(xùn)練超參數(shù)設(shè)置如表1所示。

表1 訓(xùn)練超參數(shù)設(shè)置

3.3 評(píng)價(jià)指標(biāo)

采用目標(biāo)檢測(cè)領(lǐng)域主流的評(píng)測(cè)指標(biāo)定量評(píng)估算法性能:平均精度均值(mean average precision,mAP),計(jì)算如公式(13)所示;考慮在頭盔佩戴檢測(cè)的實(shí)際應(yīng)用場(chǎng)景中,實(shí)時(shí)性不可忽視,故將每秒檢測(cè)幀數(shù)(frames per second,F(xiàn)PS)也作為本實(shí)驗(yàn)的評(píng)價(jià)指標(biāo)之一,通常30幀/s就可滿足實(shí)時(shí)檢測(cè)要求。

(13)

其中:classes為檢測(cè)的類別數(shù),在頭盔檢測(cè)任務(wù)中,類別數(shù)為4;P和R分別為準(zhǔn)確率(precision)和召回率(recall),公式如(14)和(15)所示:

(14)

(15)

其中:TP為正確預(yù)測(cè)為正樣本的數(shù)量;FP為錯(cuò)誤預(yù)測(cè)為正樣本的數(shù)量;FN為錯(cuò)誤預(yù)測(cè)為負(fù)樣本的數(shù)量[21]。

3.4 實(shí)驗(yàn)過(guò)程

3.4.1 消融實(shí)驗(yàn)

為了驗(yàn)證YOLOv5s-BC算法的有效性,設(shè)置消融對(duì)比實(shí)驗(yàn)以驗(yàn)證每個(gè)改進(jìn)策略對(duì)模型性能的影響,實(shí)驗(yàn)考慮了Soft-SPP模塊、BiFPN-CA模塊、EIoU-Loss損失函數(shù)3個(gè)因素,依次將3個(gè)改進(jìn)策略添加到原YOLOv5s算法模型中,在同一實(shí)驗(yàn)條件下,訓(xùn)練300輪次,訓(xùn)練結(jié)果如表2所示。表2中,√表示在當(dāng)前實(shí)驗(yàn)中使用該改進(jìn)策略。

表2 不同改進(jìn)方法的實(shí)驗(yàn)結(jié)果性能對(duì)比

由表2可知:YOLOv5s-1實(shí)驗(yàn)代表原YOLOv5s算法,其mAP達(dá)到92.1%;YOLOv5s-2實(shí)驗(yàn)增添Soft-SPP模塊,相較于YOLOv5s-1,mAP提升1.3%;YOLOv5s-3實(shí)驗(yàn)在YOLOv5s-2的基礎(chǔ)上添加了BiFPN-CA模塊,mAP提升4.1%,可見本文提出的嵌入坐標(biāo)注意力機(jī)制的雙向跨階段特征融合結(jié)構(gòu)取得了可觀的效果。YOLOv5s-BC也即本文方法在YOLOv5s-3的基礎(chǔ)上優(yōu)化了EIoU損失函數(shù),mAP提升了0.9%,比YOLOv5s-1上漲了6.3%。由于添加的3個(gè)模塊引入了部分參數(shù),檢測(cè)速度相較于原YOLOv5s模型出現(xiàn)了小幅下降,但也達(dá)到了58.69幀/s,可以滿足實(shí)時(shí)檢測(cè)的水平。由此可見,本文改進(jìn)的頭盔佩戴檢測(cè)算法YOLOv5s-BC在檢測(cè)精度方面較原算法得到了較大提升,同時(shí)推理速度也沒有大幅降低的趨勢(shì),具有一定的可行性。

3.4.2 對(duì)比分析實(shí)驗(yàn)

為了進(jìn)一步驗(yàn)證YOLOv5s-BC算法的優(yōu)越性,設(shè)置第二組對(duì)比實(shí)驗(yàn),即將本文改進(jìn)的算法YOLOv5s-BC同二階段目標(biāo)檢測(cè)算法的代表Faster R-CNN,一階段目標(biāo)檢測(cè)算法的代表SSD、YOLOv3、YOLOv4以及YOLOv5等目標(biāo)檢測(cè)領(lǐng)域主流的算法在同一實(shí)驗(yàn)環(huán)境下,使用同一套數(shù)據(jù)集,采用同樣訓(xùn)練策略訓(xùn)練300輪次,實(shí)驗(yàn)統(tǒng)計(jì)結(jié)果如表3所示。圖8為各模型算法的訓(xùn)練損失對(duì)比圖。

表3 主流算法模型的實(shí)驗(yàn)結(jié)果對(duì)比

圖8 各模型的訓(xùn)練損失對(duì)比圖

由表3和圖8可知:改進(jìn)后的YOLOv5s-BC算法在檢測(cè)精度上高達(dá)98.4%,模型訓(xùn)練損失最小,相較于其他算法,YOLOv5s-BC模型收斂最快,大約在150輪達(dá)到穩(wěn)定狀態(tài),且沒有出現(xiàn)過(guò)擬合和欠擬合的趨勢(shì),整體性能明顯優(yōu)于其他主流算法,F(xiàn)aster R-CNN的檢測(cè)精度雖然達(dá)到了96.2%,但其檢測(cè)速度太慢,難以實(shí)現(xiàn)頭盔的實(shí)時(shí)檢測(cè)。在檢測(cè)速度方面,改進(jìn)后的YOLOv5s-BC算法達(dá)到了58.69幀/s,比Faster R-CNN高出39幀/s,快了將近3倍,比SSD高出11.85幀/s,快了1.25倍,相較于同一系列的YOLOv3和YOLOv4均有所增加。由于新增模塊增添了部分參數(shù),導(dǎo)致推理速率比原YOLOv5s模型有所下降,但也完全可以滿足檢測(cè)任務(wù)的實(shí)時(shí)性??傮w而言,相比于其他主流算法,YOLOv5s-BC算法在頭盔檢測(cè)數(shù)據(jù)集上取得了最優(yōu)性能。

3.5 檢測(cè)結(jié)果

在同一實(shí)驗(yàn)條件下,用328張頭盔圖像的測(cè)試集對(duì)各個(gè)訓(xùn)練模型進(jìn)行測(cè)試,檢測(cè)結(jié)果可視化如圖9所示,第1列到第6列依次為Faster R-CNN、SSD、YOLOv3、YOLOv4、YOLOv5s以及YOLOv5s-BC模型分別在雨天場(chǎng)景、夜晚場(chǎng)景以及密集場(chǎng)景下的檢測(cè)效果。從一行的雨天場(chǎng)景的對(duì)比結(jié)果圖中可以看出,面對(duì)和安全頭盔外形極其相似的雨衣帽時(shí),只有YOLOv5s-BC模型正確將其識(shí)別為“Non-Helmet(非安全頭盔)”,其他算法模型均誤檢為“Helmet(頭盔)”;在第2行中的夜晚場(chǎng)景中,所有模型的檢測(cè)性能均欠佳,YOLOv5s-BC模型雖正確定位到了車體和人員的頭部區(qū)域,但檢測(cè)精度并不高,這是因?yàn)橐雇砉饩€較暗,且存在車燈的強(qiáng)光干擾,騎乘人員的頭部區(qū)域人眼也不易識(shí)辨,模型很難對(duì)其進(jìn)行準(zhǔn)確定位;在第3行的密集場(chǎng)景中,由于車體和騎乘人員相互遮擋嚴(yán)重,相比于YOLOv5s-BC模型,其他模型均有一定的漏檢。由此可見,本文改進(jìn)的非機(jī)動(dòng)車安全頭盔佩戴檢測(cè)算法YOLOv5s-BC模型相比于其他主流模型具有較強(qiáng)的泛化性和魯棒性,取得了更好的檢測(cè)性能。

圖9 不同交通場(chǎng)景下各檢測(cè)模型效果對(duì)比圖

4 結(jié)束語(yǔ)

針對(duì)現(xiàn)有頭盔檢測(cè)算法在密集場(chǎng)景中的漏檢以及對(duì)其他和頭盔高度相似的帽子的誤檢問(wèn)題,本文通過(guò)實(shí)地取景拍攝自建一套涵蓋多種交通場(chǎng)景的非機(jī)動(dòng)車騎乘者佩戴頭盔的圖像數(shù)據(jù)集,具有一定的真實(shí)性,并提出一種非機(jī)動(dòng)車安全頭盔佩戴檢測(cè)方法YOLOv5s-BC。首先,針對(duì)原SPP 結(jié)構(gòu)中使用的最大池化在進(jìn)行下采樣時(shí)會(huì)丟失大量信息,提出用3個(gè)SoftPool取代原有的3個(gè)最大池化層,以最大程度保留非機(jī)動(dòng)車車體、頭盔、人頭的特征信息和細(xì)粒度特征,mAP可提升1.3%;然后,針對(duì)原YOLOv5模型中的特征融合網(wǎng)絡(luò)融合性欠佳,提出將BiFPN結(jié)構(gòu)應(yīng)用到模型中,加入一條跳躍連接實(shí)現(xiàn)跨階段連接,加強(qiáng)了深淺層網(wǎng)絡(luò)的聯(lián)系,并將坐標(biāo)注意力機(jī)制嵌入到BiFPN結(jié)構(gòu)中,構(gòu)建一個(gè)加強(qiáng)版特征融合模塊,以增強(qiáng)有效特征信息的表達(dá),mAP提升了6.4%;最后,選用EIoU損失函數(shù)優(yōu)化邊框損失,以對(duì)目標(biāo)進(jìn)行精準(zhǔn)定位。

實(shí)驗(yàn)結(jié)果表明,本文提出的頭盔檢測(cè)算法模型,精度高達(dá)98.4%,推理速度可達(dá)58.69幀/s,檢測(cè)性能明顯優(yōu)于其他算法。測(cè)試結(jié)果表明,本文提出的頭盔佩戴檢測(cè)算法在諸多道路環(huán)境中都取得了較好的成績(jī),具有一定的穩(wěn)定性。特別是在車流密集場(chǎng)景中和光線較弱且有車燈干擾的夜晚場(chǎng)景中,YOLOv5s-BC頭盔檢測(cè)算法明顯改善了漏檢問(wèn)題;同時(shí),模型在識(shí)別其他和頭盔高度相似的帽子時(shí),能正確區(qū)分出差異特征,不會(huì)誤檢。下一步將重點(diǎn)探討如何將改進(jìn)后的網(wǎng)絡(luò)模型嵌入到移動(dòng)設(shè)備端,以實(shí)現(xiàn)非機(jī)動(dòng)車頭盔佩戴檢測(cè)項(xiàng)目的實(shí)際應(yīng)用。

猜你喜歡
池化頭盔特征
根據(jù)方程特征選解法
基于高斯函數(shù)的池化算法
離散型隨機(jī)變量的分布列與數(shù)字特征
卷積神經(jīng)網(wǎng)絡(luò)中的自適應(yīng)加權(quán)池化
犬用戰(zhàn)術(shù)頭盔
不忠誠(chéng)的四個(gè)特征
基于卷積神經(jīng)網(wǎng)絡(luò)和池化算法的表情識(shí)別研究
用于手寫漢字識(shí)別的文本分割方法
漢字戴頭盔
時(shí)光減速頭盔
大邑县| 平利县| 娱乐| 林口县| 霍州市| 凤冈县| 庆阳市| 双桥区| 林甸县| 安顺市| 三原县| 石柱| 赣榆县| 普宁市| 江孜县| 体育| 商洛市| 奎屯市| 竹北市| 巍山| 津南区| 达孜县| 沂源县| 滨海县| 灵台县| 德兴市| 安福县| 尼木县| 黄山市| 通江县| 岳西县| 宜城市| 内江市| 车致| 龙南县| 马尔康县| 乐亭县| 长海县| 徐汇区| 嘉定区| 黄龙县|