基于双三角测距原理的双线激光三维扫描系统的研制
2019-02-18迟克浩陈梦雯吴彦达陈文娟徐志杰
迟克浩 陈梦雯 吴彦达 陈文娟 徐志杰
(中国石油大学(华东)理学院,山东 青岛 266580)
三维扫描技术是一种利用光电信息技术获取物体三维信息的立体成像技术,在产品逆向重构、文物复原、三维建模等领域有着广泛的应用[1-2]。但目前大部分扫描仪结构复杂,操作繁琐,使用门槛较高。为弥补上述不足,研制了一种基于三角测距原理的双线激光三维扫描系统,利用双线激光获取物体完整三维结构,实现了大幅降低操作难度并保证扫描效率的目的。相比于市场上已有的三维扫描仪[3],本系统设计成本低,且体积轻巧,方便使用,仅需利用图像软件即可进行效率较高的三维扫描工作。
1 系统工作原理
1.1 双三角测距原理
系统工作的主要原理是双三角测距原理。系统向目标物发射两束线激光,同时摄像头接收从目标物上反射的激光。随着目标物表面与本仪器的距离变化,摄像头感光元件上的激光光点的位置亦有所不同,可以得到目标物各点的距离数据,进而确定物体的空间位置。原理图如图1所示:
图1 双三角测距原理示意图
由图中所示的几何关系可以得到△BOA∽△CDO,△OGH∽△IOJ,激光光点、摄像头,与激光本身构成三角形。根据相似三角形法则可以得到关系式:
(1)
即:
(2)
式中a、a1表示激光在照射到目标物之后反射到摄像头感光元件(例如COMS、CCD等)上的成像点到边缘的距离。随着被测物体的距离改变,a、a1也会发生改变,两者成反比。当距离很近时,a、a1很大,可能会超出CCD检测器范围,无法测量;当距离很远,a、a1很小则要求CCD检测器灵敏度较高。
根据式(2)可计算出目标物到摄像头光心平面的垂直距离L、L1:
(3)
通过摄像头感光元件上的激光光点位置,可以计算出摄像头位于三角形中的角度。在△BEA、△FGH中,通过角α的正弦关系可计算出目标物与激光器之间的直线距离x、x1为
(4)
在得到目标物外表面各点与线状激光器之间的直线距离后,系统通过三角关系可得到各点的位置数据,换算为三维坐标(xyz)。摄像头通过感光元件接收到的激光光点亮度大小测得激光反射强度,以及对目标物表面的颜色识别得到RGB(颜色)信息。随后系统将所有点的三维坐标(xyz)、激光反射强度、RGB信息集中整合,形成目标物的点云图像。
1.2 光斑质心原理
为确定目标物点云在空间的排列,要通过光斑的质心原理进行计算反射到CMOS上的激光光斑的空间位置。质心原理是将能量重心与物体质心类比,通过图像的能量密度函数一阶空间矩和零阶空间矩的比值来确定激光光斑精确位置的物理方法。
假设平面内单个光斑的质心位置为(Xc,Yc)[7],该位置可由图像的能量重心计算公式得到,即满足:
式中,Xc、Yc表示计算出来的质心坐标;x、y分别表示像平面的横纵轴坐标;Aw表示限定的积分区域,称为质心窗口,它包含了光斑覆盖的所有有效像素点;I(x,y)是光斑在探测器表面的光强分布函数,其强度分布如图2所示。
图2 探测器表面光强分布图
但是CMOS只能获取光斑强度的采样值,因此上述积分在实际应用中变为累加求和:
质心窗口由n个像元组成,(xk,yk)为第k像元的几何坐标,Ik为第k个像元的图像灰度函数的采样值,得到的(Xc,Yc)即为CMOS感光平面上激光光斑的坐标。
1.3 泊松重建原理
系统通过三维扫描工作获取了目标物点云作为物体表面的位置,但点云是离散图像,几何特性不明显,且无法直接处理。因此通过泊松曲面重建原理实现优化点云并将其重建为闭合图像的目的。泊松曲面重建是基于泊松方程的图形处理方法[8]。
假设将感光平面接收到的图形分割为m*n的灰度图像如图3所示,以左上角为图像原点,纵向下方延伸建立x轴,横向右侧延伸为y轴。a为位于坐标(x,y)处的一个像素。像素点a的四邻域N4(a)={(x+1,y),(x-1,y),(x,y+1),(x,y-1)}。V表示为邻接性灰度值的集合,则图像中像素a的散度为
(9)
图3 图像分割示意图
通过载物转台带动目标物进行转动,摄像头对目标物进行多角度拍摄,之后激光器发出激光,COMS接收反射光点完成该角度的扫描,重复上述过程直至完成扫描工作,利用MVS(Multi-viewstereo)多视角立体重建算法与SFM(Structure from motion)运动场景恢复算法将拍摄的图片与点云进行特征匹配,对出现缺陷或冗余的部分进行处理。若检测到在某一区域内出现点云缺失情况,根据式(9)对此区域灰度值进行预测,起到弥补作用。摄像头采集到的图像包括目标物体与背景,上位机将背景部分像素设为0以突出目标物体轮廓,以达到重建目标物体表面信息和去除环境噪声导致的噪声点云的目的。摄像头随目标物体转动进行图像采集,并对图像分别重建[9,10],如图4所示。
图4 摄像头图像采集示意图
2 系统设计
2.1 硬件设计
系统实物如图5所示:
图5 实物图
系统主要由摄像头、线状激光器、载物转台组成。线状激光器选用半导体激光器,功率为5mW,激光波长650nm,线宽0.5mm。带动载物转台转动的步进电机选用42步进电机,步距角1.8°。摄像头放置于主体支架上部,两端通过短丝杠固定线状激光器,Arduino Uno与A4988电机驱动模块嵌在支架内部。载物转台通过长丝杠与主体支架相连。
在系统工作之前进行摄像头的标定。在标定过程中,调节线状激光器发出的线状激光为竖直位置,并通过标定板的网格对激光的校准进行辅助。随后进行摄像头的标定,步进电机带动标定板转动。摄像头检测出标定板上的特征点,并根据摄像头的内参数与相对目标物的距离信息计算出畸变系数,优化求精,完成标定工作。
标定完成后,上位机通过串口将控制信息发送给单片机,单片机产生对应的PWM信号使步进电机带动载物盘与目标物进行转动。当转动至匀速时,线状激光器发射竖直线激光照射到目标物表面,在表面经过漫反射射向COMS,接收到反射的激光光点。在得到COMS上激光光点位置后,根据双三角测距原理确定与该激光光点对应的目标物点位,并基于光斑质心原理,针对于不同位置的光强大小与摄像机识别的RGB信息进行云点优化,随后通过USB将数据发送至电脑上位机,上位机基于泊松重建原理进行点云优化,生成目标物的点云图像。
2.2 软件设计
2.2.1 硬件的控制
系统利用Arduino IDE编程平台配合Arduino Uno单片机使用。在Arduino单片机连接电脑时,利用USB协议传输代码,可直接将系统代码烧录至单片机,控制本系统中线状激光器与步进电机的使用。系统代码为Hex文件16进制码(以ASCII码形式显示),封装为数据包,便于烧录使用。
2.2.2 点云图像的获取与处理
为满足系统需求自主设计一款上位机软件。计算机通过此软件辅助激光校准,识别并连接摄像头所在串口,控制摄像头标定工作,向主板中上传固件。在准备工作完成后,进行快速的简单扫描或可捕捉目标物颜色的纹理扫描。在扫描工作结束后,通过Meshlab三维图像处理软件对获取到的目标物点云图像进行二次处理。
对点云图像产生干扰的因素主要有:环境光过强、载物盘的轻微机械振动使得目标物产生轻微晃动、目标物表面的反射特性以及表面粗糙度。由于这些因素,会不可避免地产生测量噪点、误差量化及几何失真等问题。为完善点云图像,利用Meshlab进行点云除噪、点云合并、点云精简,得到目标物完整的扫描图像。具体工作方式为:将扫描到的图像导入Meshlab,进行带纹理的二次边缘塌陷检测。在保留图像拓扑结构的同时,将点云中明显的噪点删除,补充丢失的测量点,与整体的点云完整地衔接,并在不丢失棱角等几何结构的条件下进行精简冗杂的点进行过滤删除。
2.3 工作流程
在三维扫描仪工作的准备阶段进行摄像头标定。标定完成后开始扫描,载物转台带动目标物转动。线状激光器发出线激光投射在物体表面,反射的激光光点被摄像头捕捉。上位机软件根据采集到的距离信息与激光光点的位置,获得目标物的点云图像。
系统工作流程如图6所示:
3 系统测试
现利用该系统对目标物进行扫描,得到目标物实物图与扫描效果图对比如图7所示:
图9 对不同角度的间距数值偏差分析图像
图7 目标物实物图与扫描效果图对比
在物体转动一周后,将所有处理后的图像整合,弥补扫描得到的点云图像的缺陷。将图像局部放大后进行重建效果对比如8所示:
图8 重建效果对比
为测试系统的扫描效果,现针对系统的扫描偏差进行分析:
3.1 系统对目标物在不同角度的扫描效果分析
经测量,目标物的高度为8.69cm,底径为5.10cm,杯口直径为7.00cm。将目标物放置于载物盘中央。打开激光照射目标物,选定激光线段中点为参考点。设目标物初始位置转动角度为0°。根据三角测距原理,可得到线状激光器与目标物间距数值。实测得间距数值为27.4628cm。进行扫描工作时控制步进电机步距角为1.5°,故选定每1.5°读取系统所测间距数值,与实测间距数值进行扫描偏差分析。
图9为对不同角度的间距数值偏差分析图像:
由图像可知系统在各角度扫描时的相对标准偏差均小于1%,在103.5°时相对标准偏差最大,为0.588%。通过图像数据基本可以确定,系统在不同角度时扫描偏差均很小,精密度理想,效果良好。
3.2 系统对目标物不同高度点的扫描效果分析
打开激光照射目标物,选定激光线段上端点、中心、下端点为参考点。实测得线状激光器与上端点、中点、下端点距离分别为30.4341cm、27.4658cm、25.1276cm。每转动1.5°读取系统所测与各点间距数值,与实测间距数值进行扫描偏差分析。
图10为对不同高度的间距数值偏差分析图像:
图10 对不同高度的间距数值偏差分析图像
根据图中数据可知,在目标物转过不同角度时线状激光器到3个参考点间距数值的相对标准偏差小于1%,在355.5°时线状激光器到上端点间距数值的相对标准偏差最大为0.327%,在103.5°时线状激光器到中点间距数值的相对标准偏差最大为0.588%,在57°时线状激光器到下端点间距数值的相对标准偏差最大为0.514%。通过图像数据基本可以确定,系统对目标物不同高度的点扫描的偏差很小,精密度理想,效果良好。
4 结语
本系统根据摄像头的标定技术,并基于三角测距原理得到了目标物的点云图像。通过上位机的图像处理软件对点云进行处理,得到目标物的完整三维图像。经测试后,系统的扫描工作偏差极小,精确度高,可以进行高效的扫描工作。成本较低,操作简单。由于系统本身的结构限制,目标物体的内部结构无法获取,下一步将针对内部图像无法获取的问题,改进系统的实物结构并完善算法,以满足更广泛的工程应用。