一张随便勾画的草图,居然也可以分分钟自动变成逼真的 3D 模型?!
360° 无死角不说,转换期间真的不需要任何其它角度姿势的输入。这就是获得了 SIGGRAPH 2022 荣誉奖的一个最新 3D 姿态估计模型:Sketch2Pose。
除了草图,像这样的小猴子,四肢严重不按比例生长,Sketch2Pose 也可以办到:
这是如何做到的?
只要 4 步,草图人变 3D 人
将草图上的人物 / 形象变成 3D 模型,此前的研究中都还未专门涉及。该任务最大的挑战就是比例失真问题,因为画上的东西可能头大身子小、胳膊长腿短……
为此,Sketch2Pose 通过对三个关键元素进行预测来消除绘制姿势时的可能出现的“歧义”。这三个元素分别是:
-
2D 骨骼切线(2D bone tangents)
-
自接触区域(self-contacts)
-
骨骼缩短比例(bone foreshortening)
其中,2D 骨骼切线(下图蓝色部分)是预测 3D 骨骼方向最有力的指标(关节位置不行)。自接触区域(如下图绿色部分,手接触腰的位置)对于理解 3D 姿势至关重要,也是消除未知身体部位歧义的线索。骨骼缩短转换系统则利用统计分析来纠正原图中的比例问题。
根据这三者预测,再使用最先进的优化框架(optimization framework),并用专门设计的一种新的损失(loss)来平衡姿势自然度,以及与输入草图的相似性,AI 就能最终推断出符合画者意向的 3D 姿势。
具体步骤如下:
-
输入一张草图,首先预测出 2D 关节位置或骨架,用于 3D 人体模型的粗略对齐。
-
然后预测屏幕空间(screen-space)接触区域,将其映射到粗略对齐的 3D 模型上,得到一组接触顶点(红色部分)。
-
接着,利用缩短转换阶段描述的草图人物比例问题,进行修补。
-
最后,在优化框架中利用 2D 骨架的骨骼切线、粗略对齐的 3D 姿势以及比例修补,产生最终结果。
有遮挡缺失也 OK
最终的 Sketch2Pose 可以支持多种草图风格的转换,比如下图中的简笔画或者水墨画,像下下图最后一张那样简略的也可以。
同时,对缺失、遮挡部位也能稳健处理。比如上图第一行中的人手(不过我们发现左边的似乎推测有错,手应该是放在两腿之间;右边的抱头基本没啥问题,但手掌应该向后弯曲)。
再将 Sketch2Pose 和 SOTA 方法进行比较,结果还是令人非常满意的。可以看到,Sketch2Pose(第三列)对姿势还原的更到位,缺失部分的预测也更符合人体构造。
而开头那只小猴子,Müller et al. 2021 等方法的转换效果就是下面这样:
对于猴子“扭曲”的下肢部分,这些方法都出现了理解偏差 ——Sketch2Pose 完胜。
作者介绍
Sketch2Pose 一共有两位作者,都来自加拿大蒙特利尔大学。
一作名叫 Kirill Brodt (Кирилл Бродт),出生于 1991 年,本硕毕业于新西伯利亚州立大学(数学学位),后在 Yandex 数据分析和计算机科学中心学院学习机器学习,现为蒙特利尔大学的一位博士生。他的主要研究方向为跟草图有关的计算机视觉转换。
另一位作者名叫 Mikhail Bessmeltsev,是一作的导师,蒙特利尔大学计算机科学与运筹学系的助理教授。
感兴趣的同学可以戳论文原文,或者去 Huggingface 上试试效果。
论文原文:
https://dl.acm.org/doi/10.1145/3528223.3530106
项目主页:
https://www-labs.iro.umontreal.ca/~bmpix/sketch2pose/
Huggingface demo:
https://huggingface.co/spaces/SIGGRAPH2022/sketch2pose
Github 代码:
https://github.com/kbrodt/sketch2pose