admin管理员组

文章数量:1602102

动机:为什么作者想要解决这个问题?

  • 克服传统基于摄像头的人类感知解决方案所面临的技术挑战,如照明和遮挡,所提出的 WiFi 人类感知技术展示了实现新一代应用(如医疗保健、辅助生活、游戏和虚拟现实)的潜力
  • baseline是《RF-based 3D skeletons》

贡献:作者在这篇论文中完成了什么工作(创新点)?

  • 挑战:

    • 生成的姿势应该是逼真的。不希望构造不切实际的长或短的四肢
    • 在特定环境中针对特定人训练的姿势构建模型不能很好地应用于其他人
    • 合成的姿态应该是连续流畅的,而不是仅有在某个位置的姿态
  • 贡献:

    • 将人体骨骼的先验知识编码到姿势构建过程中,以确保估计的关节满足人体骨骼结构
    • 为了实现跨环境泛化,WiPose 将 3D 速度轮廓作为输入,该轮廓可以捕获整个 3D 空间的运动,从而将特定姿势与周围环境分离
    • 采用循环神经网络 (RNN) 和平滑损失来强制生成骨架的平滑运动

规划:他们如何完成工作?

  • 整体架构


    Data Collection:使用一个发射器和多个分布式接收天线来捕捉人体的姿态。还使用 VICON 动作捕捉系统来生成ground truth
    Data Preprocessing:执行数据去噪以去除 CSI 信号的相位偏移。我们将去噪的 CSI 数据划分为不重叠的小段,并将每个段转换为可以输入深度学习模型的表示(怎么转换??
    Skeleton Construction:提出了一种深度学习模型(需要仔细考虑网络结构和损失函数),可以在训练过程中对人体骨骼结构进行编码,以确保生成姿势的真实性

  • 神经网络

    • CNN:使用堆叠的四层 CNN,在每个卷积层之后,添加一个批范数层来归一化均值和方差,然后添加一个Leaky ReLU,并添加一个 dropout 层来避免模型的过拟合
    • LSTM:由于身体运动通常跨越多个时隙,因此连续数据样本之间存在高度的时间依赖性。为了学习连续数据样本之间的关系,我们进一步将CNN的输出输入到RNN中,因为它能够连接时间相关数据的隐藏状态。为了捕捉相对较长的运动,在 CNN 之后放置了三层 LSTM
    • 前向运动学:将学习到的特征应用于给定的骨骼结构,以通过递归估计身体部分的旋转来构建主体的姿势
      不清楚LSTM的输出是什么样子的;既然有监督,那输出的结果不就直接是与监督相似的姿态吗,为什么还要加入前向运动学?
      LSTM输出的也是关键点的三维坐标,前向运动学可以理解为对关键点坐标的一个校正
  • 损失函数

    整体损失函数分为三部分:
    J = L p + β L s + γ L r , J=L_{p}+\beta L_{s}+\gamma L_{r}, J=Lp+βLs+γLr,
    其中, β , γ \beta, \gamma β,γ为预定义的超参数,使用Adam优化器

    • 首先最小化姿态位置损失,被定义为 L 2 L_{2} L2 范数:
      L p = 1 T ∑ t = 1 T 1 N ∑ i = 1 N ∥ p ^ t i − p t i ∥ 2 . L_{p}=\frac{1}{T} \sum_{t=1}^{T} \frac{1}{N} \sum_{i=1}^{N}\left\|\hat{p}_{t}^{i}-p_{t}^{i}\right\|_{2} . Lp=T1t=1TN1i=1Np^tipti2.
      其中, p ^ t i \hat{p}_{t}^{i} p^ti代表在t时刻关节点i的位置, p t i p_{t}^{i} pti为ground truth,共有N个关节点,T个时刻
    • 位置损失认为姿势在每个时刻独立,随着时间的推移,关节的运动可能不平滑,这将导致估计的姿势抖动。为了解决这个问题,添加了一个平滑损失,以使估计期间连续姿势之间的差异类似于地面实况的差异:
      L s = 1 T − 1 ∑ t = 2 T 1 N ∑ i = 1 N ∥ ( p ^ t i − p ^ t − 1 i ) − ( p t i − p t − 1 i ) ∥ H . L_{s}=\frac{1}{T-1} \sum_{t=2}^{T} \frac{1}{N} \sum_{i=1}^{N}\left\|\left(\hat{p}_{t}^{i}-\hat{p}_{t-1}^{i}\right)-\left(p_{t}^{i}-p_{t-1}^{i}\right)\right\|_{H} . Ls=T11t=2TN1i=1N(p^tip^t1i)(ptipt1i)H.其中 ∥ ⋅ ∥ H \|\cdot\|_{H} H为Huber norm,其定义为:
      ∥ z ∥ H = 1 n ∑ i = 1 n huber ⁡ ( z i ) \|z\|_{H}=\frac{1}{n} \sum_{i=1}^{n} \operatorname{huber}\left(z_{i}\right) zH=n1i=1nhuber(zi)
      其中
      huber ⁡ ( z i ) = { 0.5 z i 2  if  ∣ z i ∣ < 1 ∣ z i ∣ − 0.5  otherwise  \operatorname{huber}\left(z_{i}\right)= \begin{cases}0.5 z_{i}^{2} & \text { if }\left|z_{i}\right|<1 \\ \left|z_{i}\right|-0.5 & \text { otherwise }\end{cases} huber(zi)={0.5zi2zi0.5 if zi<1 otherwise 
    • 此外,由于关节的位置是通过将关节相对于父节点旋转一定角度推断的,因此在此过程中可能会累积关节位置的估计误差。如果其父关节的位置已经偏离了ground truth,则关节的位置估计将会偏差更大。因此需要引入惩罚项:
      L r = 1 T ∑ t = 1 T 1 N − 1 ∑ i = 2 N ∥ ( p ^ t i − p ^ t parent  ( i ) ) − ( p t i − p t parent  ( i ) ) ∥ H L_{r}=\frac{1}{T} \sum_{t=1}^{T} \frac{1}{N-1} \sum_{i=2}^{N}\left\|\left(\hat{p}_{t}^{i}-\hat{p}_{t}^{\text {parent }(i)}\right)-\left(p_{t}^{i}-p_{t}^{\text {parent }(i)}\right)\right\|_{H} Lr=T1t=1TN11i=2N(p^tip^tparent (i))(ptiptparent (i))H
  • 跨域的网络输入

    基于身体坐标速度剖面 (BVP)定义了3D velocity profile(3DVP),具体看论文

理由:通过什么实验验证它们的工作结果

  • 实验配置

    • 10 名志愿者,16 种典型的日常生活活动,包括:左/右手举起 45/90/180 度,双手举起90/180度,左右扫45/90度,双手扫90度,抬腿,挥手,原地行走。要求每个受试者进行每项活动一分钟,一共160分钟的数据。
    • VICON 系统同时收集骨架数据,用于模型训练和评估。
    • 骨骼数据的采样率为10Hz,CSI数据的采样率为1000Hz。
    • 对于去噪的 CSI 数据,我们将 100 个 CSI 样本(每个样本是 30 个子载波的信道状态测量)连接起来,形成一个 9×30×100 的矩阵作为输入。而对于 3D 速度剖面,我们从 100 个 CSI 样本计算每个剖面。在我们的实验中,3D 速度剖面原点的高度设置为 1.3 m,所有轴上的速度范围设置为 [-2.0, 2.0] m/s,可能的速度数 K 设置为9,因此 3D 速度剖面输入的大小为 9×9×9
  • 神经网络设置

    • 对 CSI 数据使用 2D 卷积运算,对 3D 速度剖面使用 3D 卷积运算。对于两种类型的输入数据,这些层中卷积滤波器的数量分别设置为 64、128、64 和 1。
    • 使用了批量归一化和 dropout(dropout 率设置为 0.2)。激活函数是 Leaky ReLU ,参数 α 设置为 0.02。对于 LSTM 的实现,将隐藏状态数设置为 544,将 dropout 率设置为 0.1。损失函数中的超参数 β 和 γ 都设置为 1.0。
  • 误差衡量标准

    平均关节定位误差:定义为所有样本的预测的关节位置与ground_truth之间的平均欧几里得距离。

  • 实验场景

    • 基础场景性能评估


      使用 CSI 数据构建姿势
      使用 3D 速度剖面构建姿势
      照明条件不佳情况下测试
      不同训练数据对结果的影响
      发包率对结果的影响
      接收天线数量结果的影响

    • 遮挡场景的性能评估


      WiPose在遮挡情况下也可以实现精确的人体姿态估计

    • 跨域姿态构建的性能评估

      • 同一个房间,不同的房间设置(物品摆放等等)


      在基础场景的基础上改变设置,使用在基本场景中收集的 CSI 数据训练模型。收集了10名受试者中6名的 CSI 数据
      第一个测试场景(b)模拟一个带家具的场景
      第二个测试场景 遮挡场景
      第三个测试场景(c)图 接收天线随机放置

      结论:
      测试场景从基本场景(即相同域)更改为其他场景(即不同域)后,模型和baseline在 CSI 数据上的性能下降比 3D 速度剖面上的要多得多。这主要是因为 3D 速度剖面不仅能够将主体的运动与周围的静态物体分开,而且与天线的部署无关

      • 不同的测试对象

      选择两个未经训练的人的数据作为测试

      • 强反射器和不同的房间


      从类似于基本场景的环境中采集,然后在房间内用靠近天线的两块金属白板对模型进行测试。

      将 3DVP 上的训练模型(是不是因为 3DVP不仅能够将主体的运动与周围的静态物体分开,而且与天线的部署无关? 好像是) 应用于不同建筑物中的两个新场景:
      会议室(b)和大厅(c),新场景没有任何训练数据

自己的看法

  • 主要学习损失函数的构建以及网络的构建

本文标签: 文献HumanPoseconstructionwifi