基于三维不规则点云的地面分割算法
张名芳1, 付锐1,2, 郭应时1, 石涌泉1, 程文冬1,3
1.长安大学 汽车学院, 西安 710064
2.长安大学 汽车运输安全保障技术交通行业重点实验室, 西安 710064
3.西安工业大学 机电工程学院,西安 710032

作者简介:张名芳(1989-),女,博士研究生.研究方向:智能车辆环境感知技术.E-mail:mingfangzhang@163.com

摘要

为解决智能车辆环境感知模块在地面分割过程中存在的分割不足和过度分割问题,提出了一种基于三维不规则点云的地面分割算法。首先,采用多标签的马尔科夫随机场理论构建极坐标系网格地图,根据网格单元的不同点云分布类型建立多种测量代价函数模型;然后,整合局部平滑性和斜坡假设,建立平滑性代价函数模型,保证网格间地面高度的不连续性;最后,利用环状置信传播算法进行多次消息传递,迭代估计每个网格单元内最大信任的地面高度值,实现地面点与非地面点的分割。通过对简单粗糙路面场景和复杂斜坡场景中采集的不规则点云数据集进行实验分析,验证了本文算法在不同环境下分割地面点与非地面点的准确性和鲁棒性。

关键词: 车辆工程; 地面分割; 环状置信传播; 马尔科夫随机场; 代价函数; 点云分布
中图分类号:U461 文献标志码:A 文章编号:1671-5497(2017)05-1387-08
Road segmentation method based on irregular three dimensional point cloud
ZHANG Ming-fang1, FU Rui1,2, GUO Ying-shi1, SHI Yong-quan1, Cheng Wen-dong1,3
1.School of Automobile, Chang'an University, Xi'an 710064, China
2.Key Laboratory of Automotive Transportation Safety Technology, Ministry of Transport, Chang'an University, Xi'an 710064, China
3.School of Mechatronic Engineering, Xi'an Technological University, Xi'an 710032, China
Abstract

Under-segmentation and over-segmentation exist in the process of road segmentation for the environment system of intelligent vehicle. To solve such problem, a road segmentation method based on loopy belief propagation algorithm is proposed. First, multiple label Markov Random Field is applied to build grid map in the polar coordinate system, and several measurement cost function models are constructed based on the point distribution in each grid cell. Next, the local smoothness and slop hypothesis are integrated to establish smoothness cost function model and ensure the discontinuity of the ground height among the grids. Finally, the loopy belief propagation algorithm is employed to transmit the message repeatedly, and the road height of each grid is estimated with the largest belief to segment the road points. Experiment results show that the proposed method has better road segmentation performance than other methods, especially for rough or sloped road conditions.

Key words: vehicle engineering; road segmentation; loopy belief propagation; Markov random field; cost function; point cloud distribution
0 引言

环境感知是智能车辆实现辅助驾驶和自主驾驶的前提, 为车辆运动路径规划和车辆自动控制提供可靠的依据[1, 2]。激光雷达(Light detection and ranging, LIDAR)凭借精确的深度测量优势, 在智能车辆环境感知领域得到广泛应用。基于LIDAR的环境感知任务具体包括地面分割、物体检测、识别和跟踪等。其中地面分割作为一项重要的预处理步骤, 目的在于将三维点云分成表示地面点和非地面点的两个独立子集, 为实现基于非地面点云的后续其他感知任务提供必要的基础。

目前, 常用的地面分割处理方法是将三维点云投影到水平栅格地图中, 根据每个网格细胞内点云高度信息设定相邻网格细胞的高度差阈值, 从而判定地面点与非地面点[3]。该方法在美国国防部无人车挑战赛和中国智能车未来挑战赛中得到广泛应用。但是, 仅依据高度差参数容易造成分割不足。为改善地面分割的精确度, 国内外学者在相邻扫描线点间关系[4, 5]、地面模型[6, 7]和马尔科夫随机场(Markov random field, MRF)理论[8, 9]等方面做了很多有益的探索。Biosca等[5]由邻近估计点的法向量提取局部点特征, 建立平滑约束, 利用欧式聚类和区域增长算法快速分割地面和非地面, 但是选取不同种子点将得到不同的分割区域, 导致鲁棒性较差。Himmelsbach等[6]构建极坐标系栅格地图, 对每个扇形区域建立基于直线拟合的非参数化地面模型, 将每个独立的点与获取的地面直线作比较, 分离地面与非地面。Moosman等[7]提出一种新的局部凸面标准用于分割地面与非地面, 其特点是能充分利用所有扫描点的三维信息, 但是计算量较大。朱株等[8]采用最大模糊线段法分割每条LIDAR扫描线的水平投影, 建立以线段为节点的无向图MRF, 根据长线段与短线段的点数阈值经验值设定障碍物阈值和相邻梯度阈值, 标记地面与非地面, 但在实际场景中, 远、近距离物体与地面接触产生的模糊线段差异较大, 难以选取合适的点数阈值, 容易引起过度分割。部分学者[9, 10]利用道路几何梯度线索将周围环境划分成不同区域, 由相邻节点内的点云信息计算每个节点网格细胞的特征参数, 主要用于基于MRF理论的可通行道路区域检测, 然而未考虑当前节点的自身状态, 无法分割地面和非地面。

真实的道路环境较为复杂, 采集的三维点云不再是规则的同心圆, 此时地面分割结果容易出现过度分割和分割不足。因此, 结合网格地图在点云处理方面的高效性, 同时考虑到MRF利用上下文约束构建图模型, 能够克服不确定性求解全局最优, 本文提出一种基于三维不规则点云的地面分割方法, 以三维圆柱形网格地图的列单元为研究对象, 在不同地面高度假设条件下, 构建多标签的MRF模型; 然后采用环状置信传播(Loopy belief propagation, LBP)算法更新局部地面高度概率, 估计网格细胞的地面高度值、分割地面点和非地面点。与其他地面分割方法相比, 该方法创新之处在于:提出的多标签MRF模型综合考虑了当前节点和径向内部节点网格单元的点云分布, 构建了3种不同测量代价函数模型, 有效解决了部分遮挡引起的地面信息丢失问题。利用LBP推断算法进行地面分割的标记问题求解, 通过多次消息传递迭代获取最大信任度的地面高度估计值, 提高了地面分割结果的准确性和鲁棒性。

1 地面分割
1.1 数据预处理

利用Velodyne HDL-32E LIDAR 360° (如图1所示)扫描周围环境, 将采集的三维点云装箱到高度为h=hmax-hmin、半径为R的圆柱体中。设定圆柱体网格单元的角度间隔为Δ θ 、径向间隔为Δ r、高度间隔为Δ b。每个网格单元作为极坐标系中的一个细胞, 构成MRF的各个节点, 见图1。为了找到地面高度所在容器的最优标签值, 并将每个节点网格单元内的LIDAR点分割成地面点和非地面点, 利用网格单元内的点云分布和高度信息来定义标签值, 将网格单元的垂直列均分成B个容器, 标签范围为b={1, 2, …, B}。为避免过多的扫描点增大计算量, 在处理数据之前移除不可能是地面点的扫描点, 即每个网格单元中的悬挂结构, 如树枝等。若扫描点位于3个以上连续的空容器构成的垂直空缺区域上方, 则认定为悬挂点并移除。

图1 以LIDAR为中心的圆柱形网格地图俯视图Fig.1 Top view of cylindrical grid map centered on LIDAR

1.2 基于多标签的MRF模型

MRF用于描述场景中节点的空间交互关系。本文将地面分割问题转化为标准4连接多标签MRF的标记过程。定义无向图G=(V, E), 其中, 节点viV, 边(vi, vj)∈ E。正常情况下, 标签在各节点间变化缓慢且平滑, 但在物体与地面交界处节点间值变化显著。标签函数f给观测节点vi分配标签f(vi)∈ b, 该标记过程的质量取决于多标签MRF中4个相邻节点和观测节点的状态, 通过能量函数E来进行评价:

Ef=Dfvi+Wfvi, fvj(1)

式中:圆周方向上i∈ (1, 2, …, 360° /Δ θ ), 径向方向上i∈ (1, 2, …, R/Δ r); ji在圆周或径向方向上相邻的序列值; (vi, vj)为标准4连接多标签MRF模型的相邻节点对; D(f(vi))为测量代价函数, 表示分配标签f(vi)给节点vi的代价; W(f(vi), f(vj))为平滑性代价函数, 表示分配标签f(vi)和f(vj)给两个相邻节点的代价。

1.3 测量代价函数

给定标签f(vi)指定的地面高度时, 测量代价函数D(f(vi))用于描述节点处扫描点分布的统计模型。假设测量代价为负对数概率, 则标签的测量代价越小, 该标签是真实地面高度的概率越大。各节点测量代价的大小取决于网格单元内点云分布、LIDAR和该节点间各网格单元的地面高度变化以及是否存在遮挡物。针对4种不同点云分布类型的网格单元, 分别定义相应的测量代价D(f(vi))。

图2 网格单元m点云分布的不同类型Fig.2 Different categories of point distribution in grid m

种类1:32线Velodyne LIDAR全方位扫描周围环境, 每秒采集约6万个扫描点, 但仍有部分网格单元无返回值, 见图2(a)。因此, 将空节点的测量代价设为恒定值C, 呈均匀分布, 以保证不同高度的标签容器含有地面点的可能性相同, 见图3(a)。对应的测量代价函数表达式为:

Dfvi=C2

种类2:网格单元m含扫描点。移除悬挂点后, 若m内所有扫描点的纵向高度差最大绝对值δ z小于容器高度Δ b, 且径向距离小于m的网格单元的扫描点纵向高度差最大绝对值δ 'z小于阈值ta=b, 见图2(b), 则表明m和LIDAR间无遮挡, m内扫描点是地面点的概率较大。该约束同时考虑了当前节点和径向近距离节点的点云信息。另外, 阈值ta包含了可能存在斜坡的情况, 避免了出现文献[7]中车辆顶部错误识别为地面的情况。此时选取含最低点的容器bs作为m的特征容器, 将m内各容器的测量代价表示为截断阶跃函数, 见图3(b)。

图3 不同类型点云分布的网格单元对应的测量代价模型Fig.3 Data cost model of grid cell containing different distribution of point cloud

该种类型的网格单元的测量代价函数表达式为:

Dfvi=mingvi-fvi, t(3)

式中:t为截断参数; g(vi)为节点vi的特征。

通过计算节点的每个标签f(vi)与特征容器标签g(vi)间的差值来保证不同标签容器含地面点概率的差异性, 并利用构建的截断阶跃函数使测量代价模型的鲁棒性增加, 避免出现当点云分布计算出的相邻节点标签差值较大时数值溢出。

种类3:网格单元m含扫描点。移除悬挂点后, 若m内所有扫描点的纵向高度差最大绝对值δ z存在容忍阈值tbb, 但是存在径向距离小于m的网格单元的扫描点纵向高度差最大绝对值δ 'z大于阈值ta的情况, 见图2(c), 则表明m和LIDAR间存在遮挡, 或m位于侧面倾斜的物体表面, 如车辆顶部。此时选取含最低点的容器bsm的特征, 作为边界容器。该边界上方的容器测量代价为半截断阶跃函数, 而边界以下的容器测量代价则为恒定值C, 见图3(c)。该种类型的网格单元的测量代价函数表达式为:

D(f(vi))=min(g(vi)-f(vi), t), ifg(vi)> bsC, otherwise(4)

计算节点的每个标签f(vi)与特征容器g(vi)上方各标签间的差值, 以保证特征容器上方各标签容器含地面点概率的差异性, 并利用截断过程增加模型的鲁棒性。同时, 采用恒定代价值表示被遮挡的各标签容器包含地面点的可能性相等。此外, 该非对称代价说明当前网格单元的地面高度标签不可能高于bs

种类4:网格单元m含扫描点。移除悬挂点后, 若m内所有扫描点的纵向高度差最大绝对值δ z超过容忍阈值tbb, 见图2(d), 此时, 认为m属障碍物, 如墙壁、行人或较小斜坡, 这与径向近距离网格单元是否含扫描点无关。取m内标签最低的非空容器为边界容器, 网格单元的测量代价模型和函数表达式同种类3。

1.4 平滑性代价函数

平滑性函数W(f(vi), f(vj))用于表示相邻节点间的地面高度变化关系。正常情况下, 相邻节点的高度标签连续近似相同。当高度差增大时, 平滑性代价呈线性增长。为保证较大高度差, 采用式(5)进行截断:

Wfvi, fvj=minsfvi-fvj, d(5)

式中:s为高度差的权重系数; d为节点不连续性的恒定截断值。

1.5 基于LBP的地面分割

在MRF相邻节点间采用LBP算法进行消息传递, 每个节点在每次迭代过程中收集来自其他三个相邻节点的消息, 下一次迭代则更新每个节点到达相邻点的消息, 并归一化计算每个节点处消息的边缘分布。消息传递过程中, 通过最小化能量函数E求解出最优标签f(vj)。为减少计算复杂度, 选用基于最大积的LBP算法用于最小代价标记过程, 沿多标签MRF的标准4连接图传递消息。算法步骤如下:

(1)用负对数概率初始化所有一维向量消息。

(2)沿径向和圆周方向传播消息, 以顺时针圆周方向为例传递消息, 见图4。选取来自相邻节点容器的最小消息为节点vj容器标签的新消息。第k次迭代过程中, 更新节点vi发送给相邻节点vj的新消息:

mvivjk(f(vj))=minf(vi){W(f(vi), f(vj))+D(f(vi))+sN(vj)\vjmsvik-1(f(vi))}(6)

式中:k=1, 2, …, K; N(vi)\vj为节点vi的相邻节点, 不包括节点vj

图4 顺时针圆周方向传递消息示例Fig.4 Example for message passing along clockwise direction

(3)k次迭代后, 计算每个节点的信任向量:

bvjfvj=Dvjfvj+mvivjkpNvjfvi(7)

采用消息总和计算信任向量时信任值将无限增大, 最终超过浮点数的极限值。因此, 在发送给相邻节点前需归一化处理。有限次的消息传递迭代后, 每个节点处消息收敛, 能量函数可下降到阈值以下。

(4)最小化 bvj(f(vj)), 选取节点vj的最优标签f(vj)用于分离地面点与非地面点:

f(vj)=arg minf(vj)(bvj(f(vj)))(8)

最后, 将每个节点最优标签下方容器的扫描点判定为地面点, 上方的点则为非地面点, 实现每个节点处扫描点的分割。

2 实验验证

为验证提出的算法可靠性, 将Velodyne HDL-32E LIDAR安装在Husky机器人顶部(见图5), 扫描频率为10 Hz, 在简单粗糙路面场景和复杂斜坡场景等典型场景进行实验。设定圆柱体网格单元数量为720× 300, R=30 m, Δ θ =0.5° , Δ r=0.1 m。考虑到地面点最有可能位于每个网格单元的较低处, 设定垂直空间有效范围hmax-hmin=6 m, 每列容器个数B=30, 容器高度Δ b=0.2 m。实验过程中, 测量代价模型的阈值参数取C=0, t=5。

图5 安装有Velodyne HDL-32E LIDAR的Husky机器人Fig.5 Husky Robot with Velodyne HDL-32E LIDAR

2.1 简单粗糙路面场景

图6 简单粗糙路面场景中两种地面分割 算法结果对比Fig.6 Result comparison of two different segmentation algorithms in simple rough road scene

取包含粗糙路面、车辆和墙壁的扇形扫描区域进行分析, 着重研究障碍物区域的地面分割细节, 分别用文献[3]和本文算法进行测试, 结果见图6。由图6(a)可知, 车辆周围的部分地面点错误识别为非地面点, 主要原因在于文献[3]将网格单元内最大高度差值低于给定阈值的扫描点作为地面点, 但是粗糙路面不平整, 部分网格的高度差超出阈值, 但仍为地面点。由图6(b)可知, 本文算法测试结果明显更好。虽然文献[3]和本文算法均利用了高度参数, 但是本文算法将网格内点云分布的高度差约束与邻近网格间的平滑性约束结合, 解决了障碍物与地面接触区域的地面点与非地面点分割问题, 如图6(b)中的车辆附近区域和车身下方区域。

2.2 复杂斜坡路面场景

第一种复杂场景是包含行人的不规则岩石区域。分别用文献[6]和本文算法进行测试, 图7(a)中的实验结果表明, 文献[6]方法在LIDAR周围区域分割良好, 但在相对较远区域的地面分割效果较差, 引起分割不足, 主要原因是线性模型对于较大起伏度的地面适应性较差。由图7(b)可知, 本文算法更好地分割了地面点与非地面点。相比文献[6], 本文提出的3种测量代价函数模型很好地解决了不同点云分布类型网格内的地面高度估计问题, 如不连续区域和地面遮挡区域的网格。

图7 岩石路面场景中两种地面分割算法结果对比Fig.7 Result comparison of two different segmentation algorithms in rocky road scene

第二种复杂场景是包含树木、行人和较大斜坡的非结构化环境。本文算法测试结果如图8所示。由图8(a)可知, 树枝和植被下方的地面点与非地面点正确分割; 将局部区域放大后, 如图8(b)所示, 斜坡上站立的行人A、B和地面点间的接触面也实现了正确分割。此外, 本文算法在实现地面高度估计的基础上成功地识别了斜坡的起伏变化, 有助于对周围环境的整体感知。

图8 复杂非结构化环境下本文算法测试结果Fig.8 Result of proposed algorithm in complex unstructured scene

2.3 定量评估

为进一步验证算法的可靠性, 手动标记地面真实值, 对所选典型场景的地面分割结果进行定量评估。采用灵敏度(True positive rate, TPR)和特异度(False positive rate, FPR)参数来表示分割结果的好坏, 结果见表1。TPR值越大, 地面点样本被正确分割为地面点的比例越高, 反之则越低。FPR值越大, 非地面点被错误分割为地面点的比例越高, 反之则越低。计算公式如下:

TPR=TPTP+FN(9)

FPR=FPFP+TN(10)

式中:TP为被模型分割为地面点的正样本; FN为被模型分割为非地面点的正样本; FP为被模型分割为地面点的负样本; TN为被模型分割为非地面点的负样本。

表1 不同场景下各算法地面分割结果比较 Table 1 Result comparison of road segmentation algorithms in different scenes

表1可知, 对于简单粗糙道路场景, 文献[3]和[6]中的算法分割性能均较好, 本文算法的测试结果稍优于这两种算法; 对于岩石路面区域和复杂非结构化场景, 本文算法测试结果明显优于这两种算法。文献[3]中的算法将大于给定阈值的不同高度的斜坡误识别为地面, 其单一的高度差约束难以分割复杂场景下的地面点与非地面点。文献[6]中线性模型算法难以选择合适的直线拟合参数, 不易分割远距离岩石区域的地面点, 更适合于室内环境。而本文算法在不同复杂程度的场景中均表现出良好的分割性能, 能克服多种障碍物干扰因素, 其分割准确性和鲁棒性明显优于其他方法。原因在于本文算法基于当前网格单元和径向近距离网格单元的点云分布, 自适应地选择合适的测试代价模型, 提出的测量代价模型有效地解决了部分遮挡的网格单元的地面高度估计问题; 通过利用LBP算法的4方向消息传递过程, 准确分割障碍物和地面间的边界点, 降低了分割不足和过度分割的可能性, 同时也补偿了点云的稀疏分布, 具有更好的鲁棒性。

3 结 论

(1)提出了一种基于三维不规则点云的地面分割算法。在构建多标签MRF标准4连接图的基础上, 根据当前节点和相邻节点的点云分布建立了相应的测量代价和平滑性代价函数模型, 充分考虑了部分遮挡和斜坡路面情况。采用LBP算法沿径向和圆周方向进行多次消息传递迭代, 实现能量函数全局最小化, 得到地面高度最优估计值, 分割出地面点和非地面点。

(2)简单粗糙路面和复杂斜坡场景中的实验结果表明, 相比于其他地面分割算法, 本文算法在车辆附近区域、车身下方区域、行人与地面接触区域、起伏的岩石区域以及多障碍物的非结构化环境区域均能更准确地分割地面点与非地面点。同时算法能有效地应对不同复杂程度的道路环境, 具有较好的鲁棒性, 能为自主车辆提供可靠的路面区域信息。

(3)本文算法适用于路面干燥、含多种障碍物的道路环境, 但并未考虑积水坑洼的路面。下一步将结合点云反射强度和多次回波信息深入开展考虑积水坑洼路面的地面高度估计研究, 以提升地面分割算法的适用性, 有助于自主车辆更好地实现后续的环境感知任务。

The authors have declared that no competing interests exist.

参考文献
[1] 杨欣, 沈志熙, 黄席樾, . 智能车辆在城区交通场景中的多类障碍物识别[J]. 重庆大学学报: 自然科学版, 2009, 32(7): 757-761.
Yang Xin, Shen Zhi-xi, Huang Xi-yue, et al. Multi-class obstacles recognition for intelligent vehicle in urban traffic scene[J]. Journal of Chongqing University (Natural Science Edition), 2009, 32(7): 757-761. [本文引用:1]
[2] 王新竹, 李骏, 李红建, . 基于三维激光雷达和深度图像的自动驾驶汽车障碍物检测方法[J]. 吉林大学学报: 工学版, 2016, 46(2): 360-365.
Wang Xin-zhu, Li Jun, Li Hong-jian, et al. Obstacle detection based on 3D laser scanner and range image for intelligent vehicle[J]. Journal of Jilin University(Engineering and Technology Edition), 2016, 46(2): 360-365. [本文引用:1]
[3] Thrun S, Montemerlo M, Dahlkamp H, et al. Stanley: the robot that won the DARPA grand challenge[J]. Journal of Field Robotics, 2004, 23(9): 661-692. [本文引用:1]
[4] Chen T, Dai B, Wang R. Gaussian-process-based realtime ground segmentation for autonomous land vehicles[J]. Journal of Intelligent & Robotic Systems, 2014, 76(3): 563-582. [本文引用:1]
[5] Biosca J, Lerma J. Unsupervised robust planar segmentation of terrestrial laser scanner point clouds based on fuzzy clustering methods[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2008, 63(1): 84-98. [本文引用:2]
[6] Himmelsbach M, Hundelshausen F, Stiller H. Fast segmentation of 3D point clouds for ground vehicles[C]//2010 IEEE Intelligent Vehicles Symposium, IEEE, 2010: 560-565. [本文引用:2]
[7] Moosman F, Pink O. Segmentation of 3D LIDAR data in non-flat urban environments using a local convexity criterion[C]//2009 IEEE Intelligent Vehicles Symposium, IEEE, 2009: 215-220. [本文引用:2]
[8] 朱株, 刘济林. 基于马尔科夫随机场的三维激光雷达路面实时分割[J]. 浙江大学学报: 工学版, 2015, 49(3): 464-469.
Zhu Zhu, Liu Ji-lin. Real-time Markov rand om field based ground segmentation of 3D LIDAR data[J]. Journal of Zhejiang University (Engineering Science), 2015, 49(3): 464-469. [本文引用:2]
[9] Byun J, Na K I, Seo B S, et al. Drivable road detection with 3D point clouds based on the MRF for intelligent vehicle[J]. Field and Service Robotics, 2015, 105(2): 49-60. [本文引用:2]
[10] Guo C, Sato W, Han L, et al. Graph-based 2D road representation of 3D point clouds for intelligent vehicles[C]//2011 IEEE Intelligent Vehicles Symposium, IEEE, 2011: 715-721. [本文引用:1]