只用C++和Python施展的魔法 在画纸上完成的实时动画

近日 , 捷克技术大学和Snap研究小组合作发布的论文中《使用基于少量补丁的培训进行交互式视频样式化》展现了一种全新的样式转换技术能将某种绘画风格的静态图像实时格转换为动态动画 。
只用C++和Python施展的魔法 在画纸上完成的实时动画
文章图片
样式转换技术
【只用C++和Python施展的魔法 在画纸上完成的实时动画】研究小组利用了深度学习 , 在将手写样式转换为图像或视频的过程中 , 仅仅对样式进行转换 , 内容原型的创作风格丝毫不会受到影响 。 同时 , 与此前的转换方法相比而言 , 这项技术无需借助庞大的数据集 , 甚至无需进行预训练 , 对关键帧进行的样式设置就是训练网络的唯一数据来源 。
整个实验中 , 研究人员主要利用的编程语言是C++和Python 。 对于选定的评估序列中的帧 , 研究人员计算了它们的样式化 , 在有48个NvidiaTeslaV100GPU环境下模拟3天后就完成了 。 整个实验总共抽查了大约200,000个不同设置的超参数(hyperparameters) , 并在以下区间内进行了对比实验 , Wp∈(12 , 188) , Nb∈(5 , 1000) , Nr∈(1 , 40) , α∈(0.0002 , 0.0032) , 最终发现最佳的补丁大小(optimalpatchsize)为Wp=36 。
下图比较了不同超参数设置的视觉质量 , 其中超参数优化一个很有趣的结果是 , 在左边的图像中 , 一个批次的补丁Nb=40相对较少 , 这与选择的基于补丁的训练方案相互作用 。 虽然常见的策略是尽可能扩大Nb , 以利用GPU能力 , 但在案例中 , 增加Nb实际上却只会适得其反 , 因为它将训练方案变成了全帧方案 , 往往会使网络在关键帧上过度拟合 。
只用C++和Python施展的魔法 在画纸上完成的实时动画
文章图片
中间的图像即是最佳补丁大小Wp=36 , 较小的补丁可能无法提供足够的上下文 , 较大的补丁可能会使网络对目标对象的变形 , 从而使得网络对目标对象的变形引起的外观变化的抵抗力较差 。
但在右图中 , 令人惊讶的是 , ResNet区块数Nr对质量没有明显影响 , 尽管有一个微妙的鞍点(saddlepoint) , 对学习率参数α进行实验也能发现类似的效果 。
在将所有的超参数优化后 , 研究人员发现 , 对于有效像素10%、分辨率640×640的视频序列 , 可以以每秒17帧的速度进行风格转换 。
只用C++和Python施展的魔法 在画纸上完成的实时动画
文章图片
研究人员利用了一组分辨率从350×350到960×540的视频序列对系统进行了评估 , 这些视频包含不同的视觉内容 , 如人脸、人体等 , 以及不同的艺术风格 , 如油画、粉笔画等 。
对于相对简单的序列而言 , 仅使用一个关键帧就可以进行样式转换 , 更复杂的序列则需要使用多个关键帧 。 在训练前 , 研究人员利用双侧时间滤波器(bilateraltemporalfilter)对目标序列进行了预滤波 , 当序列包含有不明确内容时 , 计算一个辅助输入层利用到了随机有色的高斯混合 , 以跟踪目标序列中的运动 。
在训练阶段 , 研究人员从所有关键帧k中随机抽取掩码Mk内的补丁 , 将它们分批反馈给网络来计算丢失和反向传播错误 , 随后在NvidiaRTX2080GPU上进行训练和推理 。 训练时间与输入补丁数量成正比 , 例如 , 对于包含掩码内所有像素的512×512关键帧 , 训练时间为5分钟 。 训练完成后 , 整个序列可以以大约每秒17帧的速度进行风格转换 。
只用C++和Python施展的魔法 在画纸上完成的实时动画
文章图片
核心创新点
当然 , 这一全新的样式转换技术也是在汲取了前辈们在这一领域的经验的 。 早在2016年《使用卷积神经网络进行图像样式转换》一文就提出了一种结合了VGG与CNN的转换技术 , 能够做到把内容与样式有效区分的同时 , 保留内容转换样式 。
2019年 , 有研究人员提出了一种机制更改视频的一个关键帧 , 并将其传输到另一个序列(整个视频)中的方法 , 这种基于补丁的输出能够得到高质量的结果输出 。 但由于它们不支持随机访问、并行处理和实时交互 , 而这些正是能够实时转换图像的技术核心 。 这一最新的样式转换技术为实现实时转换图像 , 在进行系统设计时对之前的研究进行了一定程度的参考 , 在设计滤波器时 , 他们采用了一种基于U-net的图像到图像转换框架 , 这种自定义网络架构能够保留原始风格范例的重要高频细节 。
同时 , 值得一提的 , 考虑到时间的连贯性 , 研究人员改变了网络的训练方式 , 并提出了一个优化问题 , 允许对网络的结构和超参数进行微调 , 以获得与当前最先进的风格化质量相媲美的风格化质量 , 这样的话 , 即使只有少量的训练样本也可实现目的 , 而且训练时间较短 。
只用C++和Python施展的魔法 在画纸上完成的实时动画
文章图片
想要探索更多技术细节 , 可前往论文链接:https://ondrejtexler.github.io/res/Texler20-SIG_patch-based_training_main.pdf
文章部分素材来源:大数据文摘


    推荐阅读