怎样让一张照片中的人物走出来

雨上 趣闻 2018-12-30
  • 12

“如何把照片上的人P转身?”

这个问题像“五彩斑斓黑”一样,是令设计师们闻风丧胆的几大设计难题之一。但在搞技术的人眼里,它们不过是些细枝末节的简单功能。

华盛顿大学“照片唤醒”(Photo Wake-Up)课题研究小组对这个问题就曾给出过一个自动化的解决方案——原理很简单,通过AI识别人体各部位的轮廓,然后再用一套纹理验算公式将背部填充,让图片人物转身易如反掌。

当然,自动转身之后的背面细节看起来并不是特别精细,因为对“照片唤醒”这个课题组来说,让图片中的人物转身,只不过是那个更大目标之中的小小一步,这是远比转身复杂的——让画中的人物出来走两步。

现在,这个目标已经基本达成了:

利用这套“照片唤醒”的AI技术,电影海报中的人物:

毕加索画作里的抽象形象:

在经过一套算法的渲染之后,都可以从容地从相框中走出。

当然,这种让画中人走进“现实世界”的想法并不缺乏践行者,在这个“照片唤醒”技术之前,类似的技术也曾跟大家照过面。

2012年,一位ID为Eric Peterson的播主放出过一个概念视频,他把3D动作捕捉的骨骼结构原理应用在2D人物图像上,在考虑人物在原图覆盖部分的画面缺失填补的基础上,试图在2D画面中让人物有条理地完成某些动作。

最终的效果还不错:

思路是没问题的,但因为动作形成的原理完全依赖于2D画面的扭曲,所以真实感总是差点意思。至于空缺画面的填补问题,因为Photoshop中大家对“自动填充”功能已经非常熟悉了,所以Eric的这个小创意在当时并没有造成多大的影响力。

“照片唤醒”这套系统与Eric思路最大的区别就是,画面中的2D人物被裁剪下来之后,经过一套建模方法可以完全以3D形象被直接导出,用开发者的话说就是:

我们关键的技术贡献是构建一个与单张照片中轮廓相匹配的可视化3D模型方案。

在这个系统中,人物不同部位被“唤醒”的方式也是不同的,头部、手臂、腿部、躯干都会对原2D画面进行不同程度的扭曲,以让转换后的3D图形看起来更加自然。开头提到的,还原人物背面这种“无中生有”的转换方案就是这项技术的关键。

最后还要搭配上一些细节上的优化方案:

网格填充的优化网格填充的优化

纹理贴图的优化纹理贴图的优化

一个在各个角度都相对自然的人物就这样被真实地“唤醒”了:

与之相搭配的,是现在已经非常成熟的AR技术:

可以预见的是这套自动验算的装置成熟之后,美术馆,街边广告牌也都可以用一个非常便捷的方式让里面的人物变得生动起来,一张照片的可能性也许会因此得到很大程度的延伸。


展开全文

4 条评论

返回顶部
App内打开