


摘 要: 雙目視覺技術可用于PCB 裸板的缺陷檢測,而精確定位則是這一應用的前提。利用LabVIEW的IMAQ Vision模塊,進行了電路板的雙目視覺定位技術的研究,通過搭建雙目視覺定位系統,并對雙目相機進行標定,獲得給定電路板的圖像;對電路板進行邊沿檢測,建立坐標系統,完成電路板測試點的位置確定;經視差計算,獲得電路板測試點的位置坐標,完成定位。經過對不同測試點進行試驗驗證,本系統具有較好的準確性及穩定性。
關鍵詞: 雙目視覺; 相機標定; 圖像處理; LabVIEW
中圖分類號: TP216+.3文獻標志碼: 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 引言
隨著計算機技術、數字圖像處理等理論的發展,機器視覺已成為研究的熱點。人們使用相機等裝置將外界實物轉化為數字信息,進行視覺信息處理,從而獲取物體的形狀、位置等信息。人類雙眼同時觀察事物能分辨遠近,在機器視覺中,也可用兩臺相機從不同位置觀測同一事物,從而得到差別視角下的圖像,經過計算同一像素的視差來獲得三維信息。目前,雙目視覺技術已在眾多領域得到應用[1-3]。
電子線路板(PCB)的制造工藝非常復雜,從基材板到成品需要經過十多個工序。為減少工作量,降低復雜度,雙目視覺技術可應用于PCB板制作中,對尚未安裝電子元器件的PCB裸板進行缺陷檢測。其中高精度的圖像處理及分析是這一應用的核心技術。而要提高圖像測量系統的精度,首先要完成對電路板的精確定位。完成這一點可以通過提高硬件配置,選用高分辨率的設備來實現,但是實際生產中,企業往往受限于生產成本而難以及時升級或更新硬件。采用軟件方法提高邊緣檢測的精度,來提高測量系統的定位精度,這種方法簡單有效,且成本較低。邊緣檢測是圖像處理和分析的關鍵步驟,邊緣包含了圖像很多重要的信息,并且對后續的特征描述、匹配和識別等影響重大[4-6]。
本文利用LabVIEW進行了電路板的雙目視覺定位技術的研究,通過搭建雙目視覺體系并進行標定,獲得了電路板的圖像,經邊緣檢測后建立坐標系統,完成對電路板測試點的位置的確定;進一步通過計算視差,獲得電路板測試點的位置坐標,完成對電路板測試點的定位。測試實驗結果表明,本系統具有較好的準確性及穩定性,對提高PCB缺陷檢測系統的性能具有一定價值。
1 系統分析
電路板測試點的雙目視覺圖像定位系統的工作流程如圖1所示。
搭建好的雙目視覺系統,首先要進行相機的標定,獲得相機的內外參數矩陣,然后采集電路板測試點的圖像,并對采集的圖像信息進行處理,使測試點的位置更加容易識別,然后獲得電路板測試點的幾何參數,結合內外參數矩陣計算出電路板測試點的坐標,最后就是與實測值進行比較,誤差符合要求則直接輸出結果,否則需要對參數矩陣進行修正后,再次計算坐標。
2 相機標定
相機獲得實際圖像的信息,經計算機處理計算得出實際立體空間中物體的信息,通過此標識重新建立物體視覺是機器視覺的基本任務。相機成像幾何模型決定空間內實物表面點的位置和它在圖像中對應點的相互關系,幾何模型參數(相機參數)通過實驗與計算可獲取。相機標點過程就是明確相機的各種參數以及相機在現實世界坐標系的坐標,標定精度直接影響計算機視覺精度,是整個工作的關鍵步驟。
相機標定有傳統標定方式和自標定方式兩種[7-8]。傳統標定的原理是在相機模型下,經過對特定標定參考物進行圖像處理,并運用數學變換公式運算和優化,來獲得相機模型內部參數以及外部參數。但是,這一方法由于不確定現場及相機運動狀態而很難實現。自標定方式與相機的運動狀態沒有關系,是運用相機自身參數之間的約束關系來標定,過程方便,但是精度有限[9-10]。
張正友提出單平面棋盤格的相機標定方法用于解決徑向畸變問題,這一方法介于傳統和自標定之間的方法,既克服了傳統標定法需要高精度標定物的缺點,也相對于自標定提高了精度,便于操作。它只需要相機對校準板(打印出的棋盤格)上的每個特征點與其圖像平面上的圖像點之間的對應關系,即每幅圖像的單斜矩陣對相機進行標定。這種算法不需要知道運動參數,就可以隨便地移動相機和模板[11-12]。本文就采用這種方法進行標定。
LabVIEW使用圖形化編輯語言G來編寫程序,產生程序框圖。IMAQ Vision是LabVIEW內置的視覺工具包,主要是圖像處理VI,其中包括IMAQ Vision和Vision Builder兩個組件[13],是NI公司開發的圖像采集驅動,支持多種傳輸形式,提供了LabVIEW平臺上開發機器視覺的各種子程序。
本文采用的靶標是由A4紙打印的等尺寸棋盤網格,每邊長度為19毫米。所用相機為USB相機,1200萬像素,分辨率為640*480。整個標定系統由相機、標定板、個人計算機和工作臺組成。
標定過程如下:
1) 采集圖像:采集的圖像需要統一進行命名后,復制到toolbox_calib目錄中。命名的規則為基本名和編號,基本名在前,后面直接跟著數字編號。編號最多為3位十進制數字。
2) 標定參數:將matlab當前目錄設為含有標定工具箱的目錄,即toolbox_calib目錄。在命令窗口運行calib_gui指令,彈出選擇窗口。窗口中具有兩個選頂,分別是“Standard”和“Memory efficient”。點擊“Standard”,則將目錄中圖像讀入內存。如果點擊選擇“Memory efficient”,則將目錄中的圖像按照需要每次一幅圖像讀入內存中,所需內存較小。在選擇了內存使用方式后,彈岀標定工具箱操作面板。
3) 指定圖像基本名與圖像格式:預先將命名為Image1-Image4的jpg格式的4幅靶標圖像保存在toolbox_ calib目錄中。采集的靶標圖像也可以采用bmp格式、tif格式等,但用于標定的靶標圖像需要采用相同的圖像格式。在圖3中點擊“Image names”,在命令窗口輸入基本名Image和圖像格式,在matlab的圖形窗口顯示出4幅靶標圖像,如圖2所示。
4) 內參數標定:對用于標定的靶標圖像角點提取后,在圖3中點擊“Calibration”,即可完成相機的內參數標定。
優化后的標定結果:
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) 顯示相機與標定靶標之間的關系:完成內參數標定后,在標定工具箱操作面板點擊“Show Extrinsic”鍵,就可以在新的窗口來顯示相機和標定靶標之間的關系,如圖3所示。
3 實驗與分析
本文的雙目視覺定位系統采用LabVIEW2016、Vision Development Moudle2016和Vision Acquisition Software2016完成。搭建的測試平臺與測試對象如圖4所示。
在Vision Assistant中對圖像進行處理:
1、Edge Detector(邊緣檢測),定位并計算圖像中沿某直線的亮度變化,也就是ROI(興趣區域)。利用ROI工具進行設置。設置好ROI后,函數就在此ROI上尋找強度有變化的點。
2、Set Coordinate System(建立坐標系統),作用是建立一個坐標系基于定位和特征的參考方向。在使用這個函數前必須有參考的點,比如通過找邊緣得到的點坐標。
3、Find Straight Edge(找直線),作用是在ROI興趣區域中找出直線。
4、Caliper(卡尺),使用這個函數來計算兩點之間的距離。這個函數使用到的點是前面得到的數據。
Vision Assistant對圖像的處理流程如圖5所示。
測試流程:
1) 需要固定好相機的位置,保持垂直向下狀態;
2) 創建4張bmp空白圖片;
3) 將白板放在相機的正下方,將電路板放在白板上,確保在整個試驗過程中,白板和相機的位置都保持不變;
4) 依次移動電路板到四個不同位置,采集圖像,并實時記錄下電路板左下角P點相對于白板左下角o點的(x,y)實際坐標。采集圖像示意圖如圖6所示,4個位置中,P點逆時針分布,分別為1-4點。
上位機的測試結果界面如圖7所示。
對實現測定的電路板坐標進行測試,邊緣測試結果如表1表2表3所示。
測試時首先對識別檢測區域進行確認,可以用鼠標畫出矩形框來選定檢測區域,X、Y世界坐標值,即最終折算后的結果。定位數據的輸出數據可以保存并導出。
測試過程中,對不同位置的物體進行了多次檢測,記錄了100次定位輸出結果, 取平均后,經與實測結果進行對比表明:本系統能夠很好實現對電路板的位置定位檢測,誤差滿足設計的精度要求。經實驗中調用耗時統計函數計算時間,識別平均耗時為0.13 s,符合快速定位的要求。經過8 h不間斷定位實驗, 系統運行情況良好。
4 總結
本文基于LabVIEW為平臺,研究并探索電路板的雙目視覺測試系統,采用標定、識別及定位技術,實現了對測試點的特征提取,經過邊沿檢測,建立坐標系統,找直線等處理方法,并通過軟件對應模塊實現了這一處理,識別并獲得了測試點的像素坐標,并進一步計算得出測試點在物理世界坐標系下的實際坐標,完成定位工作。經過對不同測試點進行試驗驗證,本系統具有較好的準確性及穩定性。
參考文獻
[1] 黃鵬程,江劍宇,楊波.雙目立體視覺的研究現狀及進展[J].光學儀器,2018,40(4):81-86.
[2] 王浩,張鳳生,劉延杰.接觸線雙目視覺測量系統標定及立體校正方法研究[J].制造業自動化,2019,41(3):97-101.
[3] 楊承忠.雙目立體視覺匹配[J].電子技術與軟件工程,2019(5):57-59.
[4] 孫軍華,張悅,程曉琦.基于軸線投影精確模型的彎管立體視覺測量方法[J].航空制造技術,2019,62(5):40-45.
[5] 袁雪姣,冉清,趙文婧,馮結青.面向雙目立體視覺的迭代式局部顏色校正[J].計算機輔助設計與圖形學學報,2019,31(1):65-75.
[6] 杜梟雄,張鵬超,姚晉晉,等. 基于雙目立體視覺的采摘機器人設計[J].機電信息,2018(36):145.
[7] 王雪軍,徐天成,張小強,等. 基于雙目視覺的穴位坐標測量[J].電子測量技術,2018,41(22):66-70.
[8] 王婧,李雙江,田石柱.雙目立體視覺技術在結構試驗中的應用[J].應用光學,2018,39(6):821-826.
[9] 孫深圳,孫灑.關于雙目立體視覺圖像目標精準匹配仿真[J].計算機仿真,2018,35(11):413-416.
[10] 艾青林,劉賽,沈智慧.基于雙重配準的機器人雙目視覺三維拼接方法研究[J].機電工程,2018,35(10):1110-1115.
[11] 張如如,葛廣英,申哲,等. 基于雙目立體視覺的三維重建方法[J].揚州大學學報(自然科學版),2018,21(3):5-10.
[12] 胡濤, 任仙怡, 蔡鐵,等. 高分辨力PCB裸板圖像輪廓快速圓弧探測[J]. 光電工程 ,2014, 41(7):88-94.
[13] 楊尚昆,王巖松,郭輝,等. 基于一階徑向畸變算法的雙目攝像機多位姿標定方法[J].計算機應用,2018,38(9):2655-2659.
(收稿日期: 2019.04.19)
作者簡介:王磊(1982-),男,本科,實驗師,研究方向:電路與系統設計研究。