趙 亮, 于 洋, 俞 峰, 胡 勇
(1.武漢理工大學 交通學院,湖北 武漢 430063;2.江南造船(集團)有限責任公司,上海 201913)
在船舶外板加工過程中,曲板加工的自動化一直是造船行業(yè)的難題。船舶彎板的工藝方法主要有水火彎板和機械冷彎兩種。在實際過程中,水火彎板較為成熟,而機械冷彎技術(shù)尚未大規(guī)模應(yīng)用。機械冷彎技術(shù)的成果主要有袁萍等[1]基于活絡(luò)方形壓頭非對壓技術(shù)開發(fā)的船體外板沖壓成形加工設(shè)備。在傳統(tǒng)測量方法下,測量精度和效率不夠,需要引入自動化測量方法以改進現(xiàn)有的測量技術(shù)。
在諸多自動化測量方法中,機器視覺測量方法是一種比較優(yōu)秀的方法。PARK等[2]利用立體視覺技術(shù)對船舶曲板進行測量。測量系統(tǒng)是具有3個位移自由度的移位機構(gòu),并在系統(tǒng)中安裝線結(jié)構(gòu)光視覺測量傳感器。該方法測量的尺度范圍較大,自動化程度也較好。但是在單視角下只能測量1條結(jié)構(gòu)光下的數(shù)據(jù),且對移位機構(gòu)的精度要求較高,在掃描過程中需處理大量數(shù)據(jù)。PAOLI等[3]在機械臂末端安裝面結(jié)構(gòu)光主動立體雙目視覺傳感器,該系統(tǒng)可從多角度進行測量,與全站掃描儀結(jié)合可測量整個船體表面。該方法優(yōu)點類似于PARK等的方法,但所需設(shè)備價格高昂,也對移位機構(gòu)的精度要求高,測量效率不佳,對振動較為敏感。結(jié)合船舶制造現(xiàn)場的實際需求,需要引入一種成本在可控范圍內(nèi)、效率尚可的大尺度板自動化測量方法,因此考慮引入以激光線作為輔助結(jié)構(gòu)光的機器視覺測量方法。研究機器視覺測量過程中的基本原理和對激光中心線的提取算法,對1塊鞍型曲板進行測量,其精度滿足船體制造的要求。
(1)攝像機內(nèi)部參數(shù)
在研究圖像處理時常將攝像機的物理模型等效成小孔成像模型。關(guān)于成像的圖像和現(xiàn)實世界的三維坐標關(guān)系需要引入幾組參數(shù)作為兩者的溝通橋梁。在立體視覺系統(tǒng)中,通過攝像機的標定工作得到雙攝像機之間的相對位置。在標定時,需要先得到單目攝像機內(nèi)部參數(shù)。
攝像機的內(nèi)部參數(shù)主要有fx、fy、u0、v0,其中:fx=f/dx,fy=f/dy,分別稱為u軸和v軸上的歸一化焦距;f為攝像機焦距;dx和dy分別為傳感器u軸和v軸單位像素的尺寸;(u0,v0)為光學中心,即攝像機光軸與像平面的交點,一般處在像平面中心,其數(shù)值常取圖像分辨率的一半。在圖1中:xO1y為像平面坐標系;O1為光學中心;uOv為像素坐標系。
圖1 像平面坐標系與像素坐標系示例
(2)攝像機畸變參數(shù)
在攝像機工作過程中,對直線投影的偏移會產(chǎn)生畸變。光學畸變顯著項為徑向畸變和切向畸變。各方向畸變大小可由如下畸變參數(shù)描述:
徑向畸變:
(1)
切向畸變:
(2)
式(1)和式(2)中:x、y為理想坐標的橫縱坐標;k1、k2、k3、p1、p2為畸變參數(shù);r2=x2+y2。
為得到攝像機的內(nèi)外參數(shù),需要進行標定工作。標定方法大致可分為3種:攝像機自標定方法、基于主動視覺的攝像機標定方法、基于標定物的攝像機標定方法[4]。張正友標定法[5]屬于第3種標定方法,其精度比自標定方法高,又可避免主動視覺標定方法過分依賴設(shè)備、系統(tǒng)成本高的缺點。選取張正友標定法進行攝像機標定工作。
由攝像機模型的類針孔模型關(guān)系可得
(3)
將標定圖片的位置設(shè)為Z=0,則將式(3)簡化為
(4)
式中:[r1r2r3]為旋轉(zhuǎn)矩陣;t為平移向量。令H=A[r1r2t]為單應(yīng)性矩陣,由于H為3×3矩陣,若將矩陣元素乘以同一個數(shù),齊次點經(jīng)過新的單應(yīng)性矩陣變換后仍然是齊次點,矩陣H具有8個自由度,因而式(4)有8個未知量需要求解。
由于旋轉(zhuǎn)向量的互相正交性質(zhì)及其模長為1的特點,可得
(5)
通過數(shù)學運算可將式(5)轉(zhuǎn)化為
(6)
式中:
vij=[hi1hj1,hi1hj2+hi2hj1,hi2hj2,hi3hj1+
hi1hj3,hi3hj2+hi2hj3,hi3hj3]T
(7)
在式(5)和式(6)中未知量僅為攝像機的內(nèi)參矩陣A,其包含5個參數(shù)(在前述攝像機模型中假設(shè)γ=0)。為得到這5個未知量,需要3個單應(yīng)性矩陣,因此使用張正友標定法進行標定時至少需要3幅方位不同、含1個棋盤格的照片。
解出左右攝像機分別的內(nèi)參和外參后需要進行立體標定工作,即以左攝像機為基準,將右攝像機的旋轉(zhuǎn)矩陣和平移向量轉(zhuǎn)到左攝像機坐標系下,以左攝像機處為坐標原點,得到相對旋轉(zhuǎn)矩陣和相對平移向量。
在計算左旋轉(zhuǎn)矩陣時,根據(jù)羅德里格旋轉(zhuǎn)公式,得
R1=I+(1-cosθ)K2+sinθK
(8)
其中:
(9)
式(8)和式(9)中:R1為左邊圖像的旋轉(zhuǎn)矩陣;I為單位矩陣;kx、ky、kz分別為旋轉(zhuǎn)軸的單位矢量k在x、y、z軸方向的分量;θ為向量繞k軸的旋轉(zhuǎn)角度??傻米筮厛D像的旋轉(zhuǎn)矩陣。同理可求取右邊圖像的旋轉(zhuǎn)矩陣,左右攝像機的幾何關(guān)系為
(10)
式中:R2為右邊圖像的旋轉(zhuǎn)矩陣;t1和t2分別為左右兩邊圖像的平移向量;R′為2個攝像機的相對旋轉(zhuǎn)矩陣;t′為相對平移向量。
已知R1、R2、t1、t2即可求得R′和t′。
選用尺寸為350 mm×245 mm(棋盤單元格尺寸為35 mm×35 mm)的標定棋盤格進行15次標定試驗。標定計算結(jié)果如表1所示。
表1 標定結(jié)果及其誤差
在表1中記錄計算得到的攝像機內(nèi)參均為無量綱參數(shù)。查看試驗結(jié)果的標定誤差(依據(jù)攝像機內(nèi)外參數(shù)進行重投影計算誤差)得知其誤差較為穩(wěn)定,在1個像素左右,因此試驗符合使用要求。
2.1.1 HSV顏色空間初步定位激光位置
所使用的激光器設(shè)備發(fā)射紅色激光(波長為650 nm),使用RGB顏色空間難以界定紅色的明確取值范圍,因此利用HSV顏色空間取激光位置[6]。HSV顏色空間模型對應(yīng)在圓柱坐標系中是1個圓錐形子集,包括色調(diào)H、飽和度S和亮度V,圓錐的頂面對應(yīng)V=1, 其包含RGB模型中的R=1、G=1、B=1等3個面,所代表的顏色較亮。當H<16或H>320、S>80、V>100時,判定符合條件,即可粗提取激光線。
2.1.2 激光線預處理
在HSV顏色空間中定位的激光線需要進行預處理以保證后續(xù)提取的精度,對其進行形態(tài)學處理。在形態(tài)學處理中的操作有腐蝕、膨脹、開操作、閉操作、形態(tài)學梯度、頂帽和黑帽。上述操作均基于腐蝕和膨脹操作:腐蝕操作的基本原理是在對圖像進行遍歷過程中,將待處理圖像A的點與結(jié)構(gòu)元素B的中心點即錨點做卷積運算,解算卷積核B所覆蓋區(qū)域的像素點最小值,令錨點指定的像素為該最小值;膨脹操作的基本原理是在做上述卷積運算時,計算卷積核B所覆蓋區(qū)域的像素點最大值,然后令錨點指定的像素為該最大值。開運算是先進行腐蝕后進行膨脹,而閉運算是先進行膨脹后進行腐蝕。開運算的作用是對圖像中的纖小物體進行分離即去除毛刺,閉運算的作用是對圖像中的孔洞進行填埋,二者均不會造成物體的形狀和位置發(fā)生變化。待測板激光掃描圖像如圖2所示,對該圖像進行上一步的HSV顏色空間閾值處理和預處理后得到如圖3所示的結(jié)果。
圖2 激光掃描待測曲板
圖3 激光線提取結(jié)果
2.2 激光中心線亞像素提取
經(jīng)過上述工作提取的激光線仍不能用于坐標點的求取,需要對其進行至少像素級的提取。在中心線提取方法中,基于Hessian矩陣的Steger算法能有效提取亞像素級中心線[7]。Steger算法先通過Hessian矩陣計算光條的法線方向,再根據(jù)法線方向利用泰勒展開得到亞像素位置。
對于圖像上激光線上的任一點(x,y),有Hessian矩陣為
(11)
式中:rxx為圖像在x方向的二階偏導數(shù);rxy為圖像在x方向偏導后再向x方向偏導的導數(shù);ryy為圖像在y方向的二階偏導數(shù)。
在得到Hessian矩陣后,光條法線方向即為Hessian矩陣最大特征值對應(yīng)的特征向量(nx,ny),以(x0,y0)為基準點,則激光線中心的亞像素坐標為
(px,py)=(x0+tnx,y0+tny)
(12)
其中:
(13)
若(tnx,tny)∈[-0.5,0.5],即一階導數(shù)為零的點在當前像素內(nèi),且(nx,ny)方向的二階導數(shù)大于指定閾值,此時激光線中心亞像素坐標即為(px,py)。
對經(jīng)過初步定位的激光線進行亞像素提取,可得提取后的圖片,如圖4所示。
圖4 激光亞像素提取結(jié)果
提取的亞像素坐標部分如表2所示。
表2 激光亞像素提取部分坐標
由攝像機近似的針孔模型,將其引入雙目標定系統(tǒng)后如圖5所示,空間中的任一點P分別在左右攝像機C1和C2中的成像平面K1和K2上投影于點P1和P2,假設(shè)左攝像機坐標系的坐標原點位于O1,右攝像機坐標系的原點位于O2。已知點P1、P2、O1、O2、P位于同一個平面S內(nèi),2個攝像機的成像平面與平面S交于直線l1和l2。點P1和P2分別位于直線l1和l2上,稱l1為點P2的極線,l2為點P1的極線。對于空間任一點,只需要知道任一成像平面?zhèn)燃す饩€上的點,即可計算極線方程,與前述提取的激光線相交的點即為其對應(yīng)的匹配點[8]。
圖5 立體視覺雙目攝像機幾何位置
得到P1和與其匹配的P2的坐標,即可計算空間點P的坐標,左右攝像機已經(jīng)標定,其投影矩陣M均滿足如下方程:
(14)
則有如下2個方程:
(15)
(16)
對1塊尺寸為840 mm×840 mm的馬鞍形雙曲度板(見圖6)進行測量,對整個板表面利用運動控制裝置每間隔40 mm進行激光線輔助掃描,采集帶有激光線的曲板圖片,試驗圖像為2 048像素×1 536像素。
圖6 馬鞍形雙曲度板
試驗測定的鞍型板近似成二次曲面,其曲面一般式為
(17)
在得到每條激光掃描的散點結(jié)果后,分別對相鄰點之間計算z方向?qū)方向和y方向的二階梯度,其值應(yīng)為常數(shù),將該值進行平均值閾值處理,處理后點數(shù)量較少的部分定為板外點,據(jù)此從結(jié)果中篩選邊緣點。試驗得到的曲板三維坐標點云如圖7所示。
圖7 板面測量結(jié)果處理完成后點云
將曲板測量結(jié)果中的長寬數(shù)值分別與板的實際值進行比對,誤差均在0.1 mm范圍內(nèi),而板的高度方向誤差未知,若與激光掃描結(jié)果對比則更佳。對金屬件平臺(見圖8)進行高度測量,掃描得到的結(jié)果點云如圖9所示。測得的高度與游標卡尺對比結(jié)果如表3所示。
圖8 驗證試驗用金屬件
圖9 測量掃描金屬件平臺激光線結(jié)果點云
表3 金屬件測量結(jié)果驗證 mm
金屬件平臺1和平臺2高度的測量試驗結(jié)果顯示:在z方向結(jié)果與精確度為0.02 mm的游標卡尺相比,差值在0.3 mm內(nèi)。綜合x方向和y方向的結(jié)果,測量結(jié)果誤差在0.5 mm內(nèi),說明所采用方法的結(jié)果滿足工程實際需要。
主要講述計算機雙目視覺測量的基本原理,包括張正友標定法計算攝像機的內(nèi)部參數(shù)、激光線的預處理以及基于Steger算法的亞像素中心線提取、極線約束匹配下的三維坐標計算,利用激光線掃描馬鞍形雙曲度板全板,利用工業(yè)攝像機測量拍照并處理,得到了工程誤差允許范圍(0.5 mm)內(nèi)的結(jié)果。該試驗結(jié)果能滿足在船體建造過程中對曲板的測量需要,與傳統(tǒng)樣板樣箱測量方法相比,具有自動化程度較高、不依賴于測量者的經(jīng)驗要求、測量結(jié)果辨識度高等優(yōu)點。