日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

3天內不再提示

適用于工業(yè)物聯網的高效機器視覺應用的圖像處理系統(tǒng)設計

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

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

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

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

雖然OpenCV是為計算效率而設計的,但是高分辨率的數據流量相機可以挑戰(zhàn)純軟件實現,甚至是那些在高性能多核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)技術將算法編譯成可編程硬件。傳統(tǒng)的FPGA開發(fā)是圍繞硬件描述語言(HDL)構建的,例如Verily和VHDL。盡管這些HDL分別與C和Ada具有語法上的相似性,但它們的運行細節(jié)水平低于大多數軟件開發(fā)人員所熟悉的程度。 Verilog和VHDL基于位級操作和組合邏輯。 HLS技術提供了將用C ++等語言表達的算法轉換為硬件的能力。

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

適用于工業(yè)物聯網的高效機器視覺應用的圖像處理系統(tǒng)設計

圖1:適用于FPGA實現的嵌套循環(huán)代碼。

適用于工業(yè)物聯網的高效機器視覺應用的圖像處理系統(tǒng)設計

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

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

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

hls :: Mat image();

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

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

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

適用于工業(yè)物聯網的高效機器視覺應用的圖像處理系統(tǒng)設計

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

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

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

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

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

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

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

結論

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

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

    關注

    213

    文章

    31519

    瀏覽量

    223919
  • 機器視覺
    +關注

    關注

    166

    文章

    4833

    瀏覽量

    126584
  • 工業(yè)物聯網

    關注

    25

    文章

    2551

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    機器視覺系統(tǒng)在注塑行業(yè)的應用

    控制系統(tǒng),用于根據圖像處理系統(tǒng)輸出的結果而設定的控制方式系統(tǒng)?;谌搜蹤z測的疲勞性,機器
    發(fā)表于 06-09 14:55

    機器視覺技術

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

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

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

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

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

    CCD機器視覺系統(tǒng)運行原理及工作方式

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

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

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

    深圳工業(yè)機器視覺系統(tǒng)有哪些組成部分?

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

    基于雙DSP的全方位視覺圖像處理系統(tǒng)硬件設計與研究

    基于雙DSP的全方位視覺圖像處理系統(tǒng)硬件設計與研究
    發(fā)表于 10-23 14:16 ?11次下載
    基于雙DSP的全方位<b class='flag-5'>視覺</b><b class='flag-5'>圖像</b><b class='flag-5'>處理系統(tǒng)</b>硬件設計與研究

    機器視覺系統(tǒng)工業(yè)相機有哪些要求

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

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

    當前機器視覺在各種導航系統(tǒng)中的應用日漸成熟,這種技術正是建立在數字信號和圖像處理成熟理論和算法基礎之上,本
    發(fā)表于 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'>處理系統(tǒng)</b>的設計

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

    視覺應用系統(tǒng)包括圖像捕捉、光源系統(tǒng)、圖像數字化模塊、數字圖像
    的頭像 發(fā)表于 10-09 16:01 ?4713次閱讀

    4G聯網網關應用于智慧污水處理系統(tǒng)

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

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

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

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

    工控機在機器視覺系統(tǒng)設計中是不可或缺的核心組件,在機器視覺中發(fā)揮著至關重要的作用,其強大的計算能力、高度的穩(wěn)定性和可靠性、實時性以及圖像
    的頭像 發(fā)表于 11-23 01:08 ?1193次閱讀
    <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>控制平臺

    機器視覺系統(tǒng)工業(yè)相機的常用術語解讀

    、場景的某種認識并作出相應決策的有機整體??膳渲玫?b class='flag-5'>機器視覺系統(tǒng)是由工業(yè)相機、工業(yè)鏡頭、光源、采集與處理軟件等分離部件構成,可通過軟硬件參數調
    的頭像 發(fā)表于 10-31 17:34 ?1426次閱讀
    <b class='flag-5'>機器</b><b class='flag-5'>視覺系統(tǒng)</b>中<b class='flag-5'>工業(yè)</b>相機的常用術語解讀
    广河县| 洪洞县| 云龙县| 陵川县| 元阳县| 延川县| 临泽县| 岚皋县| 巫山县| 青川县| 文成县| 乃东县| 上犹县| 高雄市| 石城县| 开封市| 鄄城县| 丰城市| 得荣县| 疏勒县| 台中市| 宣汉县| 襄城县| 辽阳市| 鲁甸县| 南部县| 邮箱| 会同县| 双牌县| 伊春市| 尖扎县| 沭阳县| 广州市| 罗甸县| 扶风县| 崇义县| 略阳县| 呼和浩特市| 全椒县| 公主岭市| 雷山县|