首页 > 编程语言 >雷达算法 | 一种适用于汽车雷达的聚类算法研究与分析

雷达算法 | 一种适用于汽车雷达的聚类算法研究与分析

时间:2023-07-19 14:32:18浏览次数:29  
标签:DBSCAN end 近邻 距离 算法 聚类 雷达

公众号【调皮连续波】,其他平台为自动同步,同步内容若有不全或乱码,请前往公众号阅读。保持关注调皮哥,获得更多雷达干货学习资料和建议,助力大家轻松、快乐、有方向地学习雷达技术。

雷达算法 | 一种适用于汽车雷达的聚类算法研究与分析_聚类算法

本文参考TI的一种适用于汽车雷达的聚类算法研究和实现.pdf文档

由于不涉及硬件,因此本文仅对算法部分进行分析,需要用到硬件分析部分的读者,可以直接参考原文。

1.概述

雷达接收处理包括射频前端,基带信号处理后处理算法三部分:

(1)射频前端完成高频雷达接收信号的模拟域信号处理和数模转换(ADC);

(2)基带信号处理在零中频上完成雷达接收信号的数字信号处理(DSP)和目标检测;

(3)在目标检测之后的高层算法被统称为后处理算法,如聚类(Clustering)、 关联(Association)、跟踪(Tracking)、分类(Classification)等。

这三部分是雷达工程师需要重视的,建议进行系统性地学习,多看、多思考、多动手实践。本文主要是针对后处理算法中的一种聚类算法做分析,解决汽车雷达目标由于目标尺寸、雷达发射系数(RCS)和检测算法的不同所带来的一系列问题。

聚类算法的本质是“物以类聚,人以群分”思想,只有“志同道合”的点云才会被归为一类。本文选取了 DBSCAN(Density-Based Spatial Clustering of Application with Noise)作为适合汽车雷达的聚类算法,重点研究了这种算法的性能和参数敏感性,并提出了一种简单可行的参数调整(有点类似于自适应)方法。

2.算法背景

线性快速频率调制连续波(Linear Fast FMCW) 是一种频率随时间快速线性变化(斜率在几十 MHz/us)的雷达波形,由于它可以提供较高的分辨率,同时有效地解决距离-速度模糊性的问题,当前已经成为主流的汽车雷达波形。

常用的信号处理链流程如下图所示:

雷达算法 | 一种适用于汽车雷达的聚类算法研究与分析_数据集_02

图1:雷达信号处理链

首先,通过第一维和第二维 FFT 计算获得目标距离和速度,然后采用特定的角度估计算法(例如 FFT,MUSIC 等)来获得目标的角度,最后再通过特定的目标检测算法(例如 CFAR-CA、CFAR-OS 等)从噪声中检测获得反射点。随着目标的尺寸、雷达发射系数(RCS)和检测算法的不同,一个物体在目标检测后可能产生从几个到几百个不同的反射点。

如果通过聚类算法分析这些反射点的内部结构,将属于同一 个物体的反射点归为一个簇,这样每一个检测到的物体都形成一个簇,最后再通过对聚类以后的簇进行目标跟踪和分类, 可以获得可靠的物体的距离和移动速度。

3.汽车雷达聚类算法

聚类在无监督机器学习领域是一个非常热门的研究课题,近年来出现了许多的算法。现有的聚类算法可以大致分为:原型聚类(Prototype-based clustering)、密度聚类 (Density-based clustering) 和层次聚类 (Hierarchical clustering)三个类别。

(1)原型聚类

通常,假设聚类结构能通过一组原型刻画,在现实聚类算法中比较常用。通常情况下,算法先对原型进行初始化,然后对原型进行迭代更新求解。采用不同的原型表示,不同的求解方式,将产生不同的算法。常见的原型聚类算法有 k 均值方法 (k-means)、高斯混合聚类方法 (Mixture-of-Gaussian) ,在数据挖掘领域被广泛应用,但是这些算法都要求在聚类之前就确定输出的簇的数量。对于汽车雷达来说,也就是要求在聚类之前就确定目标的数量,这显然是无法做到的,因为汽车雷达无法确定当前的目标数量是多少。

(2)层次聚类

层次聚类尝试在不同层次对数据集进行划分,从而形成树形的聚类结构。层次聚类可以采用“自下而上”的聚类策略,也可以采用“自上而下”的聚类策略。AGNES 方 法 (AGglomerative NESting)是一种常用的“自下而上”的层次聚类算法。然而这种算法面临和原型聚类相同的问 题,也需要在聚类之前确定输出的簇的数量,因此也无法直接应用到汽车雷达上,因此就只剩下了密度聚类。

(3)密度聚类

密度聚类(Density-based clustering)没有其它两种聚类的限制,不需要事先确定簇的数量。密度聚类假设簇的 结构能通过目标点分布的紧密程度来确定。在密度聚类中,簇被认为是数据空间中目标点密集的区域,在簇之间出 现的低密度的目标点被认为是噪声. 这些簇可以有任意的形状,并且簇内的目标点也可以任意分布,这一点和汽车 雷达上的检测目标特性十分接近。汽车雷达对应同一个目标的检测点之间距离接近,并且这些点的密度分布是一定 的(这个密度分布和物体的反射特性相关)。因为具备以上这些特性,密度聚类更加适合于汽车雷达的应用,DBSCAN 算法是一种常用的密度聚类算法(可以清晰地知道,DBSCAN能够用于汽车雷达的本质原因)。

4.聚类算法指标

一个好的聚类结果的目标点应该具有高的簇内相似性和低的簇间相似性,在低维度数据集上, 聚类性能的好坏通过可视化的数据分布图就可以直观的看出来,但是通过度量指标来定量地衡量聚类性能的好坏更加准确。

参考文献[2] 给出了常用的聚类性能度量 DI (Dunn Index), DBI (Davies-Bouldin Index) ,这两种度量在原理上类似,本文选择 DI 作为分析聚类性能的度量指标。假设数据集

标签:DBSCAN,end,近邻,距离,算法,聚类,雷达
From: https://blog.51cto.com/u_12413309/6775842

相关文章

  • 校招 | 2023届应届生毫米波雷达算法岗秋招经历分享
    本文首发于公众号【调皮连续波】,其他平台为自动同步,同步内容若有不全或乱码,请前往公众号阅读。保持关注调皮哥,获得更多雷达干货学习资料和建议,助力大家轻松、快乐、有方向地学习雷达技术。知乎:https://zhuanlan.zhihu.com/p/576656211。原创作者: @探索Seeker本文经过原创作者同意,......
  • 字典树(trie) 算法笔记
    P1字典树是什么顾名思义就像一个字典一样,可以查询某单词是否出现,也可以查找同一前缀的单词的个数等等操作。P2字典树的实现字典树是用树来实现的(这不废话吗),如果从根节点走到一个已标记过的节点(后面我们会称它为单词节点)的一条路径就是一个单词。我们定义一下变量(或数组)的表......
  • 代码随想录算法训练营第三十三天| 1049. 最后一块石头的重量 II 494. 目标和 474.一
    1049.最后一块石头的重量II思路:因为含有两个石头的相撞,所以需要把dp的目标值改成sum/2,然后取得这个目标值的最大值,然后对sum-2*target代码:1//要求:有多个石头,两两撞击,取得剩下的石头的最小值2//——》一定要碰到最后一个3//注意:4//1,x==y:两个粉碎,x<y:y=......
  • m基于虚拟力优化算法的二维室内红外传感器部署策略matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:    2.算法涉及理论知识概要        红外传感器在室内环境监测、安防、智能控制等领域中得到了广泛应用。在室内部署红外传感器时,其位置的选择对于传感器的性能和信号质量有着至关重要的影响。因此,如何确定红外传感器......
  • 代码随想录算法训练营第57天 | ● 647. 回文子串 ● 516.最长回文子序列 ● 动
     第九章 动态规划part17●  647. 回文子串  ●  516.最长回文子序列●  动态规划总结篇 今天 我们就要结束动态规划章节了,大家激不激动!!!   详细布置   647. 回文子串    动态规划解决的经典题目,如果没接触过的话,别硬想 直接看题解。https:......
  • 代码随想录算法训练营第58天 | ● 739. 每日温度 ● 496.下一个更大元素 I - 第1
     第十章 单调栈part01 ●  739. 每日温度 ●  496.下一个更大元素 I    详细布置    739. 每日温度  今天正式开始单调栈,这是单调栈一篇扫盲题目,也是经典题。 大家可以读题,思考暴力的解法,然后在看单调栈的解法。 就能感受出单调栈的巧妙 ......
  • 代码随想录算法训练营第59天 | ● 503.下一个更大元素II ● 42. 接雨水 - 第10章
     第十章 单调栈part02 ●  503.下一个更大元素II ●  42. 接雨水    详细布置   503.下一个更大元素II  这道题和 739. 每日温度 几乎如出一辙,可以自己尝试做一做 https://programmercarl.com/0503.%E4%B8%8B%E4%B8%80%E4%B8%AA%E6%9B%B4%E5%......
  • 代码随想录算法训练营第60天 | ● 84.柱状图中最大的矩形 - 第10章 动态规划part03
     第十章 单调栈part03有了之前单调栈的铺垫,这道题目就不难了。  ●  84.柱状图中最大的矩形   今天是训练营最后一天,恭喜坚持两个月的录友们,接下来可以写一篇自己 代码随想录一刷的总结。好好回顾一下,这两个月自己的博客内容,以及自己的收获。  ......
  • 二分图相关算法模板
    二分图判定概念解释二分图:设$G=(V,E)$是一个无向图,如果顶点$V$可分割为两个互不相交的子集$(A,B)$,并且图中的每条边$(i,j)$所关联的两个顶点$i$和$j$分别属于这两个不同的顶点集$(i\inA,j\inB)$,则称图$G$为一个二分图相关性质定理一个图是二分图$\Leftrightarrow$图中不......
  • 《C++》拷贝和替换算法
    copy复制容器元素到新容器 vector<int>v3; v3.resize(v1.size()); copy(v1.begin(),v1.end(),v3.begin());replace元素值替换 replace(v3.begin(),v3.end(),0,100);//replace(开始,结束,旧值,新值);replace_if条件元素值替换classFindCondition{public: booloperator()(......