熊 峰,王桂棠,陳建強,陳永彬,陳志盛,吳佳毅
基于機器視覺的平面工件自動化檢測系統,其便捷之處在于使用工業相機代替人眼,以圖像處理算法代替手工測量,極大縮短檢測時間及減少人為誤差[1]。但是,對于較大尺寸的平面工件,需要減小相機的拍照采集視場以保證檢測精度,同時通過精密數字運動控制使相機沿檢測圖元的輪廓運動并采用局部圖像,然后結合運動坐標和圖像拼接得到工件的高精度圖像。依據檢測需求,測量圖元對象以及尺寸項目的選擇等需要預先進行規劃設置。對于需要檢測眾多尺寸的復雜形狀工件,當測量點數較多時,依靠手工操作就顯得相當復雜繁瑣、費時費力[2]。
DXF文件包含了工件的詳細圖形和尺寸信息。目前有研究者提出了利用解析DXF文件來獲取輸入工件信息的方法[3-4],但均未實現整體檢測規劃。本文研發了一種綜合了DXF文件解析、圖像重構、自動定位等技術的智能規劃方法,大大提高了基于機器視覺的較大尺寸復雜工件的智能檢測系統的工作效率和智能化水平。
DXF是一種CAD圖形交換文件,它以帶標記數據的形式表示AutoCAD圖形文件中包含的信息[4],非常適合用來提取檢測零件的形位信息[5]。
帶標記數據是指文件中的每個數據元素前面都帶有一個“組碼”——表示特定數據對象的含義。對于待測件的圖像重構,只需要關心圖像實體,而一般圖像實體信息全部包含在DXF文件的ENTITIES段中,將這些信息按構成元素劃分為以下幾類組碼,如表1所列。

表1 ENTITES段組碼解析表Tab.1 ENTITIESBlock Code Parsing Table
由于每類數據都由固定排列的組碼表示,可以利用正則表達式遍歷提取的方法來獲取所需解析內容,再將解析內容存入對應結構體中,即得到了每個圖像實體的形位數據。DXF解析器運行流程如圖1所示。

圖1 DXF文件解析流程Fig.1 DXFFile-pasring Flow
為了使機器視覺檢測系統檢測操作的交互過程方便直觀,需要將檢測對象圖像重構并顯示出來。考慮到算法統一性,需要將解析數據進行歸并:將直線歸入多段優化線,將圓、圓弧歸入橢圓,將直徑標注歸入半徑標注,最后得到5種數據類型。
本文應用Qt作為軟件開發平臺,其圖形界面開發工具應用非常廣泛,操作簡便,內部庫已經實現了很多交互方法。本文通過繼承Qt庫中的現有圖元類QGraphics Item來得到基本繪圖方法,再以這5種數據類型分別進行派生,實現各自的屬性,最后得到對應圖元類,派生關系如表2[4]。
通過圖元類頭文件定義了圖形的各種屬性(起點、終點、類型等)和必要方法(選中、繪制等)。
例如DXF Polyline Item圖元類的定義如下:
class DXFPolyline繼承自QGraphicsItem
{
共有:
構造函數1 #導入多段線數據
構造函數2 #導入單段線數據
類型函數 #返回圖元類型

表2 圖元類派生對照表Tab.2 Image Primitive Class Deriving Table
使能可處理函數 #控制選中是否有效
控制點列表 #多段線的控制點坐標
保護:
圖元邊框 #控制鼠標選擇熱點區
繪制函數 #實現圖元繪制工作
私有:
線段類型 #指示是否閉合
控制點坐標列表
};

圖2 輪廓重構(上:零件照片,下:圖像)Fig.2 Outline Restructure(UP:Photo,DOWN:Image)
由于重構圖像的數據來自DXF文件,當界面顯示比例為1像素代表1毫米時,顯示形位尺寸與真實形位尺寸信息相同,則通過在重構圖像上設置檢測采樣點,就可以直接得到實際的采樣坐標。圖2為輪廓重構實例。
在執行檢測前,需要先確定檢測對象圖元,然后設定檢測項目,最后設置采樣坐標。本文設計了智能交互的方式來完成這些步驟。
重構圖像中的所有圖元都有可選屬性,可將其解析數據作為圖元類成員,構建回調函數實現鼠標選中時返回對應成員數據,再根據指定的檢測項目調用相應算法就能生成一條完整檢測指令,整體流程如圖3。
為實現算法的統一性,將檢測項目劃分為8種基本類型:線長、直線度、半徑、圓度、角度、點點距、點線距和線線距,檢測對象與這8種檢測項目也有一一對應關系,通過分析概括如表3。

表3 檢測對象與檢測項目關系Tab.3 Measure Object and Item Map
每個圖元類中都設置了類型標識,在每次交互選擇時,根據類型標識判斷對象類型后,與關系表中的檢測項目綁定,實現智能候選菜單,其算法流程圖如圖4。

圖4 交互算法流程Fig.4 Interaction Algorithm Flow
由前文分析知,實際采樣坐標可以由圖像上的定位點得到,自動定位算法所做的工作就是生成圖像定位點。同樣,對應2種形位圖元有2種生成子算法,算法定義如下,其中genNodeList(*)方法根據傳入的圖元屬性來對其圖像邊緣進行分割然后由optimze(&)方法對分割點列表進行二次篩選處理,以下是算法定義:
class RoutePlanner
{
共有:
構造函數 #傳入采樣間距值
多段線圖元的采樣點計算函數 #返回節點列表
橢圓圖元的采樣點計算函數 #返回節點列表
節點過濾排序函數 #優化并生成運動路徑
私有:
節點列表
};
算法中的節點間距,是指相鄰采樣點之間的距離,對于視覺檢測定位,其節點間距就是相機視野直徑,這樣保證了采樣的完整性。(說明:當零件尺寸較大時,需要移動相機拍攝多幅局部照片,只有移動距離≤視場半徑時才能覆蓋到完整對象。
在設定好節點間距后,將選擇的圖元指針傳入,由genNodeList(*)方法即可得到圖元上的采樣點,主要原理為邊緣分割,分割數N由公式(1)、(2)確定:

其中L表示線長、S表示節點間距、R表示圓半徑、A表示圓弧角,得到分割數N后,再通過公式(3)、(4)就可得到定位點坐標:

以上公式中i∈[1,N]。公式(3)求出直線上的定位點坐標,其中(X0,Y0)代表直線起點;公式(4)求出圓弧上定位點坐標,a代表圓弧起始角。
然而并不是所有的檢測項目都需要所有定位點[6-14],比如求線長只需要兩個端點、求半徑只需要3點定圓等,那么還需要調用路徑優化函數op?timze(&)去除多余點,優化列表見表4。

表4 采樣點優化列表Tab.4 Sampling Node Optimization List
點線距、點點距、線線距為以上的多項組合。
之后,再去除重復點,就得到了優化后的實際采樣坐標,算法流程如圖5。

圖5 自動定位算法流程Fig.5 Auto-Positioning Algorithm Flow
最后將以上設計思路進行編程實現,以驗證實際效果。首先,選取零件圖紙文件,例如“厚度儀安裝板.dxf”載入解析器,得到結果如圖6所示。

圖6 DXF重構Fig.6 DXFRestructure
然后分別測試4種測量項目的自動規劃算法,得到結果如圖7~10。
以上所有采樣點若通過手工輸入,至少需要21次操作,并且容易出錯。使用本文算法自動生成規劃方案,只需要4次交互,高效且可靠,節省時間75%,達到了設計目標。

圖7 直線度測量采樣點生成Fig.7 Straightness Measuring Node Generation

圖8 點點距測量采樣點生成Fig.8 Point to Point Measuring Node Generation

圖9 兩線夾角測量采樣點生成Fig.9 Two Lines'Included Angle Measuring Node Generation

圖10 線線距測量采樣點生成Fig.10 Lines'Distance Measuring Node Generation
基于圖像交互的機器視覺尺寸檢測系統智能規劃算法,能有效提高現有檢測系統的整體效率。形狀越復雜、檢測參數越多的零件,縮短的規劃時間越多(在圖元總數不變情況下,隨檢測點數目線性增加)。
本算法不僅僅能運用于平面尺寸檢測系統,也很容易拓展到涉及二維定位的其他系統上,如加工制造;適應性較強,與其他算法搭配也能應用于三維空間定位系統。
參考文獻:
[1]劉霞.工業零件形狀尺寸的機器視覺檢測系統的研究[D].哈爾濱:哈爾濱理工大學,2009.
[2]張燕,王貴成,張占勝.機器視覺定位平臺的研究與應[J].機電產品開發與創新,2012,25(5):30-31.
[3]梁艷青.基于DXF文件的數控自動編程系統的設計與實現[D].沈陽:中國科學院沈陽計算技術研究所,2015.
[4]付泰,王桂棠,程書豪,等.基于機器視覺的復雜平面零件尺寸精密檢測[J].機電工程技術,2016,45(08):7-9.
[5]呂欣澤.基于DXF文件的激光雕刻系統的設計與實現[D].天津:天津師范大學,2010.
[6]馬凱,楊澤林,呂靜.基于DXF文件的CAD/CAM刀具路徑優化與生成[J].機床與液壓,2011,39(10):40-42.
[7]鄧小峰.基于機器視覺的零件識別和測量系統研究[D].南京:南京航空航天大學,2014.
[8]葉鵬,高興宇.基于機器視覺的工業零件通用檢測平臺[J].桂林電子科技大學學報,2016,36(3):227-230.
[9]盧婷婷.基于DXF文件的水切割機床軌跡優化及仿真加工的研究與實現[D].南京:南京航空航天大學,2010.
[10]姚宜斌,孔建.基于DXF文件的圖件轉換方法研究及程序實現[J].大地測量與地球動力學,2011,31(1):118-122.
[11]但永平,張蕾,張國濤,等.基于VC++的DXF數據文件接口程序設計[J].電子設計工程,2012,20(23):70-74.
[12]陳大川,許小東,陳永彬,等.基于機器視覺的鉸鏈精密檢驗系統 [J].機電工程技術,2015(3):64-67.
[13]董富強.基于機器視覺的零件輪廓尺寸精密測量系統研究[D].天津:天津科技大學,2014.
[14]馬建偉,趙朋可.基于機器視覺和OPC的多軸運動控制實驗平臺設計[J].工業儀表與自動化裝置,2013(6):35-38.