丰色 发自 凹非寺
量子位 | 公众号 QbitAI
一张随便勾画的草图,居然也可以分分钟自动变成逼真的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