郭宇陽,胡偉超,戴 帥,陳艷艷
1.中國人民公安大學(xué) 交通管理學(xué)院,北京 100038
2.公安部道路交通安全研究中心 科研管理組,北京 100062
3.公安部道路交通安全研究中心 交通政策規(guī)劃研究室,北京 100062
4.北京工業(yè)大學(xué) 城市交通學(xué)院,北京 100124
目標(biāo)檢測技術(shù)已經(jīng)在人臉識別、車輛檢測等多個(gè)領(lǐng)域內(nèi)廣泛應(yīng)用?;谏疃葘W(xué)習(xí)的目標(biāo)檢測算法主要分為一階目標(biāo)檢測與兩階目標(biāo)檢測,前者采用端到端的方式直接獲得物體位置并進(jìn)行類別預(yù)測,計(jì)算速度快,但精度略有損失,典型算法有SSD[1]、RetinaNet[2]和YOLO[3-5]系列。兩階目標(biāo)檢測算法相比于一階網(wǎng)絡(luò)可以更充分地提取特征,得到目標(biāo)物體的精準(zhǔn)位置和分類,代表算法有Fast R-CNN[6]、Cascade R-CNN[7]。此外CornerNet[8]和CenterNet[9]這些依靠關(guān)鍵點(diǎn)來檢測目標(biāo)的算法也受到了研究人員和業(yè)界的廣泛關(guān)注。
基于深度學(xué)習(xí)的目標(biāo)檢測算法在車輛檢測領(lǐng)域的應(yīng)用一直是研究的熱點(diǎn)。曹詩雨等[10]使用Faster-RCNN網(wǎng)絡(luò)檢測車輛,用卷積特征代替人工提取特征,避免了傳統(tǒng)檢測問題中設(shè)計(jì)手工特征的問題。李松江等[11]使用Cascade RCNN算法進(jìn)行目標(biāo)檢測,引入空洞卷積來減少下采樣過程中的特征丟失,可以有效地檢測出小目標(biāo)和遮擋目標(biāo),改進(jìn)后的網(wǎng)絡(luò)準(zhǔn)確率有所提高,但在速度方面略有損失。杜金航等[12]將Darknet53改進(jìn)為30個(gè)卷積層的卷積神經(jīng)網(wǎng)絡(luò),使用K-means聚類選取車輛錨框,可以實(shí)現(xiàn)道路車輛的實(shí)時(shí)檢測。金旺等[13]使用深度殘差網(wǎng)絡(luò)作為主干網(wǎng)絡(luò),利用軟化非極大抑制解決車輛尺度變化大以及遮擋問題。顧恭等[14]提出的Vehicle-YOLO模型是在YOLOv3的基礎(chǔ)上采用7次深度殘網(wǎng)絡(luò)輸出五種不同大小的特征圖,對潛在車輛的邊界框進(jìn)行提取,從而提升車輛檢測的精度和普適性。魯博等[15]將YOLOv3-tiny的主干網(wǎng)絡(luò)與BiFPN特征金字塔結(jié)構(gòu)相結(jié)合,并提出了一種新的上采樣結(jié)構(gòu),來解決采樣過程中信息丟失的問題。李宇昕等[16]和李漢冰等[17]分別使用殘差網(wǎng)絡(luò)和反殘差網(wǎng)絡(luò)作為基礎(chǔ)模型,均使用Focal loss改進(jìn)損失函數(shù),平衡正負(fù)樣本,提高了目標(biāo)檢測的準(zhǔn)確度。
目前,車輛檢測多用于智能網(wǎng)聯(lián)和自動(dòng)駕駛汽車感知交通環(huán)境信息,大量研究使用KITTI[18]數(shù)據(jù)集完成模型訓(xùn)練與測試。通常這類數(shù)據(jù)集基于車載設(shè)備、從平視或小傾角俯視角度采集,與交通管理場景下的路側(cè)監(jiān)控圖像視角存在明顯差異,相關(guān)模型不能很好適應(yīng)大傾角俯視視角下的車輛檢測任務(wù)。本文在UA-DETRAC[19]數(shù)據(jù)集基礎(chǔ)上,針對交通流檢測場景和邊緣計(jì)算需求,提出一種基于YOLOv4[20]改進(jìn)的輕量型車輛檢測算法GS-YOLO。使用GhostNet結(jié)構(gòu)思想,利用輕量操作降低通道,增強(qiáng)特征,在主干網(wǎng)絡(luò)中增加注意力機(jī)制,篩選重要特征,提高模型的檢測能力。由于多尺度預(yù)測部分卷積操作內(nèi)存占用多,計(jì)算復(fù)雜,借鑒SqueezeNet[21]的Fire Module結(jié)構(gòu)和深度可分離卷積,對加強(qiáng)特征提取網(wǎng)絡(luò)和預(yù)測網(wǎng)絡(luò)進(jìn)行優(yōu)化,有效地解決原有模型內(nèi)存占用大和特征提取不充分的問題。
深度卷積神經(jīng)網(wǎng)絡(luò)會(huì)產(chǎn)生許多相似的特征圖,這些特征圖通常會(huì)被當(dāng)作冗余信息,一些輕量化網(wǎng)絡(luò)就是利用特征冗余性,通過裁剪一部分的冗余特征使得模型輕量化。而Han等[22]則認(rèn)為卷積網(wǎng)絡(luò)強(qiáng)大的提取功能與這些冗余特征圖成正相關(guān),并提出GhostNet算法,將少量傳統(tǒng)卷積計(jì)算和輕量冗余特征生成相結(jié)合,在保證檢測精度的情況下,減少模型參數(shù)量。
Ghost模塊的卷積操作將傳統(tǒng)卷積分為兩部分:生成少量特征圖的傳統(tǒng)卷積層和利用廉價(jià)的線性運(yùn)算生成冗余特征圖的輕量級線性變化層。Ghost模塊使用更少的參數(shù)來生成冗余特征。
傳統(tǒng)卷積和Ghost卷積的對比如圖1所示。Ghost卷積過程第一部分利用傳統(tǒng)卷積生成少量固有特征圖,此處的卷積操作可以自定義卷積核大小,使用1×1卷積,也可以是3×3和5×5的卷積。第二部分使用輕量操作和恒等變換對第一部分生成的特征圖進(jìn)行線性操作處理,從而增加通道和擴(kuò)充特征。輕量操作既可以是深度卷積,也可以是分組卷積等其他方式的卷積,以低成本的方式,保留冗余信息。最后將此部分的特征圖和第一部分的固有特征圖進(jìn)行恒等變換拼接在一起,作為Ghost模塊的輸出特征圖。
圖1 傳統(tǒng)卷積和Ghost卷積Fig.1 Vanilla convolution and Ghost module
假設(shè)輸入特征圖H×W,輸入通道數(shù)為Cin,輸出特征圖尺寸為H′×W′,輸出通道數(shù)為m×radio,卷積核尺寸為k×k,那么傳統(tǒng)卷積的計(jì)算量為:
為了使Ghost模塊輸出的特征圖數(shù)量和傳統(tǒng)卷積保持一致,Ghost模塊中卷積操作的卷積核尺寸、步長和padding需要和傳統(tǒng)卷積相同。假設(shè)Ghost模塊的第一部分卷積生成m個(gè)特征圖,每個(gè)特征圖通過映射生成(radio-1)個(gè)新特征圖,則第二部分共獲得m×(radio-1)個(gè)特征圖。
Ghost模塊第一部分的計(jì)算量為:
輸出相同通道數(shù)和特征圖尺寸,傳統(tǒng)卷積和Ghost模塊的計(jì)算量之比為:
經(jīng)過上述計(jì)算可以看出使用Ghost模塊進(jìn)行卷積操作可以在一定程度上降低卷積過程的計(jì)算量。
和ResNet的基本殘差塊(basic residual block)結(jié)構(gòu)相類似,GhostNet Bottleneck的架構(gòu)集成了多個(gè)卷積層和shortcut。每個(gè)GhostNet Bottleneck由兩個(gè)Ghost模塊堆疊而成。第一個(gè)模塊作為擴(kuò)展層,擴(kuò)充通道數(shù),第二個(gè)模塊用于減少特征的通道數(shù),和shortcut路徑相匹配。和MobileNetV2的結(jié)構(gòu)類似,在第一個(gè)Ghost模塊后面加入批量歸一化操作和ReLU激活函數(shù),第二個(gè)模塊只添加批量歸一化操作。根據(jù)步長不同,Ghost-Net Bottleneck分為兩類,如圖2所示。其中步長為2的GhostNet Bottleneck主要用于壓縮特征層尺寸,需在兩個(gè)Ghost模塊之間加入深度卷積完成下采樣操作,同時(shí)在殘差邊添加步長為2的深度卷積和1×1的傳統(tǒng)卷積。
圖2 GhostNet Bottleneck結(jié)構(gòu)示意圖Fig.2 GhostNet Bottleneck structure
GhostNet網(wǎng)絡(luò)架構(gòu)的搭建靈感源自MobileNetV3基本體系結(jié)構(gòu),使用GhostNet Bottleneck代替Mobile-NetV3中的bottleneck結(jié)構(gòu),并將Hard-Swish激活函數(shù)更改為ReLU,各層網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)如表1所示。
表1 GhostNet結(jié)構(gòu)參數(shù)Table 1 Structure parameters of GhostNet
GhostNet的第一層是卷積核為3×3、步長為2的傳統(tǒng)卷積層,將分辨率為416×416的圖片轉(zhuǎn)換為通道數(shù)為16、大小為208×208的特征圖,再通過一系列的GhostNet Bottleneck逐漸壓縮特征圖尺寸,擴(kuò)大通道數(shù)。根據(jù)輸入特征圖的大小,可以將GhostNet Bottleneck分為6個(gè)階段,在前5個(gè)階段中除了每個(gè)階段的最后一個(gè)GhostNet Bottleneck的步長為2,其余各部分GhostNet Bottleneck的步長均為1。此外,在部分的GhostNet Bottleneck中添加了注意力機(jī)制squeeze-and-excitation模塊,根據(jù)特征重要程度來增強(qiáng)或削減特征圖的權(quán)重,如圖3所示。經(jīng)過初步特征提取獲得三個(gè)不同尺度的有效特征層,像素大小分別為52×52、26×26和13×13。
圖3 包含SE模塊的BottleneckFig.3 Bottleneck with squeeze-and-excitation module
YOLOv4主要有主干特征提取網(wǎng)絡(luò)、加強(qiáng)特征提取網(wǎng)絡(luò)和預(yù)測網(wǎng)絡(luò)三部分組成。主干特征提取網(wǎng)絡(luò)使用CSPDarknet53提取輸入數(shù)據(jù)的特征,CSPDarknet53由五個(gè)殘差塊構(gòu)成,每個(gè)殘差塊分別包含了1、2、8、8、4個(gè)殘差單元,并在Darknet53的基礎(chǔ)上融入了CSPnet結(jié)構(gòu),緩解了網(wǎng)絡(luò)深化造成的梯度消失的問題。
加強(qiáng)特征提取網(wǎng)絡(luò)由SPPNet和PANet兩部分構(gòu)成,將主干特征提取網(wǎng)絡(luò)得到的三個(gè)初步特征層進(jìn)行特征融合,從而獲得更有效的三個(gè)特征層。當(dāng)主干特征提取網(wǎng)絡(luò)的最后一個(gè)特征層完成三次卷積操作后,SPPNet對最后一個(gè)特征層進(jìn)行四個(gè)不同尺度的最大池化操作,來增加感受野,分離出顯著的上下文特征。隨后將SPPNet加強(qiáng)特征提取得到的特征層與主干網(wǎng)絡(luò)得到的另兩個(gè)特征層送入PANet,執(zhí)行自下而上和自上而下的雙向特征融合,實(shí)現(xiàn)特征的反復(fù)提取。
預(yù)測網(wǎng)絡(luò)利用從PANet獲得的多尺度特征進(jìn)行回歸和分類,最終輸出的維度包含樣本類別值、預(yù)測框在x軸和y軸的偏移量、預(yù)測框的高度和寬度和置信度。YOLOv4的整體結(jié)構(gòu)如圖4所示。
圖4 YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 YOLOv4 network structure
由于加強(qiáng)特征提取網(wǎng)絡(luò)和預(yù)測網(wǎng)絡(luò)存在較多的卷積過程,計(jì)算量較大,為了進(jìn)一步減少模型參數(shù),本文在此處引入深度可分離卷積操作。
深度可分離卷積可以將傳統(tǒng)卷積分解為逐通道卷積和逐點(diǎn)卷積,逐通道卷積中的各個(gè)通道相互獨(dú)立,缺少通道間的特征融合,導(dǎo)致輸入輸出的通道數(shù)相同,因此后續(xù)還需連接一個(gè)逐點(diǎn)卷積,用于改變通道數(shù)和融合各通道間的特征。
對于通道數(shù)為Cin、大小為H×W的輸入特征圖,使用3×3的卷積核進(jìn)行點(diǎn)乘求和,得到通道數(shù)為Cout、大小為H×W的輸出特征圖。標(biāo)準(zhǔn)卷積的計(jì)算量為:
深度可分離卷積是由3×3的逐通道卷積和1×1的逐點(diǎn)卷積構(gòu)成,逐通道卷積的計(jì)算量為:
綜合兩步,可以得到深度可分離卷積與標(biāo)準(zhǔn)卷積的計(jì)算量之比:
由上式可知,深度可分離卷積雖然將一步卷積擴(kuò)展為兩步,但憑借其輕量化的卷積方式,總體計(jì)算量約為傳統(tǒng)卷積的1/9,極大程度地降低了卷積過程的計(jì)算量。
Fire Module的結(jié)構(gòu)如圖5所示。輸入特征圖依次經(jīng)過Squeeze層和Expand層,然后進(jìn)行融合處理,將兩個(gè)特征圖進(jìn)行通道拼接,作為最終輸出。Squeeze層使用1×1卷積進(jìn)行降維,特征圖的尺寸保持不變,輸出通道數(shù)為s。在Expand層,并行地使用1×1卷積和3×3卷積獲得不同感受野的特征圖,達(dá)到擴(kuò)展的目的。
圖5 Fire Module結(jié)構(gòu)Fig.5 Fire Module
主干特征提取網(wǎng)絡(luò)輸出三個(gè)不同尺度的特征圖,其中尺寸為13×13的特征圖需要先通過SPPNet結(jié)構(gòu),再傳入PANet網(wǎng)絡(luò)中。從SPPNet輸出的特征圖通道數(shù)為2 048,對其進(jìn)行卷積操作會(huì)產(chǎn)生大量的參數(shù),并且增加計(jì)算時(shí)間。公式(11)是使用Fire Module之后的參數(shù)量,其中Cin是輸入特征圖的通道數(shù)。
本文在YOLOv4的基礎(chǔ)上提出GS-YOLO車輛檢測網(wǎng)絡(luò),其整體結(jié)構(gòu)如圖6所示。GS-YOLO在保證檢測精度基本不變的情況下,一定程度上簡化了網(wǎng)絡(luò)結(jié)構(gòu)和計(jì)算量,具體改進(jìn)如下:
圖6 GS-YOLO網(wǎng)絡(luò)結(jié)構(gòu)Fig.6 GS-YOLO network structure
(1)主干特征網(wǎng)絡(luò)選用GhostNet對輸入圖像進(jìn)行初步特征提取,其中Ghost Module采用卷積核為1×1的傳統(tǒng)卷積和深度卷積的輕量操作。通過SE模塊對融合的特征進(jìn)行過濾,增強(qiáng)重要特征權(quán)重,抑制無用特征,得到52×52、26×26和13×13的輸出特征圖。
(2)在多尺度檢測部分,使用深度可分離卷積代替加強(qiáng)特征提取網(wǎng)絡(luò)和預(yù)測網(wǎng)絡(luò)中的傳統(tǒng)卷積,使參數(shù)量大量減少,具體改動(dòng)涉及:PANet網(wǎng)絡(luò)中五次卷積塊的3×3卷積、下采樣過程中使用的3×3卷積以及預(yù)測網(wǎng)絡(luò)Yolo-head中的3×3卷積。
(3)Fire Module可以在不過多增加計(jì)算開銷的同時(shí),加深網(wǎng)絡(luò)深度,在SPPNet結(jié)構(gòu)的輸入輸出部分引入Fire Module,可在一定程度上提高檢測速度和準(zhǔn)確度。
本文采用UA-DETRAC車輛數(shù)據(jù)集,該數(shù)據(jù)集拍攝于北京和天津的24個(gè)過街天橋,以俯視角度拍攝共100個(gè)交通場景,并標(biāo)注了8 250個(gè)車輛和121萬個(gè)目標(biāo)對象。實(shí)驗(yàn)在全部場景中隨機(jī)抽取80%作為訓(xùn)練集,剩余20%的樣本作為測試集。
本實(shí)驗(yàn)在Windows10操作系統(tǒng)下進(jìn)行,使用Python3.7進(jìn)行編譯和測試,對應(yīng)開發(fā)工具為PyCharm2019.3.4,CPU為Intel Xeon Silver 4126,GPU為NVIDIA TITAN RTX。實(shí)驗(yàn)參數(shù)設(shè)置如表2所示,其中初始學(xué)習(xí)率為0.001,并在50 epoch后降低為0.000 1。
表2 實(shí)驗(yàn)參數(shù)選取Table 2 Selection of experimental parameters
模型的實(shí)際表現(xiàn)性能受到模型本身性能和計(jì)算平臺性能的共同影響,如圖7所示。計(jì)算平臺的計(jì)算能力與算力和帶寬有關(guān),算力是指單位時(shí)間內(nèi)平臺傾盡全力能完成的浮點(diǎn)運(yùn)算數(shù),代表計(jì)算平臺的性能上限,單位是FLOP/s;帶寬是指單位時(shí)間內(nèi)計(jì)算平臺傾盡全力所能完成的內(nèi)存交換量,代表計(jì)算平臺的帶寬上限,單位是Byte/s。
圖7 模型性能影響因素Fig.7 Factors of model performance
計(jì)算強(qiáng)度上限Imax是算力π和帶寬β的比值,單位是FLOPs/Byte,表示的是單位內(nèi)存交換最多可以完成多少次浮點(diǎn)運(yùn)算,具體關(guān)系為:
影響模型計(jì)算能力的兩個(gè)指標(biāo)是模型計(jì)算量和訪存量。
計(jì)算量指的是模型的浮點(diǎn)運(yùn)算次數(shù),使用FLOPs衡量,即時(shí)間復(fù)雜度。時(shí)間復(fù)雜度影響模型的訓(xùn)練和預(yù)測時(shí)間,模型越復(fù)雜,模型訓(xùn)練和預(yù)測時(shí)間耗費(fèi)時(shí)間越多,也就無法快速地預(yù)測和驗(yàn)證想法。整個(gè)卷積神經(jīng)網(wǎng)絡(luò)的時(shí)間復(fù)雜度表示為:
其中,D是神經(jīng)網(wǎng)絡(luò)的卷積層數(shù),Cl-1和Cl指的是第l個(gè)卷積層的輸入和輸出通道數(shù),M是輸出特征圖邊長,K是卷積核邊長。
訪存量指的是單個(gè)樣本在模型中進(jìn)行一次前向傳播發(fā)生的內(nèi)存交換總量,即空間復(fù)雜度,訪存量由模型每層參數(shù)權(quán)重的內(nèi)存占用和輸出特征圖的內(nèi)存占用構(gòu)成。空間復(fù)雜度決定模型的參數(shù)量,模型參數(shù)越多,需要的訓(xùn)練數(shù)據(jù)量越大,由于實(shí)際生活中數(shù)據(jù)集通常不大,模型參數(shù)較多會(huì)導(dǎo)致訓(xùn)練過程容易發(fā)生過擬合現(xiàn)象。整個(gè)卷積神經(jīng)網(wǎng)絡(luò)的空間復(fù)雜度表示為:
上式的第一個(gè)求和表達(dá)式代表總參數(shù)量與卷積核大小K、通道數(shù)C和層數(shù)D相關(guān),第二個(gè)求和表達(dá)式說明輸出特征圖的空間占比是輸出特征圖尺寸與通道數(shù)的乘積。
模型的計(jì)算強(qiáng)度I是模型計(jì)算量與訪存量的比值,單位是FLOPs/Byte,表示模型在計(jì)算過程中單位內(nèi)存交換完成浮點(diǎn)計(jì)算次數(shù)。模型計(jì)算強(qiáng)度越大,內(nèi)存使用效率越高。
表3是網(wǎng)絡(luò)模型使用深度可分離卷積和Fire Module前后的參數(shù)量對比,其中模型YOLOv4和YOLOv5是未做任何改動(dòng)的初始模型,Ghost-A僅將YOLOv4的主干網(wǎng)絡(luò)替換為GhostNet,Ghost-B是在Ghost-A的基礎(chǔ)上,對強(qiáng)特征提取網(wǎng)絡(luò)和預(yù)測網(wǎng)絡(luò)所有的3×3卷積中使用深度可分離卷積的模型,GS-YOLO是本文改進(jìn)后的模型。通過相關(guān)輕量化操作,模型參數(shù)量由6 394萬降至899萬,降低約86%。
表3 不同模型的參數(shù)量對比Table 3 Comparison of parameter numbers of different models
為了驗(yàn)證這些改進(jìn)點(diǎn)對模型性能的影響,將GS-YOLO與表3中的模型進(jìn)行消融實(shí)驗(yàn),根據(jù)表2的參數(shù)配置訓(xùn)練參數(shù),輸入尺寸均為416×416,結(jié)果如表4所示。
表4 不同模型的檢測結(jié)果對比Table 4 Comparison of detection results of different models
模型大小是指模型占用存儲空間字節(jié)數(shù)。由表4可知,使用GhostNet替換主干網(wǎng)絡(luò)CSPDarknet53模型后,模型占用內(nèi)存降低38.53%,精度增加0.14%,CPU檢測速度提高49.02%。在多尺度檢測部分,使用深度可分離卷積代替?zhèn)鹘y(tǒng)卷積進(jìn)一步減少了71.71%的內(nèi)存占用空間,CPU和GPU檢測速度分別提升66.70%和1.34%,精度損失僅為0.98%。在加強(qiáng)特征提取網(wǎng)絡(luò)引入Fire Module后,檢測精度提升1.29%,同時(shí)模型大小降低至34.77 MB,相較于原始YOLOv4占用內(nèi)存244.40 MB,減小了約86%的內(nèi)存空間,極大地減少了設(shè)備的資源消耗,提升了模型性價(jià)比。
根據(jù)Roofline Model[23]理論,模型實(shí)際測試性能會(huì)受到計(jì)算平臺的算力和帶寬影響,當(dāng)模型計(jì)算強(qiáng)度I小于平臺計(jì)算強(qiáng)度上限Imax的時(shí)候,模型性能受到平臺帶寬限制,處于帶寬瓶頸區(qū)域(Memory-Bound);當(dāng)模型計(jì)算強(qiáng)度I大于平臺計(jì)算強(qiáng)度上限Imax的時(shí)候,模型處于計(jì)算瓶頸區(qū)域(Compute-Bound),雖受到平臺算力限制,但可以充分利用平臺的全部算力。
根據(jù)3.2節(jié)相關(guān)內(nèi)容和NVIDIA官網(wǎng)提供的數(shù)據(jù)可知,NVIDIA TITAN RTX的算力π為16.3 TFLOP/s,帶寬β為672 GB/s,平臺計(jì)算強(qiáng)度上限Imax約為22.6 FLOPs/Byte。表5為各模型的理論性能及計(jì)算強(qiáng)度。
表5 性能參數(shù)及計(jì)算強(qiáng)度Table 5 Performance parameters and operational intensity
經(jīng)過對比發(fā)現(xiàn)GS-YOLO在GPU上運(yùn)行時(shí)處于帶寬瓶頸區(qū)域,性能受到平臺帶寬限制,無法像YOLOv4一樣完全利用平臺的全部算力,所以推理時(shí)間減少效果不明顯。但在CPU處理器上運(yùn)行時(shí),GS-YOLO的性能不再受帶寬限制,速度提升約83%,說明GS-YOLO更適合用于CPU或資源不足的設(shè)備上。
為了更直觀地展示檢測結(jié)果,使用GS-YOLO和YOLOv4進(jìn)行車輛檢測的結(jié)果對比如圖8所示,(a)為YOLOv4的結(jié)果,(b)為GS-YOLO的結(jié)果。測試圖像分別選取白天和夜間不同場景,從圖中標(biāo)出的目標(biāo)框可以看出模型輕量化操作前后,目標(biāo)檢測準(zhǔn)確率幾乎沒有差異。
圖8 YOLOv4和GS-YOLO檢測結(jié)果Fig.8 Detection results of YOLOv4 and GS-YOLO
本文提出一個(gè)適用于路側(cè)交通監(jiān)控場景的輕量型車輛檢測模型GS-YOLO。GS-YOLO使用GhostNet作為主干網(wǎng)絡(luò),將SE模塊和檢測網(wǎng)絡(luò)相融合,極大地壓縮了模型占用內(nèi)存大小。在多尺度檢測部分使用深度可分離卷積代替?zhèn)鹘y(tǒng)卷積,降低大量卷積操作產(chǎn)生的計(jì)算量。此外,在網(wǎng)絡(luò)中添加Fire Module也帶來了精度和速度的提升。使用Roofline Model理論對GS-YOLO不同資源條件下的計(jì)算性能進(jìn)行分析,結(jié)果表明,GS-YOLO在精度相對YOLOv4提升0.45%的同時(shí),模型占用內(nèi)存從244 MB降低到34.77 MB,CPU和GPU上的檢測速度分別提升83.2%和7.3%,解決了YOLOv4檢測效率低的問題,對資源不足、計(jì)算能力低的設(shè)備十分友好。