前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CVPR2023 | 扩散视频自编码器:通过解缠视频编码实现时间一致的人脸视频编辑

CVPR2023 | 扩散视频自编码器:通过解缠视频编码实现时间一致的人脸视频编辑

作者头像
用户1324186
发布2024-01-17 18:39:43
3530
发布2024-01-17 18:39:43
举报
文章被收录于专栏:媒矿工厂

题目: Diffusion Video Autoencoders: Toward Temporally Consistent Face Video Editing via Disentangled Video Encoding 作者: Gyeongman Kim, Hajin Shim, Hyunsu Kim, Yunjey Choi, Junho Kim, Eunho Yang 论文地址: https://ieeexplore.ieee.org/document/10203369 来源:CVPR2023 内容整理:周楚骎 受最近的人脸图像编辑方法的启发,一些研究提出将这些方法扩展到人脸视频编辑任务中。这里的主要挑战之一是编辑后视频帧之间的时间一致性,这个问题仍然没有得到很好的解决。为此,本文提出了一种新的基于扩散自编码器的人脸视频编辑框架,该框架可以成功地从给定的视频中提取身份和运动的分解特征----这是首次用于人脸视频编辑模型。这种建模能够通过简单地将时间不变的特征修改到期望的方向来编辑视频,以实现时间一致性。本文模型的另一个独特的优点是,由于本文的模型是基于扩散模型的,因此它可以同时进行重建或编辑,并且与现有的基于GAN的方法不同,它对困难的人脸视频(例如,遮挡面孔)的情况具有鲁棒性。

目录

  • 简介
  • 方法
    • 解缠视频编码
    • 视频编辑框架
  • 实验
    • 图像重建
    • 时间一致性
    • 困难人脸视频编辑
    • 分解特征分析
  • 总结

简介

改变人脸的各种属性,如发色、性别、眼镜等,是计算机视觉中的标准任务之一。在给定的人脸图像中,人脸编辑由于其各种应用和娱乐性而不断受到关注。特别地,随着最近生成对抗网络( Generative Adversarial Network, GAN)模型的进步,我们可以简单地通过操作给定图像的潜在特征来完成这一任务。此外,最近,许多基于扩散概率模型( Diffusion Probabilistic Model, DPM )的人脸图像编辑方法也被提出,这些方法显示出高质量和灵活的操作性能。

自然地,图像编辑方法,通过引入视频的时间轴,被拓展用于视频编辑。现在,给定一张人脸的真实视频,这些研究试图在保持其他特征和运动不变的情况下操纵一些目标人脸属性。他们基本上都是通过现成的基于StyleGAN的图像编辑技术独立编辑视频的每一帧。尽管StyleGAN在该任务中具有高分辨率图像生成能力和高度解缠的语义表示空间等优点,但基于GAN的编辑方法的一个缺点是预训练的生成器无法完美恢复图像。特别地,如果给定图像中的人脸被一些物体异常修饰或遮挡,则固定的生成器无法合成。为了实现完美重建,有几种方法被提出,以在一幅或几幅目标图像上进一步调优GAN反演的生成器,但计算量较大。而且,微调后GAN原有的可编辑性无法保证。

针对基于GAN的编辑方法重建质量不理想的问题,本文提出了一种新的基于扩散模型的人脸视频编辑方法。正如最近提出的扩散自编码器( DiffAE )所做的那样,得益于与输入空间大小相同的表达性潜在空间,本文的模型学习到了一个具有语义意义的潜在空间,可以完美地恢复原始图像,并且是直接可编辑的。

基于以上动机,本文提出了一种新的针对人脸视频的视频编辑框架,称为扩散视频自编码器,解决了先前工作的局限性。总之,本文的贡献有四个方面:

  • 在扩散自编码器的基础上设计了扩散视频自编码器,将视频分解为单个时不变和每帧时变特征,用于时间一致性编辑;
  • 基于扩散视频自编码器的分解表示,人脸视频编辑可以通过只编辑单一的时不变身份特征,并将其与剩余的原始特征一起解码来进行;
  • 由于扩散模型具有近乎完美的重建能力,本文的框架可以用于编辑困难的情况,例如人脸被一些物体部分遮挡。
  • 除了现有的预定义属性编辑方法,本文针对扩散视频自编码器的中间生成产品,提出了一种基于局部方向CLIP损失的基于文本的身份编辑方法。

方法

解缠视频编码

为了对N帧的视频

[ x_0^{(n)}]_{n=1}^N

进行编码,本文将人脸视频的特征分为:时不变特征(人的身份信息),每帧的时变特征(运动信息和背景信息)。在这三者中,与人脸相关的身份信息和运动信息适合被投影到低维空间以提取高层表示。相比较而言,背景在任意细节上显示出很高的方差,并且通过对人脸区域的裁剪和对齐,背景随头部运动的变化更大。因此,将背景信息编码到高层语义空间可能非常困难。于是,在高层语义空间

z^{(n)}_{face}

中编码身份和运动特征,其中结合了视频的身份特征

z_{id}

和每帧的运动特征

z^{(n)}_{lnd}

,而背景特征编码在噪声图

x^{(n)}_T

中(如下图所示)。由于

z_{id}

是时不变的,且在视频的所有帧中共享,因此将

z_{id}

表示为不带帧索引上标的形式。

图 1 视频编码与编辑流程

为了实现这种分解,模型由两个分离的语义编码器(一个身份编码器

E_{id}

和一个地标编码器

E_{lnd}

)和一个用于扩散建模的条件噪声估计器

\epsilon_\theta

组成。两个编码器编码后的特征(

z_{id}

,

z^{(n)}_{lnd}

)会进行拼接,并通过一个MLP最终得到一个与人脸相关的特征

z^{(n)}_{face}

接下来,为了获得编码的噪声映射

x^{(n)}_T

,我们以

z^{(n)}_{face}

为条件,运行了DDIM的确定性的前向过程。由于噪声图

x^{(n)}_T

是与图像大小相同的空间变量,因此期望可以在不损失空间信息的情况下,背景中的信息被编码进了噪声图中。然后,编码后的特征(

x^{(n)}_T

z^{(n)}_{face}

)可以通过以确定性方式运行条件DDIM的生成式逆过程重建得到原始帧:

p_{\theta}\left(x_{0: T} \mid z_{\text {face }}\right)=p\left(x_{T}\right) \prod_{t=1}^{T} p_{\theta}\left(x_{t-1} \mid x_{t}, z_{\text {face }}\right) \quad (1)

式中:m为原始图像x0中某个人脸区域的分割掩膜。因此,

x_t

中的噪声对人脸区域的影响会降低,

z_{face}

将负责生成的人脸特征。扩散视频自编码器的最终损失如下:

L_{dva} = L_{simple} + L_{reg}\quad (2)

为了获得与运动无关的身份特征,本文选择使用一个预训练的模型进行身份检测,其名为ArcFace。ArcFace被训练用于对人脸图像中的身份进行分类,而不管人脸的姿势或表情,因此本文希望它能提供所需要的解纠缠属性。然而,当通过预训练的身份编码器为每一帧提取身份特征时,由于某些原因(例如,过度的侧视姿势),某些帧可能具有部分身份特征,因此每一帧的特征可能略有不同。为了缓解这个问题,本文在推断阶段对所有帧的身份特征通过

z^{(n)}_{id} = E_{id}(x^{(n)}_0)

进行平均。类似地,本文通过Pytorch预训练的特征点检测模型获得每帧的运动信息,该模型输出人脸特征点的位置。一些研究已经表明,通过预训练的编码器提取特征而不需要学习就可以具有足够的解缠性质。因此,扩散视频自编码器通过预训练的编码器提取图像的身份特征和地标特征,并通过一个额外的可学习的MLP将它们映射到高层语义空间用于人脸特征。

接下来,将解释如何训练本文模型的可学习部分。下图总结了本文的训练过程。

图 2 训练目标

为简便起见,从现在起,我们去掉索引的时间上标。本文的目标由两部分组成。第一种是DDPM损失的简单版本,其中

z_{face}

是输入图像

x_0

的编码后的高级特征,它鼓励图像的有用信息被很好地包含在语义潜在表征

z_{face}

中,并被

\epsilon_\theta

用于去噪。:

\mathcal{L}_{\text {simple }}=\mathbb{E}_{x_{0} \sim q\left(x_{0}\right), \epsilon_{t} \sim \mathcal{N}(0, I), t}\left\|\epsilon_{\theta}\left(x_{t}, t, z_{\text {face }}\right)-\epsilon_{t}\right\|_{1} \quad (3)

其次,本文设计了一个正则化损失来阻碍人脸信息(身份和运动)泄漏到噪声图

x_T

中,尽可能包含在

z_{face}

中,以便背景和人脸信息之间的清晰分解。如果在

z_{face}

中丢失了部分人脸信息,那么丢失的信息将无意中保留在潜在的噪声

x_T

中。为了避免这种情况,本文对两个不同的高斯噪声

\epsilon_1

\epsilon_2

进行采样,分别得到不同的噪声样本

x_{t,1}

x_{t,2}

。然后,我们最小化估计的结果图像不包括背景部分的

f_{\theta,1}

f_{\theta,2}

之间的差异:

\mathcal{L}_{\mathrm{reg}}=\mathbb{E}_{x_0\sim q(x_0),\epsilon_1,\epsilon_2\sim\mathcal{N}(0,I),t}\left\|f_{\theta,1}\odot m-f_{\theta,2}\odot m\right\|_1 \quad (4)

式中:m为原始图像

x_0

中某个人脸区域的分割掩膜。因此,

x_t

中的噪声对人脸区域的影响会降低,

z_face

将负责生成人脸特征。扩散视频自编码器的最终损失如下:

L_{dva} = L_{simple} + L_{reg}\quad (5)

视频编辑框架

现在用本文的扩散视频自动编码器来描述本文的视频编辑框架。首先,将所有视频帧

[I_n]_{n=1}^N

对齐并裁剪为感兴趣的人脸区域。然后使用本文的扩散视频自编码器将裁剪后的帧

[x_0^{(n)}]_{n=1}^N

编码为潜在特征。为了提取视频的代表性身份特征,将每一帧的身份特征平均为

z_{\mathrm{id,rep}}=\frac1N\sum_{n=1}^N(z_{\mathrm{id}}^{(n)})\quad (6)

其中

z_{id}^{(n)}=E_{id}(x_0^(n))

。类似地,计算每帧的地标特征

z_{lnd}^{(n)}=E_{lnd}(x_0^(n))

从而最终获得每帧人脸特征:

z_{face}^{(n)}=MLP(z_{id,rep},z_{lnd}^{(n)})\quad (7)

然后,利用DDIM前向过程计算

x^{(n)}_T

。此后,操纵通过使用预训练的身份空间线性属性分类器或基于文本的优化编辑

z_{id.rep}

z_{id,rep}^{edit}

。然后利用

z_{id,rep}^{edit}, x_{T}^{(n)}

通过条件反向过程生成修改后的帧

\hat x_0^{(n),edit}

。之后,与之前的所有工作一样,将编辑框架的面部分粘贴到原始框架的相应区域,以创建一个干净的最终结果。对于这个过程,本文使用预训练的分割网络分割人脸区域。下面,我们针对本文的视频编辑框架探讨两种编辑方法。

基于分类器的编辑

首先,与DiffAE一样,本文在CelebA-HQ's上为每个属性

attr

训练一个线性分类器

C_{attr}(z_{id}) = sigmoid ( w^T_{attr}z_{id} )

,其属性标注在身份特征空间中。为了改变

attr

,我们将身份特征

z_{id}

改变为

l_2Norm( z_{id} + sw_{attr})

,其中引入了一个尺度超参数

s

基于CLIP的编辑

由于预训练的分类器只允许对几个预定义的属性进行编辑,因此我们额外设计了CLIP指导的身份特征优化方法。定向CLIP损失要求两幅图像分别对应一个中性文本和一个目标文本。这意味着我们需要使用我们的扩散模型来合成图像,这需要花费大量的时间和完整的生成过程。因此,为了减少计算成本,我们使用大幅减少的步数

S(\ll T)

进行图像采样。换句话说,我们考虑时间步骤

t_1,t_2,...,t_S

,其中

0 = t_0 < t_1 < ... < t_S\leq T

,对T进行均匀拆分。然后,我们从给定的图像

x_0

计算

x_{t_S}

,通过前向过程的S个步骤。通过从

x_{t_S}

开始的连续的反向步骤,对每个时间

t_s

我们恢复了

\hat x_{t_s}

。同时,

x^{edit}_{t_s}

\hat x_{t_{s + 1}}

进行单反向步骤获得。最后,我们最小化中间图像

\hat x_{t_{s}}

x^{edit}_{t_s}

(这两者仍然是有噪声的)之间的定向CLIP损失。

图 3 噪声CLIP损失的计算过程

实验

本文在VoxCeleb1数据集的77294个视频上训练了扩散视频自编码器。作为预处理,与FFHQ数据集一样,对视频帧进行对齐和裁剪。接下来,将它们的大小调整为

256^2

。对于噪声估计器

\epsilon_\theta

,采用改进的UNet,训练100万步的扩散视频自编码器,批处理大小为16。

图像重建

对于视频编辑而言,必须具备从编码视频中重构出原始视频的能力。否则,我们甚至在编辑视频之前就会丢失原来的视频。为了定量地比较这种能力,我们在VoxCeleb1测试集中随机选择的20个视频上测量了重建SSIM,MS-SSIM,LPIPS 和MSE。作为基准,本文将模型与Yao *et al.*和Tzaban *et al.*分别使用的基于GAN的反演方法e4e和PTI 进行了比较。由于基于StyleGAN的方法处理的图像分辨率较高,大小为

1024^2

,为了对比,本文将重建结果调整为

256^2

。对于我们的方法,本文通过改变扩散步数T来观察计算成本和图像质量权衡。本文的T = 100的扩散视频自编码器显示出最好的重建能力,并且仅T = 20时仍然优于的e4e。

表 1 定量重建结果

时间一致性

本文对时间一致性进行了定量评估。虽然视频的时间一致性没有完美的度量标准,但TL - ID和TG - ID 分别表示相邻帧之间和所有帧之间的身份相对于原始身份的局部一致性和全局一致性。这些度量可以被解释为当它们的值接近于1时与原始的是一致的。我们强调,我们大大提高了全局一致性。Xu等人的TL - ID大于1,说因为编辑结果的运动收缩,使得相邻帧之间的距离比原来更近。

表 2 时间一致性定量的结果

困难人脸视频编辑

由于扩散模型的可重构性,编辑基于GAN的方法编辑难以反演的困难视频成为可能。如下图所示,与其他方法不同,本文的方法能够有效地重建和编辑给定图像。

图 4 困难人脸视频编辑

分解特征分析

为了证明扩散视频自编码器对特征的分解是否充分,本文通过改变分解特征的每个元素来检查合成图像。为此,本文对两个不同视频的帧进行编码,然后用随机噪声生成样本或将各自的元素互相交换在。当用高斯噪声来代替原始噪声隐层

x_T

来解码语义隐层

z_{face}

时,它具有与原始噪声隐层不同的模糊背景,同时身份和头部姿态得到了很大程度的保留。这个结果暗示了

x_T

只包含了我们预期的背景信息。此外,生成的具有切换身份、运动和背景特征的图像证实了特征的适当分解和。

图 5

总结

为了解决人脸视频编辑中的时间一致性问题,本文提出了一种新的框架,使用新设计的视频扩散自编码器,以解耦的方式编码身份、运动和背景信息,并在编辑身份特征后进行解码。本文的框架最可贵的优势在于,通过解缠可以搜索想要的编辑方向,然后通过移动具有代表性的视频身份特征来编辑剩余的具有时间一致性的帧。此外,利用扩散模型在重建方面优于GAN的优势,可以可靠地编辑困难人脸视频。最后,本文探索了基于CLIP损失的语义身份特征在文本视频中的优化。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-01-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 媒矿工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 方法
    • 解缠视频编码
      • 视频编辑框架
      • 实验
        • 图像重建
          • 时间一致性
            • 困难人脸视频编辑
              • 分解特征分析
              • 总结
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档