周 瑤 ,周 石
(1.中國(guó)移動(dòng)通信集團(tuán)湖北有限公司 武漢分公司,武漢 430100;2.武漢紡織大學(xué) 機(jī)械工程與自動(dòng)化學(xué)院,武漢 430073;3.武漢紡織大學(xué) 湖北省數(shù)字化紡織裝備重點(diǎn)實(shí)驗(yàn)室,武漢 430073)
鐵路工人佩戴安全帽和穿戴背心,對(duì)工作人員的安全至關(guān)重要。然而,由于缺乏安全意識(shí),安全帽和背心的重要性往往被忽視[1]。在鐵路上普遍采用人工監(jiān)督方式,但監(jiān)督范圍過大,在實(shí)踐中不可能及時(shí)跟蹤和管理所有工作人員[2]。因此,基于圖像處理[3]的智能監(jiān)控下的安全帽佩戴和背心穿戴檢測(cè)正逐漸成為鐵路實(shí)施管理的主要手段。圖像處理又可分為深度學(xué)習(xí)算法和傳統(tǒng)檢測(cè)算法。由于基于深度學(xué)習(xí)的檢測(cè)方法可以有效避免檢測(cè)精度和效率低的問題,且泛化性強(qiáng)。因此,基于深度學(xué)習(xí)的鐵路工人安全帽檢測(cè)方法成為近年來的研究熱點(diǎn)。
隨著深度學(xué)習(xí)和檢測(cè)的結(jié)合,基于深度學(xué)習(xí)的檢測(cè)算法可以分為兩大類,兩階段網(wǎng)絡(luò)和單階段網(wǎng)絡(luò)。最具代表性的兩階段網(wǎng)絡(luò)包括R-CNN[4]和Faster R-CNN[5],單階段網(wǎng)絡(luò)包括SSD[6]和YOLO[7]。同時(shí),無(wú)數(shù)學(xué)者使用深度學(xué)習(xí)目標(biāo)檢測(cè)算法對(duì)安全帽“是否正確佩戴”作了大量的研究,并取得了一定的研究成果。陳松波[8]將K-means++算法融入Faster R-CNN中,更好的適配小尺寸頭盔,提高準(zhǔn)確率,但該方法檢測(cè)速度較慢,無(wú)法滿足實(shí)時(shí)要求。饒誠(chéng)[9]通過在YOLOv3-Tiny的特征提取網(wǎng)絡(luò)中添加改進(jìn)的空間金字塔池(SPP)模塊,以提取具有豐富語(yǔ)義信息的局部和全局特征,該方法可以對(duì)安全帽佩戴實(shí)時(shí)性檢測(cè),但檢測(cè)精度較低,漏檢率較高無(wú)法滿足實(shí)際鐵路上的檢測(cè)要求。范武[10]利用Densenet在模型參數(shù)和技術(shù)成本上的優(yōu)勢(shì),替代YOLOv3骨干網(wǎng)絡(luò)進(jìn)行特征提取,該方法可以有效檢測(cè)是否佩戴安全帽,但該方法模型過大,檢測(cè)速度較慢。陳俊華[11]在YOLOv4的骨干網(wǎng)絡(luò)3個(gè)輸出特征層中嵌入坐標(biāo)注意機(jī)制模塊以增強(qiáng)特征信息,并設(shè)計(jì)了改進(jìn)的特征融合結(jié)構(gòu)來融合目標(biāo)信息,該方法可以有效檢測(cè)出是否佩戴安全帽,但檢測(cè)速度較慢,且檢測(cè)精度較低。戴斌[12]對(duì)SSD模型進(jìn)行改進(jìn),使用了輕量級(jí)網(wǎng)絡(luò)結(jié)構(gòu),減少了模型的參數(shù)量和計(jì)算量,該模型檢測(cè)速度較快,但精度較低。譚石磊[13]等人通過在YOLOv5s的基礎(chǔ)上增加一層檢測(cè)層,該方法可以有效降低小目標(biāo)漏檢率,但該方法模型過大,檢測(cè)速度較慢。白培瑞等人[14]提出DS-yolov5模型,在YOLOv5s的基礎(chǔ)上加入了簡(jiǎn)化版的Transformer模塊,加強(qiáng)對(duì)全局語(yǔ)義信息的特征學(xué)習(xí)能力,并在Neck層引入雙向特征金字塔融合多尺度的特征,最后模型在公開數(shù)據(jù)集SHWD上的到驗(yàn)證,Map達(dá)到95.5%,更好適應(yīng)了工地復(fù)雜的生產(chǎn)環(huán)境,但該方法模型過大,檢測(cè)速度較慢。
基于上述相關(guān)文獻(xiàn)研究成果,為了更好地平衡鐵路工人安全帽檢測(cè)任務(wù)的檢測(cè)精度、檢測(cè)速度和網(wǎng)絡(luò)模型體積,在YOLOv5s模型的基礎(chǔ)上進(jìn)行相關(guān)改進(jìn),提出一種新的網(wǎng)絡(luò)模型。本文的主要貢獻(xiàn)如下:
1)采用GhostNet模塊替換原始網(wǎng)絡(luò)中的卷積Conv,這樣可以減少冗余,使參數(shù)量變少,更利于模型的實(shí)時(shí)檢測(cè)和最終部署。
2)采用更高效簡(jiǎn)單的多尺度特征融合BiFPN,來對(duì)原始FPN進(jìn)行改進(jìn),BiFPN它舍棄了最頂層和底層的兩個(gè)神經(jīng)元,同時(shí)在中間各特征層加入一條與輸入輸出特征相連的殘差結(jié)構(gòu),相較于之前的特征融合方式更加簡(jiǎn)單高效。
3)把原始的CIOU損失函數(shù)替換為SIOU損失函數(shù),這樣可以充分考慮到所需回歸之間的向量角度,提高收斂速度以及檢測(cè)精度。
YOLOv5算法是由Ultralytics公司于2020年在YOLOv4發(fā)布不久后推出的。雖然沒有相關(guān)的論文,但YOLOv5在前者基礎(chǔ)上借鑒了其他算法的創(chuàng)新和改進(jìn)思路,因此獲得了一個(gè)更高的檢測(cè)精度。YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)可以簡(jiǎn)單地描述為三大部分:特征提取網(wǎng)絡(luò),Neck網(wǎng)絡(luò)和檢測(cè)頭,其結(jié)構(gòu)如圖1所示。該模型根據(jù)輸入通道數(shù)C和模塊的復(fù)用次數(shù)不同可分為4個(gè)版本,分別是YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,這些不同尺度的模型讓算法工程師更好的選擇不同的模型,權(quán)衡精度和速度,簡(jiǎn)化了工程的相關(guān)落地與部署。一般來說,YOLOv5s模型最小,具有更高的檢測(cè)速度;YOLOv5x模型最大,具有更高的檢測(cè)準(zhǔn)確率,YOLOv5m和YOLOv51是在檢測(cè)速度與檢測(cè)準(zhǔn)確率中均衡的結(jié)構(gòu)模型。為了滿足對(duì)鐵路工人實(shí)時(shí)檢測(cè),選用YOLOv5s模型進(jìn)行檢測(cè)。
圖1 YOLOv5s模型結(jié)構(gòu)圖
由于原始的YOLOv5s骨干網(wǎng)絡(luò)過于復(fù)雜,參數(shù)量多,不利于模型的實(shí)時(shí)檢測(cè)和最終部署,而采用GhostNet[15]模塊替換原始網(wǎng)絡(luò)中的卷積Conv,這樣可以減少冗余,使參數(shù)量變少,更利于模型的實(shí)時(shí)檢測(cè)和最終部署。
GhostNet是華為諾亞方舟實(shí)驗(yàn)室于2020年[15]提出的輕量級(jí)特征提取網(wǎng)絡(luò),它采用端到端神經(jīng)網(wǎng)絡(luò)架構(gòu),外表為MoblieNetv3[16],GhostNet的核心是Ghost模塊,如圖2所示顯示了Ghost模塊之間的卷積過程。Ghost模塊引入了線性運(yùn)算而不是部分卷積,與標(biāo)準(zhǔn)卷積相比,它分為3個(gè)步驟:1)使用標(biāo)準(zhǔn)卷積生成少量的本征圖;2)在第一步生成的特征圖的基礎(chǔ)上,使用深度卷積或移位等線性操作,用少量參數(shù)獲得更多的Ghost特征圖;3)將前兩步生成的特征映射進(jìn)行合并,得到Ghost模塊的輸出特征映射。在輸入和輸出特征映射大小相同的情況下,Ghost模塊的計(jì)算量遠(yuǎn)低于普通卷積,實(shí)現(xiàn)了用更少的計(jì)算獲取更多的特征信息,并且不會(huì)對(duì)模型的性能產(chǎn)生負(fù)面影響。
圖2 Ghost模塊的卷積過程
基于Ghost模塊的輕量級(jí)優(yōu)勢(shì),Ghost-BottleNeck由兩個(gè)Ghost模塊堆疊構(gòu)成。當(dāng)步長(zhǎng)為1時(shí),第一個(gè)Ghost模塊是擴(kuò)展層,參考MobileNetV2的結(jié)構(gòu),在第二個(gè)Ghost模塊之后沒有使用ReLU激活函數(shù),在彼此層之后引入BN和ReLU激活函數(shù)。當(dāng)步長(zhǎng)為2時(shí),捷徑由下采樣層和步長(zhǎng)=2的深度可分離卷積組成,其中深度可分離卷積可以減少通道數(shù)。
通常,由于鐵路工人檢測(cè)過程中,背景較為復(fù)雜,采用原始的YOLOv5s會(huì)導(dǎo)致深淺層的信息會(huì)互相干擾,對(duì)檢測(cè)的精度會(huì)產(chǎn)生影響[17]。因此,對(duì)于多尺度的受到影響,對(duì)頸部網(wǎng)絡(luò)進(jìn)行改進(jìn),以提高檢測(cè)精度。
雖然YOLOv5s中的PANet通過上采樣和下采樣在多尺度融合方面取得了很好的效果,但其計(jì)算量很大[18]。然而,雙向特征金字塔網(wǎng)(BiFPN)[19]可以實(shí)現(xiàn)簡(jiǎn)單快速的多尺度特征融合。它采用跨尺度連接去除PANet中對(duì)特征融合貢獻(xiàn)較小的節(jié)點(diǎn),并在同一級(jí)別的輸入和輸出節(jié)點(diǎn)之間添加額外的連接。本次研究我們使用BiFPN對(duì)Neck模塊進(jìn)行改進(jìn),利用一層結(jié)構(gòu)的BiFPN來提高模型的訓(xùn)練效率,如圖3所示。
圖3 BiFPN結(jié)構(gòu)圖
利用BiFPN改進(jìn)YOLOv5s的頸部,可以實(shí)現(xiàn)更簡(jiǎn)單、更快的多尺度特征融合。此外,在BiFPN中引入可學(xué)習(xí)權(quán)重,使其能夠?qū)W習(xí)不同輸入特征的重要性,并反復(fù)應(yīng)用自頂向下和自底向上的多尺度特征融合。與YOLOv5s的頸部網(wǎng)絡(luò)PANet相比,BiFPN具有更少參數(shù)和FLOPS[20]的性能。因此,它可以更好地實(shí)時(shí)檢測(cè)鐵路工人。
損失函數(shù)在模型性能中起著重要作用[21],它是衡量深度卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)值與真實(shí)值之間差異的重要指標(biāo),對(duì)于目標(biāo)檢測(cè)算法尤為重要。因此,損失函數(shù)決定了模型參數(shù)訓(xùn)練的好壞。
原始的YOLOv5s中的CIOU Loss[22]在之前損失函數(shù)的基礎(chǔ)上增加了對(duì)縱橫比的考慮,但是沒有考慮需要回歸的矢量角度,即所需真實(shí)框和預(yù)測(cè)框之間的方向不匹配。此外,采用CIOU Loss會(huì)導(dǎo)致預(yù)測(cè)框在訓(xùn)練過程中出現(xiàn)游走的問題,降低實(shí)驗(yàn)訓(xùn)練速度。文獻(xiàn)[23]在CIOU Loss的基礎(chǔ)上提出了一種新的損失函數(shù)SIOU Loss,它不僅依賴邊界框回歸指標(biāo)的聚合,而且在損失函數(shù)cost中引入方向性,重新定義懲罰指標(biāo)。如圖4所示,虛線為YOLOv5s-SIOU訓(xùn)練效果,實(shí)線為YOLOv5s-CIOU訓(xùn)練效果。實(shí)驗(yàn)證明,與CIOU相比,SIOU收斂速度更快,訓(xùn)練效果更好,且精確率更高。
圖4 YOLOv5s模型的SIOU和CIOU訓(xùn)練效果對(duì)比
SIOU損失包括4個(gè)成本:角度、距離、形狀和IOU。角度將真實(shí)框和預(yù)測(cè)框之間的角度差表示為一個(gè)變量。角度成本對(duì)損失函數(shù)的貢獻(xiàn)為圖5,定義如式(1)所示。
(1)
圖5 角度成本對(duì)損失函數(shù)的貢獻(xiàn)
(2)
距離成本的定義如式(3)所示。
(3)
ρx和ρy都測(cè)量了真實(shí)框和預(yù)測(cè)框之間的距離,它們的定義如等式(4)和(5)所示。更進(jìn)一步,Λ表示角度代價(jià),將角度代價(jià)作為一個(gè)變量融入到距離損失中,可以更準(zhǔn)確地表達(dá)損失。
(4)
(5)
γ=2-Λ
(6)
形狀成本的定義如式(7)所示。
(7)
其中:(w,h) 和 (wgt,hgt) 分別表示預(yù)測(cè)框和真實(shí)框的寬度和高度。θ表示控制損失函數(shù)對(duì)形狀成本的關(guān)注程度。
IOU表示真實(shí)框和預(yù)測(cè)框之間聯(lián)合比率的交集,IOU成本的定義如式(8)所示。
(8)
其中:B和Bgt分別代表預(yù)測(cè)框區(qū)域和真實(shí)框區(qū)域。
SIOU loss的定義如式(9)所示。
(9)
對(duì)于方程(9),△表示修改后的距離成本,而Ω和IOU表示形狀成本和距離成本。
將融入GhostNet模塊、BiFPN、SIOU損失函數(shù)的YOLOv5s算法稱為YOLOv5s-GhostNet-BiFPN-SIOU算法(簡(jiǎn)稱YOLOv5s-GBS算法),其算法結(jié)構(gòu)如圖6所示。
圖6 本文改進(jìn)算法YOLOv5s-GBS結(jié)構(gòu)圖
本文采用的操作系統(tǒng)為Windows10,模型訓(xùn)練采用Pytorch深度學(xué)習(xí)框架,采用GPU加速,型號(hào)為NVIDIA GeForce GTX 1070Ti,本文實(shí)驗(yàn)所使用的計(jì)算機(jī)配置具體如表1所示。
表1 實(shí)驗(yàn)環(huán)境配置
實(shí)驗(yàn)步驟如下:1)數(shù)據(jù)集增強(qiáng)。對(duì)鐵路工人數(shù)據(jù)集進(jìn)行數(shù)據(jù)增強(qiáng)處理,提高模型泛化能力。2)實(shí)驗(yàn)評(píng)價(jià)指標(biāo)的確定。確定一系列指標(biāo),用來判斷模型的好壞。3)模型訓(xùn)練及參數(shù)設(shè)置。加載模型配置文件以及超參數(shù),將輸入的數(shù)據(jù)進(jìn)行預(yù)處理。4)將數(shù)據(jù)集數(shù)據(jù)輸入到模型進(jìn)行訓(xùn)練。隨著訓(xùn)練次數(shù)的不斷增加,將使用SGD進(jìn)行網(wǎng)絡(luò)參數(shù)的更新優(yōu)化。5)選出最優(yōu)的模型權(quán)重,通過檢測(cè)檢測(cè)腳本,對(duì)測(cè)試集進(jìn)行預(yù)測(cè)。
2.2.1 數(shù)據(jù)集介紹
本文數(shù)據(jù)集采用kaggle[24]的鐵路工人檢測(cè),該數(shù)據(jù)集一共分為三類,有工人、安全帽、背心。Kaggle成立于2010年,是一個(gè)進(jìn)行數(shù)據(jù)發(fā)掘和預(yù)測(cè)競(jìng)賽的在線平臺(tái)。將數(shù)據(jù)集分成訓(xùn)練集、驗(yàn)證集和測(cè)試集,其中訓(xùn)練集含有2 609張圖片,驗(yàn)證集含有483張圖片,測(cè)試集含有130張圖片。如圖7所示為數(shù)據(jù)集可視化分析圖,(a)為目標(biāo)框位置分布圖,橫縱坐標(biāo)代表中心位置;(b)為目標(biāo)框大小分布圖。橫縱坐標(biāo)代表標(biāo)注的寬和高。
圖7 數(shù)據(jù)集可視化圖
從圖7(a)可以看出目標(biāo)框中心位置分布均勻,從圖7(b)可以看出目標(biāo)框大小較小。因此,分析可知數(shù)據(jù)集中的大部分?jǐn)?shù)據(jù)為小目標(biāo)。
2.2.2 Copy-Pasting數(shù)據(jù)增強(qiáng)
在對(duì)小目標(biāo)檢測(cè)過程中,導(dǎo)致小目標(biāo)漏檢率高,除了網(wǎng)絡(luò)本身可能存在缺陷,還有一大原因就是訓(xùn)練數(shù)據(jù)中小目標(biāo)的再現(xiàn)性較差。因此,本文將采用Copy-Pasting[25]數(shù)據(jù)增強(qiáng)策略,來對(duì)數(shù)據(jù)集中的小目標(biāo)進(jìn)行過采樣、復(fù)制、粘貼,以此來提供足夠的小目標(biāo)來和 anchor 進(jìn)行匹配,以此實(shí)現(xiàn)提高小目標(biāo)檢測(cè)的性能。
Copy-Pasting數(shù)據(jù)增強(qiáng)由Fang等人[25]在2017年提出,該增強(qiáng)方法通過對(duì)小目標(biāo)樣本進(jìn)行 Oversampling(過采樣),然后在對(duì)樣本里的小目標(biāo)進(jìn)行 Copy-Pasting(復(fù)制粘貼)操作來提高小目標(biāo)檢測(cè)的性能。
對(duì)小目標(biāo)的圖像進(jìn)行Oversampling(過采樣),來改善小目標(biāo)圖像較少的問題,及將含有小目標(biāo)的圖片通過多次反復(fù)訓(xùn)練,采用這種方法不僅簡(jiǎn)單,還很有效果。其中,復(fù)制的次數(shù)就是過采樣率。
在進(jìn)行過采樣操作之后,然后通過混合粘貼( Copy-Pasting),利用以下公式(10)將兩幅圖混合在一起。
I1×α+I2×(1-α)
(10)
式中,I1代表粘貼對(duì)象圖像,I2代表被粘貼對(duì)象圖像,α代表mask掩模。通俗的意思就是,將I1中的mask部分像素扣出來,然后隨機(jī)粘貼在I2中。
本文采用Precision、Recall、F1-score和mean Average Precision(mAP)作為評(píng)價(jià)指標(biāo),設(shè)置0.5 IOU閾值。具體計(jì)算公式如下:
(11)
(12)
(13)
(14)
其中:TP是正確識(shí)別鐵路工人,F(xiàn)P是誤檢鐵路工人,F(xiàn)N是漏檢鐵路工人的數(shù)量。c是代表種類數(shù);M和N表示IOU閾值和IOU閾值的數(shù)量;P(k)和R(k)是準(zhǔn)確率和召回率。F1是Precision和Recall之間的權(quán)衡,用來表示模型的性能,mAP是不同置信度閾值下的總體性能。參數(shù)和浮點(diǎn)運(yùn)算(FLOPs)用于測(cè)量模型的網(wǎng)絡(luò)復(fù)雜性,較小的值表示模型的網(wǎng)絡(luò)復(fù)雜度較低。
模型訓(xùn)練過程中,對(duì)超參數(shù)進(jìn)行設(shè)置,超參數(shù)的設(shè)置好壞會(huì)對(duì)模型的好壞產(chǎn)生一定的影響,具體設(shè)置參數(shù)如表2所示。
表2 超參數(shù)設(shè)置
2.5.1 本文YOLOv5s-GBS算法與原YOLOv5s算法的p、r對(duì)比
本文提出的YOLOv5s-GBS算法是基于YOLOv5s進(jìn)行改進(jìn)的,因此為了更好的看到改進(jìn)前后算法性能之間的差異,將YOLOv5s算法和本文改進(jìn)YOLOv5s-GBS算法在訓(xùn)練過程中的P、R進(jìn)行比較,如圖8所示。
圖8 改進(jìn)算法YOLOv5s-GBS與原始YOLOv5s算法P、R對(duì)比圖
從圖8(a)、(b)可以看出YOLOv5s-GBS與YOLOv5s算法收斂速度相差不大,但精確率P、召回率R的值更高。因此,說明本文提出的YOLOv5s-GBS算法在保證收斂速度的情況下,且精確率P、召回率R更高。
2.5.2 消融實(shí)驗(yàn)
為了分析每個(gè)模塊的作用和有效性,采用鐵路工人數(shù)據(jù)集進(jìn)行消融實(shí)驗(yàn)。通過設(shè)計(jì)三組實(shí)驗(yàn)對(duì)不同的改進(jìn)進(jìn)行分析,每組實(shí)驗(yàn)均在相同訓(xùn)練參數(shù),不同算法內(nèi)容上進(jìn)行測(cè)試。消融實(shí)驗(yàn)的具體結(jié)果如表3所示。“√”是指使用相應(yīng)的策略來改進(jìn)模型,以及“-“意思是不使用相應(yīng)的策略。原始YOLOv5s模型大小為13.7 MB,當(dāng)采用GhostNet模塊后及YOLOv5s-G算法,雖然F1和mAP略微有所降低,但是YOLOv5s-G模型大小減小將近一半,且網(wǎng)絡(luò)的參數(shù)和浮點(diǎn)數(shù)也有大幅度降低,訓(xùn)練速度和檢測(cè)速度都有一定上升。當(dāng)在YOLOv5s-G模型的基礎(chǔ)上,融入BiFPN模塊對(duì)Neck模塊進(jìn)行改進(jìn)及YOLOv5s-G-B算法,其模型大小基本持平,F(xiàn)1提升了0.9%,mAP提升了0.5%,訓(xùn)練速度提升了0.012 s·張-1,檢測(cè)速度提升了4 fps。當(dāng)在YOLOv5s-G-B模型的基礎(chǔ)上,將CIOU損失函數(shù)替換為SIOU損失函數(shù)及YOLOv5s-GBS算法,其模型大小、訓(xùn)練速度和檢測(cè)速度一致,但F1提升了5.1%,mAP提升了6%。綜上所述,本文提出YOLOv5s-GBS算法與原始的YOLOv5s相比,各項(xiàng)性能都有大幅提升。
表3 消融實(shí)驗(yàn)對(duì)比結(jié)果
2.5.3 不同算法性能對(duì)比
為驗(yàn)證所提算法具有更好的效果,在相同配置條件下采用相同數(shù)量的訓(xùn)練集,并使用現(xiàn)階段流行的幾種目標(biāo)檢測(cè)網(wǎng)絡(luò)進(jìn)行對(duì)比實(shí)驗(yàn):Faster RCNN、SSD、YOLOv3、YOLOv5s、文獻(xiàn)[26]、文獻(xiàn)[27]、YOLOv5s-GBS算法。其中,SSD、YOLOv3、YOLOv5s、文獻(xiàn)[26]、文獻(xiàn)[27]、YOLOv5s-GBS算法均屬于單階段檢測(cè)算法,F(xiàn)aster RCNN屬于兩階段檢測(cè)算法。使用mAP、F1、訓(xùn)練速度和檢測(cè)速度4個(gè)評(píng)價(jià)指標(biāo)對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行評(píng)價(jià),實(shí)驗(yàn)結(jié)果如表4所示。
表4 不同算法性能對(duì)比結(jié)果
1)多種不同的算法在相同的數(shù)據(jù)集下,YOLOv5s-GBS算法最優(yōu)權(quán)重大小最小為7.57 M,其余的按從小到大的順序進(jìn)行排列分別是文獻(xiàn)[27]、YOLOv5s、文獻(xiàn)[26]、SSD、YOLOv3、Faster RCNN,它們權(quán)重大小分別為:7.7、13.7、41.9、90.1、240、625 M。由此可知,本文的改進(jìn)算法YOLOv5s-GBS的復(fù)雜度最低,可以很好的部署。Faster RCNN算法模型復(fù)雜度最高,需要較高算力的計(jì)算機(jī)來運(yùn)行。
2)YOLOv5s-GBS算法與Faster RCNN算法相比,F(xiàn)1提升了32.8%,mAP提升了31.4%,且Faster R-CNN檢測(cè)速度FPS、訓(xùn)練速度過慢,無(wú)法滿足實(shí)時(shí)要求。SSD算法精度過低,無(wú)法滿足精度要求。相比YOLOv3算法,F(xiàn)1提升了25.7%,mAP提升了21.5%,訓(xùn)練速度提升了0.054 s·張-1,檢測(cè)速度提升了15 fps。相比YOLOv5s,F(xiàn)1提升了3.6%,mAP提升了4.5%,訓(xùn)練速度提升了0.022 s·張-1,檢測(cè)速度提升了10 fps。相比文獻(xiàn)[26],F(xiàn)1提升了7%,mAP提升了5.7%,檢測(cè)速度提升了9.8 fps。相比文獻(xiàn)[27],F(xiàn)1提升了3.3%,mAP提升了2.2%,檢測(cè)速度提升了8 fps。通過這些結(jié)果可以看出,本文提出的改進(jìn)算法YOLOv5s-GBS相比其他主流算法來說,在性能上均有較大的提升,更加滿足實(shí)際檢測(cè)要求。
為了更直觀地看出YOLOv5s-GBS算法與原YOLOv5s算法的檢測(cè)差距,將測(cè)試集對(duì)改進(jìn)算法進(jìn)行測(cè)試。使用YOLOv5s-GBS算法和YOLOv5s算法分別進(jìn)行測(cè)試,部分檢測(cè)結(jié)果如下圖9原YOLOv5s檢測(cè)結(jié)果、圖10 YOLOv5s-GBS算法檢測(cè)結(jié)果所示。
圖9 原YOLOv5s檢測(cè)結(jié)果
圖10 本文YOLOv5s-GBS算法檢測(cè)結(jié)果
通過圖10(a)與圖9(a)對(duì)比可知,YOLOv5s-GBS算法檢測(cè)精度相比YOLOv5s有所提升。圖10(b)與圖9(b)對(duì)比可知,YOLOv5s-GBS算法檢測(cè)精度相比YOLOv5s有所提升,且對(duì)小目標(biāo)檢測(cè)更好。圖10(c)與圖9(c)對(duì)比可知,YOLOv5s-GBS算法檢測(cè)精度相比YOLOv5s有所提升。圖10(d)與圖9(d)對(duì)比可知,YOLOv5s-GBS算法檢測(cè)精度相比YOLOv5s有所提升,且圖9(d)A位置處,出現(xiàn)了漏檢,而圖10(d)圖上A位置處未出現(xiàn)漏檢。實(shí)驗(yàn)表明,本文改進(jìn)算法YOLOv5s-GBS相比原始YOLOv5s算法,在檢測(cè)精度上有明顯提升,對(duì)實(shí)際場(chǎng)景中工人檢測(cè)效果更好。
本文提出的基于融入GhostNet模塊、BiFPN、SIOU的改進(jìn)YOLOv5s鐵路工人佩戴安全帽和穿戴背心檢測(cè)算法及(YOLOv5s-GBS算法)。針對(duì)原YOLOv5s算法網(wǎng)絡(luò)過于復(fù)雜,參數(shù)量多,不利于模型的實(shí)時(shí)檢測(cè)和最終部署等問題,首先采用GhostNet模塊替換原始網(wǎng)絡(luò)中的卷積Conv,這樣可以減少冗余,使參數(shù)量變少,更利于模型的實(shí)時(shí)檢測(cè)和最終部署。其次采用更高效簡(jiǎn)單的多尺度特征融合BiFPN,來對(duì)原始FPN進(jìn)行改進(jìn),BiFPN它舍棄了最頂層和底層的兩個(gè)神經(jīng)元,同時(shí)在中間各特征層加入一條與輸入輸出特征相連的殘差結(jié)構(gòu),相較于之前的特征融合方式更加簡(jiǎn)單高效。最后把原始的CIOU損失函數(shù)替換為SIOU損失函數(shù),這樣可以充分考慮到所需回歸之間的向量角度,提高收斂速度以及檢測(cè)精度。研究表明,本文提出的YOLOv5s-GBS算法的調(diào)和平均數(shù)F1、均值平均精度mAP均有較為顯著的提升,同時(shí)模型大小相比原YOLOv5s減少了一半,更利于模型的實(shí)時(shí)檢測(cè)和最終部署,更適合對(duì)鐵路工人佩戴安全帽和穿戴背心進(jìn)行檢測(cè)。