【前沿技术】超级稳定的视频卡通画方案

Git clone项目到本地

git clone git@github.com:Artiprocher/DiffSynth-Studio.git

基本原理

使用了stable diffusion稳定扩散模型和controlnet来控制图像生成的轮廓,animatediff控制视频帧与帧之间的连续性,最后使用RIFE技术平滑整个生成后的视频。

创建虚拟环境并安装相关依赖

cd DiffSynth-Studio conda env create -f environment.yml

解释一下environment.yml文件内容,如果以后自己想一键构建虚拟环境并安装相关依赖,可以参考此教程

 
  • name: 指定创建的 Conda 环境的名称。

  • channels: 指定 Conda 频道,即从哪些地方获取软件包。defaults 是默认的 Conda 频道,你还可以添加其他频道。

  • dependencies: 列出项目所需的依赖包。你可以指定 Python 版本以及其他需要的包。如果使用 conda-forge 频道中的软件包,可以使用 conda-forge:: 前缀。

  • 可以在 dependencies 下使用 pip 来指定使用 Pip 安装的软件包,例如:pip: - some_package

创建 Conda 环境的步骤:

  1. 将上述内容保存到一个名为 environment.yml 的文件中。

  2. 打开终端或命令提示符,导航到包含 environment.yml 文件的目录。

  3. 运行以下命令创建 Conda 环境:

conda env create -f environment.yml

激活虚拟环境

conda activate DiffSynthStudio

运行项目

下载模型到本地models目录

# `models/stable_diffusion/flat2DAnimerge_v45Sharp.safetensors`: [link](https://civitai.com/api/download/models/266360?type=Model&format=SafeTensor&size=pruned&fp=fp16) 
# `models/AnimateDiff/mm_sd_v15_v2.ckpt`: [link](https://huggingface.co/guoyww/animatediff/resolve/main/mm_sd_v15_v2.ckpt) 
# `models/ControlNet/control_v11p_sd15_lineart.pth`: [link](https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_lineart.pth) 
# `models/ControlNet/control_v11f1e_sd15_tile.pth`: [link](https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11f1e_sd15_tile.pth) 
# `models/Annotators/sk_model.pth`: [link](https://huggingface.co/lllyasviel/Annotators/resolve/main/sk_model.pth) 
# `models/Annotators/sk_model2.pth`: [link](https://huggingface.co/lllyasviel/Annotators/resolve/main/sk_model2.pth) 
# `models/textual_inversion/verybadimagenegative_v1.3.pt`: [link](https://civitai.com/api/download/models/25820?type=Model&format=PickleTensor&size=full&fp=fp16) 
# `models/RIFE/flownet.pkl`: [link](https://drive.google.com/file/d/1APIzVeI-4ZZCEuIRE1m6WYfSCaOsi_7_/view?usp=sharing)

运行examples目录下的sd_toon_shading.py

python sd_toon_shading.py

结果展示

原视频

写实的跳舞视频,在网盘里,不方便展示。

风格化后的视频

 15b416d89231469cbee6e7cf782ce9e3.gif

代码及模型地址

链接:http:// https://pan.baidu.com/s/1K4poXHiOCrzfUArMjbLkFA

提取码: e2r4

参考链接:

bilibili介绍网址

github项目地址

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NI基于PC的测量和控制系统

基于PC的测量和控制系统为工程师提供了电气和物理测量功能,使其能够以可自定义、准确且经济实惠的方式进行台式测量. 什么是基于PC的测量和控制系统? 在基于PC的测量和控制系统中,NI硬件产品通过USB或以太网连接到PC或笔记本电脑。这种系统具…

Mediant approximation trick

近似值的一个取值技巧 如果知道一个数值变量的上限和下限&#xff0c;那么有一种快速的方法&#xff0c;快速获取该变量更准确的近似值。 比如&#xff0c;已知变量e的大小范围是19/7 < e < 87/32&#xff0c;就可以快速得到它的近似值。 Suppose you are trying to ap…

RIS 辅助无线网络:基于模型、启发式和机器学习优化方法

目录 abstractintroduction相关研究BACKGROUND AND PROBLEM FORMULATIONS FOR OPTIMIZING RIS-AIDED WIRELESS NETWORKSA 优化RIS-AIDED无线网络的背景和问题公式RIS操作原则&#xff1a;RIS控制&#xff1a;RIS部署 B 总速率/容量最大化C 功率最小化D 能源效率最大化E 用户公平…

JavaScript基础(24)_dom查询练习(一)

<!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><link rel"stylesheet" href"../browser_default_style/reset.css"><title>dom查询练习一</title><style>.text {widt…

【STM32】PWR电源控制

1 PWR简介 PWR&#xff08;Power Control&#xff09;电源控制 PWR负责管理STM32内部的电源供电部分&#xff0c;可以实现可编程电压监测器和低功耗模式的功能 可编程电压监测器&#xff08;PVD&#xff09;可以监控VDD电源电压&#xff0c;当VDD下降到PVD阀值以下或上升到P…

在 Linux 中开启 Flask 项目持续运行

在 Linux 中开启 Flask 项目持续运行 在部署 Flask 项目时&#xff0c;情况往往并不是那么理想。默认情况下&#xff0c;关闭 SSH 终端后&#xff0c;Flask 服务就停止了。这时&#xff0c;您需要找到一种方法在 Linux 服务器上实现持续运行 Flask 项目&#xff0c;并在服务器…

Redis内存策略:「过期Key删除策略」+ 「内存淘汰策略」

Redis之所以性能强&#xff0c;最主要的原因就是基于内存存储&#xff0c;然而单节点的Redis其内存大小不宜过大&#xff0c;否则会影响持久化或主从同步的性能。 Redis内存满了&#xff0c;会发生什么&#xff1f; 在Redis的运行内存达到了某个阈值&#xff0c;就会触发内存…

olap/spark-tungsten:codegen

15721这一章没什么好说的&#xff0c;不再贴课程内容了。codegen和simd在工业界一般只会选一种实现。比如phothon之前用codegen&#xff0c;然后改成了向量化引擎。一般gen的都是weld IR/LLVM IR/当前语言&#xff0c;gen成C的也要检查是不是有本地预编译版本&#xff0c;要不没…

实战环境搭建-linux下安装mysql

下载wget命令 yum -y install wget 在线下载mysql安装包 wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 安装的过程中有可能出现秘钥过期,如下图: 解决办法: rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 再次安装,如下…

leetcode动态规划问题总结 Python

目录 一、基础理论 二、例题 1. 青蛙跳台阶 2. 解密数字 3. 最长不含重复字符的子字符串 4. 连续子数组的最大和 5. 最长递增子序列 6. 最长回文字符串 7. 机器人路径条数 8. 礼物的最大价值 一、基础理论 动态规划其实是一种空间换时间的基于历史数据的递推算法&…

【airsim】两分钟,用python脚本获取虚拟数据集

现有的教程在配置基于python的airsim环境过程中&#xff0c;都要求执行完整的编译步骤。然而&#xff0c;在linux和windows上的编译过程中会遇到诸多问题&#xff0c;大概需要半天左右时间。 如果你只是想采集一些数据&#xff0c;测试一下虚拟数据的效果&#xff0c;那么解决…

【分布式】分布式链路跟踪技术

为什么需要分布式链路追踪 提到分布式链路追踪&#xff0c;我们要先提到微服务。相信很多人都接触过微服务。微服务是一种开发软件的架构和组织方法&#xff0c;它侧重将服务解耦&#xff0c;服务之间通过API通信。使应用程序更易于扩展和更快地开发&#xff0c;从而加速新功能…