Inteligência artificial
CameraCtrl: Controle de Câmera para Geração de Vídeo por Texto
As recentes tentativas de frameworks para geração de vídeo por texto ou T2V utilizam modelos de difusão para adicionar estabilidade no processo de treinamento, e o Video Diffusion Model, um dos pioneiros na geração de vídeo por texto, expande uma arquitetura de difusão de imagem 2D para acomodar dados de vídeo e treinar o modelo em vídeo e imagem conjuntamente a partir do zero. Com base nisso, e para implementar um gerador de imagem pré-treinado poderoso como o Stable Diffusion, trabalhos recentes inflam sua arquitetura 2D intercalando camadas temporais entre as camadas 2D pré-treinadas e ajustam o novo modelo em grandes conjuntos de dados não vistos. Apesar de sua abordagem, os modelos de difusão de vídeo por texto enfrentam um desafio significativo, pois a ambiguidade das descrições de texto usadas apenas para gerar a amostra de vídeo muitas vezes resulta no modelo de vídeo por texto tendo um controle mais fraco sobre a geração. Para lidar com essa limitação, alguns modelos fornecem orientação aprimorada, enquanto outros trabalham com sinais precisos para controlar a cena ou os movimentos humanos nos vídeos sintetizados com precisão. Por outro lado, existem alguns frameworks de geração de vídeo por texto que adotam imagens como o sinal de controle para o gerador de vídeo, resultando em uma modelagem de relacionamento temporal precisa ou alta qualidade de vídeo.
Pode-se dizer com segurança que a controllabilidade desempenha um papel crucial nas tarefas de geração de imagem e vídeo, pois permite que os usuários criem o conteúdo desejado. No entanto, os frameworks existentes muitas vezes negligenciam o controle preciso da pose da câmera, que serve como uma linguagem cinematográfica para expressar as nuances narrativas mais profundas ao modelo de forma melhor. Para lidar com as limitações de controllabilidade atuais, neste artigo, discutiremos o CameraCtrl, uma ideia nova que tenta habilitar o controle preciso da pose da câmera para modelos de geração de vídeo por texto. Após 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 geração de vídeo por texto e deixa os outros componentes intactos. Além disso, o modelo CameraCtrl também realiza um estudo abrangente sobre o efeito de diferentes conjuntos de dados e sugere que vídeos com aparências semelhantes e distribuição de câmera diversa podem melhorar as capacidades de controllabilidade e generalização do modelo. Experimentos realizados para analisar o desempenho do modelo CameraCtrl em tarefas do mundo real indicam a eficiência do framework 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 de pose de câmera e entradas textuais.
Este artigo visa cobrir o framework CameraCtrl em profundidade, e exploramos o mecanismo, a metodologia, a arquitetura do framework, juntamente com sua comparação com frameworks de ponta. Então, vamos começar.
CameraCtrl: Controle de Câmera para Geração de Vídeo por Texto
O desenvolvimento recente e o avanço dos 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 controllabilidade desempenha um papel significativo em aplicações práticas de geração de vídeo, pois permite que os usuários personalizem os resultados gerados de acordo com suas necessidades e requisitos. Com alta controllabilidade, o modelo é capaz de melhorar a realidade, a qualidade e a usabilidade dos vídeos que gera, e enquanto as entradas de texto e imagem são usadas comumente por modelos para melhorar a controllabilidade geral, elas muitas vezes carecem de controle preciso sobre movimento e conteúdo. Para lidar com essa limitação, alguns frameworks propuseram utilizar sinais de controle como esqueleto de pose, fluxo óptico e outros sinais multi-modais para permitir controle mais preciso para guiar a geração de vídeo. Outra limitação enfrentada pelos frameworks existentes é que eles carecem de controle preciso sobre a estimulação ou ajuste de pontos de câmera na geração de vídeo, pois a capacidade de controlar a câmera é crucial, pois não apenas melhora a realidade dos vídeos gerados, mas também permite pontos de vista personalizados, o que melhora a engajamento do usuário, uma característica essencial no desenvolvimento de jogos, realidade aumentada e realidade virtual. Além disso, gerenciar movimentos de câmera habilmente permite que os criadores destaquem relacionamentos de personagens, enfatizem emoções e direcionem o foco da audiência-alvo, algo de grande importância na indústria cinematográfica e publicitária.
Para lidar com essas limitações, o framework CameraCtrl, um módulo de câmera aprendível e preciso plug and play 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 geração de vídeo por texto existente é uma tarefa mais fácil de ser dita do que feita, forçando o framework CameraCtrl a procurar maneiras de representar e injetar a câmera na arquitetura do modelo de forma eficaz. Nesse sentido, o framework CameraCtrl adota embeddings de plucker como a forma primária de parâmetros de câmera, e o motivo para optar por embeddings de plucker pode ser creditado à 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 após o 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 de câmera seja treinado de forma eficaz, o framework e seus desenvolvedores realizam um estudo abrangente para investigar como diferentes dados de treinamento afetam o framework, desde dados sintéticos até dados realistas. Os resultados experimentais indicam que a implementação de dados com distribuição de pose de câmera diversa e aparência semelhante ao modelo base original alcança o melhor equilíbrio entre controllabilidade e generalização. Os desenvolvedores do framework CameraCtrl implementaram o modelo sobre o framework AnimateDiff, permitindo assim um controle preciso na geração de vídeo em diferentes contextos personalizados, demonstrando sua versatilidade e utilidade em uma ampla gama de contextos de criação de vídeo.

O framework AnimateDiff adota a abordagem de ajuste eficiente LoRA para obter os pesos do modelo para diferentes tipos de planos. O framework Direct-a-video propõe implementar um embedder de câmera para controlar a pose da câmera 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 como 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. No entanto, a necessidade de ajustar partes dos vídeos gerados prejudica a generalização do modelo. Além disso, alguns frameworks incorporam sinais de controle estruturais adicionais, como mapas de profundidade, no processo para melhorar a controllabilidade para geração de imagem e texto. Tipicamente, 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 olhar para a arquitetura e o paradigma de treinamento para o codificador de câmera, é vital para nós entender diferentes representações de câmera. Tipicamente, uma pose de câmera se refere a parâmetros intrínsecos e extrínsecos, e uma das escolhas diretas para permitir que um gerador de vídeo condicione a pose da câmera é alimentar valores brutos dos parâmetros da câmera no gerador. No entanto, implementar tal abordagem pode não melhorar o controle de câmera preciso por algumas razões. Primeiro, enquanto a matriz de rotação é constrangida pela ortogonalidade, o vetor de tradução é tipicamente não restringido em magnitude, e leva a uma discordância no processo de aprendizado que pode afetar a consistência do controle. Segundo, usar parâmetros de câmera brutos diretamente pode dificultar que o modelo correlacione esses valores com pixels de imagem, resultando em controle diminuído sobre detalhes visuais. Para evitar essas limitações, o framework CameraCtrl escolhe embeddings de plucker como a representação para a pose da câmera, pois os embeddings de plucker 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.
Controllabilidade de Câmera em Geradores de Vídeo
À medida que o modelo parametriza a trajetória da câmera em uma sequência de embeddings de plucker, ou seja, mapas espaciais, o modelo tem a opção de usar um modelo de codificador para extrair as características da câmera e, em seguida, fundir as características da câmera em geradores de vídeo. Semelhante ao adaptador de texto para imagem, o modelo CameraCtrl introduz um codificador de câmera projetado especificamente para vídeos. O codificador de câmera inclui um modelo de atenção temporal após cada bloco convolucional, permitindo que ele capture as relações temporais das poses da câmera ao longo do clipe de vídeo. Como demonstrado na imagem a seguir, o codificador de câmera aceita apenas entrada de embedding de plucker e entrega recursos multi-escala. Após obter os recursos de câmera multi-escala, o modelo CameraCtrl visa integrar esses recursos na arquitetura U-Net do modelo de geração de vídeo por texto de forma transparente e determina as camadas que devem ser usadas para incorporar as informações da câmera de forma eficaz. Além disso, como a maioria dos frameworks existentes adota uma arquitetura semelhante à U-Net que contém tanto camadas de atenção temporal quanto espacial, o modelo CameraCtrl injeta as representações da câmera no bloco de atenção temporal, uma decisão que é apoiada pela capacidade das camadas de atenção temporal de capturar relações temporais, alinhando-se com a natureza causal e sequencial inerente de uma trajetória de câmera com as camadas de atenção espacial que descrevem os quadros individuais.

Aprendizado de Distribuições de Câmera
Treinar o componente do codificador de câmera dentro do framework 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 a abordagem de estrutura a partir do movimento ou SfM. O framework CameraCtrl tenta selecionar o conjunto de dados com aparências que correspondem aos dados de treinamento do modelo base de geração de vídeo por texto de forma próxima e têm uma distribuição de pose de câmera tão ampla quanto possível. Amostras no conjunto de dados geradas usando motores virtuais exibem distribuição de câmera diversa, pois os desenvolvedores têm a flexibilidade de controlar os parâmetros da câmera durante a fase de renderização, embora isso sofra de uma lacuna de distribuição em comparação com conjuntos de dados que contêm amostras do mundo real. Ao trabalhar com conjuntos de dados que contêm amostras do mundo real, a distribuição da câmera é geralmente estreita, e nesses casos, o framework precisa encontrar um equilíbrio entre a diversidade entre diferentes trajetórias de câmera e a complexidade da trajetória de câmera individual. A complexidade da trajetória de câmera individual garante que o modelo aprenda a controlar trajetórias complexas durante o processo de treinamento, enquanto a diversidade entre diferentes trajetórias de câmera garante que o modelo não se ajuste a certos padrões fixos. Além disso, para monitorar o processo de treinamento do codificador de câmera, o framework CameraCtrl propõe a métrica de alinhamento de câmera para medir a qualidade de controle da câmera, quantificando o erro entre a trajetória da câmera das amostras geradas e as condições de câmera de entrada.
CameraCtrl: Experimentos e Resultados
O framework CameraCtrl implementa o modelo AnimateDiff como seu modelo base de geração de vídeo por texto e um dos principais motivos para isso é 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 geração de vídeo 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 modelo original de geração de vídeo por texto de forma negativa, o framework CameraCtrl utiliza a métrica FID ou Distância de Inception de Frechet para avaliar a qualidade de aparência do vídeo e compara a qualidade do vídeo gerado antes e após a inclusão do módulo de câmera.
Para avaliar seu desempenho, o framework CameraCtrl é avaliado contra dois frameworks de controle de câmera existentes: MotionCtrl e AnimateDiff. No entanto, como o framework AnimateDiff tem suporte a apenas oito trajetórias de câmera básicas, a comparação entre CameraCtrl e AnimateDiff é limitada a três trajetórias básicas. Por outro lado, para a comparação com o MotionCtrl, o framework seleciona mais de mil trajetórias de câmera aleatórias de um conjunto de dados existente, além das trajetórias de câmera base, 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 entrega melhores resultados quando comparado ao framework MotionCtrl na métrica de trajetória complexa.
Além disso, a figura a seguir demonstra o efeito da arquitetura do codificador de câmera na qualidade geral das amostras geradas. As linhas a até d representam os resultados gerados com o codificador de câmera implementado na arquitetura: ControlNet, ControlNet com atenção temporal, T2I Adaptor e T2I Adaptor com atenção temporal, respectivamente.

Na figura a seguir, as duas primeiras mostram o vídeo gerado usando uma combinação do codificador RGB do framework SparseCtrl e do método usado no framework CameraCtrl.

Pensamentos Finais
Neste artigo, discutimos o CameraCtrl, uma ideia nova que tenta habilitar o controle preciso da pose da câmera para modelos de geração de vídeo por texto. Após 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 geração de vídeo por texto e deixa os outros componentes intactos. Além disso, o modelo CameraCtrl também realiza um estudo abrangente sobre o efeito de diferentes conjuntos de dados e sugere que vídeos com aparências semelhantes e distribuição de câmera diversa podem melhorar as capacidades de controllabilidade e generalização do modelo. Experimentos realizados para analisar o desempenho do modelo CameraCtrl em tarefas do mundo real indicam a eficiência do framework 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 de pose de câmera e entradas textuais.












