最近在逐步了解,这个项目,初步跑通项目之后,还是有很多不够了解的,所以做一个论文阅读,顺便记录。第一次研读,所以记录的详细&长,欢迎指出问题和交流。
PAPER READING
0 ABSTRACT
这篇文章是加拿大蒙特利尔大学Kirill Brodt 和 Mikhail Bessmeltsev的一篇工作,获得SIGGRAPH 2022年的Honorable Mention Award。
核心解决的问题: 从Sketch中还原出和相同视角的人物3D Pose(smplx),后续也可重定向到不同的角色。
1 INTRODUCTION
“Art is not what you see, but what you make others see.” — Edgar Degas
动画师通常需要依照故事板中 natural, freely, drawn sketches,在三维软件中摆出对应的姿势,十分复杂和枯燥。
该工作的目标是有着 “不精确,不完整,包含遮挡物和错误,扭曲人物长度和比例” 的特点的草图,这种草图的目的不是为了反应真实世界,而是为了传达对于姿势的想法。其不能被解释为三维人物在视图平面上的投影,只是对人物的近似描述。而之前的工作普遍忽略了草图的特点。
该系统支持各种草图风格——gesture drawings, contour drawings, and complex detailed sketches。
Overview
We introduce a novel system for inferring a 3D character from a single bitmap based a combination of optimization, deep learning, statistical analysis, and observations from perceptual and artistic literature.
Optimization:
- 由3个预测子系统指导
- 2D bone tangents[2D骨切线][2D的关节位置是不可靠的]
- self-contacts[自我接触][帮助理解姿势,并且可以帮助分辨身体部位深度]
- Bone foreshortening[骨骼前凸][建立模型,并通过statistical analysis来消除骨骼前凸的扭曲]
- 一个最先进的优化框架,包含一个新的特殊设计的loss,基于以上预测信息,去消除和sketch的不准确度。
- 输出参数化人类模型SMPL-X的姿势,可以重定向到任意自定义角色。
这里 Fig. 2:在计算三维姿态时,保留二维原始视图的2D bone tangents 和 self-contact position。在建立model时,消除骨骼前凸的扭曲。
这里Fig. 4:故意的out-of-plane rotation 和 非典型的不准确的身体比例,是很容易模糊的。
Contribution
- 数据集①:大规模的2D姿势注释速写数据集,包括14462个骨架,每个骨架由18个人工标注的关节位置的二维标签组成。其中约1000张图片包含了self-contact的二维位置。数据集②:包含310张高分辨率的光栅人物草图,突出不同的风格和人物(CC-BY)。【这个数据集②有标注吗?下下来好像没看到?存,记得后期检查。】
- 一个新的通过算法从sketch中还原3Dpose的框架。
2 RELATED WORK
由于这是第一篇从a natural raster character sketch中还原3D Pose的文章,所以以下两个方向是最相关的内容。
2.1 Character Posing Interfaces
总体归为两类,一类是从figure中还原character和pose;一类是提供一些sketch的方法来更改运动。
之前用到的figure,无论是Stick figures (Fig. 3a)还是silhouettes (Fig. 3b),都具有一定的模糊性,可能人类也不一定能判断。通常以往通过手工标注数据集来减少误差。
作者认为SketchiMo是他们的互补,Gesture3D这篇文章也重建了3D Character和pose,但仅在清晰干净的矢量图上来做。在Section 7会把本文和Gesture3d进行对比。
2.2 Human Pose Estimation from a Single Photograph
关于Monocular pose estimation(单目姿态估计),已经在CV上被广泛研究。
3D Pose Estimation
目前的许多方法都依赖大量的3D labeled data,在确保skeletal consistency, joint constraints, or bone lengths上得到拓展。但对于这篇工作来说,目前还没有这样的数据集存在。
一些工作则避开了对于2D-3D data的依赖,用不匹配的2D-3D data,或依赖于已经很好的2D姿态估计方法,或采取监督或自监督的方法。
监督的方法在我们的内容中是不可行的。无监督的方法需要有一个知道3D关节如何投影到2D标签的模型。但是,如Section1所讨论的,2D sketch并不能为完美的解释为3D Character的投影,仅为艺术家对于姿态的阐述。所以很难去定义一个这样准确2D-3D对应的模型。
我们的系统的目标是推断出和艺术家意图相同的pose,尽管有失真扭曲和模糊性存在。
3D Shape Estimation
我们受到了目前预测pose和shape工作的启发,通过人类的参数化模型来表示形状和姿势。
Müller et al. 2021专注于通过self-contacts改善预测的shape和poses,依靠SPIN和EFT框架。Dwivedi et al. 2021等人延续了这份工作,专注于穿衣服的人,提出了differentiable semantic rendering loss来区分穿衣服和没穿衣服的人。
我们的工作依赖于Müller et al. 2021等人的工作,但不同于在3D Pose上预测self-contacts,我们直接从输入图像中预测self-contacts。不同于Fieraru et al. 2021的工作,依赖于包含接触的网状区域的数据集,我们的数据集只包含self-contact的图像空间位置,更模糊但更容易收集。
我们使用SPIN和EFT的框架。但区别是,他们的目标是重建3D姿势,预测的2D标签是3D关节的投影。我们的目标是预测和艺术家意图相同的3D Pose,投影可能与绘制的草图有明显偏差。这部分体现在我们的 new loss(Section5, Section 4.4)。并且在Fig4, Fig14, Section7, Supplementary materials与基于重投影的方法进行了比较。
3 KEY PRINCIPLES AND OVERVIEW
这部分介绍结合艺术文献得出的一些算法参考的原则。
3.1 Key Principles
Foreshortening
Bone Foreshortening 这个概念有点难解释,也不知道该如何翻译。可以看看这个Foreshortening。我的理解是,由于你观察的角度不同,原本可能更长的骨骼,看起来却变得更短了。简单来说,就是画出来的跟真实的,由于透视/角度问题会变的不一样。
之前的方法,由于身体骨骼和屏幕是平行的(比如正视图),所以foreshortening的程度也一样。但是在sketch中,这种身体和屏幕的角度,是无法准确描述的;再加上艺术家们绘制的时候,通常采取非线性的透视(即不保留真实的尺寸比例角度),所以从输入图像中推测摄像机参数是不可行的。
我们提出了一个基于统计学的方法,在正交投影的情况下预测bone foreshortening (Fig.9)。
Tangent Significance
无论是正交投影还是透视投影,骨骼的长度都不会超过它的真实全长。但在sketches中,由于艺术/绘画不准确性,角色骨骼长度是可以比真实长度要长的。(Fig.4a)中使用到的最小二乘法,则会减小图画的表现力。
虽然骨骼的长度对于描绘关节位置是无效的,但是angles被认为是一个展现表现力和动态的关键元素。人们在观察这些图像是,也是依靠angles: both joint angles and bone tangents 。所以,我们希望3D骨骼的投影是平行于2D中的骨骼描绘的。
Perceived self-contacts
在sletch中,self-contacts通常会被清晰的或是略模糊的描绘出来,它也被作为消除深度信息模糊性的因素。所以我们预测self-contacts,并在后续的优化当中确保它的存在。
Pose Naturalness and Regularity
我们在优化过程中利用了regularity这一线索,并且用了EFT的框架让动作更加的自然。
3.2 Algorithm Overview
4 INFERRING KEY ELEMENTS OF A DRAWING
算法的第一部分先预测 2D bone tangents, body part contacts, and bone foreshortening。
4.1 2D Joint Positions
预测最重要的骨骼关节并依靠Section5的最终优化来重建3D pose。总的来说,预测 K =18 main joints (4 joints for each leg, 3 for each arm, 3 for the torso, 1 joint for the head)。
为此,训练了一个在数据集上表现最好的深度卷积 2D pose estimation network 「Sun et al. 2019; Wang et al. 2019b; Xiao et al. 2018」。我们调整了输入图画的大小,保留了长宽比,并将它们填充到384x288像素的分辨率。这个网络为每个关节输出一个96x72像素的热力图,显示所选关节的每一个像素的得分,然后热力图上得分最高的将成为关节位置。具体结构的细节阅读Sun et al. 2019。
这个阶段算法的输出是K骨架关节,在二维图像坐标系中的2D位置
x
^
j
2
D
\widehat{x}_j^{2D}
x
j2D (Fig.7a)。2D bone tangents被定义为那些2D位置之间的差异。
4.2 Initial Alignment of the 3D Model
接着将上一步得到的2D position用在最 初始的优化上——用最先进的框架EFT产生一个初步对应于sketch的SMPL模型的。先用预训练模型将图像回归到SMPL参数空间,然后用EFT来优化网络的权重,去最小化2D关节位置
x
^
j
2
D
\widehat{x}_j^{2D}
x
j2D和3D SMPL关节的2D正交透视投影
x
j
2
D
{x}_j^{2D}
xj2D之间的
L
2
L_2
L2-reprojection distance👇。
我们在Pavlakos et al.[2019]产生的poses上去训练这个回归网络,其smpl-x模型运用到了一个姿势自然度先验。因此我们继承了姿势的自然度作为一个隐形的先验。详细的请查看这篇文章[Joo et al. 2021]的EFT。
我们训练了150个iterations,用默认的参数。这个阶段的输出是,一系列编码了一个与图像大致相同的人类的姿势的85个参数,包含body pose的24 x 3个参数,body shape的10个参数,2个camera的2D位置,1个用于统一大小。
输入的RGB图像为224 x 224px。
4.3 Detecting Self-Contacts
这一步检测图像空间中描绘的self-coontacts,并将其映射到网格的顶点上。这些顶点会被运用于最终的优化,去强制让其中的一些进行接触(Section.5)。
我们的sketch数据集包含了感知到的self-contacts的二维位置。我们用其训练一个2D接触预测网络,输出2D接触热力图。该网络结构与Section4.1节相同。
我们首先需要区分过滤噪声并将不同的接触区域分开,并将其映射为不同组别的SMPL网格点(每一个顶点至少有一对接触点)。为此,我们首先将self-contact热力图设置为一个保守阈值为0.5,并且通过热力图计算出阈值的热力图,去构造连接区域。
我们接下来的步骤,则是将连接区域初步映射到之前大致对其的SMPL网格。一个简单的方法是直接映射投影,但这种方法很可能导致不理想的结果,因为mesh经常偏离drawing。相反,我们用预测出的2D Skeleton作为代理来寻找这种映射。我们先计算每个接触区域的凸面【凸面->convex是啥?】,然后将每个凸面与二位骨架相交,形成一组二维骨段(Fig.8b)。然后,我们使用每个骨骼的线性化参数来讲骨段转移到三维SMPL骨架上(Fig.8c),最后将与这些三维节段相连的网格顶点标记为接触区域的顶点(Fig.8d)。
4.4 Foreshortening Transformation
在这一步骤中,我们的目标是补偿由于艺术家不准确、夸张的透视和比例不匹配所引起的foreshortening的扭曲。一个直接的做法是借助对应的数据集来进行训练从而解决,但这种数据集不存在。相反,我们的观点是,虽然drawing和pose的对应关系未知,但重建的和预期的骨骼和屏幕之前的角度应该是平均分布的。
5 3D POSE OPTIMIZATION
6 DATASET
D1: 2D pose annotations for character sketchs,3K image,up to 18 per skeleton。都为人工注释,之前的工作也证明说人类对草图的注释基本是一致的。
D2: 310个高质量的角色草图,CC BY。
该工作运用D1来进行训练并验证我们的2D关键点预测网络。test结果的输入图像都来自D2,因此没用D2来训练。
Data Collection and Annotation
D1: 先从网络上人工进行搜索,然后雇了一个注释服务。为每个任务标注多大18个关节位置绘制的字符,并对遮挡的或未明确绘制的关节进行注释,但跳过那些模糊的。这个数据集也包括各种风格的草图,灰度的,彩色的,数字绘制的, 扫描的纸笔画等。
D2: 从不同背景的艺术家那里进行收集扫描或照片。包含gestures, contour drawings, and detalied character sketches of human, often highly articulated poses。这些草图是用各种技术在纸上完成的,包含铅笔,钢笔,水彩。