AI个人学习
和实操指南
豆包Marscode1

DragAnything:对图像中实体对象控制运动硅基生成视频

综合介绍

DragAnything 是一个开源项目,旨在通过实体表示实现任意对象的运动控制。该项目由 Showlab 团队开发,并已被 ECCV 2024 接收。DragAnything 提供了一种用户友好的交互方式,用户只需绘制一条轨迹线即可控制对象的运动。该项目支持多种对象的同时运动控制,包括前景、背景和摄像机运动。DragAnything 在多项指标上表现优异,特别是在对象运动控制方面,超越了现有的最先进方法。

DragAnything:对图像中实体对象控制运动硅基生成视频-1


 

功能列表

  • 实体表示:使用开放域嵌入表示任何对象。
  • 轨迹控制:通过绘制轨迹线实现对象运动控制。
  • 多对象控制:支持前景、背景和摄像机的同时运动控制。
  • 交互式演示:支持使用 Gradio 进行交互式演示。
  • 数据集支持:支持 VIPSeg 和 Youtube-VOS 数据集。
  • 高性能:在 FVD、FID 和用户研究中表现优异。

 

使用帮助

安装流程

  1. 克隆项目代码:
   git clone https://github.com/showlab/DragAnything.git
cd DragAnything
  1. 创建并激活 Conda 环境:
   conda create -n DragAnything python=3.8
conda activate DragAnything
  1. 安装依赖:
   pip install -r requirements.txt
  1. 准备数据集:
    • 下载 VIPSeg 和 Youtube-VOS 数据集到 ./data 目录。

使用方法

  1. 运行交互式演示:
   python gradio_run.py

打开浏览器访问提供的本地地址,即可开始使用交互式演示。

  1. 控制对象运动:
    • 在输入图像上绘制轨迹线,选择要控制的对象。
    • 运行脚本生成视频:
     python demo.py --input_image <path_to_image> --trajectory <path_to_trajectory>
    
    • 生成的视频将保存在指定目录中。
  2. 自定义运动轨迹:
    • 使用 Co-Track 工具处理自己的运动轨迹注释文件。
    • 将处理后的文件放置在指定目录中,运行脚本生成视频。

主要功能操作流程

  • 实体表示:通过开放域嵌入表示任何对象,用户无需手动标注对象。
  • 轨迹控制:用户只需在输入图像上绘制轨迹线,即可控制对象的运动。
  • 多对象控制:支持同时控制多个对象的运动,包括前景、背景和摄像机。
  • 交互式演示:通过 Gradio 提供的交互界面,用户可以实时查看运动控制效果。
  • 高性能:在 FVD、FID 和用户研究中表现优异,特别是在对象运动控制方面。
未经允许不得转载:首席AI分享圈 » DragAnything:对图像中实体对象控制运动硅基生成视频
zh_CN简体中文