车载毫米波雷达目标分类问题探讨

引言

    得益于各类技术(硬件、算法等)的进步,近些年来,人们对雷达的要求已经不再只是满足于检测:获取目标的距离、速度和角度信息(当然,SAR/ISAR等目标成像另说),而是也希望能对目标种类进行识别。  对于车载毫米波雷达,其数据处理部分原本主要由聚类和跟踪算法构成(这两算法我在以往的博文中都做了介绍),而随着4D雷达的普及,越来越多的雷达厂家也开始给雷达增加了目标分类的功能(比如博世、大陆、采埃孚的4D雷达),目标分类于是也成了雷达数据处理的主要组成部分

    其实我在蛮早前就想聊聊该话题的,但是之前对目标分类相关的知识几乎没有积累,所以一直没有写这方面的博文。得益于这段时间对机器学习有关内容的学习以及自己专业课题的开展,对于雷达目标分类这个话题有了一些认识。想着把这个坑填一下,于是这两天粗略看了几篇车载雷达应用场景下目标分类的文献,聊一聊这个话题。

【本博文主要是针对该话题做一个概述性的探讨,专业性不强,想针对该话题做更多深入了解的读者,可以进一步看看我后文所附的参考文献】

Blog

2025.1.8  博文第一次写作

目录

引言

目录

一、车载雷达目标分类问题概述

二、车载雷达目标分类方法概述

2.1 有什么方法(工具)可以帮我们做分类

2.2 分类方法及其相应的数据集(样本)

2.3 车载雷达目标分类的难点

三、总结

四、参考资料


一、车载雷达目标分类问题概述

    目标分类问题首先是要搞清楚:要把目标分成哪几类。 道路上有各种各样的目标物: 行人、动物、两轮车、轿车、客车、货车、静止障碍物等。前面这些例举的类别已经是很概括性的描述了(我们还可以做更进一步的划分,比如两轮车可以分为自行车、电瓶车、摩托车,轿车则有各种不同的型号和大小),事实上我们无法穷尽目标类别,更别说目标还可以有不同的运动状态。 现阶段基于车载雷达的目标分类任务,主要还是进行典型的如:行人、两轮车、轿车、卡车这几种类别的划分,而如果想增加别的目标类型则可以用“其它类别”来替代。

    用车载毫米波雷达来进行目标分类的应用背景和优势是什么? 目标的类别信息对于自动驾驶汽车的驾驶行为决策和路径规划至关重要,所以目标分类有其应用的需求(这算是应用背景吧…)。   自动(或辅助)驾驶汽车的环境感知传感器主要包括:摄像头、激光雷达、毫米波雷达、超声波雷达,其中毫米波雷达最核心的优势在于:可以对远距离目标进行有效探测以及测速敏感且精确。当然,成本低、可以适应各类严苛的外界环境也是其优点。虽然我很想挖掘用车载毫米波雷达来进行目标分类的优势是什么,优势是对比出来的,但是以我现在的理解,毫米波雷达对比摄像头确实没有啥优势(不管是技术层面还是应用层面)… 如果你硬要说摄像头失效什么的,我的建议是在这种情况下立刻停止驾驶,把摄像头的问题解决掉,而不是依赖毫米波雷达继续进行自动驾驶…  现在越来越多的雷达厂家开始给自家的雷达赋能目标分类的功能(且不说这一分类功能的实现效果如何,是否能作为有效的辅助信息供给后端的功能模块),我觉得更多的原因是为了在这个红海市场里提供噱头和技术亮点,增加产品竞争力而在学术(科研)领域,这一比较新的应用场景则可以产出很多文章

    想要补充的一点是:虽然在车载环境感知的应用领域基于毫米波雷达做目标分类似乎没啥优势,但是在其它只有雷达好使以及只能使用雷达的领域,基于雷达的目标分类还是很有研究必要性和实际价值的:比如室内人体行为感知、基于雷达的手势识别、基于雷达的无人机探测和分类等应用场景。

二、车载雷达目标分类方法概述

2.1 有什么方法(工具)可以帮我们做分类

    现在实现目标分类的方法无非就是传统的机器学习方法或者深度学习的方法。  传统的机器学习方法如:支持向量机(SVM)、逻辑回归、决策树等等,这些我之前在专栏:机器学习_墨@#≯的博客-优快云博客中介绍以及实践过一些;深度学习的方法如:卷积神经网络(CNN)、生成对抗网络(GAN)等在分类任务中用得比较多。 深度学习的方法与传统机器学习方法的主要区别就是后者需要人工提取特征(输入到模型中的样本的每个值就是已经凝练出来的特征),而前者是网络自己从输入的样本中提取一些高维的、抽象的特征。

    完成一个分类任务,我们需要明确:模型、损失函数、优化算法,此外尤其重要的是:适用于该模型的数据集。 有关机器学习/深度学习的概念就不在本文具体展开了,不太清楚的读者可以去我前面的专栏里看看相关文章或者自行查找相关资料。 本文不关注具体的分类实现细节,所以我后文用分类方法来指代包含模型、损失函数、优化算法等完成一个分类任务的全部过程。后文将主要关注:分类方法和数据集。

2.2 分类方法及其相应的数据集(样本)

    传统的机器学习分类方法需要我们自行提取特征,在基于雷达的测量上,对于:行人、两轮车、轿车、卡车这几种类别,我们容易想到的特征包括:速度、加速度、轨迹曲率等运动学特征,以及尺寸、RCS值等电磁散射特征。 确定使用哪些特征后,我们就可以着手构建数据集,数据集的单个样本为:

    其中,X为样本特征:

X=(速度值、加速度值,轨迹曲率值,尺寸,RCS值…)

    y为样本值,对应:行人两轮车轿车卡车。将数据集划分为训练集、测试集,然后选用如SVM、逻辑回归、softmax回归、决策树等分类方法完成模型的训练、测试、优化等,最终部署到雷达中。

    比如在硕士论文[1]中,作者就使用速度、尺寸、功率谱(做了LDA特征变换)这几个特征作为样本特征,并选用SVM作为分类方法完成了对行人、非机动车、小型机动车、大型机动车这四种类型目标的分类。  在文献[2]中,作者将RCS的统计特征(RCS估测的均值和方差)作为输入特征,完成了对行人、机动车的分类任务。

    基于深度学习的分类方法一般要求输入的样本是二维矩阵(单张图片)或三维矩阵(多张图片),然后网络从中自行提取特征。在基于雷达的测量上,我们容易想到的输入样本包括:距离多普勒图(RD图)、距离角度图(RA图)、目标高分辨率距离像(HRRP)、微多普勒图(spectrogram)等。而分类方法则以卷积神经网络(CNN)为主,CNN在图像处理领域已经有很成熟的应用了,典型如AlexNet、GoogleNet、ResNet等经典网络架构在图像分类领域表现得很好,不过考虑到车载雷达硬件计算能力和内存的限制,以及对实时性的要求,我们只能部署一些轻量化的网络模型,所以对前述网络架构做一些删减是有必要的。

    在硕士论文[3]中,作者就是将距离多普勒图(RD图)作为输入样本(如图2.1所示),并比较了CNN、DCNN、MobileNet11、和作者自己构建的G-MobileNet几种网络模型对行人、骑行者、汽车三种目标物的分类效果。

图2.1 三种目标的RD图(裁剪后)[3]

   

    同时在文献[2]中,作者除研究RCS的统计特性外,还探讨了将距离-角度图(如图2.2所示)、三维的点云成像结果(如图2.3所示)作为输入样本,进行多目标分类。

图2.2 不同目标的距离角度图[2]

图2.3 不同目标的三维点云图[2]

    在文献[4]中,作者使用微多普勒图(如图2.4所示)作为输入样本进行目标分类,并给出了做目标分类时典型的处理流程(如图2.5所示):

图2.4 不同类型目标的微多普勒图[4]

图2.5 典型的全流程处理架构[4]

    在文献[5]中作者提出了所谓的RCS图(其本质上还是某个距离门下的二维成像/测角结果)作为输入样本进行行人、动物、路边静止目标物的分类:

图2.6 不同目标的“RCS图”[5]

    本节给出了一些文献的处理方法,更具体的内容还是需要读者自行阅读。对于想从事这方面研究的读者,可以在前面几篇文献的基础上,做一些文献调研:找到其引用文献以及被引文献,并做大量的阅读和实践。

2.3 车载雷达目标分类的难点

    数据集是我们用机器学习/深度学习的方法解决各类问题中最核心的要素,也是最难解决的部分。数据集直接决定了模型性能的好/坏,特别是其泛化能力(模型是不是在某些场合下表现很好,在另外的场合表现很差?),在基于毫米波雷达的目标分类任务中尤其如此

    在上一节的内容中,我们探讨了包括将自己挑选的特征(如速度、RCS值)或者图像(如RD图、RA图)作为样本输入到模型的可行性,给出的几篇参考文献所做的工作也验证了将这些作为分类依据的可行性。  这几篇参考文献给出的分类准确率(且不考虑划分了多少种类别)都已经达到90%以上了,但是我们应该辩证地看这些结果: 这几篇文献的数据集(包括训练集和测试集),要么来源于仿真,要么来源于单一或者有限场景下的实测,这就决定了这些数据训练出来的模型其实不具备强的泛化能力,模型只能对仿真数据或者有限场景负责而在实际应用中,道路环境何其复杂不仅仅是道路背景复杂:对雷达而言就是不同的背景噪声和杂波,这会影响如RD、RA等成像效果;目标物自身的状态也很复杂:比如目标物可能有很多不同的运动状态(我们不能简单认为速度低就是行人,因为车辆也可能以较低的速度运行;对于输入特征是速度、RD图、微多普勒图的情况,实际应用场景下目标如果静止怎么办?)、目标物相较于雷达的距离和角度,会直接影响RCS值以及RD图,RA图的成像结果,这些都会直接影响分类的结果。 所以构建足够丰富的数据集是最重要也是最困难的一件事

    除数据集外,如前所述,考虑到车载雷达硬件计算能力和内存的限制,及其对实时性的要求,如果使用深度学习的方法进行分类,我们只能部署一些轻量化的、高效率的网络模型。不过如果有了合适的数据集,尝试各类网络模型倒显得简单得多了

三、总结

    本文对基于车载毫米波雷达的目标分类问题做了简单的探讨,阐述了我们可以做哪些分类,并从传统机器学习方法、深度学习方法实现目标分类两个方面展开论述(本文没有涉及实现目标分类的过程和细节,这部分内容本质上就是各类分类工具(算法)的具体使用,和机器学习更接近一些,读者可以从我的机器学习专栏: 机器学习_墨@#≯的博客-优快云博客做更进一步的了解),进一步地,本文重点讨论了数据集这一基于车载雷达进行目标分类的难点。 此外,文中给出的几篇参考文献可以作为感兴趣的读者做更深入理解的参考资料。

    需要补充的一点是:虽然我在引言中这样描述:“随着4D雷达的普及,越来越多的雷达厂家开始给雷达增加了目标分类的功能(比如博世、大陆、采埃孚的4D雷达)”,但4D雷达和目标分类的功能实现之间没有必然联系:4D雷达相较于传统的3D雷达只是增加了俯仰维的测角,此外雷达各项性能(分辨率、测量范围等)更强而已,基于3D雷达我们也可以得到目标的速度、RCS等特征,以及RD图、RA图、微多普勒图等成像结果,一样可以做分类。

四、参考资料

[1] 蒋新.车载毫米波雷达目标分类识别技术研究[D].电子科技大学,2020.DOI:10.27005/d.cnki.gdzku.2020.004072.

[2] X. Cai, M. Giallorenzo and K. Sarabandi, "Machine Learning-Based Target Classification for MMW Radar in Autonomous Driving," in IEEE Transactions on Intelligent Vehicles, vol. 6, no. 4, pp. 678-689, Dec. 2021, doi: 10.1109/TIV.2020.3048944.

[3] 任梦豪.基于CNN的车载毫米波雷达目标检测与分类方法研究[D].南京信息工程大学,2024.DOI:10.27248/d.cnki.gnjqc.2024.001551.

[4] Angelov A, Robertson A, MurraySmith R, et al. Practical classification of different moving targets using automotive radar and deep neural networks[J]. IET Radar, Sonar & Navigation, 2018, 12(10): 1082-1089.

[5] X. Cai and K. Sarabandi, "A Machine Learning Based 77 GHz Radar Target Classification for Autonomous Vehicles," 2019 IEEE International Symposium on Antennas and Propagation and USNC-URSI Radio Science Meeting, Atlanta, GA, USA, 2019, pp. 371-372, doi: 10.1109/APUSNCURSINRSM.2019.8888647.

### 车载毫米波雷达技术的发展趋势 随着自动驾驶级别的不断提升,车载毫米波雷达的应用范围和技术水平也在持续扩展和深化。当前,毫米波角雷达的渗透率存在较大的上升空间[^1]。与此同时,MMIC(单片微波集成电路)装配数量的增长成为毫米波雷达发展的一个重要方向。 #### 多方位布局与高精度感知能力增强 在L2+及以上级别的自动驾驶环境中,为了实现诸如变道辅助、碰撞预警等复杂功能,除了传统的前向雷达之外,后向、角、侧向乃至舱内的毫米波雷达配置逐渐增多。这种多维度的空间覆盖能够提供更加全面而精准的目标检测数据,从而有效提高系统的安全性和可靠性[^3]。 #### 国产化替代进程加快 面对日益增长的市场需求以及国际供应链不确定性因素的影响下,国内企业在技术研发方面投入加大,并取得了显著成效。例如华域汽车、德赛西威等企业已经在该领域占据了一席之地并展现出强劲的竞争实力[^2]。 #### 集成度更高的解决方案涌现 近年来,业界对于小型化、低成本且高性能的产品需求旺盛。因此出现了许多集成了更多功能模块的一体化方案,比如将天线阵列与射频前端集成在一起的设计思路就十分流行。这不仅有助于降低生产成本,还能进一步缩小设备体积以便更好地适配不同类型车型的要求。 ```python # 示例代码展示如何模拟简单的毫米波信号处理过程 import numpy as np def simulate_millimeter_wave_signal(frequency=77e9, distance=np.array([10., 20., 30.]), velocity=np.zeros(3)): c = 3e8 # Speed of light in vacuum (m/s) wavelength = c / frequency phase_shifts = ((4 * np.pi * distance) / wavelength).reshape(-1, 1) + \ (((4 * np.pi * velocity) / wavelength)).reshape(-1, 1) signal = np.sum(np.exp(1j * phase_shifts), axis=0) return abs(signal)**2 print(simulate_millimeter_wave_signal()) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墨@#≯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值