英偉達Xavier NX工業AI應用實戰

之前蔚爸用樹莓派4B做瞭一套傢庭服務器方案,證實曾經單片機規格的樹莓派已經進化成服務器瞭。不過邊緣服務器排行榜裡樹莓派4隻能算新晉小弟,從雲計算下沉到邊緣的英偉達Jetson系列才是真正的霸主。今天蔚爸將帶大傢一起玩下廣泛使用的Jetson Xavier NX並完成一個在工業智能化中非常火的安全生產監管方案,趕一波AI視覺的時髦。

Nvidia Jetson Xavier 芯片版圖與規格

Nvidia Jetson Xavier NX介紹

Nvidia Jetson Xavier系列2018年發佈,是當時最大的芯片(350平方毫米),性能對標Intel的x86 CPU芯片。在黃教主精準的刀法下,Xavier分為滿血版AGX Xavier和殘血版Xavier NX,其中Xavier NX使用的是閹割版Xavier芯片,CPU和GPU規模縮小25%並降低頻率,內存帶寬減半,但性能依然秒殺樹莓派等絕大多數嵌入式芯片。同時Xaviver憑借優秀的性價比,被業界廣泛采用做產品和項目。

16577d4cfec6c63a33536517029be8a3Xavier NX盒子

即使是性價比很高,Xavier NX設備單價依然超過5千。這顯然超過瞭蔚爸的零花錢預算,於是蔚爸就想找開公司做行業項目的朋友小可借一臺空閑的NX玩玩。小可說,借可以借,但要蔚爸幫忙宣傳公司產品,同時不能搞壞設備影響項目交付。於是後來蔚爸就順利的拿到上面這臺設備把玩起來。這臺NX盒子的工業設計還是相當不錯的,隻有一塊磚的大小,確能爆發出強大的算力,工業接口也很齊全。

芯片行業出身的蔚爸,首先從芯片規格研究起:

Nvidia Jetson Xavier NX 芯片架構圖

6核Arm CPU已然是邊緣設備中的王者

  • Xiaver的CPU采用非Arm公版的英偉達自研Carmel架構,兼容Armv8.2 架構,最高頻率1.4-1.9GHz,Geekbench5單核跑分473,是樹莓派4裡的Arm Cotoex-A72的2倍,性能看齊高通驍龍845裡的Arm Cortex-A75
  • NX芯片上有3組CPU Cluster,每組Cluster含2個Carmel CPU和共享的2MB L2 cache,3個Cluster共享4MB L3 cache,6個CPU的合計Geekbench5多核跑分2307,是樹莓派4裡的4個Arm Cortex-A72 CPU的3倍,性能看齊iPhoneX裡的Apple A11

21T算力GPU樹立瞭邊緣計算算力標桿

Xavier的GPU采用瞭英偉達上上代架構Volta,但提供的21Tops算力仍然足以秒殺其他邊緣計算芯片。蔚爸沒找到官方說明21T算力的組成,咨詢專傢得到答復GPU在15W模式下由TensorCore+ NVDLA提供12.3+9Tops算力

  • 6個SM共48個TensorCore@1.0GHz支持6.14Thflops或12.3Tops INT8算力
  • 2個NVDLA 共4096MAC @1.1GHz支持4.5Thfllops或9Tops INT8算力

其實GPU還包含384個CUDA Cores @1.0GHz 提供0.768TFlops或1.53Thflops通用算力,可以拿來做圖形計算

其他硬件系統規格

  • 內存為8GB LPDDR4X,128位總線,帶寬達到恐怖的51.2GB/s是樹莓派4的12倍。英偉達深諳高性能計算的秘訣,隻有高帶寬才能充分釋放芯片野獸般的算力
  • 專用DSP支撐視頻編解碼,支持22路H.264 1080P @ 30或2路4K @ 60多核,後面會詳細測試
  • 16GB eMMC,裝完Jetpack系統隻剩幾百MB空間瞭,存儲全靠外擴TF卡和硬盤
  • 8GB內存,看起來很大但實際生產部署時才發現也不夠用
  • 芯片采用12nm工藝,雖然已經是當時的先進工藝瞭,可惜芯片規格太大還是壓不住發熱

系統軟件

如果單純拼硬件規格,近兩年後發佈的芯片已經追上英偉達的七八成功力瞭,但英偉達有更強大的護城河 -- 完善的軟件工具。Jetson系列配套JetPack系統,包含以下開發模塊:

  • Ubuntu Desktop 18.04 系統,如今Arm設備上最主流的Linux發行版
  • TensorRT+cuDNN加速AI推理,CUDA加速CV等通用GPU運算,無縫銜接服務器應用
  • NVIDIA Container Runtime快速部署docker,一鍵安裝部署app
  • DeepStream快速開發視頻流應用
  • 還有MMAPI,VisionWorks,OpenCV,VPI等快速調用接口

有瞭這些開發工具,蔚爸上手很快,感覺不到是在嵌入式設備上開發而更像是在x86服務器上開發,把服務器上訓練的模型部署到NX上也很容易。

Xavier NX的應用場景

像Xavier這麼強的嵌入式設備設除瞭讓開發者驚嘆外還有什麼用呢?蔚爸咨詢產業界朋友瞭解到Xavier NX的主要應用場景有:

交通車輛行為識別

54abd7c02fbd1c208d4fc78ad5ea4d64交通路口車輛識別http://www.icpchaxun.com/video/1493001908503240704

城市交通已經普及大量的攝像頭,通過在弱電箱加裝支持16路1080P視頻流分析的Xavier NX,系統能夠進一步識別車輛位置型號與車牌。從而開發違章抓拍,無感停車收費等業務。

同時由於在前端邊緣計算結構化瞭視頻信息,雲端服務器不需要再實時接收低信息密度的視頻數據,而隻需要接收關鍵事件相關視頻信息,從而大大減少網絡通信成本。

工業巡檢和高價值資產在線監測

a87a4ef4f17f03bae3ee1371ebb2be9b表計讀數電業站開關狀態指示的識別

工業現場有大量傳統表計儀表短時間內無法改造成自動上報數據的電子表,巡檢時仍然需要人員手工抄表上傳耗費大量人力精力。通過加裝巡檢機器人或固定攝像頭結合Xavier NX部署目標檢測與圖像分割算法就能快速改造系統實現自動讀表,解放人力。

人體物體識別與安防

人流計數http://www.icpchaxun.com/video/1493704406868213760安全帽與工服穿戴識別http://www.icpchaxun.com/video/1493704685252571136

用Xavier NX+人體識別算法可以很好的識別畫面中人體/物品的位置與移動,從而衍化非常多的實用應用,如人流計數,人員入侵檢測,人員在崗離崗,安全帽反光背心穿戴檢測,抽煙打電話行為檢測,人員摔倒檢測,電動車頭盔檢測等等。這可比雇傭保安肉眼看效率高多瞭。

在過去的20年裡,監控攝像頭已經普及到社會角角落落,每天產生沉淀海量的圖像數據幫助人們事後追溯分析事故和意外。最近新的需求趨勢是借助智能分析技術,把事後追溯轉變成實時警告從而防范於未然。Xavier NX+機器視覺算法就成瞭該需求最好的技術支撐。

Xavier NX實戰

聊瞭那麼多Xavier NX的特性和應用場景,下面是蔚爸實戰環節。由於涉及工業數據采集和訓練模型,蔚爸是在小可的協助下完成以下測試實驗:

測試環境

  • 邊一科技(Econe)的Xavier NX盒子(工作模式15W 4Core)
  • JetPack4.4.1(cuda 10.2,cudnn 8.0.0,DeepStream 5.0.0,TensorRT 7.1.3)
  • 攝像頭是海康威視200萬像素相機,RTSP視頻流,H.264/265 25fps,碼率上限2048Kbps

解碼能力

蔚爸測試瞭2組典型場景,拉取1080P視頻流,DeepStream解碼,在屏幕顯示,觀察CPU占用率,內存使用量及芯片溫度

CPU占用率 內存占用 溫度
H.264 25fps 8路 34% 43% 48.5
H.264 25fps 16路 37% 48% 54.5

從數據看來NX的NVDEC組件支撐8-16路視頻流解碼毫無壓力。蔚爸又做瞭極限測試,發現NX的解碼性能完全能達到和超過規格書標稱性能

實驗結果 標稱性能
H.264編碼 30路25fps(750fps) 660fps
H.265編碼 56路25fps(1400fps) 1320fps

AI算力

蔚爸挑選瞭曾經很火的Yolov3-Tiny和目前很火的Yolov5s兩個模型作為benchmark,記錄單次模型推理耗時

FP16(TensorCore/DLA) INT8(TensorCore/DLA)
Yolov3-Tiny(416x416輸入) 16ms / 13ms 15ms / 11ms
Yolov5s(640x640輸入) 30ms / 29ms 16ms / 11ms

NX性能果然非常強,輕松實現近百fps的性能。從數據可以看到,使用INT8精度和使用DLA都能提升推理性能。

以小目標檢測數據集測試,實測INT8相比FP16精度掉瞭15-25%,影響相當大。小可說做項目的時候,如果時間緊效果要求高,一般還是用FP16精度推理。如果做產品並且研發時間充足,會考慮用INT8推理提升性能。

經過測試NX的DLA即支持FP16精度也支持INT8精度,不過DLA隻支持Conv,Mul,MaxPool,Concat,Sigmoid等少量算子並且需符合特定順序,其餘算子會Fallback到GPU,這會拖累性能提升幅度。

應用實戰測試

蔚爸做瞭一套人體檢測/安全帽/抽煙打電話識別的應用,輸入視頻流,輸出檢測目標坐標,這是典型的工業安全生產需求。模型采用yolov5s結構,請小可利用公司數據訓練瞭一個簡單模型。

應用系統架構如下圖,NX盒子通過網絡接多路攝像頭視頻流,解碼,AI分析,編碼,然後推流到筆記本上顯示。

典型AI視覺應用系統架構圖

實際測試9路H.265視頻流分析(7路720P,2路1080P)效果如下

藍色框表示識別到人體,綠色框表示識別到佩戴安全帽,紅色框表示識別到未佩戴安全帽,抽煙或打電話行為

NX實時分析9路監控視頻http://www.icpchaxun.com/video/1499449451794460672

實測Xavier能夠長時間穩定運行,整體硬件利用率如下:

CPU占用率 GPU占用率 內存占用 溫度
安全生產應用 22% 97-100% 31% 47度

廣告位:文中提到的算法應用小可公司都有,有興趣的人可以私信聯系蔚爸。

Xaiver NX應用優化Tips

雖然蔚爸開發NX整體比較順利,但小可告訴蔚爸,實際使用Xavier NX做過項目的人都知道,NX開發原型一時爽,部署到生產環境坑很多。小可分享以下幾點開發經驗:

  1. NX發熱太大壓不住,壓力測試下功耗輕松達到30W,芯片溫度很容易達到75度,一旦超過80度CPU就會降頻到350MHz,性能急劇下降造成系統運行不穩定。所以蔚爸建議挑選硬件的話,一定挑個帶風扇的設備並提前做好設備散熱測試。
  2. 16GB eMMC太小,裝完Jetson系統隻剩幾百兆空間瞭,沒有空間再要裝其他應用瞭。此時通過刪除桌面,APT緩存,軟件中心遊戲等一些不用的系統組件還能省下1個GB空間。
  3. 8GB內存不夠用。系統開機就占用1.2GB內存,開個Docker占用1.5GB內存,Redis緩存占用1.2GB內存,TensroRT開1個模型占用1.2GB內存,開3個模型占用3.6GB內存(這點讓人匪夷所思,蔚爸一度懷疑是TRT的BUG),8GB輕松用完。為此英偉達特意發佈瞭16GB Xavier NX,隻不過價格又加瞭100美金,對此蔚爸隻能呵呵一笑瞭。
  4. NX缺貨和漲價令人頭疼。好不容易開發完應用要批量出貨瞭,發現NX缺貨厲害,設備成本都在5000+都不一定買得到貨。

发表回复

相关推荐

執業獸醫師:手把手教你養好6個月以內的幼犬,精確到周

說到養幼犬還是成年犬,全全問過很多人,大部分的答案都是希望狗狗從小就和主人在一起,見證狗狗從毛絨絨的小調皮長成身手矯...

· 40秒前

用户需求是什么?你真的了解“用户需求”吗?

1、用户需求到底是什么呢? 用户需求定义:简单来讲用户需求就是对用户有价值的内容或让用户喜欢的内容。百度多次在公开课和 ...

· 2分钟前

【吉林|长春】2023年长春汽车经济技术开发区事业单位引进100名人才公告

1 报名条件 一、招聘计划 聚焦汽车产业“大研发、大制造、大营销”等领域,本公告计划招聘事业单位工作人员100人。签约成 ...

· 4分钟前

海外精品瓷器拍賣成交價格前十名盤點——哈佈斯堡拍賣

海外精品瓷器拍賣成交價格前十名盤點--哈佈斯堡拍賣元青花蕭何月下追韓信梅瓶1、元青花蕭何月下追韓信梅瓶拍賣價: 8.4億港幣 ...

· 7分钟前

這是(不是)愛麼?葛城美裡與真嗣飄忽迷惑的關系 | 新世紀福音戰士TV+EOE深度分析

她是第二次沖擊爆炸中心唯一的生還者; 她在NERV擔任作戰部長,肩負重任要打敗人類命運的宿敵:使徒; 她膽大心細冒險在核爆...

· 7分钟前