基于跨模态学习和自监督学习的穿墙人体姿态重构.
- paper:Through-Wall Human Pose Reconstruction Based on Cross-Modal Learning and Self-Supervised Learning
1. 背景介绍
通过由光学系统提供的跨模态伪标签,穿墙雷达系统可以学习被障碍物遮挡的人体目标的姿态,从而避免直接为雷达图像手工标注相关的姿态标签。然而,这种姿态伪标签并不总是可靠的,尤其是对于携带三维空间信息的人体关节点坐标,往往含有由于复杂姿态、遮挡或欠定问题本身带来的噪声。本文提出一种基于自监督学习的穿墙雷达人体姿态标签校正算法,用以增强从穿墙雷达图像中估计人体三维关节点的准确性。
超宽带穿墙雷达系统不仅能够沿高度向和方位向检测感兴趣的人体目标,其较宽的工作频带也能捕捉目标沿距离向的丰富信息,因此超宽带雷达图像中携带目标的三维姿态信息。采用跨模态数据标注流程,使用基于光学系统的三维人体姿态估计方法从同步采集的光学信号中提取人体三维关节点信息作为伪标签,指导雷达图像中人体姿态信息的学习。然而这种姿态伪标签并不总是可靠的,由光学方法获取的关节点坐标中通常含有噪声。
由光学系统提供的跨模态姿态标签中存在的一些噪声如图所示。图a显示由于人体的自我遮挡,左腿和右腿的关节点类别产生了镜像混淆;图b显示有限的景深阻碍了模型提取深度信息,使最终的预测结果崩溃。如果把这些关节点结果直接作为监督穿墙雷达系统学习的伪标签,由于这些伪标签中的联合坐标包含噪声,雷达系统无法学习到准确、鲁棒的姿态信息。
2. 方法介绍
为了从穿墙雷达数据中提取更准确的人体三维关节点信息,本节提出一种基于自监督学习的穿墙雷达人体姿态标签校正算法,包括跨模态监督阶段和自监督阶段,其流程如图所示。
在跨模态监督阶段,模型的输入是由两个模态的传感器系统同时采集的,分别是相机采集的光学图像和穿墙雷达采集的雷达图像。使用基于计算机视觉的预训练网络从光学图像中提取人体目标的三维关节点坐标,并用作伪标签进行跨模态的监督学习。进一步设计一个三维卷积神经网络处理对应的雷达图像,并预测人体的三维关节点坐标。通过在伪标签与预测结果之间建立损失函数,并在训练过程中最小化该损失函数,使用反向传播算法完成网络权重的更新。
然而由于伪标签中存在噪声,这种跨模态的监督将变得不稳定和不准确,因此引入基于自监督学习的伪标签校正过程。模型训练从具有噪声的伪标签出发,通过循环学习对伪标签进行逐步校正。此时训练过程使用的标签是由该过程自身生成的,因此是一种自监督的学习过程。校正过程包括标签细化和模型聚合两个步骤。标签细化是指在循环过程中对标签进行校正,并用这些校正的标签训练更鲁棒的网络;模型聚合是指聚合当前网络权重和前面几轮循环过程中的网络权重来推断更可靠的标签。循环训练过程中每轮伪标签和网络权重的迭代情况如图所示。
所提自监督训练策略是一个模型和标签的聚合过程,既可以提高模型性能,又可以迭代地细化伪标签的质量。这种循环过程依赖于伪标签的初始质量,如果提供的初始伪标签质量太差,可能会潜在地损害迭代过程。因此预训练计算机视觉模型应选用在大量光学数据集上进行预训练的可靠模型,使得提供的伪标签具有较高的置信度。
若卷积神经网络总共训练$T$个周期,在每个周期的训练过程中通过循环学习$N$轮得到更准确的模型与标签。对于每个学习周期,学习率采用带热重启的余弦退火形式,以鼓励网络在训练过程探索高性能权重集合,而不是简单地收敛到单个权重附近。若预设初始学习率\(\gamma_{\text{init}}\)和最终学习率\(\gamma_{\text{fina}}\),则第$n$轮的学习率$\gamma_n$计算为:
\[\gamma_n=\gamma_{\text{fina}}+\frac{\gamma_{\text{init}}-\gamma_{\text{fina}}}{2}\left(1+\cos\left(\frac{n}{N}\pi\right)\right)\]由光学方法提供的跨模态标签携带噪声干扰的姿态信息。自监督校正过程的目的是探索这些隐藏信息,以改善基于雷达的方法性能并过滤标签的噪声。因此在循环学习过程中进行伪标签聚合,使得生成的伪标签更加清晰、平滑,并且具有细粒度的语义关联信息,可以作为下一个循环周期优化的监督信号。通过这种周期连续的伪标签自校正,能够提高模型的性能和泛化能力,并减轻或消除伪标签中的噪声。若记每个循环周期结束时网络的预测标签为\(\{\hat{\boldsymbol{y}}_1,\hat{\boldsymbol{y}}_2,...,\hat{\boldsymbol{y}}_T\}\),则伪标签的更新可以采用滑动平均的形式:
\[\boldsymbol{y}_t = \beta \boldsymbol{y}_{t-1}+\left(1-\beta\right)\hat{\boldsymbol{y}}_t\]其中\(\hat{\boldsymbol{y}}_t\)是模型的当前预测结果,$1\leq t\leq T$是当前循环轮数,$0<\beta <1$是衰减率。滑动平均鼓励伪标签通过隐式的集成来动态调整历史信息和当前信息之间的权衡。对上述标签更新过程展开可得:
\[\begin{aligned} \boldsymbol{y}_t &= \beta^t \boldsymbol{y}_{0} + \beta^{t-1}\left(1-\beta\right) \hat{\boldsymbol{y}}_{1}+\cdots +\beta\left(1-\beta\right) \hat{\boldsymbol{y}}_{t-1}+\left(1-\beta\right)\hat{\boldsymbol{y}}_t \\ &= \beta^t \boldsymbol{y}_{0} +\left(1-\beta\right)\sum_{i=1}^t\beta^{t-i}\hat{\boldsymbol{y}}_i \end{aligned}\]其中$\boldsymbol{y}_{0}$是初始伪标签。对上式两端取期望得:
\[\begin{aligned} \mathbb{E}\left[\boldsymbol{y}_t\right] &= \mathbb{E}\left[\beta^t \boldsymbol{y}_{0}\right] +\mathbb{E}\left[\left(1-\beta\right)\sum_{i=1}^t\beta^{t-i}\hat{\boldsymbol{y}}_i\right] \\ &= \mathbb{E}\left[\beta^t \boldsymbol{y}_{0}\right] +\left(1-\beta\right)\sum_{i=1}^t\beta^{t-i}\mathbb{E}\left[\hat{\boldsymbol{y}}_i\right] \\ &= \mathbb{E}\left[\beta^t \boldsymbol{y}_{0}\right] +(1-\beta^t)\mathbb{E}\left[\hat{\boldsymbol{y}}_i\right] \\ \end{aligned}\]注意到$0<\beta <1$,当训练轮数充足时近似有:
\[\mathbb{E}\left[\boldsymbol{y}_t\right] \approx \left(1-\beta^t\right)\mathbb{E}\left[\hat{\boldsymbol{y}}_i\right] \\\]在标签聚合的过程中,用指数滑动平均的期望值\(\mathbb{E}\left[\boldsymbol{y}_t\right]\)作为预测值\(\mathbb{E}\left[\hat{\boldsymbol{y}}_i\right]\)的估计是有偏的。因此对更新的伪标签进行无偏修正:
\[\begin{aligned} \boldsymbol{y}_t^\prime &= \frac{\boldsymbol{y}_t}{1-\beta^t}= \frac{\beta \boldsymbol{y}_{t-1}+\left(1-\beta\right)\hat{\boldsymbol{y}}_t}{1-\beta^t} \\ &= \frac{\beta \left(1-\beta^{t-1}\right)\boldsymbol{y}_{t-1}^\prime+\left(1-\beta\right)\hat{\boldsymbol{y}}_t}{1-\beta^t} \\ &= \beta \frac{1-\beta^{t-1}}{1-\beta^t}\boldsymbol{y}_{t-1}^\prime + \left(1-\beta \frac{1-\beta^{t-1}}{1-\beta^t}\right)\hat{\boldsymbol{y}}_t \end{aligned}\]若记$\beta^\prime = \beta \frac{1-\beta^{t-1}}{1-\beta^t}$,则修正的伪标签更新公式为:
\[\boldsymbol{y}_t^\prime = \beta^\prime \boldsymbol{y}_{t-1}^\prime+\left(1-\beta^\prime\right)\hat{\boldsymbol{y}}_t\]在训练初期$t=1,\beta^\prime_1=0$,此时$\boldsymbol{y}_1^\prime=\hat{\boldsymbol{y}}$,使用实时的预测结果校正伪标签;当$t\to \infty$时,$\beta^\prime_t \to \beta$,此时更新形式退化为标准的指数滑动平均。当$\beta$取不同值时修正的衰减率$\beta^\prime_t$的变化情况如图所示。若$\beta$取值过小,则整个循环过程中$\beta^\prime_t$始终是一个较小的值,则伪标签更新时无法很好的保持早期伪标签携带的信息,从而达不到自校正的效果。因此在实践中$\beta$取较大的值,其典型值为$\beta=0.9$。
当完成标签更新后对卷积神经网络的权重也进行类似的聚合过程。模型聚合是指从之前循环训练的网络中发现有价值的潜在信息,以提高后续模型的性能,并推断更可靠的标签。在循环训练策略中,模型在每个循环结束时收敛到局部最小值。这些局部最优模型之间可能存在着差异。聚合网络在不同周期中的历史权重可以进一步提高模型的性能,并推断出更可靠的标签。若记每个循环周期结束时模型的权重为${\boldsymbol{w}_1,\boldsymbol{w}_2,…,\boldsymbol{w}_T}$,则权重更新也采用前面讨论的形式:
\[\boldsymbol{w}_t^\prime = \beta^\prime \boldsymbol{w}_{t-1}^\prime+(1-\beta^\prime)\boldsymbol{w}_t\]在每轮循环结束完成标签和模型权重的更新后,将训练数据转发到下一次循环中。通过这些连续的自校正过程,模型权重取得更宽的最优值,泛化能力也得到提高。模型和标签在每个循环训练过程中都是逐步相互改进的,整个自校正过程是在线完成的,几乎不需要额外的训练时间和计算成本。
为了进一步探索权重和标签在循环更新中变得更可靠的原因,对上述自监督校正过程进行可解释性分析。以网络权重为例,权重通过梯度下降算法进行迭代更新。有证据表明,基于梯度的优化方法收敛于损失曲面的较宽平坦区域内的解。由于权重空间是通常是极高维的,并且平坦区域的大部分体积集中在边界附近,所以解总是在损失的平坦区域的边界附近找到。为了获取更接近局部最优的解,可以考虑在权重空间中平均多个平坦区域边界附近的解。这是一种隐式集成方法,允许解向一个宽的平坦损失区域的中心移动。下图显示了网络通过随机梯度下降算法获得的三个权重解$W_1,W_2,W_3$和对应的平均权重解$W_{SWA}$。通过平均权重能够获得一个更好的解决方案。
对多个权重进行简单的算术平均并不总是一个很好的选择。因为网络在训练过程中从雷达图像中逐渐学习,随着更新次数的增大,权重将包含更少的认知不确定性。此时集成权重的一种常见选择是指数滑动平均策略。形式上,指数滑动平均使用一个固定的标量$0<\beta<1$来融合当前周期的权重和历史加权权重。对于不同的训练周期,当前信息与历史信息的比值总是一个固定的数值$\frac{\beta}{1-\beta}$,这限制了更新过程中的自适应性与灵活性。
从优化的动力学角度出发,在训练初期,鼓励模型探索更大的权重空间,而不是保持在随机初始权重附近,即应有\(\boldsymbol{w}_1^\prime \approx \boldsymbol{w}_1\),使用实时的权重更新结果校正权重。在训练后期,权重的明显变化可能导致梯度方向的改变,从而导致训练不稳定。因此希望权重的变化不会太大,即应有\(\boldsymbol{w}_t^\prime \approx \boldsymbol{w}_{t-1}^\prime\)。本文给出的修正指数滑动平均形式满足上述要求。在这种情况下,当前信息与历史信息的比值为$\frac{\beta^t}{1-\beta^t}$。随着训练周期的增加,该比值逐渐降低。这意味着模型允许在训练的初始阶段显著变化,然后随着训练轮数的增加趋近于稳定地收敛,最终更新形式退化为标准的指数滑动平均。此外,训练过程中采用了带热重启的余弦退火学习率策略,该策略鼓励训练过程探索高性能的网络权重集合,鼓励网络在每个周期中探索不同的权重空间,从而形成有价值的多样性权重平均结果,而不是简单地收敛到单一的权重解空间。基于自监督学习的穿墙雷达人体姿态标签校正算法的完整流程列于表中。
此外还需要设计一个卷积神经网络从局部三维雷达图像中提取包含人体姿态信息的特征,并将其映射为人体关节点的三维坐标。整个过程通过一种编码器-解码器结构来实现,如图所示。
编码器是由多个残差模块堆叠而成的,每一个残差模块都是由两个三维卷积层和一个残差连接组成。三维卷积层用于提取具有丰富空间和语义信息的特征,残差连接用于保持特征细节并改善梯度传播。不同残差模块之间采用最大池化层降低特征的空间维度,编码器的输出是具有较小的空间尺寸和较多通道数的语义特征图。
解码器由若干个三维转置卷积层堆叠而成,将包含姿态信息的语义特征图解码为包含关节点信息的空间特征图。预先指定人体的$K=14$个关节点,则空间特征图具有14个通道,每个通道包含对应关节点的空间信息。如果想进一步预测关节点的某一空间维度坐标,则沿另外两个维度对该关节点对应的空间特征图进行平均池化,并进一步采用全连接层进行坐标值回归,图的右半部分给出了一个从某关节的空间特征图中回归该关节点高度坐标的例子。其中回归损失采用均方误差损失。
3. 实验分析
使用自研穿墙雷达系统构造一个穿墙雷达人体关节点定位数据集。在不同场景中采集不同目标的数据,雷达系统以1 m的中心高度工作,检测场景的高度向范围为-2 m至2 m,方位向范围为-2 m至2 m,距离向范围为0至5 m。总共收集了21000对雷达-光学数据对,采用10折交叉验证进行模型训练与性能评估。其中光学数据使用Kinect SDK提供的人体关节点作为初始跨模态伪标签。对于每个雷达回波信号,以检测到的每个目标中心$\pm 1$m三维空间进行成像,生成尺寸为$(64,64,64)$的局部三维图像。
模型训练$T=20$个循环周期,每个循环包含$N=10$次训练轮数,则等效总训练轮数$E=N\times T=200$。数据批量大小设置为16。使用AdamW优化器训练模型,权重衰减率设置为0.01。初始学习率设置为$0.01$,通过余弦衰减逐渐变化为$0.0001$。所有实验均在Nvidia RTX3090 GPU上进行加速。
为了证明在该训练设置下网络已经收敛,将训练损失曲线和验证误差曲线显示在图中。结果表明,训练误差随着训练迭代次数的增加而逐渐减小。同时,随着训练周期的增加,网络的拟合能力变得更好,因此验证误差减小并逐渐收敛到最小值,其中最小平均验证误差为34.6 mm,是在第17个循环周期中获得的。如果训练了更多的循环周期,网络可能会有过拟合的风险。
实验设置SSMP3D模型作为光学方法的基准对比模型。此外还设置RF-Pose3D模型和UWB-3DCNN模型作为评估性能的对比方法,这两种方法也使用光学系统进行跨模态的监督。为了进行公平的比较,这些方法总训练轮数均设置为200。下表报告了不同方法的平均定位误差、参数量和FLOPs指标。由于所提自监督标签校正算法能够以极低的计算成本自然地迁移到其他基于雷达的人体姿态估计模型中,因此表中也汇报了其他对比模型应用自监督标签校正算法后的性能。
结果表明,基于光学的方法和基于雷达的方法之间存在明显的精度差异(≥6.6mm)。得益于精心设计的编码器-解码器结构,即使没有自监督阶段,所提方法的性能也优于其他基于雷达的方法。当把自监督标签校正算法应用到所有基于雷达的方法时,这些方法的性能都得到了显著提高。这表明所提自监督标签校正算法是一种增强基于雷达的姿态估计性能的通用方法。另一方面,当所提自监督标签校正算法应用于基于光学的方法时,该方法的性能几乎没有改善。这可能是因为方法的初始伪标签本身来自光学图像,因此在训练过程中没有机会像基于雷达的方法一样从雷达图像中获取额外信息。
下表进一步给出了不同关节点的定位误差,包括头部、胸部、肩部、肘部、腕部、臀部、膝部和踝部。总体而言,所提方法的定位精度显著超过了以往基于雷达图像的方法,这归功于精心设计的编码器-解码器网络方法。值得注意的是,当定位具有较大反射面积的关节点时,误差相对较小(例如胸部定位误差29.8mm)。当定位具有较小面积和灵活运动的关节点时,误差相对较大(例如腕部定位误差46.8 mm)。
所提方法在不同姿态、环境和目标数量时的姿态估计结果如图所示。结果表明,该方法在充足的雷达图像中学习到不同关节点之间的相关性和人体自身的统计约束,可以从不同的实际应用场景中预测人体关节点的准确坐标。此外,由于模型推理过程不依赖于自监督阶段,因此能够满足系统的实时性要求。在本实验中,处理单目标的三维穿墙雷达图像只需要约80.5 ms。