張巧麗,李光明,王孝敬
(1.陜西科技大學 電氣與信息工程學院,陜西 西安710021;2.西安金源電氣股份有限公司,陜西 西安710021)
目前,機器視覺在各個領域廣泛應用,只要是與自動化生產(chǎn)、制造、檢測、檢查、測試、測量等相關的[1,2],都可以考慮使用機器視覺與圖像處理的方法進行處理分析,從而提高效率與品質,尤其是在工業(yè)生產(chǎn)上,其可以檢測及跟蹤有缺陷的產(chǎn)品,具有實用性、靈活性和可視化的特點[3-5]。本文設計實現(xiàn)了一種基于LabVIEW 的模式匹配方法,工業(yè)產(chǎn)品在沒有明顯特征,但有比較明顯的形狀情況下,可以使用該模式匹配方法來實現(xiàn)在線實時的檢測。該軟件系統(tǒng)具有界面友好、性能可靠、易于擴展、實現(xiàn)簡單等特點。
模式也叫模型 (model)、模板 (template),模式匹配可以快速的查找、定位一個灰度圖像區(qū)域在整個圖像或ROI中,這個灰度圖像區(qū)域與一個已知的參考模式是匹配的。模式匹配算法在機器視覺領域具有重要的應用。
基本思想:模式匹配使用的是一種對比原理,即用被測目標與模板進行對比,根據(jù)它們的相似程度來判斷是否有目標的存在[6]。在使用模式匹配時,首先需要創(chuàng)建一個包含搜索目標的模板,然后機器視覺應用程序在采集到的每個圖像中搜索模板,并計算每個匹配的分數(shù),這個分值表示了找到的匹配對象與模板的相似程度。分值從0 到1000分,值越高表示越相似,1000分則是完美的匹配,通常只有在提取模板的圖像中匹配分數(shù)才能達到1000分,分值是匹配中的一個重要參數(shù)。
模式匹配在實際應用中也是使用非常廣泛的一種應用。當一個產(chǎn)品沒有太明顯的特征時,如直邊、圓、粒子、顏色等,而有比較明顯的形狀時,就可以考慮使用模式匹配。
本文使用的方法是一種新的模式匹配算法,金字塔匹配方法,該方法通過減小圖像和模板的大小提高了模式匹配的計算時間。在金字塔匹配中,圖像和模板都是重采樣的,以得到較小的空間分辨率,該方法通過每隔一個像素采樣,因此圖像和模板都可以減少到原來的1/4 大小,匹配首先在減小的圖像上執(zhí)行,因為圖像比較小,所以匹配速度是非??斓?。當匹配完成后,只有較高匹配分值的區(qū)域需要被考慮為原始圖像中的匹配區(qū)域。
本文主要采用視覺開發(fā)模塊VDM 與LabVIEW 相結合的技術來開發(fā)機器視覺應用程序[7],不但可以自由地編寫程序,而且限制條件比較少。
NI的LabVIEW 自發(fā)布以來以極高的更新率進化發(fā)展,不斷推出強大的軟、硬件工具,不斷更新、完善其功能和特性,被市場用戶積極認可和接受,使其應用領域迅速擴張。VDM 是NI視覺的核心工具包,其中包含了所有NI支持的功能,也是最低層的功能函數(shù)。使用VDM,再結合LabVIEW、VB、C、.NET 等編程語言,可以完成所有NI可以勝任的機器視覺圖像處理任務。
(1)VAS:視 覺 采 集 軟 件 (vision acquisition software),是NI 推出的機器驅動程序,其中的IMAQdx、IMAQ 等驅動程序,可以驅動大部分國內(nèi)外品牌工業(yè)相機、也可以驅動NI自己的圖像采集卡、幀接收器等。VAS并沒有包含圖像處理部分,但通過VAS軟件可以從工業(yè)相機中采集圖像,并由圖像處理軟件對采集到的圖像進行處理。
(2)VA:視覺助手 (vision assistant),是NI VDM 中的一個幫助工具,可以快速的驗證機器視覺項目的可行性,并且編輯成腳本,生成LabVIEW、VB、.NET 代碼等,以方便LabVIEW 等編程平臺的調(diào)用,使用視覺助手可以更方便、更快捷的完成圖像處理的功能。
本文軟件總體設計結構包括:圖像采集模塊,模板訓練模塊,匹配檢測模塊及顯示部分。
(1)圖像采集模塊:在實際應用中,根據(jù)產(chǎn)品規(guī)格不同動態(tài)調(diào)整圖像放大比例;根據(jù)現(xiàn)場環(huán)境動態(tài)設置相機或圖像采集卡參數(shù);根據(jù)產(chǎn)品到位信號觸發(fā)采集圖像。
(2)模板訓練模塊:提供友好方便的模板訓練交互界面;根據(jù)產(chǎn)品不同的檢測區(qū)域和檢測參數(shù);根據(jù)形狀特征,提供設置檢測多邊形區(qū)域,使產(chǎn)品各個區(qū)域得到有效檢測。
(3)匹配檢測模塊:為提高檢測精度,經(jīng)過預處理調(diào)整產(chǎn)品整體亮度,得到實際處理區(qū)域,對實際區(qū)域處理,消除干擾,然后通過對目標準確定位,利用算法實現(xiàn)匹配檢測。
(4)顯示模塊:利用視覺助手完成模式匹配算法,生成LabVIEW 代碼,然后設計優(yōu)化程序并設計前面板,實現(xiàn)圖形化交互界面,使得用戶方便操作,實現(xiàn)簡單,而且易于理解。前面板即VI的交互式用戶界面。本文設計的前面板如圖1所示。
圖1 模式匹配前面板
用戶界面說明:
(1)Max of Matches:用于指定需要查找的模板目標的最大數(shù)。默認值為1,根據(jù)需要可重新設置匹配數(shù)量。
(2)Minimum Score:最小分數(shù)。指定匹配結果的最小分值,即相似程度,分值越小通常越容易找到目標,但是容易找錯;分值越大,則表示要求相似的程度越高,但是會增加找到目標的難度。默認值通常為800 分,最大分值為1000分。以實際應用經(jīng)驗來看,模式匹配分數(shù)需要達到600分以上,才能保證系統(tǒng)的穩(wěn)定性。分值太低,容易引起錯誤匹配。各個匹配的分值可以在Limits規(guī)格中看到,參考這些分值,可以設置合理的最小分值。使用最小分數(shù)可以用來控制匹配的相似程度。
(3)Template:模板顯示窗。用于顯示在圖像中要查找匹配的模板對象。
(4)Image:顯示窗。用來顯示匹配結果。
(5)Number of Matches:匹配數(shù)。記錄查找匹配到的對象數(shù)目。
(6)Results:結果。記錄匹配結果,包括匹配實例目標的坐標位置,匹配分數(shù)。
采用美國NI的LabVIEW 軟件平臺進行實驗開發(fā),利用視覺模塊生成的LabVIEW 支持的VI與圖形化編程語言G 混合編程,設計并實現(xiàn)產(chǎn)品檢測的模式匹配方法。
具體利用其內(nèi)置的強大函數(shù)庫及視覺開發(fā)工具Vision Assistant,根據(jù)模式匹配方法實現(xiàn)的基本流程結構 (如圖2所示),采用各個功能模塊的函數(shù),主要是視覺與運動模塊中的視覺工具 (vision utilities)與機器視覺 (machine vision)函數(shù)庫,調(diào)用其中的子VI函數(shù)編寫應用程序。
圖2 模式匹配方法實現(xiàn)基本流程
模式匹配方法實現(xiàn)過程的基本步驟如下:
(1)采集圖像:本文采用仿真采集,通過從文件中讀取圖像來模擬采集圖像。在實際應用中,利用采集圖像函數(shù)從選擇的相機或圖像采集卡中采集圖像,然后設置采集參數(shù)和采集模式??梢赃M行單幀采集和連續(xù)采集圖像。
(2)圖像處理:采用NI視覺助手Vision Assistant圖像處理部分的圖像處理函數(shù) (如圖3所示)進行相關處理。
圖3 圖像處理函數(shù)
(3)制作模板:通過模式匹配函數(shù)中的模板Template選項卡完成模板的制作,也可以通過NI的模板編輯器Template Editor創(chuàng)建一個新模板。
(4)學習模板:使用模式匹配庫函數(shù)學習模板,通過調(diào)用IMAQ Learn Pattern 4函數(shù),如圖4所示,并對參數(shù)進行設置來完成模板的學習。
圖4 模板學習子VI
參數(shù)設置:由于使用IMAQ Learn Pattern 4函數(shù)得到的模板圖像大小一般達到5 M 左右,為減小圖像的大小,提高計算速度,將算法Algorithm 中的All去掉,選擇灰度值金字塔算法Grayscale Value Pyramid,該算法得到的模板圖像大小只有1.5 M 左右。
角度范圍Angle Range:定義模板學習角度的變化范圍,只針對平移不變Shift-invariant情況下的匹配。
高級選項Advanced Options:用來設置在學習階段和算法相關的選項。
(5)匹配及結果顯示:要使匹配結果顯示出來,需要添加匹配邊框,其子函數(shù)程序框圖如圖5所示。
圖5 匹配結果邊框添加子VI
實驗要求及測試:安裝LabVIEW 完整開發(fā)系統(tǒng)和視覺開發(fā)軟件。實驗選用兩個檢測圖像分別進行兩組實驗測試,對模式匹配方法進行性能驗證,并分析對比實驗結果。
測試:①運行VI測試;②在圖像中畫一個ROI用于定義匹配模板,模板學習完成后將模板顯示在模板顯示窗中,同時在圖像顯示窗中顯示匹配檢測結果,即在圖1前面板Image顯示窗口中顯示產(chǎn)品檢測情況,其匹配的結果如圖6所示。
圖6 匹配結果
實驗1:如圖6 (a)、(b)所示,檢測圖像沒有太明顯的直邊、圓、顏色等特征,但是有比較明顯的形狀。
實驗2:如圖6 (c)、(d)所示,測試對象相同,目的是為了對比檢測模式匹配方法在模糊圖像中的性能。
實驗結果分析:
針對實驗1、實驗2給出測試結果,如圖6所示,在測試時最小分數(shù)設為700分,對實驗結果進行分析:
在實驗1中,檢測對象個數(shù)為4,即圖6 (a)是Max of Matches為4的匹配結果,可以看出匹配良好;圖6 (b)是Max of Matches為5的匹配結果,查找匹配到的對象數(shù)為5,由表1中坐標為 (90.5,244)的目標匹配分數(shù)1000分可以得出該目標為模板圖像,坐標位置為 (113.76,193.96)的目標分數(shù)只有823.9 分,相對于其它坐標位置的目標精確度較低,在圖像中也可以看出目標2與模板圖像的相似度確實比較低。
表1 實驗1匹配結果
實驗2,在圖6 (c)中,圖像比較清晰,由實驗結果可以看出,該方法能夠實現(xiàn)良好的匹配;但是圖像 (d)相對于圖像 (c)而言比較模糊,而且對比度也比較低,由匹配結果能夠看出仍然實現(xiàn)了很好的匹配檢測。
由此得出:利用該軟件實現(xiàn)的產(chǎn)品檢測方法運行可靠,易于使用,同時提高了產(chǎn)品檢測速度和精確度,而且對模糊和對比度低的圖像也能夠實現(xiàn)很好的匹配檢測,提高了匹配性能。
另外,根據(jù)實驗結果表明,該軟件界面友好,易于使用,運行可靠,具有可視化特點,便于實時的、直觀地觀測產(chǎn)品檢測情況,而且檢測匹配效果良好。NI視覺的模式匹配能夠準確的定位目標,當目標對象有±5%的大小變化、0到360度的方向以及有瑕疵的表面仍可以實現(xiàn)很好的匹配檢測。
本文結合機器視覺技術與LabVIEW 開發(fā)系統(tǒng)的功能特點,運用其內(nèi)置的強大函數(shù)庫及視覺開發(fā)工具設計實現(xiàn)了模式匹配方法。軟件設計中采用圖形化的設計思想,調(diào)用視覺與運動模塊下的視覺工具 (vision utilities)與機器視覺 (machine vision)函數(shù)庫中的子VI編寫應用程序,增加了軟件的穩(wěn)定性和可移植性。另外,圖形化程序設計及編程實現(xiàn)簡單、直觀、開發(fā)效率高。經(jīng)過實驗測試,本文基于LabVIEW 設計的模式匹配方法能夠在圖像模糊和對比度低的情況下實現(xiàn)很好的匹配檢測,提高了匹配性能。
同時,該軟件運行可靠,易于擴展,使用靈活方便,而且匹配效果良好。模式匹配可以為應用程序提供被測圖像中模板的數(shù)量以及位置。例如可以搜索一幅PCB圖像中的一個或多個基準點,機器視覺應用程序使用基準點對齊芯片安裝設備中的芯片完成對位。
[1]LI Yanfeng,WANG Chunyao,WANG Yuedong,et al.Detection of fruit surface defect research based on NI Vision Assistant and IMAQ Vision [J].Journal of Agricultural Mechanization Research,2013 (7):62-65 (in Chinese). [李彥峰,王春耀,王躍東,等.水果表面缺陷檢測研究—基于NI Vision Assistant和IMAQ Vision [J].農(nóng) 機 化 研 究,2013 (7):62-65.]
[2]DUAN Zhengyu, WEN Shengping. Electronic product appearance surface defect detection based onmachine vision method research [J].Computer Measurement and Control,2014 (4):1009-1011 (in Chinese). [段錚昱,文生平.基于機器視覺的電子產(chǎn)品外觀表面缺陷檢測方法研究 [J].計算機測量與控制,2014 (4):1009-1011.]
[3]ZHANG Hongxia,LIU Yicai.The application of machine vision technology research [J].Journal of Electronic World,2013 (17):106,108 (in Chinese).[張紅霞,劉義才.機器視 覺 技 術 的 應 用 研 究 [J]. 電 子 世 界,2013 (17):106,108.]
[4]LI Yong,WU Xianda,XING Wu,et al.Design of surface defects automatic sorting system based on machine vision [J].Automation and Instrumentation,2010 (5):40-41 (in Chinese).[李勇,伍先達,邢武,等.基于機器視覺的零件表面瑕疵自動分揀系統(tǒng)設計 [J].自動化與儀器儀表,2010 (5):40-41.]
[5]WANG Heng,LIU Ran,XIE Xingzhe,et al.Angle new image matching method and its application study [J].Computer Engineering and Application,2011,47 (4):208-211 (in Chinese).[王姮,劉冉,解興哲,等.新型圖像角度匹配方法及其應用研究 [J].計算機工程與應用,2011,47 (4):208-211.]
[6]CHEN Wei,CAO Zhiguang,LI Jianping.Improved template matching method in the application of license plate recognition[J].Computer Engineering and Design.2013,34 (5):1808-1811 (in Chinese). [陳瑋,曹志廣,李劍平.改進的模板匹配方法在車牌識別中的應用 [J].計算機工程與設計,2013,34 (5):1808-1811.]
[7]ZHAO Bing,ZHOU Xuchu,ZHANG Qing.The research of machine vision detection technology based on NI platform [J].Journal of Duidance and Fuse,2013,34 (3):57-60 (in Chinese).[趙冰,周戌初,張慶.基于NI平臺的機器視覺檢測技術研究 [J].制導與引信,2013,34 (3):57-60.]
[8]CHEN Xiang,CHEN Peng.Improvement template matching based target tracking algorithm [J].Computer Application,2011,31 (S2):127-128 (in Chinese). [陳翔,陳鵬.基于改進模板匹配的目標跟蹤算法 [J].計算機應用,2011,31(S2):127-128.]
[9]WANG Jianxia,ZHOU Wanzhen.An improved template matching method of license plate character recognition [J].Journal of Hebei University of Science and Technology,2010,31 (3):236-239 (in Chinese).[王建霞,周萬珍.一種改進模板匹配的車牌字符識別方法 [J].河北科技大學學報,2010,31 (3):236-239.]
[10]WU Jin.Fast template matching algorithm research in the machine vision [J].Journal of New Industrialization,2014(1):65-69 (in Chinese).[吳進.機器視覺中快速模版匹配算法研究 [J].新型工業(yè)化,2014 (1):65-69.]