1002 字
5 分钟
基于搜索的 L-Shape 拟合算法原理详解
2026-02-18

基于搜索的 L-Shape 拟合算法原理详解(第一次写,大家多多包涵#

1. 背景:为什么要用 L-Shape 拟合?#

激光雷达(LiDAR)在探测物体时存在一个先天的物理限制——遮挡对于车辆、箱子等矩形物体,雷达扫描到的点云通常呈现两种形态:

  • “I” 形:只扫描到物体的一个侧面。
  • “L” 形:扫描到了物体相邻的两个侧面。

传统算法的局限性#

如果直接使用 PCA(主成分分析) 来计算方向,由于 PCA 寻找的是点云分布方差最大的方向,对于一个标准的 “L” 形点云,PCA 计算出的主轴往往是 45° 对角线方向

这会导致机器人误判物体的朝向(Yaw),从而在避障或抓取时产生严重误差。L-Shape 算法的核心目的,就是强制假设物体是矩形的,并找到最贴合这个“L”形边缘的矩形框。


2. 核心逻辑:面积最小化搜索 (Area Minimization)#

算法的核心思想非常直观:寻找一个旋转角度,使得在该角度下的轴对齐包围盒(AABB)面积最小。

由于矩形具有 9090^\circ 的对称性,我们只需要在 00^\circ9090^\circ 的范围内进行搜索。

算法步骤#

  1. 旋转遍历: 将点云中的所有点 (x,y)(x, y) 绕原点逆时针旋转一个角度 θ\theta

    [xy]=[cosθsinθsinθcosθ][xy]\begin{bmatrix} x' \\ y' \end{bmatrix} = \begin{bmatrix} \cos\theta & \sin\theta \\ -\sin\theta & \cos\theta \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix}

    我们让 θ\theta00^\circ 逐步增加到 9090^\circ(例如步长为 11^\circ22^\circ)。

  2. 计算包围盒 (AABB): 在每一个 θ\theta 下,计算旋转后点云的边界:

    • xmin,xmaxx'_{min}, x'_{max}
    • ymin,ymaxy'_{min}, y'_{max}
  3. 计算面积: 计算当前角度下的矩形面积: Area(θ)=(xmaxxmin)×(ymaxymin)Area(\theta) = (x'_{max} - x'_{min}) \times (y'_{max} - y'_{min})

  4. 寻找最优解: 记录下让 Area(θ)Area(\theta) 最小的那个角度 θbest\theta_{best}。这个角度即为物体边缘最“正”的朝向。

为什么面积最小是对的?#

当矩形框的边没有与物体边缘平行时,框的四个角会有大量“空隙”,导致包围盒面积较大。只有当矩形框完美贴合点云边缘(即 xminx_{min} 等边界紧贴点云)时,围出来的面积才是最小的。


3. 关键难点:几何中心补偿 (Center Compensation)#

找到最佳角度后,我们得到了一个紧贴点云的框。但由于雷达存在盲区(背对雷达的那两侧没有数据),直接使用这个框的中心会偏向雷达一侧。

我们需要通过**锚点(Anchor Point)**来推算物体的真实几何中心。

补偿步骤#

  1. 确定锚点: 在拟合出的矩形框的 4 个顶点中,计算它们到雷达原点 (0,0)(0,0) 的距离。距离最近的那个顶点,即为锚点。物理上,这通常对应物体“L”形的拐角点。

  2. 推算中心: 基于锚点坐标 (xanchor,yanchor)(x_{anchor}, y_{anchor}),向矩形内部延伸。

    • 如果已知物体尺寸(如已知标准集装箱尺寸):从锚点沿长宽方向分别移动 Length/2Length/2Width/2Width/2
    • 如果尺寸未知:通常假设当前扫描到的 xmaxxminx'_{max} - x'_{min}ymaxyminy'_{max} - y'_{min} 就是物体的近似长宽,直接取当前包围盒的几何中心作为物体中心(虽然有误差,但保证了包围盒覆盖了可见部分)。

4. 总结:算法输入与输出#

  • 输入
    • 一组 2D 点云数据(通常是去除了地面点后聚类的一团点)。
  • 处理
    1. 遍历旋转搜索最小面积。
    2. 锁定最近角点作为锚点。
    3. 坐标逆变换回世界坐标系。
  • 输出
    • 位置 (x,y)(x, y):修正后的物体几何中心。
    • 尺寸 (l,w)(l, w):拟合出的长宽。
    • 朝向 (Yaw)(\text{Yaw}):物体的旋转角度。

相比于深度学习方法,L-Shape 拟合算法不需要训练数据,计算量极小(适合嵌入式 CPU),且对规则矩形物体的位姿估计精度非常高。

基于搜索的 L-Shape 拟合算法原理详解
https://cqudesign.xin/posts/first/
作者
CQU拦截器
发布于
2026-02-18
许可协议
CC BY-NC-SA 4.0