• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于YOLOv3模型壓縮的交通標志實時檢測算法

      2020-12-07 08:20:44鮑敬源薛榕剛
      計算機工程與應用 2020年23期
      關(guān)鍵詞:對模型交通標志特征提取

      鮑敬源,薛榕剛

      1.海裝武漢局駐武漢地區(qū)第二軍事代表室,武漢 430070

      2.武漢理工大學 計算機科學與技術(shù)學院,武漢 430070

      1 引言

      近年來,我國汽車保有量不斷增加。汽車在給人們的生產(chǎn)生活帶來極大方便的同時,也造成了一系列的社會問題,如交通擁擠、環(huán)境污染、交通事故等。特別是交通事故,在造成巨大直接經(jīng)濟損失的同時,給當事人及其家屬造成無法挽回的傷害。在造成交通事故的各種原因中,疲勞駕駛所造成的交通事故最多。如何從技術(shù)上提高駕駛安全,減少交通事故的發(fā)生已經(jīng)成為一個世界性的難題。

      隨著無人駕駛及輔助駕駛系統(tǒng)的興起,從技術(shù)上減少因疲勞駕駛等原因引起的交通事故正成為現(xiàn)實。在無人駕駛及輔助駕駛系統(tǒng)中,交通標志檢測是其中非常重要的一個環(huán)節(jié)[1]。當前對交通標志的檢測方法主要有四類,基于顏色的方法、基于形狀的方法、基于多特征融合的方法和基于深度學習的方法[2]?;陬伾牡缆方煌酥緳z測主要利用顏色閾值對圖像進行分割,去除背景區(qū)域得到特征區(qū)域,再對特征區(qū)域所包含的圖像進行識別分類。2009年,沙莎等人[3]結(jié)合RGB和HIS多顏色通道信息對交通標志進行檢測,并通過曲線擬合的最小二乘法進行交通標志的精確定位與類型判別。2010年,Chourasia 等人[4]提出使用顏色質(zhì)心匹配算法對交通標志進行檢測,該算法使用YCbCr 空間進行顏色分割,可有效降低光照對圖像分割的影響。基于形狀的道路交通標志檢測方法主要是利用交通標志固有的形狀進行檢測。2008 年,Keller 等人[5]使用一種基于形狀的興趣算子對交通標志進行檢測,提取具有對稱性的候選區(qū)域,并通過基于Harr 小波特征的分類器對圖像進行分類,檢測出速度標志。2011 年,何明一等人[6]結(jié)合交通標志顏色特征,通過邊緣檢測及非線性最小二乘技術(shù)對圓形交通標志進行檢測。由于受天氣、光照等因素的影響,僅僅通過顏色信息檢測交通標志難以得到理想的檢測結(jié)果。2015 年,湯凱等人[7]提出一種顏色特征、形狀特征和尺度特征的多特征系統(tǒng)方法對交通標志進行檢測。傳統(tǒng)的道路交通標志檢測方法檢測速度快、對設(shè)備性能要求較低,但易受天氣、拍攝角度等因素的影響,且需要手動提取目標特征。而基于深度學習的交通標志檢測方法能夠自動提取目標特征,且模型泛化能力較好。2017年,長沙理工大學張建明團隊[8]提出了一種基于YOLOv2的實時交通標志檢測算法,該算法能有效檢測較小的交通標志,且其檢測速度達到0.017 s/張,真正實現(xiàn)了實時檢測。2019 年,Tabernik 等人[9]通過卷積神經(jīng)網(wǎng)絡對交通標志進行端到端的檢測識別,取得了較好的效果。曲佳博等人[10]提出了一種集時空關(guān)系與多尺度卷積網(wǎng)絡于一體的時空卷積神經(jīng)網(wǎng)絡。在保證準確率的前提下雖然有效地降低了參數(shù)輸入,但檢測時間相對較長。李東潔等人[11]針對YOLOv3 動態(tài)跟蹤實時性較差的問題進行了主干網(wǎng)絡的改進,同時創(chuàng)新性地提出了改進背景對目標跟蹤的方法,對交通標志實時檢測有重大的啟發(fā)意義。宋艷艷等人[12]將YOLOv3 與殘差網(wǎng)絡相結(jié)合,證明了二者融合的有效性。

      隨著深度學習網(wǎng)絡規(guī)模的增大,模型計算復雜度隨之增加,嚴重限制了模型在各種資源受限平臺設(shè)備中的應用[13]。因此,對模型進行壓縮優(yōu)化,使模型的結(jié)構(gòu)更小,參數(shù)量更少,運行速度更快,能夠在資源受限平臺中得以應用成為學術(shù)界和工業(yè)界研究的熱點問題之一。深度學習模型的壓縮方法可分為兩大類,一類是基于緊湊型的網(wǎng)絡結(jié)構(gòu),如 SqueezeNet[14]、MobileNet[15]、shuffleNet[16]等,這些緊湊型的網(wǎng)絡結(jié)構(gòu)使用1×1的卷積層進行通道變換以減少參數(shù)數(shù)量及計算量,從而達到壓縮模型的效果。另一類是通過剪枝、量化、二值化神經(jīng)網(wǎng)絡等方式對模型進行壓縮。Han等人[17]首先通過剪枝減少網(wǎng)絡的連接數(shù)量,然后通過共享權(quán)重和權(quán)重進行索引編碼來減小權(quán)重數(shù)量和存儲空間,最后用霍夫曼編碼的方式來編碼第二階段的權(quán)重和索引,這樣可以進一步壓縮空間。馬治楠等人[18]采用剪枝的方法對深度學習模型進行壓縮,使模型能夠應用于嵌入式平臺。二值化神經(jīng)網(wǎng)絡常用的方法有BinaryConnect[19]、XnorNet[20]等。2018年,徐喆等人[21]提出了一種基于比例的網(wǎng)絡壓縮知識提取算法,泛化能力強,根據(jù)類間關(guān)系進行訓練,減少了訓練時間。黃聰?shù)热薣22]設(shè)計了一種權(quán)值的剪枝方法以及可分的卷積,有效降低了計算量。

      在資源受限平臺中運行的模型應具備以下特點:第一,模型的結(jié)構(gòu)更小,參數(shù)量更少,占用更少的內(nèi)存空間;第二,模型運行速度更快,不占用平臺的大量計算資源且運行速度滿足實時性要求;第三,模型精度能滿足相應場景的要求。只有平衡好模型占用內(nèi)存大小、模型運行速度和模型精度這三方面,才能將卷積神經(jīng)網(wǎng)絡更好地應用于資源受限平臺。本文采用FireModlue結(jié)構(gòu)對YOLOv3 模型進行壓縮,設(shè)計出Strong Tiny-YOLOv3模型。相比于 YOLOv3 模型,Strong Tiny-YOLOv3 模型的參數(shù)量、模型實際內(nèi)存大小、檢測實時性都有了大幅度的優(yōu)化。且與現(xiàn)有的YOLOv3 模型的壓縮模型TinyYOLOv3相比,Strong Tiny-YOLOv3在檢測精度及檢測速度方面都有提升。

      2 相關(guān)工作

      2.1 YOLOv3模型

      為克服YOLOv1 模型[23]對小目標預測效果差的缺點以進一步提高模型的預測準確度,YOLOv3[24]在YOLOv1 和YOLOv2[25]的基礎(chǔ)上做了進一步的改進,在網(wǎng)絡中引入了基于多尺度預測的特征金字塔結(jié)構(gòu)[26](FPN),如圖1所示,小的物體會在淺層的特征圖中被檢測出來,大的物體會在較深的特征圖中被檢測出來。首先,使用k-means聚類算法得到9個先驗框,每種尺度下各三個,每種尺度下的一個網(wǎng)格負責預測三個邊界框。然后,使用darknet-53網(wǎng)絡對圖像進行特征提取,當提取到最深層特征時,進行輸出,同時進行上采樣,與另一尺度下的特征進行融合。這樣,每層特征圖中都會包含淺層的低級特征(如物體的邊緣、顏色、初級位置信息等)和深層的高級特征(如物體的語義信息等),預測的準確度也會有所提高。另外,由于darknet-53 中加入了殘差塊,使網(wǎng)絡的結(jié)構(gòu)可以設(shè)置得更深,因而具有更強的特征提取能力。

      圖1 YOLOv3中的特征金字塔結(jié)構(gòu)

      YOLOv3網(wǎng)絡模型的損失函數(shù)如公式(1)所示:

      損失函數(shù)可分為三部分,bbox_loss代表模型的邊界框損失,conf_loss代表模型的置信度損失,prob_loss則代表模型的預測類別損失。由于模型中三種類別的損失在損失函數(shù)中所占的比例不同,lcoord、lnobj為比例因子。公式(1)中,表示第i個網(wǎng)格的第j個先驗框是否負責預測目標邊界框的位置,若負責預測則其值為1,若不負責預測,則其值為0;表示第i個網(wǎng)格的第j個邊界框不預測目標位。由于YOLOv3 在三種不同尺度下進行預測,所以最終的損失函數(shù)為三種尺度下loss的和。

      2.2 Tiny-YOLOv3模型

      Tiny-YOLOv3是YOLOv3網(wǎng)絡的簡化版本,其卷積層的數(shù)量比YOLOv3 小得多,因此Tiny-YOLOv3 模型所需的內(nèi)存及計算量也相對較小,可部署在嵌入式設(shè)備中。但與YOLOv3 模型相比,由于特征提取能力不足,Tiny-YOLOv3的檢測精度較低。

      Tiny-YOLOv3網(wǎng)絡結(jié)構(gòu)如圖2所示,網(wǎng)絡主要是由卷積層和池化層組成。卷積層一共有13 層,負責對圖像提取特征,最大池化層有6 層,對特征圖進行下采樣操作。Tiny-YOLOv3 模型在兩個尺度下對目標進行預測,通過卷積、池化得到13×13的特征圖后,再進行全連接操作輸出預測結(jié)果。同時,對13×13的特征圖進行上采樣,與26×26 的特征圖融合后,進行另一尺度下的預測。與YOLOv3 相同,Tiny-YOLOv3 模型中,每個單元格負責預測三個邊界框。Tiny-YOLOv3 模型的參數(shù)量約為9×106,是YOLOv3 模型參數(shù)量的14.3%,模型參數(shù)量的減少也會使計算量相應地降低。

      圖2 Tiny-YOLOv3網(wǎng)絡結(jié)構(gòu)圖

      3 Strong Tiny-YOLOv3

      3.1 基于FireModule的網(wǎng)絡結(jié)構(gòu)

      Tiny-YOLOv3網(wǎng)絡模型的深度較淺,因而對圖像特征提取能力不足,在檢測精度上相比于YOLOv3模型有很大的降低,且Tiny-YOLOv3 模型中存在卷積核數(shù)量為512 和1 024 的卷積層,這些卷積核所包含的參數(shù)在模型參數(shù)中占很大比例。因而,需提高Tiny-YOLOv3模型的特征提取能力,同時,盡可能地對模型進行進一步的壓縮。

      Iandola 等人[14]提出的 SqueezeNet 將模型中 3×3 的卷積核采用1×1的卷積核來代替,這一操作可有效減小模型的參數(shù)量。同時,對于3×3 的卷積核,其參數(shù)量為3×3×M×N,M、N分別為輸入特征圖與輸出特征圖的通道數(shù),通過減小M、N的數(shù)量可有效減小模型的參數(shù)量和計算量。

      SqueezeNet是由若干FireModule結(jié)合卷積神經(jīng)網(wǎng)絡中卷積層、降采樣層和全連接層組成,其中,F(xiàn)ireModule是SqueezeNet網(wǎng)絡的主要結(jié)構(gòu)。FireModule是由Squeeze部分和Expand 部分組成,其結(jié)構(gòu)如圖3(a)所示,其中Squeeze 部分是由一組連續(xù)的1×1 的卷積組成,負責對模型進行壓縮,也被稱為瓶頸層,Expand部分是由一組連續(xù)的1×1卷積和一組連續(xù)的3×3卷積組成,負責對模型進行擴充。FireModule 的輸出結(jié)果為Expand 部分兩層卷積結(jié)果的合并。為詳細解釋FireModule的結(jié)構(gòu),以Tiny-YOLOv3 中第五個卷積層為例進行說明。圖像在Tiny-YOLOv3模型中經(jīng)過四層卷積池化后,特征圖大小為26×26×128,第五層卷積層卷積核為3×3×256。若使用如圖3(b)所示的FireModule替換Tiny-YOLOv3 第五層卷積層,則輸入特征圖首先經(jīng)過Squeeze層1×1×32的卷積核進行通道變換后輸出26×26×32的特征圖。該特征圖再分別與Expand 層的1×1×128 與3×3×128 的卷積核進行卷積,得到兩個26×26×128 的特征圖,將這兩個特征圖進行連接即可得到26×26×256的特征圖,與Tiny-YOLOv3 模型第五層卷積后的輸出結(jié)果相同。Fire-Module 中 Squeeze 部分1×1 卷積核的通道數(shù)記為s1,Expand 部分 1×1 和 3×3 的卷積核通道數(shù)分別記為e1和e3。在FireModule中,作者建議s1<e1+e3,SqueezeNet模型中,作者使用的策略是4×s1=e1=e3。

      圖3 FireModule結(jié)構(gòu)介紹圖

      SequeezeNet 中使用FireModule 對模型進行壓縮,取得了良好的效果,且由于網(wǎng)絡結(jié)構(gòu)變寬加深,模型的精度沒有受到影響。本文中,嘗試采用FireModule 對YOLOv3 模型進行壓縮,以減少模型的參數(shù)量及計算量,使模型能夠在嵌入式設(shè)備中達到實時檢測的效果,且盡可能減少模型壓縮對檢測精度造成的影響。在介紹本文提出的壓縮模型前,首先介紹模型參數(shù)的計算方法,以便更好地對模型參數(shù)做出比較,確定模型壓縮效果。卷積層參數(shù)量的計算公式如下:

      其中,W為某卷積層卷積核的參數(shù)量,m為卷積層輸入特征通道數(shù),n為卷積層輸出特征通道數(shù),k為卷積核的大小,b為偏置項的數(shù)量,其值為1。對于FireModule,其參數(shù)計算方式如下:

      Wfire為FireModule層的參數(shù)量,ks1為Squeeze層卷積核大小,其值為1,s1為Squeeze 層輸出通道數(shù),ke1和ke3為Expand層的卷積核的大小,其值分別為1和3,e1、e3為Expand 層的兩個卷積層輸出通道的數(shù)量。若不考其他因素的影響,將Tiny-YOLOv3 中的卷積層全部使用FireModule層替換,且4×s1=e1=e3,則其參數(shù)如表1所示。

      表1 Tiny-YOLOv3卷積層及對應FireModule參數(shù)量對比

      由表1 可計算出Tiny-YOLOv3 卷積層的參數(shù)量約為8.65×106,卷積層對應FireModule層的參數(shù)量為1.27×106,參數(shù)量可減少約85%。由此可見,采用FireModule來代替卷積層后,其帶來的參數(shù)縮減效果非常明顯,即便是在卷積核尺寸為1 時,F(xiàn)ireModule 也能明顯減少卷積核的參數(shù)量。究其原因,是因為FireModule瓶頸層的特征圖輸出通道僅為該卷積層特征圖輸出通道的1/8,且由于瓶頸層輸出通道數(shù)量減少,會使Expand 層的輸入特征圖通道數(shù)量減少,因而能減少整體參數(shù)量。

      本文首先對FireModule進行優(yōu)化,從而可以進一步減少參數(shù)量。SqueezeNet中FireModule的Squeeze層輸出通道數(shù)量為s1,Expand層輸出通道數(shù)量為e1+e3,且4×s1=e1=e3。若進一步增大s1與e1和e3之間的比例關(guān)系,則模型的參數(shù)量可得到進一步壓縮,與此同時,特征圖可能會損失較多的信息,所以,優(yōu)化的關(guān)鍵點在于找到s1與e1和e3之間的最佳比例。本文在GTSDB 數(shù)據(jù)集上進行了三組實驗,s1與e1和e3之間的比例關(guān)系分別設(shè)為4、6、8。當比例關(guān)系取不到4、6、8 時,則取較為接近4、6、8的數(shù),實驗結(jié)果如表2所示。由表2可知,當s1與e1和e3之間的比例關(guān)系取4 或6 時,模型在GTSDB數(shù)據(jù)集上的mAP差別不大,比例關(guān)系為8時,則模型mAP 有明顯降低。因此,在本實驗中,將Squeeze層輸出通道與Expand層輸通道之間的關(guān)系改為4×s1≤e1=e3≤6×s1,即減小 FireModule 瓶頸層的輸出通道數(shù),也就是Expand層的輸入通道數(shù),從而減小模型參數(shù)量。如對于表1 中的Conv7,使用改進的FireModule 來代替卷積層后,其參數(shù)量變?yōu)?12×86+86+86×512+512+3×3×86×512+512=485 462,相比優(yōu)化前的參數(shù)量722 048減小32.8%。使用改進后的FireModule 對YOLOv3 模型進行壓縮,壓縮后的YOLOv3 模型稱為Strong Tiny-YOLOv3,其網(wǎng)絡結(jié)構(gòu)如圖4所示。

      表2 GTSDB數(shù)據(jù)集上s1 與e1和e3 比例關(guān)系實驗

      Strong Tiny-YOLOv3 通過引入 FireModule 來減小模型參數(shù),實現(xiàn)對模型的壓縮,同時,由于FireModule的引入,模型的深度較Tiny-YOLOv3有所增加,模型的特征提取能力也更強。Strong Tiny-YOLOv3 模型的前半部分與Tiny-YOLOv3 模型結(jié)構(gòu)形同,由卷積層和池化層交替組成。隨著層數(shù)的加深,特征圖的通道數(shù)越來越多,由其導致的參數(shù)規(guī)模也越來越大。將Tiny-YOLOv3模型中尺寸為3×3 通道數(shù)不小于256 的卷積層替換為FireModule,同時,為提高模型的特征提取能力,增加了多個FireModule層對26×26及13×13的特征圖做進一步特征提取。Strong Tiny-YOLOv3 模型深度為31 層,相比于Tiny-YOLOv3增加了12層,其各層具體信息如表3所示。Strong Tiny-YOLOv3 模型的參數(shù)量為1.1×106,比Tiny-YOLOv3模型減小87.3%。

      3.2 加入short-cut

      在網(wǎng)絡訓練過程中,網(wǎng)絡的深度對模型訓練結(jié)果存在著深遠影響,深度網(wǎng)絡表征能力強。理論上,網(wǎng)絡深度同誤差成反比關(guān)系,即網(wǎng)絡越深誤差越小。原因是根據(jù)淺層模型作恒等映射可以構(gòu)造深層模型的解。但是,網(wǎng)絡深度增加伴隨著反向傳播過程中運算不穩(wěn)定性因素上升,易產(chǎn)生梯度爆炸或梯度擴散,導致實際結(jié)果與預期結(jié)果大相徑庭。雖然加入正則化可以緩解梯度爆炸和梯度擴散的問題,但是隨著深度的增加仍然會產(chǎn)生退化問題。

      圖4 Strong Tiny-YOLOv3網(wǎng)絡結(jié)構(gòu)圖

      ResNet 網(wǎng)絡中首次利用跨越多層的short-cut 構(gòu)建優(yōu)秀模型解決了退化問題。傳統(tǒng)神經(jīng)網(wǎng)絡采用堆疊式網(wǎng)絡架構(gòu)進行的是仿射變換-非線性變換,但是傳統(tǒng)神經(jīng)網(wǎng)絡中恒等映射并不容易擬合。為了解決該問題,通過加入short-cut構(gòu)造恒等映射條件,由傳統(tǒng)的擬合恒等映射轉(zhuǎn)化為優(yōu)化殘差,計算由傳統(tǒng)的乘法實現(xiàn)了加法的轉(zhuǎn)變,計算更加穩(wěn)定,緩解了深度與退化的矛盾,實現(xiàn)了深度與精確度的雙飛躍。之后,YOLOv3對ResNet殘差塊進行了優(yōu)化。為此,借鑒YOLOv3 中殘差塊的思想,本文在Strong Tiny-YOLOv3的Fire Module層之間引入short-cut,來增強網(wǎng)絡的特征提取能力。加入short-cut后,Strong Tiny-YOLOv3 模型的網(wǎng)絡結(jié)構(gòu)如圖5 所示。對于FireModule層來說,前一個FireModule層的輸入與其輸出相結(jié)合作為其下一個FireModule 層的輸入。這樣,網(wǎng)絡中的信息流可以通過short-cut 進行跨層傳遞,在網(wǎng)絡的前向傳播過程中,short-cut可幫助網(wǎng)絡中的特征進行恒等映射,在反向傳播過程中,short-cut 可幫助傳到梯度,讓模型成功訓練。

      表3 Strong Tiny-YOLOv3各層具體信息

      圖5 加入short-cut的Strong Tiny-YOLOv3網(wǎng)絡

      3.3 數(shù)據(jù)集及實驗設(shè)置

      本文實驗數(shù)據(jù)集全部采用德國交通標志檢測數(shù)據(jù)集(German Traffic Sign Detection Benchmark,GTSDB)和中國交通標志檢測數(shù)據(jù)集(CSUST Chinese Traffic Sign Detection Benchmark,CCTSDB),兩種數(shù)據(jù)集的具體數(shù)量如表4所示。

      表4 實驗數(shù)據(jù)詳情

      GTSDB數(shù)據(jù)集共包含900張圖像,其中訓練集600張,測試集300張,圖像分辨率為1 360×800。該數(shù)據(jù)集包含的道路場景圖像背景復雜,包含大部分的光照變化情況及各種拍攝角度,且存在背景干擾遮擋及照片運動模糊等情況。GTSDB 數(shù)據(jù)集可分為三類:指示標志(mandatory)、警告標志(danger)、禁止標志(prohibitory)。如圖6 所示[16],指示標志一般為圓形,標志為白色,底色為藍色;警告標志為三角形,紅色外圈,底色為白色;禁止標志為圓形,紅色外圈,白色底色。每張圖像中,交通標志的大小為16×16到128×128。

      CCTSDB數(shù)據(jù)集包含15 734張圖像,其中對13 829張圖像做了標簽。測試集共包含400張圖像,數(shù)據(jù)量較少。因此,本文實驗中從標簽數(shù)據(jù)中選取10 000張圖像作為訓練集,其余3 829 張圖像作為測試集。如圖7 所示[16],CCTSDB數(shù)據(jù)集同樣分為三大類:指示標志、警告標志、禁止標志。

      圖6 GTSDB數(shù)據(jù)集中交通標志種類

      圖7 CCTSDB數(shù)據(jù)集中交通標志種類

      實驗中,采用PASCAL VOC標準對模型進行測評,即計算預測框與真實框的IoU等于0.5時的mAP。mAP的計算方法如下:假設(shè)N個樣本有M個正例,就會得到M個召回率的值R(1/M,2/M,…,M/M) ,對每個召回率取最大的準確率P,然后對這M個P值取平均值,最后得到AP 值即為mAP。由于實驗中分別使用FireModule及short-cut對模型進行改進,為比較不同方法對模型檢測效果的提升作用,Strong Tiny-YOLOv3模型的基本結(jié)構(gòu)稱為Strong Tiny-YOLOv3-A,加入short-cut后的Strong Tiny-YOLOv3稱為Strong Tiny-YOLOv3-B。

      為了更加真實地測試Strong Tiny-YOLOv3模型在資源受限平臺上的檢測效果,本實驗在PC機上進行。實驗在Intel?Core? i5-7200U CPU上進行訓練,其內(nèi)存為8 GB。同時,采用Intel?Core? i5-7200U CPU和NVIDIA的 GeForce 940MX 進行測試,GeForce 940MX 實際上是一款移動獨立顯卡,其內(nèi)存容量為2 GB,包含384 個核心流處理器,并支持CUDA的相關(guān)計算功能。在實驗過程中,Tiny-YOLOv3 模型的訓練次數(shù)為50 輪,Strong Tiny-YOLOv3模型的迭代次數(shù)為100輪。

      4 實驗結(jié)果分析

      4.1 算法mAP分析

      表5 為 YOLOv3、Tiny-YOLOv3 及 Strong Tiny-YOLOv3-A及Strong Tiny-YOLOv3-B四種模型在GTSDB和CCTSDB 數(shù)據(jù)集上的實驗結(jié)果。由表5 可知,在GTSDB數(shù)據(jù)集上,YOLOv3模型的檢測mAP為91.2%,Tiny-YOLOv3 模型的檢測mAP 為67.44%,模型壓縮后檢測精度下降幅度較大;而Strong Tiny-YOLOv3-B模型的檢測mAP為75.53%,比Strong Tiny-YOLOv3-A模型提高了6.59 個百分點,表明模型加入short-cut 后,檢測mAP 有了加大幅度的提升。同時,與Tiny-YOLOv3 模型相比,Strong Tiny-YOLOv3-B 模型的檢測mAP 提高了12%。在CCTSB數(shù)據(jù)集上,YOLOv3模型的檢測mAP為93.2%,Tiny-YOLOv3模型和Strong Tiny-YOLOv3模型的檢測mAP下降相對較小,且StrongTiny-YOLOv3-B模型的檢測mAP比Tiny-YOLOv3模型提高了3.8%。在GTSDB 數(shù)據(jù)集上,Strong Tiny-YOLOv3-B 的檢測精度提升最為明顯。

      表5 幾種模型在兩數(shù)據(jù)集上的mAP對比

      由實驗結(jié)果可知,Strong Tiny-YOLOv3-A 模型由于FireModule 的引入,模型的深度較Tiny-YOLOv3 有所增加,模型的特征提取能力也更強,所以相較Tiny-YOLOv3,其模型壓縮后的檢測精度略有提升。Strong Tiny-YOLOv3-B 在 Fire Module 層之間 引入 short-cut,網(wǎng)絡的特征提取能力得到進一步增強。但是相較于YOLOv3,Strong Tiny-YOLOv3-B 在數(shù)據(jù)集 GTSDB 上mAP下降15.7%,在數(shù)據(jù)集CCTSDB上mAP下降7.6%。所以本文算法相較于YOLOv3,檢測精度沒有達到預期的效果,仍有很大的提升空間。

      4.2 模型參數(shù)量與實際存儲大小分析

      由 3.1 節(jié)分析可知,Strong Tiny-YOLOv3 模型的參數(shù)量為1.1×106。YOLOv3模型參數(shù)量約為62.8×106,相比減少98.3%。Tiny-YOLOv3 模型的參數(shù)量約為8.65×106,相比減少87.3%。模型參數(shù)量的減少也會使計算量相應的降低,從而有更高的檢測速度。

      由于資源受限平臺的內(nèi)存資源有限,勢必要求模型占據(jù)很小的內(nèi)存空間,本文對比了Strong TinyYOLOv3模型與YOLO 系類模型的實際內(nèi)存,如表6 所示。與YOLOv1、YOLOv2、YOLOv3模型大小相比,Tiny-YOLOv3和Strong Tiny-YOLOv3 模型要小得多。Strong Tiny-YOLOv3模型的內(nèi)存大小為7.5 MB,約為YOLOv3模型的1/32。與Tiny-YOLOv3相比,Strong Tiny-YOLOv3模型占用的存儲空間減小26.5 MB,相比于Tiny-YOLOv3減小了77.9%。

      4.3 模型Bflops結(jié)果分析

      BFlops(Billion Float Operations Per Second)是描述某次卷積運算需要多少個十億次浮點運算,是影響模型訓練及測試耗時的一個重要指標,可用來衡量深度學習模型的時間復雜度??赏ㄟ^計算模型每一層的BFlops,然后將它們?nèi)肯嗉拥玫秸麄€模型的BFlops。單個卷積層的BFlops計算公式如下:

      其中,2 表示一次乘法和一次加法的浮點數(shù)運算,ci表示卷積輸入通道數(shù),co表示輸出通道數(shù),k為卷積核的大小,wout表示卷積輸出特征圖的寬,hout表示卷積輸出特征圖的高。整個模型的BFlops 可通過如下公式計算得到:

      其中n為模型卷積層總數(shù)。

      表7列出了Strong Tiny-YOLOv3模型各個層的BFlops值,計算可知Strong Tiny-YOLOv3模型的BFlops為1.924。其中,9層FireModule包含卷積層的深度為18,占整個模型深度的58%,其BFlops 為0.41,僅占整個模型BFlops的21.3%。也就是說,Strong Tiny-YOLOv3 模型中的FireModule在增加網(wǎng)絡深度,提高模型特征提取能力的基礎(chǔ)上,還能有效減少模型的計算量,提高模型的檢測速度。由表8可知,Strong Tiny-YOLOv3模型的BFlops約為YOLOv3模型的1/27,且相比于Tiny-YOLOv3模型減少了65%,更適用于資源受限平臺。

      4.4 算法實時性分析

      Strong Tiny-YOLOv3 由于 FireModule 的引入,模型的深度較Tiny-YOLOv3 有所增加,模型的特征提取能力也更強。但是由4.2節(jié)與4.3節(jié)可知,優(yōu)化后的Fire-Module對YOLOv3模型進行壓縮,減少了模型的參數(shù)量及計算量,相比YOLOv3 和Tiny-YOLOv3,有更高的檢測速度。本文在Intel?Core? i5-7200U CPU和GeForce 940MX 兩平臺上對視頻信息進行檢測,并計算對比YOLOv3模型、Tiny-YOLOv3模型和Strong Tiny-YOLOv3模型在兩平臺上的檢測速度,驗證本文的設(shè)想。由表9可看出,在Intel?Core? i5-7200U CPU和GeForce 940M兩資源受限型平臺上,Tiny-YOLOv3 模型和Strong Tiny-YOLOv3 模型的檢測速度明顯優(yōu)于YOLOv3 模型。在Intel?Core? i5-7200U CPU平臺上,Strong Tiny-YOLOv3 的檢測速度是 YOLOv3 模型的 10.92 倍,相比于TinyYOLOv3 的檢測速度提高了17.2%。在GeForce 940MX 平臺上,Strong Tiny-YOLOv3 的檢測速度為33.78 幀/s,約為 YOLOv3 的 8.64 倍,比 Tiny-YOLOv3 模型的檢測速度提高了22.8%。實驗結(jié)果表明,Strong Tiny-YOLOv3 模型有較高的檢測速度,在資源受限平臺GeForce 940MX上的檢測速度能夠滿足實時檢測的需求。

      表6 算法模型尺寸對比

      表7 Strong Tiny-YOLOv3模型各層BFlops值

      表8 不同算法BFlops對比

      表9 算法實時性能對比 幀·s?1

      5 結(jié)束語

      本文提出了一種YOLOv3 模型的壓縮模型Strong Tiny-YOLOv3 模型。Strong Tiny-YOLOv3 模型中使用改進后的FireModule及short-cut對模型進行壓縮優(yōu)化,使YOLOv3模型的參數(shù)量從62.8×106減少為1.1×106,模型實際內(nèi)存大小從241.1 MB 減少為7.5 MB,且模型檢測的速度得到大幅度提升。在GTSDB 和CCTSDB 數(shù)據(jù)集上,Strong Tiny-YOLOv3模型的檢測速度、檢測精度都比YOLOv3 的壓縮模型Tiny-YOLOv3 要好。壓縮后的Strong Tiny-YOLOV3 模型不需要高性能GPU 也能實現(xiàn)實時檢測,能夠部署在車輛中對交通標志進行檢測。模型壓縮必然會導致其檢測精度的降低,與YOLOv3相比,檢測精度還有較大差距,下一步繼續(xù)對模型的壓縮方法進行研究,以盡可能減小模型壓縮后的精度損失。

      猜你喜歡
      對模型交通標志特征提取
      交通標志認得清
      基于雙向特征融合的交通標志識別
      光源對模型貼圖的影響——3種人造光源在三維數(shù)字化采集中的應用
      廣州文博(2020年0期)2020-06-09 05:15:44
      基于Daubechies(dbN)的飛行器音頻特征提取
      電子制作(2018年19期)2018-11-14 02:37:08
      Bagging RCSP腦電特征提取算法
      蒙藥特潤舒都樂對模型小鼠脾臟NK細胞活性的影響
      交通標志小課堂
      蒙醫(yī)開竅補腎針刺法對模型大鼠胸腺、脾臟指數(shù)的影響
      蒙醫(yī)催熟療法對模型大鼠炎癥因子影響的實驗研究
      基于MED和循環(huán)域解調(diào)的多故障特征提取
      乌鲁木齐县| 寿宁县| 许昌市| 垣曲县| 宁都县| 尼玛县| 凤凰县| 扎兰屯市| 镇沅| 剑川县| 都江堰市| 嘉祥县| 平乐县| 苏尼特右旗| 咸阳市| 共和县| 深水埗区| 同仁县| 奉化市| 浦东新区| 武川县| 涞源县| 济阳县| 易门县| 泰州市| 额济纳旗| 丽水市| 泗阳县| 铁岭市| 江川县| 方山县| 习水县| 景宁| 尼勒克县| 剑川县| 宣城市| 武汉市| 辰溪县| 观塘区| 兰州市| 思南县|