屈 波
(國(guó)能包神鐵路集團(tuán)信息技術(shù)服務(wù)分公司,內(nèi)蒙古 鄂爾多斯 017000)
現(xiàn)有軌道交通綜合分析室中,大部分還是依靠人工分析司機(jī)室的視頻,判斷司機(jī)是否有無(wú)違規(guī)行為。機(jī)車運(yùn)行中常發(fā)生的違規(guī)項(xiàng)行為有離開(kāi)座椅、打盹、玩手機(jī)等,會(huì)對(duì)行車安全產(chǎn)生巨大隱患。本文針對(duì)司機(jī)室智能分析系統(tǒng)中的智能檢測(cè)模塊進(jìn)行優(yōu)化改進(jìn),提升檢測(cè)算法在復(fù)雜的場(chǎng)景下的準(zhǔn)確率,提出了一種YOLOv8-DR(YOLOv8-Driver)方法。該方法在原有的YOLOv8 基礎(chǔ)上引入了坐標(biāo)注意力機(jī)制(Coordinate Attention,CA)[1],抑制無(wú)關(guān)特征干擾,增強(qiáng)高關(guān)聯(lián)區(qū)信息特征提取能力,增加了一個(gè)大尺度檢測(cè)頭分支,更好地捕捉玩手機(jī)等小目標(biāo)的細(xì)節(jié)信息,減少檢測(cè)模型在分析模糊和遮擋圖像時(shí)的誤判,以期為機(jī)車司機(jī)室場(chǎng)景的檢測(cè)提供有效解決方案。
人工分析視頻速度慢,每日無(wú)法完成約兩千個(gè)小時(shí)的視頻文件分析。司機(jī)室智能分析系統(tǒng)由計(jì)算機(jī)分析視頻,可大大提升分析效率,減少人力資源消耗,節(jié)約成本,可實(shí)現(xiàn)當(dāng)天視頻文件全覆蓋分析。該系統(tǒng)部署于多顯卡服務(wù)器上,24 h 不間斷全自動(dòng)分析,輸出異?;蜻`章行為,最終由相關(guān)工作人員核查司機(jī)行車過(guò)程中否有違規(guī)[2]。如圖1 所示,司機(jī)室智能分析系統(tǒng)使用服務(wù)器和客戶端模式的整體架構(gòu)。其中,服務(wù)器上的智能檢測(cè)模塊是整個(gè)分析系統(tǒng)的核心部分,檢測(cè)算法的準(zhǔn)確率是整個(gè)系統(tǒng)準(zhǔn)確性的關(guān)鍵因素之一。通過(guò)不斷優(yōu)化和改進(jìn)模型,可以提高模型的準(zhǔn)確性和可靠性,從而提升整個(gè)系統(tǒng)的性能。
圖1 司機(jī)室智能分析系統(tǒng)框架圖
原有的智能檢測(cè)模塊采用YOLOv8 網(wǎng)絡(luò)檢測(cè)目標(biāo)。雖然該網(wǎng)絡(luò)檢測(cè)效果好,但在司機(jī)室復(fù)雜場(chǎng)景下表現(xiàn)不佳,特別是對(duì)小目標(biāo)的檢測(cè)準(zhǔn)確率低。本文提出的方法如圖2 所示。
圖2 YOLOv8-DR 網(wǎng)絡(luò)結(jié)構(gòu)
YOLOv8 的骨干(backbone)網(wǎng)絡(luò)主要用于提取圖像特征,通過(guò)C2f 獲取圖像匯總的信息特征;頭部網(wǎng)絡(luò)一般由頸部和檢測(cè)頭組成,用于特征融合和目標(biāo)推理預(yù)測(cè)。本文在頭部網(wǎng)絡(luò)中增加了小目標(biāo)檢測(cè)分支[3](圖2 中虛線部分),增加的特征圖大小為160×160,用來(lái)解決模型對(duì)小目標(biāo)檢測(cè)準(zhǔn)確率不佳的問(wèn)題[4]。小目標(biāo)檢測(cè)頭結(jié)構(gòu)增加了CA 模塊,C2f模塊可以使得梯度流信息更加豐富,在其后面接一個(gè)CA 模塊,更有助于特征信息定位[5]。
機(jī)車司機(jī)室的環(huán)境復(fù)雜多變,為了提高模型對(duì)目標(biāo)的有效檢出能力,本文在YOLOv8 的頸部網(wǎng)絡(luò)中增加了注意力機(jī)制,目的是增強(qiáng)目標(biāo)的特征表達(dá)。注意力機(jī)制從大量數(shù)據(jù)信息中挑選出一少部分特征信息,過(guò)濾不重要的信息,關(guān)注提取的部分信息。注意力機(jī)制有空間注意力機(jī)制,有通道注意力機(jī)制,也有兩者結(jié)合的。傳統(tǒng)的注意力機(jī)制如SE 的缺點(diǎn)是不能提取特征圖上位置信息。另一種注意力機(jī)制CBAM,通過(guò)在通道上進(jìn)行全局池化來(lái)引入位置信息,但這種方式只能捕獲局部的信息,對(duì)長(zhǎng)范圍依賴的特征獲取顯得力不從心[6]。CA 模塊是一種新穎、高效的注意力機(jī)制,通過(guò)在通道注意力中嵌入位置信息,使網(wǎng)絡(luò)獲得更有效的信息,避免更多計(jì)算開(kāi)銷的增加。CA 模塊使用起來(lái)非常方便靈活,可以插入網(wǎng)絡(luò)的多個(gè)位置,且不會(huì)造成過(guò)多的參數(shù)量和計(jì)算量。其結(jié)構(gòu)如圖3 所示,通過(guò)平均池化,再對(duì)空間信息變換進(jìn)行編碼,最后在通道上以加權(quán)的方式將空間信息進(jìn)行整合。
圖3 CA 注意力機(jī)制模塊
對(duì)于給定的輸出數(shù)據(jù)x,經(jīng)過(guò)殘差模塊之后,先使用(H,1)和(1,W)的池化核,分別在X方向和Y方向?qū)νǖ肋M(jìn)行池化計(jì)算,計(jì)算公式為
式中:h表示為高度,c表示特征通道數(shù)。另一個(gè)方向可表示為
式中:w表示為寬度。式(1)和式(2)是相互垂直的兩個(gè)空間方向匯聚特征信息,最終得到的是一對(duì)方向感知的特征圖。兩個(gè)公式合起來(lái)的編碼公式為
式(3)中的zc不僅將目標(biāo)全局空間信息壓縮到通道描述符中,而且保存了目標(biāo)特征的位置信息。
獲得全局感受野并編碼精確的位置信息后,需要充分利用上述信息,將兩個(gè)方向的權(quán)重gh和gw合并成權(quán)重矩陣,CA 模塊的最終輸出y可以表示為
CA 模塊的每個(gè)權(quán)重都包含了通道間信息、橫向空間信息和縱向空間信息,能夠幫助網(wǎng)絡(luò)更準(zhǔn)確地定位目標(biāo)信息,增強(qiáng)識(shí)別能力。
改進(jìn)后的檢測(cè)算法重新進(jìn)行訓(xùn)練,訓(xùn)練后進(jìn)行模型轉(zhuǎn)換部署,最后進(jìn)行模型推理。如圖4 所示,智能檢測(cè)模塊主要包括訓(xùn)練、部署及推理3 個(gè)子模塊。訓(xùn)練子模塊根據(jù)系統(tǒng)提供的數(shù)據(jù)集對(duì)網(wǎng)絡(luò)參數(shù)學(xué)習(xí)更新;部署子模塊可以在保證準(zhǔn)確率不降低的前提下提升模型的推理速度;推理子模塊是對(duì)圖像數(shù)據(jù)提取特征,并預(yù)測(cè)分類和坐標(biāo)位置。檢測(cè)項(xiàng)點(diǎn)的結(jié)果會(huì)上傳至客戶端輸出項(xiàng)點(diǎn)模塊,經(jīng)過(guò)人工的核驗(yàn),最終統(tǒng)計(jì)成為報(bào)表形式呈現(xiàn)于客戶端上。
圖4 智能檢測(cè)模塊流程
本文使用的數(shù)據(jù)集為司機(jī)室場(chǎng)景數(shù)據(jù)集,數(shù)據(jù)集的劃分按照7 ∶2 ∶1 的比例,其中訓(xùn)練集大約6 萬(wàn)張。試驗(yàn)所用的系統(tǒng)為Windows10,中央處理器(Central Processing Unit,CPU)型號(hào)為Intel i5-8500 CPU @ 3.00 GHz,圖形處理器(Graphics Processing Unit,GPU)型號(hào)為RTX3060,顯存12 GB,使用PyTorch 版的深度學(xué)習(xí)框架,GPU 加速框架庫(kù)為TensorRT。
評(píng)價(jià)指標(biāo)主要包括:精確度(Precision)用P表示,召回率(Recall)用R表示,平均精度均值用mAP50,計(jì)算公式分別為
式中:NTP表示模型預(yù)測(cè)為正樣本且實(shí)際是正樣本的檢測(cè)框數(shù)量,NFP表示模型預(yù)測(cè)為正樣本但實(shí)際是負(fù)樣本的檢測(cè)框數(shù)量,NFN表示模型未能檢測(cè)到的實(shí)際樣本數(shù)量,N是樣本類別總數(shù),mAP50表示交并比(Intersection over Union,IoU)閾值設(shè)置成0.5的平均精度均值。
本文設(shè)計(jì)了消融實(shí)驗(yàn),用來(lái)驗(yàn)證網(wǎng)絡(luò)改進(jìn)的可行性和有效性。試驗(yàn)方案是將未進(jìn)行任何改動(dòng)的YOLOv8 網(wǎng)絡(luò)作為基準(zhǔn),將小目標(biāo)檢測(cè)頭分支添加到網(wǎng)絡(luò)中,命名為YOLOv8-MinHead,將CA 模塊加入到網(wǎng)絡(luò)模型中,命名為YOLOv8-CA,與同時(shí)增加兩個(gè)模塊的YOLOv8-DR 網(wǎng)絡(luò)模型進(jìn)行比較分析。對(duì)比結(jié)果如表1 所示。由于向網(wǎng)絡(luò)模型中新增加了模塊層,這會(huì)導(dǎo)致整個(gè)模型的參數(shù)量增大,從而影響模型的檢測(cè)速度,YOLOv8-MinHead 和YOLOv8-CA 的檢測(cè)速度都比YOLOv8-DR 的速度快。YOLOv8-DR 雖然增加了計(jì)算量,但提高了目標(biāo)檢測(cè)的準(zhǔn)確性,相比YOLOv8 模型,準(zhǔn)確率、召回率和平均精度均值分別提升了4.6%、3.8%、3.4%。
表1 增加小目標(biāo)檢測(cè)頭與CA 模塊對(duì)模型性能的影響
為驗(yàn)證YOLOv8-DR 模型對(duì)司機(jī)室場(chǎng)景的檢測(cè)效果,選擇目前檢測(cè)準(zhǔn)確率較高的YOLO 系列模型進(jìn)行改進(jìn)對(duì)比試驗(yàn),比對(duì)模型有YOLOv5-DR(YOLOv5 中同時(shí)增加檢測(cè)頭和CA 模塊)、YOLOv7-DR(YOLOv7 中同時(shí)增加檢測(cè)頭和CA 模塊)兩個(gè)檢測(cè)模型。試驗(yàn)結(jié)果如表2 所示,YOLOv8-DR 雖然推理速度最慢,但效果是最好的。在速度滿足實(shí)時(shí)性要求的情況下,YOLOv8-DR 提升了模型對(duì)目標(biāo)空間位置信息的感知能力,提高了檢測(cè)的準(zhǔn)確性。
表2 不同模型在測(cè)試集上的性能對(duì)比
在實(shí)際現(xiàn)場(chǎng)用YOLOv8-DR方法進(jìn)行部署測(cè)試。使用相同的司機(jī)室視頻數(shù)據(jù),采用不同的智能檢測(cè)模塊(模型不同),進(jìn)行智能分析系統(tǒng)對(duì)視頻的分析。圖5 所示為司機(jī)室智能分析系統(tǒng)運(yùn)行界面,對(duì)視頻數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)測(cè)和分析。通過(guò)對(duì)視頻數(shù)據(jù)的分析,系統(tǒng)可以對(duì)司機(jī)人員的行為進(jìn)行智能識(shí)別和分類,如玩手機(jī)、待機(jī)打盹、姿態(tài)不端等不規(guī)范行為。
圖5 司機(jī)室智能分析系統(tǒng)運(yùn)行界面
統(tǒng)計(jì)一周的結(jié)果顯示。以前舊模型的項(xiàng)點(diǎn)準(zhǔn)確率為62.7%,YOLOv8-DR 模型的項(xiàng)點(diǎn)準(zhǔn)確率為76.2%。
圖6 是客戶端顯示的一周項(xiàng)點(diǎn)平均準(zhǔn)確率統(tǒng)計(jì)結(jié)果。根據(jù)統(tǒng)計(jì)數(shù)據(jù)分析,YOLOv8-DR 模型相比舊模型在項(xiàng)點(diǎn)平均準(zhǔn)確率上提高了13.5%,表明YOLOv8-DR模型在實(shí)際應(yīng)用中具有更高的準(zhǔn)確性。準(zhǔn)確率的提高表明該方法在處理復(fù)雜場(chǎng)景和不同類型的數(shù)據(jù)時(shí)更加可靠準(zhǔn)確,為進(jìn)一步應(yīng)用推廣提供了有力的依據(jù)。
圖6 統(tǒng)計(jì)準(zhǔn)確率
本文提出的改進(jìn)目標(biāo)檢測(cè)算法檢測(cè)精度高,滿足實(shí)時(shí)性要求,對(duì)圖像檢測(cè)中目標(biāo)的相互遮擋、特征點(diǎn)少等問(wèn)題有所改善,是提高司機(jī)室場(chǎng)景中項(xiàng)點(diǎn)準(zhǔn)確率的一個(gè)積極進(jìn)展,不僅有助于提高駕駛操作的安全性,還能規(guī)范駕駛操作人員的習(xí)慣,對(duì)機(jī)車安全運(yùn)行具有重大的意義。