国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

嵌入式機器視覺檢測軟件的構件化設計

2011-07-26 11:03白瑞林
自動化儀表 2011年10期
關鍵詞:鋸齒藥片嵌入式

陳 祎 白瑞林 趙 潔 吉 峰

(江南大學物聯(lián)網(wǎng)工程學院智能控制研究所1,江蘇 無錫 214122;無錫信捷電氣有限公司2,江蘇 無錫 214072)

0 引言

隨著我國工業(yè)化整體水平的不斷提高,機器視覺技術得到了廣泛的發(fā)展,它具有速度快、精度高、非接觸、自動化程度高等優(yōu)勢。由于嵌入式機器視覺在處理速度、檢測精度、圖像質量、分辨率和集成度等方面都有較大的提高,因此,其已成為工業(yè)應用的主流方向[1]。

目前,國際主要機器視覺產品制造商都有各自的嵌入式檢測產品[2],視覺檢測軟件也發(fā)展迅速,如Cognex公司生產的VisionPro視覺軟件可將視覺工具庫與嵌入式視覺設備組合在一起,實現(xiàn)了計算機數(shù)據(jù)和控制軟件的集成[3]。國內依然是采用結構化建模方法和面向對象的軟件開發(fā)技術,開發(fā)周期過長且系統(tǒng)可重構性、可復用性和可擴展性差,浪費了大量的人力和物力資源[4]。本文利用軟件復用技術構建視覺檢測軟件[5],采用基于構件的思想對視覺算法進行優(yōu)化與篩選,根據(jù)功能和應用類別完成算法構件,形成層次化的機器視覺算法庫。

1 系統(tǒng)硬件組成

智能相機是嵌入式機器視覺系統(tǒng)的核心組成部分,其總體結構如圖1所示。

圖1 智能相機總體結構Fig.1 Overall structure of smart camera

智能相機由采集模塊、處理模塊、外部通信模塊及其他外圍器件等組成[6]。圖像信號由CCD圖像采集模塊采入,經(jīng)由并行數(shù)據(jù)線傳送至FPGA中,F(xiàn)PGA將圖像數(shù)據(jù)轉換后存儲到SDRAM中,DSP(DM642處理器)調用Flash中的圖像處理程序對SDRAM中的圖像數(shù)據(jù)進行實時處理,并根據(jù)處理結果通過數(shù)字I/O向現(xiàn)場設備發(fā)送控制信號。整個處理流程可通過以太網(wǎng)進行遠程實時監(jiān)控。

2 算法庫設計

2.1 算法庫模型設計

機器視覺檢測軟件的開發(fā)涉及到大量的圖像處理算法,既有一些常用的圖像處理底層算法,如圖像降噪增強、邊界檢測和幾何變換等,又有面向特定領域處理的算法,如圖像匹配、Blob分析和圓定位等,且期望能夠通過組合復用這些算法來滿足不同檢測領域的要求。因此,一個設計合理的機器視覺算法庫是本系統(tǒng)開發(fā)的關鍵所在。

機器視覺算法庫(machine vision algorithms library,MVAL)分為算法層、工具層和作業(yè)層。算法層作為MVAL模型的基礎,是圖像處理底層算法、測量以及標記等算法構件的集合;工具層是算法層構件組合形成的工具模塊的集合,主要包括面對實際檢測需求的定位、計數(shù)、測量、瑕疵檢測等檢測算法;作業(yè)層則是多個工具模塊的串/并聯(lián)組合,并根據(jù)應用程序設置的檢測寬容度輸出最終的檢測結果。機器視覺算法庫層次結構如圖2所示。

圖2 機器視覺算法庫層次結構Fig.2 Hierarchal structure of the MVAL

2.2 算法構件描述

算法構件是MAVL結構中的核心構成單元,它具有一定的圖像處理功能和結構,并符合一定標準,可以完成一個或多個特定服務。算法構件結構如圖3所示。

圖3 算法構件結構Fig.3 Structure of algorithm component

在圖像處理過程中,一般都有一個基本流程,即先輸入圖像的數(shù)據(jù),再對這些數(shù)據(jù)進行算法處理,最后再將處理結果格式化輸出。因此,處理過程中可以隱藏構件的具體算法功能,通過輸入、輸出接口對外提供服務,避免暴露復雜的、與輸入輸出相關的數(shù)據(jù)結構,從而為數(shù)據(jù)處理構建一個通用的框架。該結構提供了一種利用多個接口來配置圖像處理算法的方法。

算法構件各個接口具體描述如表1所示。其中輸入接口主要完成對圖像數(shù)據(jù)的讀取和其他構件的關聯(lián),包括 GetImageColorNum()、ReadImageHead()、ReadImageContet()、GetPrevComponentInterface()等函數(shù);配置接口是設置被檢測特征目標相關的屬性參數(shù),如沿線定位檢測中的邊界類型和邊界寬度;資源請求接口主要包括對構件關聯(lián)、內存分配、DMA通道使用等軟硬件資源的調用,通過TI的XDAIS標準中IALG接口實現(xiàn);輸出接口主要輸出圖像算法的運算結果。

表1 算法構件描述Tab.1 Description of algorithm component

2.3 算法復合構件

當單一算法構件的功能不能完全滿足檢測要求時,可通過多個構件的組裝來實現(xiàn)所需的功能,如將圖像二值化、邊界提取、最小二乘圓擬合、圓Hough變換等算法構件組合成圓定位工具。構件組裝旨在構件間建立關聯(lián),根據(jù)關聯(lián)協(xié)調它們的行為,將它們組織成為一個有機整體,構件組裝的關鍵在于搭建合理的體系結構[7]。算法構件組裝原理如圖4所示。

圖4 算法構件組裝原理圖Fig.4 Assembling principle of algorithm components

根據(jù)交互協(xié)議,多個算法構件通過匹配的接口與連接件的連接來實現(xiàn)構件的復合。由于算法構件結構參考Darwin構件,是用服務(service)進行定義的,因此,一個構件既能對外提供一些服務,也能請求外部的服務[8]。當多個算法構件組裝時,算法庫運行框架——虛擬機(virtual machine)將生成一個NativeNode的動態(tài)鏈表,鏈表的長度由配置參數(shù)決定。智能相機加載并讀取視覺檢測作業(yè)時會將算法模塊配置信息對應的方法表(function table)的指針傳遞給虛擬機。該方法表加載與卸載功能對應的接口如下。

①NodeOfNative* InsertNativeNode():加載算法構件;

②void RemoveNativeNode():卸載一個算法構件;

③ void RemoveAllNativeNode():卸載所有算法構件。

2.4 工具配置

本檢測系統(tǒng)為通用系統(tǒng),所處環(huán)境和檢測對象千差萬別。因此,需要根據(jù)具體的環(huán)境和檢測內容進行相應的配置?;跇嫾臋C器視覺算法庫設計保證了系統(tǒng)檢測作業(yè)配置的靈活性和可變性,系統(tǒng)上位機軟件采用圖像化配置界面,可將不同的圖像算法按照工業(yè)現(xiàn)場實際檢測要求組合起來,并根據(jù)實際合格產品質量的寬容度設定通過檢測條件,通過以太網(wǎng)快速完成對系統(tǒng)的配置。

以鋸齒檢測為例,檢測內容主要包括測量鋸齒的齒距、鋸齒齒尖與鋸齒邊緣的高度、斷齒。系統(tǒng)上位機軟件配置界面如圖5所示。在圖5(a)所示的算法工具配置圖中,工具1用于獲得鋸齒的邊界點,此邊界點將作為圖像檢測相對參考點。在測量鋸齒的齒距過程中,尋找鋸齒直線邊緣的工具2、尋找鋸齒齒尖的工具3和尋找齒尖斜邊緣工具4都將繼承于定位工具1,這樣可以放寬機械定位的需求;計算鋸齒齒尖斜邊緣到鋸齒直線邊緣的夾角的工具5繼承于定位工具2和工具4;獲得鋸齒齒尖到鋸齒直線邊緣距離的工具6繼承于齒尖定位工具2和工具3。上位機軟件自動生成這些工具的相互關聯(lián)圖,如圖5(b)所示,并可根據(jù)實際鋸齒的距離設置通過檢測的條件,從而完成對鋸齒有無斷齒的檢測。

3 算法庫運行框架

在智能相機中,應用程序進程通過分析上位機圖形配置的參數(shù)信息來調用MAVL中的相應構件,而MAVL構件的運行就需要算法庫運行框架——機器視覺虛擬機來支撐。虛擬機隔離下層的操作系統(tǒng)和硬件層,并為MAVL提供一個與下層具體操作無關的統(tǒng)一接口,以訪問采集到的數(shù)據(jù)、訪問和修改產品參數(shù)以及與外部設備之間建立通信,從而實現(xiàn)模塊調用和動態(tài)訪問其他工具資源[9]。

虛擬機結構主要由類裝載、內存、本地方法接口和仿真引擎等部分組成[10]。由于上位機軟件下載到智能相機的配置信息的是一個包含該Class文件信息的字節(jié)碼數(shù)組ByteCode[],為提高系統(tǒng)實時性,虛擬機一方面以本地方法的方式實現(xiàn)算法庫,另一方面支持對硬件層的直接訪問以及內存和DMA通道分配。虛擬機結構如圖6所示。

圖6 虛擬機結構Fig.6 Structure of virtual machine

4 系統(tǒng)性能測試

以智能相機加載藥品測試作業(yè)為例,對軟件構件算法執(zhí)行時間進行測試。相機對藥片表面質量問題進行檢測,包括藥片是否存在破裂、損壞以及邊緣處是否留有殘余物質。相機首先對標準藥片的輪廓學習后記錄并存儲藥品的標準特征,以后的藥片都將與該標準進行比較,任何不符合特定標準的藥片都會被視為不合格產品。藥片檢測實例如圖7所示,檢測藥片從左到右依次被標記為1~6,其中1、3、4為正常藥片,2為破裂藥片,5為邊緣具有殘余物質藥片,6為損壞藥片,基本上包括了藥片表面的所有缺陷類別。

圖7 藥片檢測實例圖Fig.7 Practical example of tablets detection

開始檢測時,首先選擇1、3、4作為標準的學習藥片,然后對從6種藥片中隨機抽取不同組合進行檢測。測試結果如表2所示。其中,檢測時間為完成對一組藥品組合的檢測耗時,而匹配程度則取被檢測藥片組合中與記錄的標準藥片特征值的匹配情況的最小值,檢測總結果顯示Pass或Fail,成功數(shù)則為通過檢測藥品的數(shù)目。

表2 測試結果Tab.2 Test results

試驗證明,視覺系統(tǒng)能夠對藥片缺損、破裂和邊緣殘核等現(xiàn)象進行檢測,精確度高,滿足實時性要求。

5 結束語

本文在分析了嵌入式機器視覺檢測系統(tǒng)特點的基礎上,提出了基于構件的系統(tǒng)軟件設計方法,設計了機器視覺算法庫,詳細描述了算法構件組成和運行框架,并給出了實際檢測的配置案例。此系統(tǒng)已在工業(yè)在線檢測上使用,效果良好。本文設計并實現(xiàn)的機器視覺算法庫模型為該領域的軟件復用技術提供了參考。

[1]Zhu S,潘津,葉敏,等.引領潮流的智能相機[J].現(xiàn)代制造,2007(1):34-36.

[2]鄧集杰,劉鐵根,楊永,等.基于機器視覺的嵌入式工業(yè)在線檢測系統(tǒng)[J].計算機工程,2008,2(4):260 -262.

[3]康耐視中國.視覺工具庫[EB/OL].[2010-1-15].http://www.cognex.com/ProductsServices/VisionSoftware/default.aspx?id=2406&langtype=2052&locale=cn.

[4]段敬紅,馮江,張發(fā)存.基于軟件構件的表面缺陷檢測軟件開發(fā)[J].計算機工程與科學,2009,31(10):77 -79.

[5]Yardley E.A software approach to integrated machine vision[J].Computing and Control Engineering,2004,15(6):15 -18.

[6]尚佳良,白瑞林,楊文浩.嵌入式機器視覺測控系統(tǒng)的設計與實現(xiàn)[J].計算機測量與控制,2009,17(7):1289 -1291.

[7]字天文,劉曉燕,沈嘉權.實時嵌入式構件模型組裝方法及時間性推理[J].計算機工程與應用,2009,45(25):74 -77.

[8]楊芙清,梅宏,黃罡.構件化軟件設計與實現(xiàn)[M].北京:清華大學出版社,2008.

[9]Smith J E,Nair R.虛擬機系統(tǒng)與進程的通用平臺[M].北京:機械工業(yè)出版社,2009.

[10]Courbot A,Grimaud G.Application-driven customization of an embedded Java virtual machine[J].Lecture Notes in Computer Science,2005(3823):81-90.

猜你喜歡
鋸齒藥片嵌入式
猛犸殺手——鋸齒虎
Focal&Naim同框發(fā)布1000系列嵌入式揚聲器及全新Uniti Atmos流媒體一體機
救命藥片
藥片不能掰開服
藥片洗頭有奇效
TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應用
搭建基于Qt的嵌入式開發(fā)平臺
藥片顏色誰決定
鋸齒線在整形美容領域的應用
倍福 CX8091嵌入式控制器