CVPR2022 | 移动端手部三维重建

作者丨陈星宇@知乎

来源丨https://zhuanlan.zhihu.com/p/494755253

编辑丨3D视觉工坊

本文介绍我们发表在CVPR2022上的工作,MobRecon: Mobile-Friendly Hand Mesh Reconstruction from Monocular Image。本文的主要贡献是同时实现了轻量、准确、稳定的手部三维重建方法,并已在移动端应用。

ae3d602e9ee00d785787ce120be2956d.png

论文链接:https://arxiv.org/abs/2112.02753

代码链接:https://github.com/SeanChenxy/HandMesh

1. 背景和研究动机

我们的社会正在走向越虚拟化,将会有越来越多的穿戴式混合现实产品或者沉浸式虚拟现实产品问世。与现实世界一致,手部也将成为我们与虚拟世界交互的重要工具。因此,手部的虚拟化对未来的XR技术有着十分重要的意义。

从单目RGB估计手部几何结构的问题,已发展成为了一个成熟的视觉与图形学的交叉领域,可参见以下链接详细了解近年来该领域的研究进展。

https://github.com/SeanChenxy/Hand3DResearch

但是,缺乏相关工作能够同时保障手部重建的效率、精度和时序一致性。在这个问题的启发下,我们探索了面向移动端的hand mesh估计方法:

·提出了MobRecon框架,仅包含123M Mult-Adds (乘加操作)和 5M #Param(参数量),能够在Apple A14 CPU上达到83FPS。

·设计了轻量化的2D编码结构与3D解码结构。

·提出了feature lifting module来桥接2D与3D特征表达,其中包括了用于2D关键点估计的MapReg(map-based position regression),用于点特征提取的pose pooling,用于特征映射的 PVL(pose-to-vertex lifting)。

2. 方法

Overview

MobRecon沿用基于图方法的vertex回归思路,在传统的编-解码结构 [1,2] 中间插入一个feature lifting阶段。所谓lifting,指的是从2D空间到3D空间的映射,我们着重在并在这个阶段中降低参数成本,并同时提高精度与时序稳定性。另外,我们也轻量化了3D解码部分,在降低计算成本的同时尽可能保持其他性能不变。MobRecon的整体框架如图1所示。

a776da198bc7fa7539b1fddba47b75c6.png

图1. MobRecon 概览

·2D encoding:图像特征编码

·Feature lifting:2D特征向3D空间映射

·3D decoding:3D特征向3D坐标解码

2D encoding

如图2所示,我们设计了两种Hourglass结构来表达图像,称为DenseStack和GhostStack,计算量和参数量为

·DenseStack:373M Multi-Adds,6M #Param

·GhostStack:96M Multi-Adds,5M#Param

81a6ada9e709df265692e62a638411ec.png

图2. 2D encoding

8460a50b5cdb8a974c11cb374062eb76.png

表1. 2D编码结构分析

表1对2D encoding进行了详细的分析,我们的模块在大幅优化计算量与参数量的情况下保持了不错的重建精度。同时,表1还展示了我们的虚拟数据的作用,虚拟数据的设计思想详见paper的补充材料。

Feature lifting

这个阶段的目的是将图像特征从2D空间映射到3D空间。如图6所示,传统方法[1,2]没有显示的feature lifting阶段,而使用一个全连接操作把图像的全局特征映射为一个很长的特征向量,再重组为3D点特征。我们的设计分为3个步骤:2D关键点估计,关键点特征提取,特征映射。

d7584208af07475df0d10c2d9f72871f.png

图3. Feature lifting

我们提出Map-based position regression(MapReg)来估计2D关键点。如图4所示,已经有许多成熟的方法处理2D关键点估计,因此这个问题常常被大家忽略,也少有工作探索如何同时提高2D关键点的精度与时序一致性。我们对这个问题的思考如下:

2f096aa06cf3e796ee65e5b7a258c498.png

图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能够自主表达关键点之间的约束。

9c7ab21a825ec36f51d6e935a3759b0a.png

图5. 不同2D关键点表达方式的对比。其中蓝色点为预测的2D关键点位置。

27b227ee6ca7484f64e11e3ef849052d.png

我们提出pose-to-vertex mapping(PVL)来实现特征映射。如图3所示,传统方法通常使用全连接操作对全局特征进行mapping,导致大量的计算成本。我们设计了更轻量的PVL。

bf1638fae1c3d821e69cd09ef32714d9.png

图7. pose-to-vertex mapping

60e4c23bd764faff13b77523e592bacb.png

142260aa98114df69dda7418efdf8565.png

图8. 优化后的 lifting matrix

8e76d4cd19ef74c9280ebd813d96dc75.png

图9. 高度相关的从joint到vertex的特征传播

表2对整个feature lifting过程进行了详细分析:MapReg同时获得了最好的2D精度(2D AUC)、加速度(2D Acc),PVL的计算成本更优,并同时获得了最佳3D精度(3D AUC)与加速度(3D Acc)。

b72f477632d9743dc51f594e1704b3b1.png

表2. feature lifting 分析

一致性约束

在轻量化3D decoding之前,我们通过一致性约束进一步加强时序一致性。如图10所示,利用单样本的仿射变换制造样本对,并在原空间中对模型预测的mesh 顶点及2D关键点进行一致性约束:

71c77aafd5fbd8385635118743dde52c.png

3396b86d98751269bb0d6870f3e19023.png

图10. 基于仿射变换的一致性约束

实验结果表明一致性约束有助于降低时序加速度,同时对重建精度也有轻微的正向作用。

6315ad6a0ed2578d48fc7a7781ce25ed.png

表3. 一致性约束分析

3D decoding

由于mesh的本征维度是二维,我们采用简单高效的的螺旋卷积实现3D解码。mesh顶点的的邻域定义如图11所示,这种方式完全等价于图像卷积对邻域的定义。

78af33b88f462fabd62b9d21c4501d97.png

图11. 螺旋采样

定义邻域后,卷积操作的下一步是特征融合。如图12所示,传统方法使用LSTM [5] 或者很大的FC [6] 进行特征融合,它们或者无法并行计算或者有很高的计算成本。我们提出DSConv,迁移Depth-wise separable convolution到针对mesh顶点的特征操作。与[6]相比,DSConv的计算复杂度更优,即 outside_default.png vs. outside_default.png 。

1eb014756512a4d72fd35b38a8ad4104.png

图12. SpiralConv, SpiralConv++与DSConv对比

实验结果表明DSConv有效降低了计算量与参数量,并保持重建性能基本不变。整个MobRecon在Apple A14 CPU上达到83FPS。

42e5084fbac02f830136c858bd00921d.png

表4. DSConv和整体模型分析。Mult-Add是和#Param的 "/" 左边关于3D decoder,右边关于整体MobRecon;Acc 的 "/" 左边关于2D空间,右边关于3D空间。

Limitation

MobRecon 是一个对移动端CPU友好的框架,但在GPU上的并行计算效率并不高。主要原因是可分离卷积、螺旋邻域采样等方法增加了内存访问成本。

3. 对比实验

重建精度

如图13所示,基于FreiHAND数据集,MobRecon的重建精度与一些大模型方法几乎一致。如果替换MobRecon的2D encoding部分为ResNet50,能够获得非常不错的精度。更多对比实验请参见paper。

5fb46eb12d0c6007282608630427f0bf.png

图13. 基于FreiHAND数据集的对比实验

时序一致性

在图14中,我们与[2]对比时序性能。视频序列的内容如右下子图所示,尽管在整个视频中保持手部姿态不变,预测结果依然存在抖动。图中左边的三个图表分别展示了2D空间、人体3D空间和相机空间预测的加速度,红色曲线为MobRecon的结果,明显由于基于heatmap的[2]。如右下子图所示,相比于heatmap,MapReg产生了更好的关键点间的约束与2D结构,从而在时序上表现出更强的稳定性。可以得出结论,MobRecon是一种非序列的单目方法,并不存在时序模块,而它在时间维度上的稳定性本质上是由空间维度中的结构化表达带来的。

169137ff9512e3b0ff39e688d6d43755.png

图14. 时序一致性对比

4. Outlook

就精度而言,基于RGB的hand pose/mesh估计已基本达到可以实际应用的水平,学术界未来会更多关注手部的渲染、自监督、时序建模、手部行为理解等高阶任务。同时,面向双手、手物、人体的交互类工作将越来越多。此外,手部肌肉建模、机器人操作、手+语音多模态交互等方向也值得关注。

Reference

[1] Dominik Kulon, Riza Alp Guler, Iasonas Kokkinos, Michael Bronstein, Stefanos Zafeiriou. Weakly-supervised mesh-convolutional hand reconstruction in the wild. CVPR2020.

[2] Xingyu Chen, Yufeng Liu, Chongyang Ma, Jianlong Chang, Huayan Wang, Tian Chen, Xiaoyan Guo, Pengfei Wan, Wen Zheng. Camera-space hand mesh recovery via semantic aggregation and adaptive 2D-1D registration. CVPR2021.

[3] Alejandro Newell, Kaiyu Yang, and Jia Deng. Stacked hourglass networks for human pose estimation. In ECCV2016.

[4] Thomas N. Kipf, Max Welling. Semi-supervised classification with graph convolutional networks, ICLR2017.

[5] Isaak Lim, Alexander Dielen, Marcel Campen, and Leif Kobbelt. A simple approach to intrinsic correspondence learning on unstructured 3D meshes. In ECCV, 2018.

[6] Shunwang Gong, Lei Chen, Michael Bronstein, and Stefanos Zafeiriou. SpiralNet++: A fast and highly efficient mesh convolution operator. In ICCV Workshops, 2019.

本文仅做学术分享,如有侵权,请联系删文。

干货下载与学习

后台回复:巴塞罗自治大学课件,即可下载国外大学沉淀数年3D Vison精品课件

后台回复:计算机视觉书籍,即可下载3D视觉领域经典书籍pdf

后台回复:3D视觉课程,即可学习3D视觉领域精品课程

3D视觉精品课程推荐:

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

14.ROS2从入门到精通:理论与实战

15.国内首个3D缺陷检测教程:理论、源码与实战

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

a43d0519bd4a1c6afe3963a3a8027a10.png

▲长按加微信群或投稿

6bc25a1deab9406a1ed5715721b7aa1a.png

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列手眼标定相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近5000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

f35497e21d4a888a4ecd3dad122f4018.png

 圈里有高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  d68a063e02d77664844657d99f0cd683.gif

猜你喜欢

转载自blog.csdn.net/Yong_Qi2015/article/details/124263460