首页 > 编程语言 >基于毫米波的人体跟踪和识别算法

基于毫米波的人体跟踪和识别算法

时间:2024-05-14 18:30:46浏览次数:23  
标签:分类器 算法 毫米波 点云 雷达 LSTM 识别 数据

具体的软硬件实现点击 http://mcu-ai.com/ MCU-AI技术网页_MCU-AI
准确的人类活动识别(HAR)是实现新兴的上下文感知应用程序的关键,这些应用程序需要了解和识别人类行为,例如监测独居的残疾人或老年人。传统上,HAR是通过环境传感器(例如,相机)或通过可穿戴设备(例如,具有惯性测量单元(IMU)的智能手表)来实现的。环境感测方法通常更适用于不同的环境,因为这不需要每个用户都有可穿戴设备。然而,在家庭等隐私敏感区域使用相机可能会捕捉到用户可能不愿意分享的多余环境信息。雷达已被提议作为粗粒度活动识别的替代模式,使用微多普勒频谱图捕捉环境信息的最小子集。然而,由于低成本毫米波雷达系统产生稀疏和不均匀的点云,训练细粒度、准确的活动分类器是一个挑战。在本文中,我们提出了RadHAR,这是一种使用稀疏和非均匀点云执行精确HAR的框架。RadHAR利用滑动时间窗口来累积毫米波雷达的点云,并生成体素化表示,作为分类器的输入。
我们在收集的具有5种不同活动的人类活动数据集上评估和演示了我们的系统。我们在数据集上比较了各种分类器的准确度,发现性能最好的深度学习分类器的准确率为90.47%。我们的评估显示了使用毫米波雷达进行精确HAR检测的有效性,并列举了该领域未来的研究方向。

毫米波(mmWave)技术在频率范围为30GHz和300GHz。由于,天线尺寸与频率成反比,频率越高在频谱中,天线的尺寸越小。因此,毫米波雷达在尺寸上是紧凑的。而且我们可以把大量的天线组装成一个非常小的实现高定向波束形成的空间(≈1◦角度精度)。由于这些雷达具有大的带宽,它们具有优越的距离分辨率。而且新的低成本,现成的雷达使其越来越受欢迎基于毫米波的传感解决方案。

在本文中,我们提出了RadHAR,这是一个利用生成的点云进行人类活动识别的框架。为了解决毫米波雷达点云稀疏性,RadHAR利用了这一概念人类活动通常持续几秒钟以上在一个滑动的时间窗口上积累点云。每个点云被体素化,然后被馈送到一组分类器中。我们在数据集上比较了各种分类器的准确度,发现性能最好的深度学习分类器的准确率为90.47%。

我们使用TI的IWR1443BOOST[8]雷达来收集新的点云数据集,称为MMActivity(毫米波活动)数据集。它是一种使用线性调频信号的FMCW(调频连续波)雷达。该雷达工作在76千兆赫到81千兆赫的频率范围内。该雷达包括四个接收器和三个发射器天线,可以通过距离和角度信息跟踪多个物体。

为了收集数据,雷达安装在1.3米高的三脚架上。用户在雷达前执行5种不同的活动,这些活动是:步行,跳跃,杰克跳跃,深蹲和拳击。对于进行相同活动的受试者,在约20秒的连续时间段内收集数据。有些数据文件的时间超过20秒。我们总共收集了93分钟的数据。数据集的描述可以在表1中找到。捕获的点云包含空间坐标(x,y,z,以米为单位),以及速度(以米/秒为单位)、距离(点与雷达的距离)(以米计)、强度(dB)和方位角(度)。雷达的采样率为每秒30帧。

我们将收集的数据文件分为单独的训练和测试文件,其中训练中的数据为71.6分钟,测试中的数据是21.4分钟。为了克服每帧中点数量的不均匀性,我们将点云转换为尺寸为10x32x32(深度=10)的体素,这使得输入的大小不变,而与帧中的点数量无关。我们通过测试它们的性能,根据经验决定了这些维度。在我们的体素表示中,每个体素的值是其边界内存在的数据点的数量。虽然具有大量的体素可以很好地表示底层信息,但它将数据大小增加了几个数量级。

由于活动是在一段时间内执行的,因此会生成活动的时间窗口,以便捕获时间相关性。我们创建了2秒(60帧)的窗口,其滑动因子为0.33秒(10帧)。基于先前在多模式时间序列数据集[15]的人类活动识别和使用点云[18]的人类识别方面的工作,选择了2秒窗口。最后,我们得到了12097个训练样本和3538个测试样本。我们使用20%的训练样本进行验证。在时间窗口体素化表示中,每个样本的形状为601032*32。数据预处理过程如下:

我们在MMActivity数据集上评估不同的分类器。我们将支持向量机(SVM)、多层感知器(MLP)、长短期记忆(LSTM)和卷积神经网络(CNN)与LSTM相结合进行训练。我们比较了这些分类器在MMActivity数据集的同一训练和测试分割上的推理能力。这些深度学习分类器通常适用于广泛的应用。

SVM分类器,支持向量机(SVM)分类器的输入是通过将时间窗口体素化表示(60103232)平坦化,然后应用主成分分析(PCA)进行降维来生成的。我们使用主成分分析将数据的维度从614400(60103232)减少到6000。

3.4.2 MLP分类器。它由完全连接的层和输出层组成。我们将样本的时间窗体素表示(601032*32)压平,为MLP分类器创建614400维的输入大小。MLP分类器有4个完全连接的层,后面是输出层。我们使用丢弃层来避免过度拟合。它有3935万个可训练参数。

双向LSTM分类器。双向LSTM层由两个并行操作的LSTM层组成。第一层的输入按原样提供,而第二层的输入是数据的反向拷贝。因此,双向LSTM层保留了来自未来和过去的信息。该网络由双向LSTM层、2个完全连接层和一个输出层组成。网络的输入(6010240)是通过保留时间维度(60)并使样本(1032*32)中的空间维度变平来创建的。我们使用了大小分别为64和64个隐藏单元的双向LSTM。双向LSTM分类器具有529万个可训练参数。

时间分布CNN+双向LSTM分类器。时间分布的CNN将CNN层应用于输入数据的每个时间切片。时间分布CNN+双向LSTM分类器的结构由3个时间分布卷积模块(卷积层+卷积层+最大池化层)组成,然后是双向LSTM层和输出层。总体而言,该网络具有291k个可训练参数。该分类器直接在具有时间和空间维度的输入样本上进行训练。分类器精度如下

标签:分类器,算法,毫米波,点云,雷达,LSTM,识别,数据
From: https://www.cnblogs.com/mcu-ai-QH/p/18191918

相关文章

  • 五大常用算法总结
    原文链接:https://blog.csdn.net/changyuanchn/article/details/51476281引言据说有人归纳了计算机的五大常用算法,它们是贪婪算法,动态规划算法,分治算法,回溯算法以及分支限界算法。虽然不知道为何要将这五个算法归为最常用的算法,但是毫无疑问,这五个算法是有很多应用场景的,最优化问......
  • 如何将截图快速识别成文字?
    随着数字化时代的发展,截图已经成为我们日常工作中必不可少的一环。无论是截取程序界面、聊天记录、网页内容还是电子邮件,截图都是传递信息和记录内容的重要手段。然而,由于截图本身是一种图像文件,如果我们需要将其中的文字提取出来进行编辑、复制或搜索,就需要转换截图为可编辑的......
  • 【强化学习】A grid world 值迭代算法 (value iterator algorithm)
    强化学习——值迭代算法代码是在jupyternotebook环境下编写只需要numpy和matplotlib包。此代码为学习赵世钰老师强化学习课程之后,按照公式写出来的代码,对应第四章第一节valueiteratoralgorithm可以做的实验:调整gama值观察策略的变化调整惩罚值(fa)的大小观察......
  • js车牌识别接口开发示例、Vin解析接口
    采用手机app扫描车牌来管理停车场车位或其他场景车位的方式已成为主流,车辆管理员们不再像以前一样使用一个小本子和笔来记录下车牌号码。如此一来,工作也仿佛变得轻松了不少,下面就让翔云为您介绍如何应用OCR技术来实现车牌识别功能。首先,我们来看一下车牌识别的功能一般都......
  • 单源最短路算法
    Dijkstra算法原理首先将所有点分为两类,确定和没确定最短路的点。首先我们可以知道,起点只能通过已经确定最短路的点去到其他点,所以我们可以不断的确定距离起点最近的点的路径长度,再用这个确定的点更新其他点到起点的最短路距离。此时找最近点为\(O(n)\),更新邻接点为\(O(m)\),......
  • 算法-动态规划
    原文链接:https://blog.csdn.net/u013309870/article/details/75193592        http://t.csdnimg.cn/GgRFt动态规划算法的核心理解一个算法就要理解一个算法的核心,动态规划算法的核心是下面的一个小故事。A*"1+1+1+1+1+1+1+1=?"*A:"上面等式的值是多少"......
  • 金融市场中的人工智能-新算法和解决方案-全-
    金融市场中的人工智能:新算法和解决方案(全)原文:zh.annas-archive.org/md5/98949b54b6218a075bcbfbd4379f7727译者:飞龙协议:CCBY-NC-SA4.0前言金融市场可能是少数真正可以被描述为复杂系统的人类成就之一。复杂系统是物理学中的结构,它们:(a)从组件之间的相互作用中获得其动态......
  • 42天【代码随想录算法训练营34期】第九章 动态规划part04(● 01背包问题,你该了解这些!
    **416.分割等和子集**classSolution:defcanPartition(self,nums:List[int])->bool:_sum=0dp=[0]*10001fornuminnums:_sum+=numif_sum%2==1:returnfalsetarget=......
  • 代码随想录算法训练营第六天 | 242.有效的字母异位词 、349. 两个数组的交集、 202.
    哈希表理论基础建议:大家要了解哈希表的内部实现原理,哈希函数,哈希碰撞,以及常见哈希表的区别,数组,set和map。什么时候想到用哈希法,当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。这句话很重要,大家在做哈希表题目都要思考这句话。文章讲解:https://program......
  • 通信算法02
    分集方式1:分集是在多条路径上传输相同的数据,接收端通过分集合并技术,抵抗信道衰落,提高传输可靠性,降低误码率。是指传输多个信号副本来提高接收信号正确判决率的方法。分散传输,集中接收。同一信号,不同通道。常用的分集技术主要有:宏分集和微分集宏分集:多基站分集,用于蜂窝系统的分......