女人夜夜春高潮爽A∨片传媒_国产精品VIDEOS麻豆_在线精品亚洲一区二区三区_亚洲熟妇无码av

計算機相關
新聞詳情

CPU,GPU,FPGA:如何為您的機器視覺應用選擇最佳方法

發布時間:2020-05-13 08:38:45 最后更新(xin):2020-11-23 14:39:58 瀏覽(lan)次(ci)數:3738

三種最常見的圖像處理平臺(tai)的優勢(shi)和潛在應用


圖(tu)1:使用GPU實現快速(su)圖(tu)像處理(li)速(su)度(du)的(de)焊接檢查應(ying)用程序的(de)UI。


機器視覺應用中圖像處理平臺的三個最常見的選擇是中央處理器(CPU)圖形處理(li)器(GPU)現場可編程門陣列(FPGA)


CPU是傳統臺式計算機和筆記本電腦的心臟。在手機或平板電腦中,消耗較少功率的ARM處理器可提供CPU功能。CPU具有更大的指令集和大量的本地計算機語言庫,例如C,C ++,Java,C#和Python。其中一些語言具有可將功能轉移到GPU并在GPU上運行的軟件包。

傳統上,GPU已用于在PC上的視頻游戲中渲染像素(即圖形)。便攜式計算機通常還具有GPU。GPU越好,圖形質量越好,幀速率越高。對于圖像處理應用,GPU執行相同的功能,但相反。

機器視覺中,不是從視頻游戲中的條件開始,而是嘗試將其渲染到具有數百萬個像素的屏幕上,而是處理數百萬個像素以幫助軟件解釋和理解圖像。由于它們具有由許多并行內核和優化的像素數學組成的架構,因此GPU非常有效地處理圖像和繪制圖形。

FPGA的(de)可編程電(dian)路(lu)運行下載(zai)到卡(ka)上的(de)自定(ding)義程序,以將其配置為以比CPU或GPU功耗更低的(de)低級邏輯來完成所(suo)需的(de)任務。FPGA還不需要操作系統(tong)的(de)開銷(xiao)。

機器視覺系統的開發人員和集成人員可以在開發系統的其余部分之前,嘗試決定使用哪些平臺。首先對系統進行原型設計通常可以確定平臺的選擇。如果特定應用程序的數學運算無法在一個平臺上運行,則可能無法在任何平臺上運行。

設置系統(tong)的(de)物理(li)特性(xing)(鏡(jing)頭,照(zhao)明燈(deng),照(zhao)相機(ji)等),收集圖(tu)像選擇并(bing)在任何舒適的(de)環境中測試數學都可(ke)以(yi)為平臺(tai)選擇提供(gong)依據。例如,某些智能相機(ji)包括板載FPGA,以(yi)對相機(ji)進行編程以(yi)進行不同的(de)測試。如果原型可(ke)以(yi)使用智能相機(ji)按預期運行,則FPGA可(ke)能是該(gai)應用程序的(de)正(zheng)確平臺(tai),并(bing)且(qie)可(ke)能不需要考慮CPU或GPU。

平(ping)臺標(biao)準

選(xuan)擇特定(ding)平臺的(de)第一個也(ye)是(shi)最(zui)重(zhong)要(yao)(yao)的(de)標準是(shi)速(su)度。原(yuan)型應(ying)用程序一旦(dan)在測試(shi)臺上(shang)工(gong)作,就(jiu)必(bi)須確定(ding)該應(ying)用程序每秒需(xu)要(yao)(yao)處(chu)理多少部分(fen),或者(zhe)必(bi)須處(chu)理實(shi)時視頻每秒要(yao)(yao)處(chu)理多少幀。通常,對(dui)于實(shi)時視頻,約(yue)30 fps會創(chuang)建逼真(zhen)的(de)圖像。 

還(huan)必須考慮速度(du)的(de)其(qi)他方面,例(li)如延遲。系統可能(neng)能(neng)夠在(zai)10毫(hao)秒(miao)內處理一幀(zhen),但需要(yao)200毫(hao)秒(miao)才(cai)能(neng)從相機上取下(xia)該幀(zhen),GigE Vision驅動(dong)程(cheng)(cheng)序(xu)需要(yao)100毫(hao)秒(miao)來接(jie)收該幀(zhen)并將其(qi)提供(gong)給應用(yong)程(cheng)(cheng)序(xu),另外需要(yao)10毫(hao)秒(miao)來處理該幀(zhen)。 。在(zai)零件檢查應用(yong)程(cheng)(cheng)序(xu)中,可能(neng)是在(zai)框(kuang)架到達應用(yong)程(cheng)(cheng)序(xu)時,相關零件已經移動(dong)。 

一個假想的系統可能必須開始排隊零件圖像,以跟上零件在生產線上的移動速度。將需要具有確定性時序的可編程邏輯控制器(PLC)來跟蹤生成排隊圖像的零件的位置,以便如果零件未通過機器視覺系統檢查,則可以將其從生產線中拉出。 

還必須考慮啟動延遲。并非所有的應用程序都可以在工廠車間連續運行,或者在生產線開始運行前讓其啟動幾分鐘。諸如戶外和消費市場系統之類的某些應用(例如自動駕駛汽車中的系統)可能需要加電并準備在幾毫秒內運行。具有多層軟件的機器視覺系統(例如具有操作系統的CPU)可能難以滿足較短的啟動時間要求。 

以(yi)(yi)原型速度制作時(shi),可以(yi)(yi)通過(guo)拍攝高分(fen)辨率秒(miao)表來進行測試(shi)。可以(yi)(yi)將渲染到(dao)屏幕上的幀與秒(miao)表上顯示(shi)的時(shi)間進行比較(jiao),從而可以(yi)(yi)輕(qing)松量化(hua)等待時(shi)間并確定系統可能需要更改或改進的方式。 

考慮系統所需(xu)的(de)功(gong)率(lv)對(dui)于某些(xie)(xie)應用(yong)程(cheng)序(xu)至關(guan)重要,而對(dui)于其他應用(yong)程(cheng)序(xu)則不(bu)那么重要。對(dui)于在移動設備(bei)或(huo)無人(ren)機(ji)等電(dian)(dian)池(chi)供電(dian)(dian)的(de)硬(ying)件上(shang)運行(xing)的(de)應用(yong)程(cheng)序(xu),可(ke)(ke)能(neng)不(bu)適(shi)合使用(yong)CPU或(huo)傳統GPU,因(yin)為這(zhe)些(xie)(xie)平臺可(ke)(ke)能(neng)會耗電(dian)(dian)。但(dan)是,像NVIDIA的(de)Jetson這(zhe)樣的(de)移動GPU(www.nvidia.com)提供了低功耗選項(xiang)。基于(yu)Raspberry Pi的片上系統(SoC)平(ping)臺還將比(bi)CPU具有更(geng)低的功耗要求。 

應該考慮電源的可靠性,尤其是對于基于無人機的戶外或移動應用,要求平臺具有足夠的魯棒性以應對反復的電源中斷機器視覺公眾號。 

應該考慮(lv)平臺(tai)的(de)(de)(de)(de)熱量和所需(xu)(xu)空間(jian)(jian)。為(wei)工廠車間(jian)(jian)構建的(de)(de)(de)(de)應用程(cheng)序(xu)通常有(you)一(yi)個面板(ban)(ban)空間(jian)(jian),該面板(ban)(ban)可(ke)以容(rong)納所有(you)電(dian)子(zi)設備(bei)以及一(yi)個風(feng)扇,以幫助冷卻系統(tong)。在(zai)多塵的(de)(de)(de)(de)環(huan)境(jing)或設備(bei)必(bi)須防水的(de)(de)(de)(de)情況下,需(xu)(xu)要(yao)適當的(de)(de)(de)(de)防護(hu)等級(分別(bie)為(wei)IP65 / IP67),還可(ke)能(neng)需(xu)(xu)要(yao)密封的(de)(de)(de)(de)面板(ban)(ban),這些(xie)面板(ban)(ban)可(ke)能(neng)會迅(xun)速升溫。在(zai)這些(xie)條件下,需(xu)(xu)要(yao)更(geng)大的(de)(de)(de)(de)面板(ban)(ban)和無風(feng)扇組件。必(bi)須裝(zhuang)入面板(ban)(ban)的(de)(de)(de)(de)物(wu)品(pin)越(yue)(yue)多,它們產生的(de)(de)(de)(de)熱量就越(yue)(yue)大,系統(tong)可(ke)能(neng)引起的(de)(de)(de)(de)問題(ti)也就越(yue)(yue)多,并(bing)且(qie)價格可(ke)能(neng)會更(geng)高。 

在幾乎所有情況下,所選平臺都需要與其他設備通信,這是機器視覺應用程序的關鍵方面,直到設計過程結束才可能被考慮。以必須傳輸數據以進行打印的應用程序為例。可能嚴格要求CPU與打印機通信。 

數(shu)據(ju)存儲(chu)和(he)檢索要求(qiu)也(ye)可能會影響平(ping)臺選擇。CPU提(ti)供了將信息寫(xie)入(ru)硬盤的(de)(de)功能。在GPU和(he)FPGA上處理內存和(he)持(chi)久(jiu)性存儲(chu)可能會更加困難。在某些情(qing)況下,可能需要CPU來(lai)擴充GPU或FPGA,以嚴格處理與(yu)數(shu)據(ju)相(xiang)關的(de)(de)問題。智(zhi)能相(xiang)機和(he)緊湊的(de)(de)嵌入(ru)式視覺系統可以是包括(kuo)CPU,GPU,FPGA和(he)數(shu)字處理器(DSP)的(de)(de)平(ping)臺的(de)(de)組合。 

還必(bi)須考慮(lv)系(xi)統(tong)依賴性和將來(lai)的(de)(de)(de)證明。硬(ying)件可靠性和潛(qian)在的(de)(de)(de)更(geng)換時(shi)間(jian)(jian)表(biao)應予(yu)估計。硬(ying)件和軟件可以購買多(duo)長時(shi)間(jian)(jian)?如果所需的(de)(de)(de)處理能力發(fa)生變(bian)化,系(xi)統(tong)是(shi)否(fou)(fou)允許按比例放大或縮小?所選組件將提(ti)供多(duo)長時(shi)間(jian)(jian)的(de)(de)(de)技術(shu)支(zhi)持?是(shi)否(fou)(fou)有足夠的(de)(de)(de)人(ren)具備操作組件的(de)(de)(de)必(bi)要技能?將來(lai)尋找(zhao)人(ren)員來(lai)運行系(xi)統(tong)是(shi)否(fou)(fou)會引起長期關(guan)注? 

應該考慮所選組件的發展以及它們將來是否會滿足系統要求。如果一系列FPGA或GPU背后的工程師以解決機器視覺系統將要遇到的特定挑戰的心態開發下一代硬件,那么這可能意味著贊成在應用中采用這些FPGA或GPU。如果硬件供應商試圖針對其他問題進行工程設計,而忽略了特定應用程序的需求,則可能會打擊使用該供應商的硬件產品線。 

考慮定制代碼開發的要求以創建變通辦法,有助于將來驗證系統。機器視覺應用程序需要的自定義代碼越多,系統開發漏洞的潛力就越大,這是不利的一面。但是,如果您需要長期使最終用戶使用該應用程序,則還需要自定義和擴展功能。如果用于特定平臺的供應商工具提供了很少甚至沒有定制代碼的解決方案,但是如果需要的話,可以添加定制代碼,這可能就是采用該平臺的原因。

用戶界面要(yao)求(qiu)經常被(bei)視為平臺(tai)選擇的(de)標準。大多數系統最終不得(de)不與人(ren)(ren)進行某(mou)種程度(du)的(de)交(jiao)流(liu)。像(xiang)素(su)處(chu)理可(ke)以100%正(zheng)確(que),但是(shi)如果系統無法與任(ren)何(he)人(ren)(ren)交(jiao)流(liu)信息,則系統可(ke)能不適合(he)執行任(ren)務。CPU是(shi)開發(fa)用戶界面的(de)最佳工具(ju)。基(ji)于GPU,FPGA或CPU / GPU組合(he)的(de)系統可(ke)以不使用用戶界面進行設計,而是(shi)通過(guo)網頁提供摘要(yao)信息以監控結果。

對于任何機器視覺任務,都沒有唯一正確的答案。但是,三個不同的機器視覺系統的樣本演示了如何考慮平臺標準來推動這些系統的設計-機器視覺公眾號。

焊接查(cha)看器

Artemis Vision(www.artemisvision.com)與Melt Tools(www.melttools.com)簽訂(ding)合(he)同,主要設計用于教室(shi)的焊接(jie)(jie)觀察器(qi)。焊接(jie)(jie)涉及視野(ye)中間非常明(ming)亮(liang)的光線(xian)和(he)黑暗的環境/背(bei)景,需要高(gao)動(dong)態(tai)范圍(HDR)成像(xiang)才能同時顯示焊接(jie)(jie)位置的背(bei)景和(he)細節(圖1)。

該(gai)應用(yong)程(cheng)序需(xu)要(yao)在(zai)不同(tong)的(de)(de)(de)曝光時間(jian)進行多次曝光,然(ran)后將圖像拼接在(zai)一起,以(yi)渲染顯示不同(tong)光照水(shui)平的(de)(de)(de)單(dan)個幀。要(yao)產生流暢的(de)(de)(de)視頻(pin),需(xu)要(yao)30 fps的(de)(de)(de)輸出。該(gai)系(xi)統最初是在(zai)Intel i7 CPU上原型設計(ji)的(de)(de)(de)。每(mei)個輸入幀需(xu)要(yao)30到35毫(hao)秒來處理(li),這意味著每(mei)60到70毫(hao)秒輸出一個組(zu)合的(de)(de)(de),已處理(li)的(de)(de)(de)幀。速(su)度太(tai)慢,無法(fa)支持(chi)30 fps的(de)(de)(de)輸出速(su)率,每(mei)幀需(xu)要(yao)30到35 ms,因(yin)此(ci)CPU對(dui)于(yu)該(gai)應用(yong)程(cheng)序不是一個可行的(de)(de)(de)平臺(tai)。

考慮將算法轉移到(dao)FPGA上,然后(hou)考慮轉移到(dao)多核(he)服務(wu)器(qi)并并行(xing)化算法。客戶想要(yao)一個適合教室(shi)使用的系統,但是,該(gai)系統需(xu)要(yao)使用工程教室(shi)中已經(jing)存在(zai)的硬件進行(xing)構造。

教室中的計算機具有相當強大的GPU,可為工程軟件渲染圖像。將HDR算法放到GPU上的選項最有意義。

該算(suan)法是(shi)在CUDA中(zhong)(zhong)實現的,是(shi)一款中(zhong)(zhong)游NVIDIA圖形卡。GPU在5到(dao)6毫秒內處理了一個幀,并在另(ling)外5到(dao)6毫秒內將(jiang)幀復制(zhi)到(dao)了GPU內存中(zhong)(zhong)。除了攝像頭本身(shen)以外,不需要其他硬件即可(ke)創建焊接(jie)查看器。

3D激光(guang)輪廓儀(yi)

3D激光輪廓(kuo)儀需(xu)要快速處(chu)理才(cai)能支(zhi)持高線速度(du)。對于垂直于行進軸的視場中的1000個像(xiang)素,最(zui)佳系(xi)(xi)統將捕獲(huo)正方形(xing)輪廓(kuo)。在1000毫(hao)(hao)米(mi)的視野和1000毫(hao)(hao)米(mi)的行程范圍內,該系(xi)(xi)統應(ying)能夠(gou)處(chu)理1000幀(zhen)以(yi)獲(huo)得(de)1毫(hao)(hao)米(mi)/像(xiang)素的分辨率,通常每秒可(ke)計算出數百(bai)赫茲或幀(zhen)(圖2)。

需要快速啟(qi)動(dong)時(shi)間(jian),以使3D Profiler能夠(gou)充分捕獲和處理運動(dong)中(zhong)的(de)零件(jian)的(de)圖像。確定性時(shi)序可避免使用編碼器和排(pai)隊部件(jian),從而使系統更(geng)易于組裝和調(diao)試。

直接(jie)將GPU內存進(jin)出(chu)(chu)的(de)能力給將GPU與3D激光輪廓分析應用程(cheng)序結合使用提出(chu)(chu)了挑戰。設計為PC組(zu)件的(de)GPU不需(xu)要(yao)操(cao)作(zuo)系統(tong),但最(zui)容易通過該CPU的(de)OS使用。因(yin)此(ci),FPGA通常被(bei)視為3D激光線輪廓儀(yi)的(de)平臺(tai)。FPGA提供速度,確定性(xing)時序,快速啟動時間和可靠性(xing)。


圖3:需(xu)要用于此尺寸標注系統(tong)的(de)UI,因(yin)此需(xu)要CPU平臺。

尺寸標(biao)注系統

使(shi)用片狀材料(liao)的(de)(de)(de)客戶希(xi)望(wang)采用各種尺(chi)寸的(de)(de)(de)板。需要兩秒鐘的(de)(de)(de)測量(liang)時(shi)間。生產線以每分鐘120英(ying)尺(chi)的(de)(de)(de)速度運行。電路板的(de)(de)(de)尺(chi)寸從4 x 4英(ying)尺(chi)到4 x 8英(ying)尺(chi),并且(qie)該系統需要檢測拐角和邊緣上的(de)(de)(de)芯片。

需(xu)要(yao)一個(ge)操作(zuo)員界面(mian),以便可以更改(gai)板的類型,并且與(yu)任何工業系(xi)統一樣,如(ru)果系(xi)統運(yun)行不正常,則需(xu)要(yao)一個(ge)用戶(hu)界面(mian)來提供(gong)錯(cuo)誤消息。

該(gai)系統首先由(you)運行速度太慢的CPU構建。評估電(dian)路板尺寸并計算拐角和邊緣是否完整,大(da)(da)約需(xu)要5000毫秒。邊角算法花(hua)費了大(da)(da)量(liang)時間。

通過指定感興趣區域(yu)(yu)(ROI)減少(shao)需(xu)要處理的(de)像素數量(liang)可以(yi)提高應(ying)(ying)用(yong)程序(xu)的(de)速度。實施了一(yi)個系統來(lai)裁(cai)剪(jian)有限的(de)邊緣和角落的(de)ROI。由(you)于(yu)使(shi)用(yong)了裁(cai)剪(jian)緊(jin)密的(de)區域(yu)(yu)來(lai)驗證(zheng)邊緣和角落,因此(ci)計算時間減少(shao)到800到1200毫秒。對算法的(de)更改使(shi)將應(ying)(ying)用(yong)程序(xu)保(bao)留在(zai)基于(yu)CPU的(de)平臺上成為可能(圖3)。

結(jie)論

如這些示例所示,不存在適用于機器視覺應用的千篇一律的平臺。許多變量會影響應該選擇CPU,GPU還是FPGA或這三者的某種組合。智能相機可以使用CPU,DSP或CPU和FPGA的組合。在單個平臺中可能存在有關功耗和處理速度的多種選擇。最佳性能決定了正確的解決方案。


在線(xian)客服
客(ke)服電(dian)話
  • 0755-23712116
  • 13310869691