羅相好 李澤平 朱紅艷
(貴州大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 貴陽 550025)
計(jì)算機(jī)視覺在道路場(chǎng)景下的應(yīng)用通常是交通標(biāo)志檢測(cè),汽車搭載的設(shè)備通常是嵌入式微處理器,具有硬件成本和計(jì)算性能較低的特點(diǎn),高精度大型目標(biāo)檢測(cè)網(wǎng)絡(luò)難以在類似平臺(tái)上做到實(shí)時(shí)效果,制約著自動(dòng)駕駛行業(yè)的發(fā)展。
目前檢測(cè)率較高的車載交通標(biāo)志檢測(cè)方案可以分為在線和離線兩種策略,在線策略是從車輛傳感器中獲取到圖像,通過網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)皆品?wù)器進(jìn)行處理,以滿足高精度的檢測(cè)要求,但通過云服務(wù)器處理的方式在網(wǎng)絡(luò)波動(dòng)、信號(hào)未覆蓋等情況時(shí)會(huì)出現(xiàn)數(shù)據(jù)傳輸失效,只能作為一種簡(jiǎn)單的駕駛輔助。離線策略則例如[1]提出一種基于NI(National Instruments)的車輛目標(biāo)檢測(cè)和信息提取系統(tǒng),核心算法為模板匹配,在嵌入式環(huán)境下處理駕駛中所需的邊緣計(jì)算[2]。在嵌入式平臺(tái)上實(shí)時(shí)運(yùn)行基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法,對(duì)模型進(jìn)行輕量化處理來滿足有限的計(jì)算資源[3]。提出基于多粒度剪枝的水下檢測(cè)檢測(cè)算法,使得壓縮過的模型能嵌入移動(dòng)式設(shè)備中。以上方案在一定程度下平衡了速度與精度之間的關(guān)系,有效地解決特定場(chǎng)景下的目標(biāo)檢測(cè)任務(wù),而遷移到道路交通標(biāo)志檢測(cè)場(chǎng)景下,受移動(dòng)速度和復(fù)雜程度更高的極端天氣影響難以得到令人滿意的結(jié)果。
為了將道路交通標(biāo)志檢測(cè)模型在低算了硬件上運(yùn)行,以YOLOv4 網(wǎng)絡(luò)模型[4]為基礎(chǔ)模型進(jìn)行改進(jìn),提出輕量化交通標(biāo)志檢測(cè)模型YOLOv4-Ghost。將YOLOv4 的特征提取網(wǎng)絡(luò)--CSPDarkent53 改為參數(shù)量更少的GhostNet[5];使用廉價(jià)操作生成特征圖的GhostNet 模塊對(duì)YOLOv4 的Neck部分的PANet結(jié)構(gòu)進(jìn)行簡(jiǎn)化,將參數(shù)量進(jìn)一步減少;考慮到原始YOLOv4 的是基于COCO 大型[6]數(shù)據(jù)集進(jìn)行優(yōu)化的,采用的交通標(biāo)志檢測(cè)數(shù)據(jù)集中目標(biāo)種類有限,目標(biāo)尺度大小在較小的范圍內(nèi)波動(dòng),只保留了YOLOv4 中Head 內(nèi)兩個(gè)針對(duì)小目標(biāo)的檢測(cè)器。為了驗(yàn)證提出的YOLOv4-Ghost網(wǎng)絡(luò)模型性能,在具有代表性的道路數(shù)據(jù)集TT100K 上進(jìn)行了訓(xùn)練和測(cè)試。實(shí)驗(yàn)結(jié)果表明,YOLOv4-Ghost模型權(quán)重文件大小只有原始YOLOv4 模型的17.5%;最高幀數(shù)(Frames Per Second,F(xiàn)PS)達(dá)到了118.4,能夠滿足實(shí)時(shí)性要求;各類別的平均準(zhǔn)確率(mean Average Precison,mAP)比YOLOv4 僅降低了1.42%。
YOLOv4 模型結(jié)構(gòu)如圖1 所示,特征提取網(wǎng)絡(luò)為CSPDarknet53;Neck部分引入SPP、PAN[7]結(jié)構(gòu)以改善分辨率下降造成的信息丟失;Head 結(jié)構(gòu)則保持了YOLOv3[8]的三個(gè)特征層來實(shí)現(xiàn)目標(biāo)的檢測(cè)和分類。
圖1 YOLOv4 模型目標(biāo)檢測(cè)的原理
在YOLOv4 模型中,每個(gè)結(jié)構(gòu)模塊由不同的子模塊組成,每個(gè)子模塊功能和模塊作用如下。
CBL (Convolution、Batch Normalization 和Leaky-ReLU)是由卷積層、批歸一化層和Leaky-ReLU[8]激活函數(shù)組成的。
CBM (Convolution、batch Normalization 和MISH)是由卷積層、批歸一化層和MISH[9]激活函數(shù)組成的。CBM 和CBL 都用于特征提取,兩者區(qū)別在于CBM 的激活函數(shù)使用了MISH 而不是Leaky-ReLU,允許比較小的負(fù)梯度值流入激活函數(shù),從而保證更多信息在網(wǎng)絡(luò)中流動(dòng)。
SPP(Spatial Pyramid Pooling)是空間金字塔層,將不同大小的卷積特征轉(zhuǎn)化為尺寸相同特征層,主要作用是將局部信息和全局信息進(jìn)行融合從而豐富特征圖。
CSP[10](Center and Scale Prediction)模 塊 通 過將低層特征分成兩部分,然后融合跨層特征來增強(qiáng)模型的學(xué)習(xí)能力。
GhostNet模塊將3*3卷積分為兩個(gè)子模塊依次執(zhí)行。使用數(shù)量較少的普通卷積核來生成原始特征圖;利用一系列廉價(jià)線性運(yùn)算獲取所需的特征圖進(jìn)行拼接。廉價(jià)操作能消除特征圖中大量冗余信息,在不改變特征圖數(shù)量情況下,降低計(jì)算過程中的參數(shù)總量和計(jì)算復(fù)雜度,加快訓(xùn)練速度。
如圖3 所示,假設(shè)網(wǎng)絡(luò)最終輸出通道數(shù)為m,GhostNet模塊對(duì)輸入特征圖進(jìn)行普通卷積,獲得Input 經(jīng)卷積操作得到的中間通道數(shù)為n(n<m)的特征圖,計(jì)算公式如下:
其中,X 是給定的輸入數(shù)據(jù),Y 是具有n 個(gè)通道的輸出特征圖,f是中間的卷積核,b是偏差項(xiàng)。Y中的h'和w'分別是輸出特征圖的高度和寬度;x 中的c 為輸入通道數(shù),h 和w 是輸入數(shù)據(jù)的高度和寬度;f 中k×k是卷積核心的內(nèi)核大小。
在通過式(1)的普通卷積獲得部分特征圖之后,GhostNet模型將對(duì)每個(gè)原始特征圖通過一系列廉價(jià)線性運(yùn)算生成所需的n 個(gè)特征圖,如式(2)所示:
針對(duì)原始YOLOv4 算法,提出了以下三個(gè)策略來提高其對(duì)交標(biāo)志檢測(cè)的檢測(cè)精度。K-meams[11]聚類算法對(duì)TT100K[12]數(shù)據(jù)集真實(shí)標(biāo)簽進(jìn)行分析,把聚類結(jié)果用于對(duì)候選框尺寸的初始化;模擬真實(shí)世界中可能出現(xiàn)的天氣情況,對(duì)數(shù)據(jù)集進(jìn)行天氣風(fēng)格增強(qiáng);改進(jìn)特征提取網(wǎng)絡(luò)部分并優(yōu)化PANet的結(jié)構(gòu)來實(shí)現(xiàn)輕量化。
2.3.1 K-means 聚類分析
YOLOv4 模型初始化的候選框大小是對(duì)COCO數(shù)據(jù)集真實(shí)框聚類分析獲得,當(dāng)遷移到其他數(shù)據(jù)集時(shí)候,真實(shí)框標(biāo)簽分布情況與初始化候選框分布不一樣。為了更高的預(yù)測(cè)框精度,使用K-means聚類算法對(duì)TT100K數(shù)據(jù)集進(jìn)行聚類分析。
初始化聚類中心的值對(duì)于K-means 聚類算法的好壞有著至關(guān)重要影響。先固定k 值,采用隨機(jī)方式生成初始聚類中心,結(jié)果表明,隨機(jī)初始化會(huì)得到不同聚類結(jié)果,而且聚類效果波動(dòng)范圍較大,這將導(dǎo)致獲取的k 值和聚類框尺寸不夠準(zhǔn)確。為了解決此問題,數(shù)據(jù)的平均值作為開始的聚類中心,篩選數(shù)據(jù)中與第一個(gè)聚類中心距離最遠(yuǎn)的k-1個(gè)值作為其它的初始聚類中心的方法。平均重疊度(AvgIoU)作為目標(biāo)聚類分析的評(píng)價(jià)指標(biāo),AvgIoU目標(biāo)函數(shù)f如下所示:
式(3)中:B表示真實(shí)標(biāo)簽;C表示簇的中心;nk表示第k個(gè)聚類中心中樣本的個(gè)數(shù);n表示數(shù)據(jù)樣本的總數(shù);k表示簇的個(gè)數(shù);IIoU(B,C)表示簇的中心框和聚類框的交并比;i表示樣本序號(hào);j表示聚類中心中樣本的序號(hào)。
圖2 Ghost模塊基本結(jié)構(gòu)
其中,k 的取值范圍是從0~10,逐一對(duì)數(shù)據(jù)集中的樣本進(jìn)行聚類分析,得到k值與AvgIoU關(guān)系如圖3所示。
圖3 K-means 聚類分析結(jié)果
由圖3 可以看出隨著k 值的逐步增加,AvgIoU值大小趨于平穩(wěn)。如圖3 所示,k=6 時(shí)曲線出現(xiàn)拐點(diǎn),后續(xù)隨著k 值的增加,AvgIoU 值不再有明顯變化,故選取初始候選框的數(shù)量為6。通過K-means聚類分析為YOLOv4-Ghost模型提供真實(shí)交通標(biāo)志數(shù)據(jù)分布信息,加快模型收斂,減少候選框誤差。
2.3.2 交通標(biāo)志數(shù)據(jù)增強(qiáng)
TT100K 是中國交通標(biāo)志數(shù)據(jù)集,也是目前覆蓋面最廣的交通標(biāo)志數(shù)據(jù)集。由100000 幅街景圖像組成,30000 個(gè)交通標(biāo)志實(shí)例對(duì)應(yīng)于45 個(gè)類別,已經(jīng)標(biāo)注的訓(xùn)練圖片僅為6107 張,驗(yàn)證集3073張。該數(shù)據(jù)集中的每個(gè)交通標(biāo)志都用類別標(biāo)簽、像素掩碼及其邊界框進(jìn)行注釋。該數(shù)據(jù)集中的圖像分辨率為2048×2048,與車內(nèi)駕駛?cè)藛T視野相似。
圖4 TT100K數(shù)據(jù)集
數(shù)據(jù)集中采集到的圖片大部分都是在視野開闊的自然天氣下拍攝的。而真實(shí)情況下不僅有白天黑夜,還有春夏秋冬。為了使得模型能夠適應(yīng)可能出現(xiàn)天氣情況,模仿多種自然風(fēng)格來增強(qiáng)數(shù)據(jù),如:雪、大霧、陰天等,在圖5 中為Csnow、Cfog、Cdefocus Dlur 等。除此之外,考慮到車輛行駛過程中速度過快導(dǎo)致圖片模糊、噪聲、失真等情況也會(huì)使得模型檢測(cè)失誤,我們還添加了高斯模糊(Gaussan Blur)、脈沖噪聲(Cimpulse Noise)、Celastic 變換(Celastic Transform)等算子來增強(qiáng)數(shù)據(jù)集。通過以上多種增強(qiáng)方式將TT100k 可訓(xùn)練數(shù)據(jù)集擴(kuò)展為12176張圖片,增強(qiáng)效果如圖5所示。
圖5 模擬真實(shí)情況
2.3.3 改進(jìn)YOLOv4網(wǎng)絡(luò)模型
YOLOv4 采用CSPDarkNet53 作為特征提取網(wǎng)絡(luò)來優(yōu)化梯度信息冗余,將信息存放于特征圖中,減少重復(fù)梯度值和模型的尺寸。然而CSPDark-Net53 隨著卷積和拼接的迭代也會(huì)增加參數(shù)量,降低推理速度;防止早期特征圖的信息丟失,在PANet結(jié)構(gòu)(如圖2所示)中使用路徑聚合網(wǎng)絡(luò)(Path Aggregation Network)來保證信息通道的流暢性。而路徑聚合網(wǎng)絡(luò)中上采樣操作和拼接操作增加了特征圖的通道數(shù),使得參數(shù)量也隨之增長(zhǎng)。針對(duì)這兩個(gè)問題,分別采用兩種方法來優(yōu)化YOLOv4 模型:1)將YOLOv4 中特征提取網(wǎng)絡(luò)改進(jìn)為GhostNet;2)采用GhostNet 模塊來優(yōu)化YOLOv4 模型內(nèi)的SPP+PANet結(jié)構(gòu),如圖6和7所示。
圖6 YOLOv4-Ghost的整體架構(gòu)
圖7 YOLOv4結(jié)構(gòu)和YOLOv4-Ghost結(jié)構(gòu)
在訓(xùn)練過程中,將參數(shù)批量(Batch size)設(shè)置為16,學(xué)習(xí)率設(shè)置為1e-3,總共進(jìn)行1000 次迭代訓(xùn)練,并應(yīng)用正則化[13](Regularization)來防止過擬合。當(dāng)CIOU LOSS[14](Generalized Intersection over Union Loss)收斂到0+增長(zhǎng),停止訓(xùn)練。
使用準(zhǔn)確率、召回率、mAP 作為評(píng)價(jià)指標(biāo)。根據(jù)交通標(biāo)志中測(cè)試樣本的真實(shí)類別與模型的預(yù)測(cè)類別劃分為真正例(TP)、假正例(FP)、真反例(TN)、假反例(FN)。
準(zhǔn)確率(precision)指的是檢測(cè)目標(biāo)中正確個(gè)數(shù)占所有檢測(cè)目標(biāo)個(gè)數(shù)的比例,衡量了模型預(yù)測(cè)的準(zhǔn)確性。
召回率(recall)指的是檢測(cè)正確的目標(biāo)數(shù)占整個(gè)數(shù)據(jù)集目標(biāo)的比例:
mAP是評(píng)估模型性能的主要指標(biāo),是對(duì)不同缺陷的平均精度(AP)值的平均值,反映了缺陷檢測(cè)的準(zhǔn)確性。
AP 值由準(zhǔn)確率和召回率來計(jì)算。平均精度(mAP)的一般定義是找到上面的Pre-Recall 下的面積。
為測(cè)試YOLOv4-Ghost 模型的性能,選擇代表性的輕量化單階段目標(biāo)檢測(cè)模型:YOLOv4,YOLOv4-Mobilenet1[15],YOLOv4-Mobilenetv2[16],YOLO4-Mobilenetv3[17]作為比較對(duì)象。
YOLOv4-Mobilenet1,YOLOv4-Mobilenetv2,YOLO4-Mobilenetv3 是替換YOLOv4 模型中的特征提取網(wǎng)絡(luò)(CSPDarknet53)得到的輕量化目標(biāo)檢測(cè)模型。用于替換特征提取網(wǎng)絡(luò)分別是Mobilenetv1,Mobilenetv2,Mobilenetv3。Mobilenet 系列廣泛用于輕量化模型,因此可以作為YOLOv4-Ghost 模型比較對(duì)象。使用mAP、權(quán)重(Weight)文件大小、參數(shù)量(Parameters)和FPS 作為評(píng)價(jià)標(biāo)準(zhǔn)。其中,mAP是驗(yàn)證數(shù)據(jù)集中每個(gè)類別的準(zhǔn)確度平均值,權(quán)重文件是保存模型參數(shù)的文件,參數(shù)量是模型訓(xùn)練過程中的計(jì)算數(shù)據(jù)量,F(xiàn)PS 是用于對(duì)推理速度的描述。如表1 所示,mAP 是驗(yàn)證數(shù)據(jù)集中每個(gè)類別的準(zhǔn)確度的平均值。YOLOv4-Ghost模型的mAP 值與YOLOv4 模型比較降低了1.42%,權(quán)重文件大小僅有YOLOv4 的18.28%。與YOLOv4-Mobilenetv1,YOLOv4-Mobilenetv2,YOLOv4-Mobilenetv3 相比mAP值分別提升了2.02%、0.19%、1.19%,參數(shù)量也是其中最低的。
表1 KT100K數(shù)據(jù)集中各模型的性能結(jié)果
為了進(jìn)一步地評(píng)估YOLOv4-Ghost 模型的性能,選取YOLOv3、Faster RCNN 等經(jīng)典目標(biāo)檢測(cè)算法作為對(duì)比,對(duì)比實(shí)驗(yàn)依然是在TT100K 數(shù)據(jù)集上進(jìn)行。選擇mAP、Precision、Recall三項(xiàng)指標(biāo)對(duì)各算法進(jìn)行評(píng)價(jià)。
如表2 所示,YOLOv3-SPP 模型將的SPP 模塊將局部特征和全局特征進(jìn)行融合之后,YOLOv3-SPP 模型mAP 比YOLOv3 高了1.6%,SPP 能穩(wěn)定提升算法精度,推理速度幾乎不變。YOLOv4-Ghost 的mAP 值和FPS 值是最高,比其它模型更有優(yōu)勢(shì)。
表2 多模型比較
本研究提出輕量化目標(biāo)檢測(cè)算法YOLOv4-Ghost 模型,通過TT100K 數(shù)據(jù)集對(duì)提出的模型進(jìn)行驗(yàn)證。YOLOv4-Ghost是以代表性的一階段檢測(cè)算法YOLOv4 為基礎(chǔ),分別對(duì)原始模型的特征提取網(wǎng)絡(luò)和PANet結(jié)構(gòu)進(jìn)行了優(yōu)化;屏蔽了最大尺寸特征圖的預(yù)測(cè)器;采用k-means、模擬天氣等策略來增加模型泛化性。YOLOv4-Ghost 與原始YOLOv4 算法相比,mAP 僅降低1.42%,權(quán)重文件只有YOLOv4 權(quán)重文件的1/5。YOLOv4-Gost 模型在精度和速度上得到了很好的平衡。在后續(xù)工作中,對(duì)訓(xùn)練過的特征提取網(wǎng)絡(luò)進(jìn)行剪枝操作進(jìn)一步減少模型參數(shù),減少冗余的參數(shù)。