?

基于HALCON的雙目立體視覺工件尺寸測量

2018-02-05 01:44,,,,
計算機測量與控制 2018年1期
關鍵詞:雙目算子標定

,, ,,

(1.聊城大學 物理科學與信息工程學院,山東 聊城 252059;2.山東省光通信科學與技術重點實驗室,山東 聊城 252059)

0 引言

隨著先進制造業自動化生產技術的發展,對在線測量技術提出了更高的要求。而針對大量重復性的工作,人工視覺很難長時間保持精神集中的狀態,常出現測量效率低、精度不高、容易損傷工件表面等問題[1]。對于普通的機械測量工具而言,雖不易出現人工測量問題,但其測量過程復雜且成本較高、普適性差,未達到測量的完全智能化[2]。而非接觸式雙目立體視覺測量系統不僅具有效率高、精度高、自動化程度高、造價低等優點[3],更為重要的是,由于雙目攝像機的存在,可以獲取被測物體的特征幾何參數與空間姿態參數,實現了工件三維尺寸測量的智能化,因此受到了廣大生產企業的青睞,已成為國內外解決先進制造業中測量問題的研究熱點。

HALCON是德國MVtec公司開發的具有強大功能的圖像處理軟件,此軟件提供了一套完善的標準機器視覺算法開發包。由一千多個獨立的函數以及底層的數據管理核心構成,節約了成本,縮短了軟件的開發周期。具有快速、全面、精確、魯棒性等特點,應用領域廣泛,涵蓋遙感探測,醫學,監控,到工業上的自動化檢測。

本文采用基于halcon的雙目立體測量技術,實現工件圖像對的自動采集、雙目系統標定、立體校正、工件邊緣輪廓特征點提取、立體匹配、世界坐標轉換、幾何計算相結合的非接觸式雙目視覺測量的方法。通過獲取工件的兩幅圖像進行處理有效地獲取工件特征點的三維坐標值,實現工件尺寸的高精度測量。

1 雙目視覺測量原理

雙目立體視覺測量原理是利用兩個攝像機其成像平面與被測物體之間構成三角形,從而來獲得兩幅不同視覺角度上的感知圖。然后基于三角幾何相關原理對兩幅圖像對應點的視差進行計算獲得物體在三維空間上的信息[4]。

本實驗采用的雙目測量系統中,兩個攝像機的擺放都向內側傾斜一定角度,在下文中對立體圖像對進行極線校正,此過程就相當于對系統硬件環境進行了改造,將相交光軸調整為平行光軸的理想狀態,即可以看作是一個虛擬的平行雙目立體視覺測量系統,且左攝像機坐標系原點與世界坐標系原點重合,其成像原理如圖1所示。

圖1 雙目立體成像原理圖

設空間中一點P(xw,yw,zw)在左攝像機下的坐標為P(x1,y1,z1),與左像機成像平面交點坐標為PL(uL,vL),在右像機下的坐標為P(x2,y2,z2),與右像機成像平面交點為PR(uR,vR)。經立體校正后,兩圖像位于同一平面,即vL=vR。左右像機的投影中心連線的距離為基線b=x1-x2。根據相似三角形的關系,我們可以得出:

(1)

由于左右圖像在同一平面上,所以對應點視差值被定義為左圖像內點列坐標與右圖像內對應點列坐標之差,其數學表達式為:

(2)

結合(1)、(2)便可求得點P的三維坐標為:

(3)

因此,左攝像機成像平面上的任意一點只要能夠在右攝相機成像平面上找到其對應點,就可以通過上述運算,獲取此空間點的三維坐標,因而測量效率較高、簡單、快捷[5]。

雙目視覺測量的實現可以分為目標圖像獲取、雙目系統標定、立體校正、特征點提取、立體匹配、計算匹配點視差、求取三維坐標、尺寸測量等幾個步驟,具體算法流程如圖2所示。

2 雙目標定及立體校正

2.1 攝像機標定

攝像機標定是指建立攝像機的圖像像素坐標與空間點三維坐標之間的關系,根據左右兩個攝像機模型,由標定板己知特征點的圖像坐標和世界坐標求解攝像機的內外參數,內部參數包括攝像機的畸變系數、焦距、中心點坐標等參數。外部參數包括攝像機坐標系相對于世界坐標系的旋轉矩陣、平移向量等[6]。

圖2 軟件算法流程

本文選取的標定板是30×30 mm,圖像陣列為7×7的圓心陳列型平面標定模板,標定板的表面不能有污點如圖3(a)所示。首先通過gen_caltab()生成標定描述文件,并設置左右攝相機的初始內參數。同時打開攝相機進行采集,在雙目視覺系統中,每個攝相機都要拍攝多張標定板在不同位置的圖片。本實驗拍攝了15張標定板圖片,且保證每張圖片中都能包含標定板[7]。獲取標定板圖像后,通過find_caltab()算子尋找圖像中標定板所在區域,并調用find_marks_and_pose()算子對標定板進行處理,如圖3(b)、(c)所示,該算子通過亞像素閾值、亞像素邊緣提取、圓心的確定等一系列操作計算標定板上每個點的圖像坐標以及標定板與攝像機之間大致的位置關系[8],最后調用binocular_calibration()函數實現雙目標定,獲得的攝像機的內外參數以及兩個攝像機相對位置關系。

2.2 立體校正

將標定過程中獲得的兩個攝像機的內參以及相對位置關系作參數傳遞給gen_binocular_rectification_map()算子,得到兩個校正映射圖,還能得到校正后虛擬雙目視覺系統中兩個攝像機的內外參數。通過map_image() 函數結合映射圖將采集到的圖像對校正為標準極線幾何結構。經校正后圖像對匹配點在同一水平線上并且極線相互平行。這樣就大大減少了恢復目標物體三維數據的計算量,簡化了整個系統的復雜度。立體校正前后雙目攝像機標定的內外參數如表2所示。

表1 左、右相機校正前后的內部參數

表2 校正前后右相機相對于左相機位姿參數

由系統標定結果可知,立體校正后兩圖像主點的列坐標相等,即說明兩圖像的外極線都是水平的。校正后右圖像相對于左圖像的相對位姿可表示為一個平移向量T=[11.693 7,0,0],說明校正后的右圖像相對于左圖像只是沿X軸方向移動了11.693 7 cm,而不存在其它方向的平移和旋轉[9]。標定結果與相機的實際擺放位置相吻合,說明標定結果準確。

3 圖像的采集與處理

3.1 圖像獲取

本系統采用實時采集,將相機連接到計算機,并設置合適的相機參數,然后使用halcon軟件圖像采集助手將相機連接到halcon軟件,采集圖像如圖4(a)所示。

3.2 圖像預處理

從獲取系統中得到的左右圖像對,由于各方面因素的影響,會不可避免的引入噪聲干擾造成圖像質量的下降,使邊緣或輪廓與背景很難區分開,因此在對其進行分析和操作之前,必須對原始圖像進行必要的預處理,以成功區分出感興趣區域,獲得最能真實反映原景物的圖像,改善圖像的視覺效果,使得圖像中的特征更加突出,從而為后續的特征提取和匹配工作做準備[10]。

首先將采集到的圖像對校正為標準極線幾何結構,然后通過加權平均法轉化為灰度圖像,并通過median_image()算子進行中值濾波,達到去除噪聲的同時保留邊緣銳度和圖像細節的目的,并調用emphasize()算子經過多次調試參數對圖像進行增強處理。校正結果如圖4(b)所示。調用threshold()算子進行自動全局閾值分割識別出待測工件的區域,并通過connection()算子進行連通域操作,把整個感興趣區域中不同的連通域化為單個的區域,這樣就可以對單個的區域進行操作[11];根據面積特征,提取出包含物體的區域,處理結果如圖4(c)所示。

圖4 預處理后的圖像

4 特征點提取

在雙目視覺測量系統中,要對圖像對進行特征提取,然后通過匹配獲取視差值計算出三維信息。特征提取與立體匹配的質量和精度將直接影響到工件尺寸測量的精度。對于工件的測量感興趣的特征是工件的角點和邊緣輪廓。工件輪廓的特征點包含了豐富的工件特征信息,代表了工件的基本幾何結構,因此提取輪廓特征點的精度決定了測量目標的準確度[12]。

4.1 邊緣檢測

本文采用canny算子與亞像素邊緣檢測相結合的方法來提取邊緣。canny算子能夠消除較多的偽邊緣,也可以保留較多的真邊緣,具有很好的定位特性。亞像素是存在于兩個單位像素之間的物理量,是一種用于提高精度的算法,并且計算量小,非常適合應用到高精度的在線檢測上。先利用canny算子進行邊緣點的粗定位,在像素級上確定邊緣點的坐標和梯度方向,然后通過基于雙線性插值的亞像素邊緣檢測算法獲得亞像素精度的邊緣。然后通過骨骼化方法進行邊緣細化,減少邊緣毛刺提高邊緣信息的精確度。如圖5(a)所示。

4.2 邊緣擬合

為了便于對邊緣特征點進行提取,此處調用segment_contours_xld()算子將邊緣輪廓分割成直線部分和曲線部分,調用sort_contours_xld ()算子對分割出來的直線和曲線按照一定的規則進行排序,然后通過get_contour_global_attrib_xld()算子獲取每段輪廓的屬性,當屬性參數Attrib==1時,此時輪廓為圓曲線,當屬性參數Attrib不為1時,此時輪廓為直線,然后分別對其進行直線擬合和曲線擬合。

在擬合時,最小二乘法對于遠離邊緣的離群值沒有很好的魯棒性,到真實邊緣很遠的點在計算過程中會占有很大的權重,計算后得到不準確的邊緣輪廓。本文引入atukey權重函數的最小二乘法進行亞像素邊緣擬合以減小離群值的影響。權重值的迭代思想是:第一次權重為1,然后用梯度下降法尋找到一個解向量,以此求下一次迭代的權重值。

4.3 特征點提取

對擬合得到的精確的亞像素邊緣進行等距離取點作為特征點。且通過intersection_ll ()算子得到兩兩直線的交點,然后調用distance_ps()算子判斷交點到兩直線和感興趣區域的距離,當小于預設閾值時,則此點即為兩線交點并作為特征點,否則舍去,以提高后期關鍵尺寸測量的準確性。獲取工件特征點如圖5(b)所示。

圖5 特征點的獲取

5 立體匹配

立體匹配的主要工作是尋找同一空間物體中的同一點在不同觀察角度得到的兩幅圖像中的對應關系[13]。圖像經過立體校正后,可通過極限約束原則將匹配對應點的二維搜索降為一維搜索,但由于誤差的存在,此處將右圖像距離極線3個像素之內的點作為候選匹配點。

我們知道,場景中某個點的視差值與其深度成反比,因此只要確定了某像素點的最小和最大視差值,我們就可以在整條外極線上限定一個小的多的區域作為視差搜索范圍。因此,可以得到d∈[dmin,dmax],式中的dmin和dmax可以通過圖像中可能出現的最大最小距離計算得到,此時,視差搜索區域的長度為l=dax-dmin+1,因此極大地減小了搜索范圍,簡化了算法復雜程度,縮短了程序運行時間,減少誤匹配的數量[14]。具體搜索原理如圖6所示。

圖6 特征點搜索原理

以左圖像特征點為中心通過調用gen_rectangle1()算子來設定一個尺寸為(m,n)的鄰域窗口,然后用reduce_domain()算子將區域轉化成特征點模板圖像。并使用create_ncc_model()算子創建模板,如圖7(a)中矩形框作為模板。在整條外極線上通過調用gen_rectangle1 ()算子限定一個小的多的區域作為匹配點搜索范圍,并通過reduce_domain ()算子將搜索區域轉化待搜索圖像,如圖7(b)中矩形框中的部分作為待搜索圖像,因此極大地減小了搜索范圍。

找到匹配點搜索范圍后,采用基于灰度的模板匹配來尋找匹配點。由于兩個攝像機視角不同,光照也會產生一定的差異,所以需要一種不隨光照的變化而變化的方法,即歸一化相關系數NCC,來消除光照影響。計算歸一化相關系數的公式為:

式中,mt為模板平均灰度值,st2為模板所有灰度值的方差,mf(x,y)為圖像平均灰度值,sf2(x,y)為圖像所有灰度值的方差。ncc(x,y)的取值范圍為[-1,1],|ncc(x,y)|越大表示模板和圖像越一致,越小表示越不一致[15]。相似度在右圖上所有像素點的子窗口中最優而且其值達到了預先設定的閾值,則把兩點視為最佳匹配點。本論文設置中當|ncc(x,y)|的值大于0.95時即為對應匹配點。用find_ncc_model ()算子結合模板圖像在搜索圖像中進行搜索。當NCC相似度量最大且大于0.95時,則此點即為匹配點。結果如圖7(c)所示。

圖7 立體匹配過程圖像

6 雙目立體測量

由上式(3)可知,若要確定空間中某點的三維坐標,只需要知道該點在左右兩幅圖像上的坐標和攝像機的內外參數。而這些條件在完成攝像機系統標定和立體匹配成功后即可獲得。然后利用以上原理,通過調用disparity_to_point_3d ()算子可獲得特征點的空間三維坐標,獲取三維點云圖[16]。如圖8所示。左右圖像部分對應匹配點圖像坐標值、視差值及三維坐標值如表3所示。

圖8 三維點云

匹配點左圖像坐標右圖像坐標ulvlurvr視差(像素)X軸(mm)Y軸(mm)Z軸(mm)0256.426249.063255.370297.79948.73673.847-20.470274.1871643.164275.533642.498325.05349.52075.9339.432274.3302214.178793.325213.608799.9976.672112.786-23.094266.7693612.772819.971613.269831.01311.042115.1146.906267.5214337.764944.181340.576945.1060.925123.676-13.747265.7865470.303953.024471.012953.009-0.015124.264-3.813265.6266386.113404.315384.520448.16243.84685.573-10.411273.304

獲得三維點云后即可通過空間曲線擬(與平面擬合類似)或通過計算公式:

結合三維坐標獲取工件的關鍵尺寸,測量結果如圖9所示,測量數據單位為mm。

圖9 測量結果

將測量結果與工件的實際尺寸進行對比計算結果如表4所示。

表4 測量結果與工件的實際尺寸對比結果

由上表結果可知,此測量系統具有良好的穩定性且測量誤差在±0.2 mm之內,實時性令人滿意。

7 結論

工件尺寸測量系統應滿足實時性和準確性的要求,本文在利用機器視覺軟件halcon進行雙目立體視覺測量系統設計的基礎上,系統地介紹了基于雙目立體視覺目標測量的基礎原理、關鍵技術、測量方法。并對采集到的不同角度的兩幅圖像進行處理,實現了空間中特征點三維信息的有效獲取和關鍵尺寸的測量,并通過大量實驗驗證了該測量系統的有效性,測量精度達到±0.2 mm。實驗結果表明該方法測量精度較高,實時性令人滿意。該系統可大大提高工件的生產效率,同時節約勞動力成本,系統節能、安全穩定,具有很好的擴展性和適應性,還能解決很多傳統方式存在的問題,具有很大的市場價值和應用前景。

[1] 朱先鋒. 基于雙目視覺的工件尺寸三維測量[D].舟山:浙江海洋大學, 2014.

[2] 張海波. 基于雙目立體視覺的圖像匹配與三維重建[D]. 西安:西安工業大學, 2012.

[3] 王珂瑋. 基于雙目立體的目標測量[D]. 長春:吉林大學, 2013.

[4] 熊 凡. 雙目立體視覺系統標定及重構方法研究[D]. 武漢:武漢工程大學, 2012.

[5] 孫鳳連. 機器人雙目視覺系統的三維測量方法[D]. 廣州:廣東工業大學, 2015.

[6] 陳 念, 李 進, 王海暉.雙目立體視覺測量系統的研究與實現[J]. 湖北:武漢工程大學學報, 2011, 33(5): 101-105.

[7] 李 哲,項輝宇,韓 寶. 基于HALCON的雙目視覺系統標定[J]. 機電產品開發與創新,2013, 3(5): 95-97.

[8] 魏敬強. 基于雙目立體視覺的工件識別定位與抓取系統的研究[D]. 西安:西安理工大學, 2012.

[9] 黎淑梅. 基于雙目視覺的大尺寸工件在機三維測量[D].廣州:華南理工大學, 2011.

[10] 馬 峰. 基于二維圖像的三維建模技術的研究[D]. 北京:北京林業大學, 2010.

[11] 尹紅敏, 葛廣英, 肖??? 等. 基于Halcon的指針式儀表的讀數[J]. 現代電子技術, 2016, 39(17): 16-19.

[12] 張 鎮, 呂秋娟, 鄭 重. 基于幾何結構的零件切片輪廓特征點提取方法[J]. 工具技術, 2009, 43 (10): 31-35.

[13] 藍福明. 雙目立體視覺的攝像機標定與特征點匹配技術研究[D].哈爾濱:哈爾濱理工大學, 2015.

[14] 崔 雪, 基于立體視覺的安全行車距離測量方法研究[D]. 長春:長春工業大學,2012.

[15] 肖??? 基于機器視覺的精密器件尺寸在線測量系統的研究[D]. 聊城:聊城大學, 2016.

[16] 杜若琪, 谷宇章, 張 誠, 等. 基于雙目立體視覺的行人身高測量方法[J].信息技術, 2016,24(1):91-96.

猜你喜歡
雙目算子標定
采用雙目視覺和自適應Kalman濾波的作物行識別與跟蹤
霜 降 蘇美玲
基于雙目視覺的機器人定位與導航算法
有界線性算子及其函數的(R)性質
輕卡前視攝像頭的售后標定
一種輕卡前視單目攝像頭下線標定方法
使用朗仁H6 Pro標定北汽紳寶轉向角傳感器
Domestication or Foreignization:A Cultural Choice
基于雙目測距的卡爾曼濾波船舶軌跡跟蹤
CT系統參數標定及成像—2
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合