EyeGAN: Gaze-Preserving, Mask-Mediated Eye Image Synthesis

EyeGAN: Gaze-Preserving, Mask-Mediated Eye Image Synthesis

生成指定凝视方向眼球图像

本文的重点就是生成凝视指定方向的眼球图像。在作者之前已有的生成性对抗网络可以说产生了很好的生成眼球的结果。然而,控制生成图像的凝视方向已被证明是难以捉摸的。因此作者提出了基于cycleGAN的EyeGAN来生成确定凝视方向的眼睛图像。

一、摘要

具有指定注视方向的真实眼睛图像的自动合成对于多个应用领域是重要的。我们引入了EyeGAN,一种以期望的目标域的样式生成眼睛图像的算法,它继承了来自源域的图像中可用的注释。EyeGAN接受输入的三值遮罩,这些遮罩用作凝视方向的独立于域的代理。我们通过测量特定的凝视一致性指数来评估EyeGAN与竞争对手的眼睛图像合成算法的对比。此外,我们从多个实验(包括眼睛区域分割、瞳孔定位和注视方向估计)中得出的结果表明,与其他域转移算法相比,使用带有继承注释的眼睛生成图像进行网络训练具有更好的性能。

二、相关工作

1.UnityEyes

一种将大量可变眼区图像快速合成为训练数据的新方法。该方法结合了人眼区域的新型生成3D模型和实时渲染框架。该模型基于高分辨率的3D人脸扫描,并使用复杂的眼球材料和结构的实时近似,以及眼睑动画的解剖启发程序几何方法。我们表明,这些合成图像可用于估计在困难的野外场景中的凝视,即使是极端的凝视角度,或在瞳孔完全被遮挡的情况下。尽管只使用轻量级的近邻算法,也可以在野生数据集上获得具有竞争力的凝视估计结果。
可在线使用 UnityEyes 合成框架。

2.CycleGAN

CycleGAN本质上是两个镜像对称的GAN,构成了一个环形网络。
两个GAN共享两个生成器,并各自带一个判别器,即共有两个判别器和两个生成器。一个单向GAN两个loss,两个即共四个loss。

3.Pix2pix

图像处理的很多问题都是将一张输入的图片转变为一张对应的输出图片,比如灰度图、梯度图、彩色图之间的转换等。通常每一种问题都使用特定的算法(如:使用CNN来解决图像转换问题时,要根据每个问题设定一个特定的loss function 来让CNN去优化,而一般的方法都是训练CNN去缩小输入跟输出的欧氏距离,但这样通常会得到比较模糊的输出)。这些方法的本质其实都是从像素到像素的映射。于是论文在GAN的基础上提出一个通用的方法:pix2pix 来解决这一类问题。通过pix2pix来完成成对的图像转换,可以得到比较清晰的结果。


他是将图片输入U-net,再利用patchGAN进行判别,并用L1 loss来进行损失的计算。
该算法需要配对的标签图像和实际图像来进行处理,经过精细的调参之后可以获得很好的结果,但是会耗费一番功夫。

4.PatchGAN

既然GAN只用于构建高频信息,那么就不需要将整张图片输入到判别器中,让判别器对图像的每个大小为N x N的patch做真假判别就可以了。因为不同的patch之间可以认为是相互独立的。pix2pix对一张图片切割成不同的N x N大小的patch,判别器对每一个patch做真假判别,将一张图片所有patch的结果取平均作为最终的判别器输出。
一般的GAN是只需要输出一个true or fasle 的矢量,这是代表对整张图像的评价;但是PatchGAN输出的是一个N x N的矩阵,这个N x N的矩阵的每一个元素,比如a(i,j) 只有True or False 这两个选择(label 是 N x N的矩阵,每一个元素是True 或者 False),这样的结果往往是通过卷积层来达到的,因为逐次叠加的卷积层最终输出的这个N x N 的矩阵,其中的每一个元素,实际上代表着原图中的一个比较大的感受野,也就是说对应着原图中的一个Patch,因此具有这样结构以及这样输出的GAN被称之为Patch GAN。

5.Adam

1.简单直接的实施2.计算上讲究效率3.小内存要求4.不变量对梯度的对角线重新调节5.非常适合于数据和/或参数方面的问题6.适合非平稳的目标7.适用于非常稀梳梯度的问题。8.超参数具有直观的解释,通常需要很少的调谐。
简而言之,Adam使用动量和自适应学习率来加快收敛速度。
Adam与经典的随机梯度下降法是不同的。随机梯度下降保持一个单一的学习速率(称为alpha),用于所有的权重更新,并且在训练过程中学习速率不会改变。每一个网络权重(参数)都保持一个学习速率,并随着学习的展开而单独地进行调整。该方法从梯度的第一次和第二次矩的预算来计算不同参数的自适应学习速率。
具体地说:
自适应梯度算法(AdaGrad)维护一个参数的学习速率,可以提高在稀疏梯度问题上的性能(例如,自然语言和计算机视觉问题)。均方根传播(RMSProp)也维护每个参数的学习速率,根据最近的权重梯度的平均值(例如变化的速度)来调整。这意味着该算法在线上和非平稳问题上表现良好(如:噪声)。
具体地说,该算法计算了梯度和平方梯度的指数移动平均值,并且参数beta1和beta2控制了这些移动平均的衰减率。移动平均值和beta1和beta2的初始值接近1.0(推荐值),这导致了估计时间的偏差为0。这种偏差是通过第一次计算偏差估计然后再计算比可用偏差校正估计来克服的。

三、EyeGAN

目的是生成有确定眼睛凝视角度的眼睛图像。

生成器目标:(1)真实性:生成的图像必须看起来真实(就像来自目标域的实际样本);(2)一致性:生成图像的感知凝视方向和头部方向必须符合规定的值,即相关的掩码看起来与输入生成器的掩码相似。
与SimGAN或CycleGAN等类似算法不同,我们不使用合成的眼睛图像作为输入,而只使用相关的遮罩。


中间一列是由UnityEyes生成的掩膜与眼睛图像。我们将Is作为输入,利用SimGAN生成了一张新的眼睛图像;将Ms(掩膜)作为输入,利用EyeAN生成了一张新的眼睛图像。

EyeGAN,用于在期望目标域的风格中以指定的凝视方向生成眼睛图像。在域转移的框架内运作:从综合生成的数据开始,生成一幅图像,可以认为是目标域分布的样本。EyeGAN和其他竞争算法的关键区别在于,它确保了凝视方向的一致性。实验表明,三元掩模容易生成,包含足够的信息来“引导”生成过程,以产生与期望的注视方向真实的图像。不同任务和不同目标域的对比测试表明,使用EyeGAN生成的图像作为继承注释的训练数据具有更好的效果。

EyeGAN系统针对少量真实眼球图像It,利用UnityEyes工具产生的合成眼睛图像Is以及合成三元掩膜Ms作为源域数据。利用CycleGAN对Is、Ms进行一个分割器的训练,获得了一个生成掩膜的分割器,并将该分割器应用于目标域,对于真实眼睛图像It产生掩膜M(It)。利用pix2pix,对获得的掩膜生成一个眼睛图像G(M(It))。It与G(M(It))二者间取L1 loss,再利用PatchGAN进行一个图像识别。获得一个总的损失函数:

在实验中,源眼图像和掩膜都被裁剪到只包括眼睛区域,并被调整为120 × 88像素。根据提供的标识巩膜和虹膜区域边界的地标点获得三元掩膜。这样就产生了一组25,000张合成图像和掩膜。


作者又将Ms输入我们训练好的生成器,获得一个合成的眼睛图像G(Ms),并将该数据对放入源域数据中进行再一次的训练。
在迭代1中,只使用合成图像和掩模(Is, Ms)来训练分割器。在进一步的迭代中,对(G(Ms),Ms)被添加到数据集。能够看出来,分割器的效果逐渐变好。同时,作者还使用了Adam算法来优化分割器。

四.实验

1.视线方向验证

为了计算在一定角度内视线的相关情况,通过计算Ms和M(G(M(It)))(控制角度)之间的相似性概率p(C s,t),和Ms和M(G(Ms))(与之前相同角度)之间的相似性概率p(C s,s)。并做一个比较,该值被称为注视一致性指数。根据这个指数,可以知道我们的生成器所产生的眼睛图像的视线角度比其他两种方式都好。

2.眼睛区域分割


以上是巩膜虹膜分割的情况,以下是皮肤巩膜虹膜分割的情况

3.瞳孔定位


第一行二行为UnityEyes生成的眼睛图像和掩膜。最后一行为EyeGAN输入掩膜Ms对应的合成图像Is。
考虑的不同算法的瞳孔定位误差的欧氏范数的累积分布函数。

5.目光估计


表中所展示的为各算法产生的眼睛图像与所期望图像的角度偏差。由上诉角度偏差可以知道,作者提出的算法效果很好。

总结

本文介绍了一种新的算法,EyeGAN,用于在期望目标域的风格中以指定的凝视方向生成眼睛图像。与类似的技术一样,EyeGAN在域转移的框架内运作:从综合生成的数据开始,生成一幅图像,可以认为是目标域分布的样本。EyeGAN和其他竞争算法的关键区别在于,它确保了凝视方向的一致性。我们的实验表明,三元掩模容易生成,包含足够的信息来“引导”生成过程,以产生与期望的注视方向真实的图像。不同任务和不同目标域的对比测试表明,使用EyeGAN生成的图像作为继承注释的训练数据具有更好的效果。

以上就是EyeGAN的内容,在后期实验部分的许多推导都不太能够理解。
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值