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