之前蔚爸用樹莓派4B做瞭一套傢庭服務器方案,證實曾經單片機規格的樹莓派已經進化成服務器瞭。不過邊緣服務器排行榜裡樹莓派4隻能算新晉小弟,從雲計算下沉到邊緣的英偉達Jetson系列才是真正的霸主。今天蔚爸將帶大傢一起玩下廣泛使用的Jetson Xavier NX並完成一個在工業智能化中非常火的安全生產監管方案,趕一波AI視覺的時髦。
Nvidia Jetson Xavier 芯片版圖與規格
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 芯片架構圖
Xavier的GPU采用瞭英偉達上上代架構Volta,但提供的21Tops算力仍然足以秒殺其他邊緣計算芯片。蔚爸沒找到官方說明21T算力的組成,咨詢專傢得到答復GPU在15W模式下由TensorCore+ NVDLA提供12.3+9Tops算力
其實GPU還包含384個CUDA Cores @1.0GHz 提供0.768TFlops或1.53Thflops通用算力,可以拿來做圖形計算
如果單純拼硬件規格,近兩年後發佈的芯片已經追上英偉達的七八成功力瞭,但英偉達有更強大的護城河 -- 完善的軟件工具。Jetson系列配套JetPack系統,包含以下開發模塊:
有瞭這些開發工具,蔚爸上手很快,感覺不到是在嵌入式設備上開發而更像是在x86服務器上開發,把服務器上訓練的模型部署到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的特性和應用場景,下面是蔚爸實戰環節。由於涉及工業數據采集和訓練模型,蔚爸是在小可的協助下完成以下測試實驗:
蔚爸測試瞭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 |
蔚爸挑選瞭曾經很火的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度 |
廣告位:文中提到的算法應用小可公司都有,有興趣的人可以私信聯系蔚爸。
雖然蔚爸開發NX整體比較順利,但小可告訴蔚爸,實際使用Xavier NX做過項目的人都知道,NX開發原型一時爽,部署到生產環境坑很多。小可分享以下幾點開發經驗:
上一篇
1 报名条件 一、招聘计划 聚焦汽车产业“大研发、大制造、大营销”等领域,本公告计划招聘事业单位工作人员100人。签约成 ...
她是第二次沖擊爆炸中心唯一的生還者; 她在NERV擔任作戰部長,肩負重任要打敗人類命運的宿敵:使徒; 她膽大心細冒險在核爆...