【Sketch2Pose论文阅读】Sketch2Pose: Estimating a 3D Character Pose from a Bitmap Sketch

最近在逐步了解,这个项目,初步跑通项目之后,还是有很多不够了解的,所以做一个论文阅读,顺便记录。第一次研读,所以记录的详细&长,欢迎指出问题和交流。

Project Page
Demo

PAPER READING

0 ABSTRACT

这篇文章是加拿大蒙特利尔大学Kirill Brodt 和 Mikhail Bessmeltsev的一篇工作,获得SIGGRAPH 2022年的Honorable Mention Award。

核心解决的问题: 从Sketch中还原出和相同视角的人物3D Pose(smplx),后续也可重定向到不同的角色。

Fig.1

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

这里 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,依靠SPINEFT框架。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

Fig. 7

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。这些草图是用各种技术在纸上完成的,包含铅笔,钢笔,水彩。

7 RESULTS AND VALIDATION

8 CONCLUSIONS AND FUTUTRE WORK

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值