本文介绍我们发表在CVPR2022上的工作,MobRecon: Mobile-Friendly Hand Mesh Reconstruction from Monocular Image。本文的主要贡献是同时实现了轻量、准确、稳定的手部三维重建方法,并已在移动端应用。
论文链接:
https://arxiv.org/abs/2112.02753
代码链接:
https://github.com/SeanChenxy/HandMesh
我们的社会正在走向越虚拟化,将会有越来越多的穿戴式混合现实产品或者沉浸式虚拟现实产品问世。与现实世界一致,手部也将成为我们与虚拟世界交互的重要工具。因此,手部的虚拟化对未来的XR技术有着十分重要的意义。
从单目RGB估计手部几何结构的问题,已发展成为了一个成熟的视觉与图形学的交叉领域,可参见以下链接详细了解近年来该领域的研究进展。
https://github.com/SeanChenxy/Hand3DResearch但是,缺乏相关工作能够同时保障手部重建的效率、精度和时序一致性。在这个问题的启发下,我们探索了面向移动端的hand mesh估计方法:
MobRecon沿用基于图方法的vertex回归思路,在传统的编-解码结构 [1,2] 中间插入一个feature lifting阶段。所谓lifting,指的是从2D空间到3D空间的映射,我们着重在并在这个阶段中降低参数成本,并同时提高精度与时序稳定性。另外,我们也轻量化了3D解码部分,在降低计算成本的同时尽可能保持其他性能不变。MobRecon的整体框架如图1所示。
图1. MobRecon 概览
如图2所示,我们设计了两种Hourglass结构来表达图像,称为DenseStack和GhostStack,计算量和参数量为
图2. 2D encoding
表1. 2D编码结构分析
表1对2D encoding进行了详细的分析,我们的模块在大幅优化计算量与参数量的情况下保持了不错的重建精度。同时,表1还展示了我们的虚拟数据的作用,虚拟数据的设计思想详见paper的补充材料。
这个阶段的目的是将图像特征从2D空间映射到3D空间。如图6所示,传统方法[1,2]没有显示的feature lifting阶段,而使用一个全连接操作把图像的全局特征映射为一个很长的特征向量,再重组为3D点特征。我们的设计分为3个步骤:2D关键点估计,关键点特征提取,特征映射。
图3. Feature lifting
我们提出Map-based position regression(MapReg)来估计2D关键点。如图4所示,已经有许多成熟的方法处理2D关键点估计,因此这个问题常常被大家忽略,也少有工作探索如何同时提高2D关键点的精度与时序一致性。我们对这个问题的思考如下:
图4. 不同的2D关键点表达方式 (a) heatmap, (b) heatmap+soft-argmax, (c) regression (d) MapReg
heatmap,图4(a)。
高分辨率表达(e.g., 64x64),通过融合浅层特征和语义特征,表达粒度更细。
但是,感受野过小,难以产生关键点之间的约束。
regression,图4(c)。
低分辨率表达(i.e., 1x1),始终保持语义上的全局感受野,结构表达能力更强。
但是,浅层特征丢失,细节表达能力不足。
以上两种基本方法各有优缺点,并优势互补,能否将他们结合起来?
heatmap + soft-argmax,图4(b)。
高分辨率表达 ,继承了heatmap的优点。
虽然有全局感受野,但来自启发式规则,因此并未继承regression的优点。
MapReg,图4(d),也是本文所提出的方法。我们设计了一个很小的4倍上采样结构,在上采样的过程中融入浅层特征。将融合后的特征沿channel维度展开,即, 将2D空间结构展开为1D向量。使用MLP把多个1D向量回归为多个关键点的2D坐标。MapReg有以下特点:
中分辨率表达(e.g., 16x16),继承了heatmap的优点。
语义全局感受野,继承了regression的优点。
MapReg计算复杂度与空间复杂度上都介于heatmap和regression之间。
从图5中可以明显地观察到MapReg的优势:(1)heatmap表达的粒度很细,但每个点独立地被表达;(2)heatmap+soft-argmax的全局感受野是启发式的,因此它的结果只是heatmap的平滑;(3)MapReg能够自主表达关键点之间的约束。
图5. 不同2D关键点表达方式的对比。其中蓝色点为预测的2D关键点位置。
我们使用pose pooling来提取关键点特征。如图6所示,我们对CNN编码特征 进行局部特征提取,得到 个关键点的 维表达 。
图6. 基于heatmap(左)和2D坐标(右)的 pose pooling
我们提出pose-to-vertex mapping(PVL)来实现特征映射。如图3所示,传统方法通常使用全连接操作对全局特征进行mapping,导致大量的计算成本。我们设计了更轻量的PVL。
图7. pose-to-vertex mapping
由于 A, D 为常量,上式可简化为图7所示的结构。
图8展示了一个学习后的 M' ,其中,行的方向为2D关键点的索引,列的方向为mesh顶点的索引。图9展示了关键点与mesh顶点之间的高度相关的特征传播。可见 M' 有以下特点:
图8. 优化后的 lifting matrix
图9. 高度相关的从joint到vertex的特征传播
表2对整个feature lifting过程进行了详细分析:MapReg同时获得了最好的2D精度(2D AUC)、加速度(2D Acc),PVL的计算成本更优,并同时获得了最佳3D精度(3D AUC)与加速度(3D Acc)。
表2. feature lifting 分析
在轻量化3D decoding之前,我们通过一致性约束进一步加强时序一致性。如图10所示,利用单样本的仿射变换制造样本对,并在原空间中对模型预测的mesh 顶点及2D关键点进行一致性约束:
图10. 基于仿射变换的一致性约束
实验结果表明一致性约束有助于降低时序加速度,同时对重建精度也有轻微的正向作用。
表3. 一致性约束分析
由于mesh的本征维度是二维,我们采用简单高效的的螺旋卷积实现3D解码。mesh顶点的的邻域定义如图11所示,这种方式完全等价于图像卷积对邻域的定义。
图11. 螺旋采样
定义邻域后,卷积操作的下一步是特征融合。如图12所示,传统方法使用LSTM [5] 或者很大的FC [6] 进行特征融合,它们或者无法并行计算或者有很高的计算成本。我们提出DSConv,迁移Depth-wise separable convolution到针对mesh顶点的特征操作。与[6]相比,DSConv的计算复杂度更优,即:
图12. SpiralConv, SpiralConv++与DSConv对比
实验结果表明DSConv有效降低了计算量与参数量,并保持重建性能基本不变。整个MobRecon在Apple A14 CPU上达到83FPS。
表4. DSConv和整体模型分析。Mult-Add是和#Param的 "/" 左边关于3D decoder,右边关于整体MobRecon;Acc 的 "/" 左边关于2D空间,右边关于3D空间。
MobRecon 是一个对移动端CPU友好的框架,但在GPU上的并行计算效率并不高。主要原因是可分离卷积、螺旋邻域采样等方法增加了内存访问成本。
如图13所示,基于FreiHAND数据集,MobRecon的重建精度与一些大模型方法几乎一致。如果替换MobRecon的2D encoding部分为ResNet50,能够获得非常不错的精度。更多对比实验请参见paper。
图13. 基于FreiHAND数据集的对比实验
在图14中,我们与[2]对比时序性能。视频序列的内容如右下子图所示,尽管在整个视频中保持手部姿态不变,预测结果依然存在抖动。图中左边的三个图表分别展示了2D空间、人体3D空间和相机空间预测的加速度,红色曲线为MobRecon的结果,明显由于基于heatmap的[2]。如右下子图所示,相比于heatmap,MapReg产生了更好的关键点间的约束与2D结构,从而在时序上表现出更强的稳定性。可以得出结论,MobRecon是一种非序列的单目方法,并不存在时序模块,而它在时间维度上的稳定性本质上是由空间维度中的结构化表达带来的。
图14. 时序一致性对比
就精度而言,基于RGB的hand pose/mesh估计已基本达到可以实际应用的水平,学术界未来会更多关注手部的渲染、自监督、时序建模、手部行为理解等高阶任务。同时,面向双手、手物、人体的交互类工作将越来越多。此外,手部肌肉建模、机器人操作、手+语音多模态交互等方向也值得关注。
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/jacke121/article/details/124379871
内容来源于网络,如有侵权,请联系作者删除!