❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
🎥 「视频剪辑师集体震惊!快手把AI变成「时空橡皮擦」:画条线就让云朵倒流、汽车飞天」
大家好,我是蚝油菜花。当别人还在用AI生成15秒短视频时,快手联合浙大实验室直接改写了视频创作规则书——
你是否经历过这些崩溃瞬间?
- ✂️ 想调整视频里汽车行驶路线,却要重拍整个场景
- 🎞️ 多物体运动不同步,手动K帧到天亮
- 🌆 背景僵硬如贴图,毫无自然动态效果...
这就是 DragAnything 要终结的时代!这个基于Stable Video Diffusion的框架,只需拖动物体画轨迹:
- ✅ 前景角色跳街舞,背景霓虹自动流动
- ✅ 多物体独立控制,汽车转弯时飞鸟同步变向
- ✅ 相机运镜智能跟随,商业级大片5分钟生成
接下来我们将深度解析:如何用2D高斯分布+实体表征技术,实现「所拖即所得」的次世代创作?(文末含Colab实战教程)
🚀 快速阅读
DragAnything 是一种基于实体表示的可控视频生成方法,能够实现对视频中任意物体的精确运动控制。
- 核心功能:支持前景、背景及相机运动的灵活控制,生成高质量视频内容。
- 技术原理:利用扩散模型的潜在特征表示视频中的每个实体,结合用户绘制的轨迹进行运动控制。
DragAnything 是什么
DragAnything 是由快手联合浙江大学和新加坡国立大学 Show Lab 推出的一种基于实体表示的可控视频生成方法。它通过简单的轨迹输入,实现了对视频中任意物体的精确运动控制。DragAnything 克服了传统方法中单纯拖动像素点无法精确控制物体运动的局限性,提供了用户友好的交互方式,支持前景、背景及相机运动的灵活控制,在 FID、FVD 和用户研究等评估指标上达到了新的最佳性能。
DragAnything 的核心在于其创新的实体表示方法,能够从扩散模型的潜在特征中提取语义信息表征视频中的每个物体,将物体的语义特征与运动轨迹相结合,实现精确的实体级运动控制。这种方法不仅适用于前景物体,还能对背景和相机运动进行控制,大大提升了视频生成的质量和灵活性。
DragAnything 的主要功能
- 实体级运动控制:对视频中的任何实体(包括前景和背景)进行精确的运动控制,不仅仅是像素级别的操作。
- 多实体独立控制:支持同时对多个物体进行独立的运动控制,每个物体根据用户定义的轨迹进行不同的运动。
- 用户友好的交互方式:用户基于简单的交互(如选择区域并拖动)实现复杂的运动控制,无需复杂的输入信号(如分割掩码或深度图)。
- 相机运动控制:除控制视频中的物体外,DragAnything 还能实现相机的运动控制,如缩放和平移。
- 高质量视频生成:在保持运动控制精度的同时,生成高质量的视频内容,适用于多种应用场景。
DragAnything 的技术原理
- 实体表示:推出新的实体表示方法,从扩散模型的潜在特征中提取语义信息表征视频中的每个物体。将物体的语义特征与运动轨迹相结合,实现精确的实体级运动控制。
- 2D 高斯表示:引入 2D 高斯表示,基于高斯分布对物体的中心区域赋予更高的权重,减少边缘像素的影响,实现更自然的运动控制。
- 扩散模型:基于扩散模型架构(如 Stable Video Diffusion),用强大的生成能力和去噪能力生成高质量的视频内容。扩散模型基于逐步去除噪声重建视频帧,结合用户输入的运动轨迹和实体表示。
- 轨迹引导的运动控制:用户基于绘制简单的轨迹定义物体的运动路径,DragAnything 将轨迹与实体表示相结合,生成符合用户意图的视频内容,避免直接操作像素点的局限性,实现更自然和精确的运动控制。
- 损失函数与优化:在训练阶段,用带有掩码的均方误差(MSE)损失函数,专注于优化用户指定区域的运动控制,保持其他区域的生成质量。
如何运行 DragAnything
1. 安装依赖
git clone https://github.com/Showlab/DragAnything.git
cd DragAnything
conda create -n DragAnything python=3.8
conda activate DragAnything
pip install -r requirements.txt
2. 准备数据集
下载 VIPSeg 和 Youtube-VOS 到 ./data
目录。
3. 准备运动轨迹注释
你可以使用预处理的注释文件,或者使用 Co-Track 自己生成运动轨迹注释文件。
cd ./utils/co-tracker
pip install -e .
pip install matplotlib flow_vis tqdm tensorboard
mkdir -p checkpoints
cd checkpoints
wget https://huggingface.co/facebook/cotracker/resolve/main/cotracker2.pth
cd ..
# 修改对应的 video_path, ann_path, save_path 后运行
Generate_Trajectory_for_VIPSeg.sh
4. 可视化轨迹
cd .utils/
python vis_trajectory.py
5. 准备预训练模型
mkdir -p utils/pretrained_models
cd utils/pretrained_models
# 下载 ChilloutMix 模型
git-lfs clone https://huggingface.co/windwhinny/chilloutmix.git
# 下载 DragAnything 控制网络模型
mkdir -p model_out/DragAnything
cd model_out/DragAnything
git-lfs clone https://huggingface.co/weijiawu/DragAnything
6. 运行推理
python demo.py
或者使用 Gradio 进行交互式推理:
cd ./script
# 下载 SAM 模型权重
python gradio_run.py
资源
- GitHub 仓库:https://github.com/showlab/DragAnything
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!
⚗️ 微信公众号|搜一搜:蚝油菜花 🥦