焦 波,焦良葆,2,吳繼薇,祝 陽,高 陽
(1.南京工程學院 人工智能產(chǎn)業(yè)技術研究院,南京 211167;2.江蘇省智能感知技術與裝備工程研究中心,南京 211167)
近年來,隨著國家綜合實力的不斷提高,各種類型的機動車作為主要的交通工具已經(jīng)慢慢成為人們的必要選擇,但是各類機動車的過度使用也對人們的安全有著極大的隱患[1]。據(jù)中國交通事故工作組調(diào)查結(jié)果數(shù)據(jù)顯示:在542起車輛正面碰撞事故中,系安全帶可以使車內(nèi)人員的死亡率降低71%:在487起側(cè)面碰撞事故中,正確佩戴安全帶可以使車內(nèi)人員的死亡率降低67%;在114起車輛翻滾事故中,正確佩戴安全帶可以使車內(nèi)人員的死亡概率降低78%[2]。因此,正確佩戴安全帶對車內(nèi)人員的人身安全具有重要意義。
現(xiàn)實生活中許多人的安全意識不高,經(jīng)常忘記佩戴汽車安全帶。為解決這一問題,經(jīng)常使用的方案有兩種:一種方式是車內(nèi)管理人員往往通過人工方式強調(diào)要佩戴安全帶,這種方式不僅效率低,而且實時性差;另一種安全帶警示的主要方式為車內(nèi)安裝安全帶報警裝置,確認方式為卡口正確插入則解除連續(xù)報警聲音,但是現(xiàn)在很多車內(nèi)人員在車輛行駛過程中存在著有意躲避傳感器提示的行為。
隨著計算機視覺的快速發(fā)展,相關技術憑借檢測效率高、人工成本低等優(yōu)勢有效彌補了傳統(tǒng)人工檢測和基于傳感器檢測方法的不足,通過計算機視覺技術對車載攝像頭或者交通監(jiān)控視頻進行駕駛員安全帶檢測已經(jīng)成為必然的研究趨勢[3]。而近年來基于深度學習的汽車駕駛員安全帶檢測算法能實現(xiàn)更高的檢測精度,能夠提取到駕駛員安全帶更深層次的特征,這在一定程度上解決了傳統(tǒng)目標檢測精度不高和魯棒性差的問題[4]?;谏疃葘W習的目標檢測算法在步驟上包括雙階段(Two-stage)和單階段(One-stage)兩種目標檢測框架[5]。雙階段目標檢測是在處理過程中先確定出樣本的候選框,接著對樣本通過卷積神經(jīng)網(wǎng)絡CNN分類,其主要以R-CNN、Fast R-CNN、Faster R-CNN網(wǎng)絡為代表;而單階段目標檢測是在處理時不產(chǎn)生候選框,直接在一定回歸分析基礎上實現(xiàn)目標檢測,其主要以YOLO和SSD(Single Shot Multibox Detector)等基于回歸的目標檢測框架。
目前,YOLO模型是當前安全帶檢測研究的主流方向?;趩坞A段檢測的車載人員安全帶佩戴檢測方法在檢測速度上更具實時性,但易受復雜背景和遮擋的干擾,造成檢測精度下降。殷遠齊等人[6]將CBAM[7]注意力機制的方法引入到Y(jié)OLOv4算法中,大大提升了目標車輛檢測的準確率。牛洪超等人[8]提出一種基于改進YOLOv5算法的多層特征融合算法M-YOLO用于自動駕駛下的目標識別。田坤等人[9]采用深度學習多層次網(wǎng)絡訓練和模型級聯(lián)的方式,基于YOLO v3快速定位汽車主駕駛區(qū)域,使用極限學習機作為分類器,提高了駕駛員安全帶區(qū)域分類的準確性和系統(tǒng)的魯棒性。Hosseini等人[10]使用YOLOv5s模型將ResNet34模型與空間金字塔池(SPP)、時間金字塔池(TPP)和冪均值變換(PMT)層相組合的方式,檢測汽車乘員和駕駛員的安全帶違規(guī)行為。
為了有效提高對于車載人員佩戴安全帶行為的檢測精度以及檢測的準確率,本文以YOLOv5s 6.0版本的YOLOv5s(You Only Look Once v5s)進行改進。通過在原骨干網(wǎng)絡中嵌入ECA模塊,該模塊能在眾多復雜環(huán)境中選擇出當前更加關注的信息,提升對于輸入特征圖的通道特征的加強;由于車載內(nèi)多物件的特殊環(huán)境,為做好對安全帶進一步的特征提取是非常有必要的,于是引入可以增強感受野的RFB模塊,進一步提升網(wǎng)絡的特征融合能力;更換損失函數(shù)為EIoU,使網(wǎng)絡處理預測框與真實框更加完善,提高檢測目標框的準確性。
YOLOv5是一種單階段目標檢測算法,相比較之前一代,它汲取了許多優(yōu)秀網(wǎng)絡結(jié)構(gòu)的優(yōu)點,精度更高速度也更快,已經(jīng)能夠做到實時性檢測目標[11]。根據(jù)網(wǎng)絡的不同深度和寬度、它可以分成YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x 共4個版本。在這些模型中,YOLOv5s的網(wǎng)絡結(jié)構(gòu)相較于其他3個版本更為簡潔,計算資源消耗最少,同時也更容易移植到其他平臺。YOLOv5s模型主要包括圖片輸入端、Backbone網(wǎng)絡、Neck網(wǎng)絡及輸出層等4部分。YOLOv5s 6.0版本網(wǎng)絡結(jié)構(gòu)如圖1所示。
圖1 YOLOv5 6.0 版本網(wǎng)絡結(jié)構(gòu)圖
YOLOv5的輸入端采用了與YOLOv4相同的Mosaic數(shù)據(jù)強化方式,該方式將4張不同的圖片通過自由排布、縮放、裁剪進行拼接,由此豐富圖片。這種方式下不僅可以減少GPU,而且可以提升該網(wǎng)絡的訓練速度和識別準確率。其次,提出一種自適應錨框計算,基于初始錨框基礎上,計算輸出框與預測框之間的差值,再反饋給網(wǎng)絡。對比YOLOv3、YOLOv4,都是通過獨自運行程序計算初始錨框的。但在YOLOv5中,算法能自己推理不同訓練集中的最佳錨框值,這是因為將初始錨框功能融入代碼中。最后提出自適應圖片縮放方法,數(shù)據(jù)集中的圖片其尺寸大概率不盡相同的,YOLO算法在訓練時需要統(tǒng)一圖片規(guī)格大小。但在此過程中,容易造成圖片排布不恰當,產(chǎn)生大量黑邊,就會導致推理過多不必要的信息,影響運行效率。進而YOLOv5為解決這一問題,添加了自適應縮放方法[12]。
Backone骨干網(wǎng)絡的主要作用就是提取特征,并不斷縮小特征圖。Backbone中的主要結(jié)構(gòu)有Conv模塊、C3模塊、SPPF模塊。Conv模塊由一個Conv2d、一個BatchNorm2d和激活函數(shù)(SiLU)構(gòu)成。CSP結(jié)構(gòu)也被稱為C3模塊,其有兩種設計結(jié)構(gòu),一種是多用于Backbone主干網(wǎng)絡的CSP_X1結(jié)構(gòu),特征圖進入CSP_X1結(jié)構(gòu)后,將會分成兩路,一條支路先通過CBS,再經(jīng)過x個殘差結(jié)構(gòu)進行卷積,另一條支路僅進行CBS,然后兩個支路進行concat,最后再進行一個CBS。而另一種是CSP_X2結(jié)構(gòu),它與CSP_X1結(jié)構(gòu)唯一不同的是將殘差組件換成了CBS,且CSP_X2多用于Neck網(wǎng)絡中。YOLOv5s 6.0中的空間金字塔模塊由5.0版本的SPP改進為SPPF,SPPF在輸出相同的情況下速度更快。SPPF結(jié)構(gòu)中,數(shù)據(jù)先經(jīng)過CBS,將3個kernel為5×5的MaxPool做串行計算,這一點與SPP中將3個并行的MaxPool區(qū)別開來,再進行concat融合,最后進行CBS的特征提取。
Neck網(wǎng)絡中包含F(xiàn)PN+PAN[13-14]結(jié)構(gòu),在接受來自Backbone網(wǎng)絡的下采樣測試圖像后,F(xiàn)PN層通過上采樣的方式自頂向下傳達語義信息,對整個金字塔結(jié)構(gòu)進行了增強,同時PAN層又通過下采樣由下而上傳遞目標定位信息,進行目標的多尺度融合,提升目標特征的多樣性及魯棒性;Prediction的輸出層主要對真實框以及預測框進行處理,推理采用Bounding box的損失函數(shù),并用非極大值抑制(NMS)對檢測的目標框進行篩選,增強對目標的檢測能力。
特征融合對改善神經(jīng)網(wǎng)絡的性能具有重要意義。低層特征圖具有較高的分辨率、較豐富的細節(jié),但也含有較多的噪聲[15]。目標檢測更加青睞高層抽象特征去預測目標,這就會使得在本文車載環(huán)境中,由于乘車人員的物品較多,會極大干擾傳統(tǒng)的YOLO算法去檢測特定目標,導致在多物品的復雜環(huán)境下,安全帶檢測受到極大阻礙。而對不同深度的特征層進行多尺度融合,不僅可以保持底層更豐富的信息,還可以凸顯抽象的特征,從而有效地提升網(wǎng)絡對物體的探測能力。因此,本文在骨干網(wǎng)絡后端添加RFB模塊擴大感受野,增強網(wǎng)絡的特征表達能力。
2.1.1 感受野原理
其原理是通過將輸入圖像與特征圖上的對應點相關聯(lián),形成的區(qū)域的像素通過一層一層的卷積進行計算得出。它的目的在于將最終的特征層與輸入圖像相關聯(lián),去估計每一層的抽象層次。首先,感受野使用最終的特征層,其至少要涵蓋輸入圖片的整個面積。不然,就會使得圖片的部分信息缺失,這樣的結(jié)果就會導致用局部信息去預測整體;然而,感受野所關注的輸入圖片像素密集度并不是均勻分布的,集中于中心區(qū)域的圖像的像素點越密集,而遠離中心區(qū)域圖片的像素點逐漸弱化,甚至消失。文獻[16]對最終結(jié)果有較大影響的區(qū)域被稱為有效感受野。在實時圖像中識別檢測目標所占區(qū)域小,網(wǎng)絡中小區(qū)域感受野并不能覆蓋全部有效面積,這樣就會影響有效感受野的發(fā)揮,對待檢測目標特征的能力就會削弱。因此,增強網(wǎng)絡對于目標特征的檢測能力,擴大模型的有效感受野是必要的。
2.1.2 RFB模塊構(gòu)成
RFB(Receptive Field Block)是一種受到人類視覺系統(tǒng)中的感受野(RFs)結(jié)構(gòu)啟發(fā)而創(chuàng)造的深度神經(jīng)網(wǎng)絡模塊[17]。它的網(wǎng)絡結(jié)構(gòu)中存在著一種單向傳遞的主干神經(jīng)網(wǎng)絡,該網(wǎng)絡結(jié)構(gòu)的感受野與其深度變化成正比。但是,由于這種神經(jīng)網(wǎng)絡是單向傳遞的,所以它是利用多個卷積核串行去獲得感受野,這就會導致得到的感受野較集中。由于共用卷積所導致采樣中心也比較固定,從而影響CNN缺乏感受野和特征多樣性。于是,就有人提出采取Inception[18]中的結(jié)構(gòu)。Inception結(jié)構(gòu)采用通道拼合的方法獲得混合的感受野,它原理是采用多條分支路線,并在每條支路上設置不同規(guī)格的卷積核,將結(jié)果進行拼接。但是,在這種情況下,不同的感受野卻仍有著較相似的采樣中心,但是混合不同感受野應該有不同的離心率。在人類視覺皮層中,人群感受野(PRF,population receptive field)的大小與視網(wǎng)膜的離心率呈現(xiàn)正相關,它有助于突出靠近中心區(qū)域的重要性,并提高對小空間變化的不敏感性。根據(jù)Inception的結(jié)構(gòu)基礎,RFB模塊模擬人眼不同方位的視覺感受,采用帶不同離心率的空洞卷積去擴大視野范圍。具體來說,首先在每個支路中使用1×1的卷積層構(gòu)成的瓶頸結(jié)構(gòu),以減少特征圖中通道數(shù)量,再加上n×n的卷積層。其次將5×5卷積層替換為兩個疊加的3×3卷積層,以減少參數(shù)和更深層次的非線性層。出于同樣的原因,使用1×n和n×1的卷積層來代替原來的n×n卷積層。其具體結(jié)構(gòu)如圖2所示。
圖2 RFB模塊感受野混合方法示意圖
基于Inception結(jié)構(gòu)基礎,RFB模塊利用其多分支結(jié)構(gòu)進行通道拼合去獲得不同大小的感受野,以得到最佳的特征融合,這就是RFB模塊的核心基礎。RFB模塊通過設置不同的空洞率去進一步擴大視野面積。如圖3所示,當空洞率Rate=1時,空洞卷積就是常規(guī)卷積。根據(jù)設置不同的空洞率和結(jié)合多層卷積疊加效應,采樣區(qū)域和感受野迅速擴大,即為空洞卷積混合感受野。但空洞卷積采樣方法決定了其獲得的元素是斷斷續(xù)續(xù)的,這樣就會使得圖像信息的相關特征缺失,叫做網(wǎng)格效應。丟失了局部的信息特征,就會影響上層元素周圍信息的獲取。
圖3 不同空洞率的空洞卷積
當設置的空洞率不恰當,或者使用單通道串行卷積核的空洞卷積,就會使得輸入圖片中的檢測樣本信息丟失或是沒有參與計算,這就會導致在車內(nèi)原本復雜的環(huán)境,安全帶的檢測效果更加受限,阻礙神經(jīng)網(wǎng)絡的檢測。Luo等人[16]就提出一種方案,利用Inception的多分支結(jié)構(gòu),若能夠改變每組卷積前后不同的位置,使其能夠存在依賴關系并且交錯并行,則網(wǎng)格效應的弊端就可以得到解決。為了對抗在空洞卷積下的空洞效應,其最直接的思想就是在RFB模塊中設置可以使得采樣點交錯組合的空洞率,比如設置為[1,2,5]、[1,3,5]這樣的空洞率,使其不會重復采樣,并最大可能獲取圖像全部特征信息,這樣就會提高神經(jīng)網(wǎng)絡在復雜環(huán)境下的檢測能力,增強網(wǎng)絡特征融合。RFB模塊結(jié)構(gòu)如圖4所示。
圖4 RFB模塊內(nèi)部結(jié)構(gòu)圖
譬如客運汽車內(nèi)這種小目標、多復雜背景下來檢測安全帶佩戴情況,排除背景復雜信息干擾、聚焦有效特征的能力較為重要。ECA(Efficient Channel Attention)[19]模塊是在SENet[20]的基礎上改進而來,在跨通道信息交互時,避免了其降低維度,進一步提升了通道對待檢測目標的關注能力。ECA模塊的工作原理如圖5所示。
圖5 ECA工作原理圖
在ECA模型接受1×1×C大小的輸入特征時,首先對輸入特征進行全局平均池化,得到所有不需要進行降維的特征;在此基礎上,采用一維快速卷積算法,通過對輸入通道數(shù)目C的自適應函數(shù)進行計算,得到區(qū)域間的跨通道通信覆蓋范圍;然后,利用sigmoid函數(shù)計算各個通道中所占的比例,并將這些輸入特征和通道的權重相結(jié)合,最終獲得通道注意力的特征。
k值在不同的網(wǎng)絡結(jié)構(gòu)中一般采取自適應計算來選取其參數(shù)。k和C之間的映射關系為:
C=φ(k)=2(γ×k-b)
(1)
式中,k值代表卷積核大小與C值輸入通道數(shù)成正比,且通道維數(shù)一般為2的倍數(shù)。
根據(jù)式(1)中的映射關系可以求得一維卷積核k大小的自適應函數(shù),這樣形成的非線性映射關系會使高位通道之間的交流強于低位通道間的交流。其計算過程如式(2):
(2)
式中,k值代表卷積核大小,C表示通道數(shù),odd表示k只能取奇數(shù),γ和b設置為2和1,用于改變C和卷積核大小之間的比例。
根據(jù)此公式可以看出,ECA在SENet的基礎上進行了充分的改進和拓展,通過添加很少的參數(shù)和計算量,在提高計算速度的同時,特征提取效果上也獲得了不錯的增益效果,有效實現(xiàn)了一種較高效率的跨通道交流方式。由此,本文將此模塊添加至YOLOv5s網(wǎng)絡中的骨干部分CSP層的輸出位置,如圖6所示。以此增加算法聚焦有效特征的能力,最終提高對車載人員佩戴安全帶行為的檢測效果。
圖6 嵌入ECA模塊
損失函數(shù)被用于評估一個模型的預測值與實際值的偏差。它是一個非負實值函數(shù)。損失函數(shù)越小,模型的魯棒性越好。在深度學習目標檢測中,原YOLOv5s損失函數(shù)使用的是CIOU,它考慮了邊界框回歸的重疊面積、中心點距離、縱橫比。其計算方法如式(3):
(3)
(4)
(5)
其中:α是權重函數(shù),υ用來度量寬高比的一致性ρ2(b,bgt),c代表能同時覆蓋真實框與預測框重合區(qū)域的對角線距離。
但是通過其公式中的V反映的縱橫比的差異,而不是寬高分別與其置信度的真實差異,所以有時候會阻礙模型有效地優(yōu)化相似性。針對這一問題,2021年中國科學院大學張等人[21]在損失函數(shù)CIOU的基礎上將縱橫比拆開,提出了EIOU Loss,并且加入Focal聚焦優(yōu)質(zhì)的錨框。EIOU是在CIOU的基礎上將縱橫比的影響因子拆開分別計算目標框和錨框的長和寬,該損失函數(shù)包含3個部分:重疊損失、中心距離損失,寬高損失,前兩部分延續(xù)CIOU中的方法,但是寬高損失直接使目標框與錨框的寬度和高度之差最小,使得收斂速度更快[22]。其定義的公式如(6)所示:
LEIOU=LIOU+Ldis+Lasp=
(6)
EIOU損失的前兩部分延續(xù)了CIOU的方法,而寬高損失直接使預測框與真實框的寬度和高度之差最小,使得收斂速度更快?;诖吮疚膶⒃W(wǎng)絡的CIOU Loss替換為EIOU Loss,使得網(wǎng)絡在處理模型的預測值與真實值更加精準,提高待檢測目標框的精確性。
本實驗所使用的數(shù)據(jù)集包含1 202張樣圖,均是從ImageNet數(shù)據(jù)集庫內(nèi)仔細挑選,ImageNet數(shù)據(jù)集最初是擁有超過100萬張圖像的數(shù)據(jù)集,是由斯坦福大學的李飛飛教授帶領創(chuàng)建。它是目前世界上圖像識別最大的數(shù)據(jù)庫,具有較高質(zhì)量的不同情況的車載人員佩戴安全帶的數(shù)據(jù)集。數(shù)據(jù)集中的圖片環(huán)境包含了從不同方位對車載人員佩戴安全帶進行拍攝、對不同車型內(nèi)車載人員佩戴安全帶處于不同復雜環(huán)境程度進行拍攝畫面,以及對車載人員數(shù)量不同進行拍攝的畫面。盡管圖片數(shù)量并不是很多,但圖片種類僅有安全帶這一類,在訓練車載人員佩戴安全帶模型時該數(shù)據(jù)集更加突出和高效。準備好的數(shù)據(jù)集通過Labelme軟件進行標注,操作界面如圖7所示。
圖7 Labelme軟件操作界面
標注的標簽命名為seatbelt,將圖片路徑保存在images文件夾內(nèi),標注完的xml文件保存在labels目錄下,然后使用代碼腳本將xml文件轉(zhuǎn)換成YOLO可以運行的txt文件。最后將images內(nèi)的圖片與txt文件目錄下的數(shù)據(jù)集對應按照6∶2∶2的比例劃分為訓練集、驗證集和測試集,其對應數(shù)量分別為720、242、240進行劃分。
本實驗調(diào)用GPU在Pytorch上進行訓練,訓練過程所處環(huán)境及硬件配置如表1所示。
表1 實驗環(huán)境
本實驗模型設置參數(shù)為:輸入圖片大小為640×640,訓練輪數(shù)(epochs)為300輪,批次大小(batch-size)為48,交并比閾值為(IOU)為0.5,初始學習率設置為0.01,其參數(shù)均在不添加預訓練權重下進行訓練。
具體流程如圖8所示。1)根據(jù)所選取數(shù)據(jù)集進行標注處理,并按照比例劃分好訓練集、測試集和驗證集;2)采用Python編程語言,利用Pytorch深度學習框架構(gòu)建并改進YOLOv5s模型;3)選取合適的模型對其進行訓練;4)根據(jù)所添加模塊訓練好的權重文件在測試集上面進行模型效果測試;5)并將最終的模型訓練結(jié)果與其他多組模型進行橫向?qū)Ρ葘嶒灐?/p>
圖8 試驗流程圖
實驗采用的評價指標為:查準率(P,precision)、查全率(R,recall)、平均精度均值(mAP,mean average precision)、訓練所用的權重文件大小(MB)這4個指標作為評價模型的指標,其中P、R、mAP公式如下:
(7)
(8)
(9)
其中:TP(True Positives)表示檢測出正確目標數(shù)量;FP(False Positives)表示檢測出錯誤目標數(shù)量;FN(False Negatives)表示沒有被檢測出來的TP。其中查準率P表示正確分類的個數(shù)與所有已識別樣本個數(shù)的比值;而平均精度值mAP較P、R的不穩(wěn)定波動性,更能反映出全局性能的指標。當一個模型處于較好性能時,mAP曲線應盡可能上突。其中,K表示類別數(shù)量,r1,r2,…,rn,是按照升序排列的查準率插值段第一個插值處對應的查全率。
3.4.1 對比試驗
為了更加直觀地展示出YOLOv5s算法在其目標檢測方面的優(yōu)越性,我們選取了若干個不同的網(wǎng)絡架構(gòu)為其進行對比實驗,將其與傳統(tǒng)的目標檢測算法,譬如:SSD、YOLOv3、YOLOv5l、YOLOv5m、YOLOv5x與本網(wǎng)絡進行對比。實驗結(jié)果如表2所示,可以看出,在眾多網(wǎng)絡結(jié)構(gòu)中,YOLOv5s的平均精度最高,到達了80.4%,盡管YOLOv5n、YOLOv5l的平均檢測精度與原網(wǎng)絡較為接近,但是其查準率均較低。盡管YOLOv5x的查準率最高,但是其檢測精度遠遠不如YOLOv5s,且權重文件遠超過本文所用網(wǎng)絡。而SSD和YOLOv3無論是查準率還是平均檢測精度均不如YOLOv5s。綜合下面的4個參數(shù)直觀感受,對于安全帶檢測算法,YOLOV5s作為基礎網(wǎng)絡為最優(yōu)選擇。
表2 對比實驗結(jié)果
3.4.2 注意力模塊實驗對比
為了證明該模塊的有效性,該實驗將ECA注意力模塊添加到Backbone網(wǎng)絡中,嵌入SPPF模塊前,CSP1_1后。并且加入SE、CBAM、CA、SimAM等注意力機制與其進行對比實驗,實驗結(jié)果如表3所示。使用原YOLOv5s網(wǎng)絡會得到較快的檢測速度,但是查準率和mAP相對于加入的ECA模塊分別低5%和1.4%。雖然加入ECA模塊后,檢測速度較原網(wǎng)絡有所減慢,但相較于其它模塊的表現(xiàn),例如CBAM和CA模塊,其查準率、查全率、mAP均有所提升。所以,將ECA注意力機制添加到此網(wǎng)絡中提升其性能最為顯著。
表3 融合不同注意力模塊對比實驗
3.4.3 損失函數(shù)實驗對比
為了表現(xiàn)EIOU損失函數(shù)在本場景下的優(yōu)越性,本文以YOLOv5s為網(wǎng)絡基礎,將原網(wǎng)絡中的損失函數(shù)CIOU替換為EIOU,并引入了SIoU以及Alpha-IoU兩種損失函數(shù)與其進行對比試驗,其余部分均不做任何改變,實驗結(jié)果如表4所示。使用Alpha-IoU損失函數(shù)會得到最快的檢測速度,但是其mAP值要比EIOU低2.6%。對比SIoU損失函數(shù),其mAP、查全率和檢測速度也有所提升。所以,將損失函數(shù)更換為EIOU對該網(wǎng)絡的提升效果最為顯著。
表4 融合不同損失函數(shù)對比實驗
3.4.4 消融實驗
對比原網(wǎng)絡YOLOv5s,本文提出了3種改進方式:將ECA注意力模塊添加到Backbone網(wǎng)絡中、將原網(wǎng)絡中的損失函數(shù)替換為EIOU損失函數(shù)、將RFB模塊添加到Backbone網(wǎng)絡中。然后,將分別對比單獨模塊實驗和組合模塊實驗下的不同表現(xiàn)做消融實驗,其結(jié)果如表5所示。實驗結(jié)果表明,在加入注意力通道機制ECA模塊時,使其更加關注待檢測目標,其mAP值增長了1.4%,查準率也有較大的提高;將原網(wǎng)絡損失函數(shù)CIOU替換為EIOU,使得在車載復雜環(huán)境下,其網(wǎng)絡能更加精準地判別待檢測目標,其mAP值增長了1.6%,查準率增長了5.5%;且為了應對車內(nèi)多物品環(huán)境的影響,進一步提高網(wǎng)絡的特征融合能力是有必要的,故單獨引入RFB模塊時,該網(wǎng)絡的mAP值提高了1.3%,其查準率提高了8.9%。當將其模塊自由組合也會帶來不同效果的提升。最終將3種模塊均添加到該網(wǎng)絡中,其mAP值提高了2.2%,查準率提升了5.1%。為此,通過消融實驗,證明了該網(wǎng)絡在檢測目標算法上的有效性。
表5 消融實驗結(jié)果
在進行消融實驗后,為了能夠更加直觀地看出修改后網(wǎng)絡相較于原網(wǎng)絡的提升點,本文利用測試集進行前后對比。如圖9所示,圖9(a)和圖9(b)顯示了6個不同場景改進前后的對比效果。
圖9 YOLOv5s網(wǎng)絡與改進后的網(wǎng)絡效果對比圖
從圖9的檢測結(jié)果可以看出,第1、2場景中的原網(wǎng)絡出現(xiàn)了誤檢的行為。這是由于場景1中左側(cè)門框顏色以及部分輪廓外型與安全帶較為相似,場景2中左邊人的衣物條紋顏色及形狀與安全帶極為相似。在添加ECA注意力機制后的網(wǎng)絡修正了這種誤檢的行為,且由于修改EIOU損失函數(shù),邊界框的置信度也有所提高;第3、4場景中的原網(wǎng)絡出現(xiàn)了漏檢的行為。這是由于第3、4場景中拍攝視角均在左側(cè),這就會導致相比于整車環(huán)境下,原本信息量較少的安全帶,在側(cè)視下的有效特征更加微弱,就會丟失大部分有效信息。在添加RFB模塊,利用它混合空洞卷積來擴大有效感受野的能力,加上對圖片不同深度的特征層進行多尺度融合的有效特性,增強了網(wǎng)絡對安全帶特征的融合能力,使得改進后的網(wǎng)絡能夠很大程度上識別出這一視角下安全帶的有效特征,修正了網(wǎng)絡漏檢的行為;第5、6場景中的原網(wǎng)絡也存在著漏檢行為。第5場景中,由于男子衣物與安全帶極為相似,加上部分安全帶信息被手部遮擋,導致原網(wǎng)絡無法識別出安全帶有效信息,這與第6場景中的漏檢內(nèi)容較為相似,使用改進后的網(wǎng)絡大大減少了這一漏檢行為。
本文針對因車載內(nèi)物品種類繁多,從而使得圖像中捕捉到的內(nèi)容較為繁雜,進而對車內(nèi)安全帶的檢測造成了不小的干擾,就會導致原YOLOv5s網(wǎng)絡的檢測精度不高,且會存在著漏檢誤檢的問題。因此本文在主干網(wǎng)絡中加入更加關注待檢測目標的ECA模塊,提升了模型的精度;將原網(wǎng)絡損失函數(shù)CIOU替換為EIOU,使得在這樣一個多物品的復雜環(huán)境下,算法能夠更加精準地判別目標檢測框的預測值與真實值;并且在引入RFB模塊后,又極大程度地提升了原網(wǎng)絡的感受野,不同深度的特征層多尺度融合既能保留較豐富的低層信息,又能突出抽象特征,從而有效提高了安全帶的目標檢測能力。實驗結(jié)果表明,將3種模塊均添加到該網(wǎng)絡中,其mAP值提高了2.2%,查準率提升了5.1%,證明了該算法改進的優(yōu)越性。但是,由于不同天氣下,光照強弱的影響、車內(nèi)人員穿著衣物與安全帶顏色相近等環(huán)境因素的影響,會造成誤檢、漏檢的結(jié)果,從而影響檢測效果。因此,本文算法針對上述問題還有很大的改進空間,后續(xù)內(nèi)容可以針對強光射入、暗光環(huán)境、相近顏色衣物等環(huán)境下對其檢測精度進行研究,進一步完善此網(wǎng)絡的檢測效果。