AnimateDiff搭配Stable diffution制作AI视频

news2024/11/18 14:32:11

话不多说,先看视频 

1. AnimateDiff的技术原理

AnimateDiff可以搭配扩散模型算法(Stable Diffusion)来生成高质量的动态视频,其中动态模型(Motion Models)用来实时跟踪人物的动作以及画面的改变。我们使用 AnimaeDiff 实现时间一致性,使用ControlNet复制参考视频的运动,然后改变不同时间点的提示prompt,打造多种场景再组合成视频。它克服了 AnimateDiff 运动不佳的弱点,并保持了较高的帧间一致性。工作流程文件执行的操作为1.将视频作为输入。2.将OpenPose预处理器应用于视频帧以提取人体姿势。3.将AnimateDiff运动模型和ControlNet Openpose 控制模型应用于每个帧。4.支持提示行进,为不同的帧指定不同的提示。5.保存最终视频。

2.软件安装

我们使用ComfyUI来搭配AnimateDiff做视频转视频的工作流,软件地址如下:ComfyUI:https://github.com/comfyanonymous/ComfyUIAnimateDiff:https://github.com/guoyww/AnimateDiff

3.ComfyUI AnimateDiff视频转视频工作流

步骤1:加载工作流程文件。直接把下面这张图拖入ComfyUI界面,它会自动载入工作流,或者下载这个工作流的JSON文件,在ComfyUI里面载入文件信息。

cd9fa8d852276e35d12a672f8adc05c8.jpeg

步骤 2:安装缺少的节点第一次载入这个工作流之后,ComfyUI可能会提示有node组件未被发现,我们需要通过ComfyUI manager安装,它会自动找到缺失的组件并下载安装(!!需要网络通畅)。

38ba7388ed0e747ce8902cd78fee02af.jpeg

efbb682a600eff97e1b39ae3006e9acd.jpeg

重新启动 ComfyUI 并单击队列提示。如果不再看到 ComfyUI 提示缺少节点,则可以继续执行下一步。步骤 3:下载checkpoint 模型下载模型DreamShaper 8。将safetensors文件放入文件夹ComfyUI > models > checkpoints中。刷新浏览器标签页。 找到节点“Load Checkpoint”。

f2bf9f1b6080c245dbd19b810b1473f9.jpeg

点击ckpt_name下拉菜单,选择dreamshaper_8模型。当然,你也可以使用不同的模型。

步骤4:选择 VAE。下载Stability AI发布的VAE 。将文件放入文件夹ComfyUI > models > vae中。刷新浏览器页面。在“加载 VAE”节点中,选择刚刚下载的文件。

49a0b3cff2d6d9bebfaefd21fda0df47.jpeg

步骤5:下载AnimateDiff动态特征模型下载mm_sd_v15_v2.ckpt,放到ComfyUI > custom_nodes > ComfyUI-AnimateDiff-Evolved > models文件夹。刷新页面在AnimateDiff Loader里,可以选择我们需要的动态特征模型

9632ebc7bc175525df4bb585cfbea860.jpeg

步骤6:选择Openpose ControlNet模型下载openpose ControlNet 模型。将文件放入ComfyUI > models > controlnet中。刷新 ComfyUI 页面。在加载 ControlNet 模型(高级)中,在下拉菜单中选择control_v11p_sd15_openpose.pth 。

1fdeb2a62e991fda9f8df0e85eccac1a.jpeg

步骤7:在加载视频(上传)节点中,单击视频并选择刚刚下载的视频。

f7ed2bcb5f20cf502087310d97735ba9.jpeg

步骤8:生成视频可以点击Queue Prompt开始生成视频了视频生成的大部分时间都集中在KSampler这个组件里,在生成过程中上面有一个进度条

4. 调优

4.1生成不同的视频。更改种子值以生成不同的视频。

76c0b3ac89e556269b3dfc1942251606.jpeg

4.2 更改提示前缀和提示行即可更改主题和背景。

bcd3cb5093b3382b66ffb03e7f4b1f65.jpeg

6333b486206f27e65a19ba449c1036e6.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1222073.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[ 云计算 | AWS ] AI 编程助手新势力 Amazon CodeWhisperer:优势功能及实用技巧

文章目录 一、Amazon CodeWhisperer 简介1.1 CodeWhisperer 是什么1.2 Amazon CodeWhisperer 是如何工作的 二、Amazon CodeWhisperer 的优势和功能2.1 Amazon CodeWhisperer 的优势2.2 Amazon CodeWhisperer 的代码功能 三、Amazon CodeWhisperer 安装3.1 安装到 IntelliJ IDE…

〖大前端 - 基础入门三大核心之JS篇㊱〗- JavaScript 的DOM节点操作

说明:该文属于 大前端全栈架构白宝书专栏,目前阶段免费,如需要项目实战或者是体系化资源,文末名片加V!作者:不渴望力量的哈士奇(哈哥),十余年工作经验, 从事过全栈研发、产品经理等工作&#xf…

股票魔法师第二阶段趋势模板选股公式,寻找上涨趋势

对于股票运行的阶段,不同的股票分析方法有着不同的划分方式。从传统的主力运作分析,可以分为吸筹、洗盘、试盘、拉升、出货五个阶段。在波浪理论中,一个完整的上升或下降周期包含8浪(其中5浪是主浪、3浪是调整浪)。在缠…

Gdevops北京站 2023年全球敏捷运维峰会-核心PPT资料下载

一、峰会简介 2023 Gdevops全球敏捷运维峰会-北京站成功举办,一众产学研界技术大佬与新锐专家,以智能为主线,就数据库、运维、架构、金融科技等领域进行了前沿技术与实践经验交流,一同畅聊AIGC、云原生、数智化转型下的新机遇。 …

【LeetCode刷题-滑动窗口】--159.至多包含两个不同字符的最长子串

159.至多包含两个不同字符的最长子串 方法:滑动窗口 定义两个指针left和right作为窗口的边界,将两个指针都设定在位置0,然后向右移动right指针,直到窗口内不超过两个不同的字符,如果某一点我们得到了3个不同的字符&am…

市县镇一体化视频会议系统

随着网络技术的飞速发展,县市各部门建成了业务专用通信网络。利用专用通信网络,省一市-县基本上都开通了局域网视频会议系统。我们在市局各科室和各县局间建成了专网跨网段的视频会议系统。连通宝视频会议系统建设方案软硬一体,可实现多点间语…

基于STM32的蓝牙低功耗(BLE)通信方案设计与实现

蓝牙低功耗(Bluetooth Low Energy,简称BLE)是一种能够在低功耗环境下实现无线通信的技术。在物联网应用中,BLE被广泛应用于传感器数据采集、健康监测设备、智能家居等领域。本文将基于STM32微控制器,设计并实现一个简单…

⑧【MySQL】数据库查询:内连接、外连接、自连接、子查询、多表查询

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 内连接、外连接、自连接、子查询、多表查询 ⑧…

汽车ECU的虚拟化技术初探(三)--U2A虚拟化辅助功能分析1

目录 1.基本概述 1.1 U2A虚拟化辅助功能 1.2 U2A虚拟化使能和资源分配 2. U2A架构概述 3. CPU运行模式 3.1 虚拟化模式 3.2 限制运行模式 3.3 权限运行模式 3.4 CPU运行模式小结 4.小结 1.基本概述 1.1 U2A虚拟化辅助功能 在汽车ECU的虚拟化技术初探(二)-CSDN博客中…

MyBatis #{} 和 ${} 的区别

前言: #{} 和 ${} 的区别是 MyBatis 中一个常见的面试题,#{} 和 ${} 是MyBatis 中获取参数的两种方式,但我们在项目中大多数使用的都是 #{} 来获取参数,那么它们两个有什么区别呢? 区别 一. #{} 采用预编译 SQL&…

鸿蒙4.0开发笔记之DevEco Studio如何使用Previewer窗口预览器(一)

一、预览器作用 DevEco Studio预览器概况在HarmonyOS应用开发过程中,通过使用预览器,可以查看应用的UI效果,方便开发者实时查看应用的运行效果,随时调整代码。 二、打开Previewer预览器 1、正常启动 打开预览器的位置在DevEco…

Docker Swarm: 容器编排的力量和优势深度解析

文章目录 Docker Swarm的核心概念1. 节点(Node)2. 服务(Service)3. 栈(Stack) 使用Docker Swarm1. 初始化Swarm2. 加入节点3. 创建服务4. 扩展和缩减服务5. 管理栈6. 管理服务更新 Docker Swarm的优势深度解…

03.webpack中hash,chunkhash和contenthash 的区别

hash、contenthash 和 chunkhash 是通过散列函数处理之后,生成的一串字符,可用于区分文件。 作用:善用文件的哈希值,解决浏览器缓存导致的资源未及时更新的问题 1.文件名不带哈希值 const path require(path) const HtmlWebpac…

DMA原理和应用

目录 1.什么是DMA 2.DMA的意义 3.DMA搬运的数据和方式 4.DMA 控制器和通道 5.DMA通道的优先级 6.DMA传输方式 7.DMA应用 实验一: 内存到内存搬运 CubeMX配置: ​编辑用到的库函数: 代码实现思路: 实验二: 内存到外设搬运 CubeMX…

html-网站菜单-点击显示导航栏

一、效果图 1.点击显示菜单栏&#xff0c;点击x号关闭&#xff1b; 2.点击一级菜单&#xff0c;展开显示二级&#xff0c;并且加号变为减号&#xff1b; 3.点击其他一级导航&#xff0c;自动收起展开的导航。 二、代码实现 <!DOCTYPE html> <html><head>&…

Apache Doris (五十四): Doris Join类型 - Bucket Shuffle Join

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录

场景交互与场景漫游-osgGA库(5)

osgGA库 osgGA库是OSG的一个附加的工具库&#xff0c;它为用户提供各种事件处理及操作处理。通过osgGA库读者可以像控制Windows窗口一样来处理各种事件 osgGA的事件处理器主要由两大部分组成&#xff0c;即事件适配器和动作适配器。osgGA:GUIEventHandler类主要提供了窗口系统的…

swin unetr的3D语义分割

基于monai库。其实我不是很喜欢这种&#xff0c;可扩展性太差了&#xff0c;除非说你想快速在自己的数据集上出结果。但是它的transform可以对3d医学图像增强操作&#xff0c;比torch的transform强一点&#xff0c;因为它的数据增强输入是&#xff08;x,y,z&#xff09;h,w,d格…

竞赛 题目:基于机器视觉opencv的手势检测 手势识别 算法 - 深度学习 卷积神经网络 opencv python

文章目录 1 简介2 传统机器视觉的手势检测2.1 轮廓检测法2.2 算法结果2.3 整体代码实现2.3.1 算法流程 3 深度学习方法做手势识别3.1 经典的卷积神经网络3.2 YOLO系列3.3 SSD3.4 实现步骤3.4.1 数据集3.4.2 图像预处理3.4.3 构建卷积神经网络结构3.4.4 实验训练过程及结果 3.5 …

FPGA基础以太网

以太网数据通信 物理层&#xff1a;网线网卡&#xff08;PHY芯片&#xff09; 数据链路层&#xff1a;Mac层(数据有效传输&#xff09; 如图所示&#xff1a;FPGA中的Mac层中的MII接口负责控制PHY芯片&#xff0c;PHY芯片通过网线与PC端进行以太网数据传输。 FPGA中&#xff…