张烨佼 马连成 段金刚 刘洪臻 孙效玉 刘煜祖 王仁炎
(1.东北大学智慧矿山研究中心,辽宁 沈阳 110004;2.鞍钢集团矿业有限公司齐大山铁矿,辽宁 鞍山 114000;3.紫金矿业集团股份有限公司,福建 龙岩 364000)
露天矿生产过程中,运输成本占据了总成本的60%,计量工作的准确与否对矿山企业的成本管理、司机考核都具有十分重要的意义[1-4]。
卡车装载计量方法主要有重量测量与体积测量。其中装载体积测量比较成熟的方法是三维激光扫描。文献[5]使用2 个激光雷达对移动中的卡车进行测量,重建卡车及其负载,通过卡车的激光雷达测量,获取装载物的三维点云,借助卡车铲斗的先验模型创建负载网格,最终根据网格估算荷载体积。文献[6]采用固定式单线激光雷达对目标车辆进行俯视扫描,基于车辆形态特征分割出载荷物顶部点云,然后经时态校正,并与预先构建的车辆信息数据库进行匹配,重建出载荷物的三维表面模型,最后通过对载荷物表面模型的切片积分实现方量核算。文献[7]利用双目立体相机获取电铲铲斗的三维点云,利用机器学习方法从原始点云中分割出装载铲斗装载物表面点云,并和预先构建的铲斗模型进行差分计算装载量。摄影测量方法也是一种比较常见的体积计算测量方法,文献[8]使用搭载数码相机的无人机,从多个视角拍摄矿卡,采用数字摄影测量技术重建矿卡装载物的表面三维模型,通过体积积分计算矿卡装载量。上述文献中提到的方法,三维激光扫描设备昂贵,前期点云图像的拼接处理繁琐[9],摄影测量方法则后续处理工作量很大[10]。
目前市面上推出了基于飞行时间测量技术的新型相机—TOF 相机,使用该相机可直接获取对象的深度图、灰度图和点云数据,可用于三维建模与体积计算。文献[11]使用TOF 相机,以每秒15 帧以上的速度获取患者胸部和腹部的点云模型,对胸部和腹部进行三维建模,计算出胸部和腹部等不同区域的呼吸信号。
TOF 相机模组具有体积小、方便灵活、获取数据简便、实时性强等优点,作为一种新兴技术在自动驾驶、动作识别跟踪、虚拟现实、医学、机器人自主导航、工业自动化装配等众多领域都有巨大的应用潜力[12]。在国内露天矿应用尚属空白,因此本研究提出基于TOF 相机扫描的矿卡装载体积计算方法,并在实验室环境下进行了试验,取得了较为满意的效果。
TOF 技术,即飞行时间技术,相机发射光脉冲信号,脉冲信号遇到障碍物(被测物体)之后返回到相机,此时测得发射光脉冲信号和反射光脉冲信号的相位差或者时间差,即可计算出被测物体与测量设备的距离[13],测量的具体原理如图1 所示。
图1 TOF 相机测量原理Fig.1 Measurement principle diagram of TOF camera
TOF 测量距离计算:
式中,D为相机与被测物体的距离;C为光速常量;f为信号的调制频率;Δφ为发射光脉冲信号和接收信号之间的相位差。
由式(1)可知,在调制频率不变的条件下,测量距离的远近由相位差的大小决定。
基于TOF 技术的相机称为TOF 相机,它由调制光发射器和CMOS 图像传感器组成。和3D 激光扫描传感器技术原理相似,不同点在于3D 激光扫描技术以点进行扫描,TOF 相机是以面的形式遍历整个图像的像素点来形成深度图像信息[14]。TOF 相机并不需要扫描,就可以对整个场景完成深度测量,同时还能从取得的相位信息中获得强度信息[15]。
实验材料主要包括相机、拍摄架、矿车模型、碎石、量杯,如图2 所示。
图2 实验材料实物图Fig.2 Physical diagram of experimental materials
(1)相机。拍摄所用TOF 相机型号为SmartToF® TC-E2 系列,该型号相机的相关参数见表1。可通过Micro USB 2.0 接口以30 FPS 的速度输出QVGA(320×240)尺寸的深度图、灰度图及点云图。产品采用850 nm LED 光源。测距范围可达6 m,精度可达mm 级。配套的软件支持Windows/Linux/ROS/Android 等多个平台,同时支持C/C++/Python/Matlab/Java/C#等开发语言。运行环境为处理器Intel Core i5-7200U 2.7 GHz 和8 GB RAM 的笔记本电脑。
表1 SmartToF® TC-E2 系列参数Table 1 SmartToF® TC-E2 series parameters
(2)拍摄架。由于TOF 相机拍摄近景敏感度较强,为了保证拍摄高度精确以及防止相机抖动造成的相位角度偏移,实验室使用拍摄架固定相机。
(3)矿车模型。尺寸为270 mm×150 mm×150 mm,装载容积为850 ml。
(4)碎石。若干,模拟装载物。
(5)量杯。量取200 ml 碎石,装载矿车模型,用于实验体积精度对比。
基于TOF 相机的矿车装载体积计算实验方案主要包括3 部分:数据采集准备、点云数据处理准备、装载体积计算。
(1)数据采集准备。根据矿车模型容量与量杯大小,计划采集5 种卡车装载模式,拍摄方式为俯视,经过实验室多次测试,拍摄高度在30~60 cm 左右时(摄像头到车斗的距离),取得的点云图效果最好,没有成片的黑斑。拍摄高度取30、45、60 cm 3 种。普通相机拍摄的5 种装载模式如图3 所示。
图3 相机模式下5 种装载类别示意Fig.3 Schematic diagram of five loading categories in camera mode
(2)点云处理准备。TOF 相机采集的数据模式包括灰度图、深度图、点云图3 种类型,要进行体积计算,首先需要对点云处理。点云处理软件目前市面上有很多种,例如Realworks、Cyclone、TerraSolid、cloudcompare 等等。Cloudcompare 是一款三维点云处理软件,它设计之初就是用来做点云比较。在进行点云对比这类任务时具有出色的性能。此外它具有体积小、运行速度快、开源、可进行批处理等优点。考虑到本研究中体积计算和点云处理多需要进行点云的比较和配准工作,cloudcompare 是最适合的选择。
(3)体积计算。体积计算分2 种方法,一种是将装载后的点云与空车点云进行配准,配准之后两者之间形成的多余部分即为装载矿石的体积,称为累计体积。另一种是对相邻装车点云进行配准,计算多余部分的体积,计算结果为单次装载体积。
在windows 系统下,SmartToF® TC-E2 自带的SDK 配套 SmartToFViewer 可以直观显示测量效果,包括灰度图、深度图、点云图3 种类型。以空车状态,TOF 相机到矿车的测量距离30 cm 为例,在各项参数都未进行设置的情况下采集的初始数据如图4。
从图4 可以看出,在各项参数都未进行设置的情况下,图像质量较差,存在较多的黑斑和噪声点。黑斑表示过曝,此时采集到的数据是无效的,需要减少曝光时间;但减少曝光时间会使得光照的有效范围变小,矿车模型周围颜色变为黑色,也表示无效部分。
图4 TOF 相机采集的空车3 种初始图像Fig.4 Three initial images of empty vehicle collected by TOF camera
图像背景噪声点较多,需要在控制曝光时间防止黑斑出现的情况下,尽量增加曝光时间,此外还可以使用幅值滤波来控制图像噪点,以此来过滤光照不佳的点和杂点。
此外,原始的点云数据包含着大量的孤立点和离散点。在点云处理中滤波作为预处理的第一步,对后续的影响比较大,只有在滤波预处理中将噪声点、离群点、孔洞等进行处理之后,才能够更好地进行配准、特征提取等后续工作。
经过积分时间参数设置和幅值滤波调整后,取得的较高质量的图像如图5 所示。
图5 经过积分时间设置和幅值滤波调整后的图像Fig.5 Images after integration time setting and amplitude filtering adjustment
SmartToFViewer 可输出当前显示图像的点云图,输出的文件格式为.Ply。
将上文取到的点云图载入到 cloudcompare 中,对装载点云图做后续的处理工作。
实验当中,由于测量高度不变,各点云图之间除了实际上的高程有些许误差以外,从其他视图上来看基本上是完全重叠的。因此可统一对重叠在一起的5 种装载点云选取俯视图视角,框选出矿车主体部分,使用分割功能分割掉其他多余部,以此去除掉全部的杂点和背景点。去除掉杂点和多余的背景点的5 种点云图如图6 所示。
图6 处理之后的点云图Fig.6 Point cloud after processing
处理完毕后,对余下的矿车主体部分进行配准,消除高程误差。
点云配准即是将处在不同位置或者视角的点云数据经过旋转或平移等操作整合到同一个坐标系下的过程,进行配准的2 个点云可以经过旋转平移等一系列位置变换完全重合。
点云配准总体上可以分为粗略与精确配准2 种方法。
粗略配准是在不知道任何初始相对位置的情况下进行的配准,主要目的是快速估算一个大致的点云配准。要求计算速度较高,对于计算结果的精确度要求则不高。本次实验室环境下由于使用拍摄架,拍摄方位和拍摄高度固定,因此不会用到粗略配准。
精配准的目的是在粗配准的基础上让点云之间的空间位置差别最小化。最为广泛的精算法是迭代最近点算法(ICP 算法)[16]。ICP 算法通过计算源点云与目标点云对应点的距离,构造旋转平移矩阵,通过旋转平移对源点云进行变换,计算变换之后的均方差。若均方差满足误差条件,则算法结束。否则继续重复迭代直至误差满足条件。ICP 算法的优点是简单,不必对点云进行分割和特征提取即可进行配准,并且初值较好的情况下,精度和收敛性都很好。
通过cloudcompare 提供的精准ICP 配准算法,对预处理过后的5 种装载点云进行配准。配准后的点云如图6。
cloudcompare 拥有用于计算点云与任意平面(恒定高度)或2 个点云之间的体积的功能。它将点云底面划分成离散的网格,计算每个网格对应单元的体积并相加求和。它依赖于点云的光栅化/网格化过程,因此它有点像光栅化工具。
生成栅格网格的过程当中,如果没有点落在给定的单元格内,则该单元格被视作空单元格(可将其视作类似于产生了空洞)。
体积计算则是将每个单元的体积求和。这个单元体积则是每个单元格的面积乘以高度差。只有对于底部点云和顶部点云都具有有效高度值的单元格才能用于体积计算,空单元格将被忽略不计。因此,需要设置合适的网格长度来尽量减少空单元格的个数,并在必要时填充剩余的空单元格,以尽量减少体积计算的误差。
体积计算公式为
式中,Gi,Gj为网格长度;Δh为高度差。
选择点云之后,需要处理网格中仍为空的单元格。空单元格不能用于体积计算。因此首先需要设置合适的网格长度来最大程度地减少空单元格的数量。网格长度不能选得太大或太小,太小将会有很多单元成为空单元格,太大则会出现较大凸包,产生较大计算误差。cloudcompare 会在存在较多空单元格时显示红色警告,也会在计算结果当中显示匹配到的所有非空单元格的数目。
对于剩余的空单元格的处理方式有很多种选择。留空、取最小高度、取最大高度、取平均值,取指定值(该值需要输入)、插值。
最常见的选择是插值。它是取空单元格最近的非空相邻单元格的线性插值来代替空单元格。插值用于确认网格间距是否够大,相比较其他选择能更多地减少空单元格数量。
选择插值之后,经过多次长度选择,单元格长度选择0.003 m 时,单元格匹配度最高,匹配度为98.3%。此时分别进行装载体积计算。
按照如上方法,采用装载后点云与空车点云进行叠加计算卡车总装载体积、采用前后2 次装载点云叠加计算单次量杯装载体积。采用3 种不同高度对4种不同装载体积进行实验,得到数据分别如表2、表3所示。
表2 计算累计装载体积Table 2 Calculation of cumulative loading volume
表3 计算单次装载体积Table 3 Calculation of single loading volume
表中计算结果表明,2 种体积计算结果与真实值的平均偏差均在5%之内,能够满足现场实际需要。但2 种体积计算方法之间存在误差,即总装载量不等于各次装载量之和,究竟是cloudcompare 软件问题,还是材料松散问题或相机拍摄问题,有待后续进一步实验研究。
TOF 相机体积小,获取数据简单方便,作为一种新兴技术在三维模型与体积计算方面有巨大的应用潜力,据此本研究提出了基于TOF 相机的矿车装载量体积计量方法,主要研究结论如下:
(1)采用装载后点云与空车点云叠加、前后2 次装载点云叠加2 种方法,对3 种不同高度5 种装载量拍摄的矿车模型点云数据进行处理,分别计算矿车总装载体积、单次量杯装载体积,平均误差不超过5%,满足露天矿卡车装载计量精度要求。
(2)选择cloudcompare 对点云数据进行降噪、配准以及体积计算,减少了点云处理工作量,但采用该方法计算出的体积有一定偏差,后续需要进一步完善计量方法。
(3)该方法较三维激光扫描经济实惠,较摄影测量后续处理工作量小,后续将进一步加强实验研究,并早日进行现场试验。