📅 2026-04-16🤖 claude-opus-4lowessdbscansmoothingclusteringbaselinetrajectory

LOWESS、DBSCAN 与轨迹重建

1. 为什么要建立轨迹

移动场景的求解目标本身就是轨迹:

静态:求一个点 x"目标在哪"
移动:求一条线 x(1)...x(T) → "目标经过哪" → 这条线就是轨迹

不能每帧独立求位置——很多时刻好心人太少,单帧解不了。建立轨迹让相邻时刻互相帮忙:

不建轨迹:  x(1)  ?  x(3)  ?   ← t=2、t=4 观测不够,无解
建轨迹:    x(1)—x(2)—x(3)—x(4) ← 运动约束补上缺失信息

"建立轨迹"不是额外的事,它就是移动定位本身。

2. LOWESS(局部加权回归平滑)

2.1 是什么

LOWESS (LOcally WEighted Scatterplot Smoothing):一种通用的非参数平滑方法,不是专门做轨迹重建的。

给一堆带噪声的 (x, y) 散点,画一条平滑曲线穿过去。对每个点 t₀,只用附近的点做加权最小二乘拟合(近的权重大,远的权重小),滑动扫过整条时间线得到平滑结果。

2.2 什么叫"非参数"

  • 参数方法:假设数据服从固定形式(如 y=ax+b),只估计几个参数
  • 非参数方法:不假设数据形式,让数据自己"说话",每个局部区域单独看附近数据来平滑

"非参数"不是"没有参数",而是不预设数据的全局函数形式。

2.3 用在轨迹上

好心人报告散乱的位置估计 → LOWESS 平滑 → 重建出连续轨迹

LOWESS 不知道也不关心数据是什么——股票价格、温度、轨迹坐标对它都一样。用在轨迹上只是把时间当 x、位置当 y 平滑一下。

2.4 优劣势

  • 优势:实现极简(statsmodels.nonparametric.lowess 几行代码),适合做快速 baseline
  • 劣势:完全没利用轨迹的物理特性(速度约束、运动方程等),精度不如图优化等专用方法

3. DBSCAN(密度聚类做热点推断)

3.1 是什么

DBSCAN (Density-Based Spatial Clustering of Applications with Noise):基于密度的聚类算法。

输入:一堆位置点
  ↓
找到密集区域 = 簇(cluster)
稀疏的点 = 噪声(丢弃)

    · · ·
   · · · ·    ← 簇1(热点)
    · · ·
                    ·  ← 噪声
        · ·
       · · ·   ← 簇2(热点)
        · ·

3.2 用在定位上

大量好心人报告的估计位置 → DBSCAN 聚类 → 密集区域 = 目标可能在此(热点)

直觉:如果很多好心人的观测都指向同一片区域,目标大概率在那里。离群估计可能是异常值,DBSCAN 自动标记为噪声。

4. 两者配合

静态场景:
  多个好心人的单次位置估计 → DBSCAN → 找到最密集的簇 → 簇中心 ≈ 目标位置

移动场景:
  时间序列的位置估计 → LOWESS 平滑 → 重建轨迹
  或:每个时间窗口内 → DBSCAN 找热点 → 热点序列连成轨迹

5. 与图优化的对比

这两个方法都是预处理/后处理手段,不是核心定位算法:

对比 LOWESS / DBSCAN 图优化
输入 已有的粗位置估计 原始 RSSI
利用物理模型 ✅(路径损耗、运动方程)
信息利用效率 低(先独立估计再平滑) 高(联合求解)
实现复杂度 极低(几行代码) 中高
适合角色 快速 baseline 核心方法