人体姿态估计(Human Pose Estimation,HPE)也被称为人体骨骼关键点检测,是一种高层次人体运动特征分析手段。具体而言,人体骨骼关键点检测就是对图像中的人体骨骼关键点进行快速定位(位置信息)与判别,并确定各人体骨骼关键点的空间隶属关系,进而实现对目标人体骨架的重构与分析过程。人体姿态估计是虚拟现实、人机交互、自动驾驶等高级计算机任务的核心研究课题之一,更是解决人体行为识别问题的有效手段。
随着计算机视觉领域的日益发展与相关算法性能的不断提升,人体姿态估计算法也取得了不错的研究成果。目前,DeepCut [50] 、OpenPose [51] 等算法都采用自底向上的方法计算,虽然速度较快,但是在人体自遮挡或者被障碍物遮挡等情况下,容易出现人体骨骼关键点漏检与误检的问题。自顶向下的方法可以较大幅度提升人体姿态估计的精度,但检测速度存在较大问题。
此外,在人体姿态估计过程中,由于人体结构的非刚性、高度灵活性及自遮挡情况,会使人体结构的细微变化产生不同的人体姿态信息。同时,红外人体目标成像效果受衣物、环境、温度等的影响,空域表征信息匮乏,这给红外视觉下人体姿态估计带来了巨大挑战。基于红外视觉的高层次人体姿态估计技术研究不足,模型的精度与速度仍存在较大的提升空间。
在众多的单目标姿态估计算法中,CPMs可以提取不同尺度的局部区域人体骨骼关键点概率,利用多阶段的融合计算实现对人体骨骼关键点位置的优化,是一种优秀的单人姿态估计算法。因此,针对现阶段人体姿态估计算法无法应对红外场景下姿态估计的问题,本章提出了一种基于深度残差网络的红外人体姿态估计算法。通过跨阶段置信度图融合、引入残差网络和注意力机制的方式,实现对CPMs姿态估计模型的改进,提高红外视觉下人体骨骼关键点的检测精度,最后级联目标检测模型实现自顶向下的多人姿态估计。
CPMs是在姿态机 [87] (Pose Machines)的基础架构上发展而来的。姿态机为学习丰富的隐式空间模型提出了一种序列化预测框架,包括图像特征计算模块和预测模块两个核心部分。姿态机的基本框架流程如图3-24所示。
图3-24 姿态机的基本框架流程
姿态机能通过多阶段的分类预测器来预测人体骨骼关键点的位置信息,为了获取更高层次的特征表达,每个阶段又包含多个层级的分类预测器。姿态机的具体实现流程如下:首先,模型在 l 层级输入的是手工设计的图像特征 l X ,使用Boosted随机森林分类预测器 l g t ( · )得到第 t 阶段在第 l 层级的置信度图(Belief Map) l b t 。然后,通过特征函数 ψ t ( · )将置信度图映射为上下文特征向量,并将 l 个层级结构的特征进行向量连接,作为下一阶段的输入。依次循环,得到 T 阶段的输出结果。
CPMs将深度卷积网络引入姿态机框架中,使用全卷积操作替换姿态机的特征计算模块和预测模块,直接学习图像特征和上下文信息,结合卷积神经网络的优点和姿态机的隐式姿态空间建模能力。在结构化预测任务中,隐式地建立模型变量之间的长期依赖关系,通过多阶段的人体骨骼关键点细化的方式,实现人体骨骼关键点从粗略到精确的定位。
CPMs网络结构图如图3-25所示。CPMs共包含6个阶段,在第一阶段中,模型通过部分VGG-19和部分CPMs的网络结构提取原始输入图像的初始特征,将感受野限制在输出像素位置周围的小范围区域内,得到第一阶段的初始置信度图。在Stage≥2的阶段,将该阶段的特征提取网络得到的输出特征图与上一阶段的置信度图融合作为当前阶段的输入,并使用3个卷积核为11×11的卷积层,获取图像的长距离依赖关系,极大的感受野可以对图像所有人体骨骼关键点的位置进行粗略提取,而不会局限在特征图的局部位置。最后,通过两个1×1卷积层输出人体骨骼关键点的置信度图。依次循环,得到人体骨骼关键点的最终细化结果。在此过程中,模型的每个阶段都会使用人体骨骼关键点高斯热图标签进行中间监督(Intermediate supervision),即用每个阶段产生的置信度图与人体骨骼关键点真值热图计算单个阶段的损失,解决模型在训练过程中梯度消失的问题。高斯热图标签 H k ( · )是使用高斯函数依据真值坐标点计算得到的,其数学描述为
式中, δ 表示高斯分布的固定标准差; x k 和 y k 表示第 k 个关键点的真实坐标信息;( x , y )表示热图上所有空间点的笛卡儿坐标。
图3-25 CPMs网络结构图
CPMs的大尺寸卷积核解决了传统卷积网络模型因没有较大的感受野,提取局部细节信息时产生人体骨骼关键点误差的问题。同时,由于大尺寸卷积核参数过多,以及网络深度带来的梯度消失问题,使用浅层的参数无法有效更新。CPMs通过采用中间监督的方式来监督模型的中间层输出,保证模型整体的梯度传递,使模型每个层级都可以有效进行梯度更新,从而取得较好的检测效果。此外,基于热图像的人体姿态估计算法,具有保持隐式体结构的优点,可以将人体骨骼关键点的坐标编码为高斯分布形式,既有效避免了模型过拟合的问题,又提高了对错误标注点的容错机制。
CPMs模型在特征提取阶段使用VGG-19网络作为基础骨干网络,模型参数量较大。同时,输入图像经过47次卷积运算,在反向传播时梯度可能减小到最小值或消失,因此参数会更新得很慢或者不更新。为解决上述问题,本节提出了一种基于深度残差网络的改进CPMs模型,其依然延续了CPMs模型的多阶段细化结构、隐式建立了人体骨骼关键点的长距离依赖关系及中间监督的方式。其使用ResNet-18深度残差网络作为基础特征提取网络,降低了模型参数,并在特征提取层引入了通道注意力机制,快速选择最能代表人体骨骼关键点的局部特征通道,以提取人体骨骼关键点的局部特征。通过跨阶段置信度图融合策略,将该阶段前的所有阶段的输出置信度图与特征提取网络的输出特征图进行融合,保证之后的卷积操作可以接收完整的空间特征信息。依次循环,得到优化后的人体骨骼关键点置信度图。最后,将输出的人体骨骼关键点定位信息映射到原始图像中,得到目标姿态估计结果。
基于深度残差网络的红外人体姿态估计模型结构如图3-26所示。相关卷积网络结构如图3-27所示。人体姿态估计模型共有两个输入信息,一个是原始红外人体目标图像,另一个是中心约束。中心约束能预先生成高斯函数模板,将响应收敛至图像中心。模型包含6个阶段,每个阶段都能生成相应的置信度图,最后阶段的输出为模型最终的响应结果。
图3-26 基于深度残差网络的红外人体姿态估计模型结构
图3-27 相关卷积网络结构
基于深度残差网络的红外人体姿态估计模型的具体实现流程如下。
Stage 1:将输入红外人体目标图像标准化为368×368×3,通过基础特征提取网络获取图像的细节特征信息,并引入SE通道注意力机制模块,经过CNN1卷积网络直接预测人体骨骼关键点的置信度图,得到46×46×18的初始特征置信度图。
Stage 2:输入标准化图像,采用基础特征提取网络与两个卷积核分别为9×9×128、5×5×32的卷积层提取图像特征,并引入SE通道注意力机制,得到46×46×32的特征图,并与第一阶段的输出置信度图和中心约束通过通道融合的方式进行融合,得到46×46×51的特征图作为CNN2卷积网络的输入。CNN2卷积网络包含图3-27中的5个卷积层,前三层卷积核的大小为11×11×128,后两层卷积核的大小分别为1×1×128、1×1×18。随后,得到第二阶段的人体骨骼关键点置信度图。
Stage 3:输入从第二阶段特征提取网络产生的46×46×128的特征图,通过两个卷积核为3×3×32的卷积层,得到46×46×32的纹理特征图,并与中心约束及前面所有阶段输出的置信度图进行融合,增强空间特征信息,将得到的特征图分别输入相应的CNN3~CNN6卷积网络生成对应阶段的人体骨骼关键点置信度图。
模型每个阶段都会产生18张人体骨骼关键点置信度图,包括17个人体骨骼关键点和1个背景的置信度图。定义第 k 个人体骨骼关键点的坐标为 Y k ∈Z⊂R 2 ,其中 Z 是图像中所有点( u , v )的集合。模型目标是预测图像上所有 K 个人体骨骼关键点的位置坐标 Y =( Y 1 ,…, Y K )。模型在每个阶段 t∈ {1,…, T }都会生成置信度图序列,其数学描述为
式中, ∀z∈Z ; k∈ {1,…, K }; 表示在 t 阶段模型预测的第 k 个人体骨骼关键点在原始图像 z 处的置信度图。
h t ( z )表示在 t 阶段产生的置信度图序列,其数学描述为
式中, t∈ {2,…,6}; F 表示串联函数; f t 表示各阶段卷积网络的特征提取结果; M C 表示中心约束矩阵; G t 表示前期所有阶段的置信度图序列。在2~6阶段进行跨阶段置信度图融合,融合后通过各阶段的卷积网络得到该阶段的置信度图 h t ( z )。
每个阶段都会生成人体骨骼关键点的预测结果,逐渐细化人体骨骼关键点的位置。最终,模型会输出第6阶段的18个置信度图,依据置信度图进行人体骨骼关键点提取,将人体骨骼关键点坐标映射至原图像,连接人体骨骼关键点以实现人体骨架提取。相较直接回归的方法,热图像可以更好地体现像素点在预测指定人体骨骼关键点时的置信度。
特征提取网络是人体骨骼关键点位置信息提取的关键,优质的特征提取网络对于人体骨骼关键点提取和人体骨骼关键点关联信息能提供良好的基础。VGG-19网络计算量较大,同时,随着卷积网络深度不断加深,模型误差的反向传播会引发梯度消失或梯度爆炸的问题,这会导致模型训练效果差、检测精度低。使用ResNet-18网络作为基础特征提取骨干网络,使残差网络跳跃连接,解决了深度网络模型中的模型退化问题。ResNet-18网络集成了4个残差模块,其完整的结构图如图3-28所示。
图3-28 ResNet18网络完整的结构图
在图3-28中,ResNet18网络中共包含17个卷积层及1个全连接层,从输入到输出可分为5个阶段,其中第一阶段是对输入图像的预处理(Pretreament)阶段,连接4个残差块(ResNet Block),每个残差块又由两个Basic Block组成,最后经过均值池化层和全连接层输出相应的映射结果。
基于深度残差网络的红外人体姿态估计模型的基础特征提取网络采用的是ResNet-18网络中预处理阶段到ResNet Block2的部分。VGG-19与ResNet-18网络的通道数对比如表3-5所示。由表中的通道数可知,ResNet-18网络的模型参数明显低于VGG-19网络的模型参数。
表3-5 VGG-19与ResNet-18网络的通道数对比
残差单元基本结构如图3-29所示, X 表示输入量, H ( x )表示期望输出, F ( x )表示经过一系列的处理后得到的残差函数。正如上文所述,残差网络最大的特点之一是引入了一种恒等映射关系的残差连接,使残差学习模块的实际输出 H ( x )为 F ( x )与残差块输入 X 的和,残差网络从学习 X 到 H ( x )的映射转换为学习 F ( x )到0的映射,从而减少了训练参数和计算量,使模型训练速度更快、效果更好。
其中,批量归一化是使用标准正态分布对非线性映射后的输入进行处理,使非线性变换函数的输入值保持在对输出结果比较敏感的区域,这样可以避免深层网络梯度消失的问题,还可以加快网络的收敛速度。批量归一化的数学描述为
图3-29 残差单元基本结构
式中, 、 y i 分别表示BN的输入与输出; μ R 与 分别表示第 R 训练批次的均值和方差; γ 、 β 分别表示残差网络训练时学习的标准参数; m 为输入数据样本的大小; ε 为假定的偏差; x i 为第 i 个样本; σ R 为标准差或均方差。
依据基于深度残差网络的红外人体姿态估计模型结构可知,模型采用多阶段结构。优化姿态估计模型时,每个阶段都会生成各人体骨骼关键点的置信度图,并进行中间监督。每个阶段的损失函数定义为预测置信度图人体骨骼关键点的位置与真实人体骨骼关键点位置之间的L 2 范数距离。单阶段模型损失函数的数学描述为
模型总损失的计算要对多个阶段的损失求和,其数学描述为
式中, t 表示阶段数; T =6; 表示在阶段 t 模型预测的第 k 个人体骨骼关键点在图像位置 z 处的置信度图; 表示人体骨骼关键点 k 的真实置信度图。
红外视觉下的多目标姿态估计通过级联目标检测和单人姿态估计模型,能实现一种自顶向下的模式,采用改进SSD目标检测模型实现对人体边界框的提取,在边界框内使用基于深度残差网络改进的单人姿态估计(Single Person Pose Estimation,SPPE)算法实现对人体骨骼关键点的提取,从而实现红外多目标人体姿态估计,具体流程如图3-30所示。
图3-30 自顶向下模式的红外多目标姿态估计流程
IR-HPE红外人体姿态估计数据集的标注格式参照COCO数据集人体骨骼关键点的标注格式,共有17个人体骨骼关键点。相较LSP数据集、FLIC数据集、AI Challenger数据集的14个、9个、15个人体骨骼关键点,17个人体骨骼关键点有利于提升红外人体行为识别模型对人体骨骼关键点预测的容错率。人体骨骼关键点拓扑图如图3-31所示。
采用Labelme标注工具对800帧红外人体目标图像进行人体骨骼关键点标注,生成JSON文件。针对自制数据集在数量上不足的问题,为提升网络模型的性能,采用随机缩放和随机旋转两种数据增强方法丰富数据集。IR-HPE数据集标注信息如图3-32所示。
使用IR-HPE数据集对红外人体姿态估计模型进行训练与性能评估。姿态估计实验参数设置如下:初始化学习率设置为0.001,训练使用Adam优化器进行优化,将Batch Size设置为32,迭代次数设置为500。基于深度残差网络的红外人体姿态估计模型训练集损失曲线图如图3-33所示。实线描述的是训练集损失曲线,曲线呈下降趋势,最终训练损失值稳定在0~0.2。虚线描述的是验证集损失曲线,曲线呈下降趋势,相较训练集损失曲线震荡较明显,最终稳定在0.1~0.4。
图3-31 人体骨骼关键点拓扑图
图3-32 IR-HPE数据集标注信息
为了定量评估基于ResNet-18深度残差网络的红外人体姿态估计模型的检测结果,绘制了模型在训练集与验证集上的检测精度。基于深度残差网络的红外人体姿态估计模型检测精度曲线图如图3-34所示。实线描述的是训练集检测精度变化曲线,最终检测精度稳定在0.97左右;虚线描述的是验证集检测精度变化曲线,最终检测精度维持在0.88左右。
图3-33 基于深度残差网络的红外人体姿态估计模型训练集损失曲线图
图3-34 基于深度残差网络的红外人体姿态估计模型检测精度曲线图
为了综合分析各人体骨骼关键点的预测精度,使用PCKh指标对模型进行评估,人体骨骼关键点检测精度分析如图3-35所示。图中横坐标表示归一化距离,纵坐标表示人体骨骼关键点的检测率。经过分析可知,基于深度残差网络的红外人体姿态估计模型的算法相较CPMs算法在各个人体骨骼关键点预测精度上均有所提高,全身的平均检测精度在归一化距离为0.5时提高了2.7%。同时,数据表明眼部的检测精度最高,在归一化距离为0.5时达到了95.5%,其次是鼻子、肩部、肘部、膝盖、耳部、腕部、髋部、脚踝。对比图3-35(j)与图3-35(k)可知,在相同的归一化阈值范围内,上半身骨骼关键点的模型检测精度优于下半身骨骼关键点的模型检测精度。在阈值为0.5时,上半身的平均检测精度比下半身高出7.5%。针对此问题,经过分析红外图像中的人体上半身与下半身空域特征可知,红外图像中目标人体下半身骨骼关键点由于人体本身温度的差异及衣物的空鼓导致相关位置的局部表征信息少,引起图像局部纹理特征匮乏,在阶段性细化过程中对最终输出结果产生影响。综上所述,基于深度残差网络的CPMs算法通过跨阶段置信度图融合策略对人体姿态估计的精度具有提升作用。
红外视觉人体姿态估计检测结果可视化图像如图3-36所示,其为模型改进前后针对常规目标、弱小目标、自遮挡目标的人体骨骼关键点的检测结果。
针对常规红外人体姿态估计问题,改进前后模型均具有较好的检测精度,但改进前模型对目标眼部、鼻部、耳部关键点的预测存在一定误差,改进后模型有效提升了面部细微关键点的检测精度。
图3-35 人体骨骼关键点检测精度分析
针对红外弱小目标姿态估计问题,由于光滑地面对目标热辐射的反射作用,使模型存在人体骨骼关键点紊乱、错误识别的现象,导致人体骨骼关键点误检率较高。基于深度残差网络的红外人体姿态估计算法,得益于自顶向下策略对红外人体弱小目标的区域限定作用,有效消除了人体热辐射地面反射成像的干扰,提高了人体骨骼关键点姿态的估计精度,使模型鲁棒性更强。
针对人体自遮挡问题,改进前后模型对弯腰动作的人体骨骼关键点具有良好的检测效果,但改进前后模型对存在遮挡情况的脸部关键点均存在一定的预测误差,改进后模型的检测误差相对较小,这表明通过跨阶段置信度图融合策略提升人体姿态估计模型的精度是可行的。
图3-36 红外视觉人体姿态估计检测结果可视化图像
此外,本节提出的基于深度残差网络的改进CPMs模型受自顶向下模式的影响,目标数量的增加对模型速度的影响较大。单目标时,该模型的检测速度为21.38帧/s。当目标数量增加到4时,检测速度下降到10.54帧/s。该模型算法得益于目标检测模型的预测边界框的加持,极大地减少了输入图像的冗余信息及复杂背景信息的干扰。同时,跨阶段置信度图融合策略增强了空间特征信息,有效提升了模型的检测精度。针对信息表征较少的红外图像,在检测常规目标、弱小目标、自遮挡目标时,基于深度残差网络的红外人体姿态估计模型依然具有较高的人体骨骼关键点检测精度,模型鲁棒性较强,但算法基于自顶向下的模式,使模型检测速度受人体目标数量的影响较大。