谷歌大脑工程师:Snapchat性别交换滤镜的技术秘笈( 六 )

但这确实引发了很多问题:

他们训练的图像转换器真的是无需成对图像的吗?如果是真的 , 这将极其令人震惊 , 鉴于CycleGAN是很多问题 , 甚至有可能根本就做不了这件事 。 那么我敢打赌他们有一个不成对的对齐目标 , 这个目标是由有限的真实成对数据集来进行规范 , 例如男/女兄弟姐妹的成对图像 , 甚至是有一些数据是手工设计的性别转换结果 , 可以作为数据增强使用(例如 , 使下颌轮廓更圆的效果可以在没有机器学习的情况下完成) 。

头发和面部的变换似乎是各自独立合成的 , 因为它们占据不同的图层(或者可能是一起合成的 , 并在渲染之前分割成不同的图层) 。 这也是我第一次看到GANs被用来渲染alpha通道 。 我有点怀疑头发是不是真的由GAN产生 。 一方面 , 显然有一些平滑的功能 , 它可以根据遮挡物体的位置切换高光和头发颜色 , 这表明颜色可能部分是从数据中习得的 。 另一方面 , 头发非常稳定 , 我很难相信它完全是用GAN发生器合成的 。 我看过一些其他东亚男性用类似发型换脸的例子 , 这表明可能存在一个大型的haridos模板库(用一些机器学习模型进行了改进) 。

Snap的ML工程师如何知道 , CycleGAN在这么大的数据集上训练以后到底收敛没有?

只有如此有限的计算资源 , 他们是怎么把这种水平的神经网络运行起来的?它们动态生成的图像分辨率是多少?

如果它确实是一个CycleGAN , 那么将男性滤镜应用于我的女性滤镜图像的时候应该恢复成原始图像才对 , 对吗?

如上面动图所示 , 这张照片的比例基本不变 , 但当我们把它放大得非常近时 , 这张脸确实更像是我的脸 。 我猜想在将标准的人脸图像输入神经网络之前 , 会有一个预处理步骤对其进行裁剪和大小调整 。


推荐阅读