摘 要: 雙目視覺技術(shù)可用于PCB 裸板的缺陷檢測,而精確定位則是這一應(yīng)用的前提。利用LabVIEW的IMAQ Vision模塊,進(jìn)行了電路板的雙目視覺定位技術(shù)的研究,通過搭建雙目視覺定位系統(tǒng),并對雙目相機(jī)進(jìn)行標(biāo)定,獲得給定電路板的圖像;對電路板進(jìn)行邊沿檢測,建立坐標(biāo)系統(tǒng),完成電路板測試點(diǎn)的位置確定;經(jīng)視差計(jì)算,獲得電路板測試點(diǎn)的位置坐標(biāo),完成定位。經(jīng)過對不同測試點(diǎn)進(jìn)行試驗(yàn)驗(yàn)證,本系統(tǒng)具有較好的準(zhǔn)確性及穩(wěn)定性。
關(guān)鍵詞: 雙目視覺; 相機(jī)標(biāo)定; 圖像處理; LabVIEW
中圖分類號: TP216+.3文獻(xiàn)標(biāo)志碼: B
Binocular Vision Circuit Board Location System Based on Labview
WANG Lei
(College of Electronics and Information Engineering, Ankang University, Ankang, Shanxi 725000, China)
Abstract: Binocular vision technology can be used for defect detection of PCB bare plate, and accurate positioning is the basis of this application. In this paper, using IMAQ vision module of LabVIEW, the research on binocular vision positioning technology of circuit board is carried out. By building binocular vision system and calibrating binocular camera, the image of a given circuit board is obtained. Circuit board edge detection, coordinate system and line searching are carried out to determine the position of test points of circuit board. The position coordinates of the board test points complete the positioning of the board test points. The system has good accuracy and stability through the test of different test points of circuit boards.
Key words: binocular vision; camera calibration; image processing; LabVIEW
0 引言
隨著計(jì)算機(jī)技術(shù)、數(shù)字圖像處理等理論的發(fā)展,機(jī)器視覺已成為研究的熱點(diǎn)。人們使用相機(jī)等裝置將外界實(shí)物轉(zhuǎn)化為數(shù)字信息,進(jìn)行視覺信息處理,從而獲取物體的形狀、位置等信息。人類雙眼同時(shí)觀察事物能分辨遠(yuǎn)近,在機(jī)器視覺中,也可用兩臺相機(jī)從不同位置觀測同一事物,從而得到差別視角下的圖像,經(jīng)過計(jì)算同一像素的視差來獲得三維信息。目前,雙目視覺技術(shù)已在眾多領(lǐng)域得到應(yīng)用[1-3]。
電子線路板(PCB)的制造工藝非常復(fù)雜,從基材板到成品需要經(jīng)過十多個(gè)工序。為減少工作量,降低復(fù)雜度,雙目視覺技術(shù)可應(yīng)用于PCB板制作中,對尚未安裝電子元器件的PCB裸板進(jìn)行缺陷檢測。其中高精度的圖像處理及分析是這一應(yīng)用的核心技術(shù)。而要提高圖像測量系統(tǒng)的精度,首先要完成對電路板的精確定位。完成這一點(diǎn)可以通過提高硬件配置,選用高分辨率的設(shè)備來實(shí)現(xiàn),但是實(shí)際生產(chǎn)中,企業(yè)往往受限于生產(chǎn)成本而難以及時(shí)升級或更新硬件。采用軟件方法提高邊緣檢測的精度,來提高測量系統(tǒng)的定位精度,這種方法簡單有效,且成本較低。邊緣檢測是圖像處理和分析的關(guān)鍵步驟,邊緣包含了圖像很多重要的信息,并且對后續(xù)的特征描述、匹配和識別等影響重大[4-6]。
本文利用LabVIEW進(jìn)行了電路板的雙目視覺定位技術(shù)的研究,通過搭建雙目視覺體系并進(jìn)行標(biāo)定,獲得了電路板的圖像,經(jīng)邊緣檢測后建立坐標(biāo)系統(tǒng),完成對電路板測試點(diǎn)的位置的確定;進(jìn)一步通過計(jì)算視差,獲得電路板測試點(diǎn)的位置坐標(biāo),完成對電路板測試點(diǎn)的定位。測試實(shí)驗(yàn)結(jié)果表明,本系統(tǒng)具有較好的準(zhǔn)確性及穩(wěn)定性,對提高PCB缺陷檢測系統(tǒng)的性能具有一定價(jià)值。
1 系統(tǒng)分析
電路板測試點(diǎn)的雙目視覺圖像定位系統(tǒng)的工作流程如圖1所示。
搭建好的雙目視覺系統(tǒng),首先要進(jìn)行相機(jī)的標(biāo)定,獲得相機(jī)的內(nèi)外參數(shù)矩陣,然后采集電路板測試點(diǎn)的圖像,并對采集的圖像信息進(jìn)行處理,使測試點(diǎn)的位置更加容易識別,然后獲得電路板測試點(diǎn)的幾何參數(shù),結(jié)合內(nèi)外參數(shù)矩陣計(jì)算出電路板測試點(diǎn)的坐標(biāo),最后就是與實(shí)測值進(jìn)行比較,誤差符合要求則直接輸出結(jié)果,否則需要對參數(shù)矩陣進(jìn)行修正后,再次計(jì)算坐標(biāo)。
2 相機(jī)標(biāo)定
相機(jī)獲得實(shí)際圖像的信息,經(jīng)計(jì)算機(jī)處理計(jì)算得出實(shí)際立體空間中物體的信息,通過此標(biāo)識重新建立物體視覺是機(jī)器視覺的基本任務(wù)。相機(jī)成像幾何模型決定空間內(nèi)實(shí)物表面點(diǎn)的位置和它在圖像中對應(yīng)點(diǎn)的相互關(guān)系,幾何模型參數(shù)(相機(jī)參數(shù))通過實(shí)驗(yàn)與計(jì)算可獲取。相機(jī)標(biāo)點(diǎn)過程就是明確相機(jī)的各種參數(shù)以及相機(jī)在現(xiàn)實(shí)世界坐標(biāo)系的坐標(biāo),標(biāo)定精度直接影響計(jì)算機(jī)視覺精度,是整個(gè)工作的關(guān)鍵步驟。
相機(jī)標(biāo)定有傳統(tǒng)標(biāo)定方式和自標(biāo)定方式兩種[7-8]。傳統(tǒng)標(biāo)定的原理是在相機(jī)模型下,經(jīng)過對特定標(biāo)定參考物進(jìn)行圖像處理,并運(yùn)用數(shù)學(xué)變換公式運(yùn)算和優(yōu)化,來獲得相機(jī)模型內(nèi)部參數(shù)以及外部參數(shù)。但是,這一方法由于不確定現(xiàn)場及相機(jī)運(yùn)動(dòng)狀態(tài)而很難實(shí)現(xiàn)。自標(biāo)定方式與相機(jī)的運(yùn)動(dòng)狀態(tài)沒有關(guān)系,是運(yùn)用相機(jī)自身參數(shù)之間的約束關(guān)系來標(biāo)定,過程方便,但是精度有限[9-10]。
張正友提出單平面棋盤格的相機(jī)標(biāo)定方法用于解決徑向畸變問題,這一方法介于傳統(tǒng)和自標(biāo)定之間的方法,既克服了傳統(tǒng)標(biāo)定法需要高精度標(biāo)定物的缺點(diǎn),也相對于自標(biāo)定提高了精度,便于操作。它只需要相機(jī)對校準(zhǔn)板(打印出的棋盤格)上的每個(gè)特征點(diǎn)與其圖像平面上的圖像點(diǎn)之間的對應(yīng)關(guān)系,即每幅圖像的單斜矩陣對相機(jī)進(jìn)行標(biāo)定。這種算法不需要知道運(yùn)動(dòng)參數(shù),就可以隨便地移動(dòng)相機(jī)和模板[11-12]。本文就采用這種方法進(jìn)行標(biāo)定。
LabVIEW使用圖形化編輯語言G來編寫程序,產(chǎn)生程序框圖。IMAQ Vision是LabVIEW內(nèi)置的視覺工具包,主要是圖像處理VI,其中包括IMAQ Vision和Vision Builder兩個(gè)組件[13],是NI公司開發(fā)的圖像采集驅(qū)動(dòng),支持多種傳輸形式,提供了LabVIEW平臺上開發(fā)機(jī)器視覺的各種子程序。
本文采用的靶標(biāo)是由A4紙打印的等尺寸棋盤網(wǎng)格,每邊長度為19毫米。所用相機(jī)為USB相機(jī),1200萬像素,分辨率為640*480。整個(gè)標(biāo)定系統(tǒng)由相機(jī)、標(biāo)定板、個(gè)人計(jì)算機(jī)和工作臺組成。
標(biāo)定過程如下:
1) 采集圖像:采集的圖像需要統(tǒng)一進(jìn)行命名后,復(fù)制到toolbox_calib目錄中。命名的規(guī)則為基本名和編號,基本名在前,后面直接跟著數(shù)字編號。編號最多為3位十進(jìn)制數(shù)字。
2) 標(biāo)定參數(shù):將matlab當(dāng)前目錄設(shè)為含有標(biāo)定工具箱的目錄,即toolbox_calib目錄。在命令窗口運(yùn)行calib_gui指令,彈出選擇窗口。窗口中具有兩個(gè)選頂,分別是“Standard”和“Memory efficient”。點(diǎn)擊“Standard”,則將目錄中圖像讀入內(nèi)存。如果點(diǎn)擊選擇“Memory efficient”,則將目錄中的圖像按照需要每次一幅圖像讀入內(nèi)存中,所需內(nèi)存較小。在選擇了內(nèi)存使用方式后,彈岀標(biāo)定工具箱操作面板。
3) 指定圖像基本名與圖像格式:預(yù)先將命名為Image1-Image4的jpg格式的4幅靶標(biāo)圖像保存在toolbox_ calib目錄中。采集的靶標(biāo)圖像也可以采用bmp格式、tif格式等,但用于標(biāo)定的靶標(biāo)圖像需要采用相同的圖像格式。在圖3中點(diǎn)擊“Image names”,在命令窗口輸入基本名Image和圖像格式,在matlab的圖形窗口顯示出4幅靶標(biāo)圖像,如圖2所示。
4) 內(nèi)參數(shù)標(biāo)定:對用于標(biāo)定的靶標(biāo)圖像角點(diǎn)提取后,在圖3中點(diǎn)擊“Calibration”,即可完成相機(jī)的內(nèi)參數(shù)標(biāo)定。
優(yōu)化后的標(biāo)定結(jié)果:
Focal Length: ??? fc=[657,80 887 ?? 658.513 72]±[1.861 06 ?? 1.346 83]
Principal point: ??? cc=[302.951 91 ? 248,067 59]±[1,880 46 ??? 2.858 17]
Skew: ?? alpha_ c =[0.000 00]±[0.000 00]=>angle of pixel axes=90.000 00±0.000 00 degrees
Distortion: ? kc=[-0.258 53 ? 0.148 34 ??? 0.000 74 ? -0.000 300.000 00]±[0.007 84 ? 0.037 27 ? 0.000 85 ? 0.000 42 ? 0.000 00]
Pixel error:?? err=[0.152 05 ? 0.124 241]
5) 顯示相機(jī)與標(biāo)定靶標(biāo)之間的關(guān)系:完成內(nèi)參數(shù)標(biāo)定后,在標(biāo)定工具箱操作面板點(diǎn)擊“Show Extrinsic”鍵,就可以在新的窗口來顯示相機(jī)和標(biāo)定靶標(biāo)之間的關(guān)系,如圖3所示。
3 實(shí)驗(yàn)與分析
本文的雙目視覺定位系統(tǒng)采用LabVIEW2016、Vision Development Moudle2016和Vision Acquisition Software2016完成。搭建的測試平臺與測試對象如圖4所示。
在Vision Assistant中對圖像進(jìn)行處理:
1、Edge Detector(邊緣檢測),定位并計(jì)算圖像中沿某直線的亮度變化,也就是ROI(興趣區(qū)域)。利用ROI工具進(jìn)行設(shè)置。設(shè)置好ROI后,函數(shù)就在此ROI上尋找強(qiáng)度有變化的點(diǎn)。
2、Set Coordinate System(建立坐標(biāo)系統(tǒng)),作用是建立一個(gè)坐標(biāo)系基于定位和特征的參考方向。在使用這個(gè)函數(shù)前必須有參考的點(diǎn),比如通過找邊緣得到的點(diǎn)坐標(biāo)。
3、Find Straight Edge(找直線),作用是在ROI興趣區(qū)域中找出直線。
4、Caliper(卡尺),使用這個(gè)函數(shù)來計(jì)算兩點(diǎn)之間的距離。這個(gè)函數(shù)使用到的點(diǎn)是前面得到的數(shù)據(jù)。
Vision Assistant對圖像的處理流程如圖5所示。
測試流程:
1) 需要固定好相機(jī)的位置,保持垂直向下狀態(tài);
2) 創(chuàng)建4張bmp空白圖片;
3) 將白板放在相機(jī)的正下方,將電路板放在白板上,確保在整個(gè)試驗(yàn)過程中,白板和相機(jī)的位置都保持不變;
4) 依次移動(dòng)電路板到四個(gè)不同位置,采集圖像,并實(shí)時(shí)記錄下電路板左下角P點(diǎn)相對于白板左下角o點(diǎn)的(x,y)實(shí)際坐標(biāo)。采集圖像示意圖如圖6所示,4個(gè)位置中,P點(diǎn)逆時(shí)針分布,分別為1-4點(diǎn)。
上位機(jī)的測試結(jié)果界面如圖7所示。
對實(shí)現(xiàn)測定的電路板坐標(biāo)進(jìn)行測試,邊緣測試結(jié)果如表1表2表3所示。
測試時(shí)首先對識別檢測區(qū)域進(jìn)行確認(rèn),可以用鼠標(biāo)畫出矩形框來選定檢測區(qū)域,X、Y世界坐標(biāo)值,即最終折算后的結(jié)果。定位數(shù)據(jù)的輸出數(shù)據(jù)可以保存并導(dǎo)出。
測試過程中,對不同位置的物體進(jìn)行了多次檢測,記錄了100次定位輸出結(jié)果, 取平均后,經(jīng)與實(shí)測結(jié)果進(jìn)行對比表明:本系統(tǒng)能夠很好實(shí)現(xiàn)對電路板的位置定位檢測,誤差滿足設(shè)計(jì)的精度要求。經(jīng)實(shí)驗(yàn)中調(diào)用耗時(shí)統(tǒng)計(jì)函數(shù)計(jì)算時(shí)間,識別平均耗時(shí)為0.13 s,符合快速定位的要求。經(jīng)過8 h不間斷定位實(shí)驗(yàn), 系統(tǒng)運(yùn)行情況良好。
4 總結(jié)
本文基于LabVIEW為平臺,研究并探索電路板的雙目視覺測試系統(tǒng),采用標(biāo)定、識別及定位技術(shù),實(shí)現(xiàn)了對測試點(diǎn)的特征提取,經(jīng)過邊沿檢測,建立坐標(biāo)系統(tǒng),找直線等處理方法,并通過軟件對應(yīng)模塊實(shí)現(xiàn)了這一處理,識別并獲得了測試點(diǎn)的像素坐標(biāo),并進(jìn)一步計(jì)算得出測試點(diǎn)在物理世界坐標(biāo)系下的實(shí)際坐標(biāo),完成定位工作。經(jīng)過對不同測試點(diǎn)進(jìn)行試驗(yàn)驗(yàn)證,本系統(tǒng)具有較好的準(zhǔn)確性及穩(wěn)定性。
參考文獻(xiàn)
[1] 黃鵬程,江劍宇,楊波.雙目立體視覺的研究現(xiàn)狀及進(jìn)展[J].光學(xué)儀器,2018,40(4):81-86.
[2] 王浩,張鳳生,劉延杰.接觸線雙目視覺測量系統(tǒng)標(biāo)定及立體校正方法研究[J].制造業(yè)自動(dòng)化,2019,41(3):97-101.
[3] 楊承忠.雙目立體視覺匹配[J].電子技術(shù)與軟件工程,2019(5):57-59.
[4] 孫軍華,張悅,程曉琦.基于軸線投影精確模型的彎管立體視覺測量方法[J].航空制造技術(shù),2019,62(5):40-45.
[5] 袁雪姣,冉清,趙文婧,馮結(jié)青.面向雙目立體視覺的迭代式局部顏色校正[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2019,31(1):65-75.
[6] 杜梟雄,張鵬超,姚晉晉,等. 基于雙目立體視覺的采摘機(jī)器人設(shè)計(jì)[J].機(jī)電信息,2018(36):145.
[7] 王雪軍,徐天成,張小強(qiáng),等. 基于雙目視覺的穴位坐標(biāo)測量[J].電子測量技術(shù),2018,41(22):66-70.
[8] 王婧,李雙江,田石柱.雙目立體視覺技術(shù)在結(jié)構(gòu)試驗(yàn)中的應(yīng)用[J].應(yīng)用光學(xué),2018,39(6):821-826.
[9] 孫深圳,孫灑.關(guān)于雙目立體視覺圖像目標(biāo)精準(zhǔn)匹配仿真[J].計(jì)算機(jī)仿真,2018,35(11):413-416.
[10] 艾青林,劉賽,沈智慧.基于雙重配準(zhǔn)的機(jī)器人雙目視覺三維拼接方法研究[J].機(jī)電工程,2018,35(10):1110-1115.
[11] 張如如,葛廣英,申哲,等. 基于雙目立體視覺的三維重建方法[J].揚(yáng)州大學(xué)學(xué)報(bào)(自然科學(xué)版),2018,21(3):5-10.
[12] 胡濤, 任仙怡, 蔡鐵,等. 高分辨力PCB裸板圖像輪廓快速圓弧探測[J]. 光電工程 ,2014, 41(7):88-94.
[13] 楊尚昆,王巖松,郭輝,等. 基于一階徑向畸變算法的雙目攝像機(jī)多位姿標(biāo)定方法[J].計(jì)算機(jī)應(yīng)用,2018,38(9):2655-2659.
(收稿日期: 2019.04.19)
作者簡介:王磊(1982-),男,本科,實(shí)驗(yàn)師,研究方向:電路與系統(tǒng)設(shè)計(jì)研究。