Introdução à Ferramenta Chord
Para análise de vídeo eficiente, que vá além de um único quadro, a ferramenta Chord oferece capacidades avançadas de compreensão. Baseada em uma arquitetura multimodal (como o Qwen2.5-VL), ela interpreta sequências de vídeo, entendendo a coerência entre ações e cenas ao longo do tempo.
A ferramenta opera localmente, garantindo que seus dados de vídeo permaneçam privados e não sejam transmitidos para servidores externos. Ela fornece dois modos de operação principais, que podem ser alternados conforme a necessidade:
- Modo de Descrição Padrão: Gera uma descrição textual detalhada do conteúdo do vídeo, incluindo objetos, ações e contexto da cena.
- Modo de Localização Visual (Visual Grounding): Dado um alvo textual específico (ex.: "um gato preto"), a ferramenta identifica e localiza o objeto em cada quadro relevante, fornecendo coordenadas de delmiitação e carimbos de tempo precisos.
A otimização para execução local inclui controle automático da taxa de quadros para economizar memória de vídeo e suporte a formatos comuns como MP4 e AVI, acessados através de uma interface web intuitiva.
Preparação do Ambiente e Início Rápido
Implantação com Docker
A maneira mais direta de começar é utilizar uma imagem Docker pré-configurada, que resolve as dependências do sistema automaticamente. Requisitos prévios: Docker instalado e driver NVIDIA para aceleração por GPU (se aplicável).
Execute o seguinte comando no terminal:
docker run -it --gpus all -p 8501:8501 -v /caminho/local/videos:/app/videos registry.cn-hangzhou.aliyuncs.com/seu_espelho/chord_video_analysis:latest
Parâmetros principais:
--gpus all: Habilita o acesso do container à GPU para processamento acelerado.-p 8501:8501: Mapeia a porta do container para a porta local, permitindo o acesso via navegador.-v /caminho/local/videos:/app/videos: Vincula um diretório do seu computador ao diretório dentro do container. Coloque os vídeos a serem analisados no diretório local especificado (ex.:/home/usuario/MeusVideos).
Ao ver a mensagem indicando que o Streamlit está em execução (ex.: "Streamlit running on http://0.0.0.0:8501"), o serviço está pronto.
Interface do Usuário e Fluxo de Trabalho
Acesse a interface através do navegador em http://localhost:8501. A layout é composto por:
- Uma barra lateral esquerda com controles básicos.
- Uma área principal superior para upload do arquivo de vídeo.
- Uma região inferior dividida em uma pré-visualização do vídeo (esquerda) e um painel de controle/resultados (direita).
Passo 1: Carregamento do Vídeo
- Use a área superior da interface para selecionar ou arrastar um arquivo de vídeo (formatos suportados: MP4, AVI, MOV).
- Para implantações Docker, certifique-se de que o arquivo de vídeo está dentro do diretório mapeado.
- Após o upload, um player de vídeo na área inferior esquerda permitirá a pré-visualização imediata.
Recomendação: Para performance ideal, utilize clipes curtos (1 a 30 segundos). Para vídeos longos, pré-recorte os segmentos de interesse.
Passo 2: Configuração dos Parâmetros (Opcional)
No menu lateral esquerdo, o parâmetro "Comprimento Máximo de Geração" controla a verbosity da saída textual gerada no modo de descrição. Seu valor padrão (512) é adequado para a maioria dos casos. Iniciantes podem ignorar este ajuste.
Passo 3: Execução da Análise
No painel de controle (inferier direito), selecione o modo de operação desejado:
- Para obter uma descrição geral:
- Escolha o modo "Descrição Padrão".
- No campo "Pergunta", insira um prompt como:
Descreva as principais ações e cenas deste vídeo. - A análise iniciará automaticamente.
- Para localizar um objeto específico:
- Selecione o modo "Localização Visual (Visual Grounding)".
- No campo "Alvo para Localizar", descreva o objeto com precisão. Exemplos:
uma bicicleta vermelhaoua pessoa usando um chapéu branco. - Inicie a análise.
Interpretação e Visualização dos Resultados
Os resultados são exibidos abaixo da seleção do modo.
Saída do Modo de Descrição
Uma passagem de texto contínua descrevendo o vídeo. Exemplo para um vídeo de esporte:
"O vídeo mostra uma quadra de basquete ao ar livre. Inicialmente, um jovem com camiseta vermelha dribla a bola. Ele então executa um crossover e realiza um arremesso, com a bola entrando na cesta. Alguns espectadores assistem."
Saída do Modo de Localização Visual
Dados estruturados com informações espaço-temporais. Exemplo de busca por "uma pessoa andando de bicicleta":
{
"alvo": "uma pessoa andando de bicicleta",
"localizacoes": [
{
"tempo": "2.1s",
"caixa_delimitadora": [0.35, 0.60, 0.55, 0.80]
},
{
"tempo": "3.5s",
"caixa_delimitadora": [0.40, 0.55, 0.60, 0.75]
}
]
}
Entendendo a saída:
- "tempo": "2.1s" indica o instente no vídeo.
- "caixa_delimitadora": [x1, y1, x2, y2] define a posição do objeto no quadro. Os valores são coordenadas normalizadas (entre 0 e 1). Por exemplo,
[0.35, 0.60, 0.55, 0.80]significa que o canto superior esquerdo da caixa está a 35% da largura e 60% da altura da imagem, e o canto inferior direito a 55% da largura e 80% da altura. Essas coordenadas podem ser convertidas para pixels reais para aplicação de sobreposições visuais.
Esses dados permitem a implementação de rastreamento de alvos precisa e a criação de visualizações anotadas automaticamente.