查看原文
其他

CVPR2019 |AR版“神笔马良”:从单张2D图片建立3D人物运动模型,华盛顿大学与Facebook 3D重建

David 9 极市平台 2021-09-20

加入极市专业CV交流群,与6000+名企名校视觉开发者互动交流,每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流点击文末“阅读原文”立刻申请入群~

ps.6月5日(本周三)晚20:00,极市邀请了英特尔(中国)资深视觉应用工程师周兆靖,为我们分享:如何利用开源OpenVINO™工具集加速深度学习推理,欢迎各位小伙伴参与直播,与嘉宾互动交流~


来源:David 9的博客

已获作者授权,请勿二次转载


无论它被你以何种方式唤醒,你只是释放了已有的想象力 — David 9


从一张普通的2D图片建立一个活生生的3D人物运动模型,或许是曾经神笔马良擅长的事。现在,在AR的人物动画3D重建领域似乎也不足为奇:


来自:https://grail.cs.washington.edu/projects/wakeup/


华盛顿大学与Facebook的研究人员已经公布了他们的这套图像人物“唤醒”方法。注意:这套方法仅限于帮助“人物”走出屏幕,不适用于动物或交通工具等等。


当然,甚至是毕加索的四维抽象人物也是适用的:


来自:https://grail.cs.washington.edu/projects/wakeup/


背后的原理这里带大家理一下,首先总体框架如下:


来自:https://grail.cs.washington.edu/projects/wakeup/


论文核心贡献集中在上图的中间红色区域,所以简单起见我们可以先看一头一尾


头部工作主要是把一张普通2D图片中的人物检测出来:

对输入2D图片进行人物分割和姿势预测,来自:https://arxiv.org/pdf/1812.02246.pdf


检测出来做两件事,一是用Mask R-CNN把人物扣取出来,二是用卷积姿势预测器(Convolutional Pose Machines)把姿势(2D pose)预测出来。


尾部工作,是对最后拿到的骨骼蒙皮(Rigged mesh)半成品做后期处理,主要也是两件事,一,把之前扣取的背景图片补齐,二,为骨骼蒙皮加上纹理和动画效果


对骨骼蒙皮做后期效果,来自:https://arxiv.org/pdf/1812.02246.pdf


关键的难点在于中间部分,如何拿到人物的2D pose后,重建一个真实可用的3D骨骼蒙皮(Rigged mesh)?看看文章提出的方法:


建立骨骼蒙皮,来自:https://arxiv.org/pdf/1812.02246.pdf

首先我们可以用现成的SMPL模型在刚才的2D pose姿势上构建一个初步的骨骼蒙皮。注意,SMPL骨骼蒙皮只是赤裸的、根据其他数据经验得到的,和2D输入图片的场景大不相同。但是SMPL模型支持maya、unity等常用3D软件,支持python,并且对蒙皮皱褶等处理较好:


来自:http://smpl.is.tue.mpg.de/

有了SMPL模型后,文章创新地先把这个SMPL模型降维成两个2D图map(Normal Map和Skinning Map)其中1. 找到符合原始2D图片的深度图(在深度z轴上重建,Normal Map),2. 找到符合原始人物皮肤的蒙皮(Skinning Map),每个skinning区域的顶点可以看做一个分组。


再把这两个SMPL得到的2D映射图变形(warp)对齐(align)到真实扣取的2D人物。值得强调的是所做的变形都是先在2D空间上进行的(而不是在3D蒙皮上直接修改并变形)


但是,2D上的变形终究要归结到3D的变形。


所以还有个关键点是找到SMPL模型与真实3D模型的轮廓映射。


而3D蒙皮是以至少3个顶点为一个平面,大概这样的:


来自:https://knowledge.autodesk.com/support/civil-3d/learn-explore/caas/CloudHelp/cloudhelp/2018/ENU/Civil3D-UserGuide/files/GUID-3EF4691D-2645-4357-819C-E3FA3E14BF21-htm.html


这样,一个2D的像素点就可以对应许多个3D平面的顶点,如论文中所说:


来自:https://arxiv.org/pdf/1812.02246.pdf


要找到一个这样的较好的映射关系,首先要保证对应于原始2D图像不失真(3D对应顶点和2D对应像素点距离接近),其次要保证3D模型的光滑(较少的跳跃点):


来自:https://arxiv.org/pdf/1812.02246.pdf


其中D就是距离函数,T即加入的保证“光滑”的约束。


好了,到了这里知道了如何把2D的变形映射到3D蒙皮的变形,也知道要利用3D蒙皮降维到2D进行warp,最后的工作就是重复这个操作优化3D蒙皮。在2D上做对齐变形还有许多小技巧,包括防止影响人体肢体运动(闭塞锁)而做的肢体label等等David在这里就不一一赘述了:


来自:https://arxiv.org/pdf/1812.02246.pdf



参考文献:

  1. Photo Wake-Up: 3D Character Animation from a Single Photo

    https://grail.cs.washington.edu/projects/wakeup/


  2. http://smpl.is.tue.mpg.de/


  3. 简书:SMPL: A Skinned Multi-Person Linear Model

    https://www.jianshu.com/p/6305f1da8f2d


  4. Keep it SMPL: Automatic Estimation of 3D Human Pose and Shape from a Single Image

    https://arxiv.org/abs/1607.08128


  5. https://www.youtube.com/watch?v=G63goXc5MyU


  6. http://cinemagraphs.com/



本文采用署名 – 非商业性使用 – 禁止演绎 3.0 中国大陆许可协议进行许可。著作权属于“David 9的博客”原创,如需转载,请联系邮箱:yanchao727@gmail.com


原文:

http://nooverfit.com/wp/%E4%B8%8D%E5%8F%98%E4%BF%A1%E6%81%AF%E8%81%9A%E7%B1%BB%EF%BC%9A%E6%BB%A1%E8%B6%B3%E4%BD%A0%E5%AF%B9%E6%97%A0%E7%9B%91%E7%9D%A3%E6%B7%B1%E5%BA%A6%E8%81%9A%E7%B1%BB%E7%9A%84%E4%B8%80%E7%82%B9/





*延伸阅读



点击左下角阅读原文”,即可申请加入极市目标跟踪、目标检测、工业检测、人脸方向、视觉竞赛等技术交流群,更有每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流,一起来让思想之光照的更远吧~



觉得有用麻烦给个在看啦~  

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存