toco CameraCtrl: Habilitando o controle da câmera para geração de texto para vídeo - Unite.AI
Entre em contato

Inteligência artificial

CameraCtrl: Habilitando o controle da câmera para geração de texto para vídeo

mm

Publicado

 on

Estruturas recentes que tentam gerar texto para vídeo ou T2V aproveitam modelos de difusão para adicionar estabilidade em seu processo de treinamento, e o Modelo de Difusão de Vídeo, um dos pioneiros nas estruturas de geração de texto para vídeo, expande uma arquitetura de difusão de imagem 2D em uma tentativa de acomodar dados de vídeo e treinar o modelo em vídeo e imagem em conjunto do zero. Com base no mesmo, e a fim de implementar um poderoso gerador de imagens pré-treinados como Stable Diffusion, trabalhos recentes aumentam sua arquitetura 2D intercalando camadas temporais entre as camadas 2D pré-treinadas e ajustando o novo modelo em grandes conjuntos de dados invisíveis. Apesar de sua abordagem, os modelos de difusão de texto para vídeo enfrentam um desafio significativo, uma vez que a ambiguidade das descrições de texto usadas exclusivamente para gerar a amostra de vídeo geralmente resulta no controle mais fraco do modelo de texto para vídeo sobre a geração. Para lidar com essa limitação, alguns modelos fornecem orientação aprimorada, enquanto outros trabalham com sinais precisos para controlar com precisão a cena ou os movimentos humanos nos vídeos sintetizados. Por outro lado, existem algumas estruturas de texto para vídeo que adotam imagens como sinal de controle para o gerador de vídeo, resultando em uma modelagem de relacionamento temporal precisa ou em alta qualidade de vídeo. 

Seria seguro dizer que a controlabilidade desempenha um papel crucial nas tarefas de geração de imagens e vídeos, uma vez que permite aos usuários criar o conteúdo que desejam. No entanto, as estruturas existentes muitas vezes ignoram o controle preciso da pose da câmera que serve como uma linguagem cinematográfica para expressar melhor as nuances narrativas mais profundas do modelo. Para lidar com as atuais limitações de controlabilidade, neste artigo falaremos sobre CameraCtrl, uma ideia nova que tenta permitir o controle preciso da pose da câmera para modelos de texto em vídeo. Depois de parametrizar a trajetória da câmera com precisão, o modelo treina um módulo de câmera plug and play em um modelo de texto para vídeo e deixa os outros componentes intactos. Além disso, o modelo CameraCtrl também conduz um estudo abrangente sobre o efeito de vários conjuntos de dados e sugere que vídeos com aparências semelhantes e distribuição diversificada de câmeras podem melhorar a controlabilidade geral e as habilidades de generalização do modelo. Experimentos conduzidos para analisar o desempenho do modelo CameraCtrl em tarefas do mundo real indicam a eficiência da estrutura em alcançar controle de câmera preciso e adaptável ao domínio, abrindo caminho para a busca de geração de vídeo personalizada e dinâmica a partir da pose da câmera e entradas textuais. 

Este artigo tem como objetivo cobrir o framework CameraCtrl em profundidade e explorar o mecanismo, a metodologia, a arquitetura do framework junto com sua comparação com frameworks do estado da arte. Então vamos começar. 

CameraCtrl: Controle de câmera para geração T2V

O recente desenvolvimento e avanço de modelos de difusão avançaram significativamente a geração de vídeo guiada por texto nos últimos anos e revolucionaram os fluxos de trabalho de design de conteúdo. A controlabilidade desempenha um papel significativo em aplicações práticas de geração de vídeo, pois permite aos usuários personalizar os resultados gerados de acordo com suas necessidades e requisitos. Com alta controlabilidade, o modelo é capaz de aprimorar o realismo, a qualidade e a usabilidade dos vídeos gerados e, embora as entradas de texto e imagem sejam comumente usadas pelos modelos para melhorar a controlabilidade geral, muitas vezes falta controle preciso sobre movimento e conteúdo . Para resolver esta limitação, algumas estruturas propuseram aproveitar sinais de controle como pose de esqueleto, fluxo óptico e outros sinais multimodais para permitir um controle mais preciso para orientar a geração de vídeo. Outra limitação enfrentada pelas estruturas existentes é que elas não têm controle preciso sobre como estimular ou ajustar pontos de câmera na geração de vídeo, uma vez que a capacidade de controlar a câmera é crucial, pois não apenas aumenta o realismo dos vídeos gerados, mas ao permitir pontos de vista personalizados, também aumenta o envolvimento do usuário, um recurso essencial no desenvolvimento de jogos, realidade aumentada e realidade virtual. Além disso, gerenciar habilmente os movimentos da câmera permite que os criadores destaquem as relações dos personagens, enfatizem as emoções e orientem o foco do público-alvo, algo de grande importância nas indústrias cinematográfica e publicitária. 

Para enfrentar e superar essas limitações, a estrutura CameraCtrl, um módulo de câmera plug and play preciso e que pode ser aprendido com a capacidade de controlar os pontos de vista da câmera para geração de vídeo. No entanto, integrar uma câmera personalizada em um pipeline de modelo de texto para vídeo existente é uma tarefa mais fácil de falar do que fazer, forçando a estrutura CameraCtrl a procurar maneiras de representar e injetar a câmera na arquitetura do modelo de maneira eficaz. Na mesma nota, a estrutura CameraCtrl adota embeddings de plucker como a forma principal de parâmetros de câmera, e a razão para optar por embeddings de plucker pode ser creditada à sua capacidade de codificar descrições geométricas das informações de pose da câmera. Além disso, para garantir a generalização e aplicabilidade do modelo CameraCtrl pós-treinamento, o modelo introduz um modelo de controle de câmera que aceita apenas embeddings de plucker como entrada. Para garantir que o modelo de controle da câmera seja treinado de forma eficaz, a estrutura e seus desenvolvedores conduzem um estudo abrangente para investigar como diferentes dados de treinamento afetam a estrutura, desde dados sintéticos até dados realistas. Os resultados experimentais indicam que a implementação de dados com distribuição diversificada de poses de câmera e aparência semelhante ao modelo base original alcança o melhor equilíbrio entre controlabilidade e generalização. Os desenvolvedores do framework CameraCtrl implementaram o modelo no topo do framework AnimateDiff, permitindo assim um controle preciso na geração de vídeo em diferentes personalizados, demonstrando sua versatilidade e utilidade em uma ampla gama de contextos de criação de vídeo. 

A estrutura AnimateDiff adota o eficiente LoRA abordagem de ajuste fino para obter os pesos do modelo para diferentes tipos de tomadas. O framework Direct-a-video propõe implementar um incorporador de câmera para controlar a pose das câmeras durante o processo de geração de vídeo, mas condiciona apenas três parâmetros de câmera, limitando a capacidade de controle da câmera aos tipos mais básicos. Por outro lado, frameworks incluindo MotionCtrl projetam um controlador de movimento que aceita mais de três parâmetros de entrada e é capaz de produzir vídeos com poses de câmera mais complexas. Contudo, a necessidade de ajustar partes dos vídeos gerados dificulta a generalização do modelo. Além disso, algumas estruturas incorporam sinais de controle estrutural adicionais, como mapas de profundidade, no processo para melhorar a controlabilidade da geração de imagens e textos. Normalmente, o modelo alimenta esses sinais de controle em um codificador adicional e, em seguida, injeta os sinais em um gerador usando várias operações. 

CameraCtrl: Arquitetura do Modelo

Antes de podermos dar uma olhada na arquitetura e no paradigma de treinamento do codificador de câmera, é vital que entendamos as diferentes representações de câmera. Normalmente, uma pose de câmera refere-se a parâmetros intrínsecos e extrínsecos, e uma das escolhas simples para permitir que um gerador de vídeo condicione a pose da câmera é alimentar o gerador com valores brutos relativos aos parâmetros da câmera. No entanto, a implementação de tal abordagem pode não melhorar o controle preciso da câmera por alguns motivos. Primeiro, embora a matriz de rotação seja restringida pela ortogonalidade, o vetor de translação normalmente não tem magnitude e leva a uma incompatibilidade no processo de aprendizagem que pode afetar a consistência do controle. Em segundo lugar, o uso direto dos parâmetros brutos da câmera pode dificultar a correlação desses valores com os pixels da imagem pelo modelo, resultando na diminuição do controle sobre os detalhes visuais. Para evitar essas limitações, a estrutura CameraCtrl escolhe plucker embeddings como representação para a pose da câmera, uma vez que os plucker embeddings têm representações geométricas de cada pixel do quadro de vídeo e podem fornecer uma descrição mais elaborada das informações de pose da câmera. 

Controlabilidade da câmera em geradores de vídeo

À medida que o modelo parametriza a trajetória da câmera em uma sequência de incorporação de plucker, ou seja, mapas espaciais, o modelo tem a opção de usar um modelo codificador para extrair os recursos da câmera e, em seguida, fundir os recursos da câmera em geradores de vídeo. Igual a texto para imagem adaptador, o modelo CameraCtrl apresenta um codificador de câmera projetado especificamente para vídeos. O codificador da câmera inclui um modelo de atenção temporal após cada bloco convolucional, permitindo capturar as relações temporais das poses da câmera ao longo do videoclipe. Conforme demonstrado na imagem a seguir, o codificador da câmera aceita apenas entrada de incorporação do depenador e oferece recursos de múltiplas escalas. Depois de obter os recursos da câmera multiescala, o modelo CameraCtrl visa integrar esses recursos perfeitamente na arquitetura U-net do modelo de texto para vídeo e determinar as camadas que devem ser usadas para incorporar as informações da câmera de maneira eficaz. Além disso, como a maioria das estruturas existentes adota uma arquitetura semelhante à U-Net que contém as camadas de atenção temporal e espacial, o modelo CameraCtrl injeta as representações da câmera no bloco de atenção temporal, uma decisão que é apoiada pela capacidade da atenção temporal camadas para capturar relações temporais, alinhando-se com a natureza casual e sequencial inerente da trajetória da câmera com as camadas de atenção espacial retratando os quadros individuais. 

Aprendendo distribuições de câmeras

Treinar o componente codificador de câmera dentro da estrutura CameraCtrl em um gerador de vídeo requer uma grande quantidade de vídeos bem rotulados e anotados, com o modelo sendo capaz de obter a trajetória da câmera usando estrutura de movimento ou abordagem SfM. A estrutura CameraCtrl tenta selecionar o conjunto de dados com aparências que correspondam aos dados de treinamento do texto base ao modelo de vídeo e ter uma distribuição de pose de câmera tão ampla quanto possível. As amostras no conjunto de dados gerado usando mecanismos virtuais exibem distribuição diversificada de câmeras, uma vez que os desenvolvedores têm a flexibilidade de controlar os parâmetros da câmera durante a fase de renderização, embora sofram de uma lacuna de distribuição quando comparadas a conjuntos de dados contendo amostras do mundo real. Ao trabalhar com conjuntos de dados contendo amostras do mundo real, a distribuição da câmera é geralmente estreita e, nesses casos, a estrutura precisa encontrar um equilíbrio entre a diversidade entre as diferentes trajetórias da câmera e a complexidade da trajetória individual da câmera. A complexidade da trajetória individual da câmera garante que o modelo aprenda a controlar trajetórias complexas durante o processo de treinamento, enquanto a diversidade entre as diferentes trajetórias da câmera garante que o modelo não se ajuste demais a certos padrões fixos. Além disso, para monitorar o processo de treinamento do codificador da câmera, o framework CameraCtrl propõe a métrica de alinhamento da câmera para medir a qualidade do controle da câmera, quantificando o erro entre a trajetória da câmera das amostras geradas e as condições da câmera de entrada. 

CameraCtrl: experimentos e resultados

A estrutura CameraCtrl implementa o modelo AnimateDiff como seu modelo base de texto para vídeo e a principal razão por trás disso é que a estratégia de treinamento do modelo AnimateDiff permite que seu módulo de movimento se integre com modelos base de texto para imagem ou LoRAs de texto para imagem para acomodar vídeo geração em diferentes gêneros e domínios. O modelo usa o otimizador Adam para treinar o modelo com uma taxa de aprendizado constante de 1e-4. Além disso, para garantir que o modelo não afete as capacidades de geração de vídeo do original modelo de texto para vídeo negativamente, a estrutura CameraCtrl utiliza a métrica FID ou Frechet Inception Distance para avaliar a qualidade da aparência do vídeo e compara a qualidade do vídeo gerado antes e depois de incluir o módulo da câmera. 

Para avaliar seu desempenho, a estrutura CameraCtrl é avaliada em relação a duas estruturas de controle de câmera existentes: MotionCtrl e AnimateDiff. No entanto, como a estrutura AnimateDiff suporta apenas oito trajetórias básicas de câmera, a comparação entre CameraCtrl e AnimateDiff é limitada a três trajetórias básicas. Por outro lado, para comparação com o MotionCtrl, a estrutura seleciona mais de mil trajetórias aleatórias de câmera do conjunto de dados existente, além das trajetórias básicas da câmera, gera vídeos usando essas trajetórias e os avalia usando as métricas TransErr e RotErr. 

Como pode ser observado, o framework CameraCtrl supera o framework AnimateDiff na trajetória básica e oferece melhores resultados quando comparado com o framework MotionCtrl na métrica de trajetória complexa. 

Além disso, a figura a seguir demonstra o efeito da arquitetura do codificador da câmera na qualidade geral das amostras geradas. A linha a até a linha d representam os resultados gerados com o codificador de câmera implementado na arquitetura: ControlNet, ControlNet com atenção temporal, Adaptador T2I e Adaptador T2I com atenção temporal respectivamente. 

Na figura a seguir, os dois primeiros deslocam o vídeo gerado usando uma combinação do codificador RGB da estrutura SparseCtrl e o método usado na estrutura CameraCtrl. 

Considerações Finais

Neste artigo, falamos sobre CameraCtrl, uma ideia nova que tenta permitir o controle preciso da pose da câmera para modelos de texto em vídeo. Depois de parametrizar a trajetória da câmera com precisão, o modelo treina um módulo de câmera plug and play em um modelo de texto para vídeo e deixa os outros componentes intactos. Além disso, o modelo CameraCtrl também conduz um estudo abrangente sobre o efeito de vários conjuntos de dados e sugere que vídeos com aparências semelhantes e distribuição diversificada de câmeras podem melhorar a controlabilidade geral e as habilidades de generalização do modelo. Experimentos conduzidos para analisar o desempenho do modelo CameraCtrl em tarefas do mundo real indicam a eficiência da estrutura em alcançar controle de câmera preciso e adaptável ao domínio, abrindo caminho para a busca de geração de vídeo personalizada e dinâmica a partir da pose da câmera e entradas textuais. 

"Engenheiro de profissão, escritor de coração". Kunal é um escritor técnico com profundo amor e compreensão de IA e ML, dedicado a simplificar conceitos complexos nesses campos por meio de sua documentação envolvente e informativa.