Introdução geral
O DragAnything é um projeto de código aberto que visa obter o controle de movimento de objetos arbitrários por meio da representação de entidades. Desenvolvido pela equipe do Showlab e aceito pelo ECCV 2024, o DragAnything oferece uma maneira fácil de interagir com objetos simplesmente desenhando uma linha de trajetória para controlar seu movimento. O projeto é compatível com o controle de movimento simultâneo de vários objetos, incluindo o movimento do primeiro plano, do plano de fundo e da câmera. O DragAnything supera os métodos de última geração existentes em várias métricas, especialmente no controle de movimento de objetos.
Lista de funções
- Representação de entidades: use a incorporação de campo aberto para representar qualquer objeto.
- Controle de trajetória: o controle de movimento do objeto é obtido desenhando linhas de trajetória.
- Controle de vários objetos: suporta o controle de movimento simultâneo do primeiro plano, do plano de fundo e da câmera.
- Demonstrações interativas: suporte para demonstrações interativas usando o Gradio.
- Suporte a conjuntos de dados: suporta os conjuntos de dados VIPSeg e Youtube-VOS.
- Alto desempenho: excelente em FVD, FID e estudos de usuários.
Usando a Ajuda
Processo de instalação
- Clone o código do projeto:
git clone https://github.com/showlab/DragAnything.git
cd DragAnything
- Crie e ative um ambiente Conda:
conda create -n DragAnything python=3.8
conda activate DragAnything
- Instale a dependência:
pip install -r requirements.txt
- Prepare o conjunto de dados:
- Faça o download dos conjuntos de dados VIPSeg e Youtube-VOS para
. /data
Catálogo.
- Faça o download dos conjuntos de dados VIPSeg e Youtube-VOS para
Uso
- Execute uma demonstração interativa:
python gradio_run.py
Abra seu navegador e acesse o endereço local fornecido para começar a usar a demonstração interativa.
- Controla o movimento do objeto:
- Desenhe uma linha de trajetória na imagem de entrada e selecione o objeto que deseja controlar.
- Execute o script para gerar o vídeo:
python demo.py --input_image --trajectory
- O vídeo gerado será salvo no diretório especificado.
- Personalize a trajetória do movimento:
- Use a ferramenta Co-Track para processar seus próprios arquivos de anotação de trilha de movimento.
- Coloque os arquivos processados no diretório especificado e execute o script para gerar o vídeo.
Funções principais
- representação físicaRepresentação de qualquer objeto por meio de incorporação em campo aberto, sem a necessidade de o usuário anotar manualmente o objeto.
- Controle de trajetóriaO usuário pode controlar o movimento de um objeto simplesmente desenhando uma linha de trajetória na imagem de entrada.
- controle de vários objetosControle de movimento: Suporta o controle do movimento de vários objetos ao mesmo tempo, incluindo primeiro plano, plano de fundo e câmera.
- Demonstração interativaPor meio da interface interativa fornecida pelo Gradio, os usuários podem visualizar os efeitos do controle de movimento em tempo real.
- alto desempenhoDesempenho excelente em FVD, FID e estudos de usuários, especialmente no controle de movimento de objetos.