摘要
本文提出了一种实时的座舱检测、定位和分类解决方案,采用毫米波(mmWave)雷达系统芯片(SoC),CapterahCAL60S344-AE,支持微型机器学习(TinyML)。提出了波束距离-多普勒(BRD)特征,以减轻干扰的影响,便于成人和婴儿的分类。我们开发了两个轻量级卷积神经网络(CNNs)与标签平滑技术来克服噪声标签和增强模型的通用性。大量的实验表明,在最坏的情况下,该实现可以达到96%以上的检测精度和90%以上的定位和分类准确率,只有76 KB的模型大小和大约44 ms的推理时间。比较分析还强调了模型的通用性和鲁棒性对实际应用程序的重要性,并证明了即使使用一个简单的CNN模型也可以获得令人满意的性能。
引言
座舱内乘客检测在各种安全应用中发挥着至关重要的作用,如安全带提醒、安全气囊部署优化和儿童在场检测(CPD),以防止中暑事件。虽然相机被广泛用于检测和识别,但它们可能会侵犯个人隐私,并在检测隐藏在障碍物背后的物体时面临挑战。压力传感器也可以用于检测乘客的存在,但将物体放置在座位上可能会导致传感器的假警报。相比之下,mmWave雷达有潜力克服这些限制,并提供准确的乘客探测,即使是在具有挑战性的情况下,如低光环境或阳光眩光。它能够检测小的运动,比如儿童的呼吸,使它特别适合满足EuroNCAP 2025路线图规定的严格安全要求,该路线图强调了CPD在车辆中预防事故的重要性。最近的研究探索了使用毫米波雷达进行座舱检测,使用信号处理或新兴的机器学习技术。Chen等人[1]提出了一种基于雷达的由Capon和CFAR生成的点云处理的舱内乘员监测。Abedi等人[2]利用机器学习方法处理范围-方位角(RA)热图,以确定被占据座位的位置。虽然基于capon的方法可以实现更高的角度分辨率,并有助于检测和定位汽车中的人,但它们可能对复杂的干扰很敏感,如手机的振动、风扇和汽车的小运动。
这些干扰将产生高频分量,并且不能通过在基于RAMAP的处理流程中采用的零多普勒去除来消除。此外,由Capon生成的RAMAP需要大量的矩阵乘法和转置,这使得在mmWave雷达soc上难以实现。Cruz等人[3],Song等人[4]提出利用时频特征来减少推断的影响,提高检测的鲁棒性。然而,获得时频特征也需要大量的计算和内存。此外,以往的工作在开发深度学习模型时很少考虑内存和计算复杂性,这可能导致在嵌入式雷达系统上不可行的实现。
在本文中,我们提出了一种新的处理流程,利用BRD特征而不是使用RA域的功率分布,以克服干扰的影响,并提供了利用它们不同的范围-多普勒特征对成人和婴儿进行分类的能力。在mmWave雷达SoC上开发并部署了具有8位整数后量化的小型CNN模型。除了检测车内是否有一个人外,我们还通过采用深度学习模型来同时确定这个人坐在哪个座位上,以及这个人是成年人还是婴儿。此外,我们演示了在Caltah雷达SoC上的实时实现,并通过广泛的实验验证。
方法
处理流程
图1显示了所提出的座舱内检测、定位和分类的处理流程。输入的是模数转换后的数据,称为ADC数据。首先对ADC数据进行沿快速时间采样轴的快速傅里叶变换(FFT),也称为快速时间处理,以获得距离信息。随后,进行零多普勒去除,然后沿慢时间轴进行另一个FFT,以获得所有虚拟MIMO信道的距离-多普勒(RD)图。传统的雷达处理采用非相干集成、恒定误警率(CFAR)检测和到达方向(DOA)估计,我们直接采用N-Point二维数字波束形成(DBF),如下所示:
其中,是对于虚拟通道c,距离下标 r,多普勒下标 v的慢时间FFT结果。为通道c和波束i的导向向量。是n点DBF幂。每束光束都指向我们感兴趣的区域,以便在舱内应用。例如,我们执行一个6点的DBF,这些光束指向第二行的三个座位和它们对应的脚槽区域。由于在我们的设计中有相对较大的波束宽,所以第二排的整个区域,包括两个座位之间的区域,都被有效地覆盖了。
在N-Point DBF之后,将得到一个具有范围、多普勒和角度尺寸的数据立方体,其中每个元素代表一个特定范围、多普勒频率和角度对应的功率。我们选择了数据立方体的一部分,特别是在本文中显示的实现中的24×64×6,并使用非对称的8位整数格式来量化幂值,如等式所示 2:
其中,b0和a0分别表示输入的假设偏差和比例因子,round表示舍入操作,clip(x,xmin,xmax)是在xmin和xmax范围内剪辑输入的函数。图2显示了没有seat-A移动的成年人和没有安全seat-B的婴儿的BRD特征。在图中可以观察到一个视觉上的差异,这承诺了所提出的方法来定位和分类成人和婴儿。
然后将得到的三维 int8 数据输入到已开发的 CNN 模型中。在这项工作中,CNN 执行了七类分类任务,分别对应以下场景:有或无干扰的空车位、座位 A/B/C(第二排的右/中/左座位)被成人占用、座位 A/B/C 被婴儿占用。
深度倾模型开发和部署
座舱内雷达CNN模型的开发和部署过程如图3所示。CNN模型在初始化后,通过对多个时期的梯度下降优化进行训练。执行验证,以评估验证损失,并确定是否应尽早停止训练过程。来自所有7个Case的35个独立实验的数据,每个案例包含1000帧,并将它们分割成训练和验证数据集。分割比是0.3。虽然数据可以标记为舱内应用,但噪声数据仍然存在。例如,一个人可以坐在一个座位的边缘,并占据相邻座位的一小部分。此外,一个人的运动也可能侵入另一个座位区域。因此,直接使用这些标签会混淆CNN模型,降低其性能。此外,数据分布漂移可以在实际应用中观察到,如第四节所示。为了解决噪声标签和提高模型的通用性,我们采用了标签平滑[5]。标签平滑使用一个小的非零概率α,而不是使用one-hot编码标签,而非其他类的概率为0,如等式所示:
TinyML 技术对于在内存和计算能力有限的边缘设备上部署已建立的 CNN 模型至关重要。这项工作主要采用训练后量化来减少内存占用并加速推理。在此过程中,训练数据集用作代表性数据集。在此数据集上运行已建立的模型,并收集每层参数的最小值、最大值和标准偏差值。基于这些统计数据,将参数从 32 位浮点数缩放到 8 位整数范围,类似于等式 2 所示的 CNN 输入量化。最后,使用 TensorFlow Lite Micro 框架将量化模型与雷达平台 SDK 一起部署,生成可闪存到 mmWave 雷达 SoC 的舱内雷达二进制文件。
补充
我们在CaalterahCAL60S344-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显著加速了信号处理,在0.4 ms内获得DBF结果。由于快速处理与波形传输并行化,快速处理的处理时间较大。
我们开发了两种类型的 CNN 模型。
第一种是简单的3 层顺序 CNN,本文中称为 SimpleNet。它包含三个卷积层,具有最大池化和 ReLu6 激活,然后是全连接层。
第二种是 MobileNetV2 [6],它比 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,带标签平滑的Simple网,以及带标签平滑的MobileNetV2。很明显,两个简单网络的训练准确率超过了95%,而MobileNetV2的训练准确率约为99.6%。此外,与SimpleNets相比,MobileNetV2表现出明显更快的收敛速度。我们使用一个独立的测试数据集对这些模型进行了评估,结果如图7所示。一个性能差距在验证结果和测试结果之间进行了观察。在最坏的情况下,没有标签平滑的SimpleNet的性能比验证结果下降了约15%,而其他两种模型的最坏情况下的精度仍超过89%。这种差异可以归因于训练和验证数据集中的数据来自相同的实验,而测试数据集来自一个独立的实验。这可能引入了数据分布偏移,而没有标签平滑的SimpleNet的过拟合导致了严重的性能恶化。
为了进一步评估两种标签平滑和量化模型的泛化能力,我们进行了一个额外的独立实验,略微修改了安装位置和不同的测试人员和婴儿模型。其目的是模拟在实际应用程序中遇到的实际条件。如图8所示的结果表明,虽然由于测试环境的变化,本实验中模型的性能与测试数据集上的性能有所不同,但两种模型的平均精度仍约为94%。通过比较验证数据集上的量化模型的结果,我们发现,量化后几乎没有导致性能下降,相反,性能略有提高。这主要可以归因于后量化引入了一定程度的噪声,这类似于训练过程中的正则化,从而防止过拟合和增强泛化。
图8和图7中的结果也强调了在现实应用中存在的个案波动,这表明深度学习模型的通用性将是一个主要关注的问题。此外,与在本研究中使用一个简单、紧凑的CNN,如SimpleNet相比,使用一个相对复杂的模型,如MobileNetV2,可能会产生有限的改进。
为了证明所提出的方法的鲁棒性,我们给出了一个推理案例的详细结果简单网络,一个人从外面摇晃空车来模拟汽车的外部振动。图9(a)展示了CNN输入特征的一个例子,(b)和(c)描述了本案例研究的预测分数和分类结果。通过图9(a)和图2的比较,可以看出干扰、成人和婴儿对BRD特征的差异,可以用来区分它们。虽然在这种情况下会了两个错误警报,但它们可以通过使用时间平滑等逻辑策略来减轻。
结论
本文提出了一种基于Cinterah雷达SoC平台和TinyML的实时座舱检测、定位和分类应用解决方案。我们提出并实现了一种新的处理流程,它利用了多波束方向的BRD特性。为了解决有噪声的标签和提高所开发的CNN的通用性,采用了标签平滑技术。此外,量化被用于减少内存占用和加速推理。广泛的实验表明,在实践中存在数据分布波动,因此模型的通用性将是一个主要关注的问题。无论波动如何,结果表明,我们的实现的检测准确率超过96%,最坏情况下的准确率超过定位和分类的90%。开发的微型CNN模型占用约76 KB的内存,花费44 ms进行推断。