浙江大学学报(工学版), 2025, 59(1): 18-26 doi: 10.3785/j.issn.1008-973X.2025.01.002

计算机与控制工程

基于单目RGB图像的三维手部姿态估计方法

杨冰,, 徐楚阳, 姚金良, 向学勤

1. 杭州电子科技大学 计算机学院,浙江 杭州 310018

2. 杭州电子科技大学 浙江省脑机协同智能重点实验室,浙江 杭州 310018

3. 杭州灵伴科技有限公司,浙江 杭州 311121

3D hand pose estimation method based on monocular RGB images

YANG Bing,, XU Chuyang, YAO Jinliang, XIANG Xueqin

1. School of Computer Science, Hangzhou Dianzi University, Hangzhou 310018, China

2. Key Laboratory of Brain Machine Collaborative Intelligence of Zhejiang Province, Hangzhou Dianzi University, Hangzhou 310018, China

3. Hangzhou Lingban Technology Limited Company, Hangzhou 311121, China

收稿日期: 2024-01-22  

基金资助: 浙江省基础公益研究计划(LGG22F020027).

Received: 2024-01-22  

Fund supported: 浙江省基础公益研究计划(LGG22F020027).

作者简介 About authors

杨冰(1985—),女,副教授,博士,从事计算机视觉、机器学习研究.orcid.org/0000-0002-0585-0579.E-mail:yb@hdu.edu.cn , E-mail:yb@hdu.edu.cn

摘要

现有的三维手部姿态估计方法大多基于Transformer技术,未充分利用高分辨率下的局部空间信息,为此提出基于改进FastMETRO的三维手部姿态估计方法. 引入可变形注意力机制,使得编码器的设计不再受限于图像特征序列长度;引入交错更新多尺度特征编码器来融合多尺度特征,强化生成手部姿态;引入图卷积残差模块来挖掘网格顶点间的显式语义联系. 为了验证所提方法的有效性,在数据集FreiHAND、HO3D V2和HO3D V3上开展训练及评估实验. 结果表明,所提方法的回归精度优于现有先进方法,在FreiHAND、HO3D V2、HO3D V3上的普鲁克对齐-平均关节点误差分别为5.8、10.0、10.5 mm.

关键词: 三维手部姿态估计 ; Transformer ; 可变形注意力机制 ; 交错更新多尺度特征编码器 ; 神经网络

Abstract

A 3D hand pose estimation method based on improved FastMETRO was proposed for most of the existing 3D hand pose estimation methods are based on Transformer technology and do not fully consider the local spatial information at high resolution. By introducing deformable attention, the design of the encoder was not limited by the length of the image feature sequence. The interleaved update multi-scale feature encoder was employed to fuse multi-scale features and enhance the generation of hand pose, and the graph convolution residual module was employed to exploit the explicit semantic connections between mesh vertices. To validate the effectiveness of the proposed method, the training and experiments were conducted in the datasets FreiHAND, HO3D V2 and HO3D V3. Results showed that the regression accuracy of the proposed method was better than existing advanced methods with Procrustes aligned - average joints error of 5.8, 10.0, and 10.5 mm in FreiHAND, HO3D V2, and HO3D V3, respectively.

Keywords: 3D hand poses estimation ; Transformer ; deformable attention ; interleaved update multi-scale feature encoder ; neural network

PDF (1337KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

杨冰, 徐楚阳, 姚金良, 向学勤. 基于单目RGB图像的三维手部姿态估计方法. 浙江大学学报(工学版)[J], 2025, 59(1): 18-26 doi:10.3785/j.issn.1008-973X.2025.01.002

YANG Bing, XU Chuyang, YAO Jinliang, XIANG Xueqin. 3D hand pose estimation method based on monocular RGB images. Journal of Zhejiang University(Engineering Science)[J], 2025, 59(1): 18-26 doi:10.3785/j.issn.1008-973X.2025.01.002

手部姿态估计是先从图像或视频中精确定位手部关节点的位置,再根据这些位置确定手部姿态的技术. 三维手部姿态估计要求在空间中展现具体的手部姿态,被广泛应用于机器人[1]、虚拟现实[2]和增强现实等领域. 因此,通过分析图像/视频数据,恢复图像/视频中的三维手部姿态具有重大的应用研究价值.

通过单目RGB图像实现三维手部姿态估计备受学者关注. 在数据获取方面,单目RGB图像比其他形式的数据(如深度图像和可穿戴设备获取的数据)获取成本更低;在实际应用方面,手机、智能眼镜设置的相机是单目相机,只能得到人手的单目RGB图像. 此外,多目RGB图像及深度图像相较于单目RGB图像虽然包含了有效的深度信息,但是多目相机系统和深度相机的技术尚不完善,难以应用至现实生活中. 随着深度学习技术的进步,有学者使用Transformer[3]结构从单目RGB图像中回归三维手部姿态. 如METRO (mesh transformer)[4]、FastMETRO[5]的基于Transformer的姿态估计方法被相继提出,均在人体姿态估计[6]、手部姿态估计应用中取得了不错的效果. METRO由于重复利用图像特征序列导致模型庞大而遭到诟病. FastMETRO将图像特征和关节点、网格顶点标记进行交叉注意力计算,大大减少了模型参数,便于模型优化. FastMETRO的模型设计难以引入低维(高分辨率)图像特征,仅利用来自骨干网络深层的高维(低分辨率)图像特征,这些图像特征蕴含丰富的全局语义信息,却缺乏图像的空间局部信息,如果能在模型中融入低维图像特征,则有望促使网络学习到更丰富的空间局部信息,从而回归出更准确的手部姿态.

本研究提出基于改进FastMETRO的三维手部姿态估计方法. 1)应用可变形注意力机制,使编码器和解码器在计算注意力特征时仅考虑查询元素在对应特征图上的参考点周围的一小组采样点,摆脱特征图分辨率的限制,确保计算效率. 2)应用多尺度特征来强化生成手部姿态,实现编码器交错更新特征的机制,减少模型计算损耗. 3)在解码器层中引入图卷积残差模块,进一步捕获网格顶点间的显式的语义联系,以强化特征的空间局部性.

1. 相关研究

三维手部姿态估计方法分为2个大类. 1)基于参数化模型的方法:先回归以具有铰接和非刚性变形的手模型(model with articulated and non-rigid deformations,MANO)[7]为代表的手部参数化模型的全局姿态参数和形状参数,再通过这些参数恢复出三维手部网格的方法. 早期的研究基本采用这类方法. 2)非基于参数化模型的方法:直接回归出三维手部网格顶点的坐标,目前这类方法更受关注.

基于参数化模型的方法主要利用手部参数化模型生成三维手部姿态,弥补了单目RGB图像缺少有效的深度信息的不足. MANO是应用较广泛的手部参数化模型,包含778个网格顶点,1 538个面片,16个手部关节点以及从网格顶点中获取的5个指尖点构成的完整的前向动力学树. Zhang等[8]利用MANO实现了三维手部姿态估计,提出的HAMR方法将单目RGB图像回归成二维关节点热图,并将热图迭代回归成MANO模型参数,生成对应的手部网格并通过线性插值得到手部关节点的空间坐标. Baek等[9]提出通过神经网络和微分渲染器实现网格估计,应用迭代测试细化和自我数据增强实现更好拟合. Boukhayma等[10]使用深度卷积编码器回归MANO参数模型,结合二维关节点损失和三维关节点损失进行监督训练. 这类方法存在共同的问题:通过二维图像进行手部模型参数的回归是高度非线性的,在表示复杂的手形时效果可能不理想.

随着深度学习技术的进步,各种非基于参数化模型的方法被提出,Zimmermann等[11]直接估计三维关节点坐标或者热图,Iqbal等[12-13]使用2.5D特征表示方法,Ge等[14-15]通过图卷积网络的方式直接估计三维手部网格顶点等,流行的方法是通过Transformer网络结构直接估计三维手部网格顶点. Lin等[4]改进Transformer结构,提出无参数化模型的方法,通过所提出的层级递减的Transformer编码器将图像特征附加在网格顶点的标记上来构建网格顶点向量,在编码器中多次更新后回归生成三维网格顶点坐标. 该方法实现效果较好,但是重复利用图像特征致使模型参数量庞大,增大了训练难度. Cho等[5]改进了Lin等[4]提出的网络模型,设计出基于交叉注意力机制的编解码器方法——FastMETRO. 该方法利用骨干网络提取图像高维特征,再对图像高维特征进行位置编码,并将位置编码后的图像高维特征与预定义的关节点标记、网格顶点标记输入双Transformer编码器-双Transformer解码器结构中,输出的关节点标记、网格顶点标记将在坐标回归器中回归成对应坐标. 交叉注意力机制让FastMETRO不仅能够利用图像特征和网格顶点标记这2种不同模态各自的内在关系,还能够利用图像特征与网格顶点标记之间的模态间关系,补充并增强图像特征与网格顶点标记间的匹配关系. 此外,该方法利用人体形态学的先验知识来屏蔽注意力. FastMETRO没有解决Transformer的多头注意力机制计算复杂度与输入序列长度高度相关的问题. 若特征图分辨率较高,对应的图像特征序列很长,将直接导致FastMETRO多头注意力机制的计算开销增长,因此该方法无法有效利用低维图像特征的局部空间信息生成手部姿态.

2. 基于改进FastMETRO的三维手部姿态估计方法

本研究所提三维手部姿态估计方法基于可变形注意力机制、交错更新多尺度特征编码器和图卷积残差模块,对FastMETRO进行了改进. 如图1所示,所提方法宏观上基于骨干网络-编解码器结构,后处理结构负责将关节点标记和网格顶点标记坐标化及精细化. 具体来说,所提方法由以下3个部分组成. 1)骨干网络:可以选择ResNet-50模型或者HRNet-W64模型. 2)编解码器结构. 3)三维坐标回归器和上采样器. 编码器由3组编码器块串联而成,每组编码器块由2层高维特征编码层和1层低维特征编码层依次连接. 高维特征编码层和低维特征编码层的结构相同,执行交叉注意力机制时的输入不同:高维特征编码层执行时输入为多尺度图像特征和截取后的高维图像特征,低维特征编码层执行时输入为多尺度图像特征和截取后的低维图像特征. 高维特征编码层和低维特征编码层基本沿用FastMETRO的编码层结构,不同的是1)采用了可变形注意力模块而非多头注意力模块,2)FastMETRO中的编码层进行自注意力计算,所提方法的高维特征编码层和低维特征编码层均进行交叉注意力计算. 解码器由6层解码器层串联而成,每层解码器层均由4个部分组成,分别是图卷积残差模块、多头自注意力模块、可变形交叉注意力模块和前馈网络. 解码器用于解耦图像特征序列和关节点、网格顶点、相机参数标记序列,利用模态间关系来补充和增强不同模态的匹配. 三维坐标回归器的作用是标记解码器输出的关节点和网格顶点标记,将相机参数标记回归成关节点坐标、网格顶点粗略坐标、相机参数坐标;上采样器的作用是将网格顶点粗略坐标进行上采样,输出网格顶点精细坐标.

图 1

图 1   三维手部姿态估计方法的模型结构

Fig.1   Model structure of 3D hand pose estimation method


2.1. 可变形注意力机制

FastMETRO编码器采用传统多头注意力机制,计算过程处理了过多的无效信息. 由于图像特征的序列长度与特征图的分辨率高度相关,当特征图分辨率较高时,注意力机制的计算十分复杂. 受Zhu等[16]的工作启发,本研究引入可变形注意力机制,该机制的计算流程如图2所示. 在骨干网络输出的多尺度特征图中,假定任一单张特征图$ {\boldsymbol{X}} \in {{\bf{R}}^{C{{ \times }}H{{ \times }}W}} $,其中C为通道数,H×W为分辨率,对应的特征序列为${\boldsymbol{x}} \in {{\bf{R}}^{\left( {H{{ \times }}W} \right){{ \times }}{\mathrm{dim}}}}$,其中dim为维度. 任一查询元素$ {\boldsymbol{q}} \in {{\bf{R}}^{1 \times {\mathrm{dim}}}} $在特征图上对应一个参考点,坐标为$ {\boldsymbol{p}} \in {\left[ {0,1} \right]^2} $. 可变形注意力机制的每个注意力头均在参考点周围采集$S$个采样点,用于计算注意力特征,其中$S$为可变形注意力机制预设的采样点数量,本研究取$S = 4$. 查询元素q通过线性层变化得到对应的采样点位置偏移$ \Delta {{\boldsymbol{p}}_{m,s}} $,其中m为该注意力的头号索引,同时q通过另一独立的线性层变化得到这组采样点对应的注意力权重${{\boldsymbol{A}}_{m,s}}$. 将注意力权重和采样点特征进行点乘求和,经过线性变化得到该注意力特征,表达式为

图 2

图 2   可变形注意力的计算流程

Fig.2   Process of deformable attention


$ {{\boldsymbol{f}}} {\text{(}}{\boldsymbol{q}},{\boldsymbol{p}},{\boldsymbol{x}}{\text{)}} = \sum\limits_{m = 1}^M {{{\boldsymbol{W}}_m}} \left[ {\sum\limits_{s = 1}^S {{{\boldsymbol{A}}_{m,s}}} \cdot {\boldsymbol{W}}'_m{\boldsymbol{x}}\left( {{\boldsymbol{p}}+\Delta {{\boldsymbol{p}}_{m,s}}} \right)} \right] . $

式中:${{\boldsymbol{W}}_m}$${\boldsymbol{W}}'_m$均为第m个注意力头对应的可学习的权重矩阵,M为预设的注意力头的总数.

可变形注意力机制在多尺度特征下的应用与单尺度下的类似,区别在于多尺度特征下的可变形注意力计算在每个不同尺度下分别进行,对于第l层特征图$ {{\boldsymbol{X}}^l} \in {{\bf{R}}^{C{{ \times }}{H_l}{{ \times }}{W_l}}} $,对应的特征序列为${{\boldsymbol{x}}^l} \in {{\bf{R}}^{\left( {{H_l}{{ \times }}{W_l}} \right){{ \times }}{\mathrm{dim}}}}$,多尺度图像特征序列集合为$ {\text{\{ }}{{\boldsymbol{x}}^l}{\text{\} }}_{l = 1}^L $. 查询元素q在每个尺度的特征图上均对应1个参考点,由于尺度不同,将该参考点进行归一化处理,记为${\hat {\boldsymbol{p}}}$. 对于所有尺度下的参考点,同样分别采样$S$个目标点,通过线性层变化得到每个尺度下的参考点位置偏移$ \Delta {{\boldsymbol{p}}_{m,l,s}} $和注意力权重$ {{\boldsymbol{A}}_{m,l,s}} $. 将每个尺度下的注意力权重和采样点特征进行点乘求和,并融合,经过线性变化后输出. 多尺度特征下的可变形注意力计算式为

$ \begin{split} &{{\boldsymbol{f}}} '{\text{(}}{\boldsymbol{q}},{\hat {\boldsymbol{p}}},{\text{\{ }}{{\boldsymbol{x}}^l}{\text{\} }}_{l = 1}^L{\text{)}} = \\ &\quad \sum\limits_{m = 1}^M {{{\boldsymbol{W}}_m}} \left[\sum\limits_l^L {\sum\limits_{s = 1}^S {{{\boldsymbol{A}}_{m,l,s}}} \cdot {\boldsymbol{W}}'_m{{\boldsymbol{x}}^l}{\text{(}}{\varPhi _l}{\text{(}}{{\hat {\boldsymbol{p}} }}{\text{)}}+\Delta {{\boldsymbol{p}}_{m,l,s}}{\text{)}}} \right] .\end{split} $

函数$ {\varPhi _l}{\text{(}}{\hat {\boldsymbol{p}}}{\text{)}} $表示将${\hat {\boldsymbol{p}}}$重新缩放到第l层的特征图中. 可变形注意力机制中的每个注意力头都会在多尺度特征图上关注参考点周围多个采样点,学习特征相关性,实现多个尺度的特征融合,使得输出的注意力特征拥有丰富的空间局部信息和全局语义信息. 可变形注意力机制的计算量与预设的采样点数量高度相关,因此即便特征图的分辨率过高时,可变形注意力机制的计算量也不会过于庞大.

2.2. 交错更新多尺度特征编码器

多尺度特征是指图像在模型中经过特征提取表示在不同尺度下的信息. 引入多尺度特征可以充分利用手部图像的空间局部信息及全局语义信息,使得模型回归的手部网格顶点坐标更为准确. 本研究所提方法为了更好地融入多尺度特征和简化模型,设计并应用了交错更新多尺度特征编码器. 在常规的多尺度特征编码器中,如文献[16],会同时更新高维图像特征和低维图像特征,这种方式的缺点是将低维图像特征和高维图像特征进行无差别处理. 低维特征包含的语义信息并不丰富,但包含的局部细节较多,对低维特征进行更新需要大量参数,耗费计算资源. 相对而言,高维特征包含的全局语义信息更丰富,但缺少空间局部细节. 因此,通过交错更新高维特征和低维特征的方式来设计编码器相对更为合理,可以实现效率和精度的平衡,具体流程如图3所示. 图中,$ {\boldsymbol{F}} \in {{\bf{R}}^{{\text{(}}{N_{\mathrm{L}}}{\text{+}}{N_{\mathrm{H}}}{\text{)}} \times {\mathrm{dim}}}} $为多尺度特征,${N_{\mathrm{L}}}$为低维特征的序列长度,${N_{\mathrm{H}}}$为高维特征的序列长度. 为了便于表示,假定骨干网络输出共3个尺度的特征图,低分辨率的2张特征图为高维特征图,对应的特征序列分别记为$ {{\boldsymbol{F}}_1} $${{\boldsymbol{F}}_2}$,分辨率较高的1张特征图为低维特征图,对应的特征序列记为${{\boldsymbol{F}}_3}$. 编码器交错更新多尺度特征是以编码器块为单位,即整个编码器由3个完全相同的编码器块顺序堆叠组成,每个编码器块内部包含3个编码器层,其中前2层编码器层为高维特征编码层,负责更新高维特征,第三个编码器层为低维特征编码层,负责更新低维特征. 在每个编码器层更新特征前,须将多尺度特征划分为低维特征和高维特征:

图 3

图 3   交错更新多尺度特征

Fig.3   Interleaved updating multi-scale feature


$ {{\boldsymbol{F}}_{\text{L}}} = {{\boldsymbol{F}}_3} = {\boldsymbol{F}}\left[ {{\text{0:}}{N_{\text{L}}}} \right] , $

$ {{\boldsymbol{F}}_{\text{H}}} = \left\{ {{{\boldsymbol{F}}_1},{{\boldsymbol{F}}_2}} \right\} = {\boldsymbol{F}}\left[ {{N_{\text{L}}}{\text{:End}}} \right] . $

之后根据每层需要更新的特征来选择对应的特征序列,如高维特征编码层选择$ {{\boldsymbol{F}}_{\text{H}}} $作为查询序列在多尺度特征中提取信息,低维特征编码层选择$ {{\boldsymbol{F}}_{\text{L}}} $作为查询序列在多尺度特征中提取信息. 更新后的高维特征记为${\boldsymbol{F}}'_{\mathrm{H}}$,更新后的低维特征记为$ {\boldsymbol{F}}'_{\mathrm{L}} $. 最后,高维特征编码层将更新后的高维特征与原始低维特征进行拼接,作为本层的输出:

$ {\boldsymbol{F}} = {\text{Concat (}}{{\boldsymbol{F}}_{\text{L}}},{\boldsymbol{F}}'_{\text{H}}{\text{)}} . $

低维特征编码层将更新后的低维特征与原始高维特征进行拼接,作为本层的输出:

$ {\boldsymbol{F}} = {\text{Concat (}}{\boldsymbol{F}}'_{\text{L}},{{\boldsymbol{F}}_{\text{H}}}{\text{)}} . $

2.3. 图卷积残差模块

引入图卷积残差模块可以在模型内显式编码图结构,提高特征的空间局部性,有效捕获网格顶点间的本地依赖关系. 本研究所提方法调整了Mesh Graphomer[17]中的图卷积残差模块,采用的图卷积残差模块主要包含依次顺序连接的线性层、图卷积层、线性层,输入输出进行残差连接,具体结构如图4所示. 图卷积残差模块的计算对象为网格顶点标记序列,对于网格顶点标记序列${\boldsymbol{V}} \in {{\bf{R}}^{{N^{{\text{rou}}}} \times {\mathrm{dim}}}}$,其中${N^{{\text{rou}}}}$为粗略网格的顶点数量,图卷积残差模块会根据网格顶点间的邻接关系进行图卷积计算,输出残差连接后的结果图卷积层:

图 4

图 4   图卷积残差模块

Fig.4   Graph convolutional residual module


$ {\boldsymbol{V}} = \sigma\; {\text{(}}{{\boldsymbol{A}}_{\mathrm{G}}}{\boldsymbol{V}}{{\boldsymbol{W}}_{\mathrm{G}}}{\text{)}} . $

式中:$ {{\boldsymbol{A}}_{\mathrm{G}}} $为显式表达网格顶点邻接关系的邻接矩阵,$ {{\boldsymbol{W}}_{\mathrm{G}}} $为可学习的权重,$ \sigma \text{(}\cdot \text{)} $为非线性激活函数.

2.4. 损失函数

采用混合损失函数对模型进行训练,总损失$ {L_{{\text{T}}}} $由二维关节点损失、三维关节点损失、三维网格顶点损失组成,损失函数采用均方误差计算.

2.4.1. 二维关节点损失

该损失函数的计算式为

$ {L_{{\text{J2}}}} = \frac{1}{K}\left( {{{\left\| {\left. {{{\boldsymbol{J}}_{{\text{2d}}}}-{{\overline {\boldsymbol{J}} }_{{\text{2d}}}}} \right\|} \right.}_2}+{{\left\| {\left. {{\boldsymbol{J}}_{{\text{2d}}}^{{\text{reg}}}-{{\overline {\boldsymbol{J}} }_{{\text{2d}}}}} \right\|} \right.}_2}} \right) . $

式中:J2d为模型输出的三维关节点坐标和相机参数坐标计算得到的二维关节点坐标,$ {{\boldsymbol{J}}_{{\text{2d}}}} \in {{\bf{R}}^{K{{ \times 2}}}} $K为关节点个数,取K=21;$ {\overline {\boldsymbol{J}} _{{\text{2d}}}} $为真实的二维关节点坐标,$ {\boldsymbol{J}}_{2{\text{d}}}^{{\text{reg}}} $为从手部网格顶点中获得的二维关节点坐标.

2.4.2. 三维关节点损失

该损失函数的计算式为

$ {L_{{\text{J3}}}} = \frac{1}{K}\left( {{{\left\| {\left. {{{\boldsymbol{J}}_{{\text{3d}}}}-{{\overline {\boldsymbol{J}} }_{{\text{3d}}}}} \right\|} \right.}_2}+{{\left\| {\left. {{\boldsymbol{J}}_{{\text{3d}}}^{{\text{reg}}}-{{\overline {\boldsymbol{J}} }_{{\text{3d}}}}} \right\|} \right.}_2}} \right) . $

式中:J3d为模型输出部分的三维关节点坐标,$ {{\boldsymbol{J}}_{{\text{3d}}}} \in {{\bf{R}}^{K{{ \times 3}}}} $$ {\overline {\boldsymbol{J}} _{{\text{3d}}}} $为真实的三维关节点坐标;$ {\boldsymbol{J}}_{{\text{3d}}}^{{\text{reg}}} $为从手部网格顶点中获得的三维关节点坐标.

2.4.3. 三维网格顶点损失

该损失函数的计算式为

$ {L_{{\text{V3}}}} = \frac{1}{{{N^{{\text{rou}}}}}}\left( {{{\left\| {\left. {{\boldsymbol{V}}_{{\text{3d}}}^{{\text{rou}}}+\overline {\boldsymbol{V}} _{{\text{3d}}}^{{\text{rou}}}} \right\|} \right.}_1}} \right)+ \frac{1}{{{N^{{\text{fin}}}}}}\left( {{{\left\| {\left. {{\boldsymbol{V}}_{{\text{3d}}}^{{\text{fin}}}+\overline {\boldsymbol{V}} _{{\text{3d}}}^{{\text{fin}}}} \right\|} \right.}_1}} \right) . $

式中:$ {\boldsymbol{V}}_{{\text{3d}}}^{{\text{rou}}} $为回归所得的粗略网格顶点坐标,$ {\boldsymbol{V}}_{{\text{3d}}}^{{\text{rou}}} \in {{\bf{R}}^{{N^{{\text{rou}}}} \times {\text{3}}}} $${N^{{\text{rou}}}} = 195$${\boldsymbol{V}}_{{\text{3d}}}^{{\text{fin}}}$为粗略网格顶点上采样后所得的精细网格顶点坐标,${\boldsymbol{V}}_{{\text{3d}}}^{{\text{fin}}} \in {{\bf{R}}^{{N^{{\text{fin}}}} \times {\text{3}}}}$${N^{{\text{fin}}}} = 778$,表示精细网格顶点个数为778. $ \overline {\boldsymbol{V}} _{{\text{3d}}}^{{\text{rou}}} $$ \overline {\boldsymbol{V}} _{{\text{3d}}}^{{\mathrm{fin}}} $分别为粗略网格顶点的真实坐标和精细网格顶点的真实坐标.

总损失函数由以上3种损失以不同权重相加组成,计算式为

$ {L_{{\text{T}}}} = {\omega _1}{L_{{\text{J2}}}}+{\omega _2}{L_{{\text{J3}}}}+{\omega _3}{L_{{\text{V3}}}} . $

式中:$ {\omega _1} $$ {\omega _2} $$ {\omega _3} $均为权重.

3. 实验分析

3.1. 数据集

3.1.1. FreiHAND数据集

本研究所提方法主要使用FreiHAND[18]作为训练和评估对象. FreiHAND是三维手部姿态数据集,采集了32位受试者的手部动作,每张手部图像都提供了基于MANO手部参数化模型的三维手部姿势注释. 该数据集包含32 560个训练样本和3 960个评估样本. 训练集使用3种后处理策略进行数据扩充,测试集不使用后处理策略进行数据扩充,因此该数据集总计包括130 240张训练集图像和3 960张测试集图像.

3.1.2. HO3D V2数据集

为了验证模型的泛化性,将HO3D V2[19]作为辅助的训练和评估数据集. HO3D V2是手物交互3D手部姿态估计数据集,包含66 034个训练样本和11 524个测试样本,提供了MANO手部参数化模型注释. 相较于FreiHAND,HO3D V2的图像均有手物交互动作,不利于姿态估计. HO3D V2中的评估样本注释尚未公开,对该数据集的评估要将模型预测结果上传至CodaLab挑战官网中进行线上评估.

3.1.3. HO3D V3数据集

HO3D V3[20]比HO3D V2的规模大,手物接触更多,数据标注方法更先进. HO3D V3包含83 325个训练样本和20 137个测试样本.

3.2. 评估指标

PA-MPJPE是通用的、评估三维人体姿态估计和三维手部姿态估计方法准确性的指标. 该指标基于普鲁克分析[21],先对预测标注进行刚性变换以对齐真实标注,再计算平均每个关节位置的误差,用于评估关节点预测的准确性. PA-MPVPE计算原理与PA-MPJPE相同,不同的是该指标计算的是每个网格顶点间的误差,用于评估网格顶点预测的准确性. F-Score表示2个网格之间在特定误差阈值内的召回率和准确率之间的调和平均值,F@5表示该调和平均值的误差阈值为5 mm,F@15表示该调和平均值的误差阈值为15 mm.

3.3. 训练细节

训练实验在Linux操作系统中进行,版本为Ubuntu 20.04,GPU选取NVIDIA TiTAN X 24G显卡. 分别选取在ImageNet数据集中预训练后的ResNet-50和HRNet-W64作为骨干网络,处理输入的手部RGB图像大小为224×224×3,实验使用的优化器为AdamW优化器,初始学习率设置为0.000 1. 学习率衰减采用StepLR算法,设置学习率衰减系数为0.3,且在迭代至第90轮时进行学习率衰减. 整个训练过程迭代次数为120,批处理大小设置为32. 在总损失函数中,设定$ {\omega _1} $=100、$ {\omega _2} $=800、$ {\omega _3} $=300.

3.4. 性能评估

将所提方法在数据集FreiHAND、HO3D V2和HO3D V3中进行性能评估. 为了与训练时保持一致,将手部图像大小调整为224×224×3后再输入模型,回归得到手部图像的网格顶点坐标和关节点坐标.

各个方法在FreiHAND上的评估结果如表1所示. 由表可知,与流行的方法比较,本研究所提方法的性能更为出色,超越了CMR、METRO、FastMETRO和FastViT等方法. 从定量分析的角度来看,相较于FastMETRO,所提方法的PA-MPJPE降低了0.7 mm,PA-MPVPE降低了1.0 mm,F@5提高了0.061,F@15提高了0.003.

表 1   不同三维手部姿态估计方法在FreiHAND数据集上的性能对比

Tab.1  Performance comparison of different 3D hand pose estimation methods in FreiHAND dataset

方法PA-MPJPE/mmPA-MPVPE/mmF@5F@15
MobileHand[22]13.10.4390.902
FreiHAND[7]11.010.90.5160.934
Pose2Mesh[23]7.87.70.6740.969
I2L-MeshNet[24]7.47.60.6810.973
CMR[15]6.97.00.7150.977
I2UV-HandNet[25]6.76.90.7070.977
METRO[4]6.36.50.7310.984
RealisticHands[26]7.80.6620.971
FastMETRO[5]6.57.20.6880.983
PA-Tran[27]6.06.3
FastViT-MA36[28]6.66.70.7220.981
本研究(ResNet)6.46.70.7140.982
本研究(HRNet)5.86.20.7490.986

新窗口打开| 下载CSV


图5所示为本研究所提方法预测得到的6组手部网格(各分图的右侧图)和真实手部网格(各分图的居中图)结果对比,原始图像(各分图的左侧图)来自FreiHAND. 在挑选的6组手部图像示例中,一部分没有任何遮挡,一部分存在手部自遮挡,还有一部分被不相关的物体遮挡. 如图5(a)所示,虽然图像中手部被物体遮挡,缺少了部分手部信息,但是恢复出的三维手部网格仍较为准确. 总体来看,所提方法可以在一定程度上处理物体对手部的遮挡,具有较好的鲁棒性.

图 5

图 5   真实手部姿态图像与所提方法预测得到的手部姿态图像对比

Fig.5   Comparison of true hand pose images with hand pose images predicted by proposed method


表2所示为基于Transformer的手部姿态估计方法在FreiHAND数据集上的性能参数对比. 表中,NTP为Transformer参数数量;NOP为模型需要学习的参数数量,用于衡量模型复杂度;FPS为模型处理图像的帧率,评估FPS时用的测试平台为移动端RTX2060 GPU;FLOPs为模型所需浮点运算的次数. 所提方法通过引入可变形注意力机制,计算查询元素的注意力特征的开销大大减少,在此基础上引入骨干网络输出的高维图像特征和低维图像特征,使回归所得的手部姿态更精确. METRO和FastMETRO均仅利用高维图像特征,缺乏局部空间细节. 在三维手部姿态估计这一细粒度任务中,丰富的局部空间细节能够有效地提高三维手部姿态估计精度,所提方法回归的手部姿态经普鲁克对齐,平均关节点误差为5.8 mm,平均网格顶点误差为6.2 mm,优于METRO和FastMETRO. 引入可变形注意力机制虽然减少了计算注意力特征的开销,但是多尺度图像特征和图卷积残差模块的引入使模型计算量变大. FPS显示所提方法在推理速度上存在劣势,38帧/s的推理速度与METRO方法接近,小于FastMETRO的52帧/s的推理速度.

表 2   Transformer相关方法在FreiHAND数据集上的性能参数

Tab.2  Performance parameters of Transformer related methods in FreiHAND dataset

方法NTP/106NOP/106FPS/(帧·s−1)PA-MPJPE/mmPA-MPVPE/mmFLOPs/109
METRO[4]102.3230.437±36.36.5108.7
FastMETRO[5]24.9153.052±36.57.271.0
本研究(HRNet)13.9129.638±35.86.280.0

新窗口打开| 下载CSV


为了验证所提方法的泛用性,采用数据集HO3D V2、HO3D V3进行评估和验证. 所提方法与其他方法在HO3D V2数据集上的评估结果对比如表3所示. HO3D V2相较于FreiHAND遮挡更为严重,遮挡物更加丰富,因此回归精度更低. 由表可知,相较于METRO、ArtiBoost、Keypoint Transformer等方法,所提方法的回归精度更高,经普鲁克对齐后,关节点坐标误差和网格顶点坐标误差均为10.0 mm,F@5=0.512,F@15=0.951. 综合FreiHAND和HO3D V2数据集上的评估表现可以发现,所提方法在手部姿态估计任务中性能良好,具有一定的泛化性. 所提方法与其他方法在HO3D V3数据集上的评估结果对比如表4所示. 所提方法在该数据集上关节点坐标平均误差为10.5 mm,网格顶点坐标平均误差为10.3 mm,均优于其他先进方法.

表 3   不同三维手部姿态估计方法在HO3D V2数据集上的性能对比

Tab.3  Performance comparison of different 3D hand pose estimation methods in HO3D V2 dataset

方法PA-
MPJPE/mm
PA-
MPVPE/mm
F@5F@15
Pose2Mesh[23]12.512.70.4410.909
METRO[4]10.411.10.4840.946
ArtiBoost[29]11.410.90.4880.944
Keypoint Transformer[30]10.8
本研究(HRNet)10.010.00.5120.951

新窗口打开| 下载CSV


表 4   不同三维手部姿态估计方法在HO3D V3数据集上的性能对比

Tab.4  Performance comparison of different 3D hand pose estimation methods in HO3D V3 dataset

方法PA-
MPJPE/mm
PA-
MPVPE/mm
F@5F@15
ArtiBoost[29]10.810.40.5070.946
Keypoint Transformer[30]10.9
HandOccNet[31]10.710.40.4790.935
本研究(HRNet)10.510.30.4910.941

新窗口打开| 下载CSV


3.5. 消融实验

以ResNet-50为骨干网络在FreiHAND数据集上对本研究所提方法进行消融实验,实验结果如表5所示. 将所提方法作为基线模型,分别消融交错更新多尺度特征编码器、可变形注意力机制、图卷积残差模块,进行模型的性能对比实验. 实验一模型含可变形注意力机制模块和图卷积残差模块;实验二模型仅含图卷积残差模块;实验三模型含交错更新多尺度特征编码器模块和可变形注意力机制模块. 当消融交错更新多尺度特征编码器而使用单尺度编码器块时,模型相较于基线模型失去了多尺度信息,仅靠来自单一尺度的较高维的图像特征,丧失了大量局部细节,导致模型的PA-MPJPE从6.4 mm下降到了8.2 mm. 进行可变形注意力机制的消融实验时,单独消融可变形注意力机制而不消融交错更新多尺度特征编码器会导致模型参数量和计算量变得异常庞大而难以训练,因此在进行可变形注意力机制的消融实验时须一并消融交错更新多尺度特征编码器. 对比实验一和实验二发现,当仅利用单尺度图像特征时,传统注意力机制的性能好于可变形注意力机制. 对比实验二模型与基线模型发现,同时应用交错更新多尺度特征编码器和可变形注意力机制,模型性能有较大提升,PA-MPJPE从7.0 mm提高到6.4 mm. 可以看出,同时利用多尺度特征和可变形注意力机制,相较于在单尺度特征下利用传统注意力机制,模型性能有显著提升;在单尺度特征下利用可变形注意力机制,性能有所下降. 实验三单独消融图卷积残差模块,对比实验三模型和基线模型发现,实验三的PA-MPJPE从6.4 mm下降至6.8 mm,表明应用图卷积残差模块来挖掘网格顶点间显式的语义联系可以使模型的性能得到可观的提升.

表 5   FreiHAND数据集上的模块消融实验

Tab.5  Module ablation experiments in FreiHAND dataset

mm
交错更新多尺度
特征编码器
可变形
注意力
图卷积残
差模块
PA-
MPJPE
PA-
MPVPE
8.28.4
7.07.3
6.87.0
6.46.7

新窗口打开| 下载CSV


4. 结 语

基于Transformer结构的手部姿态估计方法无法有效利用多尺度图像特征. 本研究通过引入可变形注意力机制,解决了传统多头自注意力机制计算复杂度与输入图像分辨率呈平方关系带来不利影响的问题. 在摆脱特征图分辨率限制的基础上,引入多尺度图像特征并进行交错更新,有效地利用了全局语义信息和局部空间信息. 在解码器层中引入图卷积残差模块,捕获网格顶点间的显式语义联系,强化特征的空间局部性. 相较其他流行的手部姿态评估方法,本研究所提方法在FreiHAND、HO3D V2和HO3D V3数据集上回归的手部姿态更准确,参数量更少. 此外,1)所提方法在实时性和推理速度上仍然有缺陷,后续将使用轻量化的模块替代已有模块,以提升方法的推理速度;2)手部区域在拍摄图像中的占比可能很小,而模型训练采用的数据集为特定的手部图像数据集,手部区域在图像中占比较大,导致模型在实际应用场景下回归出来的手部姿态有较大误差,后续将改进模型以提升方法在实际场景中的适用性.

参考文献

LI R, LIU Z, TAN J

A survey on 3D hand pose estimation: cameras, methods, and datasets

[J]. Pattern Recognition, 2019, 93: 251- 272

DOI:10.1016/j.patcog.2019.04.026      [本文引用: 1]

LIU Y, JIANG J, SUN J. Hand pose estimation from RGB images based on deep learning: a survey [C]// 2021 IEEE 7th International Conference on Virtual Reality . Foshan: IEEE, 2021: 82−89.

[本文引用: 1]

VASWANI A, SHAZEER N, PARMAR N, et al. Attention is all you need [C]// Proceedings of the 31st International Conference on Neural Information Processing Systems . [S.l.]: Curran Associates, 2017: 6000−6010.

[本文引用: 1]

LIN K, WANG L, LIU Z. End-to-end human pose and mesh reconstruction with transformers [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition . Nashville: IEEE, 2021: 1954−1963.

[本文引用: 6]

CHO J, KIM Y, OH T H. Cross-attention of disentangled modalities for 3D human mesh recovery with transformers [C]// European Conference on Computer Vision . [S.l.]: Springer, 2022: 342−359.

[本文引用: 4]

ZHENG C, WU W, CHEN C, et al

Deep learning-based human pose estimation: a survey

[J]. ACM Computing Surveys, 2023, 56 (1): 11

[本文引用: 1]

ROMERO J, TZIONAS D, BLACK M J

Embodied hands: modeling and capturing hands and bodies together

[J]. ACM Transactions on Graphics, 2017, 36 (6): 245

[本文引用: 2]

ZHANG X, LI Q, MO H, et al. End-to-end hand mesh recovery from a monocular RGB image [C]// Proceedings of the IEEE/CVF International Conference on Computer Vision . Seoul: IEEE, 2019: 2354−2364.

[本文引用: 1]

BAEK S, KIM K I, KIM T K. Pushing the envelope for RGB-based dense 3D hand pose estimation via neural rendering [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition . Long Beach: IEEE, 2019: 1067−1076.

[本文引用: 1]

BOUKHAYMA A, DE BEM R, TORR P H S. 3D hand shape and pose from images in the wild [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition . Long Beach: IEEE, 2019: 10835−10844.

[本文引用: 1]

ZIMMERMANN C, BROX T. Learning to estimate 3D hand pose from single RGB images [C]// Proceedings of the IEEE International Conference on Computer Vision . Venice: IEEE, 2017: 4913−4921.

[本文引用: 1]

IQBAL U, MOLCHANOV P, BREUEL T, et al. Hand pose estimation via latent 2.5D heatmap regression [C]// Proceedings of the European Conference on Computer Vision . Munich: Springer, 2018: 125−143.

[本文引用: 1]

KULON D, GÜLER R A, KOKKINOS I, et al. Weakly-supervised mesh-convolutional hand reconstruction in the wild [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition . Seattle: IEEE, 2020: 4989−4999.

[本文引用: 1]

GE L, REN Z, LI Y, et al. 3D hand shape and pose estimation from a single RGB image [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition . Long Beach: IEEE, 2019: 10825−10834.

[本文引用: 1]

CHEN X, LIU Y, MA C, et al. Camera-space hand mesh recovery via semantic aggregation and adaptive 2D-1D registration [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition . Nashville: IEEE, 2021: 13269−13278.

[本文引用: 2]

ZHU X, SU W, LU L, et al. Deformable DETR: deformable transformers for end-to-end object detection [EB/OL]. (2021−03−18)[2023−11−20]. https://arxiv.org/abs/2010.04159.

[本文引用: 2]

LIN K, WANG L, LIU Z. Mesh graphormer [C]// Proceedings of the IEEE/CVF International Conference on Computer Vision . Montreal: IEEE, 2021: 12919−12928.

[本文引用: 1]

ZIMMERMANN C, CEYLAN D, YANG J, et al. FreiHAND: a dataset for markerless capture of hand pose and shape from single RGB images [C]// Proceedings of the IEEE/CVF International Conference on Computer Vision . Seoul: IEEE, 2019: 813−822.

[本文引用: 1]

HAMPALI S, RAD M, OBERWEGER M, et al. HOnnotate: a method for 3D annotation of hand and object poses [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition . Seattle: IEEE, 2020: 3193−3203.

[本文引用: 1]

HAMPALI S, SARKAR S D, LEPETIT V. HO-3D_v3: improving the accuracy of hand-object annotations of the HO-3D dataset [EB/OL]. (2021−07−02)[2024−03−17]. https://arxiv.org/abs/2107.00887.

[本文引用: 1]

GOWER J C

Generalized procrustes analysis

[J]. Psychometrika, 1975, 40: 33- 51

DOI:10.1007/BF02291478      [本文引用: 1]

LIM G M, JATESIKTAT P, ANG W T. Mobilehand: real-time 3D hand shape and pose estimation from color image [C]// International Conference on Neural Information Processing . [S.l.]: Springer, 2020: 450−459.

[本文引用: 1]

CHOI H, MOON G, LEE K M. Pose2Mesh: graph convolutional network for 3D human pose and mesh recovery from a 2D human pose [C]// European Conference on Computer Vision . [S.l.]: Springer, 2020: 769−787.

[本文引用: 2]

MOON G, LEE K M. I2l-MeshNet: image-to-lixel prediction network for accurate 3D human pose and mesh estimation from a single RGB image [C]// European Conference on Computer Vision . [S.l.]: Springer, 2020: 752−768.

[本文引用: 1]

CHEN P, CHEN Y, YANG D, et al. I2UV-HandNet: image-to-UV prediction network for accurate and high-fidelity 3D hand mesh modeling [C]// Proceedings of the IEEE/CVF International Conference on Computer Vision . Montreal: IEEE, 2021: 12909−12918.

[本文引用: 1]

SEEBER M, PORANNE R, POLLEYFEYS M, et al. Realistichands: a hybrid model for 3D hand reconstruction [C]// 2021 International Conference on 3D Vision . London: IEEE, 2021: 22−31.

[本文引用: 1]

YU T, BIDULKA L, MCKEOWN M J, et al

PA-Tran: learning to estimate 3D hand pose with partial annotation

[J]. Sensors, 2023, 23 (3): 1555

DOI:10.3390/s23031555      [本文引用: 1]

VASU P K A, GABRIEL J, ZHU J, et al. FastViT: a fast hybrid vision Transformer using structural reparameterization [C]// Proceedings of the IEEE/CVF International Conference on Computer Vision . Paris: IEEE, 2023: 5762−5772.

[本文引用: 1]

YANG L, LI K, ZHAN X, et al. ArtiBoost: boosting articulated 3D hand-object pose estimation via online exploration and synthesis [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition . New Orleans: IEEE, 2022: 2740−2750.

[本文引用: 2]

HAMPALI S, SARKAR S D, RAD M, et al. Keypoint Transformer: solving joint identification in challenging hands and object interactions for accurate 3D pose estimation [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition . New Orleans: IEEE, 2022: 11080−11090.

[本文引用: 2]

PARK J, OH Y, MOON G, et al. HandOccNet: occlusion-robust 3D hand mesh estimation network [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition . New Orleans: IEEE, 2022: 1486−1495.

[本文引用: 1]

/