DInet

(1)数据:
1):随机获取5帧参考帧
2):处理这5帧连续帧,:source_frames:连续5帧的crop_moth
b)audio_list:连续5帧的每一帧对应的5帧音频mel特征
c):refs:fintune 固定参考帧,为video.refs,给这连续5帧每一帧配固定的5帧参考帧。
video.refs 为整段视频的突出表情帧,ref_desc_list = [“闭嘴”, “张嘴”, “嘟嘴”, “半张嘴”, “张大嘴”]
ref_desc_list通过当前帧与ref_normal_landmarks作相似度,计算得来。
d): refs:pretrain 随机5帧参考帧
(2)网络:
N=5
输入:1:source_img:torch.Size([N, 3, 160, 128])。 #一帧带预测嘴型的帧
2:ref_img:torch.Size([N, 15, 160, 128])。#随机参考帧
3:audio_feature:torch.Size([N, 80, 16])
输出:torch.Size([N, 3, 160, 128])
alignment encoder:将两种图片特征concat,在channel维度上拼接后,接到一个下采样16倍的小网络中,然后接一层全连接层,组成1*128维度的特征向量
adaat:空间变形,在人脸姿态检测里面有引用,在特征通道空间中进行仿射变换,【R,T,S】,实现错位图像生成,保证生成的嘴型姿态跟带预测嘴型帧的姿态一致。
在这里插入图片描述
(3)损失:
1)Perception loss;2)GAN loss. 3)Lip-sync loss.
分别对应图像特征判别器,音频特征判别器,和音唇同步模型。
输入:随机5帧参考帧reference image,随机一张待生成的mask后的原图source image,source image对应的音频
过程:1)将reference image 与source image均下采样4倍,分别得到[N,256,40,32]的特征图
2)将1)得到的2组特征图,融合对齐,得到特征图3.
3)音频提取的特征,与特征图3融合并进行仿射变换(以前在做人脸重建时会有用到),得到特征图4
4)对特征图4,进行decode,上采样4倍,得到生成的图片。
输出:fake_out
(4)后续loss:

  1. perceptionLoss
    计算fake_out与fake_out原图做一个特征金字塔计算,然后送到vgg中,分别计算图像特征,最后两个特征张量做L1Loss
    2)pixelLossL1
    计算fake_out与fake_out原图线性插值缩放一定倍数后,做L1Loss
    3)两个判别器loss
    4)mothloss
    计算fake_out嘴部分与fake_out原图嘴部分做perceptionLoss
    5)sync_loss
    生成的嘴型与对应的音频,送到syncnet中,得到音频特征和嘴型特征,然后做nn.MSELoss()
    (5)辅助网络:
    1)图片+音频判别器网络:
    比较大的一个二分类网络,用来判别生成图和原图的真假
    GAN loss=MSE Loss
    2)音视频同步网络
    通过调节表情特征系数,可以控制嘴型。
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值