马雨雷,樊婷婷
(锐蕴智能技术发展(上海)有限公司,上海 201109)
国内外在大表面平面度测量方法的研究中,大致可以分为接触式测量和非接触式测量两种类型。
其中作为接触式测量的人工测量依然占据很大的份额,人工测量费时费力,而且具有危险性,后期的记录和计算也容易出现错误。而经典的三坐标测量机可以测量较大可移动工件的平面度,但是对无法移动的墙体则无能为力。
随着电子技术的不断发展,激光测距的精密度越来越高,现在国内外都设计了很多基于激光测距的平面度测量系统。这些系统可以实现自动计算和记录,并且是非接触的。非接触式的平面度测量具有实时、速度快等优点,能够满足部分要求。由于激光测距得到的数据可靠,具有直线度好,抗干扰能力强等优点,激光测距技术已有广泛应用。
其中一些国外公司已经制造了长距离、大范围户外3D成像设备,其中徕卡的scanstation系列,可以测量200 m左右的距离,可以对矿山等进行3D建模。但是这种基于多目视觉的技术对于干净无特征的白色墙体无能为力。还有一些企业使用飞行时间3D测量技术,这种技术测量精度大约为测量距离的1%,可以应用于精度要求低的场合,对于高精度需求的场合,则需要使用其他的技术。
本文提出一种针对各种建筑物墙体的平面度测量系统,预计测量精度可以达到2 mm,预计对于测量范围3 m×8 m的墙体,单次测量时间可以在5 min以内。其中测量时间和对应精度处于业界领先地位。
本系统的主要部件包括一部结构光3D成像相机,一个陀螺仪,一个测量支架,一套同步控制板卡和一台工业电脑。其中,作为测量主题的陀螺仪跟3D相机紧密连接在一起,保持相同姿态。测量支架既可以在水平向推动,又可以在垂直向伸缩,伸缩距离2 m左右即可满足3 m高对应墙面的平面度测量。其中3D深度相机通过千兆网线和工业电脑连接。陀螺仪通过RS485和工业电脑连接。考虑到系统振动带来的测量误差,需要一块同步控制板卡,控制板卡同时发出信号给相机系统和陀螺仪系统,在相机采集图像的同时采集陀螺仪数据。这样可以保证所获取的相机数据和陀螺仪数据是一一对应的。
三角测量原理示意图见图1,结构光3D相机原理示意图见图2。
参照图2,三角测量原理就是将一束激光倾斜照射在平面上,同时用一个CCD对平面进行拍照,因为激光是倾斜照射的,平面距离激光器越远,激光光斑在CCD中就会在水平方向产生位移,参照图1,当平面从C′O′移动到CO时,光斑会对应移动y的距离。其中水平方向的位移和平面的距离成正比,从而将平面距离激光器的距离转换成CCD中光斑的水平方向距离。进而根据光斑位置计算平面距离测量系统的距离。
结构光3D相机采用三角测量原理和激光技术相结合,激光器将一系列光斑打在平面上形成光斑阵列,CCD相机测出光斑在平面上的分布图如果平面是和测量系统的激光阵列光路完全垂直,且具有很高的平面度,光斑分布将是均匀的,如果平面有突起,光斑在突起附近就会比较集中,如果平面有凹陷,光斑在凹陷周围集中,而凹陷内部发散。所以,相机系统通过所采集的光斑分布情况,即可测量出平面的平整程度。同时,结构光激光器可以在小距离内切换光斑阵列的位置,控制每一列光斑的打开,这样提高测量系统的测量精度和z向测量范围。
目前市场上的结构光3D相机选择很多,以上海盛相科技为例,其R600系列3D相机扫描速度可达13 FPS,测量范围可以达到700 mm×600 mm。对于3 m高的墙面来说,在竖直方向上测量5次就可以测量完毕。
如2.1所述,本测量系统使用一只陀螺仪和3D相机固定在一起,用来测量3D深度相机拍照时的相机姿态。目前,市场上的陀螺仪技术也已经非常成熟。其俯仰角和横滚角测量精度可以达到0.1°,其工作温度范围很宽,工作电流低至20 mA,功耗极低,表1为深圳某公司的陀螺仪技术参数,其俯仰角测量误差不大于±0.1°,其分辨率可达0.01°。陀螺仪给测量系统带来的平面度测量误差约为1 mm,精度足以用于本系统所提出的平面度测量要求(2 mm)。该陀螺仪具有RS485通信接口。尺寸合理,功耗较低,很适合便携式设备使用。
表1 某陀螺仪性能参数
对于较小墙面的平面度测量,单张深度图像就可以拍摄整个墙体范围,或者是只对很小的区域内感兴趣的需求,可以单个姿态拍照。测量过程较为简单,只需固定好支架,调整好位置,直接获取深度图像即可。
对于较大的墙体,需要拍摄多张深度图像,并且需要将多张深度图像映射拼接在一起。这个是本文要解决的关键技术。考虑到拼接图像需要有重合区域,对于较大墙体的测量过程设计如下:
1)参照图3,在边缘区域调整好相机位置,获取区域1的图像,然后在水平方向移动测量设备,获取区域2~区域4的图像,这样把同一高度上的墙体全部拍摄完毕,如图3所示,考虑到拼接图像的需求,各测量区域之间必须要有一定大小的重复测量区域。
2)调高测量支架,在另一个高度上重复上述测量过程(注意:考虑到拼接图像的需求,需要和第一个过程中的各个图像在垂直方向上有部分重复区域)。图4是8张深度图像在两个不同高度上的测量范围和测量结果示意图,其中高度1区域为步骤1)测量区域,高度2区域为在垂直方向上移动一段距离后的测量区域。
3)我们还以3 m×8 m的墙体为例,进行说明。假设每张深度图的测量范围为600 mm×800 mm,重复测量区域的宽度为100 mm,则需要在水平方向上测试12张图像,垂直方向上测试6张图像,共计72张深度图像。
同样,对于小范围的平面度测量(单张深度图像),可以直接跳到步骤4),对于大范围的平面度测量则需要对各深度图像进行映射和拼接,具体过程如下:
1)根据陀螺仪的俯仰角将各测量图像映射到陀螺仪的零平面上。
假设在获取深度图像时获取的陀螺仪的俯仰角为a,横滚角为b。对应的深度图像的测量数据为D[i][j],映射后的测量数据为Dnew[i][j],深度图像X方向像素间距为Δx,Z方向像素间距为Δz。则图像映射计算公式如下:
Dnew[i][j]=D[i][j]+i·Δx·tan(b)+
j·Δz·tan(a)
(1)
利用该方法将获取的所有深度图像全部映射到陀螺仪零平面上。
2)在各区域都映射到陀螺仪的零平面之后,以区域1为绝对平面,通过区域1和区域2的重叠部分,将区域2映射到区域1平面对应的高度上。首选需要用图像匹配法(图像匹配方法是一门成熟的图像处理技术,在此不再赘述),寻找重叠区域。然后计算区域1在重叠区域上的深度平均值设为H1,区域2在重叠区域上的深度平均值设为H2,然后将区域2的整体数值减去H2和H1的差即可将区域2整体映射到区域1相同的坐标系下。重复使用该方法将所有平面都映射到区域1对应平面上。
3)将重叠区域去除,拼成一张整个墙体的深度图像。
4)基于墙体的整体数据计算墙体平面度。由于深度相机测量出来的数据直接是深度数据,单位是m,所以遍历整个深度图像的数据,寻找最大和最小值之差,即为我们常规定义的平面度。
F=Dmax-Dmin
(2)
同时,拼接好的深度图像具有整个墙面的深度信息,不仅可以用来计算墙体的平面度,还可以用于诊断墙体的具体弯曲状况,分析弯曲原因,从而为生产工人提供指导。
陀螺仪的垂向是由重力决定的,也是本测试中垂向的标准,而陀螺仪的横滚角和相机的测量平面则是存在一个理论偏差。因此在每次使用前需要标定横滚角和带测量墙体的角度关系。具体步骤为:1)相机大概对着墙体,调整好位置,并记录下当前的横滚角x,拍一幅深度图像。2)用相机获取的深度数据拟合一个平面N。3)计算出实际图像和平面N的夹角在XZ平面的分量记为X′。4)X′-x即为横滚角的偏差值。
当我们获取所有深度数据后,2.5中讲了理论计算方法,为了使计算方便,我们采用微机控制系统,上位机应用程序采用C++编写。
以单行四副图像为例(见图3),测量和计算过程如下:
1)校准横滚角,记偏差值为Rz-offset。
2)调整好测量装置,等待一段时间使陀螺仪稳定,获取深度图像A。并同步陀螺仪的横滚角Rz-A和俯仰角Rx-A。
3)将测量装置平移到测量位置2,等待一段时间使陀螺仪稳定,获取深度图像B。使B和A有一段重复区域记为AB。
4)依同样方法分别获取图像C和图像D,重复区域分别记为BC和CD。
5)利用式(1),分别将A,B,C,D平面数据投影到以陀螺仪为基准的平面上记为A′,B′,C′,D′。
6)基于深度图像A计算重复区域AB的深度平均值记为AB-A;并依据深度图像B计算重复区域AB和BC的深度平均值记为AB-B,BC-B。依次分别计算出BC-C,CD-C,CD-D。
7)将B,C,D平面分别调整到和A平面同样高度。由AB-B和AB-A的差可以知道B平面相对于A平面的高度差,将所有B平面的数据减去该高度差即可把B平面调整到A平面同样的高度。
8)将A,B,C,D四段数据连接成一张平面。设深度最大值为Dmax,最小值为Dmin。
P[i][j]=(D[i][j]-Dmin)×
256/(Dmax-Dmin)
(3)
利用式(3),将各图像转化为灰度图像,利用图像的匹配法连接图像(此处不再赘述)。
9)计算平面度,截面图等应用数据。
本文提出的墙体平面度测量系统结合现代电子技术,激光技术,图像处理技术应用于建筑行业的墙体平面度测量,是一个跨行业多学科综合性解决方案。通过论证,相比于以往的测量技术,该方案测量速度快,效率高,便于携带,价格合理,具有很高的商业价值。