一种基于轮廓匹配的仓储机器人托盘检测方法

2019-03-06 02:27:28武文汉王春香
上海交通大学学报 2019年2期
关键词:偏角位姿鲁棒性

武文汉, 杨 明, 王 冰, 王春香

(上海交通大学 a. 自动化系; b. 上海市北斗导航与位置服务重点实验室;c. 机器人研究所, 上海 200240)

随着现代物流的不断发展,仓储机器人在智能仓储系统中发挥着越来越重要的作用,而对货物托盘的检测是仓储机器人的核心技术之一.由于仓储环境具有背景复杂、光线不均匀、托盘位姿难以确定等特点,所以精准高效的托盘检测是目前亟待解决的问题.

近年来,针对托盘的检测研究主要采用基于视觉、激光雷达以及两者结合的检测方法.其中,基于视觉的检测方法主要通过从图像背景中分割出托盘, 利用特定的特征进行检测.文献[1-2]中分别提出基于颜色和几何特征的视觉检测方法,通过颜色、边缘和角点等信息生成特征,但易受光照和复杂背景的干扰.文献[3]中提出了基于视觉标签的检测方法,但易受标签污损影响,且对光照鲁棒性不强.文献[4]中提出基于Harr-like特征的鲁棒检测方法,但需要摄像机与托盘立柱平面保持平行.文献[5-7]中均采用立体视觉的检测方法.但是文献[5-6]中的方法容易受光照影响,文献[7]中的基于LBP特征的检测算法虽然具备光照鲁棒性,但是依赖摄像机与托盘立柱立面平行且需指定托盘数量.基于激光雷达的检测方法虽然对于光照有较强的鲁棒性,但价格普遍昂贵.文献[8]中通过单线激光雷达投射在托盘立柱表面的点云分布情况进行检测,但采用单线激光雷达导致检测范围受限.另外,文献[9]中同时采用摄像机与单线激光雷达2种传感器进行检测,传感器间的联合标定和配准比较复杂.

综上所述,基于视觉的检测方法易受光线及托盘与传感器之间相对位姿关系的影响,基于激光雷达的检测方法虽然对光照变化具备鲁棒性,但检测范围有限、价格昂贵.因此,本文提出一种适用于不同光照、不同相对位姿场景的检测方法,该方法使用ToF相机采集点云并进行预处理,然后通过以法线为约束的区域生长算法对点云进行平面分割,对分割出的点云平面沿主法线方向投影生成栅格图,结合托盘Hu不变矩[10]和尺度比例特征建立轮廓特征,进行目标轮廓与托盘模板轮廓之间的匹配,实现对托盘的检测.

1 托盘点云分割与处理

ToF相机采集的点云包含颜色信息和深度信息,适用于在环境光线复杂的仓储环境进行托盘的检测.通过对点云的处理,可以分割出包含托盘立柱平面的点云.

1.1 点云预处理

一般ToF相机的测量距离有限,超出有效测距范围的数据噪声较大,需要进行滤除.使用直通滤波器(沿摄像机光轴方向)可以有效去除数据无效区域和大量的背景信息,有效降低计算量.

由于ToF相机采集的点云包含颜色信息,通过颜色分量可以对包含蓝色托盘的区域进行粗分割.本文将点云的颜色信息从RGB空间转到HSV空间,并选取较大的阈值范围进行颜色滤波.

另外,ToF相机采集的点云分布并不均匀,往往需要剔除分布稀疏的离群点.点云中一般点到其邻域中其他点的距离近似服从高斯分布,邻域平均距离的概率密度函数为

(1)

式中:xi为任意点的邻域平均距离;μ为任意点邻域平均距离的均值;σ为任意点邻域平均距离的标准差.由于离群点的邻域中点数量较少,所以邻域平均距离较大.本文计算每个点到其邻域K个临近点的平均距离x,并给定邻域平均距离的均值μ和标准差σ,若x超出邻域平均距离均值3σ以上,则认为该点为离群点并剔除.

点云进行预处理的结果如图1所示.

图1 点云预处理Fig.1 Point cloud preprocessing

1.2 法线估计与平面分割

托盘的立柱平面结构具备特殊性,能够将托盘与背景中的其他物体分离出来.本文通过对三维点云进行法线估计,采用基于法向量约束的区域生长算法对点云进行平面分割,以生成候选的兴趣点云平面.

表面法线是几何体表面的重要特征,在局部表面使用基于PCA(Principal Component Analysis)的法线估计方法具备抗噪性强和性能开销低等优点[11].对点云中一点P进行法线估计方法如下:

(1) 得到P点的K个最近邻元素;

(2) 基于PCA计算P点表面法线n;

(3) 检测n的方向是否指向视点,如果不是,则翻转.

区域生长算法可以将几何属性相近的临近点云归为同一类.本文通过判断种子点与临近点法向量的方向接近程度(夹角小于5°视为接近)进行区域生长,并限定生长区域的点集数量上限和下限,以剔除过大或过小的平面,如图2所示.

图2 点云平面分割Fig.2 Point cloud plane segmentation

再次使用PCA算法对分割出的点云平面P进行法线估计,可以获得点云平面指向视点O(0,0,0)的、归一化的近似法向量n=[abc]T.

对于数量为s、法向量为n=[abc]T的点云平面P,点云平面与传感器之间的相对位姿包括平面质心O′与视点O之间的相对位移和相对姿态,如图3所示.相对位移(dx,dy,dz)可以用点云平面质心O′(xc,yc,zc)在传感器坐标系下的坐标表示:

相对姿态(俯仰角θ、旋转偏角φ、滚转角φ)可用点云平面与传感器坐标系之间的欧拉角分别表示为

(5)

(6)

(7)

图3 传感器坐标系下的点云平面Fig.3 Point cloud plane in the sensor coordinate system

结合实际仓储场景需求,托盘与传感器之间的相对位姿仅考虑水平方向的横向位移dy、纵向位移dz及旋转偏角φ.

1.3 点云栅格化与轮廓提取

栅格化是点云常用的空间划分策略.本文采用沿点云平面法向量方向投影的方法生成栅格图,其方法如下:

(1) 取视点O(0,0,0)作为原点,平面法向量n作为z轴单位向量z=[001]T,建立托盘坐标系.托盘坐标系与传感器坐标系之间存在旋转关系:

z=R3×3n

(8)

式中:R3×3为旋转矩阵.

(2) 设置单通道栅格图长宽分别为W、H,每个栅格的物理尺度长宽分别为grid_W和grid_H,栅格图对应托盘坐标系中区域R沿z轴方向在xOy平面的投影.

(3) 将所有数据点归入对应的栅格,并将归一化的投影高度设置为栅格灰度值.

将上述栅格图二值化,并使用Canny算子进行轮廓的提取,如图4所示.

图4 点云栅格化及轮廓提取Fig.4 Point cloud rasterization and contour extraction

2 托盘轮廓特征及匹配

轮廓特征可以用来区分目标与背景.轮廓边界具备良好的旋转、平移、缩放不变性,其像素相较于完整目标区域也要少很多,因此既能完整描述物体,也能减少计算量.本文采用融合轮廓Hu不变矩和尺度比例特征为托盘轮廓特征向量,用于托盘的检测和识别,其轮廓模板如图5所示.

图5 托盘立柱平面轮廓模板Fig.5 Contour template of pallet

矩特征主要用来描述图像的几何特征,具有旋转、平移和缩放不变性.对于任意非负整数p和q,离散的数字图像f(x,y),对应的p+q阶矩以及中心矩的表达式分别为

(9)

(10)

(11)

式中:ρ=(p+q+2)/2.

Hu利用二阶和三阶中心矩构造了7个不变矩M1~M7.然而在对图像进行目标匹配过程中,只有前2个矩不变性保持比较好,即

对于轮廓C,以像素为基本单位,定义其轮廓外接矩形的长和宽分别为w和h,轮廓周长为l,轮廓面积(区域内像素个数)为s.以此构建目标轮廓的长宽比S1和占空比S2的尺度比例特征:

融合前2个Hu不变矩及2个尺度比例特征,构建新的托盘轮廓特征向量

F=[M1M2S1S2]T

(16)

对于待检测轮廓A和模板轮廓B,采用欧式距离建立轮廓匹配相似度d(A,B),即

(17)

由相似度d(A,B)的定义可知,相似度d(A,B)越小,表明待检测轮廓与模板轮廓越接近;反之表明待检测轮廓与模板轮廓偏离程度越大.

3 实验结果与分析

本文安装了开源点云库PCL1.8.0和开源计算机视觉库OpenCV2.4.11,使用ToF相机在仓储环境中进行实验,拍摄速率为5帧/s,单帧点云的数量为 537 600 个,设定栅格大小为 0.01 m×0.01 m,栅格图像素分辨率为400像素×400像素.

实验中将轮廓匹配相似度d(A,B)阈值设为 0.5,若d(A,B)小于或等于阈值,则认为该轮廓区域为托盘立面,并使用红色在原始点云中进行标注;反之若d(A,B)大于阈值,则认为该轮廓区域不是托盘立面. 实验共采集300帧点云进行检测实验,检测正确率为 93.67%,误检率为 4.67%,漏检率为 1.67%.

3.1 不同光照场景下鲁棒性及精度评估

为验证本文算法对不同光照的鲁棒性,在不同光照场景下分别选取10帧数据进行检测,提取每帧数据中与模板最接近的轮廓作为目标轮廓.计算各组目标轮廓特征向量均值、相似度均值和相对位姿,得到如表1所示的数据,检测结果如图6所示.

表1 不同光照条件下的检测数据Tab.1 Detection results under different lighting conditions

图6 不同光照下的托盘检测结果(托盘用框标注)Fig.6 Detection results under different lighting conditions (pallet marked in red)

由表1和图6可见,虽然在不同光照强度下,点云的颜色信息损失较为严重,但是提取的平面轮廓特征各分量与模板均比较接近,匹配相似度小于阈值,均可以检测出托盘(见图中用框标注),显示出该方法对光照变化的鲁棒性.对比测量位姿与实际位姿,可以看出横向和纵向的定位误差小于15 mm,旋转偏角误差小于3°,满足实际检测需要.

3.2 不同距离场景下鲁棒性及精度评估

为验证本文算法对目标与传感器之间相对距离的鲁棒性,分别在不同纵向距离场景下各选取10帧数据进行检测,提取每帧数据中与模板最接近的轮廓作为目标轮廓. 计算各组目标轮廓特征向量均值、相似度均值及相对位姿,得到如表2所示的数据,检测结果如图7所示.

表2 不同距离场景下的检测数据Tab.2 Detection results under different distance conditions

图7 不同距离场景下的托盘检测结果(托盘用框标注)Fig.7 Detection results under different distance conditions (pallet marked in red)

由表2和图7可见,在托盘(见图中用框标注)与传感器相距1~4 m场景下,轮廓特征各分量及匹配相似度与模板均比较接近,匹配相似度小于阈值,能够检测出托盘;而在相距5 m时分割出平面的轮廓特征各分量与模板相差较大,匹配相似度大于阈值,无法检测出托盘.这是由于随着距离增加,托盘表面点云会变稀疏,点云数据质量下降,影响栅格图生成及轮廓特征,导致与模板无法匹配. 对比测量位姿与实际位姿,可以看出横向和纵向的定位误差小于15 mm,旋转偏角误差小于3°,满足实际检测需要.

3.3 不同旋转偏角场景下鲁棒性及精度评估

为了验证本文算法对目标与传感器之间相对旋转偏角的鲁棒性,分别在不同旋转偏角场景下各选取10帧数据进行检测,提取每帧数据中与模板最接近的轮廓作为目标轮廓. 计算各组目标轮廓特征向量均值、相似度均值及相对位姿,得到如表3所示的数据,检测结果如图8所示.

图8 不同旋转偏角度下的托盘检测结果(托盘用框标注)Fig.8 Detection results under different pose conditions (pallet marked in red)

表3不同旋转偏角度下的检测数据
Tab.3Detectionresultsunderdifferentposeconditions

旋转偏角/(°)轮廓特征 M1 M2 S1 S2d(A,B)实际位姿横向位移/mm纵向位移/mm旋转偏角/(°)测量位姿横向位移/mm纵向位移/mm旋转偏角/(°)测量误差横向误差/mm纵向误差/mm角度误差/(°)模板1.071.190.325.97001.101.210.336.160.19030000-229970.24230.24151.131.180.316.310.360300015-13299113.871391.13301.091.000.325.960.1803000303299528.66351.34400.920.810.325.780.440300040-12298742.3112132.31

由表3和图8可见,在托盘(见图中用框标注)相对传感器偏转0~40° 场景下,轮廓特征各分量及匹配相似度均比较接近,匹配相似度小于阈值,能够正常检测出托盘,显示出该方法对托盘偏转的鲁棒性. 对比测量位姿与实际位姿,可以看出横向和纵向的定位误差小于15 mm,旋转偏角误差小于3°,满足实际检测需要.

4 结语

本文针对目前托盘检测算法中存在的光照鲁棒性不强、依赖托盘与传感器之间相对位姿等问题,提出一种基于轮廓匹配的鲁棒检测算法,通过对ToF相机采集的点云进行滤波和分割,提取包含托盘立柱平面的点云并投影成栅格图,提取轮廓与模板进行匹配,实现对托盘的检测.实验结果表明,本文提出的算法在不同光照、不同距离和不同角度等场景下均能检测出托盘,具有高识别率和较强的鲁棒性,测量精度满足实际需求.

猜你喜欢
偏角位姿鲁棒性
翼吊长涵道发动机短舱内偏角优化和机理研究
荒漠绿洲区潜在生态网络增边优化鲁棒性分析
2018全国Ⅱ卷选修3-4中偏角的解法探讨
基于确定性指标的弦支结构鲁棒性评价
中华建设(2019年7期)2019-08-27 00:50:18
欧姆表偶然误差分析
基于共面直线迭代加权最小二乘的相机位姿估计
基于CAD模型的单目六自由度位姿测量
基于非支配解集的多模式装备项目群调度鲁棒性优化
非接触移动供电系统不同补偿拓扑下的鲁棒性分析
小型四旋翼飞行器位姿建模及其仿真