【阅读】Wheel extraction based on micro doppler distribution using high-resolution radar

基于高分辨率雷达的微多普勒分布的车轮提取

1 前要

本文知识点主要包括:毫米波雷达原理多普勒效应微多普勒效应DBSCANRANSAC

1.1 毫米波雷达原理

偏雷达硬件底层算法

  • 多普勒效应

    波源和观察对象有相对运动时,观察者接收到波的频率和波源发射的频率并不相同的现象。

    靠近时,观察者接收和反射的频率变高;远离时,观察者接收和反射的频率变低。

  • 微多普勒效应

    非刚体系统内部组件的微运动使得雷达回波中包含表征这些组件运动的多普勒信息(可以理解为微运动对雷达波的频率调制),称之为微多普勒。

    例子:人行走过程中,躯干运动所反射的雷达回波包含的就是传统意义上的多普勒信息,而表征腿脚手臂摆动的雷达回波包含微多普勒。不同类型目标之间的微多普勒可能是独一无二的,成为目标分类的有力特征。
    1

图1 人类行走时的微多普勒时频图

如上图1,是对行人走动过程仿真并得到的雷达回波数据,经STFT后得到的时频图。幅度最大的类似正弦曲线的部分就是人体行走摆臂特征的体现,这是人体躯干运动(图中橙色最深部分)之外人体运动系统内部最典型的微运动。

  • 思考
    拿不到雷达硬件底层的原始信号,但是有直接反应多普勒效应的速度信号值,假设一辆目标车成功聚类,就可以提取其中反应微多普勒效应的点作为特征点,即速度值和车身速度差别很大的点,作用于分类或者其他功能。

  • 参考

    4D雷达之微多普勒与分类

1.2 DBSCAN

简要带过,参考维基百科https://zh.wikipedia.org/wiki/DBSCAN

2

在上图中,minPts = 4,点 A 和其他红色点是核心点,因为它们的 ε-邻域(图中红色圆圈)里包含最少 4 个点(包括自己),由于它们之间相互相可达,它们形成了一个聚类。点 B 和点 C 不是核心点,但它们可由 A 经其他核心点可达,所以也属于同一个聚类。点 N 是局外点,它既不是核心点,又不由其他点可达。

  • 伪代码
DBSCAN(D, eps, MinPts) {
   C = 0
   for each point P in dataset D {
      if P is visited
         continue next point
      mark P as visited
      NeighborPts = regionQuery(P, eps)
      if sizeof(NeighborPts) < MinPts
         mark P as NOISE
      else {
         C = next cluster
         expandCluster(P, NeighborPts, C, eps, MinPts)
      }
   }
}

expandCluster(P, NeighborPts, C, eps, MinPts) {
   add P to cluster C
   for each point P' in NeighborPts { 
      if P' is not visited {
         mark P' as visited
         NeighborPts' = regionQuery(P', eps)
         if sizeof(NeighborPts') >= MinPts
            NeighborPts = NeighborPts joined with NeighborPts'
      }
      if P' is not yet member of any cluster
         add P' to cluster C
   }
}

regionQuery(P, eps)
   return all points within P's eps-neighborhood (including P)

1.3 RANSAC

简要带过

随机抽样一致算法(RANdom SAmple Consensus,RANSAC)。它采用迭代的方式从一组包含离群的被观测数据中估算出数学模型的参数。计算机视觉用的比较多。

  • 对比最小二乘法
    噪点对最小二乘法的拟合干扰很大,ransac设置了噪声参数,抗噪性和鲁棒性好
    3

  • 伪代码
    4

Given:
    data – A set of observations.
    model – A model to explain observed data points.//直线、曲线、平面
    n – Minimum number of data points required to estimate model parameters.//估计一个模型最少的样本点数,直线(2),二次曲线(3)
    k – Maximum number of iterations allowed in the algorithm. //最大迭代次数
    t – Threshold value to determine data points that are fit well by model. //用于确定模型拟合良好的数据点的阈值,直线(点到直线的距离)
    d – Number of close data points required to assert that a model fits well to data.//一个好的模型最少有多少内点

Return:
    bestFit – model parameters which best fit the data (or null if no good model is found)

iterations = 0
bestFit = null
bestErr = something really large

while iterations < k do
    maybeInliers := n randomly selected values from data
    maybeModel := model parameters fitted to maybeInliers
    alsoInliers := empty set
    for every point in data not in maybeInliers do
        if point fits maybeModel with an error smaller than t
             add point to alsoInliers
        end if
    end for
    if the number of elements in alsoInliers is > d then
        // This implies that we may have found a good model
        // now test how good it is.
        betterModel := model parameters fitted to all points in maybeInliers and alsoInliers
        thisErr := a measure of how well betterModel fits these points
        if thisErr < bestErr then
            bestFit := betterModel
            bestErr := thisErr
        end if
    end if
    increment iterations
end while

return bestFit
  • 参数设置

    假设模型的随机选择点数为n,迭代重复次数为k,每个点是真正内点群的概率为w(未知),则
    w = 真 正 内 点 群 数 / 点 总 数 w = 真正内点群数 / 点总数 w=/
    w n w^n wn代表随机选择的n个点都是内点的概率, 1 − w n 1-w^n 1wn代表所选的n个点至少有一个不是内点的概率, ( 1 − w n ) k (1-w^n)^k (1wn)k表示迭代k次都没有全部的n个点是内点的概率
    假设算法迭代k次成功的概率为P,则:
    p = 1 − ( 1 − w n ) k p = 1-(1-w^n)^k p=1(1wn)k
    要确保成概率很高, p = 0.99 p=0.99 p=0.99。当随机选点数n不变时,迭代次数k越大,p越大;当w不变时,n越大,所需k就越大,通常w未知,所以随机选点数n选小一点比较好

  • RANSAC C++示例及源码

    RANSAC C++ examples :拟合直线、平面及多直线多平面

  • 参考
    图像拼接技术步骤归纳
    维基百科

2 论文主要内容

Wheel Extraction based on Micro Doppler Distribution using High-Resolution Radar

示例应该是自车右前方驶向的目标车

2.1 理论

  • 多普勒雷达只能测量径向速度 v D v^D vD和方位角 θ \theta θ,径向速度是缸体主速度方向的余弦分量
  • 车轮产生微多普勒效应,提出最小最大多普勒频移的简化模型,速度分布是0-2 v i D v_i^D viD,如Fig1

2.2 信号处理

5

  • 雷达数据基于坐标空间 ( r , v D , θ ) (r,v^D,\theta) (r,vD,θ)

  • 使用Ordered Statistics CFAR (OS CFAR)提取出目标(点),归一化多普勒分布得到 η \eta η,如Fig3.4.

    CFAR根据车辆周围环境变化检测阈值,通过实现恒定的虚警率,可以解决虚警问题

  • 对目标(点)做DBSCAN聚类,计算聚类面积,小于2m²为行人或者杂物滤除掉

  • RANSAC提取出属于车身速度的点,正交距离回归(ODR)弥补速度和方位角的测量误差,离群点就很有可能是车轮点或者噪点

    作者之前论文提出的方法:Instantaneous lateral velocity estimation of a vehicle using Doppler radar

  • 对离群点做第二次DBSCAN聚类(0.5m)

  • 由轮胎的位置得到车身底盘的位置

6

2.3 关于RANSAC提取速度

  • 径向速度 V r V_r Vr和方位角 θ \theta θ的关系如下,可由几何关系推导出:

V r = V x ∗ c o s ( θ ) + V y ∗ s i n ( θ ) = V ∗ c o s ( α − θ ) V_r = V_x * cos(\theta) + V_y * sin(\theta) = V * cos(\alpha - \theta) Vr=Vxcos(θ)+Vysin(θ)=Vcos(αθ)

​ 其中 V V V为目标车辆的实际合速度, V x , V y V_x,V_y Vx,Vy为坐标轴方向上的分量, α \alpha α为目标车辆的实际航向角,即速度的方向。

11

  • 多个点时存在以下关系式,可以使用RANSAC迭代求出 V x , V y V_x,V_y Vx,Vy 或者 ∣ V ∣ , α |V|,\alpha V,α

22

  • 上面的公式显然是非线性的,那么为什么2.2中的Fig5中径向速度和方位角成线性关系?

在这里插入图片描述

示例中的车辆是相对于自车左前方,驶向自车的,那么目标车的航向角 α \alpha α大致在135°左右,而图中点的方位角 θ \theta θ变化在15°左右,在余弦图中,由公式 V r = V ∗ c o s ( α − θ ) V_r = V * cos(\alpha - \theta) Vr=Vcos(αθ)可得近似是在虚线框区域,近似呈现线性关系,和论文中的Fig5基本对应。

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值