Inteligência artificial
CameraCtrl: Habilitando Controle de Câmera para Geração de Vídeo por Texto
As estruturas recentes que tentam gerar vídeo a partir de texto ou T2V utilizam modelos de difusão para adicionar estabilidade no processo de treinamento, e o Video Diffusion Model, um dos pioneiros nos frameworks de 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 no mesmo, 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 texto para vídeo enfrentam um desafio significativo, pois a ambiguidade das descrições de texto usadas exclusivamente para gerar a amostra de vídeo frequentemente resulta no modelo de texto para vídeo 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 movimentos humanos nos vídeos sintetizados com precisão. Por outro lado, existem alguns frameworks de texto para vídeo que adotam imagens como o sinal de controle para o gerador de vídeo, resultando em uma modelagem de relação temporal precisa ou alta qualidade de vídeo.
Pode-se dizer com segurança que a controlabilidade desempenha um papel crucial em tarefas de geração de imagens e vídeos, 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 nuances narrativas mais profundas ao modelo. Para lidar com as limitações de controlabilidade atuais, neste artigo, discutiremos o CameraCtrl, uma ideia nova que tenta habilitar o controle preciso da pose da câmera para modelos de texto para vídeo. Após parameterizar 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 inalterados. Além disso, o modelo CameraCtrl também realiza um estudo abrangente sobre o efeito de vários conjuntos de dados e sugere que vídeos com aparências semelhantes e distribuição de câmera diversa podem aprimorar a controlabilidade e as capacidades de 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 da 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. Vamos começar.
CameraCtrl: Controle de Câmera para Geração de Vídeo por Texto
O desenvolvimento recente e a melhoria 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 controlabilidade 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 controlabilidade, o modelo é capaz de aprimorar a realismo, 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 aprimorar a controlabilidade geral, elas frequentemente carecem de controle preciso sobre movimento e conteúdo. Para lidar com essa limitação, alguns frameworks propuseram usar sinais de controle como esqueleto de pose, fluxo óptico e outros sinais multimodais para habilitar 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 dos pontos da câmera na geração de vídeo, pois a capacidade de controlar a câmera é crucial, pois não apenas melhora a realismo 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 do público-alvo, algo de grande importância nas indústrias de cinema e publicidade.
Para lidar e superar 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 texto para vídeo 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. Na mesma nota, 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 a 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 a melhor combinação entre controlabilidade e generalização. Os desenvolvedores do framework CameraCtrl implementaram o modelo em cima do framework AnimateDiff, habilitando assim o controle preciso na geração de vídeo em diferentes contextos de criação de vídeo 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 shots. O framework Direct-a-video propõe implementar um incorporador de câmera para controlar a pose da câmera durante o processo de geração de vídeo, mas condiciona apenas em 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 estrutural adicionais, como mapas de profundidade, no processo para aprimorar a controlabilidade tanto para geração de imagem quanto para geração de texto. Tipicamente, o modelo alimenta esses sinais de controle em um codificador adicional e, em seguida, injeta os sinais no 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 aprimorar o controle de câmera preciso por alguns motivos. Primeiro, enquanto a matriz de rotação é constrangida pela ortogonalidade, o vetor de tradução é normalmente não restrito em magnitude, e leva a uma discrepâ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.
Controlabilidade de Câmera em Geradores de Vídeo
À medida que o modelo parameteriza 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 nos 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 embeddings de plucker e entrega características em múltiplas escalas. Após obter as características da câmera em múltiplas escalas, o modelo CameraCtrl visa integrar essas características na arquitetura U-Net do modelo de texto para vídeo 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 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 das camadas de atenção temporal de capturar relações temporais, alinhando 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 texto para vídeo de forma próxima e tenha uma distribuição de pose da câmera o mais ampla 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 é normalmente estreita, e nesses casos, o framework precisa encontrar um equilíbrio entre a diversidade entre diferentes trajetórias de câmera e a complexidade de cada trajetória de câmera. A complexidade de cada trajetória de câmera 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 sobreaja 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 texto para vídeo 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 a 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 negativamente as capacidades de geração de vídeo do modelo de texto para vídeo original, 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 contra 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 avalia-os 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. 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 de T2I e Adaptador de T2I 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 texto para vídeo. Após parameterizar 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 inalterados. Além disso, o modelo CameraCtrl também realiza um estudo abrangente sobre o efeito de vários conjuntos de dados e sugere que vídeos com aparências semelhantes e distribuição de câmera diversa podem aprimorar a controlabilidade e as capacidades de 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 da câmera e entradas textuais.












