摘 要:針對目前平面圓的圓心和半徑測量方法存在的不足,提出一種基于立體視覺的平面圓參數高精度測量方法。該方法首先根據邊緣分組算法和二次曲線橢圓擬合判別算法提取雙目圖像中的橢圓特征;其次利用分段立體匹配算法獲取平面圓特征上部分點的三維坐標;最后通過三維平面擬合、坐標轉換、平面圓擬合以及坐標反變換獲取平面圓的圓心和半徑參數。實驗結果表明,該方法有效地減小了平面圓透視投影引起的畸變誤差,提高了平面圓參數的測量精度。
關鍵詞:立體視覺;平面圓;圓參數測量
中圖分類號:TP391.4 文獻標志碼:A
文章編號:1001-3695(2010)03-1183-04
doi:10.3969/j.issn.1001-3695.2010.03.106
High precision measurement method of parameters ofplane circle based on stereo vision
LIN Guo-yu1,CHEN Xu2,ZHANG Wei-gong1(1.School of Instrument Science Engineering, Southeast University, Nanjing 210096, China;2.School of Information Communications Technologies,Nanjing University of Information Science Technology, Nanjing 210044, China)Abstract:This paper proposed a high precision measurement method of plane circle parameters based on stereo vision to solve the certain deficiency which existed in current method of measuring the center and radius parameter of plane circle.Firstly,using the edge grouped algorithm and ellipse fitting algorithm,extracted the ellipse shape in stereo image.Secondly,acquired the 3D coordinate of points in the circle shape by the grouping stereo matching algorithm. Lastly through the three-dimension plane fitting algorithm, transformation of coordinates algorithm, circle fitting algorithm and transformation of coordinates inversely,calculated the plane circle parameters.The experiment shows that the method can decrease the distortion caused by perspective projection and can improve the measurement accuracy.
Key words:stereo vision; plane circle; circle parameters measurement
0 引言
在三維視覺檢測中,圓特征是一個基本的幾何形狀,如各種工件或定位孔等,而且在三維視覺檢測中,往往需要獲取圓型特征的幾何尺寸參數,包括圓心和半徑,其中圓心作為一個重要的定位參數尤為重要。目前在機械工件測量領域,基于單目視覺的平面圓參數測量方法得到較為廣泛的應用,該方法要求攝像機垂直對準平面圓對象,從而獲取高精度平面圓參數。但是在很多工業場合測量中,如車輪鋼圈參數測量、車身圓孔參數測量等,待測量圓所在平面往往與相機成像面成一定角度,很難保證攝像機與平面圓對象滿足垂直對準關系,因此測量結果存在較大誤差。為此,科研人員針對平面圓視覺檢測提出了多種測量解決方法。文獻[1,2]提出了一種平面圓幾何參數的非接觸測量方法,采用立體匹配以及Levenberg-Marquardt非線性最優化法獲取平面圓的圓心以及半徑參數。文獻[3,4]分析了透視投影變換中平面圓中心畸變誤差模型并對其進行仿真研究,提出修正圓心的數學模型。隨著研究的深入,近年來有研究人員提出根據二次曲線直接獲取平面橢圓曲線的方法,稱為平面曲線整體恢復算法[5,6],該方法采用立體視覺作為基本原理,可以同時獲取平面中平面二次曲線和二次曲面的整體解;由于平面圓曲線屬于二次曲線范疇,該方法也可應用于獲取平面圓的幾何尺寸參數。上述這些方法雖然各有特點且都獲得較好的實驗仿真結果,但仍然存在一些不足。文獻[1,2]中采用Levenberg-Marquardt非線性最優化法獲取平面圓幾何參數往往只能獲取次優值,而且僅僅采用極線約束和一致性原則,無法在實際測量時獲得較好的立體匹配結果,從而影響了后續平面圓幾何參數測量。文獻[3,4]提出的這種圓心誤差模型需要先計算平面圓錐形狀銳度等參數,在實際測量環境中這些參數很難事先獲取,因此實際中很難采用該畸變模型進行誤差補償。由于橢圓擬合過程中存在誤差以及相機畸變等因素,文獻[5,6]提出的平面曲線整體恢復算法在實際測量過程中常常出現得不到有效解,或是存在多個有效解的情形,從而增加算法的復雜性和不穩定性,這在一定程度上限制了該算法的運用。本文提出一種基于立體視覺的平面圓參數高精度測量方法。
1 圓特征曲線的三維重建
1.1 圖像中橢圓曲線的自動提取
由于透視投影的作用,平面圓在相機成像面上的成像往往是橢圓形狀,首先要對圖像上的橢圓特征曲線進行提取。假設圖像已經過濾波、邊緣提取等預處理步驟,獲得包含橢圓曲線的邊緣圖像,則跟蹤邊緣圖像中每條連續邊緣,得到連續邊緣上像素點的數量,記為ni,如果ni小于一定的閾值,說明該邊緣屬于噪聲,則將其從邊緣圖像中刪除;否則保留該條連續邊緣。
由于橢圓曲線屬于二次曲線的一種,本文使用二次曲線方程來表示橢圓方程,根據平面解析幾何可知,二次曲線方程可由下式表示:
A′x2+2B′xy+C′y2+2D′x+2E′y+F=0(1)
其中:(x,y)為橢圓上點的像素坐標;A′、B′、C′、D′、E′、F′分別是二次曲線方程的參數,若A′、B′、C′滿足式(2),則認為該二次曲線方程即表示橢圓方程。
B′2-A′C′<0(2)
將預處理后的邊緣圖像中各段連續邊緣li上的點代入式(1)中進行橢圓曲線擬合,可以獲得與連續邊緣li相對應的橢圓擬合參數Parami??紤]到圖像中可能存在易混淆的曲線特征,因此加入以下兩條判斷準則:
a)對于橢圓而言,橢圓曲線上點到兩個焦點的距離之和等于一個常數(該常數等于橢圓長軸值),假設擬合橢圓的兩個焦點為F1和F2, 長半軸等于a,則橢圓上的點p應滿足式(3):
|pF1|+|pF2|-2a=vi(3)
其中:vi為殘差,對于橢圓特征而言,殘差vi應等于0。本文采用如下的判斷式:
Err=vi/n(4)
其中:Err表示參與橢圓擬合的邊緣點的殘差平均值。對于不屬于橢圓特征的連續邊緣而言,Err值較大;而對于屬于橢圓特征的連續邊緣而言,Err相對較小。
b)平面橢圓曲線的長半軸和短半軸長度必須在一定的閾值范圍內。
按照上述方法和判別準則即可獲取圖像中的橢圓曲線方程。
1.2 基于分段立體匹配的平面圓三維重建
對于左圖橢圓曲線上的點pi,根據極線幾何原理,可以獲得pi在右圖上的右極線方程,該極線與右圖橢圓曲線相交于兩點,通過聯立右極線方程和橢圓曲線方程,可以得到交點pri1和pri2,這兩點就是pi在右圖上的同名點;如何在pri1和pri2中確定pi的匹配點是橢圓特征匹配的一個關鍵問題,也是一個難題。在立體視覺測量中兩個攝像機的光軸夾角一般不大,此時圖像極點的橫坐標值往往大于縱坐標值,而圖像上的極線更偏向于水平方向,所以當極線趨向于橢圓曲線上方區域和下方區域時,極線和橢圓曲線相交產生的兩個交點十分接近,單純采用極線約束和一致性原則進行立體匹配很容易引起匹配錯誤。
本文設計了一種專用于平面圓立體匹配的分段立體匹配算法。該算法避開容易引起錯誤匹配的區域,并將橢圓分為四條曲線,分段進行立體匹配,具體算法流程如下:
a)假設圖像行列方向分別為x軸和y軸,根據左圖中的擬合橢圓曲線,在列方向上定位最大值和最小值,記為y1和y2,并令d=| y1-y2|。
b)假設左圖中的擬合橢圓曲線中心的坐標為(xr,yr),則以y = yr+d/3和y = yr-d/3作為分界線,保留分界線內的橢圓曲線,分界線外的橢圓曲線認為是容易引起錯誤匹配的區域,將其刪除。此外,兩條分界線和左圖橢圓曲線相交于四點,分別記為q1、q2、q3和q4(圖1)。
c)在左圖中的橢圓曲線上,在行方向上從左到右定位橢圓上最左邊的點(x坐標最小),記為pl0,此時即可根據極線約束和左右序一致原理,將右極線和右圖橢圓曲線交點中x坐標小的點作為pl0的匹配點,記為pr0;同理,定位左圖橢圓曲線上的最右邊點pl1,以及對應的匹配點pr1。
d)根據q1、q2、q3、q4、pl0和pl1將橢圓曲線分為四段連續線段,四條連續線段的起止點分別為(pl0,q1),(pl0,q3),(pl1,q2)和(pl1,q4)。在這四條橢圓曲線段中,分別以pl0和pl1作為起始匹配標記點進行立體匹配,曲線段的具體匹配流程如圖2所示(以曲線段(pl0,q1)為例)。
按照上述四個步驟即可獲取平面圓曲線上大部分點的三維坐標。需要說明的是,雖然分段立體匹配算法并沒有最終解決平面圓中上下方區域中點匹配困難的問題,但是該方法卻可以避開匹配困難區域,保證了橢圓曲線上其他點的匹配正確性,使得最終仍然可以通過后續方法恢復出完整的平面圓特征,因此并不影響測量的最終結果。
2 平面圓尺寸參數精確測量算法
2.1 平面圓圓心三維坐標測量誤差分析
平面圓的圓心是一個重要的圓尺寸參數,在很多場合有著重要作用。根據上面論述可知,通過橢圓擬合算法可以獲得左右圖像中橢圓曲線的橢圓參數,在理想情況下,左右兩幅圖像上的橢圓曲線是相互對應的,它們都是平面圓在攝像機成像平面上的準確投影。為了獲取平面圓圓心的三維坐標,很多應用中往往認為左右圖像平面上的橢圓曲線中心構成一對匹配點,根據點的三維重建算法即可得到平面圓圓心的三維坐標。然而在實際測量中,該方法獲得的平面圓圓心只是對真實平面圓圓心的一種近似,存在一定的誤差和不確定性,而這是由所采用的相機成像模型所造成的。基于小孔模型的相機成像模型是一種透視投影變換模型,透視投影對于圓特征而言,并不是一種保形變換,只有當平面圓所在平面和相機成像平面平行時,利用左右圖像上橢圓曲線中心恢復獲得的平面圓圓心才是真實準確的。如果平面圓所在平面和相機成像平面不滿足平行關系,則圖像中橢圓曲線中心與平面圓圓心在相機成像平面上的實際成像點之間并不相同,如果不考慮兩者之間的區別從而混淆,必然引起后續的測量誤差。
此外,由平面解析幾何可知,平面曲線表示為兩個不同平面曲面的交線,無法用固定的解析公式表示,因此很難根據解析公式直接擬合平面圓方程,也就無法直接計算平面圓的尺寸參數。為了進一步提高平面圓圓心的定位精度和獲取高精度的平面圓尺寸參數,本文根據平面解析幾何原理,通過數學推導,提出一套完整的平面圓幾何尺寸精確測量方法。由于該方法中絕大部分步驟,包括坐標系建立、距離計算和坐標轉換都是通過解析幾何中的數學公式直接計算,具有確定性,該方法相對于優化方法有效地提高了測量精度。
2.2 平面圓參數精確測量算法
假設通過上述分段立體匹配算法獲得平面圓上大部分點的三維坐標,記為P1i=[X1i,Y1i,Z1i]T,則平面圓尺寸參數的具體測量算法如下:
a)由于平面圓位于某個平面上,利用平面圓上的三維點P1i進行擬合來獲得該平面的平面方程,獲得歸一化后的平面參數[A,B,C,1],將該擬合平面記為L0。
b)將平面圓上的三維點P1i投影到擬合平面L0上,并獲取投影點三維坐標。假設P2i=[X2i,Y2i,Z2i]T是P1i在擬合平面上投影點的坐標,為了計算投影點P2i的坐標,根據解析幾何理論可知,P1i和P2i兩點之間的向量與擬合平面的法向量平行,即
X2i=X1i+At
Y2i=Y1i+Bt
Z2i=Z1i+Ct(5)
其中:t表示直線標準方程中的等公比,因此式(5)表示由平面點P1i和P2i所構成平面直線的參數方程。此外,由于P2i位于擬合平面上,因此同時滿足:
AX2i+BY2i+CZ2i+1=0(6)
聯立式(5)和(6)即可獲得參數t,再代入式(5)即可獲得投影點P2i的三維坐標。
c)由于P2i在擬合平面L0上,且投影點構成的曲線特征反映了平面圓的形狀特征,可以在擬合平面內根據這些投影點進行圓擬合。根據擬合平面L0構建一個新坐標系O′X′Y′Z′,在新坐標系下,擬合平面L0上所有點的Z坐標為0,即Z′=0,如圖3所示。
構建新坐標系O′X′Y′Z′的步驟如下:
(a)計算過擬合平面L0上某個點且與擬合平面L0相互垂直的某個平面L1的平面方程。假設平面L1的平面法向量為[A1,B1,C1,D1],本文設置A1=-A,B1=2B,同時在擬合平面L0上取某平面點pt=[X0,Y0,Z0]T,根據平面相互垂直關系和平面的點法式方程,可得平面L1的平面方程參數為
A1=-A
B1=2×B
C1=-(A×A1+B×B1)/C
D1=-(A1×X0+B1×Y0+C1×Z0)(7)
(b)計算分別與擬合平面L0以及平面L1垂直,且過點pt的平面L2的平面方程。假設平面L2的平面法向量為[A2,B2,C2,D2],則同樣根據平面相互垂直關系和平面的點法式方程,可得平面L2的平面方程參數:
A2=B×C1-C×B1
B2=C×A1-A×C1
C2=A×B1-B×A1
D2=-(A2×X0+B2×Y0+C2×Z0)(8)
(c)根據上面步驟獲取擬合平面L0、平面L1和平面L2的平面方程參數后,可創建新的坐標系O′X′Y′Z′。具體做法為:將擬合平面L0作為O′X′Y′平面,平面L1作為O′X′Z′平面,平面L2作為O′Y′ Z′平面,這三個相互垂直的平面之間的兩兩交線構成了X′ 、Y′ 、Z坐標軸,且pt就是該坐標軸的原點。由于投影點P2i在O′X′Y′平面中,通過一定的轉換關系可以將OXYZ坐標系下P2i的三維坐標轉換為O′X′Y′平面坐標系下的平面坐標。假設O′X′Y′平面坐標系下點的平面坐標為(x′0, y′0),則通過平面解析幾何理論可知,投影點P2i到O′X′Z′平面的距離構成了新坐標系下O′X′Y′平面的y軸坐標,投影點P2i到O′Y′Z′平面的距離構成了新坐標系下O′X′Y′平面的x軸坐標,具體計算公式如(9)式所示。
x′i=(A2X2i+B2Y2i+C2Z2i+D2)/A22+B22+C22
y′i=(A1X2i+B1Y2i+C1Z2i+D1)/A12+B12+C12(9)
這樣即將平面圓上點P1i(在OXYZ坐標系下)轉換為O′X′Y′平面下的平面坐標P3i。
d)由于點P3i是平面圓上的點在其所在平面上的投影點,點P3i所構成的平面圓曲線真實地表現出平面圓的形狀特征。因此在O′X′Y′平面中利用點P3i進行圓擬合,進而獲取平面上圓的半徑值,該半徑即為平面圓的半徑。
然而,按照上述方法獲得的平面上圓的圓心坐標是在O′X′Y′Z′坐標系下的表示,因此還需要將該坐標重新轉換為OXYZ坐標系下的三維坐標表示。由于O′X′Y′Z′坐標系中的O′Y′Z′、O′X′Z′和O′X′Y′平面的法向量已知(在OXYZ坐標系下表示),分別為n1=[A2,B2,C2]T,n2= [A1,B1,C1]T和n3=[A,B,C]T,可以獲得其基本向量分別為
n1/|n1|=[A′2,B′2,C′2]T
n2/|n2|=[A′1,B′1,C′1]T
n3/|n3|=[A′,B′,C′]T(10)
根據平面解析幾何原理,假設平面上圓的圓心Oc′=[xc′,yc′]T,則可根據下式獲得平面圓圓心的三維坐標Oc=[XC,YC,ZC]T:
XC=A′2xc+A′1yc+X0
YC=B′2xc+B′1yc+Y0
ZC=C′2xc+C′1yc+Z0(11)
3 實驗
為了驗證本文提出算法的有效性,采用打印在紙上的模擬平面圓圖像作為實驗對象,模擬平面圓的真實圓心在設計過程中以十字標志標出。實驗中采用兩臺Canon數碼相機構成立體視覺傳感器,分辨率為2 048×1 536。圖4列出了實驗中的部分模擬平面圓圖像。
3.1 平面圓圓心測量實驗
對于每一組圖像,分別采用根據平面擬合橢圓中心計算平面圓圓心的方法以及本文算法來測量平面圓圓心的三維坐標。表1列出了采用這兩種方法對模擬平面圓圖像進行測量所獲得的平面圓圓心三維坐標以及與真實平面圓圓心之間的誤差。
表1模擬平面圓圓心的真實三維坐標是通過對圖像中的中心十字標記點進行三維重建后計算獲得,并認為該三維坐標代表著平面圓圓心的真實三維坐標。從表1中可以看出,由于圖像處理和三維重建等過程中的誤差造成本文方法獲得的平面圓圓心與真實圓心相比仍然存在著一定的誤差,但是相對于由平面擬合橢圓中心獲得平面圓圓心算法,本文方法獲得的圓心精度更高,更接近于實際平面圓圓心。
表1 兩種方法獲取平面圓圓心方法的試驗mm
視角圓心真實坐標本文算法誤差平面擬合橢圓中心算法誤差
1398.6168.33127.03398.8367.87126.310.88396.5366.79127.732.68
2208.12188.72109.25207.53188.51108.820.76206.63186.49107.373.28
3173.66118.01225.70173.13118.47225.350.78172.35117.29223.043.05
486.73113.6197.4186.26113.9797.610.6287.92112.0799.833.11
5263.1593.77162.84263.4594.16163.490.82263.9495.86160.413.30
3.2 平面圓半徑測量實驗
圖5是對部分模擬平面圓圖像進行三維重建后獲得的點云圖??梢钥闯?,雖然在分段立體匹配過程中忽略了部分橢圓曲線上的點(在圖5中表現為缺口),但是卻并不影響最終平面圓三維重建的效果。表2中列出了模擬平面圓的半徑參數測量結果。從表2中可以看出,利用本文方法獲得的圓半徑和真實平面圓的半徑相差不大,相對誤差小于0.5%,符合實際測量需要。
表2 平面圓半徑測量結果對比mm
圓圖像序號本文方法真實值
1199.2200
2159.5160
3120.4120
480.880
4 結束語
為了不受相機和平面圓測量對象之間位置關系的影響,從而準確獲取平面圓的圓心和半徑參數,本文提出一種基于立體視覺的平面圓參數高精度測量方法。該方法首先根據邊緣分組算法和二次曲線橢圓擬合判別算法提取出雙目圖像中的橢圓曲線;其次利用立體匹配算法獲取平面圓上點的三維坐標;最后通過三維平面擬合、坐標轉換、平面圓擬合算法以及坐標反變換獲取平面圓的圓心和半徑參數。實驗結果表明,該方法無須使相機垂直對準平面圓測量對象,并可有效減小平面圓透視投影引起的畸變誤差,提高平面圓參數的測量精度,能夠用于圓形目標參數的高精度測量。
參考文獻:
[1]
周富強,張廣軍,江潔.平面圓幾何參數的非接觸高精度測量方法[J].儀器儀表學報,2004,25(5):604-607.
[2]徐博.立體視覺平面圓檢測及其在曲軸紅套中的應用實驗研究[D].上海:上海交通大學,2008.
[3]魏振忠,張廣軍.視覺檢測中橢圓中心成像畸變誤差模型研究[J].北京航空航天大學學報,2003,29(2):140-143.
[4]魏振忠,張廣軍.透視投影變換中橢圓中心畸變誤差模型及其仿真研究[J].儀器儀表學報,2003,24(2):160-164.
[5]FENG Ju-fu,SHI Qing-yun,CHEN Min-de.New approach for quadric curves based stereo[C]//Proc of SPIE on Vision Geometry IV.1995:190-195.
[6]XU Chuan-xiang,SHI Qing-yun,CHENG Min-de.A global stereo vision method based on Wu-solver[C]//Proc of Europe-China Workshop on Geometrical Modeling and Invariants for Computer Vision.1995:198-205.