技术|人人皆可变身黄金圣斗士:微视用AI燃烧小宇宙,还有不同星座可选( 三 )
3D 人体 Mesh 如何重建?
数据准备阶段结束后 , 微视团队着手重建人体 3D Mesh 。 在将视频拆分成一帧帧的图片之后 , 从每张图片中找到人体所在的区域 , 然后计算出人体的 2D 关键点信息 , 接着结合前后帧的时序信息估计出关键点的深度 , 即得到人体的 3D 关键点坐标 , 然后结合 2D/3D 以及图像信息估计出人的体型和 3D 姿态 , 从而获得人体在模型坐标系下的 3D Mesh 和相机的投影矩阵 。
如下图所示是 2D/3D 姿态检测部分的效果:
文章图片
获得了 2D/3D 关键点信息后 , 如果要恢复出人体的 Mesh , 还要估计两个重要的信息:人的体型以及关节的 3D 旋转 。 人的体型可以理解为人的高矮胖瘦 , 虽然关键点能提供一部分的身材信息 , 但仅依靠关键点很难准确恢复出身材 , 特别是胖瘦;3D 关键点虽然包含了部分的关节夹角信息 , 但关节还需要包含更多的自由度 , 特别是旋转 。
当前 , 人体 3DMesh 重建的方案主要分成 Fitting 和 Deep Learning 两种 。
基于 Fitting 的方法一般基于已有的人体模型 , 如 SMPL/MANO 等 , 通过最小化人体模型投影到图像上的点与已知人体关键点的误差 , 得到每张图片的最优模型参数 。 这种方法的优势在于能够得到高精度的人体 Mesh , 一些公开数据集(比如 3DPW)都采用这种方法构建数据 。
但这种方法的弱点也很明显:首先是速度太慢 , 每张图片都需要迭代至少几十到上百次 , 一张图片的处理往往需要一分钟到几分钟的时间 。 此外 , 考虑到体型问题 , 一些方案直接采用 3D 扫描仪事先扫描出人体 , 大大提升了数据采集的成本 。
基于 Deep Learning 的多数方法同样需要依赖于人体模型 , 通过神经网络估计出人体模型的参数 , 代表性工作是 VIBE , 这类算法通常称为 model-based 的方法 。
这类方法有两方面的问题 , 首先可获取到的数据很少而且拍摄环境局现于实验室中 , 虽然一些工作如 Surreal , Human3.6 使用 CG 制作虚拟的 in wild 场景 , 但这样的数据跟真实的数据仍然有比较大的差距 。 第二 , 前面提到关节的 3D 旋转很难通过图像去估计 。
相比于 model-based 方案 , model-free 方案提供了另外一种思路 , 这种方法是直接回归人体 mesh 上的密集 3D 点坐标 , 并通过在 loss 中增加人体 shape、pose 等先验信息进行约束 。 相关的工作主要依赖于图神经网络来建模人体不同关节点之间的拓扑结构 , 这方面的代表工作包括「Pose2Mesh」(https://arxiv.org/abs/2008.09047) 。
最终 , 微视团队使用 7000 多个顶点和 1.5 万的面片重建出图像坐标系下的人体 3D Mesh , 从图像中重建出的 Mesh 需要经过滤波处理去掉抖动 , 这样就得到了视频中的人体 Mesh 。 效果展示如下图所示:
文章图片
后续 , 渲染引擎将在此人体 Mesh 信息的基础上给视频中的人物「穿上」盔甲 。
让黄金铠甲成为手机端特效
接下来 , 微视团队在移动端运行了人体检测 / 跟踪、2D 关键点检测、3D 姿态估计、相机投影矩阵估计、3D Mesh 重建整套技术的流程 , 但他们发现 , 实现单帧图像 15ms 以内的处理速度非常困难 。 这意味着 , 在移动端的实现和优化上 , 还需要思考更好的解决方案 。
微视团队从三个方面进行了改进:
1. 网络 Backbone 结构的设计与优化 。 结合 HRNet、MobileNet 系列网络等不同结构的优势 , 在大规模的数据上进行了不同结构设计的探索和调参 , 针对不同计算能力的手机做针对性的设计 , 保证对不同的机型在速度和效果上达到最佳的平衡 。
相关经验推荐
- 吞噬星空|罗峰和坎迪斯对战的时候,罗峰出现失误,黑客技术真厉害
- 果实|海贼王 关于拉菲特, 他应该是人人果实天使形态吧
- 人人果实|海贼王, 大将绿牛果实能力终于确认, 他其实有四个胃
- 武魂|斗罗大陆:盘点昊天宗的秘技绝学,一种人人可练,一种堪称神技
- 剑术|斗罗大陆:这个国家人人都是隐藏的剑术天才,绝世斗罗也忌惮他们
- 赛高|日漫2d完美打造,“幼齿”爸爸很吃香,冻龄技术满分,南次郎混入
- 索隆|海贼王953话 激凸!乔巴的同类出现!又一个吃了人人果实的能力者
- 紫罗兰永恒花园|紫罗兰花园的高跟鞋人人夸,迪士尼公主联名鞋却招人骂,也太丑了!
- 伪装学渣|熊叔“技术太猛”,堪称最还原的cos,男神们都走出次元了
- 技术|电影修复让经典“永生”
