基于毫米波与红外热成像技术的手势识别系统(上)

 

I. 引言

在新型冠状病毒肺炎疫情的传播过程中,病毒通过多种途径传播,包括飞沫和接触传播。虽然使用酒精基消毒剂或用肥皂洗手可以降低感染风险,但这些方法并不能完全隔离病菌。因此,非接触式控制的需求正在迅速增长。此外,人工智能(AI)正在发展,许多应用程序都在整合AI技术以增强我们日常生活的便利性。一个例子是微软在其电梯系统中集成了面部识别技术,使得用户能够更轻松地到达他们想去的楼层。这项技术通过简单地查看用户的面部就可以预测要到达的楼层。该系统使用了诸如“一次性查看”(YOLO)算法之类的物体识别技术来识别用户的面部。近年来,手势识别技术已经被广泛应用到虚拟现实(VR)、人机交互以及运动医学等领域。传统的手势识别有两种方法:一种是使用数据手套,这种手套装有传感器来检测手指的弯曲并向计算机发送电子信号进行识别。但是,这种方法需要硬件设备,并且共用手套会增加病毒感染的风险。另一种方法是使用视觉技术。视觉技术在机器视觉中最常用,它涉及捕捉和分析各种类型的图像。它不仅仅局限于捕捉二维图像,而是越来越多地采用双镜头或深度相机的三维成像系统。手势识别技术结合了镜头与深度学习。Baek等人提出了使用光学相机捕捉并分类动态和静态手势的方法。然而,这种方法需要特定的照明条件并且缺乏深度信息。另一种方法是使用红绿蓝加深度(RGB-D)深度相机进行手势分类。不幸的是,这些设备在阳光下并不适用。此外,基于光学相机的手势识别系统会引发隐私担忧,因为用户可能担心他们的图像被未经授权地捕获或恶意使用。微型雷达传感器可以克服相机的局限性。Salami等人提出使用毫米波雷达进行大动作手势识别。毫米波雷达指的是工作在毫米波频段的雷达系统,使用特殊雷达技术的短波长电磁波。线性调频连续波(FMCW)是一种其频率随时间线性增加的正弦波信号。FMCW毫米波雷达技术提供了高分辨率的深度信息,并且较少受到环境温度的影响。这使得它适合在非理想的光照和温度环境中进行精确测量,包括遮挡、雾天、室内、室外等多种情况。使用毫米波雷达不会引发隐私担忧,因此,许多研究集中在使用低成本、微型雷达传感器进行非侵入性的手势识别上。在疫情期间,各组织安装了配备人工智能面部检测技术的红外热成像仪来测量体温。红外热成像仪能够探测并测量物体表面发出的红外辐射能量,并将其转换为可视图像。该设备可以在黑暗环境中测量温度而不受光线影响。此外,图像经过处理并转化为特定的颜色分布图。这减少了数据泄露并解决了与光学相机相关的问题。我们提出了一种结合毫米波雷达与热成像技术及深度学习的大动作手势识别系统。由于无需直接接触设备,也缓解了与摄像头拍摄人脸相关的隐私顾虑。

II. 系统概述

系统的架构如图1所示。当用户做出手势时,BM201-PC3毫米波雷达收集点云信息。然后,Jetson Xavier NX嵌入式评估板处理这些数据,输出时间序列结果,以识别如图2所示的五个周期性动态手势。我们使用YOLOv7训练了一个手势图像识别模型,将该模型导入Jetson Xavier NX,并使用Lepton 3.5热成像仪实时捕捉手势图像信息。Jetson Xavier NX用于实时分析和记录手势图像的移动,输出时间序列数据作为结果。在分析了毫米波雷达和热成像仪的数据之后,手势结果会通过音频反馈给用户。

系统架构

系统架构

Fig. 1.系统架构

五个周期性动态手势。

Fig. 2.五个周期性动态手势。

A. 手部红外图像的图像处理

人体手掌的温度范围大约在30至35摄氏度之间。本研究提出了两种图像颜色转换的方法:单色转换和多色转换。在单色转换中,通过热成像仪检测物体发出的红外辐射能量,然后将其转换为温度数据。当温度低于30摄氏度时,像素被过滤掉,并不显示颜色。然而,超过30摄氏度的像素则转换为红色并显示出来。但是,较高的体温或室温可能会导致物体在图像中显示为红色,从而导致手部区域与背景重叠,造成手部图像特征模糊或不存在,如图3所示。因此,我们提出了一个多色转换的方法。首先,在室内冬季环境下进行了测试,室温约为22至26摄氏度。如果没有剧烈运动,手部的测量温度范围在30至36摄氏度之间。如果有直射阳光或房间内有电脑,则热成像仪记录的温度高于36摄氏度。多色转换的详细信息见表I。在显示手掌温度时,低于30摄氏度的像素被过滤掉并保持黑色。温度在30至32摄氏度之间的像素显示为红色,而32至34摄氏度之间的像素则显示为橙色。黄色像素代表34至36摄氏度之间的温度,紫色像素表示温度高于36摄氏度。这种多色转换用于减少其他环境因素对手部特征的掩盖影响。

在较高环境温度下的热图像

Fig. 3.在较高环境温度下的热图像

B. 手部图像检测

在这项研究中,使用YOLOv7来训练手部图像检测模型。收集了两组训练样本数据集,一组是单色转换图像,另一组是多色转换图像,均来自热成像仪。两个数据集中总共有437张照片,均由同一个人拍摄。在训练之前,使用Labeling图像标注工具对物体进行标注。设计的分类包括手部图像和个人,如图4所示。Roboflow网站用于数据增强和数据集分割。在数据集分割设置中,95%的数据分配给了训练集,3%分配给了测试集,2%分配给了验证集。手部模型使用Google Colab上的YOLOv7手部图像识别模型进行训练。模型以批量大小为8进行了80次迭代的训练。结果随后被保存。我们收集了每个手势的点云信息并对数据进行了预处理,以生成时间序列特征数据。最后,我们将数据导入神经网络进行模型训练并生成模型文件。

图4. 物体标注示例:(a) 手部 和 (b) 人物

图4. 物体标注示例:(a) 手部 和 (b) 人物

C. 毫米波手势点云数据

毫米波雷达生成了带有速度信息的目标点云数据。点云数据由毫米波雷达收集,用于训练神经网络。模型训练过程如图5所示。在毫米波点云测量屏幕上,图6展示了毫米波雷达检测当前范围内运动的可视化点云图像。图6(b)显示了手部快速前后移动所产生的点云信息。框表示毫米波雷达的测量范围。

图5. 训练手势识别模型的流程


图5. 训练手势识别模型的流程

图6. (a) 做手势 和 (b) 毫米波点云屏幕

图6. (a) 做手势 和 (b) 毫米波点云屏幕

表I. 热成像仪温度与多色转换对照表

温度区间(摄氏度) 颜色转换
过滤掉 < 30
红色 30~32
橙色 32~34
黄色 34~36
紫色 > 36

收集的点云数据包括仰角、方位角、多普勒速度、距离(到雷达的距离)和信噪比(SNR)。我们使用点云数据中的仰角(ψψ)、方位角(θθ)和距离(RR)来计算点云的x、y和z位置。图7显示了毫米波坐标轴的定义。三个值——仰角、方位角和距离,被转换为点云的笛卡尔坐标,如公式(1)所示。

笛卡尔坐标转换公式(假设公式(1)如下):

x=R⋅cos⁡(θ)⋅sin⁡(ψ)

y=R⋅sin⁡(θ)⋅sin⁡(ψ)

z=R⋅cos⁡(ψ)

这里,ψ 是仰角,θ 是方位角,R 是距离。通过这些角度和距离值,我们可以确定点云在三维空间中的确切位置。

图7. BM201-PC3 毫米波坐标轴定义

图7. BM201-PC3 毫米波坐标轴定义

D. 点云数据的预处理

我们对点云数据进行了预处理。为了滤除环境噪声,我们保留了手部点云的数据并提取了其时间序列特征信息。毫米波雷达测量得到的点云数据经过叠加、最大速度限制处理后,先进行了基于密度的空间聚类算法(DBSCAN),然后进行配准、K均值聚类、第二次DBSCAN处理,最后提取出时间序列特征数据。最终,提取的时间序列特征被标准化并导入神经网络进行训练。

为了训练手势识别模型,我们记录了每个手势的点云数据。毫米波雷达在一个瞬间检测到的点云分布被称为一帧,毫米波雷达被设定为连续检测200帧。这200帧的点云数据然后在同一数组上进行叠加,得到了181条记录。详细的流程如图8所示。

图8. 同一阵列上叠加点云数据的流程

图8. 同一阵列上叠加点云数据的流程

当用户挥手做手势时,手部的移动速度大致相同,不会太快。如果存在速度过高的点云,很可能是噪声点。因此,我们移除了速度大于2米/秒的点云数据,以消除过高的速度值。接着,我们使用了Scikit-Learn库中的DBSCAN算法来过滤掉任何异常值。这一点非常重要,因为这些异常值可能是由环境造成的,而不是我们关注的手部和身体的点云信息。第一次DBSCAN处理后的逆时针手势点云如图9所示。

图9. 逆时针手势点云数据的预处理

图9. 逆时针手势点云数据的预处理

D. 注册的目的

注册的目的是将位于不同位置的点云旋转和平移到一个固定的参考点,以便于后续的数据处理并提高识别准确性。为了分离手部和身体的点云信息,我们使用了Scikit-Learn库中的K均值聚类算法将点云数据分为两类:手部和身体。接着,为了过滤掉剩余的身体点云信息,进行了第二次DBSCAN处理。然后,我们从预处理后的手部点云信息中提取了时间序列特征数据。设计的手势是动态且周期性的,仅凭外观难以区分和生成点云信息。因此,必须从预处理后的手部点云信息中提取时间序列特征信息。每20帧包含四个特征值,包括归一化的x、y和z坐标位置以及归一化的速度值。

E. 毫米波手势检测模型

在这项研究中,使用PyTorch构建了三种类型的神经网络,即循环神经网络(RNN)、长短期记忆网络(LSTM)和门控循环单元(GRU)。对于同一个体,记录了每个手势的200帧点云数据。每个手势收集了16个样本。五个手势的总点云数据量为16,000帧。经过预处理后,对于每个样本生成了181条时间序列特征数据。经过预处理后,每个手势生成了2,896条时间序列特征数据,五个手势总共生成了14,480条时间序列特征数据。模型训练完成后,我们将训练好的模型导入Jetson Xavier NX进行手势识别。当程序启动时,毫米波雷达处于待机模式。如果在一米范围内检测到物体,程序暂停。收集20帧点云数据后,扬声器播放“停止”语音,收集的点云数据被存储。数据通过Jetson Xavier NX进行预处理,处理后的时间序列特征数据被导入神经网络模型。预测手势并播放预测的手势语音。

III. 结果与讨论

在手部图像识别中,获得了热成像仪的训练结果和手势识别模型的训练结果。其中,手势识别被分为以下两个部分:毫米波雷达手势识别和结合毫米波雷达与热成像仪的手势识别。

 A. 热成像仪的手部图像识别

与RGB相机不同,当热成像仪捕捉图像时,它会过滤掉温度低于阈值的区域。对于温度高于阈值的区域,图像会进行颜色转换。图10展示了两种主要的手部图像识别训练数据集类型。在单色转换中,图像中温度高于30°C的区域被转换为红色,同时过滤掉温度低于30°C的区域。在多色转换中,根据温度区间将图像转换为不同的颜色。我们对这两个训练数据集进行了数据增强。数据集由808张照片组成,分为768张训练集图像、23张验证集图像和17张测试集图像。然后,训练数据集进行了80次迭代。图11显示了训练后的模型损失函数。单色转换训练模型的收敛效果不如多色转换训练模型。

这句话总结了使用热成像仪进行手部图像识别时的不同处理方法及其效果,并指出了单色转换和多色转换在模型训练上的差异。如果您有图10和图11的具体内容或需要进一步解释,请提供更多信息。

图10. (a) 单色转换。 (b) 多色转换

图10. (a) 单色转换。 (b) 多色转换

图11. (a) 单色转换的损失函数 和 (b) 多色转换的损失函数

图11. (a) 单色转换的损失函数 和 (b) 多色转换的损失函数

在实际场地测试中,单色转换的性能受到了环境温度和体温的影响。具体来说,当温度略高或体温较高时,图像中的着色区域倾向于与背景混合,如图12(a)所示。这导致了较差的识别效果,因为手部图像的特征无法被准确检测。测试了多色转换模型,结果如图12(b)所示。在测试期间,环境和体温较高,图像中的着色区域占据了大部分屏幕。然而,通过使用多色转换技术,手部图像的特征并未与背景混合,这大大提高了识别率和准确性,即使在背景复杂的情况下也是如此。

图11. (a) 单色转换的损失函数 和 (b) 多色转换的损失函数

图11. (a) 单色转换的损失函数 和 (b) 多色转换的损失函数

图12. (a) 单色转换的手部图像识别 和 (b) 多色转换的手部图像识别

图12. (a) 单色转换的手部图像识别 和 (b) 多色转换的手部图像识别

表II显示了单色转换与多色转换之间的比较。多色转换相比单色转换显示出更高的准确性

表II. 单色转换与多色转换的准确性对比

测试次数 单色转换 多色转换
1 0.8 0.94
2 0.91 0.93
3 0.91 0.94
4 0.91 0.93
5 0.92 0.9
6 0.94 0.93
7 0.93 0.94
8 0.8 0.92
9 0.92 0.94
10 0.95 0.96
平均值 0.899 0.933