朱世雄,葛動元,姚錫凡,向文江,李 健
(1.廣西科技大學(xué)機(jī)械與汽車工程學(xué)院,柳州 545006;2.華南理工大學(xué)機(jī)械與汽車工程學(xué)院,廣州 510640;3.邵陽學(xué)院機(jī)械與能源工程學(xué)院,邵陽 422004)
工業(yè)機(jī)械臂搭載視覺傳感器已成為當(dāng)前工業(yè)機(jī)器人的主流趨勢,因此視覺系統(tǒng)越來越受到工業(yè)機(jī)器臂領(lǐng)域研究的廣泛重視[1]。而攝像機(jī)標(biāo)定作為手眼系統(tǒng)的前置基礎(chǔ),其意義是由攝像機(jī)幾何模型參數(shù)的數(shù)學(xué)變換確定二維圖像坐標(biāo)系與三維空間機(jī)械臂坐標(biāo)系的轉(zhuǎn)換關(guān)系。傳統(tǒng)的標(biāo)定方法是用已知尺寸的參照物(如標(biāo)定板,標(biāo)定塊等),建立參照物上坐標(biāo)點(diǎn)與圖像中的對應(yīng)點(diǎn)來計(jì)算攝像機(jī)的內(nèi)參數(shù),如TSAI[2]提出的兩步標(biāo)定法就是這類方法的典型代表。然而這種方法需要對初值的進(jìn)行選定,且值對后續(xù)標(biāo)定精度影響較。MAYBANK等[3]提出攝像機(jī)自標(biāo)定的思想。這種方法無需特定參照物,靈活性強(qiáng),可實(shí)現(xiàn)在線標(biāo)定,繼之很多研究人員提出了一些其它的類似方法[4-7],但這些自標(biāo)定方法大多需要圖像中包含特定的立體信息,并且魯棒性差,精度不高。為解決這一問題,吳福朝等[8]利用多組平面正交平移運(yùn)動,基于圖像的單應(yīng)性矩陣建立線性方程組,從而完成包含傾斜因子在內(nèi)的五參數(shù)攝像機(jī)標(biāo)定。劉雨琪等[9]對基于單應(yīng)性矩陣的方法進(jìn)行改進(jìn),構(gòu)建了鏡頭間的約束關(guān)系,實(shí)現(xiàn)了多鏡頭相機(jī)的參數(shù)標(biāo)定。吳文歡等[10]通過不同平面運(yùn)動產(chǎn)生的不同單應(yīng)變換,計(jì)算得出單應(yīng)性矩陣的復(fù)特征向量,進(jìn)而線性求解相機(jī)內(nèi)參數(shù)。相對于像點(diǎn)到物點(diǎn)的單向映射的幾何模型,還有學(xué)者使用了另一種隱式標(biāo)定-應(yīng)用神經(jīng)網(wǎng)絡(luò)。葛動元等[11]通過攝像機(jī)物理模型設(shè)計(jì)一個(gè)新型正交權(quán)值的神經(jīng)網(wǎng)絡(luò),同時(shí)引進(jìn)混合遺傳模擬退火算法,在系統(tǒng)達(dá)到全局最優(yōu)解平衡狀態(tài)時(shí),得到攝像機(jī)的內(nèi)外參數(shù)。GE等[12]還引入了消失點(diǎn)的正交性,根據(jù)其約束關(guān)系設(shè)計(jì)正交學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)進(jìn)行攝像機(jī)標(biāo)定。本文是基于前者主動視覺的自標(biāo)定,討論了一種面向手眼系統(tǒng)中攝像機(jī)的自標(biāo)定方法,在經(jīng)過一次極點(diǎn)延伸運(yùn)動與一組三正交平移運(yùn)動后,可通過基于圖像單應(yīng)性矩陣線性約束方程組得到攝像機(jī)內(nèi)參數(shù)。此方法只需兩組平移運(yùn)動,簡化了實(shí)驗(yàn)步驟,且具有較好的標(biāo)定精度,很容易在手眼系統(tǒng)中實(shí)現(xiàn)。
文中的攝像機(jī)模型都假設(shè)為經(jīng)典的針孔模型,為了后續(xù)攝像機(jī)內(nèi)參數(shù)求解方便,可將內(nèi)參數(shù)矩陣A表示為:
假設(shè)攝像機(jī)在空間中經(jīng)過平移運(yùn)動后,前后攝像機(jī)的對應(yīng)光心分別為Oc1、Oc2,兩攝像機(jī)坐標(biāo)系之間變換關(guān)系為Xc2=RXc1+t,所拍攝的兩幅圖像的對應(yīng)點(diǎn)之間存在固有射影性質(zhì)-極幾何約束。三維空間點(diǎn)M、N在兩相機(jī)投影成像平面上的投影分別為m,n,與m′,n′點(diǎn)。若世界坐標(biāo)系與攝像機(jī)光心為Oc1的攝像機(jī)坐標(biāo)系重合。則有R=I,t=0,空間點(diǎn)M投影到第一個(gè)攝像機(jī)坐標(biāo)系的關(guān)系為:
s1m=AM
(1)
第二個(gè)攝像機(jī)相對于第一個(gè)攝像機(jī)的方位為[Rt],在保持?jǐn)z像機(jī)前后內(nèi)參數(shù)保持不變的情況下,空間坐標(biāo)點(diǎn)M在第二幅圖像上的投影為:
s2m′=A(RM+t)
(2)
式中:s1、s2均為非零常數(shù)因子。
可得到e′是第二幅圖像的極點(diǎn),即第一個(gè)攝像機(jī)坐標(biāo)系原點(diǎn)即光心在第二幅圖像上的投影,將光心代入可得:
(3)
同理可得,第二個(gè)攝像機(jī)坐標(biāo)系光心在第一幅圖像上的投影代入并進(jìn)行整理可得:
(4)
兩幅圖像對應(yīng)點(diǎn)之間的極幾何約束,可用秩為2的3階基本矩陣F來表示,基本矩陣是兩幅圖像間的固有射影性質(zhì)。其有如下性質(zhì)[13]:
m′TFm=0
(5)
極點(diǎn)延伸運(yùn)動是指攝像機(jī)垂直于物方面(標(biāo)定板)的平移運(yùn)動。本實(shí)驗(yàn)中,攝像機(jī)在進(jìn)行平移運(yùn)動時(shí),其所有對應(yīng)點(diǎn)的連線軌跡所形成的直線都相交于極點(diǎn),如圖1所示,當(dāng)運(yùn)動為極點(diǎn)延伸運(yùn)動時(shí),極點(diǎn)e與圖像像素坐標(biāo)系原點(diǎn)O1重合,即極點(diǎn)為圖像平面的主點(diǎn)。
圖1 極點(diǎn)延伸運(yùn)動示意圖
由于是在純平移運(yùn)動下,旋轉(zhuǎn)矩陣R為單位矩陣,即e=e′≈At,則基本矩陣F通過代數(shù)運(yùn)算表示為:
F=A-T[t]×RA-1=A-TRAT[ARTt]×=
A-TRAT[e]×=[e]×
(6)
式中:[t]×,[e]×為向量t=(ta,tb,tc)T與e=(a,b,c)T對應(yīng)的反對稱矩陣,即:
(7)
當(dāng)向量e成為反對稱矩陣時(shí),極點(diǎn)可根據(jù)式(8)由兩個(gè)或者兩個(gè)以上的圖像對應(yīng)點(diǎn)求得:
(8)
如圖1所示,利用兩幅圖像的幾何表示來刻畫基本矩陣F,根據(jù)馬頌德[14]提出的定理:根據(jù)m′,n′點(diǎn)在第二幅圖像坐標(biāo)系中的坐標(biāo)值,將其在第一個(gè)圖像坐標(biāo)系中的位置用m′′,n′′表示,本研究稱m′′與m為同一圖像中的對應(yīng)點(diǎn),在純平移運(yùn)動下,m′′,m與n′′,n的連線交于同一點(diǎn)e(極點(diǎn)),帶入式(5)可得直線方程:
(v-v′)a+(u′-u)b+uv′-u′v=0
(9)
式中:(u,v,1)T、(u′,v′,1)T為上述對應(yīng)點(diǎn),極點(diǎn)e=e′=(a,b,1)T。
由式(9)構(gòu)建關(guān)于直線的線性方程組,在攝像機(jī)進(jìn)行極點(diǎn)延伸運(yùn)動時(shí),其多個(gè)對應(yīng)點(diǎn)連線所擬合的最小二乘解就是所求主點(diǎn)。
以攝像機(jī)坐標(biāo)系光心Oc1為端點(diǎn)向平面C作射線可交平面于M點(diǎn),所拍攝世界平面C的方程為:nTM=d,其中單位法向量為n,d為坐標(biāo)系原點(diǎn)到平面的距離,如圖2所示。
圖2 由平面C誘導(dǎo)的單應(yīng)變換H
對于空間中的點(diǎn)M,其齊次坐標(biāo)[M,w]與第一個(gè)圖像坐標(biāo)系之間通過經(jīng)典的針孔模型相關(guān)聯(lián):
(10)
根據(jù)空間點(diǎn)M在圖像平面的投影像點(diǎn)位m,則射線[(s1A-1m)T,w]T上所有的點(diǎn)都投影在m這個(gè)像點(diǎn),如圖2所示。將射線代入平面C方程中,可求得該射線與平面的交點(diǎn):
M=s1[(A-1m)T,-nTA-1md-1]T
(11)
對于空間點(diǎn)M在OC2第二幅圖像坐標(biāo)系上得投影可得:
(12)
式(12)可整理為m′=sHm,其中s=s1/s2,即在相差一個(gè)非零常數(shù)因子意義下相等m′=Hm,Oc2表示攝像機(jī)光心在世界坐標(biāo)系上的非齊次坐標(biāo)。
因此兩幅圖像之間的單應(yīng)矩陣可表示為:
H=σA(R+d-1tnT)A-1
(13)
兩幅圖像對應(yīng)點(diǎn)之間的映射可確定一個(gè)3×3的可逆矩陣H:
m′=Hm
(14)
式中:H=[h1h2h3],hi=[hi1hi1hi1]T(i=1,2,3),將齊次坐標(biāo)進(jìn)行展開可得:
(15)
(16)
這些方程組合起來得到:
Nh=0
式中:N為2i×9的矩陣。
圖像上一對對應(yīng)點(diǎn)可以提供兩個(gè)線性方程,在相差一個(gè)常數(shù)因子的意義下,給定4對以上(i≥4)的圖像匹配點(diǎn)便可以估計(jì)出單應(yīng)矩陣H。
單應(yīng)矩陣根據(jù)式(13)變換可表示為:
H-σI=Ad-1tnTA-1
(17)
由于上式右邊等式秩為零,可知det(H-σI)=0,對于所有的2階子矩陣有:
det(H-σI)2×2=0
(18)
由此可建立6個(gè)關(guān)于常數(shù)因子σ的一階方程,最終在實(shí)際計(jì)算中σ視為線性方程組的最小二乘解。
在本步求解中,攝像機(jī)在平移前后各拍一幅圖像,利用圖像單應(yīng)性矩陣構(gòu)建線性約束方程組。在純平移運(yùn)動下,給定一組三正交平移運(yùn)動其平移向量組T={t1,t2,t3},其中t1,t2,t3是兩兩正交的平移向量。
(19)
(20)
將式(20)方程組中方程兩邊取轉(zhuǎn)置,并右乘式(19),則有:
(21)
由式(21)可得:
(22)
由此構(gòu)建線性約束方程組:
(23)
攝像機(jī)內(nèi)參數(shù)中主點(diǎn)u0,v0已知,只需得到u軸與v軸的等效焦距fu,fv和傾斜因子λ,可對內(nèi)參數(shù)矩陣進(jìn)行拆分,令:
(24)
(25)
(26)
綜上所述,本文的線性攝像機(jī)自標(biāo)定算法總結(jié)為:
輸入:一組極點(diǎn)延伸運(yùn)動與一組三正交運(yùn)動得到的圖像。
輸出:攝像機(jī)5個(gè)參數(shù)fu,fv,u0,v0,λ。
步驟1:對平移運(yùn)動過后得到的圖像進(jìn)行特征點(diǎn)坐標(biāo)提取,并根據(jù)極點(diǎn)延伸運(yùn)動所得圖像確定主點(diǎn);
步驟2:計(jì)算三正交運(yùn)動下,兩兩正交平面的單應(yīng)矩陣Hi(i=1,2,3);
步驟3:求解對應(yīng)的常數(shù)因子σi(i=1,2,3);
步驟4:利用所求得的不同平面約束建立線性約束方程組:
②確定攝像機(jī)內(nèi)參數(shù):
③最后再將主點(diǎn)代入得到最后的攝像機(jī)內(nèi)參數(shù)A。
在實(shí)際實(shí)驗(yàn)時(shí),特征點(diǎn)的提取不可避免的有著噪聲影響,為了檢驗(yàn)該算法的魯棒性,在不同噪聲水平下進(jìn)行模擬實(shí)驗(yàn)。具體選取攝像機(jī)的理論值為:圖像大小(像素?cái)?shù)):640×480;圖像點(diǎn)個(gè)數(shù)20;攝像機(jī)內(nèi)參數(shù)的理論值為u0=320,v0=240,fu=fv=1000,λ=0.2。噪聲水平作如下定義,假設(shè)一個(gè)理想點(diǎn)坐標(biāo)為(u,v),那么在噪聲水平N的影響下,實(shí)際坐標(biāo)變?yōu)?(uN,vN)=(u,v)+(N*rand1,N*rand2)。攝像機(jī)作一組三正交運(yùn)動,每次平移前后采集2幅圖像,選取第1張為起始圖像,后續(xù)3張是攝像機(jī)運(yùn)動后所得。對圖像數(shù)據(jù)加入不同水平的隨機(jī)噪聲(單位:像素)。在每一個(gè)噪聲水平下運(yùn)行100次,計(jì)算所求出的內(nèi)參數(shù)的均值和均方誤差。表1是各噪聲水平下所求內(nèi)參數(shù)均值的統(tǒng)計(jì)表,圖3是所求得的攝像機(jī)內(nèi)參數(shù)在不同噪聲水平下的均方誤差變化趨勢。
表1 不同噪聲水平下攝像機(jī)內(nèi)參數(shù)標(biāo)定結(jié)果的均值統(tǒng)計(jì)表
(a) 等效焦距 (b) 主點(diǎn) (c) 傾斜因子圖3 不同噪聲水平下的攝像機(jī)內(nèi)參數(shù)標(biāo)定結(jié)果的均方誤差變化曲線
由表1的仿真結(jié)果可看出,在有相當(dāng)水平的噪聲情況下,本文的攝像機(jī)線性標(biāo)定方法仍含有較好的標(biāo)定結(jié)果,同時(shí)根據(jù)圖3a~圖3c的變化曲線可看出攝像機(jī)內(nèi)參數(shù)均方誤差隨噪聲水平的不斷增大呈線性增加趨勢。在2個(gè)像素噪聲水平內(nèi),fu的均方誤差小于11.5%,與之對比fv受噪聲干擾非常小,均方誤差小于4.07%,u0和v0的均方誤差均小于1.12%,可看出內(nèi)參數(shù)的均方誤差在可接受范圍內(nèi),以上均說明本文提出的自標(biāo)定方法精度比較高,魯棒性也比較強(qiáng)。
在真實(shí)圖像實(shí)驗(yàn)中,使用ABB工業(yè)機(jī)器人IRB2600來進(jìn)行標(biāo)定實(shí)驗(yàn),如圖4所示,在機(jī)械臂末端安裝視覺系統(tǒng),利用機(jī)械臂的運(yùn)動來控制攝像機(jī)的位姿變化,獲取多個(gè)不同視角下的標(biāo)定板,從而進(jìn)行攝像機(jī)標(biāo)定。攝像機(jī)分辨率大小為640×480,標(biāo)定板采用7×7 mm的棋盤標(biāo)定板,每幅模板圖像含有8×11個(gè)標(biāo)定點(diǎn)。首先控制機(jī)械臂進(jìn)行極點(diǎn)延伸運(yùn)動,對運(yùn)動前后兩圖像進(jìn)行棋盤角點(diǎn)的點(diǎn)集獲取,如圖5a所示。將兩個(gè)對應(yīng)點(diǎn)作為一組進(jìn)行直線擬合,如圖5b所示。將坐標(biāo)代入式(9),由于數(shù)據(jù)和數(shù)值計(jì)算誤差等原因,在實(shí)際計(jì)算中主點(diǎn)視為多對對應(yīng)點(diǎn)所構(gòu)建線性方程的最小二乘解,計(jì)算得主點(diǎn)坐標(biāo)(u0,v0)為(358.873,139.836)。
圖4 手眼系統(tǒng)
在進(jìn)行三正交運(yùn)動時(shí),本文依次取的點(diǎn)是A(15,-5,-5),B(15,5,-15),C(15,0,-20)三個(gè)點(diǎn)位運(yùn)動,獲取包括初始圖像在內(nèi)的4幅圖像,兩兩正交的平移向量組T={t1,t2,t3}。其形成的單位向量為t1=[0.0105,-0.0315,0.0315]T,t2=[0,0.05,-0.05]T,t3=[0.0315,-0.0052,0.0052]T。然后利用攝像機(jī)采集的齊次坐標(biāo)點(diǎn)根據(jù)式(16)計(jì)算單應(yīng)矩陣:
經(jīng)過矩陣求逆后得到:
表2 方法所得攝像機(jī)內(nèi)參數(shù)
為了檢驗(yàn)標(biāo)定結(jié)果的準(zhǔn)確性,利用文獻(xiàn)[15]的開源算法對表3中物體進(jìn)行重建以驗(yàn)證所得到的攝像機(jī)內(nèi)參數(shù)。在攝像機(jī)內(nèi)參數(shù)未改變的情況下拍攝的多張零件圖像,包括長度為75 mm的螺栓,長度為115 mm的直柄麻花鉆和齒頂圓直徑長度為90 mm的直齒輪,圖6所示為直齒輪三維重建流程。表3為處理后的輸出效果圖。
圖6 三維重建流程圖
表3 不同零件的重建結(jié)果
根據(jù)立體視覺的物理意義,雙目視覺系統(tǒng)在三維重建中具有較高的精度[16]。以雙目深度傳感相機(jī)ZED 2i在相同視角范圍內(nèi)進(jìn)行三維重建(攝像機(jī)參數(shù)已知),將ZED 2i生成的三維點(diǎn)云模型看作參考值,與上述手眼系統(tǒng)中的攝像機(jī)構(gòu)建的三維點(diǎn)云模型(待比較值)進(jìn)行對比分析,通過計(jì)算兩者三維模型之間的絕對距離大小來驗(yàn)證攝像機(jī)內(nèi)參數(shù)。將參考值與待比較值的三維點(diǎn)云模型經(jīng)過配準(zhǔn)后進(jìn)行比較,如圖7所示,通過對點(diǎn)云的漸變著色來對應(yīng)模型之間的距離大小,依據(jù)距離與點(diǎn)的數(shù)量關(guān)系給出直方圖并對數(shù)據(jù)進(jìn)行了高斯分布擬合。
(a) 螺栓點(diǎn)云模型對比結(jié)果 (b) 直柄麻花鉆點(diǎn)云模型對比結(jié)果
(c) 直齒輪點(diǎn)云模型對比結(jié)果圖7 不同零件的點(diǎn)云對比實(shí)驗(yàn)
根據(jù)高斯擬合得出螺栓的參考值與待比較值模型之間的平均距離為0.42 mm,標(biāo)準(zhǔn)差為0.55 mm。直柄麻花鉆的參考值與待比較值模型之間的平均距離為0.81 mm,標(biāo)準(zhǔn)差為1.19 mm。直齒輪參考值與待比較值模型之間的平均距離為0.61 mm,標(biāo)準(zhǔn)差為0.90 mm,可以看出模型之間的絕對距離誤差很小,多數(shù)點(diǎn)云距離誤差都集中在1 mm之內(nèi),隨著距離增加成指數(shù)型減少趨勢。各零件擬合的高斯分布曲線峰值低于分布直方圖峰值,且分布直方圖呈中央聚攏型,說明實(shí)際的效果會更好。
為進(jìn)一步進(jìn)行精度評估,以零件長度的0.5%,1%,1.5%作為分界值,統(tǒng)計(jì)零件分界值內(nèi)的點(diǎn)云數(shù)量與所占比例,統(tǒng)計(jì)結(jié)果如表4所示。
表4 三維點(diǎn)云統(tǒng)計(jì)分布表
通過以上的統(tǒng)計(jì)結(jié)果可以得出,在分界值1.5%之內(nèi)的點(diǎn)云數(shù)目達(dá)到了總數(shù)的90%左右,參考點(diǎn)云模型與待比較點(diǎn)云模型基本擬合,無明顯畸變,模型重建結(jié)果較好。說明該方法參數(shù)標(biāo)定準(zhǔn)確,此外文中方法標(biāo)定出的內(nèi)參數(shù)還可作為初值,進(jìn)行下一步的非線性優(yōu)化,以此獲得關(guān)于內(nèi)參數(shù)的最優(yōu)解。
本文通過三維重建實(shí)驗(yàn)驗(yàn)證了標(biāo)定算法的可靠性。它在手眼標(biāo)定系統(tǒng)中更容易控制和實(shí)現(xiàn),僅需控制機(jī)械臂的位姿運(yùn)動,達(dá)到自己的平移約束需求,通過極點(diǎn)延伸運(yùn)動與一組三正交運(yùn)動即可線性標(biāo)定出包含傾斜因子在內(nèi)的攝像機(jī)五參數(shù)模型,模擬實(shí)驗(yàn)與真實(shí)圖像實(shí)驗(yàn)表明本文方法所得到的標(biāo)定結(jié)果具有較好精度。