神經(jīng)網(wǎng)絡(luò)協(xié)同處理器降低視覺處理功耗
嵌入式視覺(EV)系統(tǒng)的成長正推動對于更高性能與節(jié)能的視覺處理能力需求。包括AMD、CEVA、Imagination、英特爾(Intel)、Nvidia以及ARM的授權(quán)客戶等業(yè)界多家公司均積極因應(yīng)這一成長中的趨勢,利用FPGA、FPGA/MPU組合、GPU與專用異質(zhì)多核心等各種不同的硬體,為設(shè)計任務(wù)實(shí)現(xiàn)最佳化。
本文引用地址:http://m.butianyuan.cn/article/201710/366861.htm新思科技(Synopsys Inc.)日前發(fā)布另一種解決方案——DesignWare EV處理器核心(IP)系列,專為整合于具有多顆CPU的SoC而設(shè)計,無論是采用來自ARM、英特爾、Imagination MIPS或PowerPC等其他CPU均可相容。
該IP核心系列目前包括EV52與EV54兩款可為視覺運(yùn)算應(yīng)用最佳化的產(chǎn)品,采用28nm制程制造。EV52搭載基于該公司ARC指令集的雙核心 RISC處理器,以高達(dá)1GHz的頻率作業(yè);而EV54則采用四核心建置,提供較EV52更高的性能。兩款產(chǎn)品均內(nèi)建2-8個可編程配置的物件偵測引擎處理單元(PE)。
Synopsys的視覺處理器結(jié)合基于ARC的RISC核心,以及卷積神經(jīng)網(wǎng)路偵測引擎處理單元。
EV52和EV54處理器利用‘卷積神經(jīng)網(wǎng)路’(CNN)演算法——從人腦處理視覺資訊方式取得靈感,為視覺運(yùn)算應(yīng)用實(shí)現(xiàn)最佳化。CNN利用前饋人工神經(jīng)網(wǎng)路,其中,個別神經(jīng)元以一種反應(yīng)視線內(nèi)重疊區(qū)域的方式拼接排列。這種重疊是人眼得以追蹤動作、辨識環(huán)境變化、區(qū)別不同物體以及反應(yīng)臉部表情細(xì)微變化的重要關(guān)鍵。
Synopsys DesignWare ARC處理器資深產(chǎn)品行銷經(jīng)理Mike Thompson介紹:“該EV處理器系列是專為以1,000GOPS/W的性能執(zhí)行CNN計算而設(shè)計的,它僅需使用約競爭視覺方案一小部份的功耗,即可為一系列廣泛的物件應(yīng)用實(shí)現(xiàn)更迅速與準(zhǔn)確的偵測。”
Thompson指出,“雖然有多種視覺辨識演算法競相爭寵,我們一直認(rèn)為CNN具有最重大進(jìn)展,而且也是目前我們看到在目標(biāo)應(yīng)用中最佳的物件辨識方案,可作為相機(jī)、可穿戴式裝置、家庭自動化、DTV、虛擬實(shí)境、游戲、機(jī)器人、數(shù)位看板、醫(yī)療與車載資訊娛樂系統(tǒng)等目標(biāo)應(yīng)用的理想選擇。”
Synopsys目前正與嵌入式視覺市場中的多家廠商合作,包括Nvidia、CEVA、微軟(Microsoft)等。然而,雖然透過CNN能夠取得超過95%的準(zhǔn)確結(jié)果,但問題仍取決于如何在市場可接受的功耗/性能范圍內(nèi)達(dá)到這樣的準(zhǔn)確度。
Thompson表示,通用處理器(GPP)雖可用于視覺處理,但由于缺乏先進(jìn)的數(shù)學(xué)運(yùn)算資源而使其速度過于緩慢;繪圖處理器(GPU)雖然有必要的數(shù)學(xué)運(yùn)算資源,但卻缺少有效移動視覺資料的能力,使其視覺性能相對較低而功耗相對較高。
“我們提出的協(xié)同處理器策略將有助于使CNN成本降低到可負(fù)擔(dān)的范圍,以及可應(yīng)用在消費(fèi)產(chǎn)品的功耗水平。”Thompson以一系列典型物件偵測與手勢辦識應(yīng)用的比較為例表示,EV處理器執(zhí)行視覺任務(wù)的功耗大約比其他視覺解決方案的功耗更低5倍。采用內(nèi)建EV處理器的SoC以每秒30格的視訊處理速率執(zhí)行一項臉部偵測任務(wù)時,大約僅需175mW的功耗。相形之下,如果采用GPU來執(zhí)行相同任務(wù)的話,至少需要更高8-10倍的功耗。
以每瓦數(shù)十億次作業(yè)為衡量基準(zhǔn),EV處理器(最右)的執(zhí)行效率超越了其他視覺方案的物件偵測與分析能力。
嵌入式視覺導(dǎo)入CNN演算法
為了將1或多個EV處理器整合于SoC,Synopsys利用與主處理器平行/同步作業(yè)的方式——透過復(fù)雜和高效的訊息傳送設(shè)定以及中斷機(jī)制,讓不同卷積物件偵測引擎處理單元與其他處理器核心之間實(shí)現(xiàn)通訊(圖3)。ARC EV處理器可經(jīng)由編程實(shí)現(xiàn)自動化作業(yè),或者,當(dāng)應(yīng)用必須符合特定的功耗/性能限制時,開發(fā)人員也可以選擇盡量在EV處理器與主處理器之間實(shí)現(xiàn)最多的控制與功能共享。
EV處理器的核心是物件偵測引擎,其中包含2-8顆專用的處理單元。
Thompson說:“PE的數(shù)量是由用戶在建構(gòu)設(shè)計時所配置的,就像在PE之間的串流互連網(wǎng)路一樣——在所有的PE之間配置靈活的點(diǎn)對點(diǎn)互連。取決于物件偵測引擎上的CNN繪圖執(zhí)行情況,每個點(diǎn)或連線均可動態(tài)改變。”
該架構(gòu)的建置在于讓EV處理器記憶體映射可完全由主處理器進(jìn)行存取,這將能夠讓主處理器一方面持續(xù)進(jìn)行控制,同時讓所有的視覺處理任務(wù)卸載至EV單元,主處理器與EV處理器二者均可降低功耗,并加速關(guān)鍵的視覺任務(wù)進(jìn)行。
此外,Thompson強(qiáng)調(diào),這種方法還可讓各種不同的視覺處理單元都能與主處理器即時通訊。為了讓EV之間以及與主處理器之間的通訊更有效率,每個EV 處理器都能存取儲存于SoC記憶體映射區(qū)的影像,或是在需要時透過內(nèi)建的AMBA AXI標(biāo)準(zhǔn)系統(tǒng)介面存取晶片外接記憶體資源。
為CNN開發(fā)提供軟體套件
Thompson指出,由于CNN存在一定的復(fù)雜度,就算采用了EV硬體,為特定視覺處理應(yīng)用推出適合的演算法組合仍然是一項困難的任務(wù)。為了協(xié)助開發(fā)商減輕一些責(zé)任,Synopsys提供了一套完整的工具庫與參考設(shè)計,讓開發(fā)人員能更有效率地建構(gòu)、除錯、配置,以及利用業(yè)界標(biāo)準(zhǔn)且開放源碼的嵌入式視覺工具鏈OpenCV和OpenVX,為其嵌入式視覺系統(tǒng)實(shí)現(xiàn)最佳化。
該最佳化的工具套件內(nèi)含ARC EV處理器,以及超過2,500項OpenCV功能,可實(shí)現(xiàn)即時電腦視覺。此外,該工具套件還提供具有43種標(biāo)準(zhǔn)電腦視覺核心的OpenVX架構(gòu),可實(shí)現(xiàn)邊緣偵測、建立影像金字塔以及光流評估,這些功能均已為執(zhí)行于EV處理器實(shí)現(xiàn)最佳化。
Thompson還表示,由于EV處理器是可編程的,因而可加以訓(xùn)練用于支援任何物件檢測圖,以及導(dǎo)入新的OpenVX核心定義。一次OpenVX的運(yùn)行時間可將排列的核心執(zhí)行分配在EV處理器的多個執(zhí)行單元上,從而簡化了該處理器的編程。
在用于設(shè)計EV核心時,可透過ARChitect工具發(fā)表與配置ARC EV處理器。該工具合成了可整合于任何SoC設(shè)計的RTL,以支援任何主處理器,包括ARM、英特爾、Imagination MIPS與PowerPC等。為了進(jìn)一步加速軟體開發(fā),虛擬原型機(jī)將可用于EV處理器,以及支援基于FPGA的原型設(shè)計,在制造晶片之前實(shí)現(xiàn)硬體和軟體協(xié)同設(shè)計。
“嵌入式視覺是一個快速變化的環(huán)境,”Thompson說,“現(xiàn)在,CNN看來是最佳的發(fā)展方向。但是,未來也可能發(fā)生改變。除了找到能夠滿足當(dāng)今應(yīng)用的成本和功耗需求的解決方案以外,我們希望為開發(fā)人員提供一種更有效的方法,在中期改變其設(shè)計任務(wù),而無需回到起點(diǎn)重新設(shè)計。”
評論