微软发表Pix2Gif,最佳表情包生成器,单张图像生成逼真GIF
项目主页:https://hiteshk03.github.io/Pix2Gif/
论文地址:https://arxiv.org/pdf/2403.04634
Github地址:
摘要
为了准备模型训练,我们从TGIF视频字幕数据集中提取连贯的图像帧,对数据进行了细致的分级,该数据集提供了关于受试者时间变化的丰富信息。大量的定性和定量实验证明了该模型的有效性,它不仅捕获了来自文本的语义提示,而且还捕获了来自运动引导的空间提示。
简介
方法
数据集
本文使用了Tumblr GIF(TGIF)数据集,该数据集主要由以句子或标题描述的动画GIF组成。通过从所有GIF中提取帧来进行筛选,然后计算给定GIF的所有可能帧对之间的光流。每个GIF提取的帧数范围从14到572,平均约为41帧。选择了光流范围为2-20,以捕捉较小但显著的运动,并排除了由于相机运动或场景转换引起的剧烈变化。
Pix2Gif
本模型在InstructPix2Pix的基础上引入了新的基于运动的变形模块。模型输入包括图像、文本指令和运动幅度,经过CLIP模型处理后作为条件输入,通过最小化损失函数进行训练。模型的创新点在于引入了运动变形模块,可以更好地处理时间编辑问题。
运动嵌入层
为了让模型更好地关注运动输入,作者引入了一个简单的嵌入层M,将运动输入转换为整数,并从学习的嵌入矩阵中选择一个嵌入向量。这个向量与自身重复并与标题嵌入cT相结合,提供给变形模块W和LDM的条件输入cL。这种方法可以避免模型过度关注标题中的单个标记,从而提高生成视频帧的质量。
变形模块
Pix2Gif的主要组成部分是变形模块,它由FlowNet和WarpNet两个网络组成。FlowNet通过条件cL生成流特征图,WarpNet将流特征图和源潜在图像处理成Fischer图。F Net的架构类似于UNet,生成一个固定通道的输出。这种方法在潜在空间中更高效地学习转换。
损失函数
我们的模型包含了两种不同类型的损失。第一种是标准的L2损失。第二种损失是感知损失,通过比较图像条件E(ci)和变形图像zw的潜在特征计算。为了实现感知损失,使用了预训练的VGG网络,但修改了其输入层以容纳4个通道而不是标准的3个通道。这种修改是通过平均前三个通道的权重并使用该平均值初始化第四个通道来实现的。给定两种潜在特征映射,可以使用预训练的改进VGG网络计算感知损失lp。感知损失lp定义为:
VGG网络中的每一层k捕获图像中不同层次的抽象,感知损失确保这些抽象对两个图像是相似的。这种损失的目的是确保变形的图像保留高级特征,如边缘、纹理和对象类型,从而使图像在感知和语义上更接近人眼。除了像素级的保真度,它还有助于保持源图像的整体结构。感知损失考虑了重建图像和原始图像之间的感知和语义差异,而不仅仅是像素级差异。
我们的目标的总损失函数,是通过两个单独损失的加权和来计算的。这两种损失一起提供了一个整体框架,通过确保像素级精度,保留高级特征和平滑的运动过渡来训练我们的模型。
实验
设置
数据集。使用Tumblr GIF(TGIF)数据集进行训练和验证,评估模型性能使用MSRVTT和UCF-101数据集。
实现细节。模型使用Stable Diffusion v1.5和improved ft-MSE autoencoder的EMA权重进行初始化,使用256x256分辨率训练7个epoch,使用16个V100 GPU进行25k步的训练。
评估指标。使用Frechet Video Distance(FVD)、CLIP Similarity(CLIPSim)和Perceptual Input Conformity(PIC)作为评估指标。零样本生成性能评估使用I2VGen-XL和DynamiCrafter进行评估。
结果
Pix2Gif与I2VGen-XL和DynamiCrafter进行了比较。通过定性和定量比较,发现I2VGen-XL和DynamiCrafter在处理图像时存在一些问题,而Pix2Gif能够准确地保留图像细节并成功地生成相应的动画。