四川建设人才网站,网站备案如何申请,上海建设工程质监站网站,仓库管理系统网站建设GitHub - Kosinkadink/ComfyUI-AnimateDiff-Evolved: Improved AnimateDiff for ComfyUI and Advanced Sampling Support
视频编码
定义: 首先#xff0c;将视频数据转换为一系列的潜变量代码(latent codes)。这是通过一个预训练的自动编码器(auto-encoder)来完成的。操作: …
GitHub - Kosinkadink/ComfyUI-AnimateDiff-Evolved: Improved AnimateDiff for ComfyUI and Advanced Sampling Support
视频编码
定义: 首先将视频数据转换为一系列的潜变量代码(latent codes)。这是通过一个预训练的自动编码器(auto-encoder)来完成的。操作: 对于每个视频帧自动编码器将其转换成一个低维的潜变量代码。这些潜变量代码捕捉了视频帧的主要特征并且在高维空间中表示视频帧的内容。
噪声添加
定义: 按照预定的扩散过程在潜变量代码上添加噪声。这一过程模拟了图像退化的过程即从清晰的图像逐渐变为噪声图像。 需要细化的部分
视频编码这一步是正确的但值得强调的是使用的是基础T2I模型如Stable Diffusion中预训练的自动编码器而不是单独训练的编码器。噪声添加这里可以补充噪声添加遵循预定义的前向扩散进度表不同时间步的噪声强度是不同的。预测噪声运动模块不是独立工作的而是作为扩展后的T2I模型的一部分。整个模型包括基础T2I部分和运动模块共同参与噪声预测过程。固定权重值得强调的是在这个阶段只有运动模块的权重是可训练的而基础T2I模型和域适配器的权重是固定的。
运动模块 的输入和输出分别是什么具体如何使用这个运动模块 运动模块的输入 形状为 (b×h×w)×c×f 的特征图其中 b: 批次大小 h, w: 空间维度高度和宽度 c: 通道数 f: 帧数时间维度位置编码用于表示每一帧在时间序列中的位置运动模块的输出 与输入形状相同的特征图但经过了时间维度上的信息交换和处理运动模块的内部处理 将输入重塑为 (b×h×w)×f×c 的形状将空间维度合并到批次维度通过自注意力机制处理时间维度上的信息输出再次重塑回原始形状如何使用运动模块 a. 模型扩展 将原始的2D T2I模型扩展为能处理3D时间空间数据的模型在适当的位置插入运动模块通常在每个分辨率级别的主要处理块之后 b. 推理过程 输入文本提示和初始噪声代表多帧逐步去噪 在每一步特征图通过扩展的T2I模型的各层当特征图通过到达运动模块时 运动模块处理时间维度上的信息输出被传递到模型的下一层这个过程重复多次直到生成最终的无噪声潜在表示最后通过解码器生成实际的视频帧 训练过程 类似于推理但包括反向传播来更新运动模块的权重使用视频数据集将视频帧编码为潜在表示添加噪声然后通过模型包括运动模块预测噪声计算预测噪声与实际噪声之间的损失并用于更新运动模块
在AnimateDiff的第三阶段训练中主要目标是使预训练的motion module能够适应新的运动模式。这一阶段被称为MotionLoRA它是一种轻量级的微调技术允许模型快速适应特定的运动效果如不同的镜头类型等而不需要大量的参考视频或长时间的训练。
第三阶段训练概述 保持第二阶段权重不变在第三阶段motion module的权重即第二阶段训练得到的权重是固定的不会被更新。这意味着前两个阶段学到的一般运动先验知识不会丢失。 引入MotionLoRA在motion module的基础上通过引入LoRA层一种低秩适配方法来进行微调。这些LoRA层被添加到motion module的自注意力层中使得模型能够学习到特定的新运动模式。 微调MotionLoRA层只对这些新增的LoRA层进行训练而不是整个motion module。这样做的好处是可以高效地学习新运动模式同时保留原有的通用运动能力。
第三阶段的具体步骤 准备少量参考视频收集20至50个具有特定运动模式的参考视频例如想要实现缩放效果的视频。 数据增强通过规则性的数据增强技术来生成更多具有所需运动模式的视频。例如为了获得缩放效果的视频可以通过逐步缩小缩放或放大缩放视频帧的裁剪区域来创建这种效果。 训练MotionLoRA层在这些参考视频上训练MotionLoRA层。训练的时间通常较短大约需要2000次迭代大约1到2小时。这使得用户能够在较低的成本下快速调整模型以适应特定的运动模式。 存储空间训练好的MotionLoRA模型额外占用大约30MB的存储空间。这不仅使得模型易于分享也降低了用户的成本负担。
结论
在第三阶段中AnimateDiff通过MotionLoRA技术使得预训练的motion module能够高效地适应新的运动模式同时保持了第二阶段训练得到的motion module权重固定不变。这样既保证了模型能够学习到通用的运动模式又能够快速地针对特定需求进行调整。