基于RF的3D骨架检测

摘要

本文介绍了RF-Pose3D,这是第一个从RF信号推断3D人体骨骼的系统。它不需要在身体上安装任何传感器,并且可以与多人一起使用,并且可以跨越墙壁和遮挡物。此外,它会生成动态骨骼,跟随人们移动,行走或坐下。因此,RF-Pose3D在基于RF的传感方面实现了重大飞跃,并实现了游戏,医疗保健和智能家居中的新应用。

RF-Pose3D基于新颖的卷积神经网络(CNN)架构,该架构通过将高维卷积分解为低维运算来执行高维卷积。此属性使网络可以有效地压缩RF信号中的时空信息。网络首先放大场景中的个人,然后裁剪从每个人反射的RF信号。对于每个人,它都会定位并跟踪其身体部位-头部,肩膀,手臂,手腕,臀部,膝盖和脚。我们的评估结果表明,RF-Pose3D沿X,Y和Z轴分别跟踪人体的每个关键点,平均误差分别为4.2 cm,4.0 cm和4.9 cm。即使在多人参与的情况下,也可以在训练环境中未曾见过的新环境中,它保持这种准确性。演示视频可在我们的网站上找到:http://rfpose3d.csail.mit.edu。

CCS概念

•网络→网络物理网络;传感器网络;

•计算方法→机器学习;

关键字

射频传感,3D人体姿势估计,机器学习,神经网络,本地化,智能家居

介绍

在过去的十年中,见证了使用RF信号定位人员并跟踪其运动的巨大进步。新颖的算法已导致在几十厘米内进行精确定位[19,34]。先进的传感技术使人们能够基于从身体反弹的RF信号进行跟踪,即使他们没有携带任何无线发射器也是如此[2,17,35]。各种各样的论文已经开发了分类器,这些分类器使用RF反射来检测诸如跌倒,行走,坐下等动作[21,23,32]。这些文献表明,RF信号携带着大量有关人员及其活动的信息。但是,可以从周围的无线电信号中提取出对人的描述有多丰富?

在本文中,我们演示了使用从人体反弹的无线电信号提取有关人们的丰富而详细的信息的潜力。我们将介绍一个新的系统RF-Pose3D,它可以在环境中使用RF信号来提取人的完整3D骨骼,包括头部,手臂,肩膀,臀部,腿部,而不是简单地返回一个人的位置。提取的骨骼是动态的,即它们像场景中的原始人物一样运动并表现出来。图1展示了我们系统的输出,并将其与基于RF的定位进行了比较。左图显示了一个有两个人的场景。中间的图显示了当今基于RF的本地化系统的输出。右图显示了我们系统的输出,它不仅可以定位人员,还可以提供其详细的3D骨架并显示其确切姿势。另外,如果图1(a)中的人移动,则图1(c)中的骨骼将相应地移动。

此类3D骨架在游戏中具有应用程序,可在其中扩展Kinect之类的系统以跨遮挡工作。执法人员可以利用它们来评估人质情况,从而利用RF信号穿越墙壁的能力。它们还用于医疗保健领域,可以追踪帕金森氏病患者的运动障碍,例如非自愿运动(例如运动障碍)。

设计一个将RF信号映射到3D骨架的系统是一项非常复杂的任务。该系统必须对观察到的无线电波与人体之间的关系以及对不同身体部位的位置和运动的约束进行建模。为了处理这种复杂性,我们诉诸于深度神经网络。我们的目标是利用卷积神经网络(CNN)的最新成功,该技术已证明在抽象图像和视频中的人体姿势方面取得了重大飞跃[6,13,22]。

我们的神经网络将FMCW无线电捕获的RF信号作为输入,类似于过去在定位工作中使用的无线电[2]。网络在3秒的滑动时间窗口上运行。它产生场景中骨骼的连续3D视频,其中针对每个骨骼跟踪14个关键点的3D位置:头部,颈部,肩膀,肘部,手腕,臀部,膝盖和脚。

RF-Pose3D的设计围绕三个组件构建,这三个组件共同提供了使用深度学习进行RF传感的体系结构。每个组件都有特定的功能,如下所述。

(1)感知3D骨骼:此组件获取从某人身上反弹的RF信号,并利用深层的CNN推断该人的3D骨骼。然而,在使CNN适应RF数据方面存在关键挑战。我们处理的RF信号是时空的4维函数。因此,我们的CNN需要应用4D卷积。但是常见的深度学习平台(例如Pytorch,Tensorflow)不支持4D CNN。它们以图像或视频为目标,因此最多仅支持3D卷积。从根本上讲,4D CNN所需的计算和I / O资源过多,并且将缩放比例限制为复杂任务,例如3D骨架估计。

为了应对这一挑战,我们利用RF信号的特性将4D卷积分解为在两个平面和时间轴上执行的3D卷积的组合。我们还分解了CNN训练和推理以在这两个平面上进行操作。我们通过分析证明,我们的分解是有效的,并且等效于在神经网络的每一层执行4D卷积。这种方法不仅解决了RF数据和现有深度学习工具之间的尺寸差异,而且降低了模型的复杂性,并加快了数量级的培训。

(2)扩展到多人:大多数环境有多人。要估算场景中所有个人的3D骨骼,我们需要一个将每个人的信号分开的组件,以便可以对其进行独立处理以推断出他或她的骨骼。对于此任务,最直接的方法是运行定位算法,找到场景中的每个人,然后放大该位置的信号。这种方法的缺点是:1)定位错误将导致骨骼估计错误,2)多径效应可能会造成虚构的人员。
为了避免这些问题,我们将此组件设计为一个深度神经网络,可以直接学习检测人员并放大人员。但是,网络不是将物理空间中的人员放大,而是先将RF信号转换为摘要域,该摘要域会压缩相关信息,然后在抽象域中分离与不同个人有关的信息。这样,网络就可以避免因多路径或环境中对象的随机反射而出现的虚拟人员所欺骗。

(3)训练:建立网络后,它需要训练数据–即,它需要许多带标签的示例,其中每个示例都是接收到的RF信号的简短剪辑(3秒)以及骨骼及其骨架的3D视频。关键点是时间的函数。我们如何获得带有标签的示例?

我们利用计算机视觉中的过去工作,在给定人像的情况下,可以识别与他们的关键点相对应的像素[6]。为了将此类2D骨架转换为3D骨架,我们开发了一个由12个摄像机组成的协调系统。我们从每个摄像机收集2D骨骼,并基于多视图几何设计优化问题,以找到每个人每个关键点的3D位置。当然,仅在训练过程中使用摄像机来生成带标签的示例。训练好网络之后,我们就可以将无线电设备带到新的环境,并仅使用RF信号来跟踪3D骨架及其运动。

RF-Pose3D已经凭经验评估。我们培养和使用在我们周围的campus.1数据集有超过一百PEO PLE执行不同的室内活动的公共环境中收集的数据测试我们的系统:走,坐,等待电梯,开门,说话的朋友,等等。我们在不同的环境中进行培训和测试,以确保网络能够推广到新的场景。我们将结果总结如下: 

•定性结果:上面的图1提供了我们结果的代表性示例(第8.3节提供了更多示例)。该图显示了我们的3D骨架吨位的重要特征。
本实验中的RF位于就座人员的身后,因此可以从特定角度捕获信号。但是,RF-Pose3D生成的3D骨架可以从​​任何角度显示,例如,您可以从RF的相反方向看它们。

•每个关键点的准确性:RF-Pose3D同时估算身体上14个关键点的3D位置。在定位关键点时,其平均误差在水平面为6.5cm,在垂直轴为4.0cm。据我们所知,这是第一项同时定位人体多个关键点的工作。

•室内本地化:一旦有了3D骨架,我们就可以轻松地对人员进行本地化。我们在X,Y和Z轴上的定位误差中值分别为1.7cm,2.8cm和2.3cm,这是对过去工作的重大改进。

贡献:本文做出了以下贡献:

本文是第一篇从RF信号中提取3D骨架及其关键点的文章。推断3D骨架是一项复杂的任务,需要将人体上的14个关键点映射到其3D位置。它还涉及泛化到与雷达的视图不同的看不见的视图

•本文提出了一种新颖的CNN模型,该模型不同于以往的所有工作,包括计算机视觉中使用的模型。该模型的关键特性是其能够在2D平面和时间轴上将4D CNN分解为3D卷积的能力。这种方法使我们能够维持人类关键点之间的时空关系,但随着时间的流逝而在信号的单个视图中进行操作,这既降低了复杂性,又允许使用通用的神经网络平台。

•本文提出了一种架构,该架构利用深度学习来使用RF信号感知人类。我们的体系结构包括一个生成训练示例的组件,一个将不同个体的RF数据分开的组件以及一个推断与特定个体相关的属性的传感组件。我们展示了如何使用深度神经网络和视觉数据的多视图优化来构建这些组件。我们相信,该架构以及我们的摄像头系统可以被本领域的研究人员用来解决其他基于RF的传感任务。

相关工作

相关工作分为两个领域。

(a)无线系统:近年来,人们对使用无线信号定位人和跟踪他们的运动非常感兴趣。文献可分为:基于设备的系统和无设备的系统。基于设备的跟踪系统使用人们携带的某些无线设备(例如手机)生成的信号来对人们进行定位[19,34]。另一方面,无需设备的无线跟踪系统不需要被跟踪者在自己的身上佩戴传感器。他们通过分析从人体反射的无线电信号来工作。不同的论文将人们定位在环境中[2,17],监视他们的步行速度[15,31],跟踪他们的胸部运动以提取呼吸和心跳[3,39,41],或跟踪手臂的运动以识别 特定的手势[21,23]。

先前的论文还尝试基于RF反射生成人的轮廓[1,40]。具体而言,RF-Capture [1]通过迭代在不同时间点检测到的多个身体部位来创建人体的粗略描述。该系统仅限于一个人执行单个动作,即朝设备走去。此外,它不能同时在人体上定位多个关键点。另外,我们已经引入了RF-Pose的早期版本,该版本解决了从RF信号中提取2D骨架的情况[40]。在2D姿势估计中,关键点表示为特定2D视图中的像素。因此,该方法无法推广到不同的视图或提供深度信息。此外,其中的CNN的设计不具有将输入与场景中不同个人分开的方法。与这项工作相反,本文介绍了一种根据RF信号估算3D姿态的方法。该设计将RF信息与不同个人分开,并使用分解的4D卷积随时间推移跟踪其3D姿势。
(b)计算机视觉:从图像推断人的姿势是计算机视觉文献中的一个已知问题,该问题有两种形式:2D和3D。二维姿势估计最近取得了显著成功[6,8,11,11,13,16,22,33]。这是由于具有注释的2D人体姿势的大规模数据集的可用性以及深度神经网络模型的引入。相比之下,由于难以从2D图像中恢复3D信息,因此3D人体姿势估计的进展仍然有限。除传统相机外,人们还探索了使用RGB深度相机时代估计3D姿势的潜力[37]和VICON运动捕捉系统[27]。

我们的工作以三种方式基于计算机视觉中的人体姿势估计。首先,我们类似地使用深度神经网络来解决此问题。其次,我们利用称为OpenPose [6]的视觉系统从图像中提取2D骨架。我们将此模块集成到我们的相机系统中,该系统将12个相机中的2D骨架组合在一起,以创建3D骨架,可用作我们网络的训练示例。第三,我们的模块放大来自特定个体的RF信号并将其与其他个体的信号分离,这是受到计算机视觉中对象检测的启发的,特别是R-CNN,Fast R-CNN和Faster R-CNN [[9,10,24]使用深度神经模型在图像中感兴趣的对象(例如狗)周围生成边界框。

但是,我们的工作与过去在计算机视觉方面的所有工作根本不同。我们从RF信号推断3D姿态,这与从图像中提取3D姿态本质上是不同的,这是由于两种数据类型之间的基本差异。尤其是,即使使用多天线系统,图像的空间分辨率也很高,而RF信号的空间分辨率却很低。其次,人体散射可见光,但充当感兴趣的RF波段(几GHz左右的频率)的反射器[5]。因此,只有落在人体表面法线附近的信号才会反射回无线电源。结果,在任何时候,雷达只有很少的身体部位可见[1]。此外,我们的神经网络模型与以往的视觉工作有所不同,并且是第一个提出4D CNN分解的模型。甚至我们的数据集也不同。从图像推断3D姿势的现有数据集仅限于一种环境或一个人(例如,Human3.6M [7])。相反,我们的数据集跨越多个环境,而我们的场景包括多个人。这使我们的系统能够学习推广到培训期间看不见的新环境。


入门

3.1卷积神经网络

卷积神经网络(CNN)是最近在理解图像[14,20],视频[29,30]和音频[4,38]方面取得突破的主要动力。下面,我们介绍与本文相关的CNN的基本构建基块。

深度神经网络:深度神经网络包含多层神经元,可从输入信号中提取信息。每个神经元都从上一层中的神经元接收输入,并通过权重和非线性(例如Sigmoid)将它们组合起来。从数学上讲,第n层神经元a^n_i的值为\sigma (\Sigma_j\omega _i_j^na_j^n^-^1),其中a_j^n^-^1是上一层的神经元,\omega^n_i_j是权重,\sigma (\cdot )是a非线性。

CNN:不同于将每个神经元连接到上一层中所有神经元的普通神经网络,CNN中的每个神经元只与上一层中的几个神经元局部连接。同样,CNN的同一层中的所有神经元都共享权重。可将CNN中神经元的值计算为权重核与上一层神经元的卷积,即a^n=\sigma (f^n*a^n^-^1),其中∗是卷积算符,f^n指代第n层的权重核。CNN利用数据中的本地依存关系来减少网络需要学习的权重总数。因此,它们允许更深入的网络。

特征图:CNN层中神经元的值通常称为特征图,因为它们可以被视为对应于输入不同部分的特征。随着层数的增加,生成的特征图将捕获越来越多的全局和更复杂的输入信号属性。

训练CNN进行分类:对神经网络进行训练,以使损失函数最小化,该损失函数可以捕获网络的当前输出与所需输出之间的差异(给出一些带标签的示例)。在分类任务中,使网络的最后一层输出每个类别的分数(即分数向量)。Softmax损失用于衡量类分数s=\left \{ s_c\right \}^K_c_=_1与目标标签c^*之间的差异,如下所示:

L_{Softmax}(s,c^*)=-log \frac{e^sc^*}{\Sigma_ce^{s_c}}

其中s_{c^*}是目标类别的分数预测。训练CNN意味着调整各个层的权重以最大程度地减少Softmax损失。这通常是通过随机梯度下降及其变体完成的[18]。图2说明了3层CNN的基本设计,其中x_1x_2x_3是特征图,而s显示了类别得分。最高分数通常对应于标签c^*指示的正确类别。Softmax损失函数将得分向量与标签进行比较。

训练后的CNN推断:训练后,CNN可以对新数据进行推断。CNN将计算新输入的类得分,并将其预测为得分最高的类,即:\hat {c}=\arg\underset{c}{\max} s_c

3.2多天线FMCW无线电

RF-Pose3D使用多天线FMCW无线电,类似于[1]中使用的无线电。无线电设备具有一个发射天线和两个用于接收的1D天线阵列,其中一个位于水平标高,另一个位于垂直方向。FMCW和天线阵列的组合使无线电能够测量来自空间中不同3D体素的信号。具体来说,从位置(x,y,z)反射的RF信号可以计算为[25]:a(x,y,z,t)=\underset{k}{\Sigma} \underset {i} {\Sigma}s_{k,i}^t\cdot e^{j2\pi\frac{d_k(x,y,z)}{\lambda_i} }

其中s^t_{k,i}是在时间索引t(即FMCW索引)处在第k个接收天线上接收的FMCW扫描的第i个样本,\lambda _i是在第i个样本中第i个样本的信号波长FMCW扫描和d_k(x,y,z)是在(x,y,z)处从发射天线到体素再回到第k个接收天线的往返距离。

4概述

RF-Pose3D是一个基于RF信号估算多人3D姿势的系统。RF-Pose3D将多天线FMCW无线电捕获的环境中的RF反射作为输入。这种反射是空间和时间的4D函数,此后我们将其称为4D RF张量。

RF-Pose3D的设计基于深度神经网络架构(图3)。该系统包括多个组件:

•多摄像机子系统,可以从从不同视点拍摄的许多2D图像生成3D姿势(图3的顶部图表)。该子系统的输出用于提供标记示例来训练RF-Pose3D的神经网络。

•一个神经网络模型,可以从RF信号中提取多人3D姿势(图3的底部图表)。使用来自摄像头系统的带标签的示例训练模型。
训练结束后,该模型可以仅从RF信号推断3D骨架。此外,可以将其带到培训期间未看到的新环境,并且仍然可以正常工作。该模型本身具有两个概念性子组件: 

–分别放大每个人的RF数据的组件。我们将此网络称为区域提案网络(RPN),因为它会将每个人与特定区域中的RF数据相关联。
–对每个子区域的RF数据进行操作并提取其骨骼的组件。我们将此组件称为CNN。

以下各节说明以上三个组件:摄像头系统,RPN和CNN。为了清楚起见,我们首先假设场景中只有一个人来说明CNN。然后,我们通过添加RPN扩展模型,该RPN负责将RF信号与场景中不同人员分开。最后,我们说明了摄像头系统以及如何获取带有标签的示例进行训练。

从RF进行3D姿态估计

在本节中,我们描述了CNN模型的设计,该模型使用RF信号估计3D人体姿势。3D姿势估计的问题定义为识别身体上14个解剖学关键点的3D位置:头部,颈部,肩膀,肘部,手腕,臀部,膝盖和脚踝。在本节中,我们首先关注单人的3D姿势估计,然后在§6中将其扩展到多人场景。

手动设计从RF信号到3D姿势的映射是一项艰巨的任务。这种映射必须考虑反射特性,多路径和其他反射对象的存在,人体的可变形性以及对人体部位相对于彼此的移动和位置的约束。因此,我们考虑使用神经网络,而不是手动设计用于从RF信号解码3D人体姿势的过滤器或规则,这已证明它们在从训练示例学习复杂映射中的优势。我们的目标是设计一个CNN模型,该模型采用4D RF张量(第3.2节)作为输入,并输出3D人体姿势。

5.1 CNN模型

我们首先将关键点定位表述为CNN分类问题,然后设计解决该问题的CNN体​​系结构。

关键点定位为CNN分类:我们首先将兴趣空间离散为3D体素。在我们的CNN分类问题中,所有的类都是3D体素,我们的目标是将每个关键点(头部,颈部,右肘等)的位置分类为一个体素。具体来说,为了定位关键点,我们的CNN输出对应于所有3D体素\nu \in V的分数\left \{ s_v \right \} _{\nu \in V},目标体素v^*是包含关键点的得分。我们使用Softmax损失L_{Softmax}(s,v^*)作为关键点本地化的损失(第3.1节)。为了定位所有14个关键点,而不是为每个关键点都具有单独的CNN,我们使用单个CNN来为14个关键点中的每一个输出分数s^k。此设计将强制模型共同定位所有关键点,并将学习根据其他关键点的位置推断出被遮挡的关键点的位置。姿势估计的总损失是所有14个关键点的Softmax损失的总和: L_{\text {pose }}=\sum_{k} L_{\text {Softmax }}\left(s^{k}, v^{k^{*}}\right)

其中索引k指的是特定的关键点。训练模型后,可以将每个关键点k的位置预测为得分最高的体素:\hat{v}_{k}=\arg \max _{v} s_{v}^{k}

CNN架构:要在3D空间中定位关键点,我们的CNN模型需要在空间上汇总信息,以分析人体的所有RF反射并为每个体素分配分数。此外,模型还需要跨时间汇总信息以推断可能在特定时间点发生的关键点。因此,如图4所示,我们的CNN模型采用4D RF张量(空间和时间),并在每一层执行4D卷积以聚合沿空间和时间的信息,即:a^{n}=f^{n} *_{(4D)} a^{n-1},其中a^ na^{n-1}是第n层n -1层的特征图,而f^n是第n层的4D卷积滤波器,而*_{(4D)}是4D卷积算符。

5.2挑战:时间和空间的复杂性

§5.1中描述的4D CNN模型存在实际问题。4D CNN的时间和空间复杂性令人望而却步,以至于主要的机器学习平台(PyTorch,Tensorflow)仅支持高达3D的卷积运算。要了解这种模型的计算复杂性,请考虑在我们的4D RF张量上执行4D卷积。卷积核的大小是固定的,并且相对较小。因此,复杂性源于所有3个空间维度和时间维度的卷积。假设我们要跨越100平方米,海拔3米的区域。我们希望将该区域划分为1 cm3的体素,以具有关键点位置的良好分辨率。还要说,我们需要3秒的时间窗口,并且每个体素每秒有30次RF测量。在这种张量上执行4D卷积涉及1,000×1,000×300×90,即27千兆次运算。对于训练集中的每个示例,都必须重复此过程,其中包含超过120万个此类示例(第8.3节)。培训可能需要数周时间。此外,推理过程不能实时执行。
实际上,上述分析低估了所需的训练和推理时间,因为4D卷积是4D CNN所需的多个高复杂度计算之一。下面的权利要求1陈述了我们的4D CNN的复杂度,这取决于三个同样复杂的计算:4D卷积(等式6),Softmax损失计算(等式4)和最大分数选择(等式5)。

1.假设将4D滤波器在单个位置和时间的响应的时间和空间复杂度为O(1),则每个4D卷积,Softmax损失计算和最大得分计算的时间和空间复杂度都为O(XYRT),其中X,Y,R,T是沿着空间和时间轴的输入4D RF张量的大小。

5.3模型分解

我们提出了一种模型分解方法,可以将复杂度从O(XYRT)降低到O(XRT + YRT)。对于sce narios,对于跨越10×10平方米的空间,需要几厘米的分辨率,这种分解可将计算时间减少3个数量级。在第8.6节中,我们证明了这种简化使得我们可以在单个GPU上实时推断3D骨架。

从高层次来看,我们的模型分解如下:我们首先证明我们的4D RF张量是平面可分解的(平面分解将在后面的定义2和3中定义)。然后我们证明,对于CNN中的某个层,如果其输入是平面可分解的,则其输出也是平面可分解的。因此,我们可以堆叠许多卷积层以创建深的CNN,同时保持可分解性。最后,我们证明了当给定可分解张量作为输入时,损失函数的计算和检测哪个类具有最大得分的过程都是可分解的。这最后一步意味着我们可以在分解的版本(即两个2D平面张量和时间轴)上操作时训练网络(并将其用于推理)。这完成了模型分解。下面,我们定义平面分解并陈述模型分解过程的基本定理,并将证明留给附录。

我们首先定义平面求和的概念。这个概念使我们能够通过复制和求和两个2D张量来创建3D张量,如图5所示。具体来说:

定义2(平面求和)。如果A是一个n×l矩阵,而B是一个m×l矩阵,则平面和A⊕B是n×m×l 3D张量C,其中Ci,j,k = Ai,k + Bj,k。

类似地,我们可以将刨光分解定义为处理3D张量并将其分解为两个2D张量,这些2D张量可以使用平面求和来重新生成原始3D张量。特别:

定义3(平面分解)。如果n×m×l 3D张量C可以被写入n×l矩阵A和m×l矩阵B的平面和,即C = A⊕B,则它是平面可分解的。

一旦定义了平面求和与分解,分解4D CNN的过程就变得很简单。

(1)首先,我们分解射频输入。
定理4(通过分解其空间尺寸分解4D RF张量)。来自具有水平阵列和垂直阵列(第3.2节)的FMCW阵列无线电的3D RF张量是平面可分解的。可以将其分解为与水平阵列和垂直阵列分开计算的十个二维二维RF的平面求和。
(2)然后,我们表明对于每个卷积层,如果其输入是可分解的,则其输出也是可分解的。
定理5(卷积分解)。对于可分解的4D张量A = H⊕V,带有4D滤波器f的卷积A的输出也是可分解的。即,存在3D张量H′和V′,使得H'\oplus V'=(H\oplus V)*_{(3D)}f

(3)接下来,我们证明损失函数和具有最高分数的类别的识别是可分解的。因此,允许我们在分解后的网络上进行训练和推理。

定理6(Softmax损失的分解)。对于n×l矩阵H和m×l矩阵V,Softmax损失L(H\oplus V ,(x^*,y^*,z^*))可计算为:

\log \left(\sum_{r}\left(\sum_{x} e^{H_{x, r}}\right) \cdot\left(\sum_{y} e^{V_{y, r}}\right)\right)-H_{x^{*}, r^{*}}-V_{y^{*}, r^{*}}

定理7(最大分数的分解)。对于n×l矩阵H和m×l矩阵V,H⊕V的最大值可计算如下:

\max (H \oplus V)=\max _{r}\left(h_{r}+v_{r}\right)

其中h_{r}=\max _{x}\left(H_{x, r}\right)v_{r}=\max _{y}\left(V_{y, r}\right)

(4)最后,下面的claim8陈述了我们从上述定理直接得出的将4D CNN复杂度从O(XYRT)降低到O(XRT + YRT)的最终结果。

CLAIM8.假设在单个位置和时间计算4D滤波器响应的时间和空间复杂度均为O(1),则每个4D卷积的时间和空间复杂度(定理5),Softmax损失计算(定理6)和最大值计算(定理7)都是O(XRT + YRT),其中X,Y,R,T是输入4D RF张量在空间和时间轴上的大小。

6多人3D姿势估计

尽管在上一节中介绍的CNN可以处理单人3D姿势估计,但RF信号能够同时捕获多个人。因此,期望扩展CNN模型,以便它可以从RF信号中提取多人的3D骨骼。为此,我们遵循分而治之的方式,首先检测人物区域,然后放大每个区域以提取每个人的3D骨架。这导致设计了一个新的神经网络模块,称为区域提议网络(RPN),该模块会生成潜在的人员区域。

最简单的方法是让RPN直接在RF输入上操作,以识别与每个人相关联的空间中的3D区域。然后,根据RPN输出裁剪后,我们可以在4D RF张量上的最后一部分上运行CNN姿态估计模型。我们实际上采用了另一种方法:如图6所示,我们从最后一部分中分离了CNN模型,并使RPN在中间层的输出(即特征图)上运行。这种方法的灵感来自图像中的对象检测。;与其尝试检测原始图像中的对象,不如尝试在信息浓缩后在中间层检测对象。对于我们的应用,我们在中间层裁剪与人相关联的区域的原因是双重的。首先,原始RF信号混乱,并受到多径效应的影响。因此,在要求RPN裁剪特定区域之前,我们想使用一些卷积层来压缩信息并消除混乱(图12)。其次,当有多个人在场时,他们可能会彼此从RF设备中遮挡,从而导致被遮挡的人丢失反射。因此,我们要执行一些4D时空卷积,以组合跨时空的信息,以允许RPN检测到暂时被遮挡的人

单人网络总共包含18个卷积层。我们将前12层划分为特征网络(FN),将其余6层划分为姿态估计网络(PEN)。在何处分割不是唯一的,但是通常FN应该具有足够的层来聚合后续RPN和PEN的空间和时间信息。

6.1地区放大网络

建立区域提议网络(RPN)来为后续的姿势估计网络生成可能的人员区域。理想情况下,区域是长方体,紧密地束缚着一个人。尽管在3D空间中搜索以提出此类长方体效率不高,但一个人站在另一个人的头上的可能性很小。因此,我们将3D长方体检测简化为在水平面上的2D边界框检测(回想一下,我们已经将4D卷积分解为水平和垂直平面以及时间轴上的两个3D卷积)。
RPN将FN输出的特征图作为输入,并输出一组矩形区域建议,每个区域建议都有一个分数来描述包含人的区域的概率。RPN被实现为标准的CNN。训练RPN的一种方法是尝试所有可能的区域,并且如果每个区域都紧密围绕场景中的真实人物,则将其分类为正确的。由于存在许多可能的区域,因此此方法非常慢。相反,我们使用滑动窗口对潜在区域进行采样。对于每个采样窗口,我们使用分类器检查它与真实人的交点是否合理。如果是这样,RPN会尝试调整该窗口的边界以使其更合适。

我们为每个训练窗口分配一个二进制标签,以指示其是否包含一个人。要设置标签,我们使用一个简单的交并集(IoU)指标,其定义为:

\mathrm{IoU}=\frac{\text { Area of Intersection }}{\text { Area of Union }}

因此,(1)将与任何地面真实区域(即,对应于真实人物的区域)重叠大于0.7IoU的窗口设置为正;(2)将与所有地面真相重叠的窗口小于0.3设置为负;对于不满足以上两个条件的其他窗口,我们在训练阶段将其忽略。对于其他细节,我们请读者参考文献中有关选择图像中物体检测区域的文献[24]。

7生成3D姿势标签

要从RF信号中学习3D骨架,RF-Pose3D需要许多训练示例-即同步的4D RF张量和相应的3D骨架。在本节中,我们将描述一个生成此类训练示例的子系统。该子系统旨在满足以下要求:

•便携式和被动式:它应该是便携式的,以便我们可以从不同的环境中收集姿势标签,以确保我们基于RF的模型可以推广到新的场景。与运动捕捉系统(例如VICON [28])不同,运动捕捉系统要求场景中的每个人都在每个关键点周围放置反射性标记,因此它也应该是被动的,不需要人们佩戴任何标记。

•准确且稳健:应生成准确的3D骨架,并相对于全局参考系定位每个人的每个关键点。对于各种遮挡,包括自我遮挡,人际遮挡以及家具或墙壁的遮挡,它也应具有鲁棒性。尽管有遮挡,但这样的数据对于使RF-Pose3D能够从不同的角度估计3D骨骼是必需的。

•能够与多人打交道:它应该同时跟踪多人的3D骨骼,以便RF-Pose3D具有多人的训练示例,因此可以扩展到此类情况。

我们已经设计并实现了一个子系统,用于生成满足上述所有要求的带标签的示例。图7说明了该系统的操作,其中涉及以下步骤:

多相机系统:我们的系统有12个相机节点,每个节点都由Raspberry Pi,电池和相机模块板组成。我们的节点小巧,轻巧,并且通过将其附着在墙上而易于部署。摄像机节点通过NTP同步,并使用标准的多摄像机校准技术相对于一个全局坐标系进行校准[36]。部署后,摄像头会从不同的角度对人成像。

2D骨骼生成:接下来,我们的系统使用摄像机捕获的图像生成2D骨骼。为此,我们利用了称为OpenPose [6]的计算机视觉系统,该系统给出的图像返回其中的人的2D骨骼,如图7所示。理想情况下,我们希望相同的骨骼出现在图像中。全部12台摄像机。但是,由于遮挡和放置12个摄像头以覆盖不同区域的事实,每个摄像头可能会看到不同的人或同一人的不同关键点。

2D骨骼关联:接下来,我们确定同一个人的2D骨骼,并将它们关联在一起,如图7所示。要判断一对2D骨骼是否来自同一个人,我们查看它们之间的几何关系。具体而言,给定2D关键点(例如头部),原始3D关键点必须位于3D空间中与摄像机视图垂直的线上,并在2D关键点处与之相交。直觉是,当一对2D骨骼都来自同一个人时,对应于特定关键点潜在位置的那两条线将在3D空间中相交。另一方面,如果这对2D骨骼来自两个不同的人,则3D空间中的这两条线将具有较大的距离且没有相交。基于这种直觉,我们将与各个关键点相对应的3D线之间的平均距离用作两个2D骨架的距离度量,并使用层次聚类[26]对来自同一个人的2D骨架进行聚类。

三角剖分3D骨架:一旦我们从同一个人获得了多个2D骨架,就可以对它们的关键点进行三角剖分,以生成相应的3D骨架。我们以特定关键点p的2D投影p^i作为空间中的点来估计特定关键点p的3D位置,其投影使与所有此类2D投影的距离之和最小化,即:

p=\arg \min _{p} \sum_{i \in I}\left\|C_{i} p-p^{i}\right\|_{2}^{2}

其中,总和是检测到该关键点的所有摄像机的总和,Ci是将矩阵坐标转换为摄像机i视角中的图像坐标的校准矩阵[12]。

8实施与评估

在本节中,我们描述了实现,数据集和评估结果。

8.1实施

神经网络架构。如今,有几种标准的CNN设计被广泛用于各种任务,我们选择使用ResNet [14]设计,该设计使用跨不同层的残余连接。有关ResNet的更多详细信息,请参阅[14]。我们的要素网络使用具有12层的ResNet。我们的区域提议网络和姿势估计网络分别在特征网络的顶部还有另外2层和6层。除区域建议网络外,所有卷积层的内核大小均为5,其中第一层和第二层的内核大小分别为3和1。

培训细节。使用ADAM优化器[18]对所有3个子网进行联合训练,学习率为0.001。残余连接和批量归一化均可以使培训受益。为了稳定训练,我们将RPN和PEN之间的损失权重分别平衡为1和0.3。我们使用RoiAlign [13]在每个区域建议中裁剪和调整要素地图的大小。

摄像头系统。我们已经实现了由12个摄像头节点组成的无线摄像头系统。每个相机节点都建立在Raspberry Pi 3单板计算机上,从而形成了一个小盒子设计(10×7×5cm),重量轻(290g)。

射频发射。RF-Pose3D使用配备有垂直和水平天线阵列的FMCW无线电,类似于[1]中使用的无线电阵列。无线电发射FMCW线性调频脉冲,扫频范围为5.4至7.2 GHz。传输功率小于一毫瓦。使用标准FMCW和天线阵列方程对RF信号进行处理,以每秒生成30个垂直和水平热图,然后将其与摄像头帧同步。

同步。我们的收音机和摄像机使用网络时间协议(NTP)进行同步。使用本地NTP服务器时,时钟同步错误平均小于1ms。在实验期间,我们为所有RF热图和视频帧加上时间戳,并根据它们的时间戳同步不同的流。同步后,所有RF和视频流的FPS为30。

8.2数据集

我们已经收集了同步3D骨架吨位和RF信号的多样化数据集。我们的数据集包含执行各种典型活动的人员,包括散步,坐着,握手,使用移动设备,聊天,挥手等。

•规模:数据集包含16个小时的数据。这样就得到了1,693,440个同步3D骨架帧和3D RF张量的样本。

•多样性:我们的数据是从大学校园的22个不同位置收集的,包括研讨室,开放空间和办公室。每个帧的平均人数为2.3。

•3D骨架标签的准确性:为了评估由我们的相机系统(第7节)生成的3D骨架的准确性,我们将生成的骨架与VICON运动捕捉系统进行比较[28]。表1显示了我们的相机系统和VICON系统的3D骨架之间的平均距离。我们的3D骨架在水平面上的两个轴的平均误差为1.1cm和1.5cm,在垂直轴上的平均误差为0.7cm。这个结果表明我们的3D骨架生成子系统非常准确,可以作为训练基于RF的模型的基础。请注意,我们无法使用VICON会议室生成带有标签的示例进行培训,因为这会将我们限制在一个环境中。

8.3 3D姿势估计性能

通过将根据我们的模型预测的姿态与来自摄像头系统的地面真实情况进行比较,可以评估3D姿态估计性能。我们确保用于测试和培训的数据不包含相同的环境。

训练/测试拆分:我们的数据集分别分为12和4个小时进行训练和测试。我们使用来自16个环境的数据对模型进行了训练,并在训练集中未包含的其余6个环境中进行了测试。

指标:每个人类关键点的空间距离介于模型预测和地面真实情况之间。

总体性能:我们的模型的关键点定位性能如表2所示,其中X和Z轴定义水平面,Y是垂直轴。在X,Y和Z轴上定位关键点的平均误差分别为4.2、4.0和4.9 cm。由于水平面上位置的变化较大,因此沿X和Z轴的误差大于Y轴的误差。

该表报告了每种关键点类型的定位精度。它合并了身体左侧和右侧的结果。评估的重点包括头部,颈部,肩膀,肘部,腕部,臀部,膝盖和脚踝。结果表明,当定位较大或较慢的身体部位(例如头部或臀部)时,与定位较小且活动度较高的零件(例如手腕或脚踝)相比,我们的模型获得的误差较小。例如,定位某人的头部时沿X,Y和Z的平均误差为4.4cm,而定位其手腕的误差为5.8cm。这是预料之中的,可以通过两个原因来解释。首先,RF反射量很大程度上取决于身体部位的大小。其次,四肢(例如手腕和脚踝)更加灵活,其运动通常具有比头部或臀部更大的自由度,因此更难被捕捉。

总体而言,精度要比过去的本地化工作高得多,尽管由于我们要定位小的身体部位,所以这项任务要困难得多。这可能使某些读者感到惊讶。但是原因是三方面的。首先,神经网络模型比手工模型要强大得多,因为它可以捕获设计人员未知的依赖关系。其次,我们的模型不仅捕获了射频信号中的信息,而且还捕获了不同身体部位之间的形状和关系的一般约束。这是因为它受过许多3D骨架训练,因此学会抽象化它们的关键点之间的关系。第三,我们在时间和空间上运作。因此,该模型可以了解每个关键点如何移动的动态变化,并使用该信息预测关键点的位置,即使该关键点被遮挡也是如此。

不同人数:图8(a)报告了不同人数的表现。一个人沿空间维度的平均误差为3.8厘米。随着被摄对象的数量达到5个,平均误差会增加到7厘米,这是由于人与人之间的严重遮挡所致。我们的RPN模块可以使多人保持这种准确性,该模块可以放大每个人并减少来自其他人和环境的干扰。我们训练的人数不超过5人的一个主要原因是,由于严重的咬合,摄像系统开始变得不稳定。如果构建了更好的摄像头系统来提供监督(例如,通过增加协调摄像头的数量),则可以用更多的人来训练和测试我们的模型。

不同范围:当人们位于不同距离时,我们评估性能。图8(b)显示,当人们从1m移到10m时,误差从3.8cm增大到5.3cm。由于天线阵列的空间分辨率会随着距离的减小而降低,因此预计误差会增加(几度的角度误差会导致附近距离处的误差较小,而远距离处的误差较大。)我们没有对大于10的距离进行实验仪表,因为在这样的距离,主要限制是FMCW无线电的低功率[2]。

相同不同的环境:以上所有结果均针对不同的环境进行了培训和测试。在本节中,我们将在相同的环境中训练和测试我们的模型,以便与跨环境测试结果进行比较。请注意,尽管我们使用相同的环境,但仍然使用不同的示例进行培训和测试。沿X,Y和Z的平均误差为3.7cm,与交叉环境误差为4.4cm相当。这清楚地表明我们的模型对环境变化具有鲁棒性。再次,该好处来自RPN模块,该模块使PEN能够专注于单个人而忽略环境反射器。

穿墙墙视线:我们在通墙场景中评估我们的系统,在这种情况下,无线电设备与被监视人员之间被墙壁隔开。沿X,Y和Z轴的误差分别为5.2cm,3.7cm和4.7cm。这些误差与表2中报告的视线场景中的误差相当。图9显示了一个示例,其中左上图显示了无线电的视点,右图显示了内部的视图。房间。第二行从相应的角度显示3D骨架。

定性结果:图10和图11显示了使用RF-Pose3D生成的多个人的3D骨架样本。它说明了RF-Pose3D在不同的环境中以及人们进行各种各样的活动(例如,坐着,走路,彼此互动等)时都能很好地工作。

8.4人体检测性能

回想一下,我们的模型首先是检测人并放大每个人以提取其骨骼。因此,我们评估了模型的人类检测性能,即,该模型是否正确检测了环境中的所有人员,尽管由于多路径或其他物体而虚构人员。

指标:我们使用以下对象检测任务中常用的指标。

•精度:精度定义为检测到的真正包含一个人的区域所占的比例。它可以衡量我们的系统对误报(即虚拟人)的鲁棒性。

•召回:召回定义为被检测到的人员占总人数的比例。它衡量了我们系统检测所有未失人员的能力。

•F1分数:F1同时考虑精度和查全率,并计算为两者的谐波平均值,即\frac{2 \cdot p \cdot r}{p+r}

表3显示了场景中不同人数的测试数据的精度和召回率。总体而言,我们的模型在单人数据上的准确率达到95.8%,召回率达到99.6%。随着人数的增加,F1分数仅略微下降了2.9%。这证明了我们区域提案网络的有效性,该网络成功地检测到环境中的多个人,而不会被环境中的多路径或对象所欺骗。这部分归因于特征网络,该网络学会减轻多径的副作用以及聚集有益的时间信息。

为了更好地理解RPN的工作原理,请考虑图12中的示例。图12的左侧部分显示了一个实验,其中场景中有3个人。该图的中间部分显示了该时间点的水平RF张量,其中包含来自墙壁的多径反射。图的右侧部分显示了来自特征网络的特征图之一以及RPN提出的区域。该特征图仅在三个人的位置具有很大的价值,这表明由于环境中的多路径和物体,特征网络已学会区分真实人的反射和虚假的人的反射。在此示例中,RPN成功检测到所有人员,并具有与每个人员相对应的3个提案框。

8.5本地化表现

我们还将我们的模型与过去的室内本地化工作进行了比较。我们训练有素的模型只需计算脖子,两个肩膀和两个臀部的中心即可得出人们的位置。我们将我们的方法与表4中以前基于RF的无设备室内定位系统WiTrack [2]进行了比较。我们的系统在X,Y和Z轴上分别实现了1.7、2.8和2.3的中值误差,以及5.1、8.3和6.4的第90个百分位误差,这比过去的本地化系统要好得多。这一结果证明了新模型的强大功能以及从无线信号中获得的额外信息的重要性,即使对于像定位这样的更传统的任务也是如此。

8.6运行时间分析

如第5.3节所述,提出的平面张量分解技术使我们能够使用3D卷积对4D张量数据进行训练和测试。在这里,我们对其进行定量分析。在表5中,我们对模型的三个子网FN,FPN和PEN的推理运行时间进行基准测试。在单个NVIDIA Titan X GPU上,一秒的RF张量数据只需0.39秒即可处理。根据浮点运算的数量估算,一个4D CNN大约需要87秒才能执行推理,这远低于实时。

讨论

我们展示了RF-Pose3D,这是一种无需设备的系统,该系统首次从RF信号估计3D人体骨骼。通过设计新颖的CNN模型并利用摄像头系统进行监督,RF-Pose3D能够同时检测多个人的3D骨骼。在建模方面,为避免高维卷积运算,我们提出了一种张量分解技术,该技术具有高效的计算能力,使系统能够实时运行。

RF-Pose3D提供了从RF信号中学到的与人类相关的信息的质量和丰富性的飞跃。然而,该系统存在一些局限性:首先,我们的数据集专注于办公楼中的常见活动(例如,走路,坐着,站立),并且错过了某些姿势,例如跳舞和做运动。因此,经过训练的模型适用于办公大楼中常见的姿势,并且可能因其在数据集中看不到的姿势而退化。可以通过扩展数据集以包含更多操作来解决此问题。其次,我们在本文中使用的收音机可以工作40英尺。为了覆盖更大的空间,将需要额外的传输功率或多个无线电。第三,基于RF的姿势估计的功效取决于每个身体部位反射的功率。自然,较小的身体部位(例如手和手腕)反射的能量要小于较大的身体部位。因此,涉及复杂手部动作的学习动作更加困难。尽管存在这些局限性,我们还是认为本文是迈向使用无线信号进行人类感知的重要一步。我们相信,这种非接触式3D姿态跟踪系统可以在医疗保健,智能家居和视频游戏中启用新的应用程序。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值