安旭陽(yáng), 蘇治寶, 杜志岐, 李兆冬
(中國(guó)北方車輛研究所, 北京 100072)
地面無(wú)人平臺(tái)在實(shí)際作戰(zhàn)環(huán)境中,要求能夠檢測(cè)人員或裝甲車輛目標(biāo)信息。傳統(tǒng)目標(biāo)檢測(cè)算法主要以手工設(shè)計(jì)的特征描述子對(duì)目標(biāo)外觀建模,利用SVM對(duì)候選目標(biāo)分類,常用的特征描述子有SIFT[1]、HOG[2]和LBP[3]。與傳統(tǒng)算法相比,深度學(xué)習(xí)算法不需要手動(dòng)選擇特征,具備良好的特征提取能力,檢測(cè)精度顯著提高。2014年,Grishick等[4]首次將 CNN引入目標(biāo)檢測(cè)任務(wù),提出R-CNN網(wǎng)絡(luò),采用選擇性搜索算法提取圖像的候選框,利用AlexNet網(wǎng)絡(luò)[5]對(duì)候選框進(jìn)行特征提取,最后通過(guò)SVM和回歸確定目標(biāo)位置和種類,速度為0.03 fps。雙階段目標(biāo)檢測(cè)算法檢測(cè)精度較高,但檢測(cè)速度較低,主要有SSP-Net[6]、Fast R-CNN[7]、Mask R-CNN[8]等。2016年,Redmon等[9]提出YOLO系列網(wǎng)絡(luò),在CNN中實(shí)現(xiàn)候選框生成、特征提取、回歸,簡(jiǎn)化模型復(fù)雜度,速度可達(dá)45fps。Liu等[10]提出SSD網(wǎng)絡(luò),以VGG作為骨干網(wǎng)絡(luò),新增卷積層在3個(gè)不同尺度上進(jìn)行檢測(cè),平衡檢測(cè)速度和精度。單階段目標(biāo)檢測(cè)算法通常具有較高的實(shí)時(shí)性,但檢測(cè)精度有待提高,主要有YOLO系列[9,11,12]、SSD系列[10]、CornerNet[13]、CenterNet[14]等。
地面無(wú)人平臺(tái)的智能化除需要強(qiáng)大的軟件算法支撐,也需要能夠承載龐大運(yùn)算量的硬件平臺(tái)。國(guó)外特斯拉的FSD芯片算力144TOPS,典型功耗72 W,主要用于自己的量產(chǎn)車型。英偉達(dá)Xavier算力30TOPS,典型功耗30 W。國(guó)內(nèi)地平線的征程二代芯片算力4TOPS,典型功耗2 W,可用于道路檢測(cè)。寒武紀(jì)的MLU100芯片,算力高達(dá)128TOPS,典型功耗20 W,具有“高性能”、“低功耗”特點(diǎn),可用于圖像識(shí)別等。
隨著地面無(wú)人作戰(zhàn)平臺(tái)關(guān)鍵技術(shù)的不斷突破,開(kāi)展裝備型號(hào)研制是必然趨勢(shì)和預(yù)期。為此,本文以裝備國(guó)產(chǎn)化自主可控需求和要求為牽引與驅(qū)動(dòng),開(kāi)展了寒武紀(jì)智能加速卡在地面無(wú)人平臺(tái)上的應(yīng)用研究,完成目標(biāo)檢測(cè)算法YOLOv3/SSD在寒武紀(jì)架構(gòu)MLUv01的移植部署,通過(guò)實(shí)車實(shí)驗(yàn)測(cè)試和驗(yàn)證智能加速卡的性能,為未來(lái)裝備型號(hào)研制提供支撐。為此,本研究重點(diǎn)解決以下問(wèn)題:① 目標(biāo)檢測(cè)算法環(huán)境適配;② 相機(jī)/激光雷達(dá)數(shù)據(jù)融合;③ 評(píng)價(jià)指標(biāo)體系的構(gòu)建。
MLU100智能加速卡是中科院寒武紀(jì)公司推出的第一款智能處理板卡,采用1H8/1H16混合多核架構(gòu),內(nèi)存集成了相應(yīng)的圖形計(jì)算單元和片上緩存結(jié)構(gòu)。相比其他GPU產(chǎn)品,采用針對(duì)深度學(xué)習(xí)算法特點(diǎn)定制的指令集和體系架構(gòu),具有高性能、低功耗優(yōu)勢(shì),支持圖像識(shí)別、自然語(yǔ)言處理等人工智能技術(shù)應(yīng)用[15]。
寒武紀(jì)加速卡支持在線模式和離線模式運(yùn)行,如圖1所示。其中,在線模式依賴第三方深度學(xué)習(xí)框架,如Caffe、TensorFlow和MXNet等,部署前需要調(diào)用機(jī)器學(xué)習(xí)庫(kù)CNML(Cambricon Neuware Machine Learning Library)解析、編譯生成模型數(shù)據(jù)文件,算法調(diào)試比較方便;而離線模式基于寒武紀(jì)開(kāi)發(fā)的底層API,即運(yùn)行時(shí)庫(kù)CNRT(Cambricon Neuware Runtime Library),部署時(shí)直接調(diào)用離線模型文件,省略解析、編譯過(guò)程,算法執(zhí)行效率更高。
圖1 MLU100運(yùn)行模式框圖
寒武紀(jì)智能加速卡采用多核架構(gòu),本文使用的MLU100 D2加速卡共有4個(gè)核。程序運(yùn)行可以調(diào)用單個(gè)或多個(gè)核進(jìn)行推理計(jì)算,根據(jù)調(diào)用的方式不同,可分為數(shù)據(jù)并行和模型并行,兩者可以獨(dú)立運(yùn)行也可同時(shí)運(yùn)行。
數(shù)據(jù)并行度是指將圖片數(shù)據(jù)集拆分到不同核上進(jìn)行并行推理計(jì)算,每個(gè)核共享目標(biāo)識(shí)別算法的模型和權(quán)重,即一次處理多張圖片,如圖2所示。此外,數(shù)據(jù)并行度可以在程序運(yùn)行時(shí)進(jìn)行設(shè)置。
圖2 數(shù)據(jù)并行度示意圖
模型并行度是指將目標(biāo)識(shí)別算法模型拆分到不同核上進(jìn)行推理計(jì)算,模型并行度在生成離線模型時(shí)進(jìn)行指定,程序運(yùn)行時(shí)不能改變,如圖3所示。生成離線模型時(shí),CNML能夠?qū)⑼ㄓ梅?wù)器訓(xùn)練成功的SSD/YOLOv3模型的拓?fù)浣Y(jié)構(gòu)、輸入輸出、模型參數(shù)進(jìn)行多尺度拆分,執(zhí)行程序在多核上并行執(zhí)行,并且保證每個(gè)核之間的數(shù)據(jù)同步。
圖3 模型并行度示意圖
數(shù)據(jù)并行度能夠提高數(shù)據(jù)吞吐量,適用于批量圖片處理,如圖片列表;而模型并行度能夠加快推理速度,適用于單幀圖片處理。但是兩者滿足條件式(1):
data_para×model_para≤4
(1)
本研究選用CONTEC CONPRO-H9320工業(yè)控制計(jì)算機(jī)作為宿主機(jī),搭建國(guó)產(chǎn)智能加速卡。計(jì)算機(jī)的CPU通過(guò)PCIe x16總線與智能加速卡進(jìn)行信息交互,目標(biāo)識(shí)別算法的前處理和后處理模塊在CPU上執(zhí)行,模型推理模塊在智能加速卡上執(zhí)行,體系架構(gòu)框圖如圖4所示。
圖4 智能計(jì)算機(jī)架構(gòu)框圖
將VOC2007、VOC2012數(shù)據(jù)集與自制數(shù)據(jù)集進(jìn)行結(jié)合,形成21類樣本數(shù)據(jù)庫(kù),構(gòu)成訓(xùn)練SSD/YOLOv3識(shí)別模型的訓(xùn)練與測(cè)試數(shù)據(jù),其中的80%用于訓(xùn)練,20%用于測(cè)試,共計(jì)22316張圖片。
SSD(Single Shot MultiBox Detector)算法是Wei Liu在ECCV 2016上提出的一種目標(biāo)檢測(cè)算法[10],網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。相比Faster R-CNN,SSD算法首先通過(guò)區(qū)域生成網(wǎng)絡(luò)得到目標(biāo)的候選框,然后再進(jìn)行分類與回歸,具有明顯的速度優(yōu)勢(shì)。相比YOLO算法在全連接層后進(jìn)行目標(biāo)檢測(cè),SSD算法采用卷積神經(jīng)網(wǎng)絡(luò)來(lái)直接進(jìn)行目標(biāo)檢測(cè)。
圖5 SSD網(wǎng)絡(luò)結(jié)構(gòu)框圖
在通用服務(wù)器的Caffe框架下進(jìn)行模型訓(xùn)練,設(shè)置迭代次數(shù)為 100 000 次,初始學(xué)習(xí)率在保證訓(xùn)練不發(fā)散的情況下盡量取大以保證訓(xùn)練過(guò)程具有較高的收斂速度,這里選為0.001。為適當(dāng)?shù)募铀偈諗?,將沖量設(shè)置為0.9,損失曲線如圖6。訓(xùn)練使用的GPU為3塊基于Pascal架構(gòu)的Nvidia Titan X顯卡。
圖6 SSD算法損失曲線
YOLOv3算法是Redmoz改進(jìn)YOLO(You Only Look Once)的第3個(gè)版本,主要提高了小目標(biāo)的識(shí)別精度[16],網(wǎng)絡(luò)結(jié)構(gòu)如圖7所示。相比先前兩個(gè)版本算法,YOLOv3在多尺度上進(jìn)行預(yù)測(cè)(類似圖像金字塔網(wǎng)絡(luò));使用ResNet網(wǎng)絡(luò),將v2的daet19提升到darknet53,加深網(wǎng)絡(luò)結(jié)構(gòu);取消池化層和全連接層,通過(guò)改變卷積核步長(zhǎng)進(jìn)行張量變換。YOLOv3在保證實(shí)時(shí)性的基礎(chǔ)上盡可能提高識(shí)別準(zhǔn)確度。
圖7 YOLOv3網(wǎng)路結(jié)構(gòu)框圖
在通用服務(wù)器的Darknet53框架下進(jìn)行模型訓(xùn)練。設(shè)置初始學(xué)習(xí)率0.001,遺忘因子0.9,沖量設(shè)置0.9。為防止訓(xùn)練中過(guò)擬合,加入權(quán)值衰減參數(shù)0.000 5。設(shè)置迭代次數(shù)為50 000次,訓(xùn)練過(guò)程中通過(guò)平均準(zhǔn)確率曲線調(diào)整訓(xùn)練參數(shù),當(dāng)準(zhǔn)確率不明顯上升時(shí)將學(xué)習(xí)率適當(dāng)減小,損失曲線如圖8。
圖8 YOLOv3算法損失曲線
當(dāng)進(jìn)行目標(biāo)檢測(cè)算法SSD/YOLOv3移植時(shí),需要調(diào)用寒武紀(jì)公司開(kāi)發(fā)的CNRT和CNML兩個(gè)動(dòng)態(tài)庫(kù)。CNRT庫(kù)是用戶層面向寒武紀(jì)加速卡底層的接口,所有軟件的運(yùn)行都得調(diào)用CNRT,與并行計(jì)算、內(nèi)存管理有關(guān)。CNML是用于加速機(jī)器學(xué)習(xí)或深度學(xué)習(xí)算法而編寫的算子,具有基本算子和融合算子兩種?;舅阕邮菃蝹€(gè)運(yùn)算,如矩陣乘法、矩陣加法、卷積、池化等。融合算子可以對(duì)各種基本算子進(jìn)行有效結(jié)合,提高運(yùn)算效率??紤]到地面無(wú)人平臺(tái)更關(guān)注目標(biāo)檢測(cè)算法的實(shí)時(shí)性,本文僅對(duì)寒武紀(jì)智能加速卡的離線模型進(jìn)行介紹。
為滿足寒武紀(jì)架構(gòu)下運(yùn)行,本文對(duì)通用服務(wù)器Caffe框架下訓(xùn)練后的SSD模型和權(quán)重進(jìn)行適應(yīng)性改造,首先在卷積層引入RGB三通道均值,然后將基本算子或融合算子、MLU核版本、權(quán)重、輸入/輸出數(shù)據(jù)尺寸、參數(shù)信息、模型版本和MLU指令等集成到模型中,使得目標(biāo)檢測(cè)算法徹底脫離CNML機(jī)器學(xué)習(xí)庫(kù)和深度學(xué)習(xí)框架運(yùn)行,通用型較好,效率高。最后開(kāi)發(fā)運(yùn)行程序(主要包括前處理、后處理、推理部分)加載SSD算法離線模型和圖片幀,通過(guò)CNRT和驅(qū)動(dòng)交給MLU100智能加速卡進(jìn)行推理識(shí)別,如圖9所示。
圖9 離線模型運(yùn)行流程框圖
首先需要將通用服務(wù)器Darknet框架下訓(xùn)練后的YOLOv3模型和權(quán)重轉(zhuǎn)換為Caffe框架下的模型和權(quán)重,并設(shè)置圖片輸入形狀為{1,3,416,416},采用插值方法進(jìn)行上采樣,然后集成基本算子和融合算子等生成MLU100支持的離線模型。最后,加載YOLOv3模型進(jìn)行圖片推理檢測(cè),與SSD移植方法類似。
為了充分測(cè)試MLU100的性能,在實(shí)驗(yàn)室開(kāi)展了靜態(tài)測(cè)試,在室外開(kāi)展了實(shí)車動(dòng)態(tài)測(cè)試。
測(cè)試方法如下:
1) 在Ubuntu16.04操作系統(tǒng)上部署MLU 100智能加速卡開(kāi)發(fā)環(huán)境;
2) 設(shè)計(jì)相機(jī)實(shí)時(shí)讀取接口,利用移植后的YOLOv3/SSD模型進(jìn)行實(shí)驗(yàn)室場(chǎng)景下的數(shù)據(jù)采集與推理識(shí)別;
3) 記錄MLU 100運(yùn)行目標(biāo)檢測(cè)算法時(shí)的識(shí)別幀數(shù)、物理內(nèi)存、溫度、功率、占有率、頻率等;
4) 根據(jù)測(cè)試數(shù)據(jù),對(duì)加速卡性能進(jìn)行評(píng)價(jià)。
測(cè)試設(shè)備主要有CONTEC工控機(jī)1臺(tái)、筆記本1臺(tái)、交換機(jī)1個(gè)、速騰32線激光雷達(dá)一個(gè)、大恒相機(jī)1個(gè),如圖10所示。
圖10 實(shí)驗(yàn)室測(cè)試場(chǎng)景
4.1.1YOLOv3測(cè)試
本文將目標(biāo)檢測(cè)算法YOLOv3離線模型的模型并行度分別設(shè)置為1、2、4,并分別采用半精度浮點(diǎn)運(yùn)算和整數(shù)運(yùn)算進(jìn)行試驗(yàn)測(cè)試,如圖11、圖12、圖13所示。
圖11 識(shí)別幀數(shù)、物理內(nèi)存與模型并行度
圖12 功率、溫度與模型并行度
圖13 占有率、頻率與模型并行度
圖11、圖12、圖13表明,MLU100 D2運(yùn)行YOLOv3目標(biāo)檢測(cè)算法時(shí),識(shí)別幀數(shù)、物理內(nèi)存、功率、溫度隨著模型并行度的增加而增加;由于算法模型被分到更多的核上進(jìn)行計(jì)算,MLU100的利用率隨著模型并行度的增加而減少;加速卡的頻率維持不變,即未出現(xiàn)降頻現(xiàn)象,運(yùn)行比較穩(wěn)定。此外,采用半精度運(yùn)算的物理內(nèi)存、功率、溫度、利用率明顯高于整數(shù)運(yùn)算,識(shí)別幀數(shù)稍微低于整數(shù)運(yùn)算,但是能夠保證更高的識(shí)別的精度。
4.1.2SSD測(cè)試
同樣,將目標(biāo)檢測(cè)算法SSD離線模型的模型并行度分別設(shè)置為1,2,4,并分別采用半精度浮點(diǎn)運(yùn)算和整數(shù)運(yùn)算進(jìn)行試驗(yàn)測(cè)試,測(cè)試結(jié)果如圖14、圖15、圖16所示。
圖14 識(shí)別幀數(shù)、物理內(nèi)存與模型并行度
圖15 功率、溫度與模型并行度
圖16 占有率、頻率與模型并行度
圖14、圖15、圖16表明,MLU100 D2運(yùn)行SSD目標(biāo)檢測(cè)算法時(shí),識(shí)別幀數(shù)、物理內(nèi)存、功率、溫度、利用率、頻率隨模型并行度變化趨勢(shì)與YOLOv3相同。但是SSD算法的識(shí)別幀數(shù)(float16型為23.42幀/s,int8型為25.53幀/s)明顯大于YOLOv3(float16型為15.48幀/s,int8型為21.21幀/s);與SSD模型相比,YOLOv3模型具有更大的復(fù)雜度,運(yùn)行YOLOv3算法時(shí)加速卡的物理內(nèi)存、功率、溫度、利用率也大于SSD算法;頻率均維持為1000Hz,并未出現(xiàn)降頻現(xiàn)象,能夠穩(wěn)定運(yùn)行。
4.1.3MLU100加速卡評(píng)價(jià)
本文選擇智能加速卡的頻率、識(shí)別幀數(shù)、溫度、功率和占用率作為評(píng)價(jià)指標(biāo)。正常情況下,目標(biāo)檢測(cè)算法的識(shí)別幀數(shù)是最應(yīng)該受關(guān)注的,但是在地面無(wú)人平臺(tái)部署配置智能加速卡的計(jì)算機(jī)時(shí),由于車內(nèi)空間相對(duì)狹小且存在大量發(fā)熱元器件,不利于智能加速卡的散熱,可能造成加速卡頻率下降,不能維持穩(wěn)定的幀率輸出,故對(duì)加速卡溫度或功率影響較大。因此需要對(duì)加速卡的各指標(biāo)重要性進(jìn)行評(píng)價(jià)、比較、判斷,做出更合理的決策。為此,本文引入層次分析法,每個(gè)評(píng)價(jià)指標(biāo)的重要性可以通過(guò)兩兩相互對(duì)比實(shí)現(xiàn)[17-18]。
本文以加速卡性能為目標(biāo)層,識(shí)別幀數(shù)、溫度、功率、占用率和頻率為準(zhǔn)則層,構(gòu)建層次結(jié)構(gòu)如圖17所示。
圖17 評(píng)價(jià)指標(biāo)體系層次結(jié)構(gòu)框圖
為保證智能加速卡在地面無(wú)人平臺(tái)上可靠運(yùn)行,能否維持加速卡的頻率恒定尤為重要,否則將使得加速卡的識(shí)別幀數(shù)動(dòng)態(tài)變化,最終導(dǎo)致地面無(wú)人平臺(tái)收發(fā)數(shù)據(jù)混亂。此外,目標(biāo)檢測(cè)算法的識(shí)別幀數(shù)影響地面無(wú)人平臺(tái)的行駛車速,相對(duì)其他評(píng)價(jià)指標(biāo)較為重要。經(jīng)專家評(píng)估,制定如表1所示的判別矩陣。
計(jì)算出表1的評(píng)價(jià)指標(biāo)的判別元素的最大特征值為5.091 7,特征向量為[0.428 7, 0.181 6, 0.111 8, 0.067 2, 0.875 3],分別表示識(shí)別幀數(shù)、溫度、功率、占用率和頻率對(duì)評(píng)價(jià)智能加速卡所占的權(quán)重。
表1 判別元素
然后計(jì)算一致性指標(biāo)CI(Consistency Index):
最后計(jì)算一致性比率CR(Consistency Ratio):
其中,隨機(jī)一致性指標(biāo)RI(Random Index)可通過(guò)表2獲取[19]。由于CR<0.1時(shí),滿足一致性檢驗(yàn),無(wú)需重新調(diào)整判別矩陣。
表2 隨機(jī)一致性指標(biāo)
因此,本文中準(zhǔn)則層對(duì)目標(biāo)層重要性的排序結(jié)果依次為加速卡頻率、識(shí)別幀數(shù)、溫度、功率和占用率,相對(duì)應(yīng)的權(quán)重分別為[0.875 3, 0.428 7, 0.181 6, 0.111 8, 0.067 2],歸一化后為[0.525 832 032, 0.257 539 349, 0.109 095 278, 0.067 163 282, 0.040 370 059]。
根據(jù)YOLOv3/SSD測(cè)試的數(shù)據(jù),構(gòu)建MLU100智能加速卡的評(píng)價(jià)標(biāo)準(zhǔn),對(duì)不同范圍的頻率、識(shí)別幀數(shù)、溫度、功率、占用率進(jìn)行打分,如表3所示。
表3 MLU100智能加速卡評(píng)價(jià)標(biāo)準(zhǔn)
將MLU100智能加速卡運(yùn)行YOLOv3/SSD算法的實(shí)驗(yàn)室測(cè)試結(jié)果(圖11~圖16)按照上述表3中的評(píng)價(jià)標(biāo)準(zhǔn)轉(zhuǎn)化為相應(yīng)的分?jǐn)?shù)。然后根據(jù)各指標(biāo)權(quán)重進(jìn)行加權(quán)平均,獲得評(píng)價(jià)分?jǐn)?shù),如表4所示。結(jié)果表明,MLU100 D2運(yùn)行SSD目標(biāo)檢測(cè)算法時(shí)獲得的分?jǐn)?shù)最高,為92.68。
表4 MLU100運(yùn)行SSD算法得分
為驗(yàn)證智能芯片是否滿足地面無(wú)人平臺(tái)自主導(dǎo)航功能模塊實(shí)時(shí)運(yùn)行需求,設(shè)計(jì)相機(jī)/激光雷達(dá)避障模塊,如圖18所示。搭載智能加速卡的CONTEC工控機(jī)負(fù)責(zé)目標(biāo)檢測(cè),通過(guò)UDP通信將輸出的目標(biāo)邊界框的像素坐標(biāo)發(fā)送到自主計(jì)算機(jī)。自主計(jì)算機(jī)將激光雷達(dá)采集的點(diǎn)云數(shù)據(jù)進(jìn)行聚類,目標(biāo)中心點(diǎn)像素與聚類后的點(diǎn)云數(shù)據(jù)進(jìn)行融合獲取已識(shí)別目標(biāo)中心的三維位置,最后發(fā)送到地面無(wú)人平臺(tái)的導(dǎo)航建圖模塊進(jìn)行建圖。
圖18 相機(jī)避障模塊框圖
實(shí)驗(yàn)室靜態(tài)測(cè)試結(jié)果表明,更大的模型并行度有利于識(shí)別幀數(shù)的提高,且int8推理速度優(yōu)于float16,但檢測(cè)精度稍有下降。本著安全原則,實(shí)車測(cè)試時(shí)調(diào)整模型并行度為4、采用int8進(jìn)行實(shí)時(shí)推理識(shí)別。通過(guò)操控端下發(fā)直線任務(wù)路徑,實(shí)車自主行駛,根據(jù)前方檢測(cè)的“障礙”重新規(guī)劃路徑,如圖19所示。
圖19 實(shí)車測(cè)試現(xiàn)場(chǎng)
4.2.1YOLOv3測(cè)試用例
避障結(jié)果如圖20所示。共進(jìn)行30次實(shí)驗(yàn),基于相機(jī)感知模塊成功避障25次,失敗5次,成功率83.33%。
圖20 避障結(jié)果示意圖
地面無(wú)人平臺(tái)自主避障測(cè)試中,YOLOv3算法的識(shí)別幀數(shù)和智能加速卡的頻率、識(shí)別幀數(shù)和功率、占用率和溫度曲線如圖21、圖22、圖23所示。
圖21 頻率曲線
圖22 幀數(shù)和功率曲線
圖21、圖22表明,MLU100運(yùn)行YOLOv3目標(biāo)檢測(cè)算法時(shí)的識(shí)別幀數(shù)約為21幀/秒,其中大于20幀/秒占據(jù)99.57%,但是低于圖片集測(cè)試時(shí)的23幀/秒,主要是因?yàn)閳D片集能夠一次加載,而相機(jī)實(shí)時(shí)識(shí)別需要邊加載邊推理計(jì)算;MLU100功率由0增加到12 W,低于圖片集測(cè)試時(shí)的14 W,是因?yàn)榕繄D片測(cè)試可設(shè)置更大的數(shù)據(jù)并行度,使得每個(gè)核全負(fù)荷運(yùn)行,而相機(jī)實(shí)時(shí)識(shí)別只能通過(guò)提高模型并行度加快推理運(yùn)算,模型卻不能充分拆分,仍明顯優(yōu)于市場(chǎng)同等產(chǎn)品(一般為30 W)。
圖23表明,MLU100運(yùn)行YOLOv3目標(biāo)檢測(cè)算法時(shí)板卡每個(gè)核的利用率約為68%,主要用于加載模型及與CPU進(jìn)行交互,低于圖片集測(cè)試時(shí)的98%,是因?yàn)閳D片集能夠被充分拆分到每個(gè)核進(jìn)行推理計(jì)算,而相機(jī)實(shí)時(shí)識(shí)別時(shí)無(wú)法將模型進(jìn)行充分拆分,任務(wù)調(diào)度相對(duì)“悠閑”;MLU100板卡的溫度由40 ℃提高到54 ℃,明顯高于實(shí)驗(yàn)室測(cè)試溫度,主要是因?yàn)檐圀w內(nèi)空氣不流通,加速卡無(wú)法及時(shí)散熱。
圖23 占用率和溫度曲線
4.2.2SSD測(cè)試用例
避障結(jié)果如圖24所示。共進(jìn)行30次實(shí)驗(yàn),基于相機(jī)感知模塊成功避障27次,失敗3次,成功率為90%。相比YOLOv3算法避障,SSD算法具有更高的識(shí)別幀數(shù),能夠提供更快的目標(biāo)位置更新,避障占據(jù)優(yōu)勢(shì)。同時(shí),SSD算法的識(shí)別幀數(shù)和智能加速卡的頻率、、識(shí)別幀數(shù)和功率、占用率和溫度曲線如圖25、圖26、圖27所示。
圖24 避障結(jié)果示意圖
圖25 頻率曲線
圖26 幀數(shù)和功率曲線
圖27 占用率和溫度曲線
圖25、圖26表明,MLU100運(yùn)行SSD目標(biāo)檢測(cè)算法時(shí)的識(shí)別幀數(shù)約為25幀/秒,其中大于25幀/秒占95.21%。相比YOLOv3,SSD網(wǎng)絡(luò)更簡(jiǎn)潔,運(yùn)行速率更快,但是仍低于圖片集測(cè)試的31幀/秒,原因與4.2.1小節(jié)類似;MLU100的功率由0增加到10 W,相比YOLOv3,運(yùn)行SSD時(shí)每個(gè)核的負(fù)載相對(duì)較低,功率相應(yīng)較低,但仍低于圖片集測(cè)試時(shí)的13 W,原因與4.2.1類似,明顯優(yōu)于市場(chǎng)同等產(chǎn)品(30 W)。
圖27表明,MLU100運(yùn)行SSD目標(biāo)檢測(cè)算法時(shí)每個(gè)核的利用率約為52%,低于YOLOv3的68%,是因?yàn)镾SD網(wǎng)絡(luò)簡(jiǎn)潔,拆分到每個(gè)核上的模型較少,任務(wù)調(diào)度較簡(jiǎn)單,但仍低于圖片集測(cè)試時(shí)的96%,原因與4.2.1小節(jié)類似;MLU100板卡的溫度由53攝氏度提高到55攝氏度,是因?yàn)殚L(zhǎng)時(shí)間測(cè)試導(dǎo)致車體內(nèi)的環(huán)境溫度持續(xù)升高。
基于寒武紀(jì)智能加速卡開(kāi)展了應(yīng)用研究及測(cè)試,完成了:
1) 對(duì)通用服務(wù)器架構(gòu)下的目標(biāo)檢測(cè)算法SSD/YOLOv3進(jìn)行了適應(yīng)性改造,實(shí)現(xiàn)了算法在寒武紀(jì)智能加速卡MLU100 D2上的部署。
2) 在實(shí)驗(yàn)室場(chǎng)景下的對(duì)加速卡進(jìn)行了測(cè)試,引入層次分析法對(duì)加速卡的性能進(jìn)行了有效評(píng)價(jià),結(jié)果顯示更大的模型并行度能夠提高目標(biāo)實(shí)時(shí)推理識(shí)別的速度。
3) 針對(duì)地面無(wú)人平臺(tái)的運(yùn)行環(huán)境條件,設(shè)計(jì)相機(jī)/激光雷達(dá)融合模塊,開(kāi)展了實(shí)車避障任務(wù)測(cè)試,加速卡能夠保持較為穩(wěn)定的目標(biāo)位置輸出,滿足地面無(wú)人平臺(tái)低速自主導(dǎo)航實(shí)時(shí)建圖需求
未來(lái)將開(kāi)展MLU100在地面無(wú)人平臺(tái)高速自主導(dǎo)航條件下的目標(biāo)識(shí)別以及場(chǎng)景語(yǔ)義識(shí)別等方面的應(yīng)用研究,對(duì)智能加速卡的車載環(huán)境適應(yīng)性進(jìn)行測(cè)試,對(duì)國(guó)產(chǎn)智能加速卡滿足地面無(wú)人裝備應(yīng)用需求的情況進(jìn)行綜合評(píng)價(jià)。