Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

工业级人手三维重建刷新两个榜单,第一视角玩游戏更爽了

近日,爱奇艺深度学习云算法团队联合慕尼黑工业大学的研究者提出了一套高精度手部重建系统,通过「看」单目 RGB 人手图片即能实现高精度 3D 重建,不仅刷新了两个在线测评榜单,而且有可能在爱奇艺下一代 VR 设备中大显身手。

2016 年,Facebook 正式发售 Oculus Rift 头戴式 VR 设备,大大革新了人们对于 VR 技术的认知,这一年也因此被称为 VR 元年。5 年过去,现在 VR 技术发展到哪了?从原生 VR 游戏《半条命:爱莉克斯》来看,在这类游戏场景下,人们与虚拟世界的交互上已经非常成熟。

出自《半条命:爱莉克斯》游戏。

但是,庞大的头显设备仍是阻碍 VR 应用普及的重要原因。仍以《半条命:爱莉克斯》为例,这部游戏的精华在于手部交互,而实现捡东西、扔东西、扣动扳机等复杂的虚拟交互,需要一部 VR 头盔和一部 VR 手柄才能完成。

近日,计算机视觉领域国际顶会 ICCV 2021 收录了一篇题为《I2UV-HandNet: Image-to-UV Prediction Network for Accurate and High-fidelity 3D Hand Mesh Modeling》的论文。论文由爱奇艺深度学习云算法团队联合慕尼黑工业大学的研究者完成,他们提出一套名为 I2UV-HandNet 的高精度手部重建系统,通过「看」单目 RGB 人手图片即能实现高精度 3D 重建

论文地址:https://arxiv.org/abs/2102.03725

言外之意,如果将这项技术「适配」到带有摄像功能的眼镜或者头盔中,那么使用者即使不用手柄,也能实现与虚拟世界的高质量对话

重建效果如何呢?该论文已经在颇受认可的 HO3D 在线测评榜上力压群雄,持续数月排名第一。在 Freihand 在线测评榜上,截至论文编写时仍排名第一。

HO3D 榜单排行结果,红框处为爱奇艺。

论文编写时 Freihand 榜单排行结果,红框处为爱奇艺。

目前,研究者们正在尝试将该技术应用到爱奇艺下一代 VR 设备中,从而减少对手柄的依赖,打造出更轻、更快和更舒适的 VR 设备。同时,手势重建、交互技术目前也同步在爱奇艺其他业务场景和硬件终端进行落地探索,相信不久后会相继和用户见面。

I2UV-HandNet:业界首创的手部 3D 重建技术

在人机交互和虚拟现实的应用中,高精度的人手 3D 重建技术发挥着重要作用。但由于手势多变以及严重的遮挡,现有的重建方法在准确性和精度方面仍差些火候。

一方面,目前学术界在进行手部 3D 重建评测,比如在 Freihand 数据集上进行评测主要是突出算法的精度优势,不需要考虑算力、延迟等,所以可以采用计算复杂度非常高(如 transformer 等)的一些算法。

另一方面在工业界,特别是 VR 等移动端设备,在算力、功耗、电池的续航及发热等各方面有严格限制,在应用上必须采用计算复杂度偏低的算法。

而 VR 等设备的摄像头因为移动端硬件的功耗、续航限制必须降低清晰度而不采用高清晰度的摄像头,采集到的图像清晰度相对偏低,这对于算法的识别就构成一定的挑战性。

I2UV-HandNet 框架图,由 AffineNet 和 SRNet 组成。

爱奇艺研究者提出的 I2UV-HandNet 独创性地将 UV 映射表征引入到 3D 手势和形状估计中,他们设计的 UV 重建模块 AffineNet 能够从单目图像中预测手部网络(hand mesh),从而完成由粗到精的人手 3D 模型重建。

这一设计意味着对于 3D 重建中所需空间中的景深信息,不用再通过昂贵的硬件完成侦测,在普通 RGB 摄像头拍摄的图片中就可以完成景深信息获取。

I2UV-HandNet 另一个组成部分是 SRNet 网络,其作用是对已有人手 3D 模型进行更高精度的重建。SRNet 网络以研究团队独创的「将点的超分转化为图像超分的思想」为原则,实现在不增加过多计算量的情况下,进行上万点云的超分重建。

此外,由于缺乏高保真的手部数据来训练 SRNet,研究团队构建了一个名为 SuperHandScan 的扫描数据集训练 SRNet。由于 SRNet 的输入是基于 UV 的「粗糙」手部网格。因此 SRNet 的应用范围很广,换句话说,一个「训练有素」的 SRNet 可以对任何粗手部网格进行超分辨率重建。

据介绍,在未做任何优化情况下,SRNet 和 AffineNet 组成的 I2UV-HandNet 系统能够在 Nvidia v100 上达到 46 fps;而经过工程优化后的版本能够在骁龙 865 CPU+DSP 下达到实时。

为了验证 I2UV-HandNet 方法对姿态的鲁棒性,研究团队选用了包含大量姿态的真实人手数据集 FreiHAND 作为测试集,并通过 FreiHAND Competition 在线测评与相关 SOTA 工作进行对比,结果如下表 1 所示,证明了该 UV 重建方法的有效性。

在 FreiHAND 上进行真实场景下多姿态的人手 3D 重建对比,↓表示越低越好,↑表示越高越好。

同时为了验证在各种遮挡场景下的重建性能,研究团队选取包含大量遮挡样本的 HO3D 数据集进行测评,结果如下表 2 所示,各项指标也都达到了 SOTA。

在 HO3D 上进行真实场景下具有遮挡的人手 3D 重建实验对比,↓表示越低越好,↑表示越高越好。

为了定量评价 SRNet,研究团队还在 HIC 数据集上进行了实验。如下表 3 所示,SRNet 的输出 (表中的「OUTPUT」) 得到了优于原始深度图的结果。

↓表示越低越好,↑表示越高越好。

模型详解:AffineNet+SRNet=I2UV-HandNet

如下为 AffineNet 网络框架图,AffineNet 由编码网络和解码网络组成,在解码时通过 Affine Conection 和多 stage 完成由粗到精的 UV 学习。

更具体地,AffineNet 由编解码网络组成,编码骨干网络为 ResNet-50,解码时采用由粗到精的层级结构,其中 Affine Connection 是指通过当前层级预测的 UV 用仿射变换(类似 STN)的方式实现编码特征向 UV 图的对齐,即:

同时有:

以及:

其中 E^i 表示 1/2^i 分辨率下的编码特征图,f_up (x)表示将 x 放大 2 倍,π(I_UV)表示根据稠密的 I_UV 在固定投影矩阵的投影坐标,f_ac (x,y)表示 Affine Connection 操作,即使用 x 对 y 进行仿射变换,A ^i 表示通过仿射变换后与 UV 对齐后的特征图,相对于 E^i,其包含更多与手相关的特征。D^i 表示 1/2^i 分辨率下的解码特征图,f_con (x,y,z)表示通过 x,y,z 生成 UV 图。

通过上面两个公式看出,解码过程本质上就是一套低分辨率 UVmap 到高分辨率 UVmap 重建的过程,同时也是 3D 点云重建由粗到精的过程

AffineNet 的损失函数分为 3 项:

其中,使用 L1 作为 UV 的重建 Loss:

I_UV^* 为真实 UV 图,I_UV 为重建结果,M(i,j)=0 表示 UV 图上没有被 3D 点云映射,对应 UV 的 RGB 值为(0,0,0)。

UV 图本质上可以看成将 3D 模型上每个三角面不重叠地映射到二维平面,所以在 UV 图上对应的三角片区域的值应该是连续的,因此引入 Grad loss:

其中∂_u 和∂_v 分别表示在 UV 图的 u 和 v 方向求梯度。

在训练阶段对分辨率最大的 4 个 stage(即 i=0,1,2,3)重建的 UV 进行 L_affine 优化,其中λ_1=λ_2=λ_3=1,投影矩阵选用正投影矩阵,每个 stage 间的 loss 比例都为 1。

SRNet 每层的设置。

SRNet 的网络结构类似于超分辨率卷积神经网络(SRCNN),但输入和输出是 UV 图而非 RGB 图像。

研究团队巧妙地通过 UV 图的方式将点的超分转换为图像的超分,将伪高精度 UV 图作为输入,高精度 UV 图作为标签,通过伪高精度 3D 模型生成的 UV 图到高精度 3D 模型生成的 UV 图的超分学习,完成 1538 个面到 6152 个面,778 个点到 3093 个点的超分学习,超分 Loss 设计如下:

在测试阶段只需要将 AffineNet 重建的 UV 图作为输入,便可得到经过超分重建后的高精度 UV 图,从而实现人手的高精度 3D 重建。

将 AffineNet 和 SRNet 结合成 I2UV-HandNet 系统便可完成 High-fidelity 的人手 3D 重建。为了快速验证将点的超分转化为图像的超分的可行性,研究团队将 SRCNN 网络结构用于 SRNet 中,并选取 QSH 数据集进行训练。

Batch size 设置为 512,输入 UV 图的大小为 256*256,初始学习率为 1e-3,优化器 Adam,并采用 cosine lr 下降方式,并在 scale、旋转等方面进行数据增广。

同时为了网络模型具有更好的泛化性,也随机对高精度 UV 图进行高斯平缓处理,并将结果作为网络的输入。在测试时,研究团队将 AffineNet 输出的 UV 图作为 SRNet 的输入实现 I2UV-HandNet 系统的 high-fidelity 3D 人手重建。

下图展示了 I2UV-HandNet 在各种姿态和遮挡条件下基于单目 RGB 图的人手 High-fidelity 3D 重建结果。从图中 Coarse Mesh 和 High-fidelity meshes 的对比可以看出,通过 UV 图超分输出的包含 3093 个点 / 6152 个面的 3D 模型(High-fidelity)明显要比 AffineNet 输出的包含 778 个点 / 1538 个面的 MANO 模型(Coarse Mesh)更加精细,具体表现在折痕细节和皮肤鼓胀等。

在 HO-3D 数据集(左)和 FreiHAND 数据集(右)上的重建结果。从左到右依次为:输入、AffineNet 的重建结果、SRNet 输出的超分结果(high-fidelity)

研究团队还对 UV 的展开方式和由粗到精的形式进行了属性消融实验分析,实验在 FreiHAND 测试集上进行。如下图所示,通过 MAYA 对 MANO 模型从左到右分别按照黑线的位置对其进行 UV 展开,并依次记为 UV_1、UV_2 和 UV_3。

相同人手模型(上)的不同 UV(下)展开形式,剖开方式按照黑线位置,展开后的 UV 图每个区域通过颜色与手部相对应。

对不同 UV 形式进行实验分析,分析结果如下表 6 所示,不同 UV 展开结果对算法有一定的影响。其中 UV_1 按照物体等面积占比展开,UV_2 和 UV_3 按照人手各区域点数占比展开,故 UV_1 效果最差。

UV_3 与 UV_2 区别在于手指排布不同,研究团队认为人手的 5 个手指尖间的特征具有一定的联系,同时从图像卷积方式出发,将点数最多的 5 根手指放在一起更有利于 UV 的重建学习,UV_3 优于 UV_2。

同时,研究团队在 UV_3 的基础上对 AffineNet 由粗到精的学习进行分析,对进行 Loss 优化的每个 stage 输出的 UV 图进行测评,测评结果如下表 7 所示,随着 UV 分辨率的增加,姿势和网格的 AUC 值呈上升趋势,说明 3D 重建结果也越加好,但在全分辨率时有所下降。

分析数据认为,通过优化得到的 GT 网格并不能和原图在像素级别实现很好的重叠,所以学习像素级别精度网格意义不大。

UV 形式和由粗到精的实验分析,其中 UVi 表示不同的 UV 形式,Si 示表示用对应 stage 的输出结果(1/2i 全分辨率 UV)进行测评。

下一步:「适配」更加丰富的应用场景

手部重建与人体重建比较相似,当前学术界做人体重建的算法可以迁移到手部的应用。但相对于比较火热的人脸重建,手部和人体存在自遮挡更多、姿态复杂度更高等问题,因此研究难度大,业界可借鉴的资料、行业内的应用都相对较少。

但手部、人体重建却是用自然的肢体语言实现人机交互的关键技术,相比一些可穿戴设备,更能带来体验和沉浸度。例如手柄无法模拟手指每一个关节的活动,手部重建则能实现更加精细的操控。这意味着能够扩展至游戏、数字化工厂、虚拟场景培训等更多场景。

接下来,爱奇艺技术团队将会致力于算法的计算效率提升,能够更好地满足 VR 设备应用场景对功耗及计算资源的严苛要求;同时也会继续研究当前学术界的一些难题,例如对于重叠 / 遮挡的手的重建,爱奇艺深度学习云算法团队也已经开始布局。

工程VR爱奇艺
暂无评论
暂无评论~