日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 工業(yè)控制 > 電子設(shè)計自動化
[導(dǎo)讀] 作者:嵌入式視覺聯(lián)盟 BDTI創(chuàng)始人兼總裁Jeff Bier隨著功能越來越強大的處理器、圖像傳感器、存儲器和其他半導(dǎo)體器件以及相關(guān)算法的出現(xiàn),可以在多種嵌入式系統(tǒng)中實現(xiàn)計算機視覺功能,通過視頻輸入來分析周圍環(huán)境。微

 

作者:嵌入式視覺聯(lián)盟 BDTI創(chuàng)始人兼總裁Jeff Bier

隨著功能越來越強大的處理器、圖像傳感器、存儲器和其他半導(dǎo)體器件以及相關(guān)算法的出現(xiàn),可以在多種嵌入式系統(tǒng)中實現(xiàn)計算機視覺功能,通過視頻輸入來分析周圍環(huán)境。微軟的Kinect游戲控制器和Mobileye的輔助駕駛系統(tǒng)等產(chǎn)品都非常重視嵌入式視覺技術(shù)的發(fā)展?jié)摿Α=Y(jié)果,很多嵌入式系統(tǒng)設(shè)計人員開始思考如何實現(xiàn)嵌入式視覺功能。本文研究嵌入式視覺的發(fā)展機遇,對比實現(xiàn)這一技術(shù)的各種處理器選擇,介紹幫助工程師在其設(shè)計中采用視覺功能的業(yè)界聯(lián)盟。

“嵌入式視覺”這一名詞是指在嵌入式系統(tǒng)中使用計算機視覺技術(shù)。換句話說,“嵌入式視覺”是指從視覺輸入中提取出其背后含義的嵌入式系統(tǒng)。與過去10年中無線通信技術(shù)的流行相類似,嵌入式視覺技術(shù)有望在今后10年得到廣泛應(yīng)用。

很明顯,嵌入式視覺技術(shù)能夠為多種應(yīng)用帶來巨大的價值(圖1)。兩個例子是,Mobileye基于視覺的輔助駕駛系統(tǒng),用于幫助防止車輛事故的發(fā)生;以及MG國際公司的泳池安全系統(tǒng),旨在防止游泳溺水。還有一些純粹的怪才發(fā)明,Intellectual Ventures的激光滅蚊槍,設(shè)計用于防止人們感染瘧疾等。

圖1.嵌入式視覺是從計算機視覺應(yīng)用開始的,這些應(yīng)用包括,裝配線檢查、光學(xué)字符識別、機器人技術(shù)、監(jiān)控和軍事系統(tǒng)等。但是,最近幾年,對降低成本提高性能的需求加速了這一技術(shù)在各種其他市場上的廣泛應(yīng)用。

正如同高速無線互聯(lián)是從高成本新奇技術(shù)起步一樣,目前為止,嵌入式視覺技術(shù)一般只用于復(fù)雜昂貴的系統(tǒng)中,例如,毛發(fā)移植的手術(shù)機器人,制造業(yè)的質(zhì)量控制檢查系統(tǒng)等。

數(shù)字集成電路的發(fā)展是高速無線技術(shù)從新奇發(fā)展到主流的關(guān)鍵因素。芯片速度足夠快,成本足夠低,能效足夠高時,高速無線技術(shù)便成為市場主流技術(shù)。今天,人們能夠以不到100美元的價格購買寬帶無線調(diào)制解調(diào)器。

同樣的,數(shù)字芯片技術(shù)的進(jìn)步為嵌入式視覺的大批量應(yīng)用鋪平了道路(圖2)。與無線通信相似,嵌入式視覺需要很強的處理能力——特別是,越來越多的應(yīng)用采用了高分辨率攝像機,開始使用多臺攝像機。以足夠低的成本實現(xiàn)這類處理能力,從而促進(jìn)大批量應(yīng)用,這是一個很大的挑戰(zhàn)。事實是嵌入式視覺應(yīng)用需要很強的可編程能力,進(jìn)一步增大了這一挑戰(zhàn)的難度。在無線應(yīng)用中,標(biāo)準(zhǔn)意味著不同手機之間的基帶算法不會有太大的變化,與之相比,在嵌入式視覺應(yīng)用中,通過獨特的算法,有可能得到更好的結(jié)果——實現(xiàn)更有價值的功能。


圖2.嵌入式視覺輔助系統(tǒng)涉及到硬件、半導(dǎo)體和軟件元器件供應(yīng)商,子系統(tǒng)開發(fā)人員、系統(tǒng)集成商,以及最終用戶,還有實現(xiàn)未來突破的基礎(chǔ)研究等。本文主要關(guān)注圖中顯示的嵌入式視覺算法處理技術(shù)。

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

處理選擇

如前所述,視覺算法通常需要很強的計算能力。當(dāng)然,所有的嵌入式系統(tǒng)一般都受限于嚴(yán)格的成本和功耗要求。在其他DSP應(yīng)用領(lǐng)域,例如,數(shù)字無線通信等,芯片設(shè)計人員使用專用協(xié)處理器和加速器來完成應(yīng)用所要求的苛刻的處理任務(wù),同時滿足了高性能、低成本和低功耗需求,從而解決了這一難題。但是,芯片用戶一般不能對這些協(xié)處理器和加速器進(jìn)行編程。

無線應(yīng)用通常能夠接受這些優(yōu)缺點,無線應(yīng)用標(biāo)準(zhǔn)意味著不同設(shè)備設(shè)計人員使用的算法之間有很強的共性。然而在視覺應(yīng)用中,對算法的選擇并沒有標(biāo)準(zhǔn)約束。相反,一般可以選擇很多方法來解決某一特殊的視覺問題。因此,視覺算法是非常多樣的,往往隨著時間的變化而迅速變化。結(jié)果,與數(shù)字無線和以壓縮技術(shù)為主的消費類視頻設(shè)備等應(yīng)用相比,視覺應(yīng)用并不傾向于采用非可編程加速器和協(xié)處理器。

但是很難同時實現(xiàn)高性能、低成本和低功耗以及可編程功能。專用硬件通常能夠以低成本實現(xiàn)高性能,但是可編程能力較弱。通用CPU具有可編程能力,但是性能較差,性價比不高,能效也較低。要求較高的嵌入式視覺應(yīng)用通常結(jié)合使用多個處理單元,例如,可能會包括:

●通用CPU,用于啟發(fā)式復(fù)雜判決、網(wǎng)絡(luò)訪問、用戶接口、存儲管理和總體控制等。

●高性能數(shù)字信號處理器,用于實時中等速率處理,不太復(fù)雜的算法等。

●用于簡單算法像素速率處理的一個或者多個高度并行的引擎。

任何處理器在理論上都可以用于嵌入式視覺,目前最有可能的類型是:

●高性能嵌入式CPU

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

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

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

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

●具有CPU的現(xiàn)場可編程門陣列(FPGA)

各類處理器,及其在嵌入式視覺應(yīng)用上的關(guān)鍵優(yōu)缺點

高性能嵌入式CPU

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

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

結(jié)合了CPU的ASSP

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

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

具有CPU的GPU

GPU主要是用于3D圖形,并且越來越多的用于實現(xiàn)其他功能,例如,視覺應(yīng)用等。目前,個人計算機的GPU傾向于可編程,除了3D圖形還能完成其他功能。這類GPU被稱為“通用GPU”,或者“GPGPU”。GPU有很強的并行處理能力。它們在個人計算機上是獨一無二的??梢悦赓M使用GPU軟件開發(fā)工具,從GPGPU開始進(jìn)行編程并不是很復(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é)處理器進(jìn)行編程;而是讓協(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)用進(jìn)行了設(shè)計,因此,能效非常高。而且,由于圍繞智能電話和平板電腦的應(yīng)用越來越重要,因此,移動應(yīng)用處理器一般有很強的軟件開發(fā)基礎(chǔ)支持平臺,包括,低成本開發(fā)電路板、Linux和Android端口等。然而,正如前面章節(jié)對數(shù)字信號處理器的討論,應(yīng)用處理器中的專用協(xié)處理器一般不是用戶可編程的,限制了它們在視覺應(yīng)用中的發(fā)展。

具有CPU的FPGA

FPGA是靈活的邏輯芯片,可以在門級和模塊級進(jìn)行重新配置。這一靈活性使得用戶能夠隨時實現(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)來進(jìn)行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。

總結(jié)

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

 

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

在工業(yè)物聯(lián)網(wǎng)設(shè)備部署中,Modbus通信故障是導(dǎo)致系統(tǒng)停機的首要原因之一。據(jù)統(tǒng)計,超過60%的現(xiàn)場問題源于通信配置錯誤或數(shù)據(jù)解析異常。本文從嵌入式系統(tǒng)開發(fā)視角,系統(tǒng)闡述Modbus通信調(diào)試的方法論,結(jié)合實際案例解析如何高...

關(guān)鍵字: 嵌入式系統(tǒng) Modbus通信

在嵌入式系統(tǒng)開發(fā)中,看門狗(Watchdog Timer, WDT)是保障系統(tǒng)可靠性的核心組件,其初始化時機的選擇直接影響系統(tǒng)抗干擾能力和穩(wěn)定性。本文從硬件架構(gòu)、軟件流程、安全規(guī)范三個維度,系統(tǒng)分析看門狗初始化的最佳實踐...

關(guān)鍵字: 單片機 看門狗 嵌入式系統(tǒng)

設(shè)計了一種智能噴涂工作站 ,基于搬運與噴涂的多機器人協(xié)作 , 利用python結(jié)合0pencv編寫視覺系統(tǒng) , 實現(xiàn)了取料 、視覺識別 、噴涂 、放料的智能化生產(chǎn)。

關(guān)鍵字: 多機器人協(xié)作 噴涂 視覺 智能化生產(chǎn)

人工智能(AI)和機器學(xué)習(xí)(ML)是使系統(tǒng)能夠從數(shù)據(jù)中學(xué)習(xí)、進(jìn)行推理并隨著時間的推移提高性能的關(guān)鍵技術(shù)。這些技術(shù)通常用于大型數(shù)據(jù)中心和功能強大的GPU,但在微控制器(MCU)等資源受限的器件上部署這些技術(shù)的需求也在不斷增...

關(guān)鍵字: 嵌入式系統(tǒng) 人工智能 機器學(xué)習(xí)

Zephyr開源項目由Linux基金會維護,是一個針對資源受限的嵌入式設(shè)備優(yōu)化的小型、可縮放、多體系結(jié)構(gòu)實時操作系統(tǒng)(RTOS)。近年來,Zephyr RTOS在嵌入式開發(fā)中的采用度逐步增加,支持的開發(fā)板和傳感器不斷增加...

關(guān)鍵字: 嵌入式系統(tǒng) 軟件開發(fā) 實時操作系統(tǒng) Zephyr項目

在資源受限的嵌入式系統(tǒng)中,代碼執(zhí)行效率和內(nèi)存占用始終是開發(fā)者需要權(quán)衡的核心問題。內(nèi)聯(lián)函數(shù)(inline functions)和宏(macros)作為兩種常見的代碼展開技術(shù),在性能、可維護性和安全性方面表現(xiàn)出顯著差異。本文...

關(guān)鍵字: 內(nèi)聯(lián)函數(shù) 嵌入式系統(tǒng)

在嵌入式系統(tǒng)和服務(wù)器開發(fā)中,日志系統(tǒng)是故障排查和運行監(jiān)控的核心組件。本文基于Linux環(huán)境實現(xiàn)一個輕量級C語言日志庫,支持DEBUG/INFO/WARN/ERROR四級日志分級,并實現(xiàn)按大小滾動的文件輪轉(zhuǎn)機制。該設(shè)計在某...

關(guān)鍵字: C語言 嵌入式系統(tǒng)

在嵌入式系統(tǒng)和底層驅(qū)動開發(fā)中,C語言因其高效性和可控性成為主流選擇,但缺乏原生單元測試支持成為開發(fā)痛點。本文提出一種基于宏定義和測試用例管理的輕量級單元測試框架方案,通過自定義斷言宏和測試注冊機制,實現(xiàn)無需外部依賴的嵌入...

關(guān)鍵字: C語言 嵌入式系統(tǒng) 驅(qū)動開發(fā)

在嵌入式系統(tǒng)與驅(qū)動開發(fā)中,內(nèi)存映射I/O(Memory-Mapped I/O, MMIO)是一種將硬件寄存器映射到處理器地址空間的技術(shù),允許開發(fā)者通過指針直接讀寫寄存器,實現(xiàn)高效、低延遲的硬件控制。本文通過C語言實戰(zhàn)案例...

關(guān)鍵字: 內(nèi)存映射 I/O操作 嵌入式系統(tǒng)
關(guān)閉