一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CPU與FPGA視覺算法產品應用案例

5RJg_mcuworld ? 來源:互聯網 ? 作者:佚名 ? 2018-01-23 09:51 ? 次閱讀

機器視覺工業(yè)自動化系統(tǒng)中的應用已經有一定的歷史,它取代了傳統(tǒng)的人工檢查,提高了生產質量和產量。 我們已經看到了相機在計算機、移動設備和汽車等日常生活設備中的迅速普及,但是機器視覺的最大進步莫過于處理能力。

隨著處理器的性能以每兩年翻一番的速度不斷提升,以及多核CPUFPGA等并行處理技術日益受到關注,視覺系統(tǒng)設計人員現在可以應用復雜的算法來可視化數據,并創(chuàng)建出更加智能的系統(tǒng)。

性能的提高意味著設計人員可以獲得更高的數據吞吐量,從而實現更快速的圖像采集,使用更高分辨率的傳感器,并充分利用市場上具有最高動態(tài)范圍的一些新款相機。性能的提高不僅可讓設計人員更快速地采集圖像,而且還能更快速地處理圖像。預處理算法(如閾值和濾波)或處理算法(如模式匹配)也可以更快速地執(zhí)行。最終設計人員能夠比以往更快地基于可視化數據制定決策。

德州奧斯汀NI總部數據采集和控制產品市場經理,主要負責機器視覺領域的Brandon Treece認為,隨著視覺系統(tǒng)越來越多地集成最新一代多核CPU和強大FPGA,視覺系統(tǒng)設計人員需要了解使用這些處理元件的好處和得失。他們不僅需要在正確的硬件上運行正確的算法,還需要了解哪些架構最適合作為其設計的基礎。

1內聯處理和協(xié)處理

在研究哪種類型的算法最適合哪個處理元件之前,您應該了解每個應用最適合的架構類型。在開發(fā)基于CPU和FPGA的異構架構的視覺系統(tǒng)時,需要考慮兩個主要的使用情況: 嵌入式處理和協(xié)處理。

如果是FPGA協(xié)處理,FPGA和CPU將共同工作,共享處理負載。這種架構最常用于GigE Vision和USB3 Vision相機,因為它們的采集邏輯最好是在CPU上實現:

您可以使用CPU采集圖像,然后通過直接存儲器訪問(DMA)將其發(fā)送到FPGA,以便FPGA可以執(zhí)行諸如濾波或顏色平面提取等操作。然后,您可以將圖像發(fā)送回CPU以進行更高級的操作,例如光學字符識別(OCR)或模式匹配。

在某些情況下,您可以在FPGA上實現所有的處理步驟,并只將處理結果發(fā)送回CPU。這使得CPU可以將更多的資源用于運動控制、網絡通信和圖像顯示等其他操作。

圖1.在FPGA協(xié)處理中,圖像使用CPU進行采集后,通過DMA發(fā)送到FPGA,然后由FPGA對圖像進行處理。

在嵌入式FPGA處理架構中,您可以將相機接口直接連接到FPGA的引腳,以便像素可直接從相機發(fā)送到FPGA。這種架構通常與Camera Link相機一起使用,因為它們的采集邏輯易于使用FPGA上的數字電路來實現。 這個架構有兩個主要的好處:

首先,與協(xié)處理一樣,在FPGA上執(zhí)行預處理功能時,可以使用嵌入式處理將部分工作從CPU轉移到FPGA。例如,在將像素發(fā)送到CPU之前,可以在FPGA上執(zhí)行高速預處理,如濾波或閾值處理。這也減少了CPU必須處理的數據量,因為CPU上的邏輯只需捕獲感興趣區(qū)域的像素,這最終提高了整個系統(tǒng)的吞吐量。

這種架構的第二個好處是可以在不使用CPU的情況下直接在FPGA內進行高速控制操作。FPGA是控制應用的理想選擇,因為它們可以提供非??焖偾腋叨却_定的循環(huán)速率。其中一個例子就是高速分類,其中FPGA向執(zhí)行器發(fā)送脈沖,當脈沖通過執(zhí)行器時,執(zhí)行器會對零件進行剔除或分類操作。

圖2.在嵌入式FPGA處理架構中,您可以將相機接口直接連接到FPGA的引腳,以便像素可直接從相機發(fā)送到FPGA。

2CPU與FPGA視覺算法

在對構建異構視覺系統(tǒng)的不同方式有了基本了解,您可以看一下在FPGA上運行的最佳算法。 首先需要了解CPU和FPGA的工作原理。 為了解釋這一概念,我們假設一個理論算法可對圖像執(zhí)行四個不同的操作,然后看一下這四個操作部署到CPU和FPGA上時分別是如何運行的:

CPU按順序執(zhí)行操作,因此第一個操作必須在整個圖像上運行結束后,第二個操作才能啟動。在本例中,假設算法中的每個步驟在CPU上運行需要6ms; 因此,總處理時間是24ms。

現在考慮在FPGA上運行相同的算法。由于FPGA本質上是大規(guī)模并行的,所以該算法中的四個操作可以同時對圖像中的不同像素上操作。這意味著接收第一個處理的像素僅需2ms的時間,處理整個圖像需要4ms的時間,因而總處理時間為6ms。這比CPU的執(zhí)行速度快得多。

即使使用FPGA協(xié)處理架構并將圖像傳輸到CPU,整個處理時間(包括傳輸時間)也比單獨使用CPU要短得多。

圖3.由于FPGA在本質上是大規(guī)模并行的,因此相比CPU,可顯著性能提升。

現在考慮一個真實的例子,比如粒子計數所需的圖像。

首先需要應用卷積濾鏡來銳化圖像。

接下來,通過閾值運行圖像以生成二進制圖像。這不僅可以通過將其從8位單色轉換為二進制來減少圖像中的數據量,還可以為二進制形態(tài)學應用準備圖像。

最后一步是使用形態(tài)學來應用關閉功能。 這會去除二進制粒子中的任何孔。

如果僅在CPU上執(zhí)行上述算法,則必須在閾值步驟開始之前完成整個圖像的卷積步驟。使用NI公司面向LabVIEW的視覺開發(fā)模塊(Vision Development Module)和基于Xilinx Zynq-7020全可編程SoC的cRIO-9068 CompactRIO控制器時,執(zhí)行上述算法需要的時間為166.7ms。

但是,如果在FPGA上運行相同的算法,則可以并行執(zhí)行每個步驟。在FPGA上運行相同的算法只需8ms即可完成。請記住,8ms的時間中包括將圖像從CPU發(fā)送到FPGA的DMA傳輸時間,以及算法完成的時間。在某些應用中,可能需要將處理后的圖像發(fā)回到CPU,以供應用中的其他部分使用。如果加上這個時間的話,整個過程也只需8.5ms??偟膩碚f,FPGA執(zhí)行這個算法要比CPU快20倍。

圖4:使用FPGA協(xié)同處理架構運行視覺算法,性能比僅用CPU運行同樣的算法提高了20倍。

3那么,為什么不在FPGA上運行每個算法呢?

盡管FPGA比CPU更有益于視覺處理,但是要享受這些優(yōu)勢也要做出一定的權衡。例如,考慮CPU與FPGA的原始時鐘頻率。FPGA的時鐘頻率在100~200MHz數量級。很顯然,FPGA的時鐘頻率低于CPU的時鐘頻率,CPU可以輕松地在3GHz或更高的頻率下運行。因此,如果一個應用需要一種必須迭代運行的圖像處理算法,并且不能利用FPGA的并行性,那么CPU能夠更快地進行處理。

前面討論的示例算法在FPGA上運行可以獲得20倍的速度提升。該算法中的每個處理步驟同時對各個像素或一組像素進行操作,因此該算法可以利用FPGA的并行優(yōu)勢來處理圖像。 然而,如果算法使用諸如模式匹配和OCR這樣的處理步驟,這些要求立即分析整個圖像,這時候FPGA的優(yōu)勢就比較勉強了。這是由于缺少處理步驟的并行化,以及需要大量內存進行圖像與模板之間的比對分析。

雖然FPGA可以直接訪問內部和外部存儲器,但通常情況下,FPGA可用的存儲器數量遠不及CPU可用的數量,或是這些處理操作所需的數量。

4克服編程復雜性

FPGA用于圖像處理的優(yōu)勢,取決于每種應用要求,包括應用的特定算法、延遲或抖動要求、I/O同步和功耗等因素。通常使用具有FPGA和CPU的架構,能充分利用FPGA和CPU各自的優(yōu)勢,并且在性能、成本和可靠性方面都具有競爭優(yōu)勢。然而,實現基于FPGA的視覺系統(tǒng)面臨的最大挑戰(zhàn)之一是克服FPGA的編程復雜性。

視覺算法開發(fā)本質上是一個迭代過程。完成任何一項任務都必須嘗試多種方法。大多數情況下,需要確定的不是哪種方法可行,而是哪種方法最好,而“最好方法”的判定則因應用的不同而不同。例如,對于某些應用而言,速度至關重要;而對于另一些應用,則更看重準確度。至少,需要嘗試幾種不同的方法才能為特定應用找到最好的方法。

為了實現生產率的最大化,不論使用哪種處理平臺,都需要立即獲得關于算法的反饋和基準測試信息。當使用迭代探索性方法時,實時查看算法結果將會節(jié)省大量時間。什么是正確的閾值?用二進制形態(tài)濾波器剔除的顆粒多大或多小? 哪種圖像預處理算法和算法參數可以最好地清理圖像? 這些都是開發(fā)視覺算法時的常見問題,而關鍵在于是否能夠更改并快速查看結果。然而,傳統(tǒng)的FPGA開發(fā)方法可能會減緩創(chuàng)新,因為算法的每個設計變化之間需要編譯時間。克服這一點的一個方法是使用一個算法開發(fā)工具,可讓您在同一個環(huán)境進行CPU和FPGA的開發(fā)工作,而不會在FPGA編譯時陷入困境。NI Vision Assistant是一種算法工程工具,用于開發(fā)部署到CPU或FPGA上的算法,以幫助您簡化視覺系統(tǒng)設計。您還可以使用Vision Assistant在目標硬件上編譯和運行之前測試算法,同時輕松訪問吞吐量和資源利用率信息。

圖5. 在具有集成基準測試的FPGA硬件上使用基于配置的工具開發(fā)算法,可減少等待代碼編譯的時間,從而提高了開發(fā)速度。

因此在考慮誰更適合進行圖像處理時,CPU還是FPGA?答案是“視情況而定”。您需要了解應用的目標,才能使用最適合該設計的處理元件。但是,不管是什么應用,基于CPU或FPGA的架構及其固有的優(yōu)勢都可以將機器視覺應用的性能提升一個等級。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1643

    文章

    21923

    瀏覽量

    612375
  • cpu
    cpu
    +關注

    關注

    68

    文章

    11013

    瀏覽量

    215298
  • 視覺算法
    +關注

    關注

    0

    文章

    32

    瀏覽量

    5729

原文標題:CPU vs FPGA,圖像處理誰更厲害?

文章出處:【微信號:mcuworld,微信公眾號:嵌入式資訊精選】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    【「# ROS 2智能機器人開發(fā)實踐」閱讀體驗】視覺實現的基礎算法的應用

    的本質是解決“雞與蛋”問題:機器人需要地圖來定位,又需要準確定位來構建地圖。書中從前端(傳感器數據處理)和后端(位姿優(yōu)化)兩個層面解析了SLAM的算法邏輯。 激光雷達和視覺SLAM各有優(yōu)劣,例如激光
    發(fā)表于 05-03 19:41

    湖南銀河電氣有限公司產品應用案例

    湖南銀河電氣有限公司產品應用案例
    發(fā)表于 04-23 11:21 ?0次下載

    FPGA開發(fā)任務

    我想請人幫我開發(fā)一款基于FPGA產品,把我寫好MATLAB代碼固化在FPGA中,實現算法加速和加密功能。有興趣的聯系我
    發(fā)表于 03-15 10:19

    fpgacpu的區(qū)別 芯片是gpu還是CPU

    一、FPGACPU的區(qū)別 FPGA(Field-Programmable Gate Array,現場可編程門陣列)和CPU(Central Processing Unit,中央處理器
    的頭像 發(fā)表于 02-01 14:57 ?1116次閱讀

    FPGA+GPU+CPU國產化人工智能平臺

    算法架構可快速移植,接口靈活搭配,具備部署靈活、功耗和算力性價比高、支持人工智能推理應用部署等特點。FPGA+GPU+CPU多核異構平臺架構示意圖前面板實物圖前面板
    的頭像 發(fā)表于 01-07 16:42 ?827次閱讀
    <b class='flag-5'>FPGA+GPU+CPU</b>國產化人工智能平臺

    如何制定一套優(yōu)質的工業(yè)視覺檢測算法方案?

    在現代工業(yè)生產中,視覺檢測技術的應用正變得越來越廣泛,它在提高產品質量、優(yōu)化生產流程方面發(fā)揮著至關重要的作用。然而,與人臉識別、交通監(jiān)控、安防監(jiān)控等應用場景相比,工業(yè)視覺檢測項目的場景更為特殊,它
    的頭像 發(fā)表于 11-14 01:05 ?2215次閱讀
    如何制定一套優(yōu)質的工業(yè)<b class='flag-5'>視覺</b>檢測<b class='flag-5'>算法</b>方案?

    差分硅振替換SiTime產品應用于SSD,相位抖動低于350fs

    差分硅振替換SiTime產品應用于SSD,相位抖動低于350fs
    的頭像 發(fā)表于 11-08 09:41 ?456次閱讀
    差分硅振替換SiTime<b class='flag-5'>產品應用</b>于SSD,相位抖動低于350fs

    阿丘科技上榜CMVU“機器視覺創(chuàng)新產品TOP10”

    近日,機器視覺產業(yè)聯盟(CMVU)揭曉“2023年度機器視覺創(chuàng)新產品TOP10”榜單結果,阿丘科技憑借工業(yè)視覺算法平臺AIDI的卓越技術創(chuàng)新
    的頭像 發(fā)表于 11-02 08:06 ?640次閱讀
    阿丘科技上榜CMVU“機器<b class='flag-5'>視覺</b>創(chuàng)新<b class='flag-5'>產品</b>TOP10”

    TPA3255產品應用在消防廣播,固定輸入下, 如果輸出負載變化時,輸出電壓還能保持不變嗎?

    產品應用在消防廣播或者公共廣播。 固定輸入下, 如果輸出負載變化時,輸出電壓還能保持不變嗎? 如果是100V定壓 接20歐姆負載 能輸出500W功率.
    發(fā)表于 10-09 08:07

    銳思智芯展示融合視覺感知技術創(chuàng)新與產品應用

    日前,計算機視覺和人工智能領域最具影響力的頂級學術會議——IEEE國際計算機視覺與模式識別會議(CVPR2024)在美國西雅圖會議中心拉開帷幕。
    的頭像 發(fā)表于 08-28 14:36 ?776次閱讀

    FPGA在自動駕駛領域有哪些應用?

    FPGA,分別用于傳感器數據處理、視覺算法加速和車控算法優(yōu)化。FPGA通過同時支持FMC和PCI,實現了與ARM等處理器的高速數據交互。激光
    發(fā)表于 07-29 17:09

    計算機視覺技術的AI算法模型

    計算機視覺技術作為人工智能領域的一個重要分支,旨在使計算機能夠像人類一樣理解和解釋圖像及視頻中的信息。為了實現這一目標,計算機視覺技術依賴于多種先進的AI算法模型。以下將詳細介紹幾種常見的計算機
    的頭像 發(fā)表于 07-24 12:46 ?1466次閱讀

    基于FPGA EtherCAT的六自由度機器人視覺伺服控制設計

    平臺采用 dsp對圖像進行處理,其處理速度較慢,無法滿足圖像處理實時性要求,限制了機器視覺的應用。FPGA作為一種硬件平臺,用于數字圖像處理,具有速度快、集成度高、可靠性強等優(yōu)點。為了提高圖像的質量
    發(fā)表于 05-29 16:17

    FPGA能實現什么樣的算法

    FPGA功能如此強大,請問用FPGA能實現或者比較適合實現什么樣的算法
    發(fā)表于 05-26 20:18

    武漢凡谷:現階段已有產品應用到5.5G系統(tǒng)

    近日,武漢凡谷在接受機構調研時表示,公司具備5.5G方面的產品,如多頻多通道濾波器,現階段有相關的產品應用到客戶的5.5G系統(tǒng)。
    的頭像 發(fā)表于 05-20 09:54 ?790次閱讀