AI視覺應(yīng)用
在過去十年,人工智能和機(jī)器學(xué)習(xí)算法有了長足發(fā)展。這些發(fā)展主要體現(xiàn)在視覺相關(guān)的應(yīng)用上。2012年,AlexNet從ImageNet大規(guī)模視覺識別挑戰(zhàn)賽勝出(ILSVRC),成為首個(gè)使用反向傳播算法完成訓(xùn)練的深度神經(jīng)網(wǎng)絡(luò)。與傳統(tǒng)的淺網(wǎng)絡(luò)相比,性能產(chǎn)生近10%的成長,預(yù)測精度躋身前5位。
這個(gè)重大發(fā)展是一個(gè)轉(zhuǎn)折點(diǎn)。從那時(shí)起,深度神經(jīng)網(wǎng)絡(luò)在性能/精度兩個(gè)方面不斷迎來巨大進(jìn)展。2015年ResNet超越單個(gè)人類的分類能力,如圖1所示。就各種目的和用途而言,現(xiàn)今神經(jīng)網(wǎng)絡(luò)的錯(cuò)誤率已經(jīng)可以與貝葉斯錯(cuò)誤率相媲美,可視為解決計(jì)算機(jī)視覺應(yīng)用中的圖像分類問題。
圖1 前5名預(yù)測準(zhǔn)確性
(來源:https://devopedia.org/imagenet)
有鑒于如此令人振奮的結(jié)果,半導(dǎo)體制造商爭相開發(fā)組件,支持深度學(xué)習(xí)部署的高度復(fù)雜運(yùn)算需求。在未來十年,推斷功能的商業(yè)化,特別是用深度學(xué)習(xí)實(shí)現(xiàn)的計(jì)算機(jī)視覺商業(yè)化,將繼續(xù)高速成長。計(jì)算機(jī)視覺市場規(guī)模預(yù)計(jì)將以30%的年均復(fù)合成長率(CAGR)成長,到2025年將達(dá)到262億美元。用深度學(xué)習(xí)實(shí)現(xiàn)的計(jì)算機(jī)視覺可以廣泛地應(yīng)用到各類產(chǎn)業(yè)市場,包括零售分析、智慧城市、執(zhí)法、邊境安全、機(jī)器人、醫(yī)療成像、作物收獲優(yōu)化、符號語言識別等。在不遠(yuǎn)的未來,AI將成為日常生活的內(nèi)在組成要素,而且有些人認(rèn)為這樣的未來近在咫尺。
隨著新穎的網(wǎng)絡(luò)、層和量化技術(shù)被開發(fā)出來,采用固定內(nèi)存架構(gòu)的硬化Tensor加速器,不再能夠滿足未來的需求。這種狀況已經(jīng)在MobileNets的發(fā)展中表露無遺。在MobileNet骨干網(wǎng)絡(luò)中,使用深度卷積能大幅降低運(yùn)算-內(nèi)存比。這對于通用CPU這樣的組件來說非常理想。CPU一般受運(yùn)算約束,但在若因架構(gòu)受內(nèi)存所限而導(dǎo)致效率有限,在某種程度上等于浪費(fèi)寶貴的運(yùn)算周期,就如數(shù)據(jù)中心中的待機(jī)服務(wù)器消耗能量一樣。這種運(yùn)算-內(nèi)存比影響著部署網(wǎng)絡(luò)時(shí)具體Tensor加速器架構(gòu)的總效率。不幸的是,ASIC和ASSP Tensor加速器架構(gòu)一般在組件試生產(chǎn)前,至少凍結(jié)一年。但在使用賽靈思推論技術(shù)時(shí),則不會(huì)發(fā)生這種情況,該技術(shù)能隨時(shí)間推移進(jìn)行調(diào)整和優(yōu)化,以支持神經(jīng)網(wǎng)絡(luò)架構(gòu)的快速演進(jìn)發(fā)展,進(jìn)而確保低功耗、高效率。
本文介紹賽靈思產(chǎn)品組合中的Kria K26 SOM,及其在嵌入式視覺應(yīng)用中的主要優(yōu)勢。
智能應(yīng)用除了要求低延遲,還需要具備私密性、低功耗、安全性和低成本。以Zynq MPSoC架構(gòu)為基礎(chǔ),產(chǎn)品如Kria K26 SOM提供穩(wěn)定的單位功耗性能和更低的總體擁有成本,使其成為邊緣設(shè)備的較佳選擇。該產(chǎn)品具備硬件可配置能力,也就是說在K26上實(shí)現(xiàn)的解決方案是可擴(kuò)展,同時(shí)具備未來兼容能力。
原始運(yùn)算能力
就在邊緣設(shè)備上部署解決方案而言,硬件必須擁有充足的算力,才能處理ML算法工作負(fù)載。人們可以使用各種深度學(xué)習(xí)處理單元(DPU)配置對Kria K26 SOM進(jìn)行配置,還能根據(jù)性能要求,將最適用的配置整合到設(shè)計(jì)內(nèi)。例如,運(yùn)行在300MHz的DPU B3136的峰值性能是0.94TOPS。運(yùn)行在300MHz的DPU B4096的峰值性能是1.2TOPS,幾乎是Jetson Nano公布的峰值性能472GFLOPS的3倍。
支援更低精度數(shù)據(jù)類型
深度學(xué)習(xí)算法正在以極快的速度演進(jìn)發(fā)展,INT8、二進(jìn)制、三進(jìn)制等更低精度的數(shù)據(jù)類型和客制化客制數(shù)據(jù)正在進(jìn)入使用。GPU廠商難以滿足當(dāng)前的市場需求,因?yàn)樗麄儽仨毿薷?調(diào)整他們的架構(gòu),才能適應(yīng)并支持客制的或者更低精度的數(shù)據(jù)類型。Kria K26 SOM支持全系列數(shù)據(jù)類型精度,如PF32、INT8、二進(jìn)制和其他客制數(shù)據(jù)類型。此外,根據(jù)Mark Horowitz提供的數(shù)據(jù)點(diǎn),以較低精度數(shù)據(jù)類型進(jìn)行的運(yùn)算功耗更低,比如在INT8上進(jìn)行的運(yùn)算的功耗比在 FP32 上進(jìn)行的運(yùn)算低一個(gè)數(shù)量級。如圖2所示。
圖2 視覺AI入門套件
低延遲與低功耗
一般情況下,對于任何實(shí)現(xiàn)在多核心CPU、GPU或者任何SoC上的應(yīng)用設(shè)計(jì)而言,功耗可在總體上按如下估算大致進(jìn)行劃分:
? 核心=30%
? 內(nèi)部存儲器(L1、L2、L3)=30%
? 外部內(nèi)存(DDR)=40%
這就是GPU功耗高的主要原因。為改善軟件可程序設(shè)計(jì)能力,GPU架構(gòu)需要頻繁存取外部DDR。這種做法非常低效,有時(shí)候會(huì)對高帶寬設(shè)計(jì)要求造成瓶頸。相反,Zynq MPSoC架構(gòu)具有高能效,其可重配置能力便于開發(fā)者設(shè)計(jì)的應(yīng)用減少或不必存取外部內(nèi)存。這不僅有助于減少應(yīng)用的總功耗,也透過降低端到端延遲改善響應(yīng)能力。圖3所示為一種典型的汽車應(yīng)用架構(gòu),其中GPU與各個(gè)模塊的通訊都透過DDR實(shí)現(xiàn),而Zynq MPSoC組件采用的是在設(shè)計(jì)上避免存取任何DDR的高效率流水線。
圖3 典型的GPU與MPSoC架構(gòu)
透過靈活性實(shí)現(xiàn)低延遲
與數(shù)據(jù)流固定的GPU不同,賽靈思的硬件提供靈活性,以重新配置數(shù)據(jù)路徑,進(jìn)而實(shí)現(xiàn)較大吞吐量并降低延遲。此外,可程序設(shè)計(jì)的數(shù)據(jù)路徑也降低了對批處理的需求,而批處理是GPU的一個(gè)重大不足,需要在降低延遲或提高吞吐量間做出權(quán)衡。Kria SOM的架構(gòu)已在稀疏網(wǎng)絡(luò)中展示巨大潛力。稀疏網(wǎng)絡(luò)是當(dāng)前ML應(yīng)用中最熱門的趨勢之一。另一個(gè)重要特性是任意I/O連接,能進(jìn)一步提高Kria SOM靈活性,其使K26 SOM在毋需主機(jī)CPU的情況下,可以連接到任何設(shè)備、網(wǎng)絡(luò)或存儲設(shè)備。
剪枝優(yōu)勢降低模型復(fù)雜度
賽靈思提供AI優(yōu)化工具,能進(jìn)一步增強(qiáng)運(yùn)行在K26 SOM上的各種神經(jīng)網(wǎng)絡(luò)性能。本文提供的比較資料,到目前為止均是在未經(jīng)優(yōu)化或剪枝(Pruning)的原始模型上取得的。大多數(shù)神經(jīng)網(wǎng)絡(luò)通常都有過度參數(shù)化的情況,存在可以優(yōu)化的嚴(yán)重冗余。賽靈思的AI優(yōu)化器是一種模型壓縮技術(shù),該工具可在幾乎不影響精度的情況下,將模型復(fù)雜度最多降低50倍。
本文引用賽靈思所做的研究案例。這是一個(gè)擁有117千兆次運(yùn)算(Gops)的復(fù)雜SSD+VGG模型,其使用賽靈思AI優(yōu)化器工具迭代進(jìn)行優(yōu)化。圖4所示為使用AI優(yōu)化器工具為模型剪枝帶來的好處。
圖4 模型剪枝結(jié)果
作為基線,該模型運(yùn)算量為117Gops,運(yùn)行在用兩個(gè)B4096 DPU配置的Zynq UltraScale+ MPSoC上,最高FPS為18。經(jīng)過數(shù)次剪枝迭代,數(shù)據(jù)顯示復(fù)雜性明顯下降,F(xiàn)PS相應(yīng)增加,但未對精度(mAP)造成任何影響。在第11次迭代時(shí),復(fù)雜性降低10倍,從117Gops降低到11.6Gops;性能提高5倍,從18FPS提高到103FPS;精度僅下降1.1%,從61.55mAP下降到60.4mAP。
到這里,本文已對Kria K26 SOM與GPU的原始性能對比做了介紹。了解這種原始性能在實(shí)際用例中的意義至關(guān)重要。實(shí)際用例結(jié)構(gòu)復(fù)雜,涉及流水線中的其他模塊,如任何AI-ML應(yīng)用所需的預(yù)處理和后處理組件。在這類應(yīng)用中,最大吞吐量由流水線中性能最低的組件決定。
實(shí)際應(yīng)用性能比較
為了分析實(shí)際用例,本文選擇一種準(zhǔn)確檢測和識別車輛牌照、使用機(jī)器學(xué)習(xí)的應(yīng)用。賽靈思已與Uncanny Vision合作,旨在為市場提供較佳的汽車牌照(車牌)識別(ANPR)解決方案。這種應(yīng)用已得到世界上眾多城市的廣泛采用,用于智慧城市的建設(shè)中。ANPR的主要應(yīng)用包括自動(dòng)收費(fèi)管理系統(tǒng)、高速公路監(jiān)測系統(tǒng)、停車場門禁和安全門門禁。ANPR應(yīng)用是一種使用AI的流水線,內(nèi)含影片影像譯碼、圖像預(yù)處理、機(jī)器學(xué)習(xí)(檢測)和OCR字符識別,如圖5所示。
圖5 ALPR應(yīng)用的處理區(qū)塊
ANPR AI盒應(yīng)用一般從現(xiàn)貨IP攝影機(jī)攝入一個(gè)到多個(gè)H.264或H.265編碼的RTSP流并進(jìn)行譯碼(解壓縮)。譯碼的影像幀在被機(jī)器學(xué)習(xí)算法攝入前,先進(jìn)行預(yù)處理(通常是縮放、剪裁、色彩空間轉(zhuǎn)換和歸一化)。就高性能商用ANPR實(shí)現(xiàn)方案而言,通常需要多級AI流水線。第一個(gè)網(wǎng)絡(luò)的作用是檢測和定位幀內(nèi)的車輛。這項(xiàng)操作中還結(jié)合跨多幀追蹤車輛軌跡的算法和選擇最佳幀曝光,為OCR優(yōu)化圖像畫質(zhì)的算法。通常先剪裁和縮放車輛感興趣區(qū)域(ROI),然后饋入負(fù)責(zé)定位車牌的次級檢測網(wǎng)絡(luò)。
與車牌ROI有關(guān)的像素經(jīng)過剪裁和縮放,最終被饋送到負(fù)責(zé)實(shí)現(xiàn)OCR預(yù)測的最后一個(gè)神經(jīng)網(wǎng)絡(luò)。最后一級提供的元數(shù)據(jù)預(yù)測是壓印或印刷在車牌上或是以其他方式可見的字母數(shù)字字符。為了進(jìn)行比較,已部署在GPU和CPU上的Uncanny Vision ANPR應(yīng)用,為實(shí)現(xiàn)在Kria KV260視覺AI入門套件上的部署進(jìn)行了優(yōu)化。結(jié)果證明,將Uncanny Vision算法在Kria SOM上進(jìn)行部署后,打破100美元的價(jià)格壁壘,而且性能是Uncanny Vision先前同類SOM產(chǎn)品的2到3倍。
這些數(shù)據(jù)說明,Uncanny Vision的ANPR流水線在針對KV260入門套件進(jìn)行優(yōu)化后,實(shí)現(xiàn)超過33fps的吞吐量,這種較佳的性能水平為ANPR整合商和OEM廠商提供優(yōu)于競爭對手的開發(fā)靈活性。每多安裝一個(gè)AI盒都會(huì)直接影響安裝成本,還不考慮相關(guān)的布線和導(dǎo)管成本。
根據(jù)安裝的具體情況,設(shè)計(jì)師可以犧牲幀率來換取更大的每盒處理流數(shù)。對于停車場安裝(如停停走走、攔車桿和自由通行),推斷和捕獲幀率通常要達(dá)到10fps才可滿足要求,還能可靠地采集車牌元數(shù)據(jù)。這便于設(shè)計(jì)師將多個(gè)攝影機(jī)流聚合到單個(gè)AI盒,進(jìn)而節(jié)省每個(gè)閘門的總體資本支出(CAPEX)和營運(yùn)成本(OPEX)。在高速應(yīng)用中,如高速公路收費(fèi)和執(zhí)法,較高的幀率確保能夠準(zhǔn)確可靠地檢測和識別高速行駛中的車輛。在33fps的吞吐量下,與當(dāng)今市場上的解決方案相比,K26 SOM能夠更加可靠地為識別和證據(jù)收集提供支持。
大多數(shù)ANPR系統(tǒng)都需要在環(huán)境嚴(yán)苛的條件下運(yùn)行。I級的K26 SOM專為嚴(yán)酷環(huán)境開發(fā),支持-40至100℃的工作溫度范圍和三年保固。在采用K26I SOM后,與市場解決方案相比,ANPR系統(tǒng)的總體擁有成本顯著降低。
Uncanny Vision的ANPR應(yīng)用說明,K26 SOM不僅在標(biāo)準(zhǔn)性能比較中表現(xiàn)較佳,并且為開發(fā)者提供加速整體AI和視覺流水線所需的原始性能時(shí),效率也更高。透過對比,在標(biāo)準(zhǔn)的基準(zhǔn)檢驗(yàn)領(lǐng)域之外,競爭解決方案效率較低且功耗較高。
賽靈思透過開發(fā)各種工具、庫、框架和參考示例,為方便應(yīng)用做了大量工作,大幅簡化軟件開發(fā)者的開發(fā)工作。
AI開發(fā)工具包
Vitis AI開發(fā)環(huán)境由賽靈思Vitis AI開發(fā)工具包構(gòu)成,支持該公司SoC、Alveo加速器卡以及Kria SOM。其組成包括經(jīng)優(yōu)化的工具、庫和預(yù)訓(xùn)練模型,為開發(fā)者部署客制模型鋪平道路。其在設(shè)計(jì)時(shí)便充分考慮到高效率和易用性,在組件上釋放AI加速的潛力。
此外,Vitis AI整合Apache開源TVM項(xiàng)目,TVM依托開源小區(qū)和各類大型商業(yè)用戶提供的輸入,提供多樣化、緊跟時(shí)代、可擴(kuò)展的機(jī)器學(xué)習(xí)框架支持。TVM自動(dòng)運(yùn)行圖形分割和圖形編譯,基本上確保能夠部署來自任何框架的網(wǎng)絡(luò)運(yùn)算符,即使該運(yùn)算符并非原生地受到Vitis AI開發(fā)環(huán)境的支持。
事實(shí)上在TVM環(huán)境中,任何運(yùn)算符都能編譯到x86和Arm目標(biāo)組件上。這意謂著開發(fā)者可以迅速地部署模型,在賽靈思DPU上為Vitis AI開發(fā)環(huán)境支持的子圖加速,同時(shí)在CPU上部署圖形的其余部分。
SDK
PetaLinux是一種針對賽靈思SoC的嵌入式Linux軟件開發(fā)套件(SDK)。PetaLinux使用Yocto,是一種為構(gòu)建、開發(fā)、測試和部署嵌入式Linux系統(tǒng)提供一切必要內(nèi)容的開發(fā)工具。
PetaLinux工具包含:
? Yocto可擴(kuò)展SDK(eSDK)
? 賽靈思軟件命令行工具(XSCT)和工具鏈
? PetaLinux CLI工具
視覺庫
Vitis視覺庫用戶能在平臺上,開發(fā)和部署加速計(jì)算機(jī)視覺和圖像處理應(yīng)用,同時(shí)在應(yīng)用層面操作。這些開源庫功能提供使用OpenCV的接口,但專為賽靈思平臺的高性能和低資源耗用進(jìn)行了優(yōu)化。此外,它們也提供靈活性,可以滿足用戶視覺系統(tǒng)的自適應(yīng)吞吐量需求。
影像分析SDK
影像分析SDK是一種建構(gòu)在開源且被廣泛采用的GStreamer上的應(yīng)用框架。這種SDK設(shè)計(jì)上支持跨所有賽靈思平臺的開發(fā),包括FPGA、SoC、Alveo卡以及Kria SOM。使用該SDK,開發(fā)者毋需深入掌握FPGA復(fù)雜的底層技術(shù),就能裝配視覺分析和影像分析流水線。
此外,該SDK提供的API讓用戶能夠快速開發(fā)以GStreamer插件形式存在,能整合至SDK框架的高效客制加速核心。無論是否使用客制加速核心,一般的嵌入式開發(fā)者都能簡便輕松地裝配客制加速流水線。
加速應(yīng)用增強(qiáng)功能
加速應(yīng)用是Kria SOM解決方案的基本架構(gòu)。這些應(yīng)用是完整、可量產(chǎn)的端到端解決方案,專門支持常見的視覺用例。賽靈思加速應(yīng)用在可程序設(shè)計(jì)邏輯區(qū)域包含一個(gè)預(yù)優(yōu)化的視覺流水線加速器。開發(fā)者可按原狀使用,也可以進(jìn)一步優(yōu)化滿足應(yīng)用的特定需求。借助具有高可靠性的軟件協(xié)議堆棧,只修改韌體或倒換AI模型,用戶就能輕松地客制和增強(qiáng)解決方案功能。
K26 SOM在實(shí)際應(yīng)用下的性能較穩(wěn)定,提供顯著的性能優(yōu)勢。該產(chǎn)品的底層硬件功能強(qiáng)大,有助于在降低延遲和減少功耗的情況下為完整的應(yīng)用提速。對于ANPR應(yīng)用,K26 SOM性能較佳,憑借更高的吞吐量,用戶能夠在每個(gè)組件上處理更多,進(jìn)而降低總體成本。其具有更高吞吐量、更低延遲、更小功耗等優(yōu)勢,同時(shí)能夠?yàn)闈M足未來需求提供靈活性和可擴(kuò)展能力,Kria K26 SOM是在邊緣設(shè)備上實(shí)現(xiàn)使用視覺AI應(yīng)用的較佳選擇。
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4777瀏覽量
100970 -
二進(jìn)制
+關(guān)注
關(guān)注
2文章
795瀏覽量
41705 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8429瀏覽量
132852
原文標(biāo)題:機(jī)器學(xué)習(xí)迅速發(fā)展,邊緣設(shè)備實(shí)現(xiàn)視覺AI應(yīng)用
文章出處:【微信號:vision263com,微信公眾號:新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論