如何拟合点云目标的最小外包围box

点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

文章导读

本文介绍点云聚类后的点集包围框拟合方法,分别对不同形式的包围框分析其构建方法、拟合特性,通过实际测试中遇到的问题,对比优缺点和适用场景。

目录

  • 轴对齐包围框

  • 方向包围框

  • 点云簇凸包

  • 对比总结

什么是包围框?

包围框是指一个简单的几何空间,在三维点云中,里面包含的是聚类后的一系列点集。为目标点集构建包围框能够提取出障碍物的几何属性给跟踪模块作为观测值;将零散的目标点云通过包围框转换成规则物体,会使决策模块更易规划运动轨迹。

有哪些包围框类型?

点云包围框的类型主要包括轴对齐包围框、方向包围框、固定方向凸包等。

在道路目标的障碍物检测中,由于障碍物通常在地面上,所以从简化计算的角度,包围框的拟合可以先在目标点集的Z方向检索最小值/最大值,再对点集做XY平面上求取包围框。

轴对齐包围框

轴对齐包围框在三维空间中是一个简单的六面体,每一边都平行于一个坐标平面,所以构成的包围框的三条边与坐标轴平行,简称AABB。

实现方法:

  1. 遍历聚类后的目标点集,分别记录三个轴方向上最小的三个值x1,y1,z1和最大的三个值x2,y2,z2;

  2. 组成两个三维点(x1,y1,z1)和(x2,y2,z2)作为包围框的对角点即可;

拟合特性:当目标有旋转方向的时候,轴对齐包围框的拟合会增加空隙,放大目标的实际尺寸,从而不利于碰撞检测或者路径规划的任务。如下图所示:

针对倾斜的多个目标也会由于包围框相交引起一些后处理的错误,如下图:

因为传统的点云聚类算法得到的目标点集本身存在过分割、欠分割等问题,所以在拟合出包围框后,我们常根据目标的先验信息做后处理操作,可能就会出现以下状况,两个目标被融合成了一个:

方向包围框

方向包围框是根据目标本身的几何形状来决定框的大小和方向,包围框无须和坐标轴平行,从而可以求出最紧凑的包围框。

通过考虑点集中所有点的空间分布,通过算法找到最优方向的矩形。常用方法如下:

1. 基于主成分分析拟合矩形

通过求取点集的特征向量得到外接框的轴方向,从而计算出带旋转角的外接框,具体流程如下:

  1. 利用主成分分析法找到目标点集的三个主方向,求出质心,计算协方差,获得协方差矩阵;

  2. 采用雅可比迭代法求取协方差矩阵的特征值和特征向量,特征向量即为主方向;

  3. 将每个点的(x, y, z)坐标投影到计算出的坐标轴上,位置由累加所有点再求均值得到,求出中心点和半长度。

拟合特性:包围框始终沿着目标的主成分方向生成最小的旋转矩形,但是由于采用点集的特征向量,引入了所有点均值和方差的概念,可能出现以下情况,虽然是旋转框,但是仍不能紧贴目标物体:

2. 基于搜索算法近似拟合矩形

算法来源于《Efficient L-Shape Fitting for Vehicle Detection Using Laser Scanners》。迭代遍历所有可能方向,通过评价指标衡量损失最小的即为最优外接框。流程如下:

  1. 遍历矩形的所有可能方向,每次迭代时找到一个指向该方向并包含所有扫描点的矩形;

  2. 得到所有点到矩形四条边的距离,根据这些距离将点分成p和q,并计算出相应的平方误差作为目标函数;

  3. 在迭代所有方向并获得所有相应的平方误差后,寻找得到最小平方误差的最佳方向,并根据该方向调整矩形。

算法提供了三个评价标准来选择拟合的矩形:

  • 矩形面积最小化

  • 点到边缘贴近度最大化

  • 点到边缘平方误差最小化

根据小编的需求场景,实际测试采用第二种标准效果较好,耗时最少,第三种效果最优,耗时较大。

拟合特性:迭代每一个可能的方向,通过求最小方向的损失得到最优旋转方向,所以随着目标的旋转,可以更加精确的提供目标尺寸信息。如下图所示:

但是由于在求旋转外接框时,通常是依据目标点集的空间分布得到旋转方向,这种方式对车辆等长条形目标效果较好,但是对于行人等长宽等比例的目标,在连续帧的拟合上会出现抖动现象,如下图所以:

点云簇凸包

所谓凸包就是针对点集构建一个凸多边形。如下图所示:

常用算法较多,如:

  • 穷举法

  • 分治法

  • Jarvis步进法

  • Graham扫描法

  • Melkman算法

以Graham扫描法为例:先将所有的点按照纵坐标优先的方式排序,显然纵坐标最小的点会在凸包上,所以从纵坐标最小的点开始入栈0,按逆时针方向搜索,将角度最小的点压入栈,然后重复操作。

以下为用Graham扫描法动态求解的过程:

在求解点集目标时,我们先提取z方向的最大值和最小值,然后将三维点压缩到XY二维平面计算凸包,如下图所示:

如何求取凸包的最小外接矩形?

  1. 以其中两点作为矩形的一条边

  2. 以该边作为x轴基坐标,并做y轴基坐标

  3. 将所有点以该基坐标进行旋转,找到以该边为基准的所有点的x坐标的最小和最大值,既y轴的最大值

  4. 获取该范围的面积值,并获取边界数据

  5. 重复每条边,并每次判断保存最小面积及参数

  6. 最终输出最小外接矩形的参数

拟合特征:通过凸包表征点集能够最大程度的贴近目标,但是由于激光雷达成像特性,会丢失很多目标另一面的点,凸包更像是包围框拟合的中间产物,常常基于它再求取方向外接框,得到目标几何信息。

对比总结

轴对齐包围框(AABB)对点集拟合简单,存储空间小,但是对不规则的目标紧密性差,边角增加了冗余空间。不适合带旋转的场景和柔性的物体,如前方卡车转弯时采用AABB拟合会出现很大的矩形障碍物,导致后续路径规划出现误差。

方向包围框(OBB)对点集的拟合更加精确和健壮,对方向任意的目标可以紧密的包围,并且能够避免包围框相交检测的情况。但是实现更复杂,速度较慢,不太适合动态或者柔性的物体,比如树枝,灌木等。

点云凸包(Convex hull)继承了AABB简单性的特点,但具备良好的空间紧密度,比其他包围体更紧密地包围原物体,但是会因为目标部分点的变化,造成拟合效果抖动。

写作不易,觉得有用可以点个赞+关注,谢谢!

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

下载2

在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。

下载3

在「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近3000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

 圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值