羅江宏,袁梓麒,易志雄
(湖南科技大學(xué) 信息與電氣工程學(xué)院,湖南湘潭,411100)
自動(dòng)駕駛的本質(zhì)是構(gòu)造反射,即汽車(chē)感知外部世界的變化,并做出相應(yīng)反饋。自動(dòng)駕駛汽車(chē)的環(huán)境感知功能需要提供可靠的外部環(huán)境信息,自動(dòng)駕駛汽車(chē)才能準(zhǔn)確地判斷自身位置以及周邊駕駛狀態(tài)并做出可靠的駕駛決策。其中行人與車(chē)輛識(shí)別是自動(dòng)駕駛汽車(chē)環(huán)境感知功能的重要技術(shù),近年來(lái),深度學(xué)習(xí)技術(shù)得到快速的發(fā)展,基于計(jì)算機(jī)視覺(jué)的行人車(chē)輛識(shí)別功能可行性得到了極大的提高,將基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法應(yīng)用到行人車(chē)輛識(shí)別技術(shù)上,對(duì)自動(dòng)駕駛汽車(chē)環(huán)境感知功能的研究和應(yīng)用具有重要意義[1]。
基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法一般分為兩類(lèi)[2],一類(lèi)是基于候選區(qū)域生成的檢測(cè)方法(two-stage),其算法分為兩個(gè)階段,首先由算法的子網(wǎng)絡(luò)生成一系列候選框,然后再對(duì)候選框進(jìn)行分類(lèi)和定位,R-CNN[3]、Fast R-CNN[4]、Faster R-CNN[5]等算法都屬于這類(lèi)算法。另一類(lèi)是基于回歸檢測(cè)的檢測(cè)方法(one-stage),這類(lèi)算法并不會(huì)生成候選框,而是直接在輸出特征圖上生成候選邊界框進(jìn)行分類(lèi)和定位,其代表為YOLO[6~9]系列算法與SSD[10]算法。two-stage 目標(biāo)檢測(cè)算法往往能達(dá)到比較高的目標(biāo)準(zhǔn)確識(shí)別率,但缺點(diǎn)是檢測(cè)速度慢,模型龐大并不適合需要實(shí)時(shí)車(chē)輛行人檢測(cè)的任務(wù)[11];one-stage 目標(biāo)檢測(cè)算法檢測(cè)速度快,結(jié)構(gòu)簡(jiǎn)單,精度相對(duì)two-stage 目標(biāo)檢測(cè)算法較低,但近幾年的onestage 目標(biāo)檢測(cè)算法在滿(mǎn)足實(shí)時(shí)檢測(cè)的基礎(chǔ)上,準(zhǔn)確率也基本上能達(dá)到two-stage 目標(biāo)檢測(cè)算法的水平,因此在車(chē)輛行人檢測(cè)領(lǐng)域中one-stage 目標(biāo)檢測(cè)算法具有較高的應(yīng)用研究?jī)r(jià)值。
然而,對(duì)于攝像頭而言,自動(dòng)駕駛汽車(chē)的行駛過(guò)程,是運(yùn)動(dòng)的、快速的。面對(duì)采集到的交通圖像中存在的遮擋目標(biāo)、行駛路線(xiàn)前方的小尺度目標(biāo)以及復(fù)雜道路上的多尺度目標(biāo)等情況時(shí)傳統(tǒng)的two-stage 目標(biāo)檢測(cè)方法無(wú)法達(dá)到可靠的實(shí)時(shí)檢測(cè)速度;傳統(tǒng)的one-stage 目標(biāo)檢測(cè)算法又無(wú)法達(dá)到可靠的實(shí)時(shí)檢測(cè)精度。袁小平等[12]通過(guò)在YOLOV3的backbone 上引入密集連接模塊來(lái)實(shí)現(xiàn)特征重用,提高網(wǎng)絡(luò)模型的特征提取能力來(lái)提升網(wǎng)絡(luò)精度,但引入密集連接模塊使得網(wǎng)絡(luò)需要耗費(fèi)大量的計(jì)算資源,導(dǎo)致模型檢測(cè)速度下降。顧德英等[13]通過(guò)在YOLOv5 中引入更加復(fù)雜的P6 網(wǎng)絡(luò)結(jié)構(gòu)加深網(wǎng)絡(luò)深度來(lái)改善網(wǎng)絡(luò)對(duì)特征的提取能力,但隨著網(wǎng)絡(luò)深度的加深,會(huì)使得特征圖中每個(gè)通道之間的全局信息逐漸丟失。Choi 等[14]發(fā)現(xiàn)城市道路圖像數(shù)據(jù)在高度垂直方向上包含的信息密度要遠(yuǎn)少于圖像水平方向上的信息密度,而且城市道路圖像在高度方向的特征上有著明顯的結(jié)構(gòu)性,并結(jié)合此特性提出了HANet,雖然通過(guò)此特點(diǎn)有效地改進(jìn)了城市道路語(yǔ)義分割模型的準(zhǔn)確性,但是網(wǎng)絡(luò)過(guò)于依賴(lài)圖像在高度方向上的特征信息,忽略了對(duì)圖片全局上下文信息的提取。近些年原本應(yīng)用于自然語(yǔ)言處理(NLP)技術(shù)上的Transformer[15]模型開(kāi)始在CV 領(lǐng)域大放異彩。Transformer 采用多層感知器(MLP)的自注意機(jī)制,克服了以往RNN 用于自然語(yǔ)言處理的局限性。自Transformer 出現(xiàn)以來(lái),它在各個(gè)領(lǐng)域都得到了相當(dāng)?shù)闹匾?。早期Transformer 在CV 領(lǐng)域主要用于處理時(shí)序特征,直到ViT(Visual Transformer)[16]模型的出現(xiàn),ViT 模型首次擴(kuò)大Transformer Encoder 模塊的使用范圍,代替?zhèn)鹘y(tǒng)的CNN 卷積應(yīng)用于計(jì)算機(jī)視覺(jué)領(lǐng)域中。
基于以上分析,為解決自動(dòng)駕駛汽車(chē)對(duì)車(chē)輛行人識(shí)別算法的速度、精度要求,本文以YOLOv5 算法為基礎(chǔ),結(jié)合城市道路圖像高度方向明顯結(jié)構(gòu)性的特點(diǎn),結(jié)合Transform 結(jié)構(gòu)提出基于改進(jìn)YOLOv5s 的車(chē)輛行人目標(biāo)檢測(cè)算法,并使用公開(kāi)自動(dòng)駕駛數(shù)據(jù)集KITTI 進(jìn)行算法的比較和分析驗(yàn)證。
YOLOv5 系列目標(biāo)檢測(cè)算法總共有四種不同的模型,分別為:YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x。其中YOLOv5s 在其中屬于深度最小、速度最快的模型。YOLOv5系列模型與之前的YOLOv4、YOLOv3 模型結(jié)構(gòu)類(lèi)似,整體結(jié)構(gòu)依然可以分為Input、Backbone、Neck、Prediction四部分。
在Input 部分YOLOv5s 繼續(xù)沿用YOLOv4 中的馬賽克(Mosaic)數(shù)據(jù)增強(qiáng)來(lái)豐富訓(xùn)練數(shù)據(jù)集;Backbone 加入了Focus 結(jié)構(gòu)對(duì)輸入圖片進(jìn)行切片操作,新增CSP1_N 和CSP2_N 兩種CSP 結(jié)構(gòu)分別應(yīng)用在Backbone 和Neck 結(jié)構(gòu)中,并繼續(xù)沿用SPP(空間向量金字塔池化)進(jìn)行多尺度融合;Neck 中采用FPN(Feature Pyramid Network)+PAN(Path Aggregation Network)結(jié)構(gòu),F(xiàn)PN 結(jié)構(gòu)能夠自上向下傳遞特征,PAN 結(jié)構(gòu)能自下向上傳遞特征,兩種結(jié)構(gòu)相互結(jié)合,增強(qiáng)YOLOv5 網(wǎng)絡(luò)的特征融合能力;Prediction 采用廣義交并比(Complete Intersection over Union,GIoU)損失作為Bounding box 的損失函數(shù)解決區(qū)分預(yù)測(cè)框和目標(biāo)框大小相同的問(wèn)題。YOLOv5s 的網(wǎng)絡(luò)結(jié)構(gòu)圖如圖1 所示。
圖1 YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)圖
YOLOv5 系列算法是采用anchor-based 的目標(biāo)檢測(cè)算法,通過(guò)K-means 聚類(lèi)方法得出先檢錨框參數(shù),在網(wǎng)絡(luò)算法訓(xùn)練時(shí)預(yù)先設(shè)定,其YOLOv5s 的默認(rèn)先驗(yàn)錨框參數(shù)只適合COCO、VOC 等多類(lèi)別開(kāi)發(fā)數(shù)據(jù)集。本文中數(shù)據(jù)集的檢測(cè)對(duì)象與前者存在較大的差別,若使用YOLOv5s 默認(rèn)的先驗(yàn)錨框參數(shù)進(jìn)行訓(xùn)練,會(huì)導(dǎo)致模型的收斂速度變慢并不能得到最佳的檢測(cè)效果。
通過(guò)K-means 聚類(lèi)方法計(jì)算先驗(yàn)錨框參數(shù)存在一定的缺陷,K-means 是以數(shù)據(jù)空間中K 個(gè)點(diǎn)為中心聚類(lèi),對(duì)最靠近中心點(diǎn)的對(duì)象歸類(lèi)。通過(guò)迭代的方式,逐次更新各聚類(lèi)中心的值。由于選擇的中心點(diǎn)是隨機(jī)的,每次聚類(lèi)的結(jié)果都有一定的差異。K-means++算法在隨機(jī)選取一個(gè)樣本作為聚類(lèi)中心后計(jì)算每個(gè)樣本與當(dāng)前已經(jīng)聚類(lèi)的類(lèi)中心之間的最短距離,用D(x)表示;接著計(jì)算每個(gè)樣本點(diǎn)被選為下一個(gè)聚類(lèi)中心的概率,用表P(x)示;最后選擇最大概率值所對(duì)應(yīng)的樣本點(diǎn)作為下一個(gè)聚類(lèi)中心;K-means++算法每選擇一個(gè)聚類(lèi)中心后要對(duì)已存在的聚類(lèi)目標(biāo)進(jìn)行再一次的計(jì)算,重復(fù)此過(guò)程直到完整地選出K 個(gè)聚類(lèi)中心;其中計(jì)算P(x)公式如下:
所以本文為了獲取具有針對(duì)性的初始先驗(yàn)錨框參數(shù)選擇使用K-means++聚類(lèi)算法重新計(jì)算YOLOv5s 的9 個(gè)默認(rèn)先驗(yàn)錨框參數(shù)。表1 展示了聚類(lèi)方法優(yōu)化前后,在KITTI數(shù)據(jù)集上K-means++聚類(lèi)出的初始先驗(yàn)錨框參數(shù)。
表1 默認(rèn)先驗(yàn)錨框參數(shù)
城市道路場(chǎng)景圖像具有與透視幾何[17]和位置模式[18,19]相關(guān)的獨(dú)特性質(zhì)。智能車(chē)輛對(duì)車(chē)輛前方圖像信息采集是由安裝在車(chē)輛前側(cè)的高清攝像頭設(shè)備進(jìn)行采集的,所以采集的圖像包含了大量的城市道路行駛圖像。其中道路圖像在垂直位置上的特征分部非常明顯,這導(dǎo)致了根據(jù)空間位置合并共同結(jié)構(gòu)的可能性,尤其是在垂直位置。天空、樹(shù)木、建筑等對(duì)象主要分布在圖像的頂部像素部分,車(chē)輛、行人和道路、車(chē)道線(xiàn)等道路上的對(duì)象主要分布在圖像的中部和底部,如圖2 所示。
圖2 城市道路場(chǎng)景不同高度部分的類(lèi)別分布圖
針對(duì)城市道路圖像的內(nèi)在特征,本文提出了一種基于Transformer 的高度上下文注意力模塊稱(chēng)為HCA 模塊(High Contextual Attention Module),Transformer 能夠通過(guò)自我關(guān)注學(xué)習(xí)輸入序列之間的復(fù)雜依賴(lài)關(guān)系,HCA 模塊通過(guò)獲取和學(xué)習(xí)圖像高分辨率特征圖的垂直空間特征后利用Transformer 模塊構(gòu)建特征長(zhǎng)期依賴(lài)關(guān)系并捕獲垂直空間上的多尺度上下文特征,對(duì)低分辨率特征圖施加注意力權(quán)重,預(yù)測(cè)每個(gè)水平部分中哪些要素或類(lèi)比其它要素或類(lèi)更重要,模塊結(jié)構(gòu)如圖3 所示。
圖3 HCA 模塊結(jié)構(gòu)圖
YOLOv5 的特征提取網(wǎng)絡(luò)——CSP-Darknet 是一種在執(zhí)行特征提取時(shí)效率很高的殘差結(jié)構(gòu)網(wǎng)絡(luò),但其結(jié)構(gòu)是通過(guò)大量的卷積核堆疊來(lái)提取特征,導(dǎo)致網(wǎng)絡(luò)越到深層其丟失的全局信息就越嚴(yán)重,所以本文提出的HAC-YOLOv5 網(wǎng)絡(luò)是在原YOLOv5 特征提取網(wǎng)絡(luò)的三個(gè)下采樣層之間加入HCA 模塊,讓backbone 輸出的三個(gè)特征圖添加全局的高度上下文注意力權(quán)重,HCA-YOLOv5 結(jié)構(gòu)圖如圖4 所示。
圖4 HAC-YOLOv5結(jié)構(gòu)圖
2.2.1 寬度池化
根據(jù)圖像空間位置的不同,在城市道路圖像中,就分類(lèi)而言,圖像的每一行都有明顯不同的統(tǒng)計(jì)信息,所以說(shuō)Xi每行中的特征信息都在一定程度上表示了當(dāng)前高度的行信息,對(duì)Xi每行進(jìn)行寬度方向的平均池化操作可以分別捕獲每行的全局信息來(lái)估計(jì)對(duì)應(yīng)信道在全局的權(quán)重。進(jìn)行寬度方向的池化操作后得到的矩陣用表示,Z矩陣的第h 行向量計(jì)算公式如下所示:
2.2.2 粗注意力插值
高分辨特征圖經(jīng)過(guò)寬度方向池化操作得到的矩陣Z中每行包含的高度上下文信息是比較分散的,并非所有的行中的信息都是有效全局信息,每個(gè)高度區(qū)域之間的類(lèi)別分別也有較大的差異。因此對(duì)矩陣Z進(jìn)行高度方向的插值下采樣,得到一個(gè)粗糙的高度方向的通道注意力特征圖的值本文設(shè)為16。因此模塊最后還需要將得到的注意力特征圖經(jīng)過(guò)上采樣轉(zhuǎn)換成與需要相乘的低分辨率特征圖等效的維度。
2.2.3 Transformer Encoder 模塊
在HANet 模型的Height-driven 注意力模塊中經(jīng)過(guò)寬度池化和粗注意力插值處理得到帶有高度上下文特征的矩陣后,使用多個(gè)卷積層對(duì)進(jìn)行連續(xù)的卷積操作,并加入位置編碼獲取每個(gè)特征點(diǎn)的位置信息。雖然這種方式能夠提取到一定的全局特征信息,但是由于卷積核本身的特性(卷積核的局部計(jì)算)限制了其捕獲全局上下文信息的能力。相比之下,變換器能夠全局關(guān)注圖像特征塊之間的依賴(lài)關(guān)系,并通過(guò)多頭部自我注意為目標(biāo)檢測(cè)保留足夠的空間信息。即HANet 模型中對(duì)矩陣?Z采用的卷積操作很難讓網(wǎng)絡(luò)提取到大范圍、大高度差特征信息之間的聯(lián)系,無(wú)法建立局部特征與全局特征之間的依賴(lài)關(guān)系。Transformer 結(jié)構(gòu)打破了CNN 有限感受野的局限性,通過(guò)結(jié)構(gòu)內(nèi)的多頭自注意力機(jī)制建立特征圖中長(zhǎng)遠(yuǎn)特征信息的遠(yuǎn)程依賴(lài)關(guān)系,能獲取全局感受野信息加強(qiáng)網(wǎng)絡(luò)對(duì)圖像全局信息的理解能力,并不需要像CNN 那樣堆疊大量卷積核加深網(wǎng)絡(luò)深度來(lái)提高感受野來(lái)建立圖像特征信息之間的全局聯(lián)系。所以本文受ViT 所啟發(fā),將帶有高度全局上下文信息的特征圖?Z經(jīng)過(guò)一層卷積層升維到與需要相乘的低分辨率特征圖Xj相同的空間維度得到矩陣Q,再經(jīng)過(guò)兩個(gè)Transformer Encoder 模塊得到帶有高度上下文信息權(quán)重的注意力矩陣QN。
本文中Transformer Encoder 的輸入并沒(méi)有將輸入矩陣分為多個(gè)patch 輸入,而是直接輸入。每個(gè)Transformer Encoder 由多頭注意力(Multi-Head Attention)和多層感知機(jī)(MLP)兩個(gè)子層搭建而成,每層之間使用殘差結(jié)構(gòu)進(jìn)行連接,其結(jié)構(gòu)圖如圖5 所示。
圖5 Transformer Encoder 模塊結(jié)構(gòu)圖
多頭注意力機(jī)制是Transformer Encoder 結(jié)構(gòu)中最重要的一層。輸入特征圖序列經(jīng)過(guò)規(guī)范層歸一化,然后傳遞給由單頭自注意力組成的多頭注意力層。單頭自注意機(jī)制將輸入序列進(jìn)行三次線(xiàn)性映射,其中包含三個(gè)全連接層,分別作為查詢(xún)向量(query,Q)、鍵向量(key,K)和值向量(value,V)。查詢(xún)向量和鍵向量的值經(jīng)過(guò)矩陣乘法運(yùn)算(MatMul)、縮放運(yùn)算(Scale)、掩碼運(yùn)算(Mask)和SoftMax 函數(shù)運(yùn)算后的輸出序列與值向量相乘,生成有注意力的序列。注意力權(quán)重決定了模型應(yīng)該關(guān)注其序列的哪些部分,可以有效提高檢測(cè)效率和準(zhǔn)確率。單頭自注意的輸出結(jié)果可表示為:
其中dK是K的維度數(shù)。
網(wǎng)絡(luò)得到多個(gè)單頭自注意力權(quán)重序列后,再將多個(gè)權(quán)重序列組合成一個(gè)多頭注意力塊。Multi-head Attention 的每個(gè)head 都有不同的Q、K 和V,可以分別隨機(jī)初始化和加權(quán)。這個(gè)過(guò)程使整個(gè)注意力塊能夠在不同的關(guān)系子空間中合成不同的自注意力信息。將通過(guò)多頭注意力運(yùn)算得到的注意力權(quán)重信息進(jìn)行歸一化處理后最為多層感知器(MLP)的輸入。MLP 由兩個(gè)完全連接的層和ReLu 激活功能組成。MLP 過(guò)程數(shù)學(xué)公式表述如下所示:
其中:x是輸入序列即經(jīng)過(guò)歸一化處理的多頭注意力輸出;W1、W2和b1、b2分別為兩個(gè)全連接層的權(quán)值和偏差。
為驗(yàn)證本文改進(jìn)的YOLOv5s 目標(biāo)檢測(cè)算法在道路背景下的有效性,本文使用目前國(guó)際上最大的自動(dòng)駕駛場(chǎng)景下的計(jì)算機(jī)視覺(jué)算法評(píng)測(cè)數(shù)據(jù)集之一的KITTI[20]上進(jìn)行實(shí)驗(yàn)探究。KITTI 數(shù)據(jù)集集成了高速公路、市區(qū)、鄉(xiāng)村等多種場(chǎng)景的真實(shí)道路圖像數(shù)據(jù),單張圖片中的目標(biāo)最多可達(dá)到30 個(gè)行人目標(biāo)和15 個(gè)車(chē)輛目標(biāo)之多,同時(shí)KITTI 數(shù)據(jù)集中包含了許多不同程度的遮擋和截?cái)嗄繕?biāo),對(duì)目標(biāo)檢測(cè)算法有較大的挑戰(zhàn)性。KITTI 數(shù)據(jù)集中總共分為9 個(gè)目標(biāo)類(lèi)別:Car、Van、Truck、Tram、Pedestrian、Person_sitting、Cyclist、Misc、DontCare。本文在數(shù)據(jù)預(yù)處理階段對(duì)數(shù)據(jù)集的類(lèi)別重新劃分,去除Misc 和DontCare 類(lèi),將Pedestrian、Person_sitting 合并成Pedestrian 類(lèi);并對(duì)KITTI 數(shù)據(jù)集總共7481 張帶數(shù)據(jù)標(biāo)注的圖像按照8:1:1 的比例隨機(jī)劃分?jǐn)?shù)據(jù)集、驗(yàn)證集、測(cè)試集,其數(shù)據(jù)劃分如表2 所示。
表2 KITTI數(shù)據(jù)集劃分
本文實(shí)驗(yàn)?zāi)P偷拇罱ā⒂?xùn)練以及結(jié)果測(cè)試均是在基于Pytorch 神經(jīng)網(wǎng)絡(luò)框架下完成的,需要調(diào)用較好的GPU(Graphics Processing Unit)設(shè)備結(jié)合CUDA(Computer Unified Device Architecture)并行計(jì)算架構(gòu)解決GPU內(nèi)部復(fù)雜的計(jì)算問(wèn)題,同時(shí)使用CU-DNN(Cuda Deep Neural Network library)加速庫(kù)實(shí)現(xiàn)GPU 運(yùn)算加速,本文實(shí)驗(yàn)環(huán)境具體見(jiàn)表3。
表3 實(shí)驗(yàn)運(yùn)行環(huán)境
對(duì)于本文所有的網(wǎng)絡(luò)訓(xùn)練超參數(shù),經(jīng)過(guò)多次參數(shù)調(diào)優(yōu),其輸入圖像分辨率均為416×416 大小,優(yōu)化器為sgd,網(wǎng)絡(luò)訓(xùn)練迭代次數(shù)為900,batch_size 大小為16,不采用預(yù)訓(xùn)練模型訓(xùn)練的方式,初始學(xué)習(xí)率為0.07,最小學(xué)習(xí)率為0.0001,學(xué)習(xí)率下降函數(shù)為cos 函數(shù)。
在目標(biāo)檢測(cè)領(lǐng)域,準(zhǔn)確率(Precision)、召回率(Recall)、均值平均檢測(cè)精度(mAP)這三項(xiàng)指標(biāo)能夠準(zhǔn)確而且有效的對(duì)目標(biāo)檢測(cè)算法的性能和可靠性進(jìn)行有效的評(píng)估,其定義式如下所示。
其中,TP(True Positives)、TN(True Negatives)分別代表被正確分類(lèi)的正樣本和被正確分類(lèi)的負(fù)樣本;FP(False Positives)、FN(False Negatives)分別代表被錯(cuò)誤分類(lèi)的負(fù)樣本和被錯(cuò)誤分類(lèi)的正樣本。
平均精度(Average Precison,AP)是指某一類(lèi)所有召回率的可能取值情況下得到的所有精度的平均值,比如AP50 表示在IoU 閾值取0.5 時(shí)對(duì)應(yīng)的AP 值。均值平均精度(mAP)為所有類(lèi)別AP 值相加的平均數(shù)。
為更加直觀(guān)的體現(xiàn)本文對(duì)YOLOv5s 算法的不同改進(jìn)點(diǎn)對(duì)原網(wǎng)絡(luò)模型的性能影響,本文對(duì)其進(jìn)行了消融實(shí)驗(yàn),如表4 所示??梢钥闯鍪褂肒-means++聚類(lèi)算法更新錨框參數(shù)以及加入本文提出的HCA 模塊均可提高網(wǎng)絡(luò)的檢測(cè)精度,將兩者相互融合可進(jìn)一步提高網(wǎng)絡(luò)模型檢測(cè)精度。
表4 消融實(shí)驗(yàn)
為綜合分析本文所提算法(HCA-YOLOv5)算法的檢測(cè)性能,本文選擇在相同的配置條件,相同的數(shù)據(jù)集的環(huán)境下與YOLOv3、YOLOv4、YOLOv5 幾種具有代表性的onestage 目標(biāo)檢測(cè)網(wǎng)絡(luò)模型進(jìn)行對(duì)比實(shí)驗(yàn)。其中本文所有對(duì)比實(shí)驗(yàn)的網(wǎng)絡(luò)IoU 閾值設(shè)定均為0.5;實(shí)驗(yàn)結(jié)果以準(zhǔn)確率(Precision)、召回率(Recall)、均值平均檢測(cè)精度(mAP)作為評(píng)價(jià)指標(biāo),具體實(shí)驗(yàn)結(jié)果如表5 所示。
表5 不同目標(biāo)檢測(cè)算法結(jié)果對(duì)比
由表5 數(shù)據(jù)分析可知,本文提出的HCA-YOLOv5 檢測(cè)算法的mAP 為91.93%,準(zhǔn)率為92.97%,召回率為88.43%,相較于其他YOLO 系列經(jīng)典檢測(cè)算法準(zhǔn)確率、召回率、均值平均檢測(cè)精度上都有一定程度的提升,HCAYOLOv5 網(wǎng)絡(luò)在能夠結(jié)合城市道路場(chǎng)景中不同類(lèi)別在不同高度的分布特征,更加有效的檢測(cè)出城市道路場(chǎng)景上的車(chē)輛行人目標(biāo)。
為驗(yàn)證HCA-YOLOv5 可以有效地改進(jìn)網(wǎng)絡(luò)對(duì)目標(biāo)的識(shí)別能力,本文提取出不同網(wǎng)絡(luò)模型之間的注意力可視化對(duì)比見(jiàn)圖6。對(duì)照?qǐng)D6,可以看到HCA-YOLOv5 檢測(cè)網(wǎng)絡(luò)對(duì)目標(biāo)存在的像素區(qū)間相對(duì)其他經(jīng)典網(wǎng)絡(luò)模型有更高的關(guān)注度,并且關(guān)注區(qū)間能夠完全覆蓋目標(biāo)本身,說(shuō)明網(wǎng)絡(luò)能夠更好的學(xué)習(xí)到目標(biāo)的特征信息,達(dá)到更高的檢測(cè)精度。
圖6 不同目標(biāo)檢測(cè)算法注意力可視化對(duì)比圖
本文結(jié)合城市道路場(chǎng)景的內(nèi)在特性,提出一種基于改進(jìn)的YOLOv5 城市道路車(chē)輛行人檢測(cè)算法——HCA-YOLOv5,旨在解決基于目標(biāo)檢測(cè)算法的車(chē)輛行人檢測(cè)任務(wù)中存在目標(biāo)檢測(cè)精度低、檢測(cè)位置不精準(zhǔn)的問(wèn)題。首先,使用K-Means++聚類(lèi)算法對(duì)訓(xùn)練數(shù)據(jù)集中檢測(cè)目標(biāo)的錨框進(jìn)行聚類(lèi),同時(shí)更新網(wǎng)絡(luò)的先驗(yàn)錨框參數(shù),使網(wǎng)絡(luò)更適應(yīng)車(chē)輛行人目標(biāo)的尺度特點(diǎn)。其次,利用城市道路場(chǎng)景圖片中不同類(lèi)別在不同高度的分布特點(diǎn),結(jié)合Transformer 模塊強(qiáng)大的特征信息采集能力,設(shè)計(jì)HCA 結(jié)構(gòu),讓網(wǎng)絡(luò)更容易提取到檢測(cè)目標(biāo)的特征信息。實(shí)驗(yàn)結(jié)果表明,HCA-YOLOv5 檢測(cè)算法有較好的檢測(cè)精度,并且網(wǎng)絡(luò)對(duì)檢測(cè)目標(biāo)的關(guān)注度更高。為了提高網(wǎng)絡(luò)的檢測(cè)精度,HCA-YOLOv5 的模型參數(shù)量要略大于YOLOv5 檢測(cè)算法,未來(lái)將在減少模型參數(shù)量的基礎(chǔ)上做進(jìn)一步提升。