基于立体视觉和激光的车辆轮距测量方法

文档序号:6125007阅读:1949来源:国知局
专利名称:基于立体视觉和激光的车辆轮距测量方法
技术领域
本发明属于视觉测量技术领域,尤其涉及一种基于立体视觉和激光的车辆轮距测量方法。
背景技术
国标《汽车和挂车的术语及其定义车辆尺寸》(GB/T 3730.3-1992)轮距的定义为,假设A和B两点为通过同一轴上两端车轮轴线的车辆支承平面W的垂面同车轮中心平面的交线A与车辆支承平面W的交点,则A和B两点之间的距离就是车辆轮距。其中车辆支承平面W是用于支承车轮的平坦、坚实的水平面。车辆轮距示意图如图1所示,图中L即表示车辆的轮距。
目前,车辆轮距测量的方法主要分为3种类别。第一种方法就是采用人工手动测量的方法,在轮胎上涂抹黑色染料,然后在白纸上行使一段距离,然后根据留在白纸上的轮胎黑色印记分别测量左右轮胎的中心线,然后人工拉卷尺进行测量。这种方法显然费工费力,而且测量精度低,且重复性精度不高。第二种方法是采用专用车辆四轮定位装置进行测量,由于目前国内外很多专业的四轮定位仪器都提供了车辆轮距测量的功能,因此,采用专用四轮定位装置即可较高精度获取车辆轴距。然而采用车辆四轮定位装置进行轮距测量,需要一套复杂的测量机构,每次测量都要对测量仪器进行安装,测量过程复杂且自动化程度不高。第三种利用激光发射接收的原理进行轮距测量,该方法的基本原理就是利用车辆左前轮和右前轮到达不同激光器之间的时间差来计算车辆的轮距。该方法需要额外的传感器来测量车辆行驶的速度,时间,还要事先标定传感器和车辆之间的角度,因此测量结构较为复杂,最终测量结构收到很多其他因素影响。此外,该方法的测量原理决定了最终获得的车辆轮距精度较低,且不同类型轮胎对其测量精度有较大影响。
因此,研究一种自动化程度高,测量准确的车辆轮距参数测量系统,对提高车辆检测手段、促进高性能车辆的研制、缩短国内外差距具有积极的影响。

发明内容
本发明提供一种基于立体视觉和激光的车辆轮距测量方法,本发明具有测量精度高,测量自动化程度高以及测量过程简单方便等优点。
本发明采用如下技术方案一种基于立体视觉和激光的车辆轮距测量方法,采用立体视觉激光测量系统获取测量用参数,该立体视觉激光测量系统包括用于拍摄车辆的左车轮外侧区域和右车轮内侧区域的由第一相机(1)和第二相机(2)组成的相机单元、用于拍摄辆的右车轮外侧区域和左车轮内侧区域的由第三相机(3)和第四相机(4)组成的另一相机单元及激光器,再用立体靶标对上述4台相机进行内、外参数标定,其特征在于步骤1用平面拟合的方法得到车辆支承平面W的平面方程参数(A0,B0,C0,D0),并由此得到车辆支承平面W的平面方程A0X+B0Y+C0Z+D0=0。
步骤2用胎冠切点测量方法获取车轮外侧胎冠上处于不同位置的3个及以上数量的切点,记为pi,上述胎冠切点测量方法为激光器以垂直轮胎外侧面的方向,向车轮外侧胎冠上投射一条径向激光条纹,用一组相机单元中的相机分别拍摄该条径向激光条纹,并分别保存彩色图像,利用图像处理算法,从图像中提取各自的径向激光条纹,该图像处理算法采用1)从图像中提取可能含有激光条纹目标区域的图像,对该可能含有激光条纹目标区域的图像进行二值化处理,得到二值化图像。
2)在二值化图像中,找出一个目标像素,并对其标记,再将其置于先入先出的堆栈中。
3)从先入先出的堆栈中取出一个目标像素,在二值化图像中的该目标像素周围5×5邻域中,再次寻找未标记的目标像素,对此次找出的目标像素进行标记,并将其置于先入先出的堆栈中。
4)按步骤3)所述,遍历先入先出堆栈中的各个目标像素。
5)对步骤4)所得的目标像素进行噪声判断,将总数量小于阈值T的步骤4)所得的目标像素作为噪声并将其颜色改为背景色;反之,将步骤4)所得的目标像素作为一类可能的激光条纹目标上的点,予以保存,并将其颜色改为背景色,上述阈值T=150。
6)重复步骤2)~步骤5),得到各类可能的激光条纹目标上的点,并分别予以保存。
7)分别利用各类可能的激光条纹目标上的点,进行二次曲线拟合,该二次曲线方程形式为ax2+bx+c=y,通过SVD分解(奇异值分解),得到曲线拟合参数a、b、c。计算由各类可能的激光条纹目标上的点拟合得到的二次曲线的平均曲线拟合误差erri,erri=(Σj=1n|aixij2+bixij+ci-yij|)/n]]>其中i为可能的激光条纹目标的序号,j为可能的激光条纹目标上的点的序号,ai,bi,ci表示由各类可能的激光条纹目标上的点拟合得到的二次曲线参数,xij,yij表示各类可能的激光条纹目标上的点的坐标。
8)将最小平均曲线拟合误差erri对应的一类点所在的目标作为激光条纹目标区域,再在激光条纹目标区域内进行条纹细化和短枝处理,即可获取激光条纹。
此后,根据立体视觉中的极线几何约束,左右互对应约束对图像中提取后的激光条纹上点进行匹配,并且对激光条纹上的点进行三维重建,得到激光条纹上的空间点的三维坐标,利用激光条纹上的空间点拟合得到激光条纹所在空间平面S,再将激光条纹上的空间点Pi向拟合平面S投影,利用直线参数方程计算得到投影点P’i。建立一个新坐标系O’X’Y’Z’,该坐标系以拟合平面S为O’X’Y’平面,以与拟合平面S垂直的平面P1为O’X’Z’平面,以与拟合平面S以及平面P1都垂直的平面P2为O’Y’Z’平面,对投影点P’i进行坐标变换,得到投影点P’i在新坐标系O’X’Y’Z’下相应点Q’i的坐标为(xi’,yi’,0),该相应点Q’i在O’X’Y’平面坐标系下的平面坐标则为(xi’,yi’),再用上述相应点Q’i(xi’,yi’)进行平面三次曲线的拟合,该三次曲线方程为y=a1x3+b1x2+c1x+d1经求导、计算后,得到O’X’Y’平面中的拟合三次曲线极值点坐标(x0’,y0’),最后通过坐标变化将新坐标系O’X’Y’Z’下极值点坐标(x0’,y0’,0)转换为在世界坐标系OXYZ下的坐标(X0’,Y0’,Z0’),并将(X0’,Y0’,Z0’)对应的点作为胎冠上激光条纹最外侧点,该胎冠上激光条纹最外侧点为轮胎胎冠的切点,再根据车轮外侧胎冠上处于不同位置的3个及以上的切点,拟合车轮外侧切平面P,步骤3用步骤2所述胎冠切点测量方法获得车轮内侧胎冠上的一个切点p1,再向车轮外侧切平面P投影,得到该切点p1的投影点p2,求取p1与p2的中点p3,并将该中点p3作为轮胎中心面上的一点,将轮胎中心面作为车轮外侧切平面的平行面,利用空间几何关系,得到轮胎中心面的平面C1的方程。
步骤4求取轮胎中心面的平面C1与车辆支承平面W的左交线e1;重复步骤2~4,得到另一车轮的轮胎中心面的平面C2与车辆支承平面W的右交线e2;最后,计算左交线e1与右交线e2之间的距离,并以此距离作为车辆轮距。
与现有技术相比,本发明具有如下优点(1)本发明采用数码相机作为拍摄工具,利用其高像素和高分辨率的特点,有效增加了视野,从而从硬件上保证了整个测量系统的高精度;(2)基于四轮定位仪的轮距测量装置和基于激光发射接收的轮距测量装置在对每辆被测车辆进行测量时,都要进行一次仪器安装调整或仪器标定,费时费力。而本发明中采用四个数码相机和四个激光器即可完成对车辆轮距的测量,对于普通车辆的测量,只需一次标定过程,后续测量类似车辆时无需再次进行标定,大大提高了测量效率。
(3)本发明中提出的车辆轮距测量方法基于多个近似的前提条件,这些前提条件简化了测量方法和过程。虽然基于激光发射接收的轮距测量方法也对车轮结构进行了近似处理,它在近似关系中完全忽略了车轮外胎的弧形曲面和车轮外胎面宽度,因此测量误差较大。本发明从数学方法上提出近似关系,这些近似关系确实是反映了实际车辆的结构关系,在保证最终测量结果高精度的同时,大大简化了测量原理和测量步骤。
(4)与现有技术相比,本发明提出的轮距测量装置在测量过程中无需人工干预,采用相机自动拍摄激光条纹图像,通过图像处理算法,自动获取激光条纹目标,并通过一系列的视觉处理算法和坐标转换原理,即可自动完成对车辆轮距的自动测量,因此自动化程度高。


图1是国标中车辆轮距示意图。
图2是基于立体视觉和激光的轮距测量结构示意图。
图3(a)是立体靶标的正面靶标示意图,图3(b)是立体靶标的背面靶标示意图。
图4是车辆轮距测量流程示意图。
图5是车辆支承平面W计算流程示意图。
图6是车辆支承平面W计算所用棋盘靶标示意图。
图7是车轮胎冠切点获取流程示意图。
图8是车轮胎冠上投射的激光条纹示意图。
图9是激光条纹自动提取算法流程示意图。
具体实施例方式
一种基于立体视觉和激光的车辆轮距测量方法,采用立体视觉激光测量系统获取测量用参数,该立体视觉激光测量系统包括用于拍摄车辆的左车轮外侧区域和右车轮内侧区域的由第一相机(1)和第二相机(2)组成的相机单元、用于拍摄辆的右车轮外侧区域和左车轮内侧区域的由第三相机(3)和第四相机(4)组成的另一相机单元及激光器,再用立体靶标对上述4台相机进行内、外参数标定,其特征在于步骤1用平面拟合的方法得到车辆支承平面W的平面方程参数(A0,B0,C0,D0),并由此得到车辆支承平面W的平面方程A0X+B0Y+C0Z+D0=0。
步骤2用胎冠切点测量方法获取车轮外侧胎冠上处于不同位置的3个及以上数量的切点,记为pi,上述胎冠切点测量方法为激光器以垂直轮胎外侧面的方向,向车轮外侧胎冠上投射一条径向激光条纹,用一组相机单元中的相机分别拍摄该条径向激光条纹,并分别保存彩色图像,利用图像处理算法,从图像中提取各自的径向激光条纹,该图像处理算法采用1)从图像中提取可能含有激光条纹目标区域的图像,对该可能含有激光条纹目标区域的图像进行二值化处理,得到二值化图像。
2)在二值化图像中,找出一个目标像素,并对其标记,再将其置于先入先出的堆栈中。
3)从先入先出的堆栈中取出一个目标像素,在二值化图像中的该目标像素周围5×5邻域中,再次寻找未标记的目标像素,对此次找出的目标像素进行标记,并将其置于先入先出的堆栈中。
4)按步骤3)所述,遍历先入先出堆栈中的各个目标像素。
5)对步骤4)所得的目标像素进行噪声判断,将总数量小于阈值T的步骤4)所得的目标像素作为噪声并将其颜色改为背景色;反之,将步骤4)所得的目标像素作为一类可能的激光条纹目标上的点,予以保存,并将其颜色改为背景色,上述阈值T=150。
6)重复步骤2)~步骤5),得到各类可能的激光条纹目标上的点,并分别予以保存。
7)分别利用各类可能的激光条纹目标上的点,进行二次曲线拟合,该二次曲线方程形式为ax2+bx+c=y,通过SVD分解(奇异值分解),得到曲线拟合参数a、b、c。计算由各类可能的激光条纹目标上的点拟合得到的二次曲线的平均曲线拟合误差erri,erri=(Σj=1n|aixij2+bixij+ci-yij|)/n]]>其中i为可能的激光条纹目标的序号,j为可能的激光条纹目标上的点的序号,ai,bi,ci表示由各类可能的激光条纹目标上的点拟合得到的二次曲线参数,xij,yij表示各类可能的激光条纹目标上的点的坐标。
8)将最小平均曲线拟合误差erri对应的一类点所在的目标作为激光条纹目标区域,再在激光条纹目标区域内进行条纹细化和短枝处理,即可获取激光条纹。
此后,根据立体视觉中的极线几何约束,左右互对应约束对图像中提取后的激光条纹上点进行匹配,并且对激光条纹上的点进行三维重建,得到激光条纹上的空间点的三维坐标,利用激光条纹上的空间点拟合得到激光条纹所在空间平面S,再将激光条纹上的空间点Pi向拟合平面S投影,利用直线参数方程计算得到投影点P’i。建立一个新坐标系O’X’Y’Z’,该坐标系以拟合平面S为O’X’Y’平面,以与拟合平面S垂直的平面P1为O’X’Z’平面,以与拟合平面S以及平面P1都垂直的平面P2为O’Y’Z’平面,对投影点P’i进行坐标变换,得到投影点P’i在新坐标系O’X’Y’Z’下相应点Qi的坐标为(xi’,yi’,0),该相应点Q’i在O’X’Y’平面坐标系下的平面坐标则为(xi’,yi’),再用上述相应点Q’i(xi’,yi’)进行平面三次曲线的拟合,该三次曲线方程为y=a1x3+b1x2+c1x+d1经求导、计算后,得到O’X’Y’平面中的拟合三次曲线极值点坐标(x0’,y0’),最后通过坐标变化将新坐标系O’X’Y’Z’下极值点坐标(x0’,y0’,0)转换为在世界坐标系OXYZ下的坐标(X0’,Y0’,Z0’),并将(X0’,Y0’,Z0’)对应的点作为胎冠上激光条纹最外侧点,该胎冠上激光条纹最外侧点为轮胎胎冠的切点,再根据车轮外侧胎冠上处于不同位置的3个及以上的切点,拟合车轮外侧切平面P,步骤3用步骤2所述胎冠切点测量方法获得车轮内侧胎冠上的一个切点p1,再向车轮外侧切平面P投影,得到该切点p1的投影点p2,求取p1与p2的中点p3,并将该中点p3作为轮胎中心面上的一点,将轮胎中心面作为车轮外侧切平面的平行面,利用空间几何关系,得到轮胎中心面的平面C1的方程。
步骤4求取轮胎中心面的平面C1与车辆支承平面W的左交线e1;重复步骤2~4,得到另一车轮的轮胎中心面的平面C2与车辆支承平面W的右交线e2;最后,计算左交线e1与右交线e2之间的距离,并以此距离作为车辆轮距。
下面对本发明做更为具体的描述由于国标中对车辆轮距的定义较为复杂,在实际测量过程中难以实现,因此本发明采用间接测量方法,通过对其它参数(胎冠切点,车辆支承平面等)的测量从而实现了对轮距进行自动测量。本发明采用Canon A75数码相机(300百万像素,分辨率为2048×1536)作为拍摄工具,如图2所示,图中11,12,21,22分别表示相机1,相机2,相机3和相机4,图中的31,32,33,34分别代表激光器1,激光器2,激光器3和激光器4,图中的A和B分别代表左边轮胎和右边轮胎,图中的1表示由相机1和相机2构成基本测量单元1,图中的2表示相机3和相机4构成基本测量单元2。相机1和相机2拍摄右车轮外侧区域和左车轮内侧区域,相机3和相机4拍摄左车轮外侧区域和右车轮内侧区域。激光器1和激光器2分别负责向左右车轮外侧胎冠上投射激光条纹,而激光器3和激光器4分别负责向左右车轮内侧胎冠上投射激光条纹。
在开始测量之前,必须对数码相机进行标定,得到相机的内外参数,建立构成基本测量单元的两个相机之间以及两个基本测量单元之间的坐标转换关系。本发明中采用张正友提出的基于平面模板的高精度相机标定算法(《A Flexible NewTechnique for Camera Calibration》,Pattern Analysis and Machine Intelligence,IEEE Transactions on,2000,11(22)1330-1334)进行单个相机内外参数的标定,标定后可以得到三个矩阵参数A,R和T,其中A代表相机的内参数矩阵,R代表相机相对于靶标坐标系的旋转矩阵,T代表相机相对于靶标坐标系的平移矩阵,令M=A[R T],称之为相机的投影矩阵。
本发明中采用如图3所示的立体靶标,立体靶标中正面和背面各自存在一个棋盘图像靶标,图3中的331表示立体靶标的正面,O1X1Y1Z1构成正面靶标坐标系,332表示立体靶标的背面,O2X2Y2Z2构成背面靶标坐标系。假设相机1和相机2利用正面靶标进行标定,分别得到投影矩阵M1和M2,相机3和相机4利用背面靶标进行标定,分别得到投影矩阵M3和M4。在张正友的基于平面模板的标定算法中,规定了世界坐标系是建立在靶标上的,称之为靶标坐标系(具体坐标系定义参见《A Flexible New Technique for Camera Calibration》和图3),因此在基本测量单元1中,由相机1和相机2计算得到空间点的三维坐标是基于正面靶标坐标系O1X1Y1Z1表示的,而在基本测量单元2中,由相机3和相机4计算得到空间点的三维坐标是基于背面靶标坐标系O2X2Y2Z2表示的。为了实现最终测量结果的统一,必须将两个不同的靶标坐标系统一到一个公共坐标系下。对于本发明中所采用的图3所示的立体靶标而言,正面和背面两个平面之间相距400mm,每个靶标上的方块大小为30mm×30mm,每个方块间距20mm,每行8个方块,每列也是8个方块,共64个方块,正面靶标坐标系原点(0,0,0)在背面靶标坐标系下的坐标为(380,0,400),所以对于正面靶标坐标系而言,可以认为是将背面坐标系原点(0,0,0)平移到背面靶标坐标系原点(380,0,400),然后旋转180度变换而来得,利用矩阵表示为R0=-10001000-1]]>T0=3800400]]>假设某一点b在正面靶标坐标系下的坐标表示为b1=[Xb1,Yb1,Zb1]T,背面靶标坐标系下表示为b2=[Xb2,Yb2,Zb2]T,则b1和b2之间转换关系为b1=R0×b2+T0。这样,利用R0和T0,即可将某个点在背面靶标坐标系下的坐标数值转换为在面正靶标坐标系下的坐标数值,从而将两个坐标系统一起来。在本发明中,基本测量单元1和基本测量单元2使用立体靶标中的正面靶标坐标系作为公共坐标系,将其定义为世界坐标系OXYZ。
为了简化轮距测量的复杂性,本发明假设同一轴上左右车轮存在如下近似关系(1)车轮胎压充足时,车轮的轮胎中心面,轮胎外侧切平面和轮胎内侧切平面三个平面之间是近似平行关系;(2)车轮的轮胎中心面和轮胎外侧切平面,以及和轮胎内侧切平面之间距离近似相等;(3)车轮存在轻微外倾时,同一轴上左右车轮的轮胎中心面之间不再保持平行关系,但是它们和车辆支承平面之间的交线仍然保持近似平行关系;基于上述三个假设,本发明对车辆轮距进行一个简单定义,即假设l1和l2分别表示同一轴上左右车轮的轮胎中心面同车辆支承平面W的交线,则轮距就等于l1和l2这两条近似平行线之间的距离。可见,轮距测量中牵涉到了轮胎中心面的测量,从近似关系(1)和(2)中可知,轮胎中心面和轮胎内外侧切平面之间又有着直接关系。本发明中轮距测量方法如下,流程如图4所示步骤1用平面拟合的方法得到车辆支承平面W的平面方程参数(A0,B0,C0,D0),并由此得到车辆支承平面W的平面方程A0X+B0Y+C0Z+D0=0。
步骤2获取车轮外侧胎冠上处于不同位置的3个及以上数量的切点,记为pi=[xi,yi,zi]T(后面将说明获取3个及以上数量的切点的原因)。由于切平面属于空间平面,因此这里采用归一化平面方程来表示切平面P的方程,归一化平面方程形式为APX+BPY+CPZ+1=0,其中AP,BP,CP表示切平面P的平面方程参数。由于切平面由切点pi构成,因此将切点pi坐标代入归一化平面方程中,生成如下的方程组x1y1z11x2y2z21············xnynzn1APBPCP1=0---(1)]]>从(1)式中可以看到,方程组中有AP,BP和CP三个未知数,根据线性代数原理可知,至少需要三个线性无关的方程进行求解,即至少需要3个不在同一直线上的点才能求解,因此需要获取车轮胎冠上处于不同位置的至少3个切点。采用SVD分解算法(奇异值分解)求解如上所示的方程组,即可求出轮胎外侧切平面P的平面方程。
步骤3获取车轮内侧胎冠上的一个切点p1=[x,y,z]T,将其投影到切平面P上,获得投影点p2=[x’,y’,z’]T,根据解析几何原理可知,p1和p2两点之间的向量和投影平面的法向量相互平行,这里投影平面即是指轮胎外侧切平面P,因此它们满足如下等式x′=x+APty′=y+BPtz′=z+CPt---(2)]]>其中,t表示直线标准方程中的等公比,因此上式表示由点p1和p2构成的直线参数方程。由于p2在切平面P上,因此满足下列方程式APx′+BPy′+CPz′+1=0将(2)式代入(3)式中,求解整理后可得t=-APx+BPy+CPz+1AP2+BP2+CP2---(3)]]>将t的表达式代入(2)式中计算,即可得到投影点p2的坐标值x′=BP2x+CP2x-APBPy-APCPz-AAP2+BP2+CP2y′=AP2y+CP2y-APBPx-BPCPz-BPAP2+BP2+CP2z′=AP2z+BP2z-APCPx-BPCPy-CPAP2+BP2+CP2---(4)]]>步骤4求取p1与p2的中点,记为p3=[x”,y”,z”]T,并将该中点p3作为轮胎中心C1一点,可以认为此时p3为轮胎中心面上一点,根据近似关系(1)可知,轮胎中心面同车轮外侧切平面近似平行,因此利用空间几何的点法式方程,即可得到轮胎中心面C1的平面方程,其平面方程的参数为(AC1,BC1,CC1,DC1)AC1=APBC1=BPCC1=CPDC1=-APX′′-BPY′′-CPZ′′---(5)]]>步骤5假设轮胎中心平面和车辆支承平面交线的方向向量为(l1,m1,n1),根据空间解析几何可知,(l1,m1,n1)和轮胎中心面的法向量(AC1,BC1,CC1),以及车辆支承平面W的法向量(A0,B0,C0)互相垂直,因此(l1,m1,n1)=(AC1,BC1,CC1)(A0,B0,C0),其中“”符号表示叉乘运算。这样即可得到交线的方向向量(l1,m1,n1)。
步骤6重复步骤2-步骤5获得另一车轮的轮胎中心平面C2与车辆支承平面W的交线e2,交线e2的方向向量为(l2,m2,n2)。假设存在两个平面F1和F2,F1和F2表示分别过交线e1和交线e2,且垂直于车辆支承平面W的平面。基于近似关系(3),交线e1和交线e2之间是近似平行关系,则平面F1和平面F2之间也是近似平行关系,因此交线e1和交线e2之间的距离等于平面F1和平面F2之间的距离。利用空间几何原理,可以得到平面F1和平面F2的法向量,法向量参数分别记为(AF1,BF1,CF1)和(AF2,BF2,CF2)(AF1,BF1,CF1)=(l1,m1,n1)(A0,B0,C0) (6)(AF2,BF2,CF2)=(l1,m1,n1)(A0,B0,C0) (7)假设(Ce1,Ye1,Ze1)和(Xe2,Ye2,Ze2)分别是交线e1和交线e2上的某一点的坐标值,则利用空间平面点法式方程即可得到平面F1和平面F2的平面方程参数(AF1,BF1,CF1,DF1)和(AF2,BF2,CF2,DF2)。其中DF1和DF2分别为DF1=-AF1Xe1-BF1Ye1-CF1Ze1(8)DF2=-AF2Xe2-BF2Ye2-CF2Ze2(9)本发明采用一种多点平均的方法计算平面F1和平面F2之间的距离。假设f1i是交线e1上点(共N1个),f2i是交线e2上的点(共N2个),按照步骤3中投影点计算方法得到f1i在平面F2上的投影点,记为f’1i;同理,得到f2i在平面F1上的投影点,记为f’2i则存在如下等式 =Σi=1N1||f1i-f1i′||+Σi=1N2||f2i-f2i′N1+N2---(10)]]>上述步骤1-步骤6的流程即为车辆轮距的主要测量流程,从上述流程中可以看出,在轮距测量过程中关键在于两个部分,一部分是车辆轮胎外侧和内侧胎冠上切点的获取,另一部分是车辆支承平面W的计算。以下将针对这两方面进行详细阐述。
首先,获取车辆支承平面W。为了简化处理,假设车辆支承平面W是一种完全理想的平面,基于此假设,本发明采用如下的车辆支承平面W计算方法,流程如图5所示步骤1由于无法直接获取车辆支承平面W,因此本发明采用一种间接方法。图6所示是一个摄像机标定用的平面棋盘靶标示意图,该靶标图像可以通过计算机软件绘制,将图像打印出来后贴在一个近似理想的平板上(平板具有一定的厚度),将该平面靶标平放在车辆支承平面W上,可以认为此时靶标所在的平面和车辆支承平面W之间是近似平行关系,且这两个近似平行平面之间仅相差一个常数d,常数d表示靶标的厚度值,该常数可以事先通过游标卡尺测量获取。
步骤2通过基本测量单元1中的相机1和相机2拍摄车辆支承平面W上靶标图像,并保存在灰度图像。本发明采用一种高精度棋盘靶标角点自动提取算法(《一种自动检测棋盘角点的新算法》,胡海峰、候晓微,计算机工程[J],2004,14(30)19-21)定位靶标图像上的角点位置,由于本发明采用的棋盘靶标是由8×8个方块组成,因此每幅图像中分别有256个角点。
步骤3根据步骤2可以得到左相机靶标图像的256个角点坐标,以及右相机靶标图像的256个角点坐标。为了实现左右图像中角点的一一匹配,本发明采用立体视觉中的极线几何算法和左右互对应约束对左右图像中的256个靶标角点进行立体匹配(《计算机视觉》,马颂德)。
步骤4对正确匹配的靶标角点进行三维重建,获取靶标角点的空间三维坐标,假设有某对匹配靶标角点g1=[u1,v1]T和g2=[u2,v2]T,它们对应于某个空间角点G=[X,Y,Z]T,将它们转换为齐次坐标为g1=[u1,v1,1]T,g2=[u2,v2,1]T以及G=[X,Y,Z,1]T,同时相机1和相机2已经通过相机标定获得了投影矩阵M1和M2。根据马颂德的《计算机视觉》一书中所述可得如下关于X,Y,Z的4个方程u1M311-M111u1M311-M121u1M311-M131v1M311-M211v1M311-M221v1M311-M231u2M311-M111u1M311-M121u1M311-M131v2M311-M211v1M311-M221v1M311-M231XYZ=M141-u1M341M241-v1M341M142-u2M342M242-v2M342---(11)]]>其中,Mijk(k=1,2;i=1,...,3;j=1,...,4)为投影矩阵Mk的第i行第j列元素。采用SVD算法(奇异值分解)求解出X,Y,Z。
步骤5根据平面拟合算法原理,假设平面靶标的平面方程为A1X+B1Y+C1Z+D1=0,将所有靶标角点的三维坐标代入,构建如下的方程组即可得到棋盘靶标平面的方程,记为X1Y1Z11X2Y2Z21············XnYnZn1A1B1C1D1=0---(12)]]>其中,Xi,Yi,Zi分别表示靶标角点的三维坐标值,采用SVD分解算法(奇异值分解)求解(12)式所示的方程组,即可求出棋盘靶标平面的平面方程参数A1,,B1,C1和D1。
步骤6由于棋盘靶标平面和车辆支承平面W的平面方程仅相差一个常数d,因此令A0=A1,B0=B1,C0=C1,D0=D1+d,则车辆支承平面W的平面方程可以表示为A0X+B0Y+C0Z+D0=0。
这样,通过步骤1-步骤6即可获取车辆支承平面W的平面方程A0X+B0Y+C0Z+D0=0。
其次,下面详细论述获取车辆胎冠切点的方法。对于车辆胎冠切点测量而言,由于胎冠上不存在明显的标记点和特征点,因此直接测量的难度很大。某些文献(《车轮定位参数的线激光非接触方法研究》,魏嵬等,光电子激光,2004,12(15)1479-1482)提出了向轮胎胎冠上投射激光线,利用获取激光条纹最高点的方法来获取车轮胎冠切点,并取得较好的结果。而且美国M.E(ModernEngineering)公司的非接触式激光车轮定位仪(《三维激光视觉检测系统在车轮定位调整中的应用》,张清扬,北京汽车,1997,228-34)中也是采用类似的方法来获取车轮胎冠切点,进而得到车轮定位参数。然而在上述文献阐述的方法存在如下两个不足首先,这两个文献提出的方法都是基于单目视觉的三角测量原理,这种方法需要一个高精度的基准面和坐标零点,因此精度很大程度上依赖于摄像头和激光器的安装精度,且零位校对困难。其次,该方法不能适用于本发明所采用的基于立体视觉的测量模型;因此,本发明针对上述问题进行改进,设计了一套完善的基于立体视觉和激光的车轮胎冠切点获取算法,算法流程如图7所示。
步骤1激光器以垂直轮胎外侧面的方向,向车轮外侧胎冠上投射一条径向激光条纹。径向激光条纹实际上为胎冠径向截面的轮廓线,观察激光轮廓线可以看出胎冠的切点也就是胎冠侧面上的最外侧点。因此只有当投射激光条纹所在平面近似垂直车轮侧面,并且激光条纹延长线近似通过车轮中心时,才能保证激光条纹上最外侧点最接近胎冠切点位置。因此在投射激光条纹时必须调整激光器的位置和方向,以保证投射的激光条纹满足上述的要求。图8是激光器向胎冠投射的激光条纹示意图,图中符号81代表车轮外侧面的胎冠,符号82代表胎冠上的径向激光条纹。
步骤2一组基本相机测量单元中的两个相机分别拍摄该条激光条纹,并分别以彩色图片方式保存。
步骤3利用图像处理算法,从图像中提取正确的激光条纹目标,流程如图9所示。由于激光条纹呈红色,因此经过分析可知,在激光条纹彩色图像中,激光线条纹中的R,G,B(红,绿,蓝)三个分量具有如下的特征(1)激光线条纹中R分量的灰度值很高。
(2)激光线条纹中B和G分量的灰度值很低。
周围环境中,除非有红色的物体存在,否则其他物体不具有如上的颜色特征。因此,分别提取图像中的R,G,B分量,生成三幅灰度图,记为IR,IG和IB,并按照如下的融合公式进行图像融合IA(x,y)=2IR(x,y)-IG(x,y)-IB(x,y) (13)此时在经过融合的图像IA中,红色分量值大的像素的灰度将被大大突出,而蓝色,绿色分量小的像素的灰度将被减弱。因此红色激光条纹的灰度统计值大大增加,而物体和背景的灰度统计值较之于激光条纹的灰度统计值则明显减少。再经过二值化处理,从而保证此时的二值化黑白图像中包含激光线条纹区域。
考虑到测量现场的复杂性,可能存在和红色激光线类似颜色的背景物体或噪声。经过上述处理后,无论是激光条纹还是背景物体或噪声,都将其看成一个一个的目标,这些目标中的像素都满足一个特点,即目标上的像素在图像二维空间中位置是相互连续的。根据这个特点,本发明基于模式识别的思想,设计了如下的识别算法,将目标分为若干类别。假设背景为黑色,目标像素为白色。
(1)在图像中寻找一个目标像素,如果不存在目标像素,则退出循环;否则将其放入一个先入先出的堆栈中,并标记该目标像素,表示该像素已经放入堆栈中;(2)从堆栈中取出一个像素,判断该像素周围5×5邻域的像素。如果邻域内的某个像素是目标像素,且未被标记,则将其放入堆栈中,并标记该目标像素,表示该像素已经放入堆栈中,否则不处理该像素。
(3)判断堆栈中是否还存在数据,如果仍有数据,表示还有像素未被跟踪处理,返回(2)继续处理。否则表示此时堆栈中像素已经全部跟踪完毕,则执行下面的(4)。
(4)判断所有已标记的像素的数目,如果像素数量少于事先设定的阈值T(经过实验,阈值T取150即可),则表示这些空间上连续的像素可能是噪声,则不处理,执行下面的(5)。否则认为这些已经标记的像素是某个目标物上的点,属于可能的激光条纹目标,因此将这些属于同一目标的像素保存下来,并执行下面的(5)。
(5)让所有已经标记的像素颜色变为背景,即黑色。
(6)返回(1),重新开始寻找新目标像素的循环,直到没有目标像素为止。
经过上述六个步骤,可以将不同目标的像素进行分类,其中也包含了激光条纹目标,为了从中提取出正确的激光条纹,本发明采用一种分类提取算法,可以从不同目标中正确识别出激光条纹。激光条纹在图像中主要以曲线形式表现出来,而背景物体和噪声主要以块状区域方式表现出来,如果将所有的目标像素分别进行曲线拟合,可以想象,由于激光条纹是曲线形状,因此其拟合误差很小;而背景物体和噪声的曲线拟合误差较大。所以设计如下的判别算法,用于从环境中提取出真正的激光条纹图像。假设(xij,yij)表示各类可能的激光条纹目标上的点的坐标,将其代入二次曲线方程中,构建如下方程组来拟合二次曲线方程xi12xi11xi22xi21·········xin2xin1*aibici=yilyi2···yin---(14)]]>其中i为可能的激光条纹目标的序号,j为可能的激光条纹目标上的点的序号,ai,bi,ci表示由各类可能的激光条纹目标上的点拟合得到的二次曲线参数,xij,yij表示各类可能的激光条纹目标上的点的坐标。通过SVD分解(奇异值分解)即可得到曲线拟合参数。利用下式计算目标区域i上所有像素的平均曲线拟合误差errierri=(Σj=1n|aixij2+bixij+ci-yij|)/n---(15)]]>比较所有目标区域的平均误差erri,可以认为其中最小拟合误差err所对应的目标即为所求的激光条纹目标。最后,再在激光条纹区域内进行条纹细化和短枝处理,即可获取激光条纹。
步骤4根据立体视觉中的极线几何算法和左右互对应约束对图像中提取后的激光条纹上的像素点进行立体匹配。对正确匹配的激光条纹上的点进行三维重建,获取这些匹配点所对应的激光条纹空间点的三维坐标,假设某个匹配点g1=[u1,v1]T和g2=[u2,v2]T,对应空间点G=[X,Y,Z]T,将它们转换为齐次坐标表示g1=[u1,v1,1]T和g2=[u2,v1,1]T以及G=[X,Y,Z,1]T,同时相机1和相机2已经通过相机标定获得了投影矩阵M1和M2。根据马颂德的《计算机视觉》一书所述可得如下关于X,Y,Z的4个方程u1M311-M111u1M311-M121u1M311-M131v1M311-M211v1M311-M221v1M311-M231u2M311-M111u2M311-M121u2M311-M131v2M311-M211v2M311-M221v2M311-M231XYZ=M141-u1M341M241-v1M341M142-u2M342M242-v2M342---(16)]]>其中,Mijk(k=1,2;i=1,...,3;j=1,...,4)为投影矩阵Mk的第i行第j列元素。采用SVD算法(奇异值分解)求解出X,Y,Z。这样即可得到世界坐标系OXYZ下激光条纹上空间点的三维坐标。
步骤5通过激光条纹上的空间点三维坐标拟合激光条纹所在的平面S。根据平面拟合算法原理,假设激光条纹所在平面方程为A2X+B2Y+C2Z+D2=0,将激光条纹上空间点的三维坐标代入,构建如下的方程组X1Y1Z11X2Y2Z21············XnYnZn1A2B2C2D2=0---(17)]]>(17)式中的(Xi,Yi,Zi)表示激光条纹上的空间点三维坐标。采用SVD分解算法(奇异值分解)求解(17)式所示的方程组,即可求出拟合平面S的平面方程参数A2,B2,C2和D2。根据轮距测量流程中步骤3中一样的方法,将三维点Pi向拟合平面S投影,利用直线参数方程得到投影点P’i,建立一个新坐标系O’X’Y’Z’,该坐标系以拟合平面S为O’X’Y’平面,构建新坐标系的步骤如下(1)确定和拟合平面S相互垂直的平面P1的平面方程。假设拟合平面S的法向量为(A2,B2,C2),平面P1的法向量为(A3,B3,C3),由于两个平面互相垂直,因此下列关系成立A3A2+B3B2+C3C2=0 (18)可以假设A3=-A2;B3=2B2,则可以计算得到C3。假设(XP1,YP1,ZP1)是拟合平面S上某一点的三维坐标,则根据空间平面的点法式方程,可以获取得平面P1的平面方程的参数A3=-A2B3=2B2C3=-(A2A3+B2B3)/C2D3=-(A3XP1+B3YP1+C3ZP1)---(19)]]>(2)确定和拟合平面S以及平面P1相互垂直的平面P2的平面方程。假设平面P2的方向向量为(A4,B4,C4),则(A4,B4,C4)等于(A2,B2,C2)和(A3,B3,C3)的叉乘,根据空间平面的点法式方程,可得平面P2的平面方程向量A4=B2C3-C2B3B4=C2A3-A2C3C4=A2B3-B2A3D4=-(A4XP1+B4YP1+C4ZP1)---(20)]]>获取平面P1和平面P2后,可建立新坐标系O’X’Y’Z’,以拟合平面S为O’X’Y’平面,以平面P1为O’X’Z’平面,以平面P2为O’Y’Z’平面,三个平面的公共交点作为新坐标系原点O’,三个平面之间的交线构成了X’Y’Z三个坐标轴。由于激光条纹上像素点Pi在拟合平面S上的投影点P’i在O’X’Y’平面中,通过(21)式的坐标变换可以得到投影点P’i在坐标系O’X’Y’Z’下相应点Q’i的坐标(xi’,yi’,0)。
xi′=A2Xi′+B2Yi′+C2Zi′+D2A22+B22+C22yi′=A1Xi′+B1Yi′+C1Zi′+D1A12+B12+C12zi′=0---(21)]]>
因此,Q’i在O’X’Y’平面坐标系下的平面坐标则为(xi’,yi’)。
从实际的车轮胎冠激光条纹分析可知,采用三次曲线拟合已经足够反映激光条纹的形状,而且如果采用太高次的曲线拟合,则将大大增加求解极值点的难度,并降低算法的稳定性。因此采用Q’i进行平面三次曲线的拟合,拟合后的三次曲线方程为y=a1x3+b1x2+c1x+d1(22)计算三次曲线方程的一阶导数方程为f=3a1x2+2b1x+c1(23)令上式中f=0,对x的一元二次方程进行解方程,得到的x存在两个值,此时只要根据x是否在(xi’,yi’)范围内即可得到正确的x,最后将x代入三次曲线方程(22)式即可得到O’X’Y’平面中的拟合三次曲线极值点坐标(x0’,y0’),可以认为此时拟合三次曲线的极值点所对应的空间点就是胎冠上激光条纹最外侧点,也就对应着轮胎胎冠的切点。
步骤6最后将拟合三次曲线极值点坐标(x0’,y0’)转换为世界坐标系OXYZ下表示的三维坐标。由于计算得到的(x0’,y0’)是基于O’X’Y’Z’平面坐标系,而实际所需的胎冠切点坐标必须是靶标坐标系中,因此必须将其转换到世界坐标系OXYZ中。根据刚体运功描述可知,如果可以得到新坐标系O’X’Y’Z’和世界坐标系OXYZ之间的运动关系,即可得到胎冠切点在靶标坐标系下的三维坐标。
由于(xi’,yi’)是O’X’Y’平面下的坐标表示,因此(xi’,yi’)在O’X’Y’Z’坐标系中的三维坐标可以表示为(xi’,yi’,0)。从上面论述可知,(xi’,yi’,0)为拟合平面上投影点P’i在O’X’Y’Z’平面中的坐标,由于投影点P’i的三维坐标为(Xi’,Yi’,Zi’),故(xi’,yi’,0)在世界坐标系OXYZ中的对应点即为(Xi’,Yi’,Zi’)。由于两个坐标系之间的关系可用刚体运动描述,令R1为旋转矩阵,T1为平移向量,因此有mi’=R1mi+T1(24)其中,mi=[xi’,yi’,0]T,mi=[Xi’,Yi’,Zi’]T。可以通过对下列函数的最小化来估计运动参数R1和T1F(R1,T1)=Σi=1n||ηi||2=Σi=1n||mi′-R1mi+T1||2---(25)]]>
(25)式是一个典型的非线性最小化问题,本发明采用了Levenberg-Marquardt算法作为优化算法。对于非线性最小化问题而言,准确的初值将大大提高运算的速度,本发明采用线性方法首先计算得到R1,T1的初值,假设R1和T1分别采用如下形式表示R1=r11r12r13r21r22r23r31r32r33]]>T1=t1t2t3]]>本发明定义x=[r11,r12,r21,r22,r31,r32,t1,t2,t3]T则(24)式可以转换为(26)式所示的方程mi′=Aix, (26)其中Ai是3×9的矩阵,由下式给出Ai=xiyi000010000xiyi000100000xiyi001---(27)]]>从上述看出,(27)式提供了3个方程,而未知变量有9个,因而只要至少有三对不在同一直线上的对应点,即可通过线性解方程算法求出参数x,即r11,r12,r21,r22,r31,r32,t1,t2,t3。由于mi的Z坐标为0,因此由(27)式线性方法解方程求得的参数中不包含r13,r23,r33。考虑到旋转矩阵R为正交矩阵,假设向量ri为矩阵R1的第i行向量,则下式成立riTri=1;riTrj=0;(i≠j)---(28)]]>因此,根据上述等式即可计算出r13,r23,r33,这样得到R1和T1的初值,将其代入Levenberg-Marquardt算法中进行优化计算,由于初值正确,因此Levenberg-Marquardt算法可以很快收敛。
求出(R1,T1)后,假设激光条纹在拟合平面中的投影曲线极值点坐标为m0,将其代入下式,即可得到靶标坐标系下的激光条纹极值坐标,即胎冠切点的三维坐标。
m0′=R1m0+T1(29)
需注意的是,对于由相机1和相机2构成的基本测量单元1测量得到的切点坐标而言,此时得到切点的三维坐标就是基于世界坐标系OXYZ下的表示。而对于由相机3和相机4构成的基本测量单元2测量得到的切点三维坐标而言,还需要通过R0和T0将切点坐标转化到世界坐标系OXYZ中。
通过上述方法即可得到车轮胎冠切点,结合前面的车辆支承平面W,并按照给出的轮距测量步骤,即可获得车辆轮距参数。
权利要求
1.一种基于立体视觉和激光的车辆轮距测量方法,采用立体视觉激光测量系统获取测量用参数,该立体视觉激光测量系统包括用于拍摄车辆的左车轮外侧区域和右车轮内侧区域的由第一相机(1)和第二相机(2)组成的相机单元、用于拍摄辆的右车轮外侧区域和左车轮内侧区域的由第三相机(3)和第四相机(4)组成的另一相机单元及激光器,再用立体靶标对上述4台相机进行内、外参数标定,其特征在于步骤1用平面拟合的方法得到车辆支承平面W的平面方程参数(A0,B0,C0,D0),并由此得到车辆支承平面W的平面方程A0X+B0Y+C0Z+D0=0。步骤2用胎冠切点测量方法获取车轮外侧胎冠上处于不同位置的3个及以上数量的切点,记为pi,上述胎冠切点测量方法为激光器以垂直轮胎外侧面的方向,向车轮外侧胎冠上投射一条径向激光条纹,用一组相机单元中的相机分别拍摄该条径向激光条纹,并分别保存彩色图像,利用图像处理算法,从图像中提取各自的径向激光条纹,该图像处理算法采用1)从图像中提取可能含有激光条纹目标区域的图像,对该可能含有激光条纹目标区域的图像进行二值化处理,得到二值化图像。2)在二值化图像中,找出一个目标像素,并对其标记,再将其置于先入先出的堆栈中。3)从先入先出的堆栈中取出一个目标像素,在二值化图像中的该目标像素周围5×5邻域中,再次寻找未标记的目标像素,对此次找出的目标像素进行标记,并将其置于先入先出的堆栈中。4)按步骤3)所述,遍历先入先出堆栈中的各个目标像素。5)对步骤4)所得的目标像素进行噪声判断,将总数量小于阈值T的步骤4)所得的目标像素作为噪声并将其颜色改为背景色;反之,将步骤4)所得的目标像素作为一类可能的激光条纹目标上的点,予以保存,并将其颜色改为背景色,上述阈值T=150。6)重复步骤2)~步骤5),得到各类可能的激光条纹目标上的点,并分别予以保存。7)分别利用各类可能的激光条纹目标上的点,进行二次曲线拟合,该二次曲线方程形式为ax2+bx+c=y,通过SVD分解(奇异值分解),得到曲线拟合参数a、b、c。计算由各类可能的激光条纹目标上的点拟合得到的二次曲线的平均曲线拟合误差erri,erri=(Σj=1n|aixij2+bixij+ci-yij|)/n]]>其中i为可能的激光条纹目标的序号,j为可能的激光条纹目标上的点的序号,ai,bi,ci表示由各类可能的激光条纹目标上的点拟合得到的二次曲线参数,xij,yij表示各类可能的激光条纹目标上的点的坐标。8)将最小平均曲线拟合误差erri对应的一类点所在的目标作为激光条纹目标区域,再在激光条纹目标区域内进行条纹细化和短枝处理,即可获取激光条纹。此后,根据立体视觉中的极线几何约束,左右互对应约束对图像中提取后的激光条纹上点进行匹配,并且对激光条纹上的点进行三维重建,得到激光条纹上的空间点的三维坐标,利用激光条纹上的空间点拟合得到激光条纹所在空间平面S,再将激光条纹上的空间点Pi向拟合平面S投影,利用直线参数方程计算得到投影点P’i。建立一个新坐标系O’X’Y’Z’,该坐标系以拟合平面S为O’X’Y’平面,以与拟合平面S垂直的平面P1为O’X’Z’平面,以与拟合平面S以及平面P1都垂直的平面P2为O’Y’Z’平面,对投影点P’i进行坐标变换,得到投影点P’i在新坐标系O’X’Y’Z’下相应点Q’i的坐标为(xi’,yi’,0),该相应点Q’i在O’X’Y’平面坐标系下的平面坐标则为(xi’,yi’),再用上述相应点Q’i(xi’,yi’)进行平面三次曲线的拟合,该三次曲线方程为y=a1x3+b1x2+c1x+d1经求导、计算后,得到O’X’Y’平面中的拟合三次曲线极值点坐标(x0’,y0’),最后通过坐标变化将新坐标系O’X’Y’Z’下极值点坐标(x0’,y0’,0)转换为在世界坐标系OXYZ下的坐标(X0’,Y0’,Z0’),并将(X0’,Y0’,Z0’)对应的点作为胎冠上激光条纹最外侧点,该胎冠上激光条纹最外侧点为轮胎胎冠的切点,再根据车轮外侧胎冠上处于不同位置的3个及以上的切点,拟合车轮外侧切平面P,步骤3用步骤2所述胎冠切点测量方法获得车轮内侧胎冠上的一个切点p1,再向车轮外侧切平面P投影,得到该切点p1的投影点p2,求取p1与p2的中点p3,并将该中点p3作为轮胎中心面上的一点,将轮胎中心面作为车轮外侧切平面的平行面,利用空间几何关系,得到轮胎中心面的平面C1的方程。步骤4求取轮胎中心面的平面C1与车辆支承平面W的左交线e1;重复步骤2~4,得到另一车轮的轮胎中心面的平面C2与车辆支承平面W的右交线e2;最后,计算左交线e1与右交线e2之间的距离,并以此距离作为车辆轮距。
全文摘要
本发明提出一种基于立体视觉和激光的车辆轮距测量方法,采用立体视觉激光测量系统获取相关测量参数。该方法利用数码相机拍摄投影到车轮胎冠上的激光条纹,通过图像处理方法提取激光条纹目标,利用立体匹配算法和三维重建算法获得激光条纹空间点。将激光条纹空间点投影到激光条纹所在的拟合平面中,并利用投影点生成二维曲线,计算出二维曲线极值点,认为该极值点就对应胎冠切点。利用车轮内侧胎冠上一个切点以及由车轮外侧胎冠上至少三个切点拟合获得的切平面计算轮胎中心面。通过计算同一轴上左右轮胎的轮胎中心面分别和车辆支承平面的交线之间的距离即可获得车辆轮距参数。
文档编号G01B11/14GK101059340SQ20071002242
公开日2007年10月24日 申请日期2007年5月18日 优先权日2007年5月18日
发明者张为公, 林国余 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1