• 
    

    
    

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

      基于模型剪枝和半精度加速改進(jìn)YOLOv3-tiny算法的實(shí)時(shí)司機(jī)違章行為檢測(cè)①

      2020-04-24 02:23:50姚巍巍
      關(guān)鍵詞:剪枝嵌入式卷積

      姚巍巍,張 潔

      (西南交通大學(xué) 機(jī)械工程學(xué)院,成都 610031)

      隨著經(jīng)濟(jì)高速全面發(fā)展,我國(guó)對(duì)交通運(yùn)輸?shù)男枨笤絹?lái)越大,軌道交通由于其便捷和運(yùn)量大的特性,在我國(guó)交通運(yùn)輸中的地位愈為重要.自2011年“四橫四縱”高速鐵路干線陸續(xù)建成通車(chē)以來(lái),我國(guó)鐵路運(yùn)輸?shù)乃俣群瓦\(yùn)輸總量實(shí)現(xiàn)了質(zhì)的突破.鐵路運(yùn)輸生產(chǎn)力的高速發(fā)展,對(duì)鐵路行車(chē)的安全保障提出了更高的要求.確保機(jī)車(chē)的平穩(wěn)運(yùn)行已成為鐵路運(yùn)輸部門(mén)的重中之重,提高鐵路機(jī)務(wù)部門(mén)對(duì)機(jī)車(chē)運(yùn)行安全的監(jiān)控水平也成為當(dāng)務(wù)之急.

      鐵路安全是一個(gè)復(fù)雜的系統(tǒng)工程,由鐵路運(yùn)輸生產(chǎn)人員、鐵路設(shè)備和鐵路環(huán)境這3 部分所組成.隨著科技的發(fā)展,車(chē)輛設(shè)備和鐵路環(huán)境都有了較大的發(fā)展進(jìn)步,鐵路運(yùn)輸生產(chǎn)人員逐漸成為提高鐵路行車(chē)安全的重要因素.因此對(duì)系統(tǒng)中的人加強(qiáng)監(jiān)管就顯得極為重要.

      司機(jī)行為識(shí)別是目標(biāo)檢測(cè)的一個(gè)重要的應(yīng)用場(chǎng)景.在行車(chē)途中,司機(jī)的駕駛行為是否符合安全規(guī)范直接關(guān)系到全車(chē)人的人身安全,所以對(duì)司機(jī)進(jìn)行視頻監(jiān)控是一項(xiàng)重要的安防措施.現(xiàn)有的行為分析以人工挑選分析LKJ 中保存的視頻數(shù)據(jù)為主,抽樣不均勻、分析質(zhì)量不高等問(wèn)題突出,且只用于司機(jī)的績(jī)效評(píng)定.實(shí)現(xiàn)實(shí)時(shí)自動(dòng)分析以及預(yù)判的安全駕駛監(jiān)督系統(tǒng)已經(jīng)成為鐵路行業(yè)的迫切需求.

      安全駕駛監(jiān)督系統(tǒng)離不開(kāi)目標(biāo)檢測(cè)技術(shù)的發(fā)展.自2012年深度學(xué)習(xí)問(wèn)世以來(lái),其在圖像識(shí)別中表現(xiàn)出了極佳的效果,并逐漸取代了傳統(tǒng)特征機(jī)器學(xué)習(xí)的地位.在目標(biāo)檢測(cè)領(lǐng)域,一批高精度的算法不斷刷新了識(shí)別精度的上線,并逐漸為工業(yè)界所使用.然而,當(dāng)前國(guó)內(nèi)外大多數(shù)智能司機(jī)行為識(shí)別集中于汽車(chē)行業(yè),由于汽車(chē)內(nèi)部狹小,駕駛員人臉和手部等有明確的特征,可以達(dá)到實(shí)時(shí)行為識(shí)別的目標(biāo)[1-4].而對(duì)于機(jī)車(chē)來(lái)說(shuō),現(xiàn)有的系統(tǒng)一般搭載于昂貴的遠(yuǎn)程大型服務(wù)器上,只能在列車(chē)運(yùn)行結(jié)束后收集運(yùn)行保存的監(jiān)控視頻檢測(cè),無(wú)法實(shí)現(xiàn)實(shí)時(shí)和隨車(chē)檢測(cè),只能進(jìn)行司機(jī)非安全行為發(fā)生后的追查和定責(zé).

      因此,采用一種低成本,可隨車(chē)一起運(yùn)行的嵌入式設(shè)備,在其上部署可以實(shí)時(shí)運(yùn)行的監(jiān)控系統(tǒng),以便實(shí)時(shí)傳回違章信息便成為一項(xiàng)極有意義的工作.為解決實(shí)時(shí)、高精度檢測(cè)司機(jī)安全駕駛監(jiān)督的問(wèn)題,本文選擇玩手機(jī)這種較為難以肉眼識(shí)別的行為為例,對(duì)目標(biāo)檢測(cè)中檢測(cè)速度較快的YOLOv3-tiny[5,6]算法進(jìn)行了加速,最終將其成功的部署在了計(jì)算能力較低的嵌入式設(shè)備上部署,實(shí)現(xiàn)了較高精度下實(shí)時(shí)運(yùn)行的目的.

      1 實(shí)驗(yàn)數(shù)據(jù)

      1.1 實(shí)驗(yàn)數(shù)據(jù)采集

      為能夠確保數(shù)據(jù)的多樣性,本文采集多個(gè)鐵路局機(jī)務(wù)段貨車(chē)及客車(chē)的駕駛室原始視頻數(shù)據(jù),標(biāo)記其中出現(xiàn)手機(jī)的圖片共5491 張.標(biāo)注,從中隨機(jī)選擇4919張圖片(含5890 個(gè)手機(jī)對(duì)象)作為訓(xùn)練集,剩余的572張圖片(含892 個(gè)手機(jī)對(duì)象)作為驗(yàn)證集,如表1 所示.

      表1 司機(jī)駕駛室圖片數(shù)據(jù)集

      1.2 數(shù)據(jù)增強(qiáng)與標(biāo)注

      為了對(duì)抗過(guò)擬合、提高樣本多樣性和圖片質(zhì)量,在數(shù)據(jù)集較少的情況下對(duì)數(shù)據(jù)進(jìn)行增強(qiáng),采用雙邊濾波、隨機(jī)水平鏡像翻轉(zhuǎn)、隨機(jī)亮度改變和0°~10°隨機(jī)角度旋轉(zhuǎn)對(duì)數(shù)據(jù)集進(jìn)行擴(kuò)增,采用LabelImg 進(jìn)行人工畫(huà)框標(biāo)注,只標(biāo)注被遮擋面積比小于0.5 的手機(jī)圖片以確保精確性,如圖1 所示.

      圖1 增強(qiáng)和標(biāo)注數(shù)據(jù)集

      2 加速目標(biāo)檢測(cè)網(wǎng)絡(luò)

      2.1 YOLO算法原理

      為實(shí)現(xiàn)在線實(shí)時(shí)高精度檢測(cè),本文選取精度較高同時(shí)推理速度較快的YOLOv3 作為基礎(chǔ)網(wǎng)絡(luò).YOLOv3是一種one-stage(單階段)的目標(biāo)檢測(cè)深度學(xué)習(xí)算法,其集精確的和推理的快速性于一身,自其提出至今,在工業(yè)界已有了廣泛的應(yīng)用[7-10].YOLOv3 在Coco 和Pascal-voc 等開(kāi)源數(shù)據(jù)集上均有不俗的表現(xiàn),其速度和精準(zhǔn)度在相同輸入大小的情況下均優(yōu)于SSD[11]、faster-RCNN[12]等主流算法,尤其是YOLOv3-tiny 網(wǎng)絡(luò)以其非??斓臋z測(cè)速度、較少的參數(shù)總量在嵌入式領(lǐng)域和邊緣計(jì)算受到親睞.YOLOv3 主要包含以下3 種網(wǎng)絡(luò),如表2 所示.

      表2 YOLO 網(wǎng)絡(luò)對(duì)比

      表2 中精度一欄是在Coco 測(cè)試數(shù)據(jù)集上得到的精度,檢測(cè)速度一欄是在嵌入式設(shè)備jetson Nano 中測(cè)試得到.可見(jiàn)雖然YOLOv3 和YOLOv3-spp 網(wǎng)絡(luò)的精度較高,但由于其復(fù)雜的網(wǎng)絡(luò)在計(jì)算量受限的嵌入式設(shè)備很難達(dá)成實(shí)時(shí)運(yùn)行的目標(biāo).決定網(wǎng)絡(luò)運(yùn)行消耗的時(shí)間由模型在每一層計(jì)算所耗時(shí)間和前后網(wǎng)絡(luò)層參數(shù)傳遞所耗時(shí)間決定,YOLOv3 和YOLOv3-spp 較深的網(wǎng)絡(luò)層數(shù)使得運(yùn)行需要在完成上一層網(wǎng)絡(luò)推理之后才能傳入到下一層網(wǎng)絡(luò)進(jìn)行推理,對(duì)于嵌入式這種并行處理能力差的設(shè)備來(lái)說(shuō),如非直接縮減網(wǎng)絡(luò)的層數(shù),則僅對(duì)每層的參數(shù)進(jìn)行半精度優(yōu)化和剪枝也無(wú)法縮減網(wǎng)絡(luò)在前后傳遞中浪費(fèi)的時(shí)間.而YOLOv3-tiny 的網(wǎng)絡(luò)層數(shù)較少,主要運(yùn)行時(shí)間消耗在網(wǎng)絡(luò)每一層計(jì)算中,這就為優(yōu)化提夠了條件.盡管精度僅為YOLOv3 的一半,但由于文中針對(duì)的是單一司機(jī)違章行為目標(biāo)的目標(biāo)檢測(cè)而非coco 數(shù)據(jù)集中80 個(gè)類(lèi)別的目標(biāo)檢測(cè)任務(wù),YOLOv3-tiny 針對(duì)此類(lèi)任務(wù)仍有較好的性能和向下優(yōu)化的空間,如下文中的實(shí)驗(yàn)所證.此外,YOLOv3-tiny在占用硬盤(pán)空間和運(yùn)行內(nèi)存均處于優(yōu)勢(shì).因此,我們選用YOLOv3-tiny算法作為實(shí)現(xiàn)實(shí)時(shí)違章檢測(cè)的主干網(wǎng)絡(luò).

      YOLOv3-tiny 網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示.與雙階段目標(biāo)檢測(cè)算法,如faster-RCNN 等網(wǎng)絡(luò)不同的是,在輸入圖片經(jīng)過(guò)主體網(wǎng)絡(luò)推理后,YOLOv3 網(wǎng)絡(luò)直接通過(guò)3 個(gè)不同尺度(13×13,26×26,52×52)的輸出通道直接得到包含目標(biāo)框坐標(biāo)、目標(biāo)置信度和目標(biāo)框內(nèi)物體分類(lèi)在內(nèi)的特征圖,最后經(jīng)過(guò)非極大值抑制算法(nms)去掉重復(fù)目標(biāo)后得到最終輸出結(jié)果.而YOLOv3-tiny 為了節(jié)省計(jì)算量,只在兩個(gè)尺度上輸出特征圖,分別為[B,3×(4+1+C),13,13]和[B,3×(4+1+C),26,26],其中B 為每次載入圖片的數(shù)量,3×(4+1+C)為輸出特征圖的通道數(shù),C 為每一類(lèi)的概率,3×(4+1+C)代表特征圖上每個(gè)1×1 的點(diǎn)對(duì)三個(gè)anchor(錨定框)進(jìn)行目標(biāo)框的回歸,以此增強(qiáng)對(duì)不同大小物體的識(shí)別,如圖3 所示.

      2.2 模型剪枝

      深度學(xué)習(xí)通過(guò)眾多的參數(shù)計(jì)算推理得到預(yù)測(cè)結(jié)果,其中有相當(dāng)多的參數(shù)都是冗余且對(duì)預(yù)測(cè)結(jié)果無(wú)影響的.當(dāng)模型訓(xùn)練時(shí),原始網(wǎng)絡(luò)需要一個(gè)足夠大的參數(shù)空間以充分的尋找最優(yōu)解.但當(dāng)模型訓(xùn)練完之后,我們只需要保留最優(yōu)的參數(shù)也一樣可以達(dá)到和原參數(shù)空間一樣的效果.我們可以把剪枝視為在原有模型構(gòu)成的參數(shù)空間里中搜尋了一條最有價(jià)值的計(jì)算路徑[13],這樣模型的精度不會(huì)降低,而使模型運(yùn)行的更有效率,這就是進(jìn)行模型剪枝的意義.本文采用模型剪枝的方法對(duì)訓(xùn)練后模型進(jìn)行保持原精度情況下計(jì)算量和參數(shù)總量的縮減.模型剪枝可以根據(jù)細(xì)粒度和粗粒度分為權(quán)重剪枝和通道剪枝兩類(lèi),通道剪枝方法由于其獨(dú)有的簡(jiǎn)單、可行性、總計(jì)算量較小和不需要特殊的硬件庫(kù)的優(yōu)勢(shì),在近幾年得到了相當(dāng)迅速的發(fā)展,并已實(shí)際應(yīng)用于一些工程中[14-16].通道剪枝本質(zhì)上從通道這一層面上對(duì)卷積層中的卷積核的重要性進(jìn)行區(qū)分,去除對(duì)網(wǎng)絡(luò)輸出結(jié)果影響小的卷積核,以此實(shí)現(xiàn)計(jì)算總量和模型體積的縮小.

      圖2 YOLOv3-tiny 網(wǎng)絡(luò)

      我們采用了對(duì)Batch Normalization 層(批標(biāo)準(zhǔn)化層,下稱為BN 層)進(jìn)行L1 懲罰的方式進(jìn)行通道剪枝.在神經(jīng)網(wǎng)絡(luò)的計(jì)算中,BN 層實(shí)際上進(jìn)行了兩步運(yùn)算,如式(1)所示:(1)對(duì)輸入特征圖所有參數(shù)規(guī)整到均值為0,方差為1 的正態(tài)分布范圍內(nèi).(2)讓每個(gè)規(guī)整后所有參數(shù)在訓(xùn)練過(guò)程中學(xué)習(xí)到對(duì)應(yīng)的兩個(gè)調(diào)節(jié)因子γ 和β,對(duì)標(biāo)準(zhǔn)化后的值進(jìn)行微調(diào),使之更適于梯度下降.

      其中,ai代表輸入的每個(gè)通道的特征圖,為Bl×Hl×Wl;u,σi分別是均值和方差;γi和βi是每個(gè)通道特征圖所對(duì)應(yīng)的兩個(gè)調(diào)節(jié)因子.實(shí)際上,γ 可以視為BN 層特征圖每一通道的權(quán)重,如果當(dāng)前輸入的通道Ci對(duì)應(yīng)的權(quán)重γi出現(xiàn)γi=0 或γi≈0 的情況,那么就會(huì)有γi×τ=0,特征圖對(duì)應(yīng)的輸出通道即全為常數(shù)0,不會(huì)再對(duì)接下來(lái)的運(yùn)算產(chǎn)生影響.因此,我們可以利用BN 層中的縮放因子γ 衡量特征圖每個(gè)通道的重要性,當(dāng)γi=0 或者γi≈0 時(shí),即可剪去γi對(duì)應(yīng)特征圖的通道,最終剪去γ=0 對(duì)應(yīng)的上下卷積層的卷積核,以此完成減少計(jì)算量和縮小模型體積的任務(wù),如圖4 所示.

      圖3 YOLO 檢測(cè)過(guò)程圖

      圖4 BN 層剪枝示意圖

      然而,一般訓(xùn)練之后神經(jīng)網(wǎng)絡(luò)中的γ 值通常呈正態(tài)分布,并不會(huì)有很多參數(shù)等于或者靠近0.因此,我們需要在訓(xùn)練網(wǎng)絡(luò)的同時(shí)減小γ,這被稱之為稀疏化訓(xùn)練.通常使用L1 次梯度法稀疏每個(gè)BN 層的γ 值,如式(2)所示.

      其中,u 代表?yè)p失函數(shù)的學(xué)習(xí)率;u ?l代表訓(xùn)練中原始損失函數(shù)的梯度,它是從損失的反向傳播中得出的;η 是超參數(shù),決定了L1 次梯度法的每次梯度下降大小,根據(jù)經(jīng)驗(yàn),η 應(yīng)在1e-4~1e-5 之間取得[15];sgn(γl- u?l)決定了L1 次梯度法的損失方向.

      2.3 TesnorRT 模型簡(jiǎn)化及半精度加速

      TensoRT 是NVIDIA 為深度學(xué)習(xí)的高速推理需求所推出的一個(gè)高性能深度學(xué)習(xí)推理平臺(tái).它包括深度學(xué)習(xí)推理優(yōu)化器和運(yùn)行器,可為深度學(xué)習(xí)推理應(yīng)用提供INT8 和FP16(半精度)優(yōu)化,例如視頻、語(yǔ)音識(shí)別、推薦系統(tǒng)和自然語(yǔ)言處理等.在深度學(xué)習(xí)的部署中,降低精度推斷可顯著減少應(yīng)用程序延遲,這是許多實(shí)時(shí)服務(wù),自動(dòng)和嵌入式應(yīng)用程序的要求.

      在搭建TensorRT 加速引擎時(shí),需要將原模型轉(zhuǎn)化為T(mén)ensorRT 可以讀取的形式,如caffe、onnx 的模型結(jié)構(gòu).TensorRT 自帶的接口NvcaffeParser 提供了Caffe 結(jié)構(gòu)模型中卷積層、激活層和池化層等常見(jiàn)層的接口,而YOLOv3-tiny 中的Upsample 層(上采樣層)及YOLO 層(檢測(cè)層)需要自行編寫(xiě)后自定義插入.Upsample層實(shí)現(xiàn)了數(shù)據(jù)圖H,W 方向上的調(diào)整,放大輸入的特征圖以適應(yīng)聯(lián)結(jié)、矩陣加法等操作,常見(jiàn)的Upsample 方法有線性插值、最近鄰值等.YOLO 層實(shí)現(xiàn)了從特征圖中挑選置信度(confidence)大于預(yù)設(shè)值的目標(biāo)輸出的目的,并將挑選出的特征與錨定框大小計(jì)算回歸出目標(biāo)框真實(shí)位置和長(zhǎng)寬值.本文將最近鄰值的Upsample層和YOLO 層添加到了TensorRT 加速引擎中.

      TensorRT 通過(guò)實(shí)現(xiàn)模型簡(jiǎn)化和半精度對(duì)模型進(jìn)行加速,其中模型簡(jiǎn)化通過(guò)整合卷積層、激活層和BN 層為CBR 層實(shí)現(xiàn);半精度加速通過(guò)在平臺(tái)支持的情況下,將數(shù)據(jù)精度需求從32 位float (浮點(diǎn)數(shù))降低為16 位float,可極大的提升計(jì)算效率.

      2.4 總體流程

      我們提出的算法總體流程如下:(1)首先進(jìn)行稀疏訓(xùn)練,在訓(xùn)練模型的同時(shí)使BN 層γ 因子盡可能地收縮;(2)當(dāng)稀疏訓(xùn)練完成時(shí),執(zhí)行修剪以移除冗余參數(shù);(3)微調(diào)修剪后的模型以獲得最終模型;(4)搭建TensorRT 推理加速引擎,編寫(xiě)自定義層;(5)將模型讀入TensorRT 加速引擎中,部署在嵌入式設(shè)備上.訓(xùn)練流程圖如圖5 所示.

      圖5 訓(xùn)練部署流程

      3 實(shí)驗(yàn)結(jié)果與分析

      本文使用了Pytorch 框架完成YOLO算法的搭建,主要訓(xùn)練硬件設(shè)備為:①處理器:Intel 9400f;②GPU 顯卡:RTX2070 8G.操作系統(tǒng)為Ubuntu16.04,python 環(huán)境為python3.6.8.部署嵌入式平臺(tái)為較為廉價(jià)、適于工業(yè)部署的NVIDIA Jetson Nano,如圖6 所示.Jetson Nano 是NVIDIA 公司2019年新推出的嵌入式高性能開(kāi)發(fā)板,其采用NVIDIA Maxwell?架構(gòu),配備128 個(gè)CUDA 核心,內(nèi)存為4 GB,搭載的運(yùn)行環(huán)境為JetPack 4.2.

      圖6 Jetson Nano

      為提高顯存利用率,增加batch size(批大小),采用了NVIDIA 的apex 技術(shù)進(jìn)行混合精度訓(xùn)練.選取準(zhǔn)確率P (precision)、召回率R (recall)、平均精確率均值mAP (mean Average Precision)、F1 值、檢測(cè)速度和參數(shù)總量作為評(píng)價(jià)準(zhǔn)則.其中,precision 指的是被正確檢測(cè)出的物體占總被檢測(cè)出的物體的比例,recall 指被正確檢測(cè)出的物體占驗(yàn)證集中所有物體的比例.precision和recall 一般情況下是成反比關(guān)系,即recall 越大,precision 越小,反之同理.而mAP 為目標(biāo)檢測(cè)任務(wù)中最重要的指標(biāo),決定了檢測(cè)的效果.mAP 一般通過(guò)改變檢測(cè)時(shí)置信度(confidence)閾值得到Precision-recall 曲線,計(jì)算Precision-recall 曲線的面積得到mAP 值.為了在計(jì)算機(jī)中更快速精確的求mAP 的大小,通常使用插值近似的方法,如式(3)所示.

      本文同時(shí)以正常訓(xùn)練模式和稀疏化訓(xùn)練模式訓(xùn)練了兩個(gè)YOLOv3-tiny 模型,設(shè)置稀疏訓(xùn)練超參數(shù)η=1e-4 進(jìn)行訓(xùn)練.表3 展示了YOLOv3-tiny 網(wǎng)絡(luò)稀疏化訓(xùn)練后的各項(xiàng)指標(biāo),可見(jiàn)稀疏化訓(xùn)練后的各項(xiàng)指標(biāo)均處于相當(dāng)優(yōu)秀的水平,0.965 的mAP 保證了高精度檢測(cè)的目的,甚至要高于正常訓(xùn)練,這是因?yàn)橄∈杌?xùn)練也可以視為進(jìn)行了L1 正則化,降低了模型對(duì)訓(xùn)練數(shù)據(jù)的過(guò)擬合.圖7 顯現(xiàn)了稀疏化訓(xùn)練后γ 系數(shù)的稀疏化水平.YOLOv3-tiny 網(wǎng)絡(luò)共有11 層BN 層,這11 層BN 層共有4512 個(gè)γ 系數(shù),40%的γ 參數(shù)的絕對(duì)值下降到0 值附近,滿足進(jìn)行剪枝的條件.隨后進(jìn)行剪枝并進(jìn)行微調(diào).

      表3 YOLOv3-tiny 訓(xùn)練結(jié)果

      圖7 稀疏化訓(xùn)練后全γ 系數(shù)分布圖

      表4 展示了剪枝后各個(gè)卷積層變化情況,剪枝后的模型各卷積層通道大小由之前的2 的n 次方數(shù)變?yōu)椴辉儆幸?guī)律可循,這便是非結(jié)構(gòu)剪枝在現(xiàn)有模型中搜尋了一條最為有效的計(jì)算路徑的結(jié)果.

      表4 剪枝后的模型各卷積層大小

      表5 展示了剪枝后并微調(diào)后改進(jìn)模型(下文稱為Prune-YOLOv3-tiny)在Jetson Nano 上的表現(xiàn).可見(jiàn)在微調(diào)后,Prune-YOLOv3-tiny 模型的精度略有上升,而在檢測(cè)速度相較原模型提高了76.5%,計(jì)算總量降低為原模型的43.2%,在參數(shù)總量上降低為原模型的31.4%.盡管只有40%的γ 參數(shù)被剪去,模型參數(shù)總量依然下降很大.由表4 可見(jiàn),Conv1、Conv2、Conv3 等參數(shù)較少的卷積層被剪去的較少,而如Conv6、Conv7、Conv8 等參數(shù)較多的卷積層剪去的參數(shù)較多,參數(shù)最多的Conv7 有高于一半的參數(shù)被剪去,這是剪枝后模型參數(shù)總量要更少的原因.而對(duì)于計(jì)算復(fù)雜度,參數(shù)最多的Conv7 層并非是計(jì)算量最大的層,考慮計(jì)算量需要綜合每層輸入輸出的特征圖大小.對(duì)YOLOv3-tiny 模型來(lái)說(shuō),Conv6 是模型計(jì)算量最大的層并沒(méi)有如Conv7 一樣被剪去一半以上,這是計(jì)算總量的縮小程度低于參數(shù)總量的原因.

      表5 原網(wǎng)絡(luò)與改進(jìn)網(wǎng)絡(luò)對(duì)比

      隨后,將原YOLOv3-tiny 模型加載到搭建好的TensorRT 加速引擎中以生成半精度加速的模型.表6展現(xiàn)了YOLOv3-tiny 模型在TensorRT 加速引擎中的效果.相較于原模型,TensorRT 加速的半精度模型的精度沒(méi)有變化,檢測(cè)速度提高52.9%,而參數(shù)總量沒(méi)有明顯下降.

      表6 YOLOv3-tiny 在不同推理平臺(tái)上對(duì)比

      最后,我們將Prune-YOLOv3-tiny 模型加載到搭建好的TensorRT 加速引擎中完成最終的加速模型(下文稱為最終模型),表7 展現(xiàn)了最終模型的效果評(píng)估.經(jīng)過(guò)模型剪枝和半精度加速的最終模型相較于原模型精度沒(méi)有下降,檢測(cè)速度提高了117.6%,而在參數(shù)總量上降低為原模型的39.5%.圖8 展示了最終模型的識(shí)別效果.

      表7 原模型與最終加速模型對(duì)比

      圖8 加速模型檢測(cè)效果

      4 結(jié)語(yǔ)

      在這項(xiàng)工作中,我們成功的對(duì)目標(biāo)檢測(cè)中經(jīng)典的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)YOLOv3-tiny 進(jìn)行了通道剪枝和半精度加速,在精度不變的情況下減少了改進(jìn)后神經(jīng)網(wǎng)絡(luò)的計(jì)算總量和參數(shù)總數(shù).我們?cè)谟?jì)算能力較低的嵌入式設(shè)備上成功部署了剪枝后的模型.所提出的模型在嵌入式設(shè)備可以達(dá)到37 幀每秒的檢測(cè)速度,與現(xiàn)有模型相比,我們的模型除了需要在稀疏化訓(xùn)練中增加一個(gè)η 超參數(shù)外,在速度和體積上均占有優(yōu)勢(shì),而精確率、召回率和平均精確率均值不變,實(shí)現(xiàn)了高精度下實(shí)時(shí)檢測(cè)的目的.

      猜你喜歡
      剪枝嵌入式卷積
      人到晚年宜“剪枝”
      基于3D-Winograd的快速卷積算法設(shè)計(jì)及FPGA實(shí)現(xiàn)
      基于YOLOv4-Tiny模型剪枝算法
      從濾波器理解卷積
      電子制作(2019年11期)2019-07-04 00:34:38
      基于傅里葉域卷積表示的目標(biāo)跟蹤算法
      搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
      剪枝
      嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
      一種基于卷積神經(jīng)網(wǎng)絡(luò)的性別識(shí)別方法
      Altera加入嵌入式視覺(jué)聯(lián)盟
      鄂托克前旗| 周口市| 彝良县| 林周县| 修文县| 鄱阳县| 朝阳市| 临泉县| 铅山县| 阿拉善右旗| 岢岚县| 新乐市| 肥乡县| 台中市| 高要市| 株洲县| 中牟县| 松阳县| 珠海市| 奉新县| 绥中县| 龙门县| 昌江| 永州市| 象山县| 搜索| 西安市| 兰考县| 曲沃县| 美姑县| 星子县| 安西县| 石首市| 西充县| 绥中县| 宝丰县| 始兴县| 阿克| 莱州市| 合肥市| 固始县|