張巧麗,李光明,王孝敬
(1.陜西科技大學(xué) 電氣與信息工程學(xué)院,陜西 西安710021;2.西安金源電氣股份有限公司,陜西 西安710021)
目前,機(jī)器視覺(jué)在各個(gè)領(lǐng)域廣泛應(yīng)用,只要是與自動(dòng)化生產(chǎn)、制造、檢測(cè)、檢查、測(cè)試、測(cè)量等相關(guān)的[1,2],都可以考慮使用機(jī)器視覺(jué)與圖像處理的方法進(jìn)行處理分析,從而提高效率與品質(zhì),尤其是在工業(yè)生產(chǎn)上,其可以檢測(cè)及跟蹤有缺陷的產(chǎn)品,具有實(shí)用性、靈活性和可視化的特點(diǎn)[3-5]。本文設(shè)計(jì)實(shí)現(xiàn)了一種基于LabVIEW 的模式匹配方法,工業(yè)產(chǎn)品在沒(méi)有明顯特征,但有比較明顯的形狀情況下,可以使用該模式匹配方法來(lái)實(shí)現(xiàn)在線(xiàn)實(shí)時(shí)的檢測(cè)。該軟件系統(tǒng)具有界面友好、性能可靠、易于擴(kuò)展、實(shí)現(xiàn)簡(jiǎn)單等特點(diǎn)。
模式也叫模型 (model)、模板 (template),模式匹配可以快速的查找、定位一個(gè)灰度圖像區(qū)域在整個(gè)圖像或ROI中,這個(gè)灰度圖像區(qū)域與一個(gè)已知的參考模式是匹配的。模式匹配算法在機(jī)器視覺(jué)領(lǐng)域具有重要的應(yīng)用。
基本思想:模式匹配使用的是一種對(duì)比原理,即用被測(cè)目標(biāo)與模板進(jìn)行對(duì)比,根據(jù)它們的相似程度來(lái)判斷是否有目標(biāo)的存在[6]。在使用模式匹配時(shí),首先需要?jiǎng)?chuàng)建一個(gè)包含搜索目標(biāo)的模板,然后機(jī)器視覺(jué)應(yīng)用程序在采集到的每個(gè)圖像中搜索模板,并計(jì)算每個(gè)匹配的分?jǐn)?shù),這個(gè)分值表示了找到的匹配對(duì)象與模板的相似程度。分值從0 到1000分,值越高表示越相似,1000分則是完美的匹配,通常只有在提取模板的圖像中匹配分?jǐn)?shù)才能達(dá)到1000分,分值是匹配中的一個(gè)重要參數(shù)。
模式匹配在實(shí)際應(yīng)用中也是使用非常廣泛的一種應(yīng)用。當(dāng)一個(gè)產(chǎn)品沒(méi)有太明顯的特征時(shí),如直邊、圓、粒子、顏色等,而有比較明顯的形狀時(shí),就可以考慮使用模式匹配。
本文使用的方法是一種新的模式匹配算法,金字塔匹配方法,該方法通過(guò)減小圖像和模板的大小提高了模式匹配的計(jì)算時(shí)間。在金字塔匹配中,圖像和模板都是重采樣的,以得到較小的空間分辨率,該方法通過(guò)每隔一個(gè)像素采樣,因此圖像和模板都可以減少到原來(lái)的1/4 大小,匹配首先在減小的圖像上執(zhí)行,因?yàn)閳D像比較小,所以匹配速度是非常快的。當(dāng)匹配完成后,只有較高匹配分值的區(qū)域需要被考慮為原始圖像中的匹配區(qū)域。
本文主要采用視覺(jué)開(kāi)發(fā)模塊VDM 與LabVIEW 相結(jié)合的技術(shù)來(lái)開(kāi)發(fā)機(jī)器視覺(jué)應(yīng)用程序[7],不但可以自由地編寫(xiě)程序,而且限制條件比較少。
NI的LabVIEW 自發(fā)布以來(lái)以極高的更新率進(jìn)化發(fā)展,不斷推出強(qiáng)大的軟、硬件工具,不斷更新、完善其功能和特性,被市場(chǎng)用戶(hù)積極認(rèn)可和接受,使其應(yīng)用領(lǐng)域迅速擴(kuò)張。VDM 是NI視覺(jué)的核心工具包,其中包含了所有NI支持的功能,也是最低層的功能函數(shù)。使用VDM,再結(jié)合LabVIEW、VB、C、.NET 等編程語(yǔ)言,可以完成所有NI可以勝任的機(jī)器視覺(jué)圖像處理任務(wù)。
(1)VAS:視 覺(jué) 采 集 軟 件 (vision acquisition software),是NI 推出的機(jī)器驅(qū)動(dòng)程序,其中的IMAQdx、IMAQ 等驅(qū)動(dòng)程序,可以驅(qū)動(dòng)大部分國(guó)內(nèi)外品牌工業(yè)相機(jī)、也可以驅(qū)動(dòng)NI自己的圖像采集卡、幀接收器等。VAS并沒(méi)有包含圖像處理部分,但通過(guò)VAS軟件可以從工業(yè)相機(jī)中采集圖像,并由圖像處理軟件對(duì)采集到的圖像進(jìn)行處理。
(2)VA:視覺(jué)助手 (vision assistant),是NI VDM 中的一個(gè)幫助工具,可以快速的驗(yàn)證機(jī)器視覺(jué)項(xiàng)目的可行性,并且編輯成腳本,生成LabVIEW、VB、.NET 代碼等,以方便LabVIEW 等編程平臺(tái)的調(diào)用,使用視覺(jué)助手可以更方便、更快捷的完成圖像處理的功能。
本文軟件總體設(shè)計(jì)結(jié)構(gòu)包括:圖像采集模塊,模板訓(xùn)練模塊,匹配檢測(cè)模塊及顯示部分。
(1)圖像采集模塊:在實(shí)際應(yīng)用中,根據(jù)產(chǎn)品規(guī)格不同動(dòng)態(tài)調(diào)整圖像放大比例;根據(jù)現(xiàn)場(chǎng)環(huán)境動(dòng)態(tài)設(shè)置相機(jī)或圖像采集卡參數(shù);根據(jù)產(chǎn)品到位信號(hào)觸發(fā)采集圖像。
(2)模板訓(xùn)練模塊:提供友好方便的模板訓(xùn)練交互界面;根據(jù)產(chǎn)品不同的檢測(cè)區(qū)域和檢測(cè)參數(shù);根據(jù)形狀特征,提供設(shè)置檢測(cè)多邊形區(qū)域,使產(chǎn)品各個(gè)區(qū)域得到有效檢測(cè)。
(3)匹配檢測(cè)模塊:為提高檢測(cè)精度,經(jīng)過(guò)預(yù)處理調(diào)整產(chǎn)品整體亮度,得到實(shí)際處理區(qū)域,對(duì)實(shí)際區(qū)域處理,消除干擾,然后通過(guò)對(duì)目標(biāo)準(zhǔn)確定位,利用算法實(shí)現(xiàn)匹配檢測(cè)。
(4)顯示模塊:利用視覺(jué)助手完成模式匹配算法,生成LabVIEW 代碼,然后設(shè)計(jì)優(yōu)化程序并設(shè)計(jì)前面板,實(shí)現(xiàn)圖形化交互界面,使得用戶(hù)方便操作,實(shí)現(xiàn)簡(jiǎn)單,而且易于理解。前面板即VI的交互式用戶(hù)界面。本文設(shè)計(jì)的前面板如圖1所示。
圖1 模式匹配前面板
用戶(hù)界面說(shuō)明:
(1)Max of Matches:用于指定需要查找的模板目標(biāo)的最大數(shù)。默認(rèn)值為1,根據(jù)需要可重新設(shè)置匹配數(shù)量。
(2)Minimum Score:最小分?jǐn)?shù)。指定匹配結(jié)果的最小分值,即相似程度,分值越小通常越容易找到目標(biāo),但是容易找錯(cuò);分值越大,則表示要求相似的程度越高,但是會(huì)增加找到目標(biāo)的難度。默認(rèn)值通常為800 分,最大分值為1000分。以實(shí)際應(yīng)用經(jīng)驗(yàn)來(lái)看,模式匹配分?jǐn)?shù)需要達(dá)到600分以上,才能保證系統(tǒng)的穩(wěn)定性。分值太低,容易引起錯(cuò)誤匹配。各個(gè)匹配的分值可以在Limits規(guī)格中看到,參考這些分值,可以設(shè)置合理的最小分值。使用最小分?jǐn)?shù)可以用來(lái)控制匹配的相似程度。
(3)Template:模板顯示窗。用于顯示在圖像中要查找匹配的模板對(duì)象。
(4)Image:顯示窗。用來(lái)顯示匹配結(jié)果。
(5)Number of Matches:匹配數(shù)。記錄查找匹配到的對(duì)象數(shù)目。
(6)Results:結(jié)果。記錄匹配結(jié)果,包括匹配實(shí)例目標(biāo)的坐標(biāo)位置,匹配分?jǐn)?shù)。
采用美國(guó)NI的LabVIEW 軟件平臺(tái)進(jìn)行實(shí)驗(yàn)開(kāi)發(fā),利用視覺(jué)模塊生成的LabVIEW 支持的VI與圖形化編程語(yǔ)言G 混合編程,設(shè)計(jì)并實(shí)現(xiàn)產(chǎn)品檢測(cè)的模式匹配方法。
具體利用其內(nèi)置的強(qiáng)大函數(shù)庫(kù)及視覺(jué)開(kāi)發(fā)工具Vision Assistant,根據(jù)模式匹配方法實(shí)現(xiàn)的基本流程結(jié)構(gòu) (如圖2所示),采用各個(gè)功能模塊的函數(shù),主要是視覺(jué)與運(yùn)動(dòng)模塊中的視覺(jué)工具 (vision utilities)與機(jī)器視覺(jué) (machine vision)函數(shù)庫(kù),調(diào)用其中的子VI函數(shù)編寫(xiě)應(yīng)用程序。
圖2 模式匹配方法實(shí)現(xiàn)基本流程
模式匹配方法實(shí)現(xiàn)過(guò)程的基本步驟如下:
(1)采集圖像:本文采用仿真采集,通過(guò)從文件中讀取圖像來(lái)模擬采集圖像。在實(shí)際應(yīng)用中,利用采集圖像函數(shù)從選擇的相機(jī)或圖像采集卡中采集圖像,然后設(shè)置采集參數(shù)和采集模式??梢赃M(jìn)行單幀采集和連續(xù)采集圖像。
(2)圖像處理:采用NI視覺(jué)助手Vision Assistant圖像處理部分的圖像處理函數(shù) (如圖3所示)進(jìn)行相關(guān)處理。
圖3 圖像處理函數(shù)
(3)制作模板:通過(guò)模式匹配函數(shù)中的模板Template選項(xiàng)卡完成模板的制作,也可以通過(guò)NI的模板編輯器Template Editor創(chuàng)建一個(gè)新模板。
(4)學(xué)習(xí)模板:使用模式匹配庫(kù)函數(shù)學(xué)習(xí)模板,通過(guò)調(diào)用IMAQ Learn Pattern 4函數(shù),如圖4所示,并對(duì)參數(shù)進(jìn)行設(shè)置來(lái)完成模板的學(xué)習(xí)。
圖4 模板學(xué)習(xí)子VI
參數(shù)設(shè)置:由于使用IMAQ Learn Pattern 4函數(shù)得到的模板圖像大小一般達(dá)到5 M 左右,為減小圖像的大小,提高計(jì)算速度,將算法Algorithm 中的All去掉,選擇灰度值金字塔算法Grayscale Value Pyramid,該算法得到的模板圖像大小只有1.5 M 左右。
角度范圍Angle Range:定義模板學(xué)習(xí)角度的變化范圍,只針對(duì)平移不變Shift-invariant情況下的匹配。
高級(jí)選項(xiàng)Advanced Options:用來(lái)設(shè)置在學(xué)習(xí)階段和算法相關(guān)的選項(xiàng)。
(5)匹配及結(jié)果顯示:要使匹配結(jié)果顯示出來(lái),需要添加匹配邊框,其子函數(shù)程序框圖如圖5所示。
圖5 匹配結(jié)果邊框添加子VI
實(shí)驗(yàn)要求及測(cè)試:安裝LabVIEW 完整開(kāi)發(fā)系統(tǒng)和視覺(jué)開(kāi)發(fā)軟件。實(shí)驗(yàn)選用兩個(gè)檢測(cè)圖像分別進(jìn)行兩組實(shí)驗(yàn)測(cè)試,對(duì)模式匹配方法進(jìn)行性能驗(yàn)證,并分析對(duì)比實(shí)驗(yàn)結(jié)果。
測(cè)試:①運(yùn)行VI測(cè)試;②在圖像中畫(huà)一個(gè)ROI用于定義匹配模板,模板學(xué)習(xí)完成后將模板顯示在模板顯示窗中,同時(shí)在圖像顯示窗中顯示匹配檢測(cè)結(jié)果,即在圖1前面板Image顯示窗口中顯示產(chǎn)品檢測(cè)情況,其匹配的結(jié)果如圖6所示。
圖6 匹配結(jié)果
實(shí)驗(yàn)1:如圖6 (a)、(b)所示,檢測(cè)圖像沒(méi)有太明顯的直邊、圓、顏色等特征,但是有比較明顯的形狀。
實(shí)驗(yàn)2:如圖6 (c)、(d)所示,測(cè)試對(duì)象相同,目的是為了對(duì)比檢測(cè)模式匹配方法在模糊圖像中的性能。
實(shí)驗(yàn)結(jié)果分析:
針對(duì)實(shí)驗(yàn)1、實(shí)驗(yàn)2給出測(cè)試結(jié)果,如圖6所示,在測(cè)試時(shí)最小分?jǐn)?shù)設(shè)為700分,對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析:
在實(shí)驗(yàn)1中,檢測(cè)對(duì)象個(gè)數(shù)為4,即圖6 (a)是Max of Matches為4的匹配結(jié)果,可以看出匹配良好;圖6 (b)是Max of Matches為5的匹配結(jié)果,查找匹配到的對(duì)象數(shù)為5,由表1中坐標(biāo)為 (90.5,244)的目標(biāo)匹配分?jǐn)?shù)1000分可以得出該目標(biāo)為模板圖像,坐標(biāo)位置為 (113.76,193.96)的目標(biāo)分?jǐn)?shù)只有823.9 分,相對(duì)于其它坐標(biāo)位置的目標(biāo)精確度較低,在圖像中也可以看出目標(biāo)2與模板圖像的相似度確實(shí)比較低。
表1 實(shí)驗(yàn)1匹配結(jié)果
實(shí)驗(yàn)2,在圖6 (c)中,圖像比較清晰,由實(shí)驗(yàn)結(jié)果可以看出,該方法能夠?qū)崿F(xiàn)良好的匹配;但是圖像 (d)相對(duì)于圖像 (c)而言比較模糊,而且對(duì)比度也比較低,由匹配結(jié)果能夠看出仍然實(shí)現(xiàn)了很好的匹配檢測(cè)。
由此得出:利用該軟件實(shí)現(xiàn)的產(chǎn)品檢測(cè)方法運(yùn)行可靠,易于使用,同時(shí)提高了產(chǎn)品檢測(cè)速度和精確度,而且對(duì)模糊和對(duì)比度低的圖像也能夠?qū)崿F(xiàn)很好的匹配檢測(cè),提高了匹配性能。
另外,根據(jù)實(shí)驗(yàn)結(jié)果表明,該軟件界面友好,易于使用,運(yùn)行可靠,具有可視化特點(diǎn),便于實(shí)時(shí)的、直觀地觀測(cè)產(chǎn)品檢測(cè)情況,而且檢測(cè)匹配效果良好。NI視覺(jué)的模式匹配能夠準(zhǔn)確的定位目標(biāo),當(dāng)目標(biāo)對(duì)象有±5%的大小變化、0到360度的方向以及有瑕疵的表面仍可以實(shí)現(xiàn)很好的匹配檢測(cè)。
本文結(jié)合機(jī)器視覺(jué)技術(shù)與LabVIEW 開(kāi)發(fā)系統(tǒng)的功能特點(diǎn),運(yùn)用其內(nèi)置的強(qiáng)大函數(shù)庫(kù)及視覺(jué)開(kāi)發(fā)工具設(shè)計(jì)實(shí)現(xiàn)了模式匹配方法。軟件設(shè)計(jì)中采用圖形化的設(shè)計(jì)思想,調(diào)用視覺(jué)與運(yùn)動(dòng)模塊下的視覺(jué)工具 (vision utilities)與機(jī)器視覺(jué) (machine vision)函數(shù)庫(kù)中的子VI編寫(xiě)應(yīng)用程序,增加了軟件的穩(wěn)定性和可移植性。另外,圖形化程序設(shè)計(jì)及編程實(shí)現(xiàn)簡(jiǎn)單、直觀、開(kāi)發(fā)效率高。經(jīng)過(guò)實(shí)驗(yàn)測(cè)試,本文基于LabVIEW 設(shè)計(jì)的模式匹配方法能夠在圖像模糊和對(duì)比度低的情況下實(shí)現(xiàn)很好的匹配檢測(cè),提高了匹配性能。
同時(shí),該軟件運(yùn)行可靠,易于擴(kuò)展,使用靈活方便,而且匹配效果良好。模式匹配可以為應(yīng)用程序提供被測(cè)圖像中模板的數(shù)量以及位置。例如可以搜索一幅PCB圖像中的一個(gè)或多個(gè)基準(zhǔn)點(diǎn),機(jī)器視覺(jué)應(yīng)用程序使用基準(zhǔn)點(diǎn)對(duì)齊芯片安裝設(shè)備中的芯片完成對(duì)位。
[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). [李彥峰,王春耀,王躍東,等.水果表面缺陷檢測(cè)研究—基于NI Vision Assistant和IMAQ Vision [J].農(nóng) 機(jī) 化 研 究,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). [段錚昱,文生平.基于機(jī)器視覺(jué)的電子產(chǎn)品外觀表面缺陷檢測(cè)方法研究 [J].計(jì)算機(jī)測(cè)量與控制,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ī)器視 覺(jué) 技 術(shù) 的 應(yīng) 用 研 究 [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).[李勇,伍先達(dá),邢武,等.基于機(jī)器視覺(jué)的零件表面瑕疵自動(dòng)分揀系統(tǒng)設(shè)計(jì) [J].自動(dòng)化與儀器儀表,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).[王姮,劉冉,解興哲,等.新型圖像角度匹配方法及其應(yīng)用研究 [J].計(jì)算機(jī)工程與應(yīng)用,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ìn)的模板匹配方法在車(chē)牌識(shí)別中的應(yīng)用 [J].計(jì)算機(jī)工程與設(shè)計(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平臺(tái)的機(jī)器視覺(jué)檢測(cè)技術(shù)研究 [J].制導(dǎo)與引信,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ìn)模板匹配的目標(biāo)跟蹤算法 [J].計(jì)算機(jī)應(yīng)用,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).[王建霞,周萬(wàn)珍.一種改進(jìn)模板匹配的車(chē)牌字符識(shí)別方法 [J].河北科技大學(xué)學(xué)報(bào),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ìn).機(jī)器視覺(jué)中快速模版匹配算法研究 [J].新型工業(yè)化,2014 (1):65-69.]