孔雅潔,張 葉
(1. 中國科學(xué)院 長春光學(xué)精密機械與物理研究所 應(yīng)用光學(xué)國家重點實驗室,吉林 長春 130033;2. 中國科學(xué)院大學(xué),北京 100049)
隨著科技不斷進步和社會快速發(fā)展,居民生活水平逐漸提高,汽車成為家庭出行的重要交通工具。政府報告資料顯示,2016~2020 年間,中國汽車年銷量均在2 500 萬輛以上,全國地區(qū)汽車保有量也高達2.5 億輛[1]。汽車的普及給人民生活帶來極大便利的同時,也給道路交通運輸帶來巨大壓力,不僅導(dǎo)致交通擁堵,而且增大事故隱患。因此,輔助駕駛、自動駕駛等智能系統(tǒng)的研究應(yīng)用得到政府、企業(yè)、研究機構(gòu)的廣泛關(guān)注。駕駛員借助智能駕駛系統(tǒng),可以及時發(fā)現(xiàn)行車危險,有效提升駕駛安全性,降低交通事故發(fā)生的幾率。在各類智能駕駛系統(tǒng)中,感知環(huán)境是第一步,如何快速精準(zhǔn)地感知、檢測、測量行車過程中出現(xiàn)的各類目標(biāo),一直是研究的熱點。車載攝像頭的拍攝可以獲取大量行車圖像,而圖像數(shù)據(jù)具有采集成本低、信息豐富等特點,可以提取諸多有用的環(huán)境信息以指導(dǎo)駕駛,比如識別前方車輛、行人等。
目標(biāo)檢測作為視覺感知識別的重要任務(wù)之一,吸引了許多研究人員的注意,大量的檢測算法得到研究和應(yīng)用。傳統(tǒng)的目標(biāo)檢測通過人工提取圖像區(qū)域特征,并用預(yù)先設(shè)定的分類器對其進行分類來達到檢測的目的。特征描述準(zhǔn)確度對于檢測結(jié)果影響很大,而且結(jié)合多個低級圖像特征設(shè)計的復(fù)雜的分類器難以獲得很好的性能。隨著深度學(xué)習(xí)的快速發(fā)展,算法模型可以自動學(xué)習(xí)語義,提取圖像的深層特征,檢測速度和效果都得到很大的提高,已成為目標(biāo)檢測領(lǐng)域的主流方法?;谏疃葘W(xué)習(xí)的目標(biāo)檢測算法主要分為兩類:一類是基于區(qū)域選取的二階段目標(biāo)檢測,算法被分為兩步,首先從圖像中生成最有可能包含目標(biāo)的子區(qū)域,然后對子區(qū)域做圖像分類并生成最終的物體邊框;另一類是基于回歸的一階段目標(biāo)檢測,可以直接對物體進行分類,生成類別概率和位置坐標(biāo)。一階段算法基于卷積特征圖同時計算邊界框回歸和目標(biāo)分類問題,避免了計算成本很高的子區(qū)域生成過程,因此,相較于二階段算法,一階段算法具有檢測速度快的優(yōu)勢,更適用于輔助駕駛、自動駕駛等對檢測速度要求高的應(yīng)用場景。一階段算法的典型代表是YOLO 系列算法。
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)作為計算機視覺(Computer Vision,CV)領(lǐng)域的主流深度學(xué)習(xí)模型,取得了很好的效果。在圖像問題中,卷積計算具有平移等價性、局部性等天然優(yōu)勢,但也存在感受野固定且有限這一缺陷,通常需要堆疊卷積層來獲取更大的感受 野。近 兩 年 來,Transformer[2]開 始 在 計 算 機 視覺領(lǐng)域大放異彩,被廣泛應(yīng)用于圖像分類、目標(biāo)檢測、語義分割以及圖像生成等任務(wù)當(dāng)中,其核心自注意力(Self-attention)機制通過在輸入向量之間相互執(zhí)行注意力操作來提取特征,可以獲得全局特征關(guān)系,通過全局范圍的依賴關(guān)系來抑制無關(guān)信息、突出有用區(qū)域,以提高檢測的準(zhǔn)確性,有效彌補了卷積感受野固定的缺陷。
因此,針對輔助駕駛系統(tǒng)中車輛、行人的目標(biāo)檢測任務(wù),本文在YOLOv3 算法模型的基礎(chǔ)之上,引入自注意力機制,并對加入的模塊進行高斯掩碼優(yōu)化,提出了YOLOv3-GMSA 目標(biāo)檢測方法。此外,為了對方法進行評估驗證,我們在MS COCO 2017 數(shù) 據(jù) 集 上 對YOLOv3-GMSA 方法進行了訓(xùn)練和評估,結(jié)果表明該方法在保證檢測速度的同時有效提高了檢測效果。
目標(biāo)檢測是CV 領(lǐng)域的一個重要研究方向,其任務(wù)是在圖像或視頻中找出感興趣的物體,同時檢測出它們的位置和大小。不同于圖像分類任務(wù),目標(biāo)檢測不僅要解決分類問題,還需要解決定位問題。傳統(tǒng)的目標(biāo)檢測主要關(guān)注圖像處理、特征提取算法,但是基于手工提取的特征無法適應(yīng)復(fù)雜多變的現(xiàn)實場景,準(zhǔn)確率不高。直到2012 年,CNN 的興起將目標(biāo)檢測相關(guān)研究推向了新的臺階。
2.1.1 二階段目標(biāo)檢測算法
二階段算法將目標(biāo)檢測過程劃分為兩個步驟,首先根據(jù)算法產(chǎn)生一系列候選框,然后根據(jù)深度神經(jīng)網(wǎng)絡(luò)對候選框進行分類和回歸。最具代表性二階段目標(biāo)檢測算法是R-CNN[3],通過選擇性搜索算法從一組候選框中選擇可能出現(xiàn)的對象框,然后將對象框中的圖像處理后送入CNN提取特征,最后將提取的特征送入分類器進行預(yù)測。R-CNN 在VOC-07 數(shù)據(jù)集上取得了質(zhì)的飛躍,平均精度由傳統(tǒng)算法的33.7% 提高到58.5%。針對R-CNN 訓(xùn)練流程復(fù)雜、存儲空間占用大等不足,Girshick 等提出具有ROI 池化層并且利用Softmax 和線性回歸同時返回分類結(jié)果和邊界框的Fast R-CNN[4],該網(wǎng)絡(luò)在VOC-07 數(shù)據(jù)集上將檢測精度提高到70.0%,檢測速度也得到了很大的提高。由于選擇性搜索算法尋找感興趣區(qū)域運算速度慢,Ren 等提出了Faster RCNN[5]模型,創(chuàng)造性地采用卷積網(wǎng)絡(luò)產(chǎn)生候選框,極大提升了候選檢測框的生成速度。2017 年,Lin 等[6]在Faster R-CNN 的基礎(chǔ)上進一步提出特征金字塔網(wǎng)絡(luò)(Feature Pyramid Networks,F(xiàn)PN)結(jié)構(gòu),有效解決了深層特征圖缺乏空間信息影響定位精度的問題??偟膩碚f,二階段目標(biāo)檢測器可以達到與人類相當(dāng)甚至更好的精度性能,但是大量的計算阻礙了其在實時系統(tǒng)中的應(yīng)用。
2.1.2 一階段目標(biāo)檢測算法
一階段算法不需要產(chǎn)生候選框,直接將目標(biāo)框定位問題轉(zhuǎn)化為回歸問題處理,僅使用一個CNN 網(wǎng)絡(luò)就可以預(yù)測不同目標(biāo)的類別概率和邊界框,因此具有更快的檢測速度。YOLO[7]作為第一個一階段目標(biāo)檢測算法,將圖像分割為S×S個網(wǎng)格,然后為每個網(wǎng)格預(yù)測邊界框并同時給出類別概率,在VOC-07 數(shù)據(jù)集上實現(xiàn)了155 FPS的實時性能,但同時也存在檢測精度相對較低的缺點。針對YOLO 小目標(biāo)檢測精度偏低的問題,Liu 等[8]提出了采用先驗框和多尺度特征圖結(jié)合的SSD 多框預(yù)測算法,不同的分支可以檢測不同尺度的目標(biāo)。隨后,YOLOv2[9]通過引入新的特征提取網(wǎng)絡(luò)Darknet-19、批歸一化、卷積加先驗框預(yù)測和多尺度訓(xùn)練等多種改進策略,有效解決YOLO 檢測精度不足的問題。YOLOv3[10-12]則借鑒各類研究成果進一步優(yōu)化網(wǎng)絡(luò),采用了先進的Darknet-53 殘差網(wǎng)絡(luò)和多分支檢測結(jié)構(gòu),可以有效檢測不同尺寸的對象??偟膩碚f,一階段目標(biāo)檢測器具有很快的運行速度,能夠滿足實時系統(tǒng)的要求,但預(yù)測精度相對二階段算法較低。
2017 年,Google 團隊在自然語言處理(Natural language processing,NLP)領(lǐng)域提出了經(jīng)典算法Transformer,該模型拋棄了傳統(tǒng)的CNN、RNN,網(wǎng)絡(luò)結(jié)構(gòu)由自注意力機制組成,不僅可以并行化訓(xùn)練,而且能夠包含全局信息,基于Transformer 的BERT[13]詞向量生成模型在NLP的11 項測試中取得了最佳成績。Transformer 在NLP 中取得的耀眼成績引起了AI 研究人員的濃厚興趣,許多相關(guān)應(yīng)用也出現(xiàn)在CV 領(lǐng)域中,并取得了很好的效果。
受Transformer 中的自注意力機制啟發(fā),Wang 等[14]提出了Non-local 神經(jīng)網(wǎng)絡(luò),利用全局圖像之間的依賴關(guān)系為特征進行加權(quán)。盡管自注意力機制能夠捕捉圖像的全局信息,但是需要占用較多的顯卡資源,因此Huang 等[15]提出了交叉注意力模塊,僅在縱橫交錯的路徑上執(zhí)行注意力操作,有效限制了對存儲和計算資源的占用。Yi 等通過對空間特征關(guān)系進行建模提出了ASSD[16]檢測器,對全局特征信息進行可靠引導(dǎo),在精度上實現(xiàn)了很大的提升,但是這些方法都忽略了局部信息的重要影響,在檢測精度上仍無法取得滿意效果。ViT[17]是第一個在大規(guī)模視覺數(shù)據(jù)集上完全用Transformer 取代標(biāo)準(zhǔn)卷積操作的深度學(xué)習(xí)模型,其將圖像劃分成固定大小的塊,通過線性變換得到塊向量,隨后送入Transformer 進行特征提取并分類,模型在大規(guī)模數(shù)據(jù)集上做預(yù)訓(xùn)練隨后在目標(biāo)數(shù)據(jù)集進行微調(diào),在ImageNet 數(shù)據(jù)集上可以得到CNN 方法相當(dāng)?shù)某煽?,而且隨著數(shù)據(jù)集的擴大,ViT 將發(fā)揮更大的優(yōu)勢。Facebook AI 團隊首次將Transformer 應(yīng)用到目標(biāo)檢測任務(wù),提出了DERT[18]模型,取代了現(xiàn)有模型中需要手工設(shè)計的工作,如非極大值抑制和錨框生成等,在準(zhǔn)確率和運行時間上能夠取得與Faster R-CNN 相當(dāng)?shù)某煽儭?/p>
總的來說,自注意力機制可以有效捕獲圖像的全局特征關(guān)系,彌補CNN 感受野受限的不足,設(shè)計過程中也需要注意顯卡資源占用情況,同時還需要考慮全局特征和局部特征進行融合時的權(quán)重。
YOLOv3 是對YOLO、YOLOv2 進一步優(yōu)化后提出的一階段目標(biāo)檢測深度學(xué)習(xí)模型,只需要一次端到端計算就可以得到目標(biāo)的類別概率和邊界框,具有運算速度快的特點,適用于實時場景下的目標(biāo)檢測任務(wù)??紤]到隨著特征層的增加,圖像的上下文信息和全局關(guān)系會逐漸減少,影響了模型的檢測精度,因此,本文在YOLOv3的網(wǎng)絡(luò)結(jié)構(gòu)中引入自注意力機制,并在自注意力模塊中加入高斯掩碼操作,使模型在捕獲全局特征關(guān)系的同時仍然重視局部特征的影響,以取得更好的檢測效果。
YOLOv3 的模型架構(gòu)主要分為兩個部分:Darknet-53 和多分支預(yù)測網(wǎng)絡(luò)。相比于YOLOv2 的Darknet-19,模型采用了具有殘差單元的Darknet-53 特征提取網(wǎng)絡(luò),構(gòu)建的網(wǎng)絡(luò)層次更深。另外,為了使多種尺度下的目標(biāo)都具有較好的檢測效果,模型采用具有FPN 架構(gòu)的多分支檢測結(jié)構(gòu),采用3 個尺度的特征圖分別對大、中、小3 類目標(biāo)進行檢測。
3.1.1 Darknet-53 與多分支預(yù)測網(wǎng)絡(luò)
為了達到更好的分類效果,YOLOv3 的作者借鑒殘差網(wǎng)絡(luò)的思想,設(shè)計了Darknet-53 特征提取網(wǎng)絡(luò)。Darknet-53 網(wǎng)絡(luò)是一個全卷積網(wǎng)絡(luò),包含23 層殘差單元(Residual Unit),具有非常多的殘差跳層連接,其結(jié)構(gòu)見圖1,左上是網(wǎng)絡(luò)的結(jié)構(gòu),下方的虛線框展示了各模塊的具體結(jié)構(gòu),模塊中的數(shù)字表示其重復(fù)的次數(shù)。為了緩解池化操作帶來的梯度負面效果,網(wǎng)絡(luò)用卷積層替代池化層,通過調(diào)整卷積的步長為2 實現(xiàn)降采樣。
圖1 YOLOv3-GMSA 網(wǎng)絡(luò)模型架構(gòu)Fig.1 Architecture of YOLOv3-GMSA network
多分支預(yù)測網(wǎng)絡(luò)構(gòu)建3 個預(yù)測分支,其結(jié)構(gòu)如圖2 所示。當(dāng)輸入圖片大小為640×640 時,3 個尺度的特征圖大小見表1,縮小的倍數(shù)分別為32,16,8。特征圖尺寸越小,聚合的信息范圍就越大,對大目標(biāo)檢測越有利;反之,特征圖尺寸越大,保留的局部細節(jié)信息就越多,對小目標(biāo)檢測越有用。為了在大尺寸特征圖中保留小尺寸特征圖包含的更高層語義信息,F(xiàn)PN 結(jié)構(gòu)采用了上采樣和融合的做法,將較小尺寸特征圖上采樣至較大尺寸,然后與較大尺寸特征圖進行拼接融合。
表1 圖片大小為640×640 時特征圖尺寸和先驗框尺寸Tab.1 Feature map size and prior frame size with picture size of 640×640
圖2 特征金字塔結(jié)構(gòu)的多尺度特征融合Fig.2 Multi-scale feature fusion of feature pyramid network
3.1.2 邊界框預(yù)測
不同于二階段算法需要生成候選框,YOLO系列算法將圖像分割為S×S個網(wǎng)格,劃分的網(wǎng)格對應(yīng)特征圖的尺寸。在各檢測分支中,YOLOv3 對目標(biāo)采用了K-means 聚類,每個分支設(shè)置3 個先驗框,先驗框尺寸如表1 所示。模型采用全卷積的網(wǎng)絡(luò)結(jié)構(gòu),最后一層卷積輸出的卷積核個數(shù)是3×(N+4+1),對應(yīng)3 個預(yù)測邊界框,每個預(yù)測邊界框包含N個類別概率、4 個邊界框位置信息和1 個邊界框的置信率。針對MS COCO 數(shù)據(jù)集的80 個類別,最后一層卷積的卷積核個數(shù)是255。
不同于YOLO 采用Softmax 計算類別概率并用最大概率的標(biāo)簽表示邊界框內(nèi)的目標(biāo),YOLOv3 可以實現(xiàn)對檢測目標(biāo)的多標(biāo)簽分類,方法是對先驗框中的圖像采用二元邏輯回歸(Logistic Regression),在每一類別上計算是該類別的概率,并設(shè)定閾值對多標(biāo)簽進行預(yù)測。
為了增強模型對全局特征關(guān)系的捕捉能力,本文引入Transformer 的自注意力機制,在多分支檢測網(wǎng)絡(luò)的出口附近嵌入高斯掩碼自注意力模塊,如圖1 所示。該模塊分別對大、中、小3 種尺寸的特征圖進行自注意力操作,讓特征圖中包含更多的大范圍信息,提高算法的檢測精度。
3.2.1 自注意力機制
注意力(Attention)機制[19]最早由Bengio 等在2014 年提出,其思想就是將有限的注意力集中到重點信息上。在Transformer 中,進出自注意力結(jié)構(gòu)的輸入和輸出都是一個向量序列,每個向量都表示一個項,將輸入序列對自身進行注意力操作,根據(jù)完整的輸入序列來聚合全局信息以更新序列的每一個項,可以從全局范圍對各項之間的相關(guān)性進行建模,例如在自然語言處理中可以評估哪幾個詞更可能組成一個句子。
圖3(a)展示了自注意力基本塊的運算結(jié)構(gòu)。對 于 包 含n個 項 的 序 列(x1,x2,…,xn),用X∈Rn×d表示,其中d是每個項的向量長度。自注意力的目標(biāo)是通過全局上下文對每個項進行編碼來捕獲n個項的相互關(guān)系,其方式是定義3 個可學(xué)習(xí)的權(quán)重矩陣WK、WQ、WV將X轉(zhuǎn)換為查詢Q=XWQ、鍵K=XWK以 及 值V=XWV。自注意力模塊的輸出由公式(1)給出:
圖3 自注意力計算結(jié)構(gòu)示意圖Fig.3 Structure of self-attention
對于每一個項,自注意力模塊將其查詢向量與全部項的鍵向量做內(nèi)積,然后用Softmax 激活函數(shù)做歸一化得到注意力得分,基于注意力得分可以用全部項對每一項進行加權(quán)求和得到新的輸出。
一個標(biāo)準(zhǔn)的注意力模塊會對所有項進行注意力操作,但是對于圖像數(shù)據(jù)而言,局部特征關(guān)系的重要性大于全局特征關(guān)系,因此,本文對獲取的注意力得分進行高斯掩碼計算,增加局部信息的比重,削減全局信息的比重。二維高斯分布計算公式如式(2)所示:
其中參數(shù)ρ、σ1、σ2是可學(xué)習(xí)參數(shù),根據(jù)全部項相對某一項的距離計算得到高斯分布的掩碼向量,然后與該項的注意力得分向量計算哈達瑪積,歸一化后得到新的注意力得分。
為了對序列內(nèi)各項之間的復(fù)雜關(guān)系進行建模,Transformer 采用了具有多個自注意力基本塊的多頭自注意力(Multi-head Self-attention)機制,其結(jié)構(gòu)如圖3(b)中所示。每一個基本塊擁有 自 己 的 權(quán) 重 矩 陣{WQi,WKi,WVi},其 中i=0,1,…,h-1,h是包含基本塊的個數(shù)。將輸出[Z0,Z1,…,Zh-1]∈Rn×h·dv拼 接 后 與 權(quán) 重 矩 陣W∈Rh·dv×d做內(nèi)積即可得到最終的輸出。
3.2.2 位置嵌入
與卷積神經(jīng)網(wǎng)絡(luò)不同,自注意力模塊需要將輸入的二維特征圖轉(zhuǎn)換為一維序列處理,具有排序無關(guān)的特性,因此丟失了每一個特征塊的位置信息。在缺失位置信息的情況下對特征塊之間的語義進行學(xué)習(xí)將會增大學(xué)習(xí)成本,所以需要提供位置嵌入(Position Embedding),即特征塊的位置編碼,編碼公式如式(3)所示:
3.2.3 GMSA 模塊結(jié)構(gòu)
加入YOLOv3 網(wǎng)絡(luò)模型的高斯掩碼自注意力模塊結(jié)構(gòu)如圖4 所示。該模塊輸入與輸出均為batchsize×channel×width×height 的 四 維 張量,在進行注意力操作之前,首先將二維特征圖轉(zhuǎn)換為一維序列,然后計算其位置嵌入向量并相加。對嵌入位置信息的序列執(zhí)行帶有高斯掩碼的多頭自注意力操作,獲得帶有全局信息的序列,將該序列與嵌入位置信息的序列相加并歸一化后得到輸出序列,最后進行維度調(diào)整即可得到輸出特征圖。
圖4 GMSA 模塊結(jié)構(gòu)Fig.4 Structure of GMSA module
為了評估改進的YOLOv3-GMSA 目標(biāo)檢測模型相關(guān)性能,本文在公開數(shù)據(jù)集上進行了一系列實驗,并對YOLOv3 和改進后的YOLOv3-GMSA 進行了對比,相關(guān)內(nèi)容介紹如下。
訓(xùn)練算法模型使用MS COCO 2017 數(shù)據(jù)集。該數(shù)據(jù)集由微軟公司制作收集,用于目標(biāo)檢測、分割、圖像描述等任務(wù),包含目標(biāo)檢測、關(guān)鍵點檢測、實例分割、全景分割和圖像描述等5 種標(biāo)注類型,本文采用目標(biāo)檢測標(biāo)注對模型進行訓(xùn)練。該公開數(shù)據(jù)集包含80 個類別,官方共劃分成3 個部分,其中訓(xùn)練數(shù)據(jù)集包含11.8 萬多張圖片,存儲空間占用18 GB;訓(xùn)練驗證數(shù)據(jù)集包含5 千張圖片,存儲空間占用1 GB;模型測試數(shù)據(jù)集包含4 萬多張圖片,存儲空間占用6 GB。模型訓(xùn)練過程中,圖片尺寸為640×640。訓(xùn)練環(huán)境的配置如表2 所示,算法模型采用PyTorch 框架搭建,底層通過CUDA 接口使用顯卡資源進行加速。
表2 訓(xùn)練環(huán)境配置Tab.2 Training environment
訓(xùn)練相關(guān)參數(shù)如表3 所示,其中批處理大小、迭代次數(shù)等參數(shù)在官方參考數(shù)值之上結(jié)合硬件條件及訓(xùn)練情況進行了適當(dāng)調(diào)整,訓(xùn)練的優(yōu)化算法采用Adam。
表3 訓(xùn)練參數(shù)Tab.3 Training parameters
本文在MS COCO 2017 數(shù)據(jù)集上,基于Py-Torch 框架在Ubuntu 18.04 系統(tǒng)和NVIDIA TITAN Xp 顯卡之上對改進后的YOLOv3-GMSA算法進行了訓(xùn)練。經(jīng)過100 輪訓(xùn)練之后,使用模型測試數(shù)據(jù)集對算法性能進行評估,模型的性能對比如表4 所示。
表4 算法模型性能對比Tab.4 Performance evaluation
從表中可以看出,改進后模型YOLOv3-GMSA 訓(xùn)練的結(jié)果mAP@0.5 達到56.88%,精度達到65.31%,召回率達到53.18%。與YOLOv3 相比,mAP@0.5 提高了2.56%,精度提高了3.53%,召回率提高了1.22%,目標(biāo)檢測的效果顯著提高。模型的檢測效果相比于二階段檢測算法Faster R-CNN 略有不足,但在檢測速度方面具有較大的優(yōu)勢。人眼自然幀率是24 FPS,車載視覺傳感器常見幀率一般不低于該數(shù)值,實際場景中顯卡等硬件資源受限,處理速度將進一步下降,二階段算法難以滿足實時性要求。相比于SSD、ASSD 等目標(biāo)檢測算法,改進后模型的檢測效果更好,檢測速度更快。由于嵌入了高斯掩碼自注意力模塊,模型復(fù)雜度增加,參數(shù)增多,檢測速度有所下降。改進后的模型檢測處理速度達到39.38 FPS,相比于YOLOv3 下降3.88,但仍滿足實時檢測的要求。通過以上數(shù)據(jù)分析可以得出,在YOLOv3 網(wǎng)絡(luò)深層插入高斯掩碼自注意力模塊以加強網(wǎng)絡(luò)模型對全局特征關(guān)系的捕捉能力,使特征圖包含更多的全局信息,更有意義,可以有效提高目標(biāo)檢測的效果。
為了更好地觀察YOLOv3-GMSA 改進算法的訓(xùn)練情況,圖5 記錄了其訓(xùn)練過程中mAP@0.5、mAP@0.5∶0.95、精度以及召回率的趨勢曲線??梢钥吹絤AP@0.5、mAP@0.5∶0.95 始終呈上升趨勢,在40 輪左右逐漸收斂,精度和召回率則在上下波動中整體呈上升趨勢,且精度和召回率的波動趨勢相反,這是精度和召回率本身存在一定矛盾所致。
圖5 YOLOv3-GMSA 模型訓(xùn)練關(guān)鍵參數(shù)曲線Fig.5 Training curve of pivotal parameters in YOLOv3-GMSA
為了更直觀地感受改進后算法的檢測效果,圖6 通過對3 張實際行車環(huán)境中拍攝得到的照片進行檢測,對比了YOLOv3 和改進后的YOLOv3-GMSA 算法檢測效果,檢測時置信度閾值設(shè)置為0.25。圖中第一列是原圖,第二列是YOLOv3 的檢測結(jié)果,第三列是YOLOv3-GMSA 的檢測結(jié)果。從第一行圖中可以看出,YOLOv3 和改進算法均具有良好的檢測效果,能夠?qū)︸R路上的行人進行檢測定位,相比于YOLOv3,改進后算法具有更高的置信度;第二行圖中,YOLOv3 出現(xiàn)明顯的識別錯誤,將巴士的后視鏡識別為人,置信度達到0.36,而改進后的算法能夠有效捕捉全局信息,融入全局特征關(guān)系,沒有出現(xiàn)類似的誤識別情況;第三行圖中,YOLOv3 沒有識別出汽車駕駛員以及車后騎自行車的行人,改進后算法則有效標(biāo)定了這兩塊地方,置信度達到0.26。
圖6 檢測結(jié)果對比Fig.6 Comparison of detection results
總而言之,YOLOv3-GMSA 改進算法通過引入自注意力機制,增強了模型對全局特征關(guān)系的捕捉能力,在犧牲一定檢測速度的前提下,可以有效提高目標(biāo)檢測的效果。
針對輔助駕駛的目標(biāo)檢測場景,受計算機視覺領(lǐng)域的Transformer 應(yīng)用啟發(fā),本文在一階段目標(biāo)檢測算法YOLOv3 的基礎(chǔ)之上,嵌入了高斯掩碼自注意力模塊,加強網(wǎng)絡(luò)模型對全局特征關(guān)系的捕捉能力,以提高檢測精度。在公開數(shù)據(jù)集MS COCO 2017 上訓(xùn)練后的實驗結(jié)果表明,改進后的模型將mAP@0.5 提高了2.56%,雖然在檢測速度上略有損失,但仍能滿足實時性需求。該方法為輔助駕駛系統(tǒng)中的目標(biāo)檢測提供了一種新的優(yōu)化方案,而且通過調(diào)整自注意力模塊的設(shè)計,可以在檢測精度和檢測速度之間進行有效權(quán)衡,以適應(yīng)不同場景下的檢測要求。