高速無線技術 OpenCV 嵌入式系統 嵌入式視覺 階層圖層 ASSP FPGA 處理器 演算法 光學流 CPU GPU DSP

處理器/開發工具相繼到位 嵌入式視覺應用蓄勢待發

2011-07-11
隨著愈來愈強大處理器的出現,將電腦視覺功能放入各式各樣的嵌入式系統,讓系統透過視覺輸入來分析環境這件事變得更為可行。微軟的Kinect遊戲控制器與Mobileye的駕駛輔助系統之類的產品都為嵌入式視覺(Embedded Vision)技術引起極高的注目。因此,許多嵌入式系統的設計廠商開始考慮在產品中加入視覺功能。
在本文中,將探討嵌入式視覺的各種潛在可能應用,同時介紹在加入這些功能時需要的關鍵元素。在討論過一些實例應用後,將介紹實作嵌入式視覺需要的處理器、演算法、工具與技術。

嵌入式視覺漸受關注

嵌入式視覺是在嵌入式系統使用電腦視覺的技術。換言之,嵌入式視覺代表一個可以從視覺輸入去找出意義的嵌入式系統。就像過去10年無線通訊的蓬勃發展,相信嵌入式視覺技術在未來10年將會被廣被使用。

顯而易見地,嵌入式視覺技術可以為各式各樣的應用帶來大量的價值。其中,基於視覺的駕駛輔助系統,Mobileye可用來協助防止車輛意外,而MG International是可防止泳者溺水的泳池安全系統。在新潮產品方面,Intelectual Verture的雷射殺蚊器最引人注意,可以防止瘧疾。

由於高速無線連線技術一開始還十分昂貴罕見,所以嵌入式視覺系統技術目前仍較常見於複雜昂貴的系統,如植髮用的外科機器人,及製造業使用的品管檢測系統。

然而,數位整合晶片的演進,讓高速無線技術從罕見變為主流。當晶片速度夠快,價格夠便宜,同時夠省電,高速無線傳輸就成為市場的主要技術。今日,一台寬頻無線數據機(Modem)只要不到100美元就可以買到。

同樣地,數位晶片的技術進展也為在各式應用上使用嵌入式視覺鋪路。就如同無線通訊,嵌入式視覺需要大量的運算能力,尤其是當應用裝置逐漸使用高解析度的相機或使用多個相機時,更是如此。在足以讓大眾使用的情況下保持低成本,同時提供足夠的處理能力,是一個很大的挑戰。且由於嵌入式視覺應用需要大量的程式處理,也讓這個挑戰難度倍增。舉例來說,無線應用強調共通標準,在各手機上的應用程式不會有太大的不同。但相對地,在嵌入式視覺應用中則有可能透過獨特的演算法來提供各種極佳的功能。

有了嵌入式視覺,相信在業界的各種不同數位訊號處理領域,都會進入一個良性循環。雖然今日有少數晶片是專給嵌入式視覺應用來使用,但應用漸漸開始採用高效能、高效益供其他應用使用的處理晶片,如數位訊號處理器(DSP)、中央處理器(CPU)、現場可編程閘陣列(FPGA)與繪圖處理器(GPU)。

隨著這些晶片持續提供更多的處理效能,將可讓更多樣的嵌入視覺產品問世。這些大量的應用,也會回過頭來吸引更多晶片開發者的注意,因而提供更好的效能、效率與程式化能力。

相關應用日漸廣泛

電腦視覺的研究起始於1960年代。而在較近的時期,嵌入式電腦視覺系統開始被部署在一些特別的應用上,如飛彈的目標追蹤以及製造工廠的自動化檢查。

現在,由於低成本、低功耗同時高效能的處理器的出現,嵌入式視覺已開始出現在大量應用中。其中最常見的應該就是微軟的Kinect,它是一個Xbox 360遊戲機的周邊裝置,使用嵌入式視覺來讓使用者可以單純透過姿勢與身體移動來操控遊戲。

另一個新出現的嵌入式視覺應用是使用視覺的車輛自動系統。一些汽車廠商如富豪(Volvo),已開始在一些車型上加入使用視覺的安全裝置。這些系統提供各種功能,包含在將與前車發生碰撞時或可能撞到路人時警告駕駛人,甚至自動踩下煞車。另一個新出現的嵌入式視覺應用案例則是智慧型監視器,可以設定偵測人、車或其他在相機視野中使用者選擇的特定區域上的動作。

利用上述例子中使用的同樣晶片與演算法,預期在接下來的數年,嵌入式視覺的功能將在各類不同產品中出現。視覺功能可以為各種不同領域的設備提供重要價值,這些領域包括消費性電子、汽車電子、娛樂、醫療與銷售應用等。在其他領域,嵌入式電子也可能讓新型設備出現。

本文的目標是介紹嵌入式視覺技術的各方面現狀,同時也激勵設計人員去思考,將視覺功能放入設計中能提供什麼新功能。

演算法是開發門檻

演算法是嵌入式視覺不可或缺的層面。透過演算法,原始的視覺輸入影像可以轉換成各種可以利用的有用資訊。

數10年來,電腦視覺已是各類學院研究的主題,這些研究也累積了許多的演算法。對許多想要利用視覺功能的系統設計者來說,在演算法上面對的問題不是如何開發新演算法,而是如何為手上的問題選擇適合的演算法,同時將其針對工作的狀況與特定需求去調整。

視不同的視覺處理工作,可使用的演算法也有所不同。視覺應用一般都是用一連串的演算法來構成(圖1)。典型來說,開始的階段主要是增進影像的品質。舉例來說,這些步驟可能包括修正不完美鏡頭造成的幾合變形,加強對比,同時穩定影像,以修正照相機的移動。

圖1 典型嵌入式視覺演算法處理順序

嵌入式視覺演算法處理順序的典型第二階段,就是把原始影像(一堆畫素)轉換成物件相關資訊。各類的技術可以使用,從邊緣、動作、色彩、大小或其他屬性上辨認物件。而嵌入式視覺演算法處理順序的最後一個階段與物件推論有關。例如,在一個汽車安全應用上,演算法會試圖從畫面中辨認汽車、行人、路標與其他物品。

總之,視覺演算法十分需要計算處理能力,因為它們須要即時對大量的動畫進行複雜的運算。在演算法的可靠度與需要的運算量上,有一個須要求取的平衡。

演算法實例:鏡頭變形修正

資料來源:Shehrzad Qureshi的「鏡頭變形修正」
圖2 典型的鏡頭變形
鏡頭,尤其是便宜的鏡頭,往往會對影像產生幾何變形。如圖2所示,這種變形往往被形容成「桶狀」變形,或「墊狀」變形。

如圖2中所示,這類的變形讓實際上筆直的線看起來變成彎曲,反之亦然。這可能對讓視覺演算法造成問題。因此,先使用演算法反轉這類變形是很常見的做法。

常見的技術是使用一個已知的測試圖樣來對變形進行特徵化。從特徵化的資料中可以產生一組彎曲的係數,之後就可以用來修正每幅畫面的變形。換言之,彎曲系數只須要計算一次,就可以用在每個畫面中(圖3)。

圖3 鏡頭變形修正方法

鏡頭變形修正面臨的一個挑戰是,彎曲處理會根據畫素的位置來使用輸入資料,而這些位置跟輸入畫面中畫素的實際位置不完全一樣。要達成此件事,就要在輸入畫面的畫素間使用內插法(Interpolation)。演算法的需求越高,內插法就必須越準確,也越須要計算。

對彩色影像來說,每個顏色的內插與彎曲處理須要分開進行。例如,一幀720p的影像畫面含有九十二萬一千八百個畫素,即接近二百八十萬個彩色畫素。若以每秒六十幀的速度來播放,就須要每秒處理一億六千六百萬個畫素。如果在內插計算與彎曲處理上,每個畫素需要十個處理步驟,彎曲修正演算法就須要每秒進行十六億六百萬個運算,況且這還只是開始要解讀影像前的前置動作而已。

演算法實例:密集光學流

光學流(Optical Flow)是一組用來預測動畫中物件、表面與邊緣明顯動作形式的技術。在視覺應用中,光學流往往使用在立體空間中預測觀察者與物體的位置與動作,或是在超高解析度與雜訊消除演算法上預測相像對位(Image Registration)。光學流演算法往往為一個動畫畫面的每個畫素產生一個運動向量。

光學流須要先給予影像內容一些假設,這被稱為光圈問題。不同的演算法會有不同的假設。舉例來說,一些演算法可能假定整個場景的亮度是固定不變,或是動作是平滑連續。

目前存在許多光學流的演算法,可以被粗略分為以下幾類:基於區塊的方法(類似於影像壓縮編解碼器中的動作預測);差分方法如Lucas-Kanade、Horn-Schunck、Buxton-Buxton與其他不同版本,以及其他方法(不連續最佳化,相位相關)。

光學流演算法的一個重大挑戰就是誤判,可能造成不正確的結果。譬如,當場景中的一個物件有一個重複的表面特徵,或是當動作超過演算法的限制時就會發生錯誤。一些光學流演算法對相機的噪訊也很敏感。大多數光學流演算法都需要大量的計算。

一個常見的方法就是使用階層圖層(Image Pyramid)的Lucas-Kanade法。Lucas-Kanade法是一個預測光學流的差分方法,它很簡單,但有一個嚴重的限制。例如它假設光度一致不變,同時動作都是在感興趣的畫素位置小範圍附近持續發生。而且,它也只限於極小的速度向量(小於每幀一畫素)。

階層圖層是一個技術用來擴展Lucas-Kanade法來支援更快的動作。首先,每個原先的畫面都經不同程度的再取樣來建立幾個階層。然後,Lucas-Kanade法先在頂層(最低解析度)使用,產生一個粗略但支援較大動作的估計。接著,Lucas-Kanade法再較低層(較高解析度)上使用,來修正光學流的預測。圖4概述此一方法。

資料來源:Julien Marzat
圖4 使用階層圖層的Lucas-Kanade光學流演算法

演算法實例:行人偵測

圖5 使用CPU與FPGA實作行人偵測應用原型
這裡的行人偵測,意指偵測站立或走路的行人是否出現(圖5)。把行人偵測稱為「應用」而非「演算法」可能較為適當。它是一個需要精細演算法的複雜問題。

圖6簡短概述一個使用CPU與FPGA實作的靜止相機的行人偵測系統原型。在該圖中,預先處理區塊(Pre-processing)含有一些類似伸縮與除噪之類的處理,以增進影像品質。影像分析(Image Analysis)區塊則含有動作偵測,以及如平均、色彩資訊與邊緣資訊等的畫素統計處理。物件區分(Object Segmentation)步驟則將一群有類似統計的區塊組成一物件。為了此目的使用的統計資訊是源於硬體組態檔中的特定使用者定義功能。

圖6 使用FPGA與CPU實作的行人偵測應用概念區塊圖

辨認(Identification)與產生元數據(Meta Data Generation)區塊會從辨認出的物件中產生如位置、大小、色彩資訊與統計資訊等等分析結果。它會將分析結果放入結構化的資料形式中,同時傳送到CPU。最後螢幕顯示(On-screen Display)區塊則從主機收到命令資訊,並在顯示器上將影像畫面重疊上去。

此原型系統可在每秒六十幀的720p解析度上運作,由柏克萊設計技術公司(BDTi)使用賽靈思(Xilinx)Spartan-3A DSP 3400 FPGA與德州儀器(Texas Instruments)OMAP3430 CPU實作而成。總合的計算負載約是每秒千億次的等級。

處理器選擇左右成敗

視覺演算法往往需要高度的計算效能。同時,各類的嵌入式系統往往也須要降近成本與消耗功率。在其他的數位訊號處理應用領域如數位無線通訊,晶片設計者可以使用特定的協同處理器與加速器來實作應用中最須要運算處理的部分,來達到高效能、低成本與低功耗的平衡。

但是,這些協同處理器與加速度往往無法由晶片使用者來撰寫程式。這個做法在無線應用上往往可被接受,因為高度標準化的情況讓不同設備設計者使用十分相同的演算法。

然而在視覺應用上,沒有標準來限制選用的演算法。相反地,要解決一個特定問題,往往有非常多種做法。因此,視覺演算法種類十分多元,同時也隨時間快速改變。因此,相較於數位無線或專注於壓縮的視覺裝置等應用,視覺應用往往較不適合使用不可程式化的加速器與協同處理器。

要同時達到高效能、低成本、低功耗與可程式化,是一個很大的挑戰。特定目的的硬體往往可以用低成本提供高效能,但程式化程度就有限。一般化的CPU提供可程式化的特性,但效能較低,或者無法有划算的成本與功耗。

要求更高的嵌入視覺應用往往必須使用一些處理元件的結合,例如可能包括解決方法、複雜的決策、網路存取、使用者介面、儲存管理與整體控制所使用一個通用目的CPU;一個高效能DSP導向的處理器,為中等複雜的演算法提供即時且中等速率的處理;一或多個高度平行化的引擎,為簡單的演算法提供較高的畫素處理速率。

雖然理論上嵌入式視覺可以使用任何種類的處理器,今日最適合的類型包括高效能嵌入式CPU、特定應用標準產品(Application-Specific Standard Product, ASSP)結合一個CPU、GPU結合CPU、DSP結合加速器與CPU、行動應用處理器、FPGA結合CPU。

以下將簡單介紹這些類型的處理器,以及它們在嵌入式視覺應用上的關鍵優缺點。

高效能嵌入式CPU
  在許多情況下,嵌入式CPU無法為實作要求較高的視覺演算法提供足夠的效能,換言之,無法在可接受的價格與功率消耗下提供。由於視覺演算法往往使用大量的記憶體頻寬,同時不會重複存取同樣的資料,記憶體頻寬往往是一個關鍵的效能瓶頸。嵌入式CPU的記憶體系統並不是為這類的資料流量所設計。但就像大多數類型的處理器,嵌入式CPU隨著時間演進變得更為強大,在一些情況下可以提供適合的效能。

同時在使用CPU執行視覺演算法上還有一些誘人的理由。首先,大多數嵌入式系統在各種功能上都需要一個CPU。如果需要的視覺功能可以使用該CPU來實作,則系統的複雜度就會比多處理器的解決方案低得多。再者,大多數的視覺演算法開始都是在個人電腦上使用通用CPU與相關的軟體開發工具所開發的。基於個人電腦CPU與嵌入式CPU上的類似性,相較於使用其他類型的嵌入式視覺處理器,使用嵌入式CPU來實作視覺演算法往往較為容易。

同時,與其他類型的嵌入視覺處理器相較,嵌入式CPU往往較易使用,因為它們的架構較為直接、工具較為精良,同時有較完善應用開發架構如作業系統。英特爾(Intel)的凌動(Atom) E60T就是一個嵌入式CPU的例子。

ASSP結合一個CPU
  ASSP是一種特定的,高度整合的晶片,專為特定的應用或應用群所量身打造。ASSP可能連接一個CPU,或使用分開的CPU晶片。

由於特製化,與其他類型的處理方法相較,ASSP往往可以提供極佳的成本或能源效率。ASSP使用特製的協同處理器與加速度來提供效能。同時因為如其定義,ASSP鎖定特定的應用,經常使用在各種不同的應用上。

特製化讓ASSP達成強大的效能,然而,同時也讓它有一個關鍵的限制:缺乏彈性。為一個應用設計的ASSP往往不適合另一個應用,即使另個應用與原應用相關。ASSP使用獨特的架構,可能讓撰寫程式比使用其他類型處理器更為困難。事實上,一些ASSP是不允許使用者撰寫程式。

另一個問題的風險。ASSP往往是由一些小的供應商提供,這可能增加晶片供貨上,或是提供下一代產品上的風險,讓系統設計者無法在基於現有架構的情況下直接更新設計。視覺導向ASSP的一個實例是PrimeSense PS1080-A2,它被使用在微軟(Microsoft)Kinect中。

另一個問題的風險。ASSP往往是由一些小的供應商提供,這可能增加晶片供貨上,或是提供下一代產品上的風險,讓系統設計者無法在基於現有架構的情況下直接更新設計。視覺導向ASSP的一個實例是PrimeSense PS1080-A2,它被使用在微軟(Microsoft)Kinect中。

GPU結合CPU
  GPU結合CPU主要是用來處理立體圖像,但也漸漸被使用在包括視覺應用等其他功能。今日在個人電腦上使用的GPU十分可程式化,可用來進行立體圖像外的功能。這類的GPU被稱為通用目的GPU(GPGPU)。GPU有大量平行處理的能力,在個人電腦中隨處可見。GPU軟體開發工具可以簡單地免費取得,而開發GPGPU程式也並不是非常複雜。因此,GPU往往作為在個人電腦上開發演算法電腦視覺演算法開發廠商在構建平行處理引擎,以及為模擬或原型的演算法加速執行上的第一選擇。

GPU與通用CPU緊密整合,有的時候甚至整合在同個晶片上。然而,GPU的一個限制是其所整合的CPU種類,以及支援整合CPU的作業系統種類。

今日,市面上已有為智慧型手機、平板電腦等產品所設計的低價格低功率的GPU。然而,這些GPU往往不是GPGPU,因此用它們來進行三維(3D)圖像以外應用的難度將很高。

在個人電腦中使用的GPGPU的一個實例是輝達(NVIDIA)GT240。

DSP處理器結合加速器與CPU
  DSP是一種專位訊號處理演算法與應用設計的微處理器。這種特定的功能讓DSP比通用CPU在作為視覺應用核心的訊號處理工作上更有效率。再者,相較於其他種類的平行處理器,DSP較為成熟且易於使用。

不幸的是,雖然DSP在視覺演算法上可以提供比通用CPU更高的效能與效率,但是往往無法為要求較高的演算法提供足夠的效能。DSP往往配備一或多個協同處理器。因此一個典型的DSP視覺應用晶片往往含有一個CPU、一個DSP與多個協同處理器。這種異質的結合可以提供極佳的效能與效率,但也可能讓撰寫程式變得困難。事實上,DSP開發往往不讓使用者為協同處理器開發程式。相反地,協同處理器只能執行晶片廠商所開發的軟體功能函式庫。針對視覺應用DSP的一個實例是德州儀器DM8168。

行動應用處理器
  行動應用處理器是一種高度整合的系統晶片,主要是設計給智慧型手機使用,但也允許其他應用。應用處理器往往含有一個高效能CPU核心與一組特製的協同處理器,包含一個DSP、一個GPU、一個影像處理單元(VPU)、一個平面影像處理器與影像取得處理器等。

這些晶片特別設計給電池驅動的應用,因此在能量效率上表現極佳。另外,由於智慧型手機與平板應用近年來的蓬勃發展,行動應用處理器已有強大的軟體開發架構,包括低成本的開發平台,Linux與Android的轉換等。

然而,如同前一節討論的DSP處理器一樣,在應用處理器中特製的協同處理器往往無法讓使用者進行編程,因此也限制了他們在視覺上的應用。行動應用處理器的案例之一是飛思卡爾(Freescale) i.MX53。

FPGA結合CPU
  FPGA是彈性的邏輯晶片,可以閘或區塊的等級來重新進行組態。這種彈性讓使用者可以輕鬆設計出專為應用程式量身訂做的計算架構。它同時可以選擇輸入/輸出(I/O)介面,與晶片上符合應用需求的周邊。能客製化計算架構的能力與現今FPGA中可用的大量資源,提供高效能、良好的成本與較高的能量使用效率。但是,使用FPGA可說是一種硬體設計工作,而不是軟體開發活動。FPGA的設計往往由處於暫存器轉換階層的硬體描述語言如Verilog或VHDL來進行,這是一種極低階的語言,而讓FPGA的設計工作較使用上述其他類型的處理器耗時而且昂貴。

然而,使用FPGA也因為以下幾個因素而變得愈來愈容易。首先,所謂的IP區塊函式庫(含有各種可重複使用的FPGA設計元件的函式庫)功能愈來愈強。在某些情況下,這些函式庫可以直接處理視覺演算法。在其他狀況下,它們可以支援一些像視訊I/O或線緩衝(Line Buffer)之類的功能。第二,FGPA的廠商與其夥伴也漸漸提供各種相關設計,例如針對特定應用的可重複使用FPGA系統。第三,高階的整合工具功能也漸漸成熟,這些工具可以讓設計者使用高階語言將視覺與其他的演算法整合入FPGA中。

使用者可以用FPGA來實作相對較低效能的CPU。在某些情況下,高效能的CPU也被廠商整合入FPGA中。可以用來進行視覺應用的FPGA案例之一是賽靈思Spartan-6 LX150T。

慎選開發工具

開發嵌入式視覺系統是個很大的挑戰。其中一個問題已如上所述,就是視覺演算法往往要求高度的計算。要將它們壓縮進低成本低功耗的處理器中,往往需要相當的最佳化工作,也必須對目標處理器架構有深度的理解。另一個關鍵的考量為,視覺是一個系統層級的問題。也就是說,除了視覺演算法本身外,做法的成敗取決於無數一起運作的元件。這些元件包含照明、光學、感光元件、影像處理與影像儲存等子系統,要讓這些多樣化的元件有效且同時高效率地一同運作,需要多領域的專業能力。

現今已有許多的視覺演算法,因此在許多情況下不須要從無到有開發演算法。選出最適合目標工作的演算法,同時保證其符合需求這件事本身,可能就是一個龐大的工作。

在今日,許多的電腦視覺專家對嵌入式視覺所知甚少,而許多的嵌入式系統設計者也對電腦視覺不甚了解。許多專案都是失敗於兩方人馬中間的意見分歧。為了弭平中間的鴻溝,柏克萊設計技術公司最近成立了嵌入式視覺聯盟,這是一個業者聯合組織,目的是提供SoC與嵌入式系統的工程師需要在設計中加入視覺功能所需的實際知識。以下分別介紹個人電腦、OpenCV及一些新的開發工具。

個人電腦
  對嵌入式視覺開發來說,個人電腦(PC)既是一個祝福,也是一個詛咒。大多數嵌入式視覺系統或幾乎所有視覺演算法,一開始都是在個人電腦上開發。個人電腦是開發研究與原型產品的極佳平台。它不貴、隨處可見,同時易於與相機及顯示器整合。

另外,個人電腦也配備各式各樣的應用開發架構,包括基本的軟體開發工具、視覺專用的軟體元件庫、特定領域的工具如MATLAB與許多的範例應用。再者,大多數個人電腦中的GPU可以為個人電腦應用原型或模擬提供平行處理加速能力。

但是,個人電腦對實作大多數嵌入式視覺系統來說不是一個理想的平台。雖然一些應用可以在嵌入式個人電腦上實作(比標準個人電腦更精薄低功耗的類型),但很多應用因為成本、大小與耗電的考量而無法做到。再者,對大多數即時的視覺應用來說,個人電腦缺乏足夠的效能。

同時不幸的是,許多在個人電腦上讓開發視覺演算法更為容易的工具與元件庫,反而讓開發有效率的嵌入應用更為困難。舉例來說,為演算法開發或原型產品設計的視覺元件庫往往不一定是有效率的嵌入實作方法。

OpenCV
  OpenCV是一種免費的,供個人電腦使用的開發原始碼(Open Source)電腦視覺軟體元件庫。原先由英特爾設計,但現在由Willow Garage維護。與Bradski及Kahler的書籍一同使用的OpenCV函式庫是一個快速進行電腦視覺的極佳方法。

然而,OpenCV並不是所有視覺問題的解答。一些OpenCV的功能運作較好,一些則不然。同時OpenCV是一個元件庫,而不是一個標準,所以它的功能並不保證在各不同平台上都能良好執行。

在目前的版本中OpenCV,並不特別適合嵌入式的實作。現在已有一些將OpenCV放上非個人電腦平台的工具,更多的也將被開發出來,但這些工具的整體性並不十分良好。

其他新工具
  雖然嵌入式視覺的開發是個重大挑戰,但目前業界的一些開發顯示它的難度也將慢慢降低。舉例來說,微軟的Kinect在視覺開發上愈來愈普及。在2010年底上市後,Kinect的應用程式介面(API)就被反組譯,讓工程人員可以將Kinect使用在Xbox 360遊戲機以外的主機上。Kinect已被使用在個人電腦與Beagle Board之類的嵌入式平台上。

XIMEA CURRERA將嵌入式個人電腦整合入相機中。它不適合低成本低功耗的應用,但對低資料量的應用如製造監控,可能十分適合。

許多嵌入式處理器廠商都開始認同嵌入式視覺上會出現大量機會,同時也正開發專門給嵌入視覺應用使用的處理器。再者,智慧型手機與平板電腦也有潛力成為有效的嵌入式視覺平台。對某些嵌入式視覺應用來說,如擴增現象或姿態控制的使用者介面,都已出現適合的應用軟體平台。這些軟體平台提供該領域應用所需的許多常見功能,簡化嵌入式視覺應用的開發。

各式應用漸增 未來發展看好

可以預見,嵌入式視覺的業界將進入一個在許多數位訊號處理應用領域都發生過的良性循環。雖然目前專為嵌入式視覺應用設計的晶片還在少數,但未來這些應用將逐漸能夠使用高效能、低成本的處理晶片如DSP、CPU、FPGA與GPU。

(本文作者為柏克萊設計技術公司總裁)

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!