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

?

基于輕量化YOLOv5s 的交通標(biāo)志檢測(cè)研究

2023-10-29 02:06:10章羽羅素云
農(nóng)業(yè)裝備與車輛工程 2023年10期
關(guān)鍵詞:交通標(biāo)志輕量化注意力

章羽,羅素云

(201620 上海市 上海工程技術(shù)大學(xué) 機(jī)械與汽車工程學(xué)院)

0 引言

交通標(biāo)志規(guī)定了車輛在道路上的行駛規(guī)范,是必須要遵守的基本規(guī)則。智能駕駛汽車在公路運(yùn)行的首要任務(wù)就是能準(zhǔn)確識(shí)別交通標(biāo)志,按照交通標(biāo)志安全駕駛[1]。因此,交通標(biāo)志的檢測(cè)和識(shí)別對(duì)智能車輛安全行駛具有重大意義[2]。

近年來(lái),深度學(xué)習(xí)在視覺(jué)領(lǐng)域表現(xiàn)優(yōu)異,交通標(biāo)志的檢測(cè)也由原來(lái)的傳統(tǒng)機(jī)器學(xué)習(xí)方法轉(zhuǎn)為深度學(xué)習(xí)方法[3]。深度學(xué)習(xí)在目標(biāo)檢測(cè)領(lǐng)域主要有2 條技術(shù)路線:一是Anchor-based,例如Faster-RCNN[4]、SSD[5]算法等;二是Anchor-free,CornerNet[6]、FCOS[7]和FSAF[8]算法等。在Anchorbased 技術(shù)路線下,又分為單階段目標(biāo)檢測(cè)算法和雙階段目標(biāo)檢測(cè)算法[9]。單階段目標(biāo)檢測(cè)算法有YOLO 系列和Retina-Net[10]等,雙階段目標(biāo)檢測(cè)算法有RCNN[11],SPP-Net[12]和Fast R-CNN[13]等。單階段算法速度快、消耗算力少,而雙階段算法檢測(cè)精度高,但速度稍慢。李一鳴等[14]采用YOLOv5s對(duì)軋鋼表面缺陷的檢測(cè),能有效檢測(cè)6 種不同形態(tài)的表面缺陷,有助于生產(chǎn)人員準(zhǔn)確把握軋鋼情況;宋甜等[15]通過(guò)改進(jìn)YOLOv5s 對(duì)車載紅外圖像目標(biāo)進(jìn)行了檢測(cè)研究,通過(guò)嵌入注意力模塊和替換CIoU 損失函數(shù),成功將mAP@0.5 的值提升了3.4%,實(shí)現(xiàn)了對(duì)車載紅外圖像目標(biāo)的高效檢測(cè)。YOLOV5s 模型具有很強(qiáng)的泛化性能,可對(duì)交通標(biāo)志實(shí)現(xiàn)準(zhǔn)確檢測(cè)。由于本研究所應(yīng)用的Jetsonnano 開(kāi)發(fā)板最大功率只有10 W,算力相對(duì)較小,同時(shí)還要滿足交通標(biāo)志檢測(cè)的實(shí)時(shí)性要求,因此決定選用YOLOv5s 作為基礎(chǔ)模型。

本研究通過(guò)注意力機(jī)制SENet[16]和CBAM 提升YOLOv5s 的目標(biāo)檢測(cè)精度,將YOLOv5s 模型的卷積核數(shù)量縮減至原來(lái)的一半,得到的輕量化模型既達(dá)到交通標(biāo)志檢測(cè)的精度要求,也滿足了實(shí)時(shí)性的需要,有助于智能車輛在道路上實(shí)時(shí)安全行駛。

1 YOLOv5s 模型介紹

根據(jù)網(wǎng)絡(luò)模型C3 個(gè)數(shù)和卷積核數(shù)量的不同,YOLOv5 分為YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x 等版本。其中YOLOv5s 模型最小,計(jì)算量最低,由于本研究是在嵌入式設(shè)備上進(jìn)行部署,所以選用YOLOv5s 模型作為基礎(chǔ)檢測(cè)模型。YOLOv5s 網(wǎng)絡(luò)模型結(jié)構(gòu)如圖1 所示。

圖1 YOLOv5s 結(jié)構(gòu)圖Fig.1 YOLOv5s structure diagram

2 改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu)

2.1 SENet 注意力模塊

SE 模塊全名為Squeeze-and-Excitation block,主要由4 部分組成:轉(zhuǎn)換操作(Ftr)、擠壓操作(Fsq)、激勵(lì)操作(Fex)和比例操作(Fscale)?;谧⒁饬C(jī)制的SE 模塊原理圖如圖2 所示,SE 模塊具體實(shí)現(xiàn)圖如圖3 所示。轉(zhuǎn)換操作是一個(gè)常規(guī)卷積過(guò)程,經(jīng)過(guò)轉(zhuǎn)換操作后得到一個(gè)三維矩陣,對(duì)應(yīng)圖2 中的Ftr 操作。擠壓操作對(duì)應(yīng)圖2 中的Fsq 操作,其使C 個(gè)特征圖最后變成1×1×C 的實(shí)數(shù)數(shù)列,圖3 中Global pooling 區(qū)域就是擠壓操作。激勵(lì)操作對(duì)應(yīng)圖3 中方框區(qū)域,用來(lái)全面捕獲通道依賴性。比例操作對(duì)應(yīng)圖2 中的Fscale,相當(dāng)于把輸入特征圖的每一通道中的每個(gè)值都乘以一個(gè)權(quán)重值,從而得到一個(gè)對(duì)于不同通道具有不同關(guān)注度的特征圖。

圖2 SE 模塊原理圖Fig.2 Schematic diagram of SE module

圖3 SE 模塊具體實(shí)現(xiàn)圖Fig.3 Concrete implementation of SE module

2.2 基于SENet 注意力模塊的C3 模塊改進(jìn)

原C3 模塊主要針對(duì)特征圖進(jìn)行卷積(Convolution)、堆疊(Concat)、相加(add)操作。卷積是對(duì)特征圖空間維度的變換,堆疊是對(duì)特征圖通道維度的增加,相加是特征圖對(duì)應(yīng)通道的像素值的相加,相加屬于一種信息融合。這些操作都忽視了對(duì)特征圖不同通道維度的關(guān)注,而SENet 注意力機(jī)制重點(diǎn)解決的就是對(duì)特征圖不同通道的不同關(guān)注度,SENet 的應(yīng)用增強(qiáng)了特征圖有效通道的權(quán)重,減小了無(wú)效或效果差的特征圖通道的權(quán)重,因而SEC3 具有更強(qiáng)的特征提取能力。

將SENet 添加到BottleNeck 中的2 個(gè)Conv 模塊中間,就形成了SEBottleNeck,將SEBottleNeck放入原C3 中BottleNeck 的位置,就形成了SEC3 模塊。用SEC3 模塊代替YOLOv5s 中的backbone 部分的C3 模塊,將得到的新網(wǎng)絡(luò)命名為S-YOLOv5s,其結(jié)構(gòu)簡(jiǎn)圖如圖4 所示。

圖4 S-YOLOv5s 結(jié)構(gòu)圖Fig.4 S tructure diagram of S-YOLOv5s

2.3 卷積注意力模塊

Convolutional Block Attention Module(CBAM)表示卷積模塊的注意力機(jī)制模塊,CBAM 由一個(gè)通道注意力模塊和一個(gè)空間注意力模塊組成,如圖5 所示。

圖5 CBAM 結(jié)構(gòu)圖Fig.5 CBAM structure diagram

先對(duì)輸入特征分別進(jìn)行一個(gè)空間維度的全局平均池化和最大池化,再將其分別送入一個(gè)2 層的神經(jīng)網(wǎng)絡(luò)中,此時(shí)得到的2個(gè)特征相加后,經(jīng)過(guò)一個(gè)Sigmoid 函數(shù),就得到了通道注意力權(quán)值。通道注意力模塊(CAM)結(jié)構(gòu)如圖6 所示。

圖6 CAM 結(jié)構(gòu)圖Fig.6 CAM structure diagram

從通道注意力模塊來(lái)的特征圖,先分別進(jìn)行一個(gè)通道維度的平均池化和最大池化,并將所得的2 層在通道維度上拼接,送入一個(gè)7×7 的卷積層,經(jīng)Sigmoid 函數(shù)處理后,就得到了空間注意力權(quán)值??臻g注意力模塊(SAM)結(jié)構(gòu)如圖7 所示。

圖7 SAM 結(jié)構(gòu)圖Fig.7 SAM structure diagram

將S-YOLOv5s 模型刪減一半卷積核后,模型的精度雖降到了92.0%,但模型的大小降到了3.98 M,只有原來(lái)的28.03%,相較于模型體積的大幅下降,模型精度的下降是可以接受的。為補(bǔ)償模型精度下降,選擇將CBAM 模塊融合進(jìn)S-YOLOv5s 以提升精度。CBAM 注意力模塊具有關(guān)注特征圖空間維度的特性,而模型head 部分中的后3 個(gè)C3 模塊負(fù)責(zé)預(yù)測(cè)不同維度特征圖中物體的具體位置,位置本身是一種空間信息,因此,本研究將CBAM 融合進(jìn)head 的后3 個(gè)C3 模塊中,形成C3CBAM模塊。融合了CBAM模塊后,將模型命名為SC-YOLOv5s。SC-YOLOv5s 模型結(jié)構(gòu)如圖8 所示。

圖8 SC-YOLOv5s 結(jié)構(gòu)Fig.8 SC-YOLOv5s structure

3 模型輕量化和加速推理過(guò)程

3.1 模型輕量化及效果分析

YOLOv5s 模型訓(xùn)練結(jié)果如圖9 所示,在沒(méi)有添加任何模塊和優(yōu)化的前提下,YOLOv5s 的精度達(dá)到了93.6%,說(shuō)明YOLOv5s 模型本身的特征提取能力非常強(qiáng)。在僅訓(xùn)練50 個(gè)epoch 時(shí),就達(dá)到了90%的精度,說(shuō)明該模型對(duì)交通標(biāo)志檢測(cè)任務(wù)有很高的適用性。因此,本研究在保持S-YOLOv5s中各小模塊各自結(jié)構(gòu)和功能完整的前提下,削減各模塊中卷積核的個(gè)數(shù)至原來(lái)的一半,大幅削減模型的參數(shù)量,以達(dá)到模型輕量化的目的。采用這一策略后的實(shí)驗(yàn)結(jié)果證明其可行,輕量化后的模型訓(xùn)練結(jié)果如圖10 所示。在100 個(gè)epoch 時(shí),mAP 就達(dá)到了90%的精度,說(shuō)明該輕量化模型的收斂速度還是非??斓模挥?xùn)練結(jié)束時(shí),該模型精度達(dá)到了92.0%,相較于原始精度94.6%,只有略微下降,但模型大小卻從14.2 M 降低到了3.98 M,說(shuō)明這次輕量化是非常有效的。

圖9 YOLOV5s 訓(xùn)練圖Fig.9 YOLOv5s training chart

圖10 輕量化模型訓(xùn)Fig.10 Lightweight model training

從圖9 和圖10 的對(duì)比可以看出,輕量化模型相較于原模型的一個(gè)較大不足是,達(dá)到最高精度所需要的訓(xùn)練次數(shù)明顯上升。原模型訓(xùn)練到120 個(gè)epoch 時(shí),基本就能達(dá)到最高精度,后續(xù)訓(xùn)練精度不再上升,且會(huì)有微小的下降。

而輕量化模型在達(dá)到90%訓(xùn)練精度以前所需epoch 數(shù)是原模型的2 倍,且90%精度以后的訓(xùn)練提升極其緩慢,由圖10 可見(jiàn),曲線一直有一種微微向上的趨勢(shì),但增長(zhǎng)極慢。訓(xùn)練到260個(gè)epoch時(shí),基本達(dá)到其最高精度,即使后續(xù)接著訓(xùn)練,精度也不再提升。

3.2 基于TensorRT 加速模型推理過(guò)程

TensorRT 是英偉達(dá)官方推出的一個(gè)高性能深度學(xué)習(xí)推理優(yōu)化器,能夠?yàn)樯疃葘W(xué)習(xí)模型提供低延遲、高吞吐率的部署推理。Jetson nano B01 是英偉達(dá)官方推出的嵌入式開(kāi)發(fā)板,深度學(xué)習(xí)模型運(yùn)用TensorRT 技術(shù)部署在該開(kāi)發(fā)板上,可以使得深度學(xué)習(xí)模型的推理速度明顯加快。

先將SC-YOLOv5s 模型訓(xùn)練后所得到的.pt 文件轉(zhuǎn)化為.wts文件,然后在Jetson nano上執(zhí)行編譯操作,此時(shí)會(huì)生成一個(gè)YOLOv5 文件,再利用YOLOv5 文件將.wts 文件轉(zhuǎn)化為.engine 文件,利用這個(gè).engine文件,執(zhí)行反序列化操作就可以將模型運(yùn)行起來(lái)。至此,模型就成功部署在Jetson nano B01 上了。

4 實(shí)驗(yàn)結(jié)果及分析

4.1 實(shí)驗(yàn)數(shù)據(jù)集

本次研究使用的是騰訊公司和清華大學(xué)合作制作的交通標(biāo)志數(shù)據(jù)集TT100K,該數(shù)據(jù)集中含有訓(xùn)練圖片6 105 張,測(cè)試圖片3 071 張,交通標(biāo)志種類45 個(gè)。由于訓(xùn)練圖片偏少,本實(shí)驗(yàn)先將訓(xùn)練圖片和測(cè)試圖片混合成一個(gè)數(shù)據(jù)集,再將其打亂分割。在混合中發(fā)現(xiàn)訓(xùn)練集和測(cè)試集有6 張圖片重復(fù),將其去除,得到9 170 張圖片;再將其分割,得到訓(xùn)練圖片7 256 張,驗(yàn)證圖片957 張,測(cè)試圖片957 張。

4.2 實(shí)驗(yàn)環(huán)境及評(píng)價(jià)指標(biāo)

本研究訓(xùn)練過(guò)程是在Ubuntu18.04 操作系統(tǒng)下完成的,GPU 為A4000 顯卡,CUDA 版本為11.1,Pytorch 版本為1.8.1,python 版本為3.8。本研究設(shè)置的初始學(xué)習(xí)率為0.01,優(yōu)化器為SGD,學(xué)習(xí)率采用余弦退火函數(shù),在訓(xùn)練的初始階段采用訓(xùn)練預(yù)熱方式,減少震蕩,使模型收斂速度更快。

本次研究采用mAP評(píng)估模型的準(zhǔn)確率,采用FPS評(píng)估模型的識(shí)別速度。mAP為各類別AP的平均值,一般以P-R曲線所圍成的面積的平均值計(jì)算,mAP越大說(shuō)明網(wǎng)絡(luò)識(shí)別物體的準(zhǔn)確度越高。FPS為每秒識(shí)別的圖片數(shù),F(xiàn)PS值越大說(shuō)明網(wǎng)絡(luò)處理圖片的速度越快。計(jì)算公式分別為

式中:R(Recall)——召回率;P(Precision)——準(zhǔn)確率;AP——單個(gè)類別的PR曲線的面積;c——類別個(gè)數(shù);TP——正類數(shù)預(yù)測(cè)為正類數(shù)的個(gè)數(shù);FP——負(fù)類數(shù)預(yù)測(cè)為正類數(shù)的個(gè)數(shù);FN——正類數(shù)預(yù)測(cè)為負(fù)類數(shù)的個(gè)數(shù);TN——負(fù)類數(shù)預(yù)測(cè)為負(fù)類數(shù)的個(gè)數(shù)。

4.3 實(shí)驗(yàn)結(jié)果分析

在模型輕量化之前,改進(jìn)S-YOLOv5s 算法的mAP達(dá)到94.6%,與原YOLOv5s 算法相比提升了1%,說(shuō)明改進(jìn)的SEC3 模塊相較原始C3 模塊具有更強(qiáng)的特征提取能力。從圖11 可以看出,在整個(gè)訓(xùn)練過(guò)程中,改進(jìn)的S-YOLOv5s 模型的曲線都是在原模型之上的,說(shuō)明S-YOLOv5s 模型相較原YOLOv5s 模型有一定的優(yōu)越性。

圖11 4 模型訓(xùn)練結(jié)果對(duì)比圖Fig.11 Comparison of training results of four models

在模型輕量化之后,由圖11 可知,輕量S-YOLOv5s 模型的mAP為92.0%,融合了CBAM而形成的SC-YOLOv5s 模型的mAP為92.9%,模型有0.9%的精度提升;在100 個(gè)epoch 以前,輕量S-YOLOv5s 模型的訓(xùn)練精度略高于SC-YOLOv5s,但100 個(gè)epoch 以后,SC-YOLOv5s 模型的精度就超過(guò)了S-YOLOv5s。

在YOLOv5s 模型逐漸改進(jìn)過(guò)程中,共產(chǎn)生4個(gè)模型,按改進(jìn)順序排序:YOLOv5s →S-YOLOv5s→輕量S-YOLOv5s → SC-YOLOv5s。

從表1 可知,在經(jīng)過(guò)一系列改進(jìn)和優(yōu)化后,相較于YOLOv5s 模型,SC-YOLOv5s 模型的體積減小了71.7%,但mAP@0.5 僅僅下降了0.7%,說(shuō)明本次研究對(duì)YOLOv5s 模型的改進(jìn)和優(yōu)化是成功的。

表1 4 模型對(duì)比Tab.1 Comparison of four models

與其他算法的對(duì)比結(jié)果如表2 所示,在公開(kāi)數(shù)據(jù)集TT100K 上,本文改進(jìn)算法的體積、平均精度和檢測(cè)速度全部?jī)?yōu)于YOLOv3 和YOLOv4-Tiny,只有平均精度比YOLOv4 低1.2%,但體積和檢測(cè)速度方面本文改進(jìn)算法遠(yuǎn)遠(yuǎn)優(yōu)于YOLOv4,體積只有YOLOv4 的1.6%,檢測(cè)速度則是YOLOv4 的26.8 倍。綜合各項(xiàng)指標(biāo),本文算法遠(yuǎn)優(yōu)于其他算法。

表2 與其他算法對(duì)比Tab.2 Comparison with other algorithms

4.4 識(shí)別結(jié)果

從圖12 和圖13 可看出,YOLOv5s 和SCYOLOv5s 都能以很高精度正確檢測(cè)出交通標(biāo)志。原YOLOv5s 模型部署到Jetson nano 上,同樣采用TensorRT 技術(shù)加速推理,得到的結(jié)果是平均每張圖片的推理速度為75.76 ms,也就是FPS=13.2;而改進(jìn)的YOLOv5s 模型運(yùn)用TensorRT 技術(shù)部署到Jetson nano上,平均每張圖片的推理速度為41.49 ms,即FPS=24.1。改進(jìn)模型的速度是原模型的1.83 倍,而mAP僅僅下降了0.7%,且FPS達(dá)到了24.1,完全滿足了交通標(biāo)志實(shí)時(shí)檢測(cè)的需要。

圖12 YOLOv5s 檢測(cè)效果圖Fig.12 YOLOv5s detection rendering

圖13 SC-YOLOv5s 檢測(cè)效果圖Fig.13 SC-YOLOv5s detection rendering

5 結(jié)論

快速檢測(cè)交通標(biāo)志和嵌入式部署是實(shí)現(xiàn)智能駕駛的基礎(chǔ)條件。本研究在YOLOv5s 模型的基礎(chǔ)上提出了一種交通標(biāo)志檢測(cè)的輕量算法,該算法有助于對(duì)交通標(biāo)志的更高精度、更快速度的檢測(cè)。

(1)首先,對(duì)YOLOv5 模型進(jìn)行了分析,選擇YOLOv5s 模型作為基礎(chǔ)模型;然后通過(guò)注意力機(jī)制SENet 對(duì)YOLOV5s 的backbone 部分的C3 模塊進(jìn)行改進(jìn),提升整個(gè)backbone 的特征提取能力;接著刪減一半的卷積核,使模型輕量化;再將CBAM模塊融合進(jìn)模型head 部分的C3 模塊,以彌補(bǔ)輕量化導(dǎo)致的精度降低;最后,運(yùn)用TensorRT 技術(shù)將模型部署在Jetson nano 開(kāi)發(fā)板,實(shí)現(xiàn)模型的真正應(yīng)用。逐次改進(jìn)過(guò)程中模型mAP@0.5 和體積變化:YOLOv5s(93.6%,14.12 MB)→S-YOLOv5s(94.6%,14.23 MB)→輕量S-YOLOv5s(92.0%,3.98 MB)→SC-YOLOv5s(92.9%,3.99 MB)。

(2)在TT100K 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,本文的輕量化交通標(biāo)志檢測(cè)模型體積小,精度達(dá)到了92.9%,F(xiàn)PS達(dá)到了24.1,能滿足實(shí)時(shí)交通標(biāo)志檢測(cè)的要求。還可以應(yīng)用更好的池化方法提高精度,通過(guò)量化使模型速度得到進(jìn)一步提高,更好地實(shí)現(xiàn)實(shí)時(shí)交通標(biāo)志檢測(cè)。

猜你喜歡
交通標(biāo)志輕量化注意力
交通標(biāo)志認(rèn)得清
基于雙向特征融合的交通標(biāo)志識(shí)別
讓注意力“飛”回來(lái)
汽車輕量化集成制造專題主編
一種輕量化自卸半掛車結(jié)構(gòu)設(shè)計(jì)
“揚(yáng)眼”APP:讓注意力“變現(xiàn)”
A Beautiful Way Of Looking At Things
交通標(biāo)志小課堂
瞄準(zhǔn)掛車輕量化 鑼響掛車正式掛牌成立
專用汽車(2016年1期)2016-03-01 04:13:19
用戶:輕量化掛車的使用體驗(yàn)
專用汽車(2015年4期)2015-03-01 04:09:07
东丰县| 嘉黎县| 卢湾区| 衡阳市| 西峡县| 雷州市| 衢州市| 高陵县| 郎溪县| 阜平县| 从化市| 临汾市| 南乐县| 和田县| 托克托县| 屯昌县| 昔阳县| 宁德市| 横山县| 天祝| 霍林郭勒市| 台北县| 大厂| 改则县| 佛学| 八宿县| 营山县| 锦屏县| 四川省| 诏安县| 佳木斯市| 凌海市| 开平市| 丹东市| 新兴县| 洪泽县| 金阳县| 五河县| 西平县| 甘孜县| 曲麻莱县|