<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 嵌入式視覺技術(shù)--潛力巨大,有待開發(fā)

          嵌入式視覺技術(shù)--潛力巨大,有待開發(fā)

          作者: 時間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

          具有CPU的GPU

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

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

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

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

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

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

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

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

          具有CPU的FPGA

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

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

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

          傳感器扮演什么角色?

          很明顯,圖形傳感器是技術(shù)的關(guān)鍵。圖形傳感器在近年來已變得比較不那么昂貴了,這主要可歸功于行動電話普遍且大量且地采用了圖形傳感器。除了傳統(tǒng)的圖形傳感器以外,許多視覺應(yīng)用都可以利用各式各樣的傳感器。例如,3D傳感器在微軟Kinect的應(yīng)用即其一例,3D傳感器可說是許多應(yīng)用的一大福音,因為有了3D影像后確實簡化了一些視覺任務(wù)。

          在深入探索嵌入式系統(tǒng)以前,必須先具備哪些電腦視覺知識呢?

          大多數(shù)的嵌入式系統(tǒng)設(shè)計工程師并不了解技術(shù)具有什么樣的能力。這是因為,一直到最近以前,在大多數(shù)的嵌入式系統(tǒng)中使用視覺技術(shù)仍不切實際;它畢竟還是太昂貴了。而今,為一系列廣泛的各種系統(tǒng)進一步納入視覺性能,在經(jīng)濟上已經(jīng)變得較為可行了;因此,對于系統(tǒng)設(shè)計者而言,熟悉這項技術(shù)、并進一步了解這項技術(shù)能做些什么是相當(dāng)重要的。

          早期采用視覺技術(shù)的工程師們現(xiàn)在已經(jīng)可以拿出一些令人驚喜的新產(chǎn)品和產(chǎn)品功能了。當(dāng)然,工程師們不僅需要了解視覺技術(shù)能做什么,同時也要學(xué)會如何把視覺技術(shù)整合于自己的產(chǎn)品中。在這方面,目前雖然已經(jīng)累積了一些龐大的出版文獻(xiàn)可供參考,但其中絕大多數(shù)都是學(xué)術(shù)研究出版品,以及一些通常不適合協(xié)助工程師用于構(gòu)建解決方案的文獻(xiàn)。工程師們需要的是更實際的資訊,如指導(dǎo)方針、設(shè)計實例、架構(gòu)圖以及樣本程式碼等。

          嵌入式視覺

          系統(tǒng)開發(fā)平臺

          從頭開始打造一款視覺系統(tǒng)或子系統(tǒng),可說是一項龐大且復(fù)雜的工作。你必須從像影像傳感器與處理器等這一類的基本元素開始,以及從無到有著手建立一種演算法。這對于資源的利用而言,并不是非常有效率的作法,特別是因為在視覺應(yīng)用中還存在著不斷周而復(fù)始出現(xiàn)的共同問題。

          工程師們最好不要選擇這種卷土重來的做法,他們應(yīng)該能夠針對特定應(yīng)用的一些共同元素,重新使用業(yè)經(jīng)驗證的解決方案,然后再將自己的專才發(fā)揮在其設(shè)計獨特之處。我個人認(rèn)為,這意味著我們需要專門針對視覺應(yīng)用的先進開發(fā)平臺,例如,其中包括開發(fā)板以及合適的處理器、記憶體、I/O和圖形傳感器的視覺開發(fā)平臺。同時還伴隨有建置一個或多個視覺應(yīng)用案例的應(yīng)用軟件。此外,這一視覺開發(fā)平臺也提供了源代碼,使工程師們能夠參考這些范例應(yīng)用立即開始工作,并對其設(shè)計進行修改,或添加所需的獨特功能。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();