新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 如何選擇嵌入式系統(tǒng)中的視覺(jué)處理技術(shù)

如何選擇嵌入式系統(tǒng)中的視覺(jué)處理技術(shù)

作者: 時(shí)間:2012-06-21 來(lái)源:網(wǎng)絡(luò) 收藏


任何器在理論上都可以用于,目前最有可能的類(lèi)型是:

●高性能CPU

●專(zhuān)用標(biāo)準(zhǔn)產(chǎn)品(ASSP)與CPU相結(jié)合

●具有CPU的圖形單元(GPU)

●具有加速器以及CPU的數(shù)字信號(hào)

●移動(dòng)“應(yīng)用處理器”

●具有CPU的現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)

各類(lèi)處理器,及其在應(yīng)用上的關(guān)鍵優(yōu)缺點(diǎn)

高性能嵌入式CPU

在很多情況下,嵌入式CPU不能提供足夠的性能實(shí)現(xiàn)要求較高的算法——也不能夠以可以接受的價(jià)格或者功耗來(lái)滿(mǎn)足性能要求。通常,存儲(chǔ)器帶寬是關(guān)鍵性能瓶頸,因?yàn)橐曈X(jué)算法通常使用大量的數(shù)據(jù),不會(huì)重復(fù)訪(fǎng)問(wèn)相同的數(shù)據(jù)。嵌入式CPU的存儲(chǔ)器無(wú)法設(shè)計(jì)適應(yīng)這類(lèi)數(shù)據(jù)流。然而,與大部分處理器相類(lèi)似,隨著時(shí)間的推移,嵌入式CPU的性能在逐漸增強(qiáng),在某些情況下,能夠提供足夠的性能。

在可能的情況下,有足夠的理由在CPU上運(yùn)行視覺(jué)算法。首先,大部分嵌入式需要CPU來(lái)實(shí)現(xiàn)各種功能。如果所需要的視覺(jué)功能能夠通過(guò)這種CPU來(lái)實(shí)現(xiàn),那么,相對(duì)于多處理器解決方案相比,這降低了的復(fù)雜度。而且,大部分視覺(jué)算法一開(kāi)始是在PC上開(kāi)發(fā)的,使用了通用CPU及其相關(guān)的軟件開(kāi)發(fā)工具。PC CPU和嵌入式CPU (及其相關(guān)的工具)之間的相似性意味著,與其他類(lèi)型的嵌入式視覺(jué)處理器相比,一般比較容易在嵌入式CPU上通過(guò)嵌入方式實(shí)現(xiàn)視覺(jué)算法。最后,嵌入式CPU使用起來(lái)通常比其他類(lèi)型的嵌入式視覺(jué)處理器更簡(jiǎn)單,這是因?yàn)槠湎鄬?duì)直觀(guān)的體系結(jié)構(gòu)、成熟的工具以及其他的應(yīng)用開(kāi)發(fā)基礎(chǔ)支持平臺(tái)等,例如,操作系統(tǒng)。

結(jié)合了CPU的ASSP

ASSP是專(zhuān)用、集成度很高的芯片,定制用于特殊應(yīng)用或者專(zhuān)業(yè)應(yīng)用。ASSP可以采用CPU,或者使用單獨(dú)的CPU芯片。憑借專(zhuān)業(yè)化,與其他類(lèi)型的處理解決方案相比,ASSP通常具有優(yōu)異的成本和能效。在其他中,ASSP通過(guò)使用專(zhuān)用協(xié)處理器和加速器來(lái)提高效率。而且,由于ASSP主要集中在專(zhuān)業(yè)應(yīng)用上,因此,通常需要大量的應(yīng)用軟件。

這種專(zhuān)業(yè)化使得ASSP能夠?qū)崿F(xiàn)很高的效率,但是,也帶來(lái)了很大的局限:缺乏靈活性。設(shè)計(jì)用于某一應(yīng)用的ASSP一般不能用于其他應(yīng)用,甚至目標(biāo)應(yīng)用相關(guān)的應(yīng)用。ASSP使用唯一的體系結(jié)構(gòu),與其他類(lèi)型的處理器相比,更難進(jìn)行編程。實(shí)際上,某些ASSP并不支持用戶(hù)編程。另一方面的考慮是風(fēng)險(xiǎn)問(wèn)題。ASSP通常由小供應(yīng)商提供,這可能會(huì)增加難以提供芯片的風(fēng)險(xiǎn),或者無(wú)法提供后續(xù)產(chǎn)品以幫助系統(tǒng)設(shè)計(jì)人員更新其設(shè)計(jì),設(shè)計(jì)人員不得不從頭開(kāi)始進(jìn)行設(shè)計(jì)。

具有CPU的GPU

GPU主要是用于3D圖形,并且越來(lái)越多的用于實(shí)現(xiàn)其他功能,例如,視覺(jué)應(yīng)用等。目前,個(gè)人計(jì)算機(jī)的GPU傾向于可編程,除了3D圖形還能完成其他功能。這類(lèi)GPU被稱(chēng)為“通用GPU”,或者“GPGPU”。GPU有很強(qiáng)的并行處理能力。它們?cè)趥€(gè)人計(jì)算機(jī)上是獨(dú)一無(wú)二的??梢悦赓M(fèi)使用GPU軟件開(kāi)發(fā)工具,從GPGPU開(kāi)始進(jìn)行編程并不是很復(fù)雜。出于這些原因,在PC上第一次開(kāi)發(fā)其計(jì)算機(jī)視覺(jué)算法的開(kāi)發(fā)人員通常采用GPU作為并行處理引擎,他們出于仿真或者原型開(kāi)發(fā)的目的,需要加速算法的執(zhí)行。

GPU緊密集成了通用CPU,有時(shí)候是在同一芯片上。然而,GPU芯片的一種局限是目前能夠集成的CPU類(lèi)型有限,而且支持這類(lèi)集成的CPU操作系統(tǒng)也很有限。目前,可以提供設(shè)計(jì)用于智能電話(huà)和平板電腦等產(chǎn)品的低成本、低功耗GPU。但是,這些GPU一般不是GPGPU,因此,除了3D圖形之外,將其用在其他應(yīng)用中有很大的難度。

具有加速器以及CPU的數(shù)字信號(hào)處理器

數(shù)字信號(hào)處理器是專(zhuān)門(mén)用于信號(hào)處理算法和應(yīng)用的微處理器。對(duì)于視覺(jué)應(yīng)用核心的信號(hào)處理等任務(wù),這種專(zhuān)業(yè)化使得數(shù)字信號(hào)處理器的效率要遠(yuǎn)遠(yuǎn)高于通用CPU。而且,與其他類(lèi)型的并行處理器相比,數(shù)字信號(hào)處理器相對(duì)比較成熟,使用起來(lái)更方便。

但是,雖然數(shù)字信號(hào)處理器在視覺(jué)算法上的性能和效率要高于通用CPU,但仍然難以提供足夠的性能來(lái)滿(mǎn)足算法要求。出于這一原因,DSP一般需要一個(gè)或者多個(gè)輔助協(xié)處理器。因此,視覺(jué)應(yīng)用中一個(gè)典型的DSP芯片包括了CPU、數(shù)字信號(hào)處理器以及多個(gè)協(xié)處理器。這種異質(zhì)結(jié)合能夠產(chǎn)生很好的性能和很高的效率,但也難以編程。實(shí)際上,DSP供應(yīng)商一般不支持用戶(hù)對(duì)協(xié)處理器進(jìn)行編程;而是讓協(xié)處理器運(yùn)行芯片供應(yīng)商開(kāi)發(fā)的軟件函數(shù)庫(kù)。

移動(dòng)“應(yīng)用處理器”

移動(dòng)“應(yīng)用處理器”是集成度非常高的芯片系統(tǒng),一般主要設(shè)計(jì)用于智能電話(huà),而不是其他應(yīng)用。應(yīng)用處理器通常包括高性能CPU內(nèi)核,以及各種特殊的協(xié)處理器,例如,數(shù)字信號(hào)處理器、GPU、視頻處理單元(VPU)、2D圖形處理器,以及圖像采集處理器等。

這些芯片專(zhuān)門(mén)針對(duì)電池供電應(yīng)用進(jìn)行了設(shè)計(jì),因此,能效非常高。而且,由于圍繞智能電話(huà)和平板電腦的應(yīng)用越來(lái)越重要,因此,移動(dòng)應(yīng)用處理器一般有很強(qiáng)的軟件開(kāi)發(fā)基礎(chǔ)支持平臺(tái),包括,低成本開(kāi)發(fā)電路板、Linux和Android端口等。然而,正如前面章節(jié)對(duì)數(shù)字信號(hào)處理器的討論,應(yīng)用處理器中的專(zhuān)用協(xié)處理器一般不是用戶(hù)可編程的,限制了它們?cè)谝曈X(jué)應(yīng)用中的發(fā)展。

具有CPU的FPGA

FPGA是靈活的邏輯芯片,可以在門(mén)級(jí)和模塊級(jí)進(jìn)行重新配置。這一靈活性使得用戶(hù)能夠隨時(shí)實(shí)現(xiàn)定制滿(mǎn)足應(yīng)用需求的計(jì)算結(jié)構(gòu)。它還支持滿(mǎn)足應(yīng)用需求的I/O接口和片內(nèi)外設(shè)。能夠定制計(jì)算結(jié)構(gòu),結(jié)合現(xiàn)代FPGA中大量的資源,同時(shí)實(shí)現(xiàn)了高性能和良好的性?xún)r(jià)比和能效比。

但是,使用FGPA實(shí)際上是硬件設(shè)計(jì)功能,而不是軟件開(kāi)發(fā)工作。一般在寄存器傳送級(jí)(RTL)使用硬件描述語(yǔ)言(Verilog或者VHLD)來(lái)進(jìn)行FPGA設(shè)計(jì),寄存器傳送級(jí)是很低的抽象級(jí)。與使用本文討論的其他類(lèi)型的處理器相比,這使得FPGA設(shè)計(jì)非常耗時(shí),成本也高。

雖然如此,使用FPGA越來(lái)越方便了,這是由多種因素造成的。首先,是所謂的“IP模塊”庫(kù)——可重用FPGA設(shè)計(jì)組件庫(kù),其功能越來(lái)越強(qiáng)大了。在某些情況下,這些庫(kù)能夠直接滿(mǎn)足視覺(jué)算法要求。在其他一些應(yīng)用中,它們還支持視頻I/O端口或者掃描線(xiàn)緩沖等功能。而且,F(xiàn)GPA供應(yīng)商及其合作伙伴提供了越來(lái)越多的參考設(shè)計(jì)——采用了FPGA的可重用系統(tǒng)設(shè)計(jì),面向?qū)I(yè)應(yīng)用。最后,利用高級(jí)綜合工具,設(shè)計(jì)人員使用高級(jí)語(yǔ)言,在FPGA中實(shí)現(xiàn)視覺(jué)和其他算法,而且效率越來(lái)越高。用戶(hù)可以在FPGA中實(shí)現(xiàn)性能相對(duì)低一些的CPU。而且,在少量的應(yīng)用中,F(xiàn)PGA制造商在器件中集成了高性能CPU。

總結(jié)

采用嵌入式視覺(jué),業(yè)界進(jìn)入了一種“良性循環(huán)”,這是很多其他DSP應(yīng)用領(lǐng)域的特點(diǎn)。目前雖然很少有專(zhuān)門(mén)用于嵌入式視覺(jué)應(yīng)用的芯片,但是,這些應(yīng)用越來(lái)越多的采用了針對(duì)其他應(yīng)用開(kāi)發(fā)的高性能、高性?xún)r(jià)比處理芯片,包括,數(shù)字信號(hào)處理器、CPU、FPGA和GPU等。這些芯片單位成本、單位功率的可編程性能越來(lái)越高,因此,能夠支持實(shí)現(xiàn)大批量嵌入式視覺(jué)產(chǎn)品。這些大批量應(yīng)用也相應(yīng)的引起了硅片提供商更多的關(guān)注,他們會(huì)提供更好的性能、更高的效率和可編程處理能力。嵌入式視覺(jué)聯(lián)盟還可以幫助工程師利用這些芯片來(lái)開(kāi)發(fā)多種新奇的產(chǎn)品。

本文引用地址:http://m.butianyuan.cn/article/148888.htm
linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉