深度学习:如何用几张照片制作炫酷动图,让人活跃起来

我们先试想一下,如果你是一个初入职场的娱乐小记,有幸采访到了自己的爱豆。结束后,小鹿乱撞的你正准备赶紧写篇推文大火一把,却猛然发现,由于你太激动只顾拍照却忘了录像~~~爱豆一去不复返,全都因为档期满……为了补救一下,你灵机一动,退而求其次,可以把一张张生硬的照片变成动图(Image Animation),那接下来该如何操作呢?

学者Siarohin在Neur IPS(神经信息处理系统大会)上,分享了自己的研究:

“首先我们需要生成一个视频序列,再使源图中的对象(面孔等)根据这个序列来驱动,我们称这个序列为驱动视频。这项技术框架属于无监督学习方法,所以不需要预先给数据对象打标,只需要让它在一系列描述同一类物体(如面孔、人体)的视频上被训练过,这种算法就可以广泛运用于这类对象。为了实现这一点,使用了一种自监督的学习方程,剥离了外形信息和运动信息。同时为了适应更复杂的运动,我们设计了一种表示法,它由一组与对象局部仿射变换相协同的学习关键点组成的。在目标物体动起来时,一个生成器的网络模型开始学习它的运动数据,与此同时,由将从源图片提取的外形信息和和视频里提取的运动信息相结合。这项技术框架在针对各种类物体的基准测试上取得了高分。”

为了训练,我们收集了一系列包含同类对象的大量视频序列。然后通过将单帧画面和视频中学习到的动作潜在趋势相结合,训练模型重建了一个训练视频。观察两帧由从相同的视频中提取连续画面(源和驱动),它学会将一个动作编码为特定的运动点位移(motion-specific keypoint displacement)和局部仿射变换(local affine transformations)的组合。在测试时,我们将模型应用于由源图像和驱动视频的每一帧组成的配对,从而驱动原图像。

上图简单展示了我们的方法。我们的技术框架由两个主要模块组成:运动估计模块和图像生成模块。运动估计模块的目的是预测稠密运动组合。我们假设存在一个抽象的参考系。我们独立地估计了两个转换:从参照对象到来源和从参考参照对象到驱动。这个选择允许我们独立地处理源和驱动帧并且这是很必要的,因为在测试时,模型会接收从不同视频中采样的源图像和驱动帧的组合,它们在视觉上可能非常不同。

在第一步中,通过使用以自监督方式获得的关键点学习,将一组分散的轨迹最大程度的拟合,再利用局部仿射变换对每个关键点附近的运动进行建模。与仅使用关键点位移相比,局部仿射变换允许我们对一个更大组合进行建模。第二步,密集运动点阵与局部拟合,产生精密的运动区域。此外,该算法还输出一个遮挡掩模,能计算哪些部分可以通过扭曲源图像来重建,哪些部分应该被重新绘制。最后,我们使用一个生成器来根据精密的运动来扭曲源图像,并绘制出源图像中被遮挡的部分,最后便渲染出源图像的对应动图。

这个方法怎么样,你学会了么?你还有更好的方法让你的爱豆。抑或是你的朋友脸动起来吗?欢迎和我们一起来讨论,下方留言,和我们一起交流提升。

原创文章 39 获赞 5 访问量 6089

猜你喜欢

转载自blog.csdn.net/kgc_cn/article/details/104991309
今日推荐