一种结构光视觉传感器的标定方法 【技术领域】
本发明属于测量技术领域,涉及对结构光三维视觉检测中传感器标定方法的改进。
背景技术
在诸多的视觉检测方法中,结构光三维视觉检测广泛地应用于工件的完整性、表面平整度的测量;微电子器件(IC芯片、PC板、BGA)等的自动检测;软质、易碎零部件的检测;各种模具三维形状的检测;机器人的视觉导引等。结构光视觉检测技术以其大量程、大视场、测量速度快、光条图像易于提取及较高精度等特点在工业环境中得到了愈来愈广泛的应用。结构光视觉传感器模型参数的有效标定方法一直是一个重要的研究内容。目前主要有以下方法:一是锯齿靶法。段发阶等在文章“一种新型线结构光传感器结构参数标定方法”(仪器仪表学报,Vol.21No.1,2000)及刘凤梅等在文章“利用齿形靶标标定线结构光传感器结构参数的新方法”(计量技术,No7.pp.3~6,1999)中陈述了这种方法。该方法的原理见图1。该方法主要是让光平面投射到锯齿状的靶标上,从而在齿棱上形成一些亮点作为标定点。此种方法存在如下问题:一是且因齿棱易反光,造成像点的提取精度较低。二是因亮点本身表现的一种光强分布,用电子经纬仪在空间中瞄准的亮点与图像中的亮点很难严格对应。三是因齿棱有限,获取地标定点数目少。另一种方法是一次交比不变法。1995年,清华大学的徐光祐等在文章“一种新的基于结构光的三维视觉系统标定方法”(计算机学报,Vol.18 No.6,1995)提出了利用一次交比不变性原理来获取标定点的方法,但是实现过于麻烦。1999年,D.Q.HUYNH在文章“线结构光系统的标定:一种新颖的方法”(Calibration a Structured Light Stripe System:A Novel Approach),计算机视觉国际期刊,第33卷,第1期,73~86页,1999年(InternationalJournal of Computer Vision,Vol.33 No.1,pp.73~86,1999)也提出了一种利用一次交比不变性原理的标定点获取方法,该方法使用了4组非共面点,每组3点且共线,由这些12个点利用一次交比不变性获取光平面上的4个点的三维坐标用于线结构光视觉传感器的标定。但这两者共同的问题是标定点数量还较少,因此标定精度还有待提高
【发明内容】
本发明所要解决的技术问题是:提供一种精度高,适合现场标定的结构光视觉传感器标定方法,进一步提高其标定精度,改善其工程化应用的便捷性。
本发明的技术解决方案是:一种结构光视觉传感器的标定方法,其特征在于,
(1)设定靶标,靶标由两个平面组成,其夹角θ为45°≤θ≤135°,两个靶标面上有预先设置的特征点,靶标面为下述结构之一:
A、靶标甲,在靶标面上有两列三行凸起的黑色的矩形块,每行中矩形块的数量为2~100个,矩形块的间距为10~200mm,每个矩形块的四个顶点为特征点;
B、靶标乙,在靶标面上有成矩阵排列的圆孔,圆孔的行数和列数为3~100个,采用圆孔的中心作为特征点;
C、靶标丙,在靶标面上有成矩阵排列的十字叉丝,十字叉丝行数和列数为3~100个,以十字叉丝的交叉点作为特征点;
(2)将传感器与靶标相距一定距离固定好,应保证传感器中激光器发射的光平面与两个靶标面相交;
(3)打开传感器中CCD摄像机的电源,采集标定靶标的一幅图像,存储到计算机中;
(4)对于靶标甲,提取靶标上黑色方块的所有顶点的二维像坐标(Xi,Yi)及其对应的三维物坐标(xwi,ywi,zwi),存储到计算机中;
(5)打开激光器的电源,使投射的结构光光平面与靶标两个平面相交形成两条结构光光条;
(6)提取结构光光条5与靶标体上黑色方块边缘的交点的二维像坐标(XLi,YLi),利用一次交比式r(Ai,Bi,Ci,Di)=r′(Ai′,Bi′,Ci′,Di′)计算像坐标(XLi,YLi)所对应的三维物坐标(xwLi,ywLi,zwLi)并存储,式中r(Ai,Bi,Ci,Di)表示Ai,Bi,Ci,Di四点的交比,r′(Ai′,Bi′,Ci′,Di′)表示Ai′,Bi′,Ci′,Di′四点的交比;
(7)在结构光光条上任意取一点,提取其像坐标(XLi,YLi),结合一次交比求得的三维物坐标(xwLi,ywLi,zwLi),利用双重交比不变式r(D1,D2,D3,D4)=r′(D1′,D2′,D3′,D4′)来求取该点的三维物坐标并存储;
(8)重复(7)的工作,可以得到所需的任意数量的结构光光平面上点的三维物坐标及其对应的二维像坐标;
(9)利用(4)中获取的顶点,对式
ω·Xω·Yω=f0000f000010Rt0T1·xwywzw1]]>进行标定,获得R和t,式中ω表示一比例常数,f表示CCD摄像机的有效焦距,R为3×3的旋转矩阵,t为3×1的平移矢量;
(10)利用(6)、(7)、(8)中获取的结构光光平面上的点对下式a·xw+b·yw+c·zw+d=0进行标定,获得a,b,c,d,式中(a,b,c,d)表示光平面方程的系数及常数项。
本发明方法的优点是:本方法基于双重交比不变原理,对结构光视觉传感器进行标定,与现有的结构光视觉传感器的标定方法相比,本方法的标定点精度高、数量可任意多,标定的三个传感器的测量精度高分别可达0.1453mm、0.1524mm和0.1496mm。本方法适合现场标定。
【附图说明】
图1是现有的锯齿靶法原理示意图。图中,1是锯齿靶,2是激光投射器,3是CCD摄像机。
图2是交比不变原理示意图。
图3是本发明方法一种标定靶标结构示意图。图中4是标定靶标体,5是结构光光条。
图4是本发明方法第二种标定靶标结构示意图。图中6是标定靶标体,7是结构光光条。
图5是本发明方法第三种标定靶标结构示意图。图中8是标定靶标体,9是结构光光条。
图6是结构光视觉传感器的实物图,图中10是传感器壳体,11是CCD视窗,12是激光器出射口。
【具体实施方式】
下面对本发明方法做进一步详细说明。本发明方法首次基于双重交比不变原理,对结构光视觉传感器进行了标定。本方法能够获得结构光光平面上所需任意数量的高精度的三维物点坐标,用于传感器的标定。首先简要说明双重交比不变的原理。在透视投影变换下,长度以及长度之间的比率是可以改变的,但两个关于长度的比率之间的比值具有不变性。如图2所示,平面π1上有三条非重合直线AiBiCi(i=1,2,3),直线D1D2D3与这三条直线分别交于点D1、D2、D3。通过透视投影中心o,它们在平面π2上的像分别为Ai′Bi′Ci′和D1′D2′D3′。根据透视投影定理,直线经过透视投影变换仍然为直线。因此点Ai′、Bi′、Ci′、Di′(i=1,2,3)共线。共线四点的交比定义为:r(A,B,C,D)=ACCB/ADDB---(1)]]>
根据透视投影变换下交比不变原理,有下式成立:
r(Ai,Bi,Ci,Di)=r′(Ai′,Bi′,Ci′,Di′) (2)
在点Ai、Bi、Ci的坐标及点Ai′、Bi′、Ci′、Di′的坐标已知的条件下,利用式(2)可获得Di的坐标。这样可分别获得点D1、D2、D3的坐标。
在直线D1D2D3上任取一点D4,对应O点的透视投影点为D4′。再次利用交比不变原理,有:
r(D1,D2,D3,D4)=r′(D1′,D2′,D3′,D4′) (3)
由式(2)一次交比不变可获得点D1,D2,D3的坐标,在其对应的像点D1′,D2′,D3′的坐标及点D4′的坐标已知的条件下,则再次利用交比不变式(3)可求出D4的坐标。依此类推,可获取直线D1D2D3上任意一点的坐标。本文把交比的上述特性称为双重交比不变性。
结构光视觉传感器的数学模型。
结构光视觉传感器的数学的透视投影模型由两部分组成:摄像机的透视投影成像模型和结构光光平面方程。
根据摄像机针孔成像原理及透视投影变换原理,摄像机的透视投影成像模型可描述如下:
ω·Xω·Yω=f0000f000010Rt0T1·xwywzw1---(4)]]>
其中R=r1r2r3r4r5r6r7r8r9]]>为旋转矩阵,t=txtytz]]>为平移矢量,ω为比例因子,是一常数。
光平面方程的方程可描述为:a·xw+b·yw+c·zw+d=0 (5)
式(4)和式(5)构成了结构光视觉传感器一完整的数学模型。根据这一模型,结构光视觉传感器的标定分为两步:一是摄像机成像模型参数R和t的标定,二是结构光光平面方程的标定。求解式(4)中的R和t至少需要6个非共面的三维世界点及其对应的二维像点;确定式(5)至少需要光平面上的3个非共线的三维物点。为了提高标定的精度,往往需要获取更多的高精度标定点。
本发明方法的具体步骤如下:
(1)设定靶标,靶标由两个平面组成,其夹角θ为45°≤θ≤135°,两个靶标面上有预先设置的特征点,靶标面为下述结构之一:
A、靶标甲,在靶标面上有两列三行凸起的黑色的矩形块,每行中矩形块的数量为2~100个,矩形块的间距为10~200mm,每个矩形块的四个顶点为特征点;
B、靶标乙,在靶标面上有成矩阵排列的圆孔,圆孔的行数和列数为3~100个,采用圆孔的中心作为特征点;
C、靶标丙,在靶标面上有成矩阵排列的十字叉丝,十字叉丝的行数和列数为3~100个,以十字叉丝的交叉点作为特征点;
(2)将传感器与靶标相距一定距离固定好,应保证传感器中激光器发射的光平面与两个靶标面相交;
(3)打开传感器中CCD摄像机的电源,采集标定靶标的一幅图像,存储到计算机中;
(4)对于靶标甲,提取靶标上黑色方块的所有顶点的二维像坐标(Xi,Yi)及其对应的三维物坐标(xwi,ywi,zwi),存储到计算机中;
(5)打开激光器的电源,使投射的结构光光平面与靶标两个平面相交形成两条结构光光条;
(6)提取结构光光条5与靶标体上黑色方块边缘的交点的二维像坐标(XLi,YLi),利用一次交比式r(Ai,Bi,Ci,Di)=r′(Ai′,Bi′,Ci′,Di′)计算像坐标(XLi,YLi)所对应的三维物坐标(xwLi,ywLi,zwLi)并存储,式中r(Ai,Bi,Ci,Di)表示Ai,Bi,Ci,Di四点的交比,r′(Ai′,Bi′,Ci′,Di′)表示Ai′,Bi′,Ci′,Di′四点的交比;
(7)在结构光光条上任意取一点,提取其像坐标(XLi,YLi),结合一次交比求得的三维物坐标(xwLi,ywLi,zwLi),利用双重交比不变式r(D1,D2,D3,D4)=r′(D1′,D2′,D3′,D4′)来求取该点的三维物坐标并存储;
(8)重复(7)的工作,可以得到所需的任意数量的结构光光平面上点的三维物坐标及其对应的二维像坐标;
(9)利用(4)中获取的顶点,对式
ω·Xω·Yω=f0000f000010Rt0T1·xwywzw1]]>进行标定,获得R和t,式中ω表示一比例常数,f表示CCD摄像机的有效焦距,R为3×3的旋转矩阵,t为3×1的平移矢量;
(10)利用(6)、(7)、(8)中获取的结构光光平面上的点对下式a·xw+b·yw+c·zw+d=0进行标定,获得a,b,c,d,式中(a,b,c,d)表示光平面方程的系数及常数项。
实施例
实际设计的结构光视觉传感器的实物如图6所示。10为传感器的壳体,11为CCD观察景物的窗口,12为激光器的出射口。传感器中CCD和激光器的位置不同,其参数也不同。
按照上面叙述的步骤,利用图3所示的靶标(θ=90°)对三个具体的传感器进行了标定。
传感器一:
·摄像机透视投影成像模型参数
R=0.1358320.1717880.9757250.843045-0.537361-0.0227530.5204080.825670-0.217816t=-61.971298.464447601.586335]]>
·结构光平面方程系数
[a b c d]=[-0.000769 0.056868 -0.584231 10.404217]。
该标定的传感器重构三维物坐标的重复性测试误差分别为:
3σxw=0.021mm,3σyw=0.0345mm,3σzw=0.0033mm]]>
测量空间中两点间距离的RMS误差为:ERMS=0.1453mm。
传感器二:
·摄像机透视投影成像模型参数:
R=0.2120290.1510300.9655220.713005-0.699573-0.0471470.6683320.698418-0.256015]]>
t=-68.0963256.559659609.599409]]>
·结构光平面方程系数
[a b c d]=[-0.00848 10.022128 -0.271455 7.8725557]。
该标定的传感器重构三维物坐标的重复性测试误差分别为:
3σxw=0.027mm,3σyw=0.0445mm,3σzw=0.0036mm]]>
测量空间中两点间距离的RMS误差为:ERMS=0.1524mm
传感器三:
·摄像机透视投影成像模型参数
R=0.3081630.227037-0.923907-0.6653530.745312-0.038520-0.679944-0.626832-0.380535]]>
t=47.8890890.686364583.643174]]>
·结构光平面方程系数
[α b c d]=[-0.013647 -0.013292 -0.190761 19.329410]。
该标定的传感器重构三维物坐标的重复性测试误差分别为:
3σxw=0.032mm,3σyw=0.0313mm,3σzw=0.00428mm]]>
测量空间中两点间距离的RMS误差为:ERMS=0.1496mm。