• 
    

    
    

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

      基于MobileNetV3-YOLOv4 的車型識別

      2022-01-07 01:23:38凌毓?jié)?/span>鄭錫聰李夏雨
      軟件導刊 2021年12期
      關(guān)鍵詞:特征提取卷積聚類

      萬 浪,凌毓?jié)?,鄭錫聰,李夏雨

      (華中師范大學物理科學與技術(shù)學院,湖北武漢 430079)

      0 引言

      近年來,我國機動車數(shù)量逐年增長,截至2020 年9 月已高達3.65 億輛,其中汽車占73.97%。汽車帶來了交通的便利,但也導致道路擁擠、交通事故等一系列問題[1]。監(jiān)控系統(tǒng)是輔助交通監(jiān)管的重要設(shè)施,如何利用監(jiān)控對道路上的車輛進行檢測與分類成為研究熱點。

      在計算機視覺領(lǐng)域,典型的車型識別方法分為形態(tài)學圖像處理與卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network,CNN)兩種。在形態(tài)學圖像處理方面,程麗霞等[2]提出一種基于灰度共生矩陣紋理特征的車型識別方法,該方法性能穩(wěn)定、可行性強,但適用范圍較窄,在光線較強或車身顏色較暗的情況下提取的車輛紋理特征并不清晰,會導致分類結(jié)果不準確。在CNN 方面,吳玉枝等[3]對SSD 目標檢測算法進行改進,對主干特征提取網(wǎng)絡(luò)VGG-16 增加一層卷積層,并將底層與頂層多層特征圖融合后進行預測,以獲取更全面的特征信息。該方法降低了模型誤檢率,提升了識別速度,但識別精度還有待提升。桑軍等[4]提出一種基于Faster-RCNN 的車型識別方法,研究Faster-RCNN 分別與ZF、VGG16 和ResNet-101 3種不同CNN相結(jié)合的識別能力,實驗結(jié)果表明Faster-RCNN 與ResNet-101 相結(jié)合的模型識別能力最強。該算法雖然精度較高,但模型參數(shù)量過大,訓練和識別速度較慢。

      YOLOv4 目標檢測算法在速度和精度方面均表現(xiàn)優(yōu)異,但同樣存在參數(shù)量過大、難以訓練的問題。為解決目前車輛檢測與分類算法的局限性,本文將MobileNet 輕量級網(wǎng)絡(luò)引入YOLOv4 目標檢測網(wǎng)絡(luò)中,得到MobileNetV3-YOLOv4 模型,大幅減少了目標檢測網(wǎng)絡(luò)的參數(shù)量,從而提升了檢測速度。此外,為消除減少參數(shù)量帶來的準確度不足問題,本文使用K-means 算法設(shè)置預選框用于提升模型最終識別精度,最終構(gòu)建了一種實用的車輛檢測與分類算法。

      1 MobileNet 簡介

      MobileNet 網(wǎng)絡(luò)是由谷歌提出的一種輕量級CNN。MobileNetV1 的卷積模型主要應用深度可分離卷積(Depthwise Separable Convolution)的方式替換普通卷積方式[5],深度可分離卷積流程如圖1 所示。其通過對每個輸入通道采用不同的卷積核分別進行卷積,然后再通過1× 1 大小的卷積核進行通道調(diào)整實現(xiàn),并在卷積層后加上BN(Batch Normalization)層和ReLU 激活函數(shù)。假設(shè)輸入特征圖的大小為DW×DH×M,輸出特征圖的大小為DW×DH×N,其中DW、DH分別為特征圖的寬和高,M、N分別為輸入和輸出特征圖的通道數(shù)。對于一個卷積核尺寸為DK×DK的標準卷積來說,共有N個DK×DK×M的卷積核,因此參數(shù)量PN的計算公式可表示為:

      Fig.1 Depthwise separable convolution structure圖1 深度可分離卷積結(jié)構(gòu)

      每個卷積核都要經(jīng)過DW×DH次計算,其計算量QN表示為:

      在深度可分離卷積中,一次標準卷積可分為深度卷積(Depthwise Convolution)和逐點卷積(Pointwise Convolution)兩步操作[6]。深度卷積只需要一個尺寸為DK×DK×M的卷積核;逐點卷積的卷積核尺寸為1× 1×M,共有N個,因此其參數(shù)量PD表示為:

      深度卷積和逐點卷積的每個參數(shù)都需要經(jīng)過DW×DH次運算,其計算量QD表示為:

      深度可分離卷積模塊與標準卷積參數(shù)量的比值RP表示為式(5)、計算量比值RQ表示為式(6)。

      由上式可知,深度可分離卷積的參數(shù)和計算量均減少為標準卷積的。

      MobileNetV1 網(wǎng)絡(luò)結(jié)構(gòu)在訓練過程中易出現(xiàn)深度卷積部分的卷積核失效,即出現(xiàn)卷積核的大部分參數(shù)為0 的情況,影響了特征提取效果。MobileNetV2 在V1 的基礎(chǔ)上使用Inverted residuals block[7]結(jié)構(gòu),具體如圖2 所示。首先使用逐點卷積進行特征升維,再通過深度卷積進行特征提取,最后通過逐點卷積進行降維,將ReLU 激活函數(shù)替換為ReLU6 激活函數(shù),使模型在低精度計算下具有更強的魯棒性,并去掉最后的ReLU 層。ReLU6 激活函數(shù)的公式表示為:

      Fig.2 Inverted residuals block structure圖2 Inverted residuals 結(jié)構(gòu)

      在輸入維度與輸出維度相同時,引入ResNet 中的殘差連接,將輸出與輸入直接相連。這種倒殘差結(jié)構(gòu)的特點為上層和下層特征維度低,中間層維度高,避免了Mobile-NetV1 在深度卷積過程中卷積核失效等問題,而且在高維特征層使用單深度卷積也不會增加太多參數(shù)量。此外,引入殘差連接可避免在加深網(wǎng)絡(luò)深度時出現(xiàn)梯度消失的現(xiàn)象。

      MobileNetV3[8]使用一個3×3的標準卷積和多個bneck 結(jié)構(gòu)提取特征,在特征提取層后使用1× 1 的卷積塊代替全連接層,并加入最大池化層得到最后的分類結(jié)果,進一步減少網(wǎng)絡(luò)參數(shù)量。MobileNetV3 包括Large 和Small兩種結(jié)構(gòu),本文使用Large 結(jié)構(gòu)。為適應車型識別任務(wù),將輸入圖片大小設(shè)為416×416。MobileNetV3_Large 結(jié)構(gòu)如表1 所示,其中SE 表示是否使用注意力模塊,NL 表示使用何種激活函數(shù),s 表示步長。

      Table 1 MobileNetV3_Large structure表1 MobileNetV3_Large 結(jié)構(gòu)

      bneck 結(jié)構(gòu)結(jié)合了V1 中的深度可分離卷積與V2 中的殘差結(jié)構(gòu),并在某些bneck 結(jié)構(gòu)中引入輕量級注意力模塊,增加了特征提取能力強的通道權(quán)重。bneck 結(jié)構(gòu)如圖3 所示。

      在主干模塊中使用h-swish 激活函數(shù)代替swish,在SE模塊中使用h-sigmoid 激活函數(shù)代替sigmoid,減少了網(wǎng)絡(luò)的計算量。h-sigmoid、h-swish 的計算公式如式(8)、式(9)所示。

      Fig.3 Benck block structure圖3 bneck 結(jié)構(gòu)

      2 輕量級車型識別模型MobileNetV3-YOLOv4 建立

      2.1 MobileNetv3-YOLOv4 整體框架

      YOLOv4[9]是一個基于回歸的單階段目標檢測算法,主要由CSPDarknet53特征提取結(jié)構(gòu)[10]、PAnet特征融合結(jié)構(gòu)[11]和進行回歸與分類的head 頭3 個部分組成,其可在檢測目標的同時對目標進行分類。

      Fig.4 MobileNetV3-YoloV4 network structure圖4 MobileNetV3-YoloV4 網(wǎng)絡(luò)結(jié)構(gòu)

      MobileNetV3-YOLOv4 網(wǎng)絡(luò)采用MobilenetV3 作為主干提取網(wǎng)絡(luò)代替原有的CSPDarknet53 網(wǎng)絡(luò),其結(jié)構(gòu)如圖4 所示。SPP(Spatial Pyramid Pooling)模塊分別使用4 個不同大小的卷積核對前層特征進行最大池化處理[12],卷積核的尺寸分別為13 × 13、9 × 9、5 × 5、1× 1,然后將4 個處理后的結(jié)果連接起來組成新的特征層,在增加網(wǎng)絡(luò)深度的同時保留了前層特征,以獲取更多局部特征信息。PANet 模塊對MobileNetV3 主干網(wǎng)絡(luò)特征提取的結(jié)果首先進行上采樣,再進行下采樣,加強了特征金字塔的信息提取能力。通過不同層的自適應池化,將特征網(wǎng)格與全部特征層直接融合在一起,在下采樣的過程中將融合的結(jié)果傳入Head 頭進行回歸與分類。

      通過PANet 結(jié)構(gòu)得到3 個特征層的預測結(jié)果,這3 個特征層的大小分別為52 × 52、26 × 26、13 × 13。Yolo Head 將輸入圖像劃分為對應大小的網(wǎng)絡(luò),例如對于13 × 13 大小的特征層,將其劃分為13 × 13 的網(wǎng)格,目標中心所在的網(wǎng)格負責該目標的預測,每個網(wǎng)格點會有3 個預設(shè)的先驗框,不同大小特征層網(wǎng)格點的先驗框大小也不相同。每個預設(shè)的先驗框經(jīng)過預測得到網(wǎng)格中心的偏移量x_offset 和y_offset、預測框的寬高h 和w,以及物體的置信度和分類結(jié)果。在預測過程中將每個網(wǎng)格加上其偏移量得到預測框的中心,然后通過先驗框結(jié)合h 和w 便可得到預測框的位置。本文模型將所有卷積核大小為3 × 3 的標準卷積替換為深度可分離卷積,進一步減少了模型參數(shù)量。

      2.2 損失函數(shù)

      采用YOLOv4 模型的損失函數(shù),包含邊界框回歸(Bounding Box Regression)損失、置信度損失和類別損失3個部分,其中邊界框回歸損失中使用CIOU代替YOLOv3 中的MSE 損失,其他兩部分與YOLOv3[13]相同。

      IOU為兩個錨框之間的交并比,表示為:

      IOU對目標尺度不敏感,且當預測框與實際框沒有重疊時,IOU會出現(xiàn)無法優(yōu)化的情況。CIOU對IOU進行了改進,不僅考慮了錨框之間的交并比,還將尺度與懲罰項納入考慮,計算方式為:

      式中,ρ2(b,bgt)表示預測框與真實框中心的歐式距離,b和bgt分別為預測框和真實框的中心點,c表示預測框與真實框最小外接矩形的對角線距離。α和υ的計算公式為:

      式中,wgt、hgt分別為真實框的寬、高,w、h分別為預測框的寬、高。

      相應的損失Lciou表示為:

      置信度損失Lconf表示為:

      式中,S2表示分類特征層所劃分的網(wǎng)格數(shù),B表示每個網(wǎng)格點包含的先驗框個數(shù),表示預測框內(nèi)有無目標,為預測目標置信度,為實際置信度,λnoobj為預設(shè)參數(shù)。

      類別損失Lcls表示為:

      式中,c為檢測目標類別,為預測為此類的概率,為此類實際概率。

      總的損失Lobject表示為:

      2.3 遷移學習

      遷移學習是將已訓練完成網(wǎng)絡(luò)的權(quán)重遷移到一個未經(jīng)過訓練的網(wǎng)絡(luò)中[14]。大部分任務(wù)或數(shù)據(jù)都具有一定相關(guān)性,且在大數(shù)據(jù)集中訓練過的模型通常都具有很強的泛化能力,因此遷移學習可以將已經(jīng)學習到的特征提取能力通過設(shè)定預訓練權(quán)值的方式共享給新模型以加快其訓練速度。對于在相對較小的數(shù)據(jù)集上訓練的模型,遷移學習也能使其學習到預訓練模型在大數(shù)據(jù)集上訓練得到的特征提取能力,防止過擬合現(xiàn)象。為加快車型識別模型的訓練速度,本文使用遷移學習的方式將MobileNetV3 在ImageNet 數(shù)據(jù)集上訓練好的參數(shù)遷移到車型識別任務(wù)中。

      2.4 K-means 聚類方法重置先驗框

      在目標檢測算法中,通過預設(shè)不同大小的先驗框分別對每個網(wǎng)格中心進行預測,替換使用多尺度滑動窗口遍歷的方法,提升了模型的速度與精度,其中YOLOv4 的先驗框是通過對VOC 數(shù)據(jù)集的目標聚類所得。VOC 數(shù)據(jù)集上的目標尺寸差異很大,因此預設(shè)的先驗框差異也很大。在本文設(shè)定的車型識別任務(wù)中,車輛目標尺寸差異相對較小,因此通過K-means 聚類法[15]重設(shè)先驗框可得到更好的檢測效果。

      首先遍歷數(shù)據(jù)集中每個標簽的每個目標,隨機選取9個框作為聚類中心,劃分為9 個區(qū)域,計算其他所有框與這9 個聚類中心的距離。如果某個框距離某個聚類中心最近,則這個框就被劃分到該聚類中心所在區(qū)域,之后對9 個區(qū)域內(nèi)所有框取平均,重新作為聚類中心進行迭代,直至聚類中心不再改變?yōu)橹?。由于不同目標框的寬高各不相同,若使用目標框中心與聚類中心的歐式距離作為距離參數(shù)可能會導致更大誤差,因此選擇聚類中心與目標的IOU作為距離參數(shù),距離d表示為:

      3 實驗方法與結(jié)果分析

      3.1 實驗環(huán)境

      在Win10操作系統(tǒng),GPU 為GeForce RTX 2060的計算機上進行實驗。Cuda 版本為10.0,Cudnn 版本為7.4.1.5,使用Pytorch 框架進行模型的搭建與訓練。

      3.2 數(shù)據(jù)集

      使用BIT-vehicle 數(shù)據(jù)集,包含9 850 張車輛圖片,分為Bus、Microbus、Minivan、Sedan、SUV 和Truck 6 種車型[16],以7∶1∶2 的比例劃分訓練集、驗證集和測試集。K-Means 聚類得到的9 個聚類中心寬高分別為(70,140)、(91,201)、(136,172)、(136,251)、(147,194)、(158,219)、(172,264)、(222,231)、(242,282)。在訓練過程中,對送入模型的圖片進行數(shù)據(jù)增強,隨機對圖片進行翻轉(zhuǎn),對寬高進行扭曲,對亮度進行隨機調(diào)整,對圖片多余部分填充灰條,以增強模型的泛化能力。增強效果如圖5 所示。

      Fig.5 Vehicle image enhancement processing圖5 車輛圖像增強處理

      3.3 實驗結(jié)果與分析

      以精確率(Precision)、召回率(Recall)、平均精度均值(Mean Average Precision)作為評估模型識別效果的指標,以每秒傳輸幀數(shù)(Frames Per Second,F(xiàn)PS)作為評估算法速度的指標[17]。精確率與召回率的計算方法如式(19)、式(20)所示。式中TP(True Positives)表示目標被分為正類且分類正確的數(shù)量,TN(True Negatives)表示目標被分為負類且分類正確的數(shù)量,F(xiàn)P(False Positives)表示目標被分為正類但分類錯誤的數(shù)量,F(xiàn)T(False Negatives)表示目標被分為負類但分類錯誤的數(shù)量。

      采用不同置信度會得到不同的精確率和召回率,分別將Recall 和Precision 作為x、y軸,繪制P-R 曲線,該條曲線下覆蓋的面積即為此類AP(Average Precision)值。對所有分類的AP 值求平均,可得到該模型的mAP 值,計算方式為:

      共訓練100 個epoch,在前50 個epoch 凍結(jié)主干特征提取網(wǎng)絡(luò)的權(quán)重,學習率設(shè)置為0.001,在后50 個epoch 解凍,對全部網(wǎng)絡(luò)參數(shù)進行訓練,將學習率降為0.000 1。最后得到各個車型的P-R 曲線如圖6 所示,mAP 值為96.17%。

      為驗證本文方法的有效性,分別將數(shù)據(jù)集在YOLOv4和主干特提取網(wǎng)絡(luò)為ResNet-50 的Faster-RCNN 上進行訓練,訓練一個epoch 記錄一次損失值,各網(wǎng)絡(luò)的損失函數(shù)如圖7 所示。由損失函數(shù)的曲線可得,YOLOv4 和Faster-RCNN 的訓練誤差相較于MobileNetV3 收斂趨勢更快。總體來說,三者驗證誤差收斂速度均很快,但MobileNetV3-YOLOv4 在參數(shù)解凍前訓練一輪僅需約3min10s,解凍后需約4min50s;Faster-RCNN 參數(shù)解凍前訓練一輪需約19min,解凍后一輪需約28min;YOLOv4 參數(shù)解凍前訓練一輪需約9min,解凍后一輪需約21min25s。整體來看,MobileNetV3-YOLOv4 比其他兩種模型訓練速度更快。

      Fig.6 P-R curve圖6 P-R 曲線

      Fig.7 Loss function curve圖7 損失函數(shù)曲線

      由表2 可知,本文方法在精度達到96.17%的情況下,模型大小較原YOLOv4 降低了約80%,較Faster-RCNN 降低約50%,檢測速度較YOLOv4 提升了約26%,較Faster-RCNN 提升了約130%。

      Table 2 Test results of different models表2 不同模型測試結(jié)果

      網(wǎng)絡(luò)正確預測的圖像如圖8 所示,可以看到模型對不同車型均有不錯的檢測效果。

      Fig.8 Model prediction results圖8 模型預測結(jié)果

      4 結(jié)語

      本文將MobileNet 輕量級網(wǎng)絡(luò)引入YOLOv4 目標檢測網(wǎng)絡(luò)中,得到MobileNetV3-YOLOv4 模型,并使用K-means算法設(shè)置預選框提升了模型最終識別精度。通過BIT-vehicle 數(shù)據(jù)集下的車型識別實驗驗證MobileNetV3-YOLOv4網(wǎng)絡(luò)模型的有效性,實驗結(jié)果表明,本文算法較YOLOv4 整體識別速度提升了約26%,且模型參數(shù)量降為原來的1/5。但該數(shù)據(jù)集拍攝的車輛圖片角度較為單一,訓練后的模型對于側(cè)面拍攝的車輛圖片誤檢率較高。為進一步增強模型的泛化能力,使其對不同角度的車輛均有較好的識別效果,后續(xù)會嘗試將該模型運用于其他大型車輛數(shù)據(jù)集中進行訓練,并對其進行相應改進以保證識別精度。

      猜你喜歡
      特征提取卷積聚類
      基于3D-Winograd的快速卷積算法設(shè)計及FPGA實現(xiàn)
      從濾波器理解卷積
      電子制作(2019年11期)2019-07-04 00:34:38
      基于Daubechies(dbN)的飛行器音頻特征提取
      電子制作(2018年19期)2018-11-14 02:37:08
      基于傅里葉域卷積表示的目標跟蹤算法
      基于DBSACN聚類算法的XML文檔聚類
      電子測試(2017年15期)2017-12-18 07:19:27
      Bagging RCSP腦電特征提取算法
      基于改進的遺傳算法的模糊聚類算法
      一種層次初始的聚類個數(shù)自適應的聚類方法研究
      基于MED和循環(huán)域解調(diào)的多故障特征提取
      一種基于卷積神經(jīng)網(wǎng)絡(luò)的性別識別方法
      红河县| 海原县| 丹东市| 乌什县| 隆安县| 东丰县| 宁武县| 伊金霍洛旗| 育儿| 马尔康县| 茶陵县| 崇义县| 贵定县| 靖江市| 贞丰县| 大城县| 中山市| 明光市| 西和县| 巴彦淖尔市| 黎平县| 哈尔滨市| 始兴县| 辽中县| 株洲县| 寿光市| 达州市| 鸡西市| 阿瓦提县| 保定市| 常熟市| 辉县市| 靖远县| 西盟| 游戏| 吴忠市| 陕西省| 大荔县| 成都市| 会昌县| 丽水市|