大型物体三维形状测量系统及其测量方法
技术领域
本发明涉及一种大型物体的三维测量技术,具体涉及一种大型物体三维形状测量系统及其测量方法。
背景技术
目前,三维测量技术主要包括接触式测量及非接触式测量两类。工业生产中,有些大型工件只能采用非接触式三维测量技术,如船舶曲面钢板。非接触式三维测量技术包括两类:视觉照相三维测量、激光三维测量。照相三维测量系统具有测量速度快、测量密度高的优点。激光测量系统具有测量精度高的优点,但在测量大型目标时,激光扫描速度较慢,无法达到工业生产中的实时性要求。
视觉测量主要可分为:被动测量和主动测量两种方法。被动测量方法通过探测物体表面发出或反射的光线实现三维测量。然而该方法需要物体表面有丰富的纹理结构,因此,很难将其应用到工业生产中。主动测量通过机械的或光辐射的方式接触被测物体,现有的很多主动测量方法通过向被测物体投射特定的结构光的方式,测量物体三维形状。与被动测量方法相比,主动测量更适合工业生产,因为它们更加稳定,并能获取更加稠密的数据。
主动测量方法大概可以分为两类:time-of-flight(TOF)激光测量和结构光测量。TOF激光测量方法通过计算光的飞行时间获取物体的三维形状。结构光测量是通过投影仪将编码的光投影在被测物体上,同时相机捕获重建这些场景。使用TOF相机可以实时地获取稠密的三维数据。但是TOF相机分辨率太低,并且在深度图中的随机噪声太大,因此获取的三维数据质量不高。所以,相对来讲,结构光测量更能满足工业生产对精度的要求。
通常无法一次完成对大型物体的测量,需要先局部测量,然后进行拼接。拼接方法可以分为三类:基于表面几何形状的方法、基于标记跟踪的方法和贴标签的方法。基于表面几何形状的方法,需要被测场景有复杂的表面几何形状,但实际生产中,很多物体表面并没有复杂的表面几何形状,如船舶钢板;基于跟踪的方法在三维扫描仪上放置反光标记,利用立体跟踪器跟踪标记的位置,实现拼接。但是在跟踪器和三维扫描仪之间距离变大时,立体跟踪器将不能清晰地捕获标记,因此,测量精度很难保证;贴标签的方法,需要在被测物体表面放置基准标签,根据标签实现拼接,所以在实际生产中,实施起来很不方便。
发明内容
发明目的:本发明的目的在于解决现有技术中存在的不足,提供一种大型物体三维形状测量系统及其测量方法。
技术方案:本发明所述的一种大型物体三维形状测量系统,包括服务器、三维扫描仪、激光测距仪和滑动导轨,所述滑动导轨的一端固定有激光标靶,滑动导轨的轨道上设有可沿轨道滑动的机器手,所述机器手包括立于滑动导轨的支撑柱和连接于支撑柱的横杆,支撑柱可沿竖直方向伸缩,横杆可沿水平方向伸缩,在支撑柱和横杆之间安装有轴承,使得支撑柱与横杆之间可以旋转以适应不同的测量需求,支撑柱上安装有与激光标靶相对应的激光测距仪,横杆上固定有三维扫描仪;所述三维扫描仪包括第一立体视觉系统、第二立体视觉系统和投影仪,第一立体视觉系统和第二立体视觉系统并排固定于机器手横杆,且两个立体视觉系统中均设有两个工业相机,投影仪设置于第一立体视觉系统和第二立体视觉系统中间且固定于横杆;所述服务器分别与激光测距仪和三维扫描仪进行通信传输。
进一步的,所述服务器与激光测距仪之间通过RS232串口连接,服务器与四个工业相机之间通过千兆网进行通信传输,服务器与投影仪之间通过USB线进行数据传输。
进一步的,所述三维扫描仪的工作距离为2~3m(例如可以是2.5m),测量范围约2.1m×1.3m;其中,相机的像素至少为500万像素,第一视觉系统和第二视觉系统的分辨率均为1000×750,测量精度为0.2–0.3mm/m;所述激光测距仪的测量精度为1mm/10m。
本发明还公开了一种大型物体三维形状测量系统的测量方法,包括以下步骤:
(1)在第一立体视觉系统和第二立体视觉系统之间放置一个标定板,服务器标定各个立体视觉系统;
(2)步骤(1)完成后,再将上述标定板放置于滑动导轨一侧,服务器对激光测距仪进行标定;
(3)投影仪向被测物体投射结构光,四台工业相机获取被测物体的局部结构光投影图像,并通过千兆网传输到服务器;激光测距仪测量其自身与激光标靶之间的距离,并通过RS232接口传输给服务器;
(4)服务器采用结构光方法,根据两套立体视觉系统拍摄的被测物体的结构光投影图像信息,分别得到其相应的两部分局部三维数据;然后根据步骤(1)中两套立体视觉系统所标定的坐标变换参数,获得本次测量的被测物体的局部三维测量数据;
(5)根据激光测距仪与激光标靶之间的距离变化,计算三维扫描仪的姿态,即计算该三维扫描仪在测量过程中的空间位置;然后根据步骤(2)中对激光测距仪的标定,拼接局部三维数据;
(6)推动机器手在滑动导轨上沿直线向前移动到下一个相邻被测区域,重复上述步骤(3)和步骤(4)来测量被测物体的下一个局部数据。
(7)重复步骤(4)~(6),直到整个物体测量结束,得到物体完整的三维测量数据。
进一步的,所述步骤(1)中第一立体视觉系统和第二立体视觉系统之间具有公共视野区,每一套立体视觉系统均能看到标定板的一半,假定标定板有m×n个方格,每个方格边长都是dg毫米,1≤k≤m,1≤l≤n;
首先定位两套立体视觉系统中标定板的m×n个格子的所有角点,根据可见部分估计不可见部分,具体过程为:
(11)假设和是第一立体视觉系统中两个工业相机分别定位的格子,表示对应的三维角点;
(12)采用Harris角点检测算法,检测标定板图像中可见的和并采用三角测量方法计算相应的的三维角点;
(13)假设某直线上有7个可见角点l∈{1,2,...,7}已经被定位,根据用最小二乘法拟合一条线L,L可用公式(1)表示:
其中:(m,n,v)T是L的法向量,t表示L的参数;
(14)估算L上邻近的不可见角点用公式(2)表示和之间的距离:
公式(2)可也用公式(3)描述:
根据L的参数函数,可以用公式(4)描述
根据公式(3)和(4),公式(3)可以重写成公式(5):
根据公式(5)可获得t的两个值,如公式(6)、(7)所示:
根据公式(4)、t1和t2,最后得到与相邻的两个点:和
(15)重复上述步骤,可获得该直线上所有不可见角点、相应的以及第二立体视觉系统中所有角点集合(获得方法与的获得方法获得);其中,和两个点集在同一平面,最后标定两套立体视觉系统(可以采用Walker1991提出的Dual Quaternions方法)。
进一步的,所述步骤(2)中,对激光测距仪进行标定,即获得测量时三维扫描仪的移动方向及归一化的平移向量,具体步骤如下:
(21)把标定板放在第一立体视觉系统能看到的地方,并将第一立体视觉系统的两个相机中离支撑柱最近的工业相机作为第1个相机,把第1个工业相机的光学中心作为三维扫描仪的坐标系原点,因此只需知道立体视觉系统1的移动方向,而不需考虑第二立体视觉系统;
(22)假设在t1时刻,第一立体视觉系统测量了标定板的一部分,利用激光测距仪记录当前的位置d1;第一立体视觉系统向前移动,在t2时刻,测量另外一部分,同样利用激光测距仪记录当前的位置d2;
(23)采用与步骤(1)同样的方法来计算t1和t2时刻三维扫描仪中第一立体视觉系统的坐标转换,假设坐标变换用旋转矩阵R和平移向量T表示:
三维扫描仪跟着机器手沿直线滑动导轨向前移动,没有旋转,因此,相邻两次测量的三维扫描仪移动方向R是相同的;t1时刻与t2时刻三维扫描仪的移动距离为d=d2-d1,判断公式(10)是否成立,若不成立转至步骤(22)重新标定;
进一步的,所述步骤(5)的具体过程如下:
(51)三维扫描仪沿直线移动测量不同的局部区域,在绝对移动距离和平移向量之间存在一个比例关系,根据公式(11)获得当前局部测量的平移向量T1,其中d12是利用激光测距仪测量的三维扫描仪平移距离:
(52)根据两次测量的移动方向R和移动向量T1,拼接t1和t2两次局部测量结果。
有益效果:与现有技术相比,本发明具有以下优点:
(1)本发明能够灵活、方便、稳定地对大型物体进行测量,并且结构简单,成本较低;
(2)本发明中的三维扫描仪包含两套立体视觉系统,能扩大单次测量范围;为了提高两套立体视觉系统的标定精度,采用尺寸约为2.1m×1.3m的标定板(尺寸与被测范围相当);
(3)本发明中根据立体视觉系统中可见部分图像估计不可见部分图像,从而在每套立体视觉系统中定位整个标定板,对于精确标定两套立体视觉系统至关重要;
(4)本发明的局部测量拼接方法更加方便和精确,三维扫描仪固定在滑动导轨上直线移动,每次测量时三维扫描仪移动方向都是一致的。本发明中服务器通过激光测距仪测量三维扫描仪的移动距离,计算三维扫描仪的姿态,并拼接局部测量结果。
附图说明
图1为本发明的硬件结构示意图;
图2为本发明中两套立体视觉系统的标定示意图;
图3为本发明中根据可见部分估计不可见部分的原理示意图;
图4为本发明中激光测距仪的标定示意图;
图5为本发明中拼接局部测量结果示意图;
图6为实施例中测量对象及测量结果图。
具体实施方式
下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
如图1所示,本发明的一种大型物体三维形状测量系统,包括服务器1、三维扫描仪6、激光测距仪5和滑动导轨2,滑动导轨2的一端固定有激光标靶4,滑动导轨2的轨道上设有可沿轨道滑动的机器手3,机器手3包括立于滑动导轨2的支撑柱和连接于支撑柱的横杆,支撑柱上安装有与激光标靶4相对应的激光测距仪5,横杆上固定有三维扫描仪6;三维扫描仪6包括第一立体视觉系统7、第二立体视觉系统8和投影仪10,第一立体视觉系统7和第二立体视觉系统8并排固定于机器手3横杆,且两个立体视觉系统中均设有两个工业相机9,投影仪10设置于第一立体视觉系统7和第二立体视觉系统8中间且固定于横杆;服务器1分别与激光测距仪5和三维扫描仪6进行通信传输。
其中,服务器1与激光测距仪5之间通过RS232串口连接,服务器1与四个工业相机9之间通过千兆网进行通信传输,服务器1与投影仪10之间通过USB线进行数据传输。三维扫描仪6的工作距离为2~3m(例如可以是2.5m),测量范围约2.1m×1.3m;其中,相机9的像素至少为500万像素,第一立体视觉系统7和第二立体视觉系统8的分辨率均为1000×750,测量精度为0.2~0.3mm/m;激光测距仪5的测量精度为1mm/10m。
为了扩大单次测量的范围,还可以增加三维扫描仪6中立体视觉系统的数量;立体视觉系统之间坐标系进行转换(也称标定),才能获得单次测量的局部数据。因此,本发明中标定两套立体视觉系统的方法,对单次测量精度至关重要;为了提高两套立体视觉系统的标定精度,本发明采用一个尺寸约为2.1m×1.3m的标定板12(尺寸与被测范围相当),但是在两套立体视觉系统中,不能拍摄到标定板的完整图像,只能拍到约1半的图像,根据可见部分估计不可见部分,在每套立体视觉系统中定位整个标定板12,对于精确标定两套立体视觉系统至关重要。
上述三维扫描仪6固定在滑动导轨2上直线移动,所以每次测量时三维扫描仪6移动方向都是一致的。服务器1通过激光测距仪5测量三维扫描仪6的移动,标定激光测距仪5来评估三维扫描仪6的姿态,然后拼接局部测量结果,因此标定激光测距仪5对拼接精度至关重要。
实施例:
下面通过实施例来应用上述大型物体三维形状测量系统的测量方法,具体包括以下步骤:
(1)在三维扫描仪6的第一立体视觉系统7和第二立体视觉系统8之间放置一个标定板12,如图2所示;然后通过服务器1标定该两套立体视觉系统;
(2)再将标定板12放置于沿滑动导轨2的一侧,通过服务器1对激光测距仪5进行标定,如图4所示;
(3)本实施例中的测量对象为大型曲面钢板11,如图5所示。投影仪10向曲面钢板11投射结构光;第一立体视觉系统7和第二立体视觉系统8中的四台工业相机9获取曲面钢板11的局部图像,并通过千兆网传输到服务器1;激光测距仪5测量自身与激光标靶4之间的距离,并通过RS232接口传输给服务器1;
(4)服务器1采用结构光方法,根据两套立体视觉系统所拍摄的曲面钢板11的图像信息,得到相应的两部分局部三维数据;然后,根据步骤(1)中两套立体视觉系统的坐标变换,获得曲面钢板11本次测量的完整的局部三维测量数据;
(5)计算两次局部测量时激光测距仪5与激光标靶4之间的距离的变化;然后根据步骤(2)对激光测距仪5的标定参数,计算三维三维扫描仪6的姿态,拼接两个局部三维数据;
(6)推动机器手3在滑动导轨2上沿直线向前移动,重复步骤(3)~(5),测量钢板11的下一个局部数据,直到整个钢板11测量结束,得到钢板11完整的三维测量数据。
通过步骤(1)来标定两套立体视觉系统:如图2所示,采用标定板12,尺寸约为2.1m×1.3m,此时,第一立体视觉系统7和第二立体视觉系统8约能看到标定板12的一半(两套立体视觉系统之间有公共视野区13)。
如图3(a)所示,假定图2中标定板12有m×n个方格,每个方格边长都是dg毫米。如图3(b)和图3(c)所示,分别描述了两套立体视觉系统所拍摄的标定板12的图像,其中:实线表示可见部分,虚线表示不可见部分。
首先定位两套立体视觉系统中标定板12的m×n个格子的所有角点,根据可见部分估计不可见部分。以第一立体视觉系统为例,根据可见部分估计不可见部分的具体步骤为:
假设和(1≤k≤m,1≤l≤n)是立体视觉系统1(图2中7)定位的格子,表示相应的三维角点;
采用Harris角点检测算法,检测标定板12图像中可见的和并采用三角测量方法计算可见的的三维角点。
假设某直线上有7个可见角点l∈{1,2,...,7}已经被定位,如图3(d)所示。根据用最小二乘法拟合一条线L,L可用公式(1)表示:
其中:(m,n,v)T是L的法向量;t表示L的参数。
为了估计L上邻近的不可见角点用公式(2)表示和之间的距离:
公式(2)可也用公式(3)描述:
根据L的参数函数,可以用公式(4)描述
根据公式(3)和(4),公式(3)可以重写成公式(5):
根据公式(5)可获得t的两个值,如公式(6)、(7)所示:
根据公式(4)、t1和t2,就可以得到两个点:和
按同样的方法,重复上述步骤,可获得该直线上所有不可见角点(如图3(e)所示),以及第一立体视觉系统7中所有三维角点(1≤k≤m,1≤l≤n)。类似的,假设和(k∈{1,...,m},l∈{1,...,n})是第二立体视觉系统8定位的格子,表示相应的三维角点。采用上述方法,同样可以得到第二立体视觉系统8中所有角点集合
通过上述步骤定位到两套立体视觉系统中标定板12所有角点和后,因为和两个点集在一平面,本实施例中可采用Walker 1991提出的Dual Quaternions(DQ)方法标定两套立体视觉系统。
实现精确拼接的关键是对激光测距仪进行标定,即获得测量时三维扫描仪的移动方向及归一化的平移向量,具体步骤如下:
如图4所示,把标定板12放在第一立体视觉系统1能拍摄的地方,把其第1个工业相机9的光学中心作为三维扫描仪6的坐标系原点。因此只需知道第一立体视觉系统7的移动方向,而不需考虑第二立体视觉系统8。
假设在t1时刻,第一立体视觉系统7测量了标定板12的一部分,利用激光测距仪记录当前的位置d1;第一立体视觉系统7向前移动,在t2时刻,测量另外一部分,同样利用激光测距仪记录当前的位置d2,如图4所示。
采用与步骤(1)同样的方法,计算t1和t2时刻三维扫描仪中第一立体视觉系统7的坐标转换,假设坐标变换用旋转矩阵R和平移向量T表示:
因为三维扫描仪6整体随着机器手3沿直线滑动导轨2向前移动,没有旋转。因此,每次测量的R(称为三维扫描仪移动方向)是相同的。t1时刻与t2时刻三维扫描仪的移动距离为d=d2-d1,如图4所示,然后判断公式(10)是否成立,若不成立转至步骤2b重新标定。
本实施以大尺度曲面钢板11为测量对象,执行步骤(3)~(5)。如图5所示,t1时刻测量钢板11的第一部分,此时激光测距仪5和激光标靶4之间的距离d1,把d1作为三维扫描仪6的第一个位置;机器手3沿滑动导轨2向前推进,t2时刻测量钢板11的下一相邻部分,此时激光测距仪5和激光标靶4之间的距离d2;由d1和d2得到三维扫描仪6两次测量时的绝对移动距离d12;
步骤(5)中,计算t1和t2时刻两次局部测量时激光测距仪5与激光标靶4之间的距离的变化,即d12;然后根据步骤(2)中对激光测距仪5的标定参数(即平移向量T),拼接t1和t2两时刻测量的相邻局部三维数据,具体过程如下:
三维扫描仪6沿直线运动,因此在绝对移动距离和平移向量之间存在一个比例关系,可根据公式(11)获得当前平移向量T1:
5b.根据两次测量的移动方向R和移动向量T1,拼接t1和t2两次局部测量结果。
采用本发明三维扫描仪和激光测距仪融合的大型物体三维形状测量系统和方法,可以实现通过多次局部测量、拼接,最终得到大型物体的三维数据。
上述实施例中,两套立体视觉系统可以采用市场上现有的产品,其具体要求为:首先通过实验测定第一立体视觉系统7和第二立体视觉系统8的测量精度约为0.2mm-0.3mm/m;曲面钢板11测量尺寸为3m×2m。测量时,机器手3每次向前的移动距离约为1.2m,因此需要移动两次机器手3,进行三次局部测量,然后拼接得到曲面钢板11完整的测量数据。
具体测量结果如图6所示,图6(a)是被测曲面板的图像,图6(b)、6(c)和6(d)是从不同角度观察测量结果的三维点云。
因为单个立体视觉系统的精度已确定,则拼接精度是影响整体测量精度的关键因素。本实施进行了四组实验,以验证拼接精度:利用两次测量结果重叠区域点云之间的平均绝对距离作为平均误差,具体误差如表1所示。在一般的工业加工中,这样的测量误差足以满足加工要求。
表1 四次试验测量拼接精度得到的拼接误差
测试 |
平均误差(绝对值) |
标准差 |
第1次测试 |
0.33 |
0.043 |
第2次测试 |
0.34 |
0.042 |
第3次测试 |
0.31 |
0.051 |
第4次测试 |
0.28 |
0.039 |
平均值 |
0.315 |
|