张煜轩
摘 要:为了弥补现有的利用深度图像进行体积测量方案中只能针对中小型货物的缺点,提出了一种基于点云配准的中大型物体体积快速测量方案。首先,利用深度相机获取物体深度图像及点云信息。针对难以单次获取完整表面和深度的中大型物体,多次测量货物相邻表面并利用点云配准算法拟合出较为完整的物体表面。最后对拟合表面体素滤波、直通滤波和物体分割提取等处理后,测算提取出的目标物体体积。经验证,该种方法测算物体体积相对误差低于5%,在固定场景下可实时精准测量,具有较强的鲁棒性。
关键词:点云配准;深度图像;体积测量;点云滤波;表面拟合
中大型货物体积测量在各种场景均有广泛的应用需求。现有货物体积测量方案以激光搭配旋转舵机收集扫描点云数据为主[1-2],这类方案受限于舵机旋转速度,因而估算体积速度较慢,而且使用激光传感器成本较高。另有部分方案利用双目相机或者深度相机来估算货物体积[3-4]。中大型货物在深度相机单个视角下难以同时获取完整表面及对应的相邻面深度信息。因此,现有的深度相机测量方案只适用于具有完整表面和深度信息的小型物体。
利用深度相机来有效测量中大型货物的体积,需将不同视角下捕获的深度图像点云信息配准到同一坐标系下,用以联合拟合出测量体积所需的完整表面。本研究提出一种基于点云配准的中大型货物体积快速测量方案,以弥补现有深度相机测量体积方案局限于小型物体的不足。本方案与目前主流的物体体积测量方案的区别有两点:(1)针对体积较大的物体,通过最近点搜索法(Iterative Closest Point,ICP)将不同视角下捕获的物体深度点云配准到同一坐标系下,用以联合拟合出测量体积所需的表面信息。(2)区别于基于二维图像的目标识别处理算法,直接利用三维点云聚类分割,快速提取出有效目标。
1 算法概述
利用Kinect深度相机获取的深度图像,在点云库(Point Cloud Library,PCL)的支持下,利用点云配准及目标提取算法进行体积测量,主要流程如图1所示。受Kinect深度相机有效景深影响,对于货物体积过于庞大、单次采集的点云图不能完整拟合出目标物体表面的情况,移动深度相机再次测量该侧面,如图2所示。最终采集到的图像应该包含完整测量信息,即包含待测物体某一完整表面及其对应侧面的深度信息。
针对连续两次获取的深度图像点云数据,各自提取图像里的NUFR特征点,并根据点云描述子将两幅点云里的特征点进行匹配。最后根据成功匹配的特征点利用ICP算法求两个点云的相对位姿,并将后者点云中的所有点根据相对位姿关系拟合到前者点云坐标系下[5]。如果匹配后的点云仍不能包含测算体积所需的完整信息,则再次获取点云深度图像,与上次配准的点云进行再次配准,直至包含完整信息。对配准以后的点云利用点云滤波、分割算法选取出仅包含待测物体的点云,最后计算体积。
2 点云配准
点云配准是指通过找到目标点云与基础点云中的特征点,然后利用匹配的特征点来求算两者的位姿变换关系,从而把目标点云拟合到基础点云中[6]。利用点云配准算法将多次采集的各个不同局部表面联合拟合出一个完整货物表面及其对应的高度边。
2.1 特征提取与匹配
点云特征是指在相机运动过程中观测到的比较有代表性、辨识度高的一些点,良好的特征点一般具有旋转平移不变形性、抗噪性和抗密度干扰性,一般在角点、边缘或者别的曲率变化较大的地方相对容易提取到。不同图像或者点云之间的特征点通过特征描述来进行匹配,成功匹配的特征点对可用来表示不同点云之间的运动关系。本研究主要利用局部最小二乘法提取两幅点云图中的法线特征。设由N个点组成的点云P{p1, p2, …, pn}中任意一点为,pi其半径为r内的邻域为,邻域内的质心为。点云pi协方差矩阵为:
(1)
C·vj=λj·vj(2)
其中λj为协方差矩阵C的特征值。令λj中的最小值λ为pi的特征向量,则法线的偏角为:
(3)
其中为点的法线向量。设法线的偏角阈值为θ0,若两个点云之中两点法线偏角之间的差值小于该阈值,则认为这两点是成功匹配的特征点。
2.2 位姿变换
如何准确获取各次采集的点云之间的相对位姿变换,对于联合各次采集的点云数据拟合一个完整物体表面至关重要。使用旋转矩阵(R)、平移向量(t)来联合表示相对位姿变换(T)。由于点云具有三维坐标,可采用迭代最近邻(Iterative Closest Points,,ICP)算法获取两对点云之间位姿变换。假设成功匹配的三维点对的集合为P={p1,p2,…,pn},Q={q1,q2,…,qn}。找到一个欧式变换矩阵T(R,t),使得对i均有:
pi=Rqi+t(4)
定义第i对点对的误差项:
ei=pi-(Rqi+t)(5)
构建最小二乘问题,求使所有误差项平方和达到极小的T*(R*,t*):(6)
定义两组点的质心:
将两组质心点带入公式(6):
(7)
由式(7)分析知:左边只和旋转矩阵R有关,而右边同时含有R,t,在求解R基础上,令第二项为0就能得到t。
(8)
其中:
Pi=pi-p,Qi=qi-q(9)
t*=p-Rq
展开关于R的误差项,得:
由于上式第一项与R无关,第二项RTR=I,也与R无关,因此优化式(9)的目标函数变为
(10)
定義矩阵:
W=
由于W是3x3的矩陣,对W进行奇异值分解,得
W=U(11)
其中,∑为奇异值组成的对角矩阵,对角线元素从大到小排列,而U和V为对角矩阵,当W满稚时:
R=UVT(12)
解得R后,再按式(6)求解t即可得到变换矩阵T(R,t)。
2.3 点云拟合
设待配准的基础点云和目标点云分别为M(m1,m2,...,mm)以及N(n1,n2,...,nn),通过匹配两个点云里面对应的法线特征后进行奇异值分解得到变换矩阵T(R,t)。对i∈N:
(13)
式中,T为式(11)解得的位姿变换矩阵,经过配准后的基础点云为(m1,m2,...,mm,n1,n2,...,nn)。
3 目标提取及测算
3.1 目标物体滤波
为准确快速地提取目标点云,需要先对具有噪声的深度图像进行体素滤波以提高点云处理速度,再进行平滑滤波处理以排除离群点干扰,最后利用直通滤波限定目标物体ROI区域。
3.1.1 体素滤波
由于原始深度图像点云数量巨大,直接用其进行点云迭代计算量大、效率低,而体素滤波可在不改变原有几何结构的前提下,对点云数量进行降采样,进而减少计算量,提升后续点云处理算法运算效率。经过各方向上设置的叶子节点大小均为1 cm的体素滤波后,可将点云数量减少到8万左右,同时保持目标物体的刚性结构不变,加速后续滤波及目标分割处理算法。
3.1.2 统计滤波
Kinect相机图像由于其成像特性,经过体素滤波的深度图像仍然包含有较多的非目标物体噪声凸点。因此,需要对目标物体再次进行针对噪声点的滤波处理以排除其干扰。为降低离群点对目标点云长宽高统计的干扰,提升点云处理的准确性,利用统计滤波来对点云进行进一步的平滑处理。
3.1.3 直通滤波
在测量目标物体时,由于深度相机点云的离散化特性或者底平面不平,目标物体底平面难以完全滤除,因此,可利用相机测量时相机与物体地平面的距离信息进行直通滤波,将物体底平面以下部分直接完全滤除,如图3所示。
3.2 分割提取
在过滤掉点云孤立的噪声以及剔除目标物体底平面干扰以后,可利用欧式聚类分割算法和基于颜色区域增长的分割算法等对目标物体进行有效的分割提取。
3.2.1 基于颜色区域增长
基于颜色区域增长的分割算法主要思想是利用点云中选取的种子点的颜色差异信息来分割提取目标物体。通过设置种子点的距离包含范围、点和小区域内可接受的颜色变化范围以及最小的聚类分割物体点云数量大小,可将颜色相近的区域分割提取出来。
3.2.2 欧式聚类分割
对于不规则目标物体或者难以通过特定模型进行分割提取的目标物体,可利用欧式聚类分割算法进行有效的提取。欧式聚类的主要思想是判断不同点之间的欧式距离并根据距离阈值将不同的点进行分类,从而分割出目标物体。由于经过点云配准和滤波过后待分割提取的目标点云主要呈“L”型,本研究采用上述欧式聚类算法对目标物体进行分割提取。
3.3 体积计算
通过欧式聚类分割提取目标模型后,求算目标模型的最小包围盒可找出计算目标体积所需的点云定点坐标参数,如图4所示。该模型下体积可表示为:
目标模型的深度h:为:
h=
经校正后的目标物体体积为:
V=(14)
其中k为深度相机真实深度与测量深度的比值,(x1,y1),(x2,y2),(x3,y3),(x4,y4)分别为如图4所示的深度相机基准面的4个顶点,h为该面相邻面的深度。
4 实验及结果分析
本实验采用的硬件平台为神舟酷睿i5-8300H笔记本和微软第一代Kinect相机,在Window平台PCL点云库的支持下标定了Kinect相机景深参数。由于Kinect深度相机有效测量深度在0.2~5.0 m,随着距离的增加,测量的深度误差逐渐增加。为保证估算深度的准确度,选取合适的参照物,在不同距离下标定了相机的测量深度。标定后利用上述算法对待测物体进行了快速体积测量,测量结果如表1所示。从表1中不难发现:对于体积在1 m3以内的矩形货物,实测体积的相对误差可控制在3%以内;对于体积在1~2 m3的矩形货物,实测体积的相对误差可控制在3%以内;对于体积在2~4 m3的矩形货物体积测量误差可控制在5%以内,可以满足大部分物流场景体积测量对精度的要求。
5 结语
针对现有深度相机测量体积方案中,因相机可测景深限制而只能应用于小型物体及物流包裹的情况,提出了一种基于点云配准的中大型货物的快速体积测量方法。首先,利用点云配准将中大型物体在不同视角下的深度图像拟合到同一基准点云下,从而得到完整的物体表面信息。然后对基准点云通过体素滤波、统计滤波和欧式分割聚类等点云处理算法进行目标提取。最后对提取的目标物体进行体积测量。实验表明,该方法对不同尺寸的中小型物流箱体的体积测量误差均能控制在5%以内,有效弥补了现有的深度相机测量体积方案的不足。此外,本方案相较于激光测量方案更具有成本低、测量速度快等优点,能为各种物流航运的体积测算作业节省大量的时间成本,在计算机视觉技术在中大型货物体积测量领域的应用发展方面具有一定的参考价值。
[参考文献]
[1]路达,滕奇志,卿粼波,等.基于激光测距的中小型货物三维体积扫描[J].微型机与应用,2015(23):83-86.
[2]王顺录,李党娟,范源,等.短距离激光测距传感器系统设计[J].国外电子测量技术,2016(11):98-102.
[3]翟乃斌,苏建,刘玉梅,等.基于计算机视觉的汽车整车尺寸测量系统[J].交通与计算机,2006(3):22-26.
[4]王潜,张艳彬.基于双目视觉的货车尺寸测量[J].计算机技术与发展,2018(6):167-170,175.
[5]BESL P J,MCKAY N D.A method for registration of 3-D shapes[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1992(2):0-256.
[6]PULLI K.Multiview registration for large data sets[C].Ottawa:the Second International Conference on 3-D Digital Imaging and Modeling,1999.