综合技术交流
直播中

刘庆才

6年用户 60经验值
擅长:RF/无线
私信 关注
[经验]

基于毫米波雷达的手势识别算法

具体的软硬件实现点击http://mcu-ai.com/MCU-AI技术网页_MCU-AI
摘要

基于毫米波的手势识别技术提供了良好的人机交互体验。先前的工作专注于近距离手势识别,但在范围扩展方面不够,即他们无法识别距离相当大的噪声运动超过一米的手势。在本文中,我们利用一种新的数据处理方法和定制的人工卷积神经网络(CNN)设计了一个远程手势识别模型。首先,我们将手势分解为多个反射点,并提取它们的时空特征来描述手势的细节。其次,我们设计了一个CNN来分别学习提取特征的变化模式并输出识别结果。我们通过在商品毫米波雷达上实施,对我们提出的系统进行了全面评估。此外,我们还提供了更广泛的评估,以证明所提出的系统在几个现实世界场景中是实用的。

简介

非接触式手势识别是实现自然人机交互(HCI)以获得更好体验的一种流行方法,因此越来越多的外部物理手势设备[17,18]将被“空中”手势所取代。为了实现这种HCI,研究人员将重点放在无线信号传感上。与候选传感方法(例如,WiFi信号[9]、声波[11]和超声波[12])相比,毫米波(mmWave)对检测微小变化(即厘米级的手指运动)很敏感。虽然可见光[6]和红外[7]光感测在手部成像和手势识别方面要准确得多,但毫米波在隐私保护和能耗方面具有独特的优势。因此,毫米波是最适合非接触式手势识别的选择。特别是毫米波主要用于5G技术[1],因此它将不仅是一种新的无线电接入标准,而且是一种潜在的传感工具。毫米波手势识别的研究已经取得了许多成果。在实际应用层面,它可以用于汽车行业,以提供

为驾驶员提供安全直观的控制界面。然而,并不是所有坐在车内的乘客的手势都能准确识别,而且由于距离和车内物品的干扰,模型的准确性会很低[2]。此外,还开发了一种对手部精细动态运动敏感的近距离紧凑型60GHz毫米波雷达传感器。但这个模型只能在有限的辐射中使用[3]。因此,毫米波雷达先前的工作受到距离问题的限制,这对我们来说是一个不可避免的挑战。具体来说,它们只能在短距离的情况下实现手势识别,如果距离扩大,雷达接收到更多的反射信号信息,并且传统的方法无法分离干扰信息和有效信息,因此无法准确识别远处的手势。在本文中,我们使用定制的卷积神经网络(CNN)设计了一个远程手势识别模型。首先,在该模型中,我们实现了远程手势的精确识别。从雷达的基本原理出发,分析了雷达发射信号和反射信号的表达式。通过快速傅立叶变换(FFT)和距离多普勒(R-D)算法的计算,我们可以准确地判断手的距离、角度、速度等信息。只要物体在雷达信号的探测范围内,我们就可以实现物体的精确定位。其次,我们的CNN能够正确地对手势进行分类。在以前的CNN中,所有数据往往在同一层中处理,这导致一些干扰数据影响结果。然而,我们将我们的CNN分为五个子层,每层处理相应的特征,干扰较小,最后将结果组合起来进行判断。CNN的不同层分别处理不同的功能,因此它们不会相互干扰。它确保了模型在处理特征时不会受到无效信息的干扰。即使延伸的距离导致更多的干扰,该模型也可以保持高精度。

通过在毫米波雷达上的实现,我们对所提出的模型进行了全面的评估。我们的实验表明,该模型的准确性足以应用于某些真实世界的情况。此外,我们进行了各种广泛的测试,以探索不同因素对模型准确性的影响。具体来说,我们通过放置适当数量的家具(如电视、椅子)来模拟家庭客厅,以制作真正的家庭设施。然后,我们安排参与者进行预先设计的四个手势,并获得模型判断的准确性,以评估我们的模型的实用性。总之,我们的贡献如下:(i)通过提取手的反射点的时空特征,构建了一个远程手势识别模型。然后,我们设计了一个CNN来学习点的特征以进行识别。(ii)我们利用毫米波雷达传感器来实现所提出的模型,从而自动识别手势。(iii)我们验证了我们提出的模型在几种现实世界情况下(例如,家庭客厅、多人和实时情况)是稳健的,并讨论了当前的局限性和几种潜在的解决方案。

所提出的模型旨在尝试在远程场景中基于毫米波的手势识别,该模型可以应用于我们日常生活的许多方面。具体来说,该模型可以与智能家居系统合作,提供更好的用户体验,例如通过远距离的“空中”手势控制智能家电。例如,用户可以直接上下挥动她的手来控制灯的状态,而不是触摸开关。此外,当用户坐在沙发上,想拉开远处的窗帘时,她只需要指着雷达,向左或向右滑动手。因此,基于毫米波的远程手势识别能够取代多个不必要和麻烦的动作,获得更舒适和方便的体验。我们的模型由以下三个模块组成,如图1所示:

(i)信号传输:该模块捕获手势手上反射的毫米波信号,并将其输入下一个信息提取模块。在这个模块中,我们使用毫米波雷达传感器来发送FMCW信号。当信号到达手上时,它将被雷达接收器反射并接收。然后,经过一定的预处理方法,将信号输入到下一个模块中。 (ii)信息提取:该模块将信号构建成手势点云模型,并将其提供给下一个神经网络模块进行识别。在点云模型中,每个内部点都有自己的五个特征,即反射点的x-y-z坐标、速度和强度。从点云上,我们还可以清楚地观察手势的变化趋势。(iii)卷积神经网络:该模块学习点云模型的变化模式,并返回手势的分类结果。我们将点云数据输入到该模块中。事先,我们创建了一个定制的人工CNN来处理这五个特征,每个特征都有自己的层。数据通过CNN后,系统会给出手势的类型。在这项工作中,我们的主要贡献在于最后两个模块。通过信息提取模块,我们的模型能够构建空间中的手势趋势,从而直观地观察手势类型,并帮助我们稍后对其进行分类。然而,在以前的工作中,这些模型通常使用未经处理的原始数据,导致精度较低。第二个是卷积神经网络模块,利用多分支集成网络结构。我们可以高精度地区分多类别手势信息。该方法实现了以往工作中使用的普通网络无法获得的高精度和分类效果。

方法

如前所述,我们的方法由手势点云模型和定制的CNN组成。首先,该模型可以描述手势的变化趋势,然而,在空间中,构建模型时存在着一个挑战:由于毫米波雷达是全向的,因此远程手势会受到周围任何反射毫米波信号的物体产生的一些无用信号的干扰。该问题将对特征提取过程产生不利影响。具体来说,以前的研究将雷达与用户之间的距离设置得很小,因此雷达的探测范围内干扰物体较少,同时我们会丢失许多有效信息。其次,在模型的基础上,我们自定义设计了一个CNN来对手势进行自动分类。CNN的设计是我们解决方案中最具创新性和挑战性的部分之一:CNN负责全面处理所有特征,并分析最合理的变化趋势,但我们发现无法使用常见的卷积神经网络。具体而言,传统的卷积神经网络,如VGG[5],网络复杂度高,需要太多参数。此外,我们的初步实验可以证明,随着网络的加深,梯度消失问题会出现,并相应地导致网络退化问题。为了应对这一挑战,我们提出了以下两种方法:首先,我们建立的点云模型包含由其他干扰物体反射产生的有效信息点和无用信息点。这些无用的点会干扰我们以后的计算,从而影响模型的准确性,所以我们采用了CA-CFAR技术。利用该技术,可以在计算距离多普勒(R-D)图像后选择具有有效信息的动态热点,从而获得每个点的距离、速度和能量强度等特征。从而有效地从干扰中提取这些信号信息。其次,我们推荐了一种新颖的多分支CNN架构,而不是过去使用的常见网络。它不仅解决了传统网络带来的问题,而且通过将每个特征传递到一个层来获得更好的学习效果。我们通过分层来分析特征,以避免数据之间的交叉干扰,从而获得更好的准确性。

在这个模块中,我们建立了一个新的空间趋势手势的3D点云模型,以消除尽可能多的干扰点。在等式4中,我们展示了反射点信息的集合。X、Y、Z、V、I分别表示五个特征,下角标记I表示集合中的第I个点。

收集反射点信息数据后,我们准备对数据进行处理。我们用30帧(3秒)的初始点数据来表示一个手势。通过分析点云的趋势,我们可以确定手势的变化模式。然后,我们准备处理初始数据。首先,我们会找到一个手势所有反射点的五个特征的平均值,以平均值为标准点,如等式5所示,然后依次减去每个反射点的平均值得到D值点,如方程6所示。

然后,我们可以得到一个具有53065大小矩阵的3D点云(pc)模型,如等式7所示。

因此,我们获得了新的3D点模型,该模型可以聚焦标准点附近的空间中的点(如图2所示),并将模型输入到下一个CNN。

我们构建了一个定制的多分支CNN来处理特征信息和识别手势,如图3所示。由于点云中的每个点都包含信息中的五个特征,这些特征可以计算出我们需要的每个反射点的有效信息。因此,CNN根据特征分为五层,即N={X,Y,Z,V,I}。每个层对应X、Y、Z坐标、能量的速度和强度。首先,我们为每个对应的网络建立一个ResNet类。通过ResNet层,特征可以进入它们对应的网络。经过网络后,我们提取了特征的时空信息,但这不能完全表示手势信息。因此,每次网络计算后的结果进入组合层,在组合层中,这些结果被组合成最终结果,如下所示:

因此,第j个手势的最终结果被识别为j=max(src)。

实施和训练

相应的网络包括两个部分:CONV1网络和CONV块。CONV1网络有一个7×7的卷积层,步长为2×2,并在层后使用批量归一化和ReLU激活函数。它使用3×3最大池和2×2步幅。CONV块是ResNet的残差块,具有2×2步长和3×3卷积层。我们将特征值连接到组合层中。第一层是3×3个卷积层,步长为1×1。我们使用批处理规范化,然后在层之后使用ReLU激活函数。我们使用一层具有65280输入的全连通层来获得分类分数。批量大小为64,总训练时期为200。学习率lr的初始值为0.001。对于每200个历元,我们设置lr=lr×0.1。网络的优化功能是Adam。我们在PyTorch中实现我们的网络。

数据

手势设计:在以下实验中,参与者被邀请执行图4中的四个手势:敲击、左滑动、右滑动和旋转。对于手势(a),敲击,我们要求参与者举起右臂,在返回到原始位置之前在空中上下敲击两次。对于手势(b),向左滑动,我们要求参与者举起右臂,将其滑过胸部,滑动到左手侧,然后返回到原始位置。对于手势(c),向右滑动,我们要求参与者将右臂举到左臂的前面,向右滑动穿过胸部,然后返回到原始位置。对于手势(d),旋转,我们要求参与者将手在胸前滚动,上下交替一段时间。


我们设计了一个实验来测试理想条件下的精度,以研究模型的性能。具体来说,我们对30名参与者(15名男性和15名女性)进行标准测试。他们被要求在距离雷达2.4米的地方做出四个手势,每个手势重复50次。在收集了所有的手势信息后,我们对数据进行处理,得到相应的离线准确率。通过对四个手势的离线准确度进行平均,我们获得了88.11%的离线准确率。

为了让读者更容易理解四种手势准确度的具体情况,我们构建了混淆矩阵,如表2所示。

更多回帖

发帖
×
20
完善资料,
赚取积分