嵌入式視覺(jué)技術(shù)--潛力巨大,有待開(kāi)發(fā)
“嵌入式視覺(jué)”這一名詞是指在嵌入式系統中使用計算機視覺(jué)技術(shù)。換句話(huà)說(shuō),“嵌入式視覺(jué)”是指從視覺(jué)輸入中提取出其背后含義的嵌入式系統。與過(guò)去10年中無(wú)線(xiàn)通信技術(shù)的流行相類(lèi)似,嵌入式視覺(jué)技術(shù)有望在今后10年得到廣泛應用。而在實(shí)際的應用系統中,嵌入式視覺(jué)技術(shù)如何才能發(fā)揮它的真正潛力呢?
本文引用地址:http://dyxdggzs.com/article/201609/304510.htm在缺乏共通標準而使嵌入式視覺(jué)技術(shù)發(fā)展受阻之際,需要一種兼容各層面功能的標準,才能真正開(kāi)啟并普及嵌入式視覺(jué)應用。例如,如果基于手勢的用戶(hù)介面變得普及,對于用戶(hù)而言,能夠使用一套具有多種不同機制的通用手勢功能將會(huì )變得十分重要。而如果3D成像成為視覺(jué)應用的共同工具,那么不管使用什么樣的傳感器,我們都將必須為視覺(jué)應用找到一個(gè)重現3D圖形數據的共同方式。
而對于嵌入式視覺(jué)系統所用的處理器,視覺(jué)演算法與應用大大地延伸了處理器性能要求的范圍,就運算能力的這一點(diǎn)而言,處理器的性能至關(guān)重要。但當你跨越學(xué)術(shù)研究到實(shí)際系統的鴻溝,采用先進(jìn)演算法以即時(shí)執行視頻輸入時(shí),卻不可避免地會(huì )消耗掉許多的處理功率。在許多嵌入式系統中,設計人員面臨著(zhù)尺寸、功耗與成本等嚴苛的限制條件,因此,能夠以低成本與低功耗提供充份的處理能力是至關(guān)重要的。
而在其它一些要求大量運算的嵌入式處理領(lǐng)域──如隨即浮現于我腦海中的消費性視頻設備──在某種程度上而言,演算法是標準化的。這意味著(zhù)芯片設計人員可以使用功能固定的硬件加速器和協(xié)同處理器,以低功耗和低成本提供大量的處理器運算性能。
但在視覺(jué)應用方面,不同的應用之間往往采用不同的演算法,甚至是在同一款應用中,所用的演算法也可能因設計不同或時(shí)間不同而異。因此,除了極其少數的一些大量應用以外,功能固定的硬件往往無(wú)法作為解決方案。在嵌入式視覺(jué)系統中,我們需要的處理器必須能夠以低成本與低功耗,提供每秒數十億次即時(shí)運算處理性能,并具有彈性化的可編程性能。過(guò)去幾年來(lái),已經(jīng)有這樣的處理器問(wèn)世,并可協(xié)助嵌入式視覺(jué)技術(shù)進(jìn)一步導入主流應用中。

處理器類(lèi)別的選擇
視覺(jué)算法通常需要很強的計算能力。當然,所有的嵌入式系統一般都受限于嚴格的成本和功耗要求。在其他DSP應用領(lǐng)域,例如,數字無(wú)線(xiàn)通信等,芯片設計人員使用專(zhuān)用協(xié)處理器和加速器來(lái)完成應用所要求的苛刻的處理任務(wù),同時(shí)滿(mǎn)足了高性能、低成本和低功耗需求,從而解決了這一難題。但是,芯片用戶(hù)一般不能對這些協(xié)處理器和加速器進(jìn)行編程。
無(wú)線(xiàn)應用通常能夠接受這些優(yōu)缺點(diǎn),無(wú)線(xiàn)應用標準意味著(zhù)不同設備設計人員使用的算法之間有很強的共性。然而在視覺(jué)應用中,對算法的選擇并沒(méi)有標準約束。相反,一般可以選擇很多方法來(lái)解決某一特殊的視覺(jué)問(wèn)題。因此,視覺(jué)算法是非常多樣的,往往隨著(zhù)時(shí)間的變化而迅速變化。結果,與數字無(wú)線(xiàn)和以壓縮技術(shù)為主的消費類(lèi)視頻設備等應用相比,視覺(jué)應用并不傾向于采用非可編程加速器和協(xié)處理器。
但是很難同時(shí)實(shí)現高性能、低成本和低功耗以及可編程功能。專(zhuān)用硬件通常能夠以低成本實(shí)現高性能,但是可編程能力較弱。通用CPU具有可編程能力,但是性能較差,性?xún)r(jià)比不高,能效也較低。要求較高的嵌入式視覺(jué)應用通常結合使用多個(gè)處理單元,例如,可能會(huì )包括:
●通用CPU,用于啟發(fā)式復雜判決、網(wǎng)絡(luò )訪(fǎng)問(wèn)、用戶(hù)接口、存儲管理和總體控制等。
●高性能數字信號處理器,用于實(shí)時(shí)中等速率處理,不太復雜的算法等。
●用于簡(jiǎn)單算法像素速率處理的一個(gè)或者多個(gè)高度并行的引擎。
任何處理器在理論上都可以用于嵌入式視覺(jué),目前最有可能的類(lèi)型是:
●高性能嵌入式CPU
●專(zhuān)用標準產(chǎn)品(ASSP)與CPU相結合
●具有CPU的圖形處理單元(GPU)
●具有加速器以及CPU的數字信號處理器
●移動(dòng)“應用處理器”
●具有CPU的現場(chǎng)可編程門(mén)陣列(FPGA)
各類(lèi)處理器,及其在嵌入式視覺(jué)應用上的關(guān)鍵優(yōu)缺點(diǎn)

高性能嵌入式CPU
在很多情況下,嵌入式CPU不能提供足夠的性能實(shí)現要求較高的視覺(jué)算法——也不能夠以可以接受的價(jià)格或者功耗來(lái)滿(mǎn)足性能要求。通常,存儲器帶寬是關(guān)鍵性能瓶頸,因為視覺(jué)算法通常使用大量的數據,不會(huì )重復訪(fǎng)問(wèn)相同的數據。嵌入式CPU的存儲器系統無(wú)法設計適應這類(lèi)數據流。然而,與大部分處理器相類(lèi)似,隨著(zhù)時(shí)間的推移,嵌入式CPU的性能在逐漸增強,在某些情況下,能夠提供足夠的性能。
在可能的情況下,有足夠的理由在CPU上運行視覺(jué)算法。首先,大部分嵌入式系統需要CPU來(lái)實(shí)現各種功能。如果所需要的視覺(jué)功能能夠通過(guò)這種CPU來(lái)實(shí)現,那么,相對于多處理器解決方案相比,這降低了系統的復雜度。而且,大部分視覺(jué)算法一開(kāi)始是在PC上開(kāi)發(fā)的,使用了通用CPU及其相關(guān)的軟件開(kāi)發(fā)工具。PC CPU和嵌入式CPU (及其相關(guān)的工具)之間的相似性意味著(zhù),與其他類(lèi)型的嵌入式視覺(jué)處理器相比,一般比較容易在嵌入式CPU上通過(guò)嵌入方式實(shí)現視覺(jué)算法。最后,嵌入式CPU 使用起來(lái)通常比其他類(lèi)型的嵌入式視覺(jué)處理器更簡(jiǎn)單,這是因為其相對直觀(guān)的體系結構、成熟的工具以及其他的應用開(kāi)發(fā)基礎支持平臺等,例如,操作系統。
結合了CPU的ASSP
ASSP 是專(zhuān)用、集成度很高的芯片,定制用于特殊應用或者專(zhuān)業(yè)應用。ASSP可以采用CPU,或者使用單獨的CPU芯片。憑借專(zhuān)業(yè)化,與其他類(lèi)型的處理解決方案相比,ASSP通常具有優(yōu)異的成本和能效。在其他技術(shù)中,ASSP通過(guò)使用專(zhuān)用協(xié)處理器和加速器來(lái)提高效率。而且,由于A(yíng)SSP主要集中在專(zhuān)業(yè)應用上,因此,通常需要大量的應用軟件。
這種專(zhuān)業(yè)化使得ASSP能夠實(shí)現很高的效率,但是,也帶來(lái)了很大的局限:缺乏靈活性。設計用于某一應用的 ASSP一般不能用于其他應用,甚至目標應用相關(guān)的應用。ASSP使用唯一的體系結構,與其他類(lèi)型的處理器相比,更難進(jìn)行編程。實(shí)際上,某些ASSP并不支持用戶(hù)編程。另一方面的考慮是風(fēng)險問(wèn)題。ASSP通常由小供應商提供,這可能會(huì )增加難以提供芯片的風(fēng)險,或者無(wú)法提供后續產(chǎn)品以幫助系統設計人員更新其設計,設計人員不得不從頭開(kāi)始進(jìn)行設計。
評論