黃立景,王宇浩
1.西門子(中國)有限公司,北京 100102
2.北京科技大學(xué)自動(dòng)化學(xué)院,北京 100083
近年來,隨著CCD感光元件分辨率的提升以及價(jià)格的降低,圖像測(cè)量技術(shù)已經(jīng)廣泛應(yīng)用在各行業(yè)產(chǎn)品幾何尺寸的測(cè)量上面。所謂圖像測(cè)量技術(shù),就是利用光電成像系統(tǒng)來采集產(chǎn)品的圖像,將圖像傳輸至計(jì)算機(jī)進(jìn)行數(shù)字圖像處理,再根據(jù)圖像中目標(biāo)區(qū)域的特征用相應(yīng)的算法進(jìn)行測(cè)量并得出結(jié)果。依托于計(jì)算機(jī)快速的計(jì)算能力,可以大大降低現(xiàn)場(chǎng)工人的工作量,提高生產(chǎn)的自動(dòng)化程度。
利用圖像測(cè)量技術(shù)測(cè)量物體幾何尺寸時(shí),由于光學(xué)鏡頭固有的缺陷,會(huì)使采集的圖像存在非線性的幾何畸變,對(duì)測(cè)量精度產(chǎn)生很大的影響。必須對(duì)系統(tǒng)進(jìn)行標(biāo)定以消除誤差。標(biāo)定實(shí)際是確定相機(jī)內(nèi)外參數(shù)的一個(gè)過程。相機(jī)內(nèi)部參數(shù)包括焦距和畸變系數(shù),外部參數(shù)包括相機(jī)坐標(biāo)系和世界坐標(biāo)系之間的對(duì)應(yīng)關(guān)系。傳統(tǒng)的標(biāo)定方法很多,如Tsai兩步法,Weng迭代法,張正友雙平面法等,應(yīng)用較為廣泛,但實(shí)際的標(biāo)定過程比較繁瑣。本文介紹基于Labview開發(fā)平臺(tái)下vision組件的標(biāo)定方法,能很好的解決這些問題。
Labview(Laboratory Virtual Instrument Engineering Workbench)是一種程序的開發(fā)環(huán)境,由美國國家儀器(NI)公司研制。使用圖像化編程語言G語言編寫程序,是目前功能最強(qiáng)大,應(yīng)用最廣泛的圖像化軟件開發(fā)環(huán)境。Lavbiew不僅僅是一種編程工具,而是一種高度集成化的開發(fā)平臺(tái)。從虛擬儀器、測(cè)量自動(dòng)化到高精高速實(shí)時(shí)控制,再到嵌入式開發(fā),其集成的組件囊括了各個(gè)領(lǐng)域的功能。Vision是Labview平臺(tái)下機(jī)器視覺開發(fā)的組件,包括三個(gè)部分。NI Vision Builder for Automated Inspection是快速化的機(jī)器視覺開發(fā)組件,操作簡便,甚至不用編程就能完成開發(fā)。Vision Development Module是視覺組件,為Labview開發(fā)平臺(tái)提供圖像處理的各種功能。NI Vision Acquisition Software是圖像采集驅(qū)動(dòng)包,可兼容市面上各種接口的相機(jī)。
Labview平臺(tái)下對(duì)相機(jī)進(jìn)行標(biāo)定的過程與傳統(tǒng)方法有很大的不同,傳統(tǒng)的標(biāo)定方法標(biāo)定過程很繁瑣,需要已知所采集的圖像中足夠多的點(diǎn)在真實(shí)世界坐標(biāo)系中的精確坐標(biāo),通過對(duì)這些點(diǎn)的計(jì)算得到圖像中每個(gè)像素代表的實(shí)際距離以及消除畸變?cè)斐傻漠嬅媾で鶐淼挠绊?,由于點(diǎn)在世界坐標(biāo)系中坐標(biāo)的精確程度直接影響到最后的標(biāo)定結(jié)果,而獲得精確的坐標(biāo)又十分困難,所以標(biāo)定過程難度非常大。Labview平臺(tái)下的標(biāo)定方法則不同,用一塊標(biāo)準(zhǔn)的標(biāo)定模版來提供標(biāo)定所需的信息,由于標(biāo)定模板中點(diǎn)的相對(duì)位置都是已知的,且精度很高,只需在工作平面采集標(biāo)定模板的圖像,通過Labview軟件優(yōu)化的算法,就可以得到世界坐標(biāo)系中足夠多的精確點(diǎn)坐標(biāo),大大降低了標(biāo)定的難度,且能夠保證很高的精度。
為校正畸變對(duì)圖像造成的影響,在Labview平臺(tái)下的標(biāo)定過程中采用具有明顯特征及對(duì)應(yīng)關(guān)系的點(diǎn)陣標(biāo)定板,標(biāo)定板如下圖所示,其中每個(gè)黑色圓點(diǎn)的半徑以及相鄰圓點(diǎn)圓心間的距離都是恒定的。Labview通過利用Canny濾波器可以提取出標(biāo)定模板中每個(gè)黑色圓點(diǎn)的邊緣,再利用邊緣進(jìn)行圓擬合,得到每個(gè)黑色圓點(diǎn)精確的圓心位置,保證了坐標(biāo)的精度。
圖1 黑色圓點(diǎn)標(biāo)定模版
Labview中提供了標(biāo)準(zhǔn)的標(biāo)定模版文件,其位置為開始菜單→所有程序→National Instruments→Vision→Documentation→NI Vision→CalibrationGrid.pdf。該模版中黑色圓點(diǎn)的半徑為2mm,相鄰圓點(diǎn)圓心間的距離為1cm。
在安裝了Labview最新版本機(jī)器視覺組件即Vision Development Module 2012和NI Vision Builder for Automated Inspection 2012后,相對(duì)于老版本,增加了獨(dú)立的標(biāo)定程序Calibration Training,能夠更加便捷的完成標(biāo)定工作,結(jié)果保存為png格式文件,且功能得到了很大的增強(qiáng)。
為實(shí)現(xiàn)精確測(cè)量,要充分考慮非線性徑向畸變的影響,需選擇Distorition Model(Grid),此模式在矯正非線性畸變的同時(shí)對(duì)線性畸變也同樣矯正,即相機(jī)與工作平面不垂直不會(huì)影響測(cè)量結(jié)果。具體的操作過程如下:
1)載入采集的標(biāo)定模版圖像,圖像中應(yīng)將標(biāo)定模版水平放置于工作平面;
2)采用RGB、HSL、HSV、HIS中的一種方法,通過調(diào)節(jié)參數(shù)來對(duì)圖像進(jìn)行閾值分割,使黑色圓點(diǎn)從背景中顯現(xiàn)出來。若標(biāo)定模版沒有完全覆蓋視場(chǎng),還需手動(dòng)劃定出標(biāo)定模版的范圍,只有在模版覆蓋的區(qū)域可以保證測(cè)量精度。最后定義識(shí)別的點(diǎn)大小范圍以及圓度范圍以防止圖像中細(xì)微噪點(diǎn)被錯(cuò)誤識(shí)別為標(biāo)定圓點(diǎn);
3)輸入標(biāo)定模版的相關(guān)信息,包括X Spacing,Y Spacing和Unit,分別代表X方向上相鄰兩個(gè)圓點(diǎn)圓心間的距離,Y方向上相鄰兩個(gè)圓點(diǎn)圓心間的距離和距離的單位;
4)系統(tǒng)將對(duì)模版進(jìn)行學(xué)習(xí),需要手動(dòng)選定計(jì)算方法,同時(shí)考慮三個(gè)畸變系數(shù)以及切向畸變將提高標(biāo)定精度,同時(shí)也會(huì)降低計(jì)算速度,應(yīng)根據(jù)實(shí)際需求進(jìn)行選擇;
5)為標(biāo)定圖像設(shè)定坐標(biāo)系,以便在后續(xù)測(cè)量中得出點(diǎn)的精確坐標(biāo)值;
6)最后將標(biāo)定好的結(jié)果保存為png格式文件,在測(cè)量時(shí)進(jìn)行調(diào)用。
標(biāo)定信息包含在之前存儲(chǔ)好的png格式文件中,用Labview中Vision assistant節(jié)點(diǎn)可以進(jìn)行調(diào)用。將需要處理圖像的Image Out輸出端接到Vision assistant節(jié)點(diǎn)的Image In輸入端,節(jié)點(diǎn)內(nèi)用Image Calibration功能調(diào)用之前存儲(chǔ)好的png格式的標(biāo)定文件,Image Out端接后續(xù)的處理節(jié)點(diǎn)。經(jīng)過此節(jié)點(diǎn)后,圖像顯示并沒有發(fā)生變化,但標(biāo)定工作已完成。之后的測(cè)量將直接得出實(shí)際結(jié)果,單位為標(biāo)定過程中所設(shè)置的Unit。需要注意的是標(biāo)定時(shí)用的圖像和用于測(cè)量的圖像必須有相同的類型和分辨率,只要相機(jī)與工作平面的相對(duì)位置不變就不必重復(fù)標(biāo)定。
圖2 標(biāo)定信息的實(shí)際調(diào)用
通過實(shí)際的測(cè)量,可以驗(yàn)證基于Labview最新版機(jī)器視覺組件的標(biāo)定方法確實(shí)可行,操作簡單,能取得不錯(cuò)的結(jié)果。
圖3 標(biāo)定前的工作平面圖像
圖4 標(biāo)定后修正好的圖像
本實(shí)驗(yàn)中相機(jī)使用的鏡頭為廣角鏡頭,畸變率較大。從圖中可以看到出現(xiàn)了明顯的筒形畸變,通過Labview軟件的標(biāo)定,很好的修正了畸變給圖像帶來的影響。實(shí)際的測(cè)量結(jié)果也同樣讓人滿意,能達(dá)到不錯(cuò)的精度。測(cè)量的物體選定為鋼板尺2cm至9cm處,每隔1cm進(jìn)行一次測(cè)量。
表1 實(shí)際測(cè)量結(jié)果
由于實(shí)驗(yàn)條件所限,如能提高標(biāo)定模板的制作精度、工作表面平整度,則可以得到更好的測(cè)量效果。
基于Labview的標(biāo)定方法可以很有效的消除圖像中線性與非線性的畸變,操作簡單,測(cè)量精度高,且能夠與Labview機(jī)器視覺組件的圖像處理,圖像測(cè)量功能形成完美的結(jié)合,是傳統(tǒng)方法無法相比的,對(duì)實(shí)際生產(chǎn)有很重大的意義。應(yīng)用在機(jī)械零件等產(chǎn)品的測(cè)量中,可以大大提高生產(chǎn)效率,節(jié)約人力成本,進(jìn)一步提高自動(dòng)化程度。
[1]Carsten Steger,Markus Ulrich,Christian Wiedemann.機(jī)器視覺算法與應(yīng)用[M].北京:清華大學(xué)出版社,2008.
[2]陳樹學(xué),劉萱.Labview寶典[M].北京:電子工業(yè)出版社,2011.
[3]馬頌德,張正友.計(jì)算機(jī)視覺[M].北京:科學(xué)出版社,1998.