国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

適用于工業物聯網的高效機器視覺應用的圖像處理系統設計

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2019-03-22 09:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

隨著自動化程度的提高,工業成像和機器視覺應用在工業控制中變得越來越普遍,以支持提高生產率的動力。為了實現提高效率的承諾,圖像處理系統需要高速運行,以確保節拍時間,即每個新單元開始生產之間的平均時間,盡可能短。

同時,市場上出現了高分辨率相機,能夠進行高清晰度記錄,并且可以支持生產線上組件的極細細節成像。由于使用千兆以太網,它們能夠高速傳輸這些高質量圖像。因此,圖像處理軟件的高性能至關重要。

這表明在硬件中實現關鍵算法,但工業圖像處理的靈活性至關重要。不同類型的組件和組件需要特別關注某些視覺特征。組裝后對PCB的檢查通常是檢測焊道中的斷裂和擠壓,指示可能的故障源。檢查發動機歧管可能會尋找未對準或缺失的緊固件。雖然這些任務可能使用通用模塊,例如邊緣檢測和模式匹配來識別感興趣的區域,但每個模塊都需要自己的一組圖像處理程序來執行完整的檢查任務。

靈活性將變得更加重要當調用圖像處理子系統來協助設置自動化時。圖像處理不僅對于檢查而言是必要的,而且有助于定位機器人系統并對其進行訓練。傳統上機器人使用精心計算的運動輪廓進行編程,而現在他們開始使用視野內的攝像機和物體來對齊自己并確定需要拾取和處理的組件。要運行此類映像應用程序,開發人員需要一個功能工具包,可以在平臺上輕松組裝,具有實時運行算法所需的性能。

可視化工具包,提供一組基本功能包括工業在內的多種形式的圖像處理以OpenCV庫的形式提供。現在,開源OpenCV庫已經成為許多領域中圖像處理的流行選擇,現在已達數百萬行代碼。到2016年,SourceForge存儲庫記錄了超過1300萬次的庫下載。

OpenCV涵蓋了圖像處理和機器視覺應用所需的許多功能,從基本的像素級操作,如閾值處理到特征提取基于深度學習機器學習技術進行對象識別。它的功能可以從C/C ++,JavaPython等語言中獲得。

從C ++訪問,OpenCV使用“cv”命名空間中的類和函數提供服務。例如,要檢索存儲的圖像和顯示,開發人員首先通過基于cv:Mat類創建對象來創建合適的圖像數組。函數cv :: imread()用于賦值,將圖像數據插入到使用cv :: Mat聲明的數組中:

cv :: Mat圖像(height,width,pixel_type);

image = cv :: imread(“image.bmp”);

鏡像圖像的簡單操作可以通過聲明一個新的Mat對象來實現 - 例如“鏡像” - 并發出命令cv :: flip(image,mirrored,1)。第三個位置使用的整數決定了圖像翻轉的軸。

Mat數組提供對圖像數據的低級別像素訪問,以支持掃描區域以查找屬性(例如最小值或最大值)的算法,并支持直接操作數據。但是該庫還實現了在機器視覺中有用的更高級過濾功能,例如邊緣檢測過濾器。例如,cv :: Sobel和cv :: Laplacian調用實現了對圖像的濾波器,該圖像通過將圖像數據與3×3或更大的矩陣進行卷積來檢測像素亮度的突然變化。在源陣列上執行過濾器會生成包含可能邊緣的數組。較大的內核可用于抑制高頻噪聲并以更高的置信度產生實際邊緣。使用Canny算子等函數進行閾值處理可以提高結果的整體質量。

可以使用cv :: HoughLinesP等函數提取圖像中檢測到的行,并用于支持對其進行操作的算法在源圖像中找到的形狀。這些可用于確定是否存在預期在圖像中的物體,例如發動機殼體上的緊固件。

雖然OpenCV是為計算效率而設計的,但是高分辨率的數據流量相機可以挑戰純軟件實現,甚至是那些在高性能多核SoC上運行的軟件。 OpenCV不僅支持在通用處理器上實現其功能,還支持在圖形處理單元(GPU)甚至自定義硬件上實現其功能。保持基于軟件的控制的靈活性,同時利用硬件實現下可實現的性能的一種方法是采用可編程邏輯。 Xilinx Zynq-7000提供了一種在單個SoC中訪問多核CPU和可編程邏輯的便捷方式。

Zynq-7000平臺將一個或兩個ARM?Cortex?-A9處理器與靈活的硬件組合在一起。嵌入式現場可編程門陣列(FPGA)以及支持高速I/O的外設。 Zynq-7000器件支持兩種形式的FPGA架構:一種基于Xilinx Artix-7架構,另一種基于高性能Kintex-7架構。所有這些都采用28 nm CMOS工藝實現,具有高性價比的高邏輯和存儲密度。

除了基于查找表概念的靈活可編程邏輯外,Artix和Kintex架構均提供數字信號處理(DSP)資源設計用于有效處理濾波器和卷積。使用片式架構,DSP資源可以調諧到器件,Kintex提供比Artix更高的DSP引擎與位級邏輯比。超過2000條互連線將處理器復合體連接到可編程結構,有助于支持在處理模塊之間傳輸圖像數據所需的高帶寬。

使用Zynq-7000平臺的設計人員可以使用高級別Vivado Design Suite中的綜合(HLS)技術將算法編譯成可編程硬件。傳統的FPGA開發是圍繞硬件描述語言(HDL)構建的,例如Verily和VHDL。盡管這些HDL分別與C和Ada具有語法上的相似性,但它們的運行細節水平低于大多數軟件開發人員所熟悉的程度。 Verilog和VHDL基于位級操作和組合邏輯。 HLS技術提供了將用C ++等語言表達的算法轉換為硬件的能力。

HLS綜合利用面向對象的C ++基礎,讓程序員識別并發機會,在代碼中進行低級調度,為合成引擎提供如何從源代碼生成硬件的方向。例如,創建用于在FPGA架構上部署的嵌套矩陣乘法運算的程序員可以識別可以在Vivado HLS實現工具中分配給硬件及其相關調度的每個循環的處理模塊。在圖1中,Row,Col和Product標識符表示輸出塊。圖2顯示了Row塊及其包含的Col塊的擴展,以及用于在塊之間移動數據的兩個區域。控制流循環顯示合成操作的延遲。

適用于工業物聯網的高效機器視覺應用的圖像處理系統設計

圖1:適用于FPGA實現的嵌套循環代碼。

適用于工業物聯網的高效機器視覺應用的圖像處理系統設計

圖2:在Vivado中查看的嵌套循環部分的控制流程圖。

為了提高性能,設計人員可以展開循環以允許更多功能并行發生(如果可用的DSP節點和查找表)硬件可用。對于圖像和視頻處理工作,Vivado環境包括許多提供直接支持的庫。

HLS成像庫包括與OpenCV imgproc模塊非常接近匹配的函數。例如,雖然軟件中的OpenCV將使用cv :: Mat聲明來創建在內存中保存圖像所需的數組,但是有一個相應的模板類,稱為hls :: Mat <>,它提供相同的核心功能。聲明一個名為image的數組的等效調用將顯示為:

hls :: Mat image();

而不是從磁盤讀取圖像,它通常使用hls :: stream <>數據類型將處理器復合體傳遞到FPGA架構中。在處理器空間和FPGA中處理圖像之間存在關鍵差異。硬件結構是在假設將存在以像素流形式通過邏輯元件的加速操作流水線的情況下編程的。因此,依賴于對圖像數據的隨機訪問的算法需要轉換為可以作用于線性流的形式。

流式訪問也意味著如果兩個硬件映射函數需要圖像,它需要重復。這通常使用hls :: Duplicate函數執行。另一個不同之處在于浮點值的處理。 OpenCV本身支持浮點運算,但這在典型FPGA的DSP資源上通常效率低下。將所有數據類型轉換為定點等價物然后在將數據傳遞回軟件例程后使用縮放轉換以保持與核心OpenCV函數的兼容性是有意義的。

硬件對函數的適用性可能決定應用程序或子系統的分區。 Zynq-7000平臺上與OpenCV兼容處理的參考設計之一是實現角點檢測和創建覆蓋圖,顯示圖像中的所有角落。其結構如圖3所示。

適用于工業物聯網的高效機器視覺應用的圖像處理系統設計

圖3:快速應用示例的數據流結構。

與許多人一樣機器視覺應用程序,實現采用管道的形式。第一個功能是灰度轉換,可以通過從RGB源提取綠色通道來近似。然后進行角點檢測,然后使用模塊在圖像上繪制角點。

應用程序在硬件使用方面的問題是在目標圖像中繪制疊加層需要隨機訪問圖像陣列,這是面向流的硬件實現不容易支持的。設計人員可以采用的方法是在FPGA和處理器復合體之間劃分功能。綠色通道提取和角點檢測卷積很容易在硬件中實現。一旦通過Zynq-7000的AXI4接口將圖像流回處理器存儲器,就可以在圖像上執行角圖繪制功能,這些圖像的計算密集度較低。

涉及數字的更復雜的圖像處理系統執行提取,識別和其他任務的協作模塊可能涉及比固定延遲流水線更復雜的架構。例如,不同的情況可能需要對圖像進行更密集的處理。例外情況可能會觸發對部分數據的更深入分析。這些考慮使調度變得復雜。最簡單的選擇是在處理器復合體上運行自由選擇的函數,但如果某些函數是計算密集型的,則存在整體系統性能受損并且控制例程將錯過關鍵期限的風險。 FPGA的區域可以保留用于計算密集型功能,但除非留出大部分,否則無法保證資源在某些條件下可用。所需要的是在處理器復合體和其他加速器之間分配功能的動態方法,例如能夠在FPGA架構上運行的加速器。

嵌入式多核構建模塊(EMB2)庫提供動態所需的支持預定的異構系統。 EMB2庫可從GitHub獲得,為各種嵌入式實時應用程序提供一組設計模式,這些應用程序需要在GPU,GPU和可編程硬件上實現高性能計算支持,以及支持OpenCV等環境的C ++包裝器。

EMB2庫符合多核任務管理應用程序編程接口(MTAPI),由多核協會定義,以確保跨異構計算平臺的高可移植性。 MTAPI體系結構將工作負載組織為一組任務和隊列,后者用于實現數據元素流的處理流程。任務提供了將多個工作包彼此同步所需的組織。

EMB2和MTAPI的一個關鍵方面是它們支持能夠對同一任務使用不同實現的概念。如果構成庫的一部分的調度程序確定硬件結構中有資源可用,則它將運行能夠實例化必要邏輯的代碼版本,并允許數據流入和流出。如果處理器上有更大的空間,則可以標記純軟件版本以備運行。開發人員只需確保兩個表單都可供調度程序調用。結果是高性能應用程序的靈活執行環境和適合OpenCV架構的應用程序。

結論

由于靈活的開源庫和平臺的結合提供高速微處理器和可編程硬件,現在可以實現適用于工業物聯網的高效機器視覺應用。

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

    關注

    213

    文章

    31092

    瀏覽量

    222347
  • 機器視覺
    +關注

    關注

    165

    文章

    4799

    瀏覽量

    126095
  • 工業物聯網
    +關注

    關注

    25

    文章

    2531

    瀏覽量

    67562
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    機器視覺系統在注塑行業的應用

    控制系統用于根據圖像處理系統輸出的結果而設定的控制方式系統。基于人眼檢測的疲勞性,機器
    發表于 06-09 14:55

    機器視覺技術

    機器視覺就是用機器代替人眼來做測量和判斷。機器視覺系統是指通過機器
    發表于 01-17 07:56

    微信精選:圖像處理軟件在機器視覺系統中怎么工作?

    圖像處理軟件作為機器視覺系統的重要組成部分,主要通過對圖像的分析、處理和識別,實現對特定目標特征
    發表于 09-19 09:40

    四元數視覺:CCD機器視覺系統運行原理及工作方式

    CCD機器視覺系統用于自動化檢測及識別的高科技軟件產品,是運用工業相機實時采集加工品的圖像通過機器
    發表于 05-27 14:33

    CCD機器視覺系統運行原理及工作方式

      CCD機器視覺系統用于自動化檢測及識別的高科技軟件產品,是運用工業相機實時采集加工品的圖像通過機器
    發表于 12-10 16:32

    CCD機器視覺系統有哪些運行原理及工作方式?

    CCD機器視覺系統用于自動化檢測及識別的高科技軟件產品,是運用工業相機實時采集加工品的圖像通過機器
    發表于 08-18 16:48

    深圳工業機器視覺系統有哪些組成部分?

    機器視覺系統是通過機器視覺產品(即圖像攝取裝置,分CMOS和CCD兩種)將被攝取目標轉換成圖像
    發表于 08-26 17:51

    機器視覺系統工業相機有哪些要求

    機器視覺就是用機器代替人眼來做測量和判斷,通過將被攝目標轉換成圖像信號,傳送給圖像處理系統進行各
    發表于 08-01 17:21 ?21次下載

    如何使用DSP實現機器視覺的道路圖像采集和處理系統的設計

    當前機器視覺在各種導航系統中的應用日漸成熟,這種技術正是建立在數字信號和圖像處理成熟理論和算法基礎之上,本
    發表于 08-18 17:20 ?2次下載
    如何使用DSP實現<b class='flag-5'>機器</b><b class='flag-5'>視覺</b>的道路<b class='flag-5'>圖像</b>采集和<b class='flag-5'>處理系統</b>的設計

    凌華科技推出機器視覺應用的高速數字圖像采集卡,適用于PCB檢測等

    機器視覺的高速化、數字化趨勢愈見明顯,凌華科技推出適用于機器視覺應用的高速數字圖像采集卡PCIe
    的頭像 發表于 08-30 09:10 ?2610次閱讀

    機器視覺工業市場的應用 基于機器視覺的雙目圖像采集處理實例

    視覺應用系統包括圖像捕捉、光源系統圖像數字化模塊、數字圖像
    的頭像 發表于 10-09 16:01 ?4584次閱讀

    4G聯網網關應用于智慧污水處理系統

    4G聯網網關應用于智慧污水處理系統
    發表于 11-06 17:02 ?912次閱讀
    4G<b class='flag-5'>物</b><b class='flag-5'>聯網</b>網關應<b class='flag-5'>用于</b>智慧污水<b class='flag-5'>處理系統</b>

    機器視覺紅色光源適用于什么場合

    機器視覺紅色光源是一種利用計算機和圖像處理技術對圖像進行分析和理解的技術,廣泛應用于
    的頭像 發表于 07-04 09:59 ?1956次閱讀

    適用于機器視覺應用的智能機器視覺控制平臺

    工控機在機器視覺系統設計中是不可或缺的核心組件,在機器視覺中發揮著至關重要的作用,其強大的計算能力、高度的穩定性和可靠性、實時性以及圖像
    的頭像 發表于 11-23 01:08 ?1064次閱讀
    <b class='flag-5'>適用于</b><b class='flag-5'>機器</b><b class='flag-5'>視覺</b>應用的智能<b class='flag-5'>機器</b><b class='flag-5'>視覺</b>控制平臺

    機器視覺系統工業相機的常用術語解讀

    、場景的某種認識并作出相應決策的有機整體。可配置的機器視覺系統是由工業相機、工業鏡頭、光源、采集與處理軟件等分離部件構成,可通過軟硬件參數調
    的頭像 發表于 10-31 17:34 ?1237次閱讀
    <b class='flag-5'>機器</b><b class='flag-5'>視覺系統</b>中<b class='flag-5'>工業</b>相機的常用術語解讀