国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于NCS2 神經(jīng)計算棒的車輛檢測方法

2021-03-18 08:04:14江梟宇李忠兵張軍豪
計算機工程 2021年3期
關(guān)鍵詞:中心點先驗卷積

江梟宇,李忠兵,張軍豪,彭 嬌,文 婷

(西南石油大學(xué)電氣信息學(xué)院,成都 610500)

0 概述

環(huán)境感知是無人駕駛汽車路徑規(guī)劃的基礎(chǔ),無人駕駛系統(tǒng)主要通過攝像頭采集、實時檢測和獲取周邊車輛信息,對周邊環(huán)境形成認(rèn)知模型,從而實現(xiàn)對環(huán)境的感知。在車輛檢測方面,傳統(tǒng)車輛檢測方法主要通過梯度直方圖(Histogram of Oriented Gradient,HOG)[1]與尺度不變特征變換(Scale-Invariant Feature Transform,SIFT)[2]提取特征信息,并使用支持向量機(Support Vector Machine,SVM)[3]、Adaboost[4]或Gradient Boosting[5]等自適應(yīng)分類器進(jìn)行識別,但該方法無法獲取高層語義信息。近年來,深度學(xué)習(xí)技術(shù)在車輛檢測領(lǐng)域得到廣泛應(yīng)用。與傳統(tǒng)車輛檢測方法不同,基于深度學(xué)習(xí)的車輛檢測方法不是人為設(shè)置特征,而是通過反向傳播[6]自適應(yīng)獲取特征,具有較好的高層語義信息描述能力,該方法主要包括One Stage 方法和Two Stage 方法。Two Stage 方法是通過預(yù)選框[7-8]確定位置,針對該位置進(jìn)行識別,例如R-CNN[9]方法、Fast R-CNN[10]方法和Faster R-CNN[7]方法等。One Stage方法是端到端一次性識別出位置與類別,例如YOLO[11-12]方法、SSD[13]方法等?;谏疃葘W(xué)習(xí)的車輛檢測方法具有較好的檢測精度,但是由于網(wǎng)絡(luò)模型復(fù)雜、參數(shù)量大以及計算周期長導(dǎo)致檢測實時性較差,因此其無法應(yīng)用于實際車輛檢測。

為解決上述問題,文獻(xiàn)[14]對YOLO 網(wǎng)絡(luò)進(jìn)行精簡后提出Tiny-Yolo 網(wǎng)絡(luò),但是該網(wǎng)絡(luò)部署在嵌入式設(shè)備上參數(shù)多,且計算時間較長。對此,文獻(xiàn)[15]采用神經(jīng)計算棒進(jìn)行加速計算。本文受上述文獻(xiàn)的啟發(fā),使用深度可分離卷積(Depthwise Separable Convolution,DSC)[16]替換傳統(tǒng)車輛檢測算法中Tiny-YOLO 網(wǎng)絡(luò)的標(biāo)準(zhǔn)卷積,將改進(jìn)的Tiny-YOLO網(wǎng)絡(luò)部署到配備NCS2 神經(jīng)計算棒的嵌入式設(shè)備上,并對目標(biāo)檢測準(zhǔn)確率與實時性進(jìn)行對比與分析。

1 YOLOV3 原理

在YOLO 系列網(wǎng)絡(luò)中,YOLOV2 是在YOLOV1的基礎(chǔ)上加入1×1 卷積并采用正則化方法防止過擬合,YOLOV3 是對YOLOV2 的改進(jìn),主要包括基礎(chǔ)網(wǎng)絡(luò)Darknet53 和全卷積層[17],其中Darknet53 由包含53 個卷積層的殘差結(jié)構(gòu)[18]組成,可降低網(wǎng)絡(luò)訓(xùn)練難度并提高計算效率。

將輸入的416 像素×416 像素圖像經(jīng)過Darknet53和全卷積層,得到輸出的13 像素×13 像素特征圖、26 像素×26 像素特征圖以及52 像素×52 像素特征圖。每個特征圖被分為多個網(wǎng)絡(luò)域,每個網(wǎng)絡(luò)域輸出尺寸為1×1×(B×(5+C)),其中,1×1 為最后一層卷積的大小,B為每個網(wǎng)絡(luò)域可預(yù)測的邊界框(以下稱為預(yù)測框)數(shù)量。預(yù)測框包括5+C個屬性,分別為每個預(yù)測框中心點x軸坐標(biāo)的偏移值tx、中心點y軸坐標(biāo)的偏移值ty、中心點寬度的偏移值tw、中心點高度的偏移值th、Objectness 分?jǐn)?shù)以及C類置信度。

由于YOLOV3 網(wǎng)絡(luò)訓(xùn)練會造成其梯度不穩(wěn)定,因此在MS COCO 數(shù)據(jù)集樣本中使用K-means 聚類算法[19]生成9 個不同尺度的先驗框,預(yù)測框基于這9 個先驗框進(jìn)行微調(diào)。設(shè)Px、Py為特征圖中先驗框中心點的預(yù)測坐標(biāo),Pw、Ph分別為特征圖中先驗框的預(yù)測寬度和高度,Gx、Gy為特征圖中先驗框中心點的真實坐標(biāo),Gw、Gh分別為特征圖中先驗框的真實寬度和高度,其對應(yīng)偏移值的計算公式如下:

先驗框高度與寬度的偏移值由真實值與預(yù)測值相除后縮放到對數(shù)空間得到。先驗框預(yù)測值和真實值之間的偏移值可用于修正先驗框和預(yù)測框的偏移關(guān)系,如圖1 所示。

圖1 先驗框和預(yù)測框的偏移關(guān)系Fig.1 The offset relationship between prior box and prediction box

圖1 中A 點為預(yù)測框中心點,B 點為預(yù)測中心點,其所在網(wǎng)絡(luò)域的坐標(biāo)為(Cx,Cy),該坐標(biāo)由Px和Py確定。預(yù)測框中心點的坐標(biāo)值bx、by,以及中心點寬度bw、中心點高度bh由tx、ty、tw和th計算得到,相關(guān)公式如下:

其中,σ為Sigmoid 函數(shù)。網(wǎng)絡(luò)域尺寸為1×1,使用Sigmoid 函數(shù)將tx和ty縮放到0~1 范圍內(nèi),可有效確保目標(biāo)中心處于網(wǎng)絡(luò)域中,防止其過度偏移。由于tw和th使用了對數(shù)空間,因此將其通過指數(shù)計算得到Gw/Pw或者Gh/Ph后再乘以真實的Pw或Ph可得到真實的寬度與高度。

Objectness 分?jǐn)?shù)的計算公式如下:

其中:CObject為網(wǎng)絡(luò)域中含有車輛的自信度;PObject為目標(biāo)是否存在的標(biāo)記值,當(dāng)存在目標(biāo)時,PObject=1,否則PObject=0;IOU 為預(yù)測框和原標(biāo)記框的面積交并比。

在原始YOLOV3 網(wǎng)絡(luò)中,當(dāng)B=3 且C=80 時,表示一個網(wǎng)絡(luò)域需要預(yù)測3 個邊界框且有80 個類別,通過設(shè)計多個先驗框可提高先驗框預(yù)測尺寸匹配的概率。

2 改進(jìn)的Tiny-YOLO

Tiny-YOLO 網(wǎng)絡(luò)刪除了原始YOLO 網(wǎng)絡(luò)中加深網(wǎng)絡(luò)的殘差結(jié)構(gòu),在節(jié)省內(nèi)存的同時加快了計算速度,且輸出的特征圖中網(wǎng)絡(luò)域個數(shù)只有13×13 和26×26 兩個尺寸,該網(wǎng)絡(luò)中的標(biāo)準(zhǔn)卷積會增大計算量,而MobileNet[20]的深度可分離卷積可大幅減少計算量。

2.1 深度可分離卷積

深度可分離卷積將標(biāo)準(zhǔn)卷積分解為深度卷積和逐點卷積,可減少計算復(fù)雜度,適用于嵌入式設(shè)備,其分解過程如圖2 所示。

圖2 深度可分離卷積分解過程Fig.2 Decomposition procedure of depthwise separable convolution

卷積計算時的輸入F∈RDf×Df×M,Df×Df為輸入特征圖的大小,M為輸入特征圖的通道數(shù);卷積K∈RDk×Dk×M×N,Dk×Dk為卷積尺寸,M和N分別為卷積的通道數(shù)和個數(shù);輸出G∈RDg×Dg×N,Dg×Dg為輸出特征圖的大小,N為輸出特征圖的通道數(shù)。標(biāo)準(zhǔn)卷積的計算公式如下:

標(biāo)準(zhǔn)卷積的計算量為:

深度卷積是在輸入特征圖的每個通道上應(yīng)用單個濾波器進(jìn)行濾波,其輸入F∈RDf×Df×M,卷積,計算公式如下:

深度卷積的計算量為:

與標(biāo)準(zhǔn)卷積相比,深度卷積能有效進(jìn)行維度變換,其除了過濾輸入通道,還可組合創(chuàng)建新功能。因此,通過1×1 卷積創(chuàng)建線性組合生成新特征,深度可分離卷積計算量為:

深度可分離卷積計算量與標(biāo)準(zhǔn)卷積計算量比值為:

由式(15)可見,當(dāng)N>1 且Dk不變時,深度可分離卷積計算量較標(biāo)準(zhǔn)卷積計算量明顯降低。

2.2 改進(jìn)的Tiny-YOLO 網(wǎng)絡(luò)結(jié)構(gòu)

為進(jìn)一步降低Tiny-YOLO 網(wǎng)絡(luò)的計算量,本文引入3×3 深度可分離卷積(S Conv)代替原始Tiny-YOLO網(wǎng)絡(luò)中9個3×3標(biāo)準(zhǔn)卷積(Conv),改進(jìn)前后的Tiny-YOLO網(wǎng)絡(luò)結(jié)構(gòu)及3×3 標(biāo)準(zhǔn)卷積的具體信息分別如圖3 和表1所示。為防止池化操作導(dǎo)致低級特征信息丟失,本文刪除原始Tiny-YOLO 網(wǎng)絡(luò)中所有的池化層(Maxpool),并采用全卷積層進(jìn)行連接。

圖3 改進(jìn)前后的Tiny-YOLO 網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Structure of the Tiny-YOLO network before and after improvement

表1 原始Tiny-YOLO 網(wǎng)絡(luò)中3×3 標(biāo)準(zhǔn)卷積信息Table 1 3 × 3 standard convolution information in original Tiny-YOLO network

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

本文采用MS COCO 數(shù)據(jù)集作為實驗數(shù)據(jù)集,選取車輛尺度不同且角度隨機的821 張圖像,圖像高度大于400 像素。將MS COCO 數(shù)據(jù)集中的700 張圖像作為訓(xùn)練集,將MS COCO 數(shù)據(jù)集中121 張圖像和VOC2007 數(shù)據(jù)集中895 張圖像作為測試集。

本文實驗采用Ubuntu 16.04 操作系統(tǒng)和Tensorflow 深度學(xué)習(xí)框架,下位機設(shè)備為樹莓派Raspberry 3b+與NCS2 神經(jīng)計算棒,上位機設(shè)備為E5 2680+GTX1066。

3.1 NCS2 神經(jīng)計算棒的部署

本文在改進(jìn)Tiny-YOLO 網(wǎng)絡(luò)的基礎(chǔ)上部署NCS2 神經(jīng)計算棒對網(wǎng)絡(luò)性能進(jìn)一步優(yōu)化,具體流程如圖4 所示。改進(jìn)的Tiny-YOLO 網(wǎng)絡(luò)的訓(xùn)練和測試圖像的輸入尺寸與原始Tiny-YOLO 網(wǎng)絡(luò)一致,通過深度可分離卷積網(wǎng)絡(luò)提取車輛特征信息,再采用兩個不同尺寸的特征圖進(jìn)行預(yù)測。在上位機設(shè)備上采用Tensorflow 深度學(xué)習(xí)框架對改進(jìn)的Tiny-YOLO 網(wǎng)絡(luò)進(jìn)行訓(xùn)練,獲得Tensorflow 模型后,用Open VINO模型優(yōu)化器將其轉(zhuǎn)換為NCS2 神經(jīng)計算棒支持的IR文件,并部署到具有NCS2 神經(jīng)計算棒的樹莓派Raspberry 3b+上。

圖4 NCS2 神經(jīng)計算棒的部署流程Fig.4 Deployment procedure of NCS2 neural computing stick

3.2 網(wǎng)絡(luò)改進(jìn)前后的計算量對比

在神經(jīng)網(wǎng)絡(luò)的計算中,由于乘法計算次數(shù)遠(yuǎn)大于加法計算次數(shù),而一次乘法的計算時間遠(yuǎn)大于一次加法的計算時間,因此加法的總計算時間可忽略。本文將一次乘法計算記為一次計算量,則原始Tiny-YOLO 網(wǎng)絡(luò)中9 層3×3 標(biāo)準(zhǔn)卷積在替換為深度可分離卷積前后各卷積層計算量與總計算量的對比情況如圖5 所示??梢钥闯?,標(biāo)準(zhǔn)卷積被深度可分離卷積替換后,各卷積層計算量與總計算量均大幅降低,且總計算量從2.74×109減少到0.39×109,計算量降幅約為86%。

圖5 卷積替換前后各卷積層計算量與總計算量的對比Fig.5 Comparison of the calculation amount of each convolution layer and the total calculation amount before and after convolution replacement

3.3 網(wǎng)絡(luò)改進(jìn)前后準(zhǔn)確率及實時性對比

本文使用平均準(zhǔn)確率(Mean Average Precision,MAP)對原始Tiny-YOLO 網(wǎng)絡(luò)、改進(jìn)Tiny-YOLO 網(wǎng)絡(luò)以及NCS2 神經(jīng)計算棒部署下改進(jìn)Tiny-YOLO 網(wǎng)絡(luò)的檢測準(zhǔn)確率進(jìn)行評價,并以每秒傳輸幀數(shù)(Frames Per Second,F(xiàn)PS)作為檢測實時性的評價指標(biāo)。MAP 的計算公式為:

其中,P為準(zhǔn)確率,R為召回率,P(R)為不同召回率上的平均準(zhǔn)確率。

表2 為采用改進(jìn)Tiny-YOLO 網(wǎng)絡(luò)的方法(以下稱為改進(jìn)Tiny-YOLO)、原始Tiny-YOLO 網(wǎng)絡(luò)的方法(以下稱為原始Tiny-YOLO)以及NCS2 神經(jīng)計算棒部署下改進(jìn)Tiny-YOLO 網(wǎng)絡(luò)的方法(以下稱為改進(jìn)Tiny-YOLO+NCS2)得到的實驗結(jié)果。可以看出:改進(jìn)Tiny-YOLO 在MS COCO 數(shù)據(jù)集和VOC2007 數(shù)據(jù)集上的MAP 值比原始Tiny-YOLO 分別提高0.011 2 和0.002 3,改進(jìn)Tiny-YOLO 的FPS 值為原始Tiny-YOLO的2 倍;改進(jìn)Tiny-YOLO+NCS2 的MAP 值略低于其他兩種方法,但其FPS 值達(dá)到12,遠(yuǎn)高于其他兩種方法。由上述結(jié)果可知,改進(jìn)Tiny-YOLO+NCS2 在犧牲少許檢測精度的情況下,其實時性較其他兩種方法大幅提高,更適合部署在無人駕駛系統(tǒng)中。

表2 3 種算法的實驗結(jié)果Table 2 Experimental results of three algorithms

3.4 不同場景的效果對比

將改進(jìn)Tiny-YOLO與原始Tiny-YOLO在VOC2007數(shù)據(jù)集上的檢測效果進(jìn)行對比,結(jié)果如圖6 所示,其中每組左、右兩側(cè)圖像分別由原始Tiny-YOLO 和改進(jìn)Tiny-YOLO 檢測得到??梢钥闯觯寒?dāng)車輛尺寸不同時,原始Tiny-YOLO 較改進(jìn)Tiny-YOLO 更易丟失小目標(biāo)信息;當(dāng)車輛被遮擋時,原始Tiny-YOLO 無法獲取被遮擋的車輛信息,改進(jìn)Tiny-YOLO 可準(zhǔn)確檢測到被遮擋的車輛信息;在惡劣環(huán)境與夜間環(huán)境下,原始Tiny-YOLO較改進(jìn)Tiny-YOLO 易受環(huán)境和光線干擾。上述結(jié)果表明,改進(jìn)Tiny-YOLO 的車輛檢測效果要優(yōu)于原始Tiny-YOLO。

圖6 2 種方法在不同場景下的檢測效果對比Fig.6 Comparison of detection effect of two methods in different scenes

4 結(jié)束語

本文提出一種結(jié)合改進(jìn)Tiny-YOLO 網(wǎng)絡(luò)與NCS2 神經(jīng)計算棒的車輛檢測方法。采用深度可分離卷積代替原始Tiny-YOLO 網(wǎng)絡(luò)標(biāo)準(zhǔn)卷積,使用NCS2 神經(jīng)計算棒為低性能嵌入式設(shè)備提供深度學(xué)習(xí)加速功能。實驗結(jié)果表明,采用該方法檢測每秒傳輸幀數(shù)達(dá)到12,實時性較原始Tiny-YOLO 網(wǎng)絡(luò)大幅提高。后續(xù)將對改進(jìn)Tiny-YOLO 網(wǎng)絡(luò)進(jìn)行量化壓縮提高計算速度,以應(yīng)用于STM32 等常用嵌入式設(shè)備。

猜你喜歡
中心點先驗卷積
基于3D-Winograd的快速卷積算法設(shè)計及FPGA實現(xiàn)
Scratch 3.9更新了什么?
電腦報(2020年12期)2020-06-30 19:56:42
基于無噪圖像塊先驗的MRI低秩分解去噪算法研究
如何設(shè)置造型中心點?
電腦報(2019年4期)2019-09-10 07:22:44
從濾波器理解卷積
電子制作(2019年11期)2019-07-04 00:34:38
基于傅里葉域卷積表示的目標(biāo)跟蹤算法
基于自適應(yīng)塊組割先驗的噪聲圖像超分辨率重建
漢字藝術(shù)結(jié)構(gòu)解析(二)中心點處筆畫應(yīng)緊奏
基于平滑先驗法的被動聲信號趨勢項消除
尋找視覺中心點
大眾攝影(2015年9期)2015-09-06 17:05:41
沁阳市| 宁晋县| 宜城市| 咸丰县| 麻阳| 循化| 青河县| 台北市| 烟台市| 霍林郭勒市| 新疆| 吕梁市| 江城| 海伦市| 蕲春县| 南宁市| 平顶山市| 桂林市| 汝阳县| 衢州市| 灌云县| 林西县| 乃东县| 阳谷县| 涟水县| 晴隆县| 南丰县| 朝阳县| 英超| 清苑县| 自贡市| 东辽县| 嘉黎县| 卢湾区| 丹寨县| 搜索| 平阴县| 旺苍县| 恩平市| 平邑县| 青州市|