APP下载

多线结构光堆积物三维测量方法研究

2019-12-14杨以铁郭天太

中国测试 2019年11期
关键词:精确度摄像机重构

杨以铁,郭天太,孔 明

(中国计量大学计量测试工程学院,浙江 杭州 310018)

0 引 言

近年来,机器视觉在工业制造领域得到快速发展;其中,结构光测量作为三维测量技术重要组成部分,拥有测量效率高、精确度高、实用性强等特点,广泛应用于工业测量领域。工业生产中,需对各种堆积物进行测量,以判断生产计划的执行程度或库存货物的量,如煤堆、矿堆等[1]。因此,实现煤堆体积和质量的快速测量具有广泛的应用前景。然而,大型露天煤场的煤堆体积大、形状不规则,导致测量难度大、测量精确度不高。

目前,基于多线结构光表面轮廓测量系统的研究,能实现对零件、工艺品等进行高精度的三维重构[2-3]。Lilienblum等[4]使用线扫描相机结合结构光,提出一种新的光学三维表面重建技术。根据线扫描图像捕获的特殊性,利用分布式光和没有遮光的元件,获得与传统线光相当的光强度,且光条纹可以与拍摄的相机线同步切换,实现了连续测量,单次表面扫描就能得到高质量三维重建。Lin等[5]利用高动态范围成像技术提出一种新颖的结构光传感方法,将相同图案索引的图像融合在一起以获得高动态范围辐射图,且三维重建结果具有较高精确度 。工业领域有多种方法可实现三维重构,但是测量目标物体较小,测量环境要求较高,无法满足测量大型堆积物高精度、快速扫描、低成本的需求。

基于此,本文提出一种新型多线结构光三维测量方法,通过直线滑台的线性移动,使多束激光条扫过堆积物表面,获取物体表面二维信息,并对采集到的图像有效像素点进行深度计算,得到各光条像素点空间坐标,实现小堆积物的体积测量,累加小堆积物的体积即可得到大型堆积物的体积。

1 系统测量原理

测量过程中,使用平行激光器在待测物体表面投影25条激光平面,摄像机获取目标的反射光线,在检测器上成像,获取多条待测物体表面轮廓信息畸变光条的图像。图像传入计算机,对带有待测物体表面轮廓信息的调制光束目标图像进行预处理和深度计算,转换成光条上每个光点的高度变化。

多线结构测量基于三角测量原理,如图1所示,物镜的光轴、激光器的轴线和CCD线阵,三者位于同一平面内,当直线滑台的位置发生改变时,畸变光条所成的像在检测器上也发生相应位移。通过像移和实际位移之间的关系式,真实的物体位移可以由对像移的检测和计算得到。该系统原理参数的标定结果直接影响三维重构结果的精确度。

图1 三维重构测量系统原理

如图所示,O为摄像机镜头中心,B为激光器镜头中心,摄像机与激光器之间的距离OB=d,直线滑台移动的位移为 ∆d。激光器投射出多个光平面到待测物体表面,与XOY面的夹角为 α0,第i个间距投影夹角为 αi,光平面之间的夹角记为 ω。摄像机的镜头光轴OD与OY轴呈 β角,摄像机的水平视场角为 2β1,垂直视场角为 2β2。任意物点P(x,y,z)在摄像机成像平面X0O0Z0上为P′(x′,y′,z′),摄像机水平方向X0上的像素序号为n、总像素数为(2N+1),0<n<2N+1,摄像机像素在垂直方向Y0上的像素序号记为m,总像素数为 (2M+1),0<m<2M+1。根据图1中的几何关系[6]可知:

其中,β、β1、β2、αi、d是预先标定的常数,n、N、m、M由图像得到。本方法利用直线滑台使结构光产生相位变化,故公式中增加了位移 ∆d,∆d为直线滑台带动激光器产生的相位差,由相机连续拍摄采集图像的时间间隔和直线滑台运动速度决定,能实现在线动态实时精准测量且具有环境抗干扰性强的特点;采用多线激光器,提高测量效率同时降低了系统的复杂程度。标定结果为:水平视场角 2β1=48.5°,垂直视场角 2β2=24.6°,α=92.68236°。相机采集图片像素数为 1 152(行)× 684(列),故2N+1=1152个,2M+1=684 个。

2 深度图像的获取和计算

本文通过基于多线结构光三维重构系统获取深度图像,从而实现三维重构[7]。通过滑台的线性移动,使25条多线结构光投射在待测物体表面,摄像机采集带有畸变光条的图像并传入计算机。通过OPENCV对采集的图像进行处理,需要将红色的畸变光条从原始图像中提取出来,然后进行黑白化并使用Steger算法提取光条中心,膨胀和腐蚀后进行深度计算,得到深度图像。

2.1 获取红色光条

彩色图像中每个像素点都有3个值表示,由RGB三通道基本单位组成[8]。本文使用阈值法提取原始图像中的红色通道,获取图像中的红色光条。提取红色光条可以减小环境对测量结果造成的误差,能获取并有效处理目标待测物的三维信息。输入为摄像机采集到的原始彩色图像,首先读取图像并以Mat格式保存,获取图像大小并记录行和列形式,调整图像大小;接着调用OPENCV中提供的split()函数,遍历整个图像每个像素单元的颜色通道,实现颜色通道分离;通过阈值法提取红色分量,并将其他分量取值为0,即黑色。阈值设置越高提取的红色像素越少,会出现断线的现象;阈值设置过低提取的红色像素越多,则会出现冗余的红色分量,出现噪声,所以选取合适的阈值是保证准确提取红色光条的关键。图2为原始采集的图像,图3为提取红色光条的图像。

图2 原始图像

2.2 黑白化

首先需要调用OPENCV中的 cvGetSize ()函数获取图像宽、高、像素的位深度和通道数,其次调用OPENCV中提供的cvCvtColor ()函数将提取红色光条后的彩色图像进行灰度化,并且保存灰度图。调用cvThreshold()函数对单通道数组应用固定阈值操作,输入灰度图,设置固定阈值,阈值越高线条越细,过细的线条会影像提取光条中心的结果,阈值过低则会出现噪声,选取合适黑白化的固定阈值有利于光条中心的提取。黑白二值化的结果如图4所示。

图3 提取红色光条后的图像

图4 黑白二值化

2.3 提取光条中心

光条中心的提取是线结构光三维重构方法的关键和难点,直接影响重构结果的精确度。常用的提取光条中心的算法有重心法、模板匹配法、极值法、拟合法等[9]。上述方法是基于摄像机图像的行或列,只能拟合近似直线的条纹。在实际测量中,光条会受被测物曲面而产生畸变,上述方法的测量精确度会受到影响。

本文采用经典的基于Hessian矩阵的Steger算法提取光条中心[10-12]。Hessian矩阵可以得到图像像素各方向上灰度梯度变化,能够实现光条中心亚像素精确度定位。首先通过Hessian矩阵得到光条的法线方向,然后在法线方向利用泰勒展开得到亚像素位置。对于图像中激光条纹上的任意一点(x,y),Hessian矩阵可以表示为

式中rxx表示图像沿x的二阶偏导数,ryy表示图像沿y的二阶偏导数,rxy表示图像沿x的一阶偏导数并沿y的一阶偏导数。需要注意的是在求Hessian矩阵之前需要对图像进行高斯滤波,高斯滤波时,设置高斯方差其中 ε为光条宽度。Hessian矩阵求取的特征向量以及对应的特征值,较大特征值所对应的特征向量是垂直于直线的,较小特征值对应的特征向量是沿着直线方向的。其最大特(征值)对应的特征向量对应于光条的法线方向,用nx,ny表示,以点(x0,y0)为基准点,则光条中心的亚像素坐标为

在提取光条前需将黑白二值化后的图像作为输入,对图像进行高斯滤波。高斯滤波器模板的生成最重要的参数就是高斯分布的标准差 σ。如果 σ较小,对图像的平滑效果不明显。对图片求二阶偏导,求特征值最大时对应的特征向量,设置连接点的最大距离。将提取的光条中心的点进行保存并连接,提取光条中心的结果如图5所示,将提取的光条中心提取出来如图6所示。

图5 提取光条中心结果

图6 光条中心提取结果

2.4 膨胀和腐蚀

膨胀和腐蚀操作是形态学处理的基础[13]。进行膨胀操作时,会将图像中的亮区扩展;进行腐蚀操作时,图像中的亮区变细。膨胀和腐蚀操作可以分为开闭运算,开运算为先腐蚀再膨胀;闭运算为先膨胀再腐蚀。开运算可以理解为将图像中靠近但不相连的地方打开,使得原来的缝隙变大。闭运算能合并在一起的地方尽量合并,把图像中缝隙填满。本文方法使用闭运算,将光条的缝隙填满,消除深度计算时光条中黑色像素点产生的误差。膨胀和腐蚀的结果如图7、图8所示。

图7 膨胀处理结果

图8 腐蚀处理结果

2.5 深度图像的计算

为了适用于机械结构和利用移动滑轨采集多幅多线结构光图像的方法,对原有计算方法进行了改进[14]。直线滑台以1 .2mm/s的速度线性移动,相机驱动设置为间隔H秒拍一张照片。若系统连续采集的有效图像为Q张,则要求1 .2×H×Q大于等于相邻条纹之间的距离,需要保证多线结构光能完整地扫描遍整个待测物体表面。因此,以每秒拍一张照片并连续一次性采集7张图像,故可以得出每张图像拍摄时滑台移动的距离 ∆d=1.2mm。深度计算需要进行如下步骤:由下至上,从左到右,遍历图像中所有像素点,求出每一个像素点单通道的值,结果在0~255之间。此时条纹已经非常细了,每条条纹宽度在十几个像素之内,但需要控制条纹宽度像素刷选最优结果值,否则计算量过大会造成数据冗余及降低系统效率,所以只选取靠近条纹中心数值为255的像素进行保存并深度计算。将保存的像素按列由下至上从左到右依次带入式(1)、式(2)、式(3)中,计算图像中条纹上像素的空间坐标值,从而得到深度图像,如图9所示。

图9 深度图像计算结果

3 实验结果

为验证三维重构系统的精确度,将计算得到的点云数据通过对点云在空间坐标系中的位置进行误差分析。如图10三维重构分析图所示,为了验证方法精确度进行了5组实验,通过量杯量取一定体积的沙子,分别进行三维重构。将生成的点云数据导入到MATLAB,得到沙堆的高度和直径,计算沙堆的体积与真实的体积进行误差分析。

图10 三维重构分析图

实验结果如表1所示,通过测量5组沙堆的体积,其相对误差满足在2%以内。在当前实验条件下,获得了比较满意的结果,但是精确度还有待进一步提高。

表1 三维重构精确度分析表

4 结束语

本文提出了一种新型的多线结构光三维重构系统方法,提高了提取光条的准确性并提高了系统的精确度。同时通过对深度计算公式的改进,使得算法较好地适用于该系统,改善了重构效果。在堆积物运输生产过程中,传送带是必不可少的环节,该系统安装传送带上,通过累加测量小堆积物体积,可实现大型堆积物系统的高精度在线实时测量和监控,因此具有较好的应用价值。

猜你喜欢

精确度摄像机重构
视频压缩感知采样率自适应的帧间片匹配重构
长城叙事的重构
高盐肥胖心肌重构防治有新策略
“硬核”定位系统入驻兖矿集团,精确度以厘米计算
放缩法在递推数列中的再探究
北京的重构与再造
新安讯士Q6155-E PTZ摄像机
安讯士新AXIS M31网络摄像机
如何消除和缓解“摄像机恐惧症”
高清新阵营