包围框定义
什么是包围框?
包围框是指一个简单的几何空间,在三维点云中,里面包含的是聚类后的一系列点集。为目标点集构建包围框能够提取出障碍物的几何属性给跟踪模块作为观测值;将零散的目标点云通过包围框转换成规则物体,会使决策模块更易规划运动轨迹。
包围框分类
有哪些包围框类型?
点云包围框的类型主要包括轴对齐包围框、方向包围框、固定方向凸包等。
轴对齐包围框
轴对齐包围框在三维空间中是一个简单的六面体,每一边都平行于一个坐标平面,所以构成的包围框的三条边与坐标轴平行,简称AABB。
实现方法:
- 遍历聚类后的目标点集,分别记录三个轴方向上最小的三个值x1,y1,z1和最大的三个值x2,y2,z2;
- 组成两个三维点(x1,y1,z1)和(x2,y2,z2)作为包围框的对角点即可;
拟合特性:当目标有旋转方向的时候,轴对齐包围框的拟合会增加空隙,放大目标的实际尺寸,从而不利于碰撞检测或者路径规划的任务。
传统的点云聚类算法得到的目标点集本身存在过分割、欠分割等问题,所以在拟合出包围框后,我们常根据目标的先验信息做后处理操作,可能就会出现以下状况,两个目标被融合成了一个。
方向包围框
方向包围框是根据目标本身的几何形状来决定框的大小和方向,包围框无须和坐标轴平行,从而可以求出最紧凑的包围框。
通过考虑点集中所有点的空间分布,通过算法找到最优方向的矩形。常用方法如下:
基于主成分分析拟合矩形
通过求取点集的特征向量得到外接框的轴方向,从而计算出带旋转角的外接框,具体流程如下:
- 利用主成分分析法找到目标点集的三个主方向,求出质心,计算协方差,获得协方差矩阵;
- 采用雅可比迭代法求取协方差矩阵的特征值和特征向量,特征向量即为主方向;
- 将每个点的(x, y, z)坐标投影到计算出的坐标轴上,位置由累加所有点再求均值得到,求出中心点和半长度。
拟合特性:包围框始终沿着目标的主成分方向生成最小的旋转矩形,但是由于采用点集的特征向量,引入了所有点均值和方差的概念,可能出现以下情况,虽然是旋转框,但是仍不能紧贴目标物体:
基于搜索算法近似拟合矩形
参考论文:Efficient L-Shape Fitting for Vehicle Detection Using Laser Scanners
迭代遍历所有可能方向,通过评价指标衡量损失最小的即为最优外接框。流程如下:
- 遍历矩形的所有可能方向,每次迭代时找到一个指向该方向并包含所有扫描点的矩形;
- 得到所有点到矩形四条边的距离,根据这些距离将点分成p和q,并计算出相应的平方误差作为目标函数;
- 在迭代所有方向并获得所有相应的平方误差后,寻找得到最小平方误差的最佳方向,并根据该方向调整矩形。
算法提供了三个评价标准来选择拟合的矩形:
- 矩形面积最小化
- 点到边缘贴近度最大化
- 点到边缘平方误差最小化
根据小编的需求场景,实际测试采用第二种标准效果较好,耗时最少,第三种效果最优,耗时较大。
拟合特性:迭代每一个可能的方向,通过求最小方向的损失得到最优旋转方向,所以随着目标的旋转,可以更加精确的提供目标尺寸信息。
但是由于在求旋转外接框时,通常是依据目标点集的空间分布得到旋转方向,这种方式对车辆等长条形目标效果较好,但是对于行人等长宽等比例的目标,在连续帧的拟合上会出现抖动现象。
点云簇凸包
所谓凸包就是针对点集构建一个凸多边形。如下图所示:
常用算法较多,如:
- 穷举法
- 分治法
- Jarvis步进法
- Graham扫描法
- Melkman算法
以下为用Graham扫描法动态求解的过程:
在求解点集目标时,我们先提取z方向的最大值和最小值,然后将三维点压缩到XY二维平面计算凸包
如何求取凸包的最小外接矩形?
- 以其中两点作为矩形的一条边
- 以该边作为x轴基坐标,并做y轴基坐标
- 将所有点以该基坐标进行旋转,找到以该边为基准的所有点的x坐标的最小和最大值,既y轴的最大值
- 获取该范围的面积值,并获取边界数据
- 重复每条边,并每次判断保存最小面积及参数
- 最终输出最小外接矩形的参数
拟合特征:通过凸包表征点集能够最大程度的贴近目标,但是由于激光雷达成像特性,会丢失很多目标另一面的点,凸包更像是包围框拟合的中间产物,常常基于它再求取方向外接框,得到目标几何信息。
对比总结
轴对齐包围框(AABB)对点集拟合简单,存储空间小,但是对不规则的目标紧密性差,边角增加了冗余空间。不适合带旋转的场景和柔性的物体,如前方卡车转弯时采用AABB拟合会出现很大的矩形障碍物,导致后续路径规划出现误差。
方向包围框(OBB)对点集的拟合更加精确和健壮,对方向任意的目标可以紧密的包围,并且能够避免包围框相交检测的情况。但是实现更复杂,速度较慢,不太适合动态或者柔性的物体,比如树枝,灌木等。
点云凸包(Convex hull)继承了AABB简单性的特点,但具备良好的空间紧密度,比其他包围体更紧密地包围原物体,但是会因为目标部分点的变化,造成拟合效果抖动。