基于毫米波雷达和TinyML的车内检测、定位与分类
英文标题:In-Cabin Detection, Localization and Classification based on mmWave Radar with TinyML
作者信息:
- 王志飞,程一格,彭辉,周会强,王铮,刘宏全
- 所属机构:Calterah Semiconductor Technology Co., Ltd., China
- 联系邮箱:zhifei.wang@calterah.com
论文出处:
- 论文将在2024年9月25日至27日在法国巴黎举行的第21届欧洲雷达会议(Proceedings of the 21st European Radar Conference)上发表。
摘要: 本文提出了一种基于毫米波(mmWave)雷达系统级芯片(SoC)Calterah CAL60S344-AE的实时车内检测、定位和分类解决方案,该方案由TinyML技术赋能。提出了束-范围-多普勒(BRD)特征,以减轻干扰影响,并促进成人和婴儿的分类。开发了两个轻量级卷积神经网络(CNNs),并采用标签平滑技术来克服噪声标签问题,增强模型的泛化能力。广泛的实验表明,该实现在最坏情况下,检测准确率超过96%,定位和分类准确率超过90%,模型大小仅为76KB,推理时间约为44毫秒。比较分析还强调了模型泛化性和鲁棒性在实际应用中的重要性,并证明即使使用简单的CNN模型也能获得满意的性能。
引言: 车内乘客检测在各种安全应用中扮演着重要角色,例如安全带提醒、气囊部署优化和儿童存在检测(CPD)。尽管摄像头被广泛用于检测和识别,但它们可能侵犯个人隐私,并在检测隐藏在障碍物后的对象时面临挑战。压力传感器也可用于检测乘客的存在,但放置在座椅上的物品可能会引起传感器的误报。相比之下,毫米波雷达能够克服这些限制,即使在低光环境或阳光直射等复杂情况下也能准确检测乘客。其检测小动作的能力,如儿童的呼吸,使其特别适合满足EuroNCAP 2025路线图设定的严格安全要求,该路线图强调了车辆中CPD的重要性以防止事故。近期研究探索了使用毫米波雷达进行车内检测,无论是通过信号处理还是新兴的机器学习技术。尽管基于Capon的方法可以实现更高的角度分辨率并帮助检测和定位车内人员,但它们可能对复杂干扰敏感,如手机振动、风扇和小车移动。这些干扰会产生高频分量,不能通过RA(范围-方位)处理流程中采用的零多普勒移除来消除。此外,Capon生成RA图需要大量的矩阵乘法和求逆运算,使其难以在毫米波雷达SoC上实现。本文提出了一种新的处理流程,利用BRD特征而不是RA域中的功率分布,以克服干扰影响,并利用成人和婴儿的不同范围-多普勒特征进行分类。开发了8位整数后量化的Tiny CNN模型,并部署在毫米波雷达SoC上。除了检测车内是否有人,我们还通过采用深度学习模型同时确定人员坐在哪个座位上以及人员是成人还是婴儿。此外,我们展示了在Calterah雷达SoC上的实时实现,并用广泛的实验进行了验证。
方法: 本文提出的车内检测、定位和分类的处理流程如图1所示。输入是模数转换后的数据,称为ADC数据。首先对ADC数据进行快速傅里叶变换(FFT)以获得范围信息。随后,进行零多普勒移除,然后沿慢时间轴进行FFT,以获得所有虚拟MIMO通道的范围-多普勒(RD)图。与传统雷达处理不同,我们直接应用N点二维数字波束形成(DBF),每个波束指向我们感兴趣的区域。例如,我们执行6点DBF,这些波束指向第二排的三个座位及其相应的脚部区域。由于我们设计中相对较大的波束宽度,有效地覆盖了第二排的整个区域,包括两个座位之间的区域。N点DBF后,将获得一个具有范围、多普勒和角度维度的数据立方体,每个元素代表对应特定范围、多普勒频率和角度的功率。我们选择了数据立方体的一部分,具体为24×64×6,并使用不对称的8位整数格式对功率值进行量化。图2展示了一个成人在A座位上不动和B座位上的婴儿不动时的BRD特征示例。可以看出视觉差异,这保证了所提出的方法能够定位和分类成人和婴儿。得到的三维int8数据随后输入到开发的CNN模型中。在这项工作中,CNN执行七类分类任务,对应以下场景:空车有无干扰、第二排的A/B/C座位(右/中/左座位)被成人占用,以及A/B/C座位被婴儿占用。
深度学习模型的开发和部署: CNN模型的开发和部署过程如图3所示。CNN模型在初始化后使用梯度下降优化进行多轮训练。通过验证来评估验证损失,并确定是否应该提前停止训练过程。数据来自35个独立实验,每个实验包含1000帧,并将它们分成训练和验证数据集。尽管数据可以为车内应用轻松标记,但仍然存在噪声数据。例如,一个人可能坐在座位边缘并占据相邻座位的一小部分。此外,一个人的移动也可能侵入另一个座位区域。因此,直接使用这些标签会混淆CNN模型并降低其性能。此外,在实际应用中可以观察到数据分布漂移,如第IV节所示。为了解决噪声标签问题并提高模型泛化能力,我们采用了标签平滑技术。与使用独热编码标签不同,其中真实类别的概率为1,所有其他类别的概率为0,标签平滑为非目标类别分配一个小的非零概率α。TinyML技术对于在有限内存和计算能力的边缘设备上部署建立的CNN模型至关重要。这项工作主要采用后训练量化来减少内存占用并加速推理。在此过程中,使用训练数据集作为代表性数据集。在此数据集上运行建立的模型,并收集每层参数的最小值、最大值和标准差值。基于这些统计数据,将参数从32位浮点数缩放到8位整数的范围,类似于CNN输入的量化。最后,使用TensorFlow Lite Micro框架将量化模型与雷达平台SDK一起部署,生成可以闪存到毫米波雷达SoC的车内雷达二进制文件。
实现: 我们在Calterah CAL60S344-AE平台上实现了我们提出的方法,也称为RhinePro。这个4T4R雷达SoC在59 GHz至64 GHz的频率范围内运行,并配备了雷达基带加速器(BBA)来加速信号处理。它具有300MHz的双CPU核心和3MB SRAM。我们使用半波长均匀阵列,通过TDM生成4×4矩形虚拟阵列。SoC芯片和天线如图4所示。如图1所示,FFT和N点DBF在RhinePro的BBA中实现。然后CPU访问DBF结果并执行后续推理。RhinePro的BBA显著加速了信号处理,获得DBF结果仅需0.4毫秒。由于与波形传输并行化,快速时间处理的处理时间较长。我们开发了两种类型的CNN模型。第一种是一个简单的3层顺序CNN,本文中称为SimpleNet。它包括三个带有最大池化和ReLu6激活的卷积层,然后是一个全连接层。第二种是MobileNetV2,它比SimpleNet复杂得多,被认为是最好的轻量级CNN架构之一。SimpleNet和MobileNetV2的大小分别约为275KB和5.3MB。量化后,它们的大小分别减少到约78KB和1.6MB。我们在RhinePro平台上实现了int8后量化的SimpleNet,并将在下一节中展示评估结果,而开发的MobileNetV2仅在桌面上部署以供比较。在我们的实现中,int8量化的SimpleNet的推理时间约为44毫秒,而未经量化的相同模型将需要大约855毫秒。通过将CNN推理与波形传输并行化,我们开发的车内雷达可以实现高达20Hz的更新率。
实验评估与分析: 为了验证我们提出的方法和实现,我们进行了一系列综合实验。图5展示了实验测试案例的例子。雷达平台安装在车辆的顶部中心。我们评估了三个不同类别的场景:(1)空车与干扰场景,如运行的风扇、座椅上振动的手机或外部车辆振动;(2)成人乘客就座有无身体移动;(3)婴儿娃娃在座位或脚部区域模拟呼吸,安装有向前或向后的儿童安全座椅,或没有安全座椅。图6展示了三种CNN模型的训练和验证准确率,包括无标签平滑的SimpleNet、有标签平滑的SimpleNet和有标签平滑的MobileNetV2。显然,两种SimpleNets的训练准确率超过了95%,而MobileNetV2的准确率约为99.6%。此外,MobileNetV2的收敛速度明显快于SimpleNets。我们使用独立测试数据集评估了这些模型,结果如图7所示。验证和测试结果之间存在性能差距。在最坏情况下,无标签平滑的SimpleNet的性能比验证结果下降了约15%,而其他两个模型的最坏情况准确率仍超过89%。这种差异可以归因于训练和验证数据集来自相同的实验,而测试数据集来自独立实验。这可能
引入了数据分布偏移,而SimpleNet的过拟合导致性能严重下降。为了进一步评估两种带有标签平滑和量化的模型的泛化能力,我们进行了额外的独立实验,稍微修改了安装位置,并使用了不同的测试人员和婴儿模型。这旨在模拟实际应用中遇到的实际条件。结果如图8所示,尽管由于测试环境的变化,这次实验的模型性能与测试数据集上的性能有所不同,但两种模型仍然实现了约94%的平均准确率。将验证数据集上的量化模型的结果进行比较,我们发现后量化几乎没有性能下降,相反,性能略有提高。这主要归因于后量化引入了一定程度的噪声,这在训练过程中起到了正则化的作用,从而防止过拟合并增强泛化。图8和图7的结果还突出了实际应用中的逐例波动,表明深度学习模型的泛化性将是一个主要问题。此外,使用相对复杂的模型,如MobileNetV2,可能与使用本研究中的SimpleNet这样的简单、紧凑的CNN相比,改进有限。为了证明所提出方法的鲁棒性,我们展示了使用SimpleNet的一个推理案例的详细结果,其中一个人从外部摇晃空车以模拟车辆的外部振动。图9(a)展示了CNN输入特征的一个例子,(b)和(c)分别描绘了这个案例研究的预测分数和分类结果。图9(a)和图2之间的比较展示了干扰、成人和婴儿在BRD特征上的差异,可以利用这些差异来区分它们。尽管在这个案例中出现了两次误报,但可以通过采用逻辑策略如时间平滑来减轻。
结论: 本文提出了一种基于Calterah雷达SoC平台和TinyML的实时车内检测、定位和分类解决方案。我们提出并实现了一种新的处理流程,利用多波束方向的BRD特征。为了解决噪声标签问题并增强开发的CNN的泛化性,采用了标签平滑技术。此外,应用后量化以减少内存占用并加速推理。广泛的实验表明,实践中存在数据分布波动,因此模型的泛化性将是一个主要问题。尽管存在波动,结果表明我们的实现在检测方面的准确率超过96%,在最坏情况下定位和分类的准确率超过90%。开发的Tiny CNN模型占用大约76KB的内存,并花费44毫秒进行推理。