Modelos y plataformas de IA

CameraCtrl: Habilitando el control de cámara para la generación de video de texto a video

mm
Añade Unite.AI a tus fuentes preferidas en Google

Los marcos recientes que intentan generar video de texto o T2V utilizan modelos de difusión para agregar estabilidad en su proceso de entrenamiento, y el Modelo de Difusión de Video, uno de los pioneros en los marcos de generación de video de texto, expande una arquitectura de difusión de imagen 2D para acomodar datos de video y entrenar el modelo en video e imagen conjuntamente desde cero. Basándose en lo mismo, y con el fin de implementar un generador de imágenes preentrenado potente como Stable Diffusion, los trabajos recientes inflan su arquitectura 2D intercalando capas temporales entre las capas 2D preentrenadas, y ajustan el nuevo modelo en grandes conjuntos de datos no vistos. A pesar de su enfoque, los modelos de difusión de texto a video enfrentan un desafío significativo, ya que la ambigüedad de las descripciones de texto utilizadas únicamente para generar la muestra de video a menudo resulta en que el modelo de texto a video tiene un control más débil sobre la generación. Para abordar esta limitación, algunos modelos proporcionan una orientación mejorada, mientras que otros trabajan con señales de control precisas para controlar los movimientos de cámara o humanos en los videos sintetizados con precisión. Por otro lado, hay algunos marcos de texto a video que adoptan imágenes como la señal de control para el generador de video, lo que resulta en una modelización de relación temporal precisa o una alta calidad de video.

Sería seguro decir que la capacidad de control es crucial en tareas generativas de imagen y video, ya que permite a los usuarios crear el contenido que desean. Sin embargo, los marcos existentes a menudo pasan por alto el control preciso de la pose de la cámara, que sirve como un lenguaje cinematográfico para expresar las nuances narrativas más profundas al modelo de mejor manera. Para abordar las limitaciones de capacidad de control actuales, en este artículo, hablaremos sobre CameraCtrl, una idea novedosa que intenta habilitar el control de pose de cámara preciso para los modelos de texto a video. Después de parametrizar la trayectoria de la cámara con precisión, el modelo entrena un módulo de cámara de plug and play en un modelo de texto a video, y deja los demás componentes intactos. Además, el modelo CameraCtrl también conduce un estudio exhaustivo sobre el efecto de varios conjuntos de datos, y sugiere que los videos con apariencias similares y distribución de cámara diversa pueden mejorar las capacidades de control y generalización del modelo. Los experimentos realizados para analizar el rendimiento del modelo CameraCtrl en tareas del mundo real indican la eficiencia del marco en lograr un control de cámara preciso y adaptativo a dominio, abriendo el camino hacia la búsqueda de generación de video personalizada y dinámica a partir de la pose de la cámara y entradas de texto.

Este artículo tiene como objetivo cubrir el marco de CameraCtrl en profundidad, y exploramos el mecanismo, la metodología, la arquitectura del marco, junto con su comparación con marcos de estado del arte. Así que comencemos.

CameraCtrl: Control de cámara para la generación de T2V

El desarrollo y avance recientes de los modelos de difusión han avanzado significativamente la generación de video guiada por texto en los últimos años, y han revolucionado los flujos de trabajo de diseño de contenido. La capacidad de control es crucial en aplicaciones prácticas de generación de video, ya que permite a los usuarios personalizar los resultados generados según sus necesidades y requisitos. Con una alta capacidad de control, el modelo puede mejorar la realidad, la calidad y la usabilidad de los videos que genera, y mientras que las entradas de texto e imagen se utilizan comúnmente por los modelos para mejorar la capacidad de control general, a menudo carecen de control preciso sobre el movimiento y el contenido. Para abordar esta limitación, algunos marcos han propuesto utilizar señales de control como el esqueleto de pose, el flujo óptico y otras señales de control multimodales para habilitar un control más preciso para guiar la generación de video. Otra limitación que enfrentan los marcos existentes es que carecen de control preciso sobre la estimulación o ajuste de los puntos de la cámara en la generación de video, ya que la capacidad de controlar la cámara es crucial, ya que no solo mejora la realidad de los videos generados, sino que también permite puntos de vista personalizados, lo que mejora la participación del usuario, una característica esencial en el desarrollo de juegos, la realidad aumentada y la realidad virtual. Además, gestionar los movimientos de cámara con habilidad permite a los creadores resaltar las relaciones entre personajes, enfatizar las emociones y guiar el enfoque de la audiencia objetivo, algo de gran importancia en la industria del cine y la publicidad.

Para abordar y superar estas limitaciones, el marco de CameraCtrl, un módulo de cámara aprendible y preciso de plug and play con la capacidad de controlar los puntos de vista de la cámara para la generación de video. Sin embargo, integrar una cámara personalizada en una tubería de modelo de texto a video existente es una tarea más fácil de decir que de hacer, lo que obliga al marco de CameraCtrl a buscar formas de representar y inyectar la cámara en la arquitectura del modelo de manera efectiva. En la misma nota, el marco de CameraCtrl adopta incrustaciones de plucker como la forma principal de parámetros de cámara, y la razón para optar por incrustaciones de plucker se puede atribuir a su capacidad para codificar descripciones geométricas de la información de la pose de la cámara. Además, para garantizar la generalización y la aplicabilidad del modelo de CameraCtrl después del entrenamiento, el modelo introduce un modelo de control de cámara que solo acepta incrustaciones de plucker como entrada. Para garantizar que el modelo de control de cámara se entrena de manera efectiva, el marco y sus desarrolladores realizan un estudio exhaustivo para investigar cómo afectan los diferentes datos de entrenamiento al marco, desde datos sintéticos hasta datos realistas. Los resultados experimentales indican que la implementación de datos con distribución de pose de cámara diversa y apariencia similar al modelo base original logra el mejor equilibrio entre la capacidad de control y la generalización. Los desarrolladores del marco de CameraCtrl han implementado el modelo en la parte superior del marco de AnimateDiff, lo que permite un control preciso en la generación de video en diferentes contextos de creación de video personalizados, demostrando su versatilidad y utilidad en una amplia gama de contextos de creación de video.

El marco de AnimateDiff adopta el enfoque de ajuste de LoRA eficiente para obtener los pesos del modelo para diferentes tipos de tomas. El marco de Direct-a-video propone implementar un incrustador de cámara para controlar la pose de la cámara durante el proceso de generación de video, pero solo se condiciona en tres parámetros de cámara, lo que limita la capacidad de control de la cámara a los tipos más básicos. Por otro lado, marcos como MotionCtrl diseñan un controlador de movimiento que acepta más de tres parámetros de entrada y puede producir videos con poses de cámara más complejas. Sin embargo, la necesidad de ajustar partes de los videos generados obstaculiza la generalización del modelo. Además, algunos marcos incorporan señales de control estructurales adicionales, como mapas de profundidad, en el proceso para mejorar la capacidad de control tanto para la generación de imagen como para la generación de texto. Normalmente, el modelo alimenta estas señales de control a un codificador adicional y luego inyecta las señales de control en un generador utilizando varias operaciones.

Arquitectura del modelo de CameraCtrl

Antes de que podamos ver la arquitectura y el paradigma de entrenamiento para el codificador de cámara, es vital que entendamos las diferentes representaciones de cámara. Normalmente, una pose de cámara se refiere a parámetros intrínsecos y extrínsecos, y una de las elecciones directas para que un generador de video se condicione en la pose de la cámara es alimentar valores brutos de los parámetros de la cámara en el generador. Sin embargo, implementar tal enfoque puede no mejorar el control de cámara preciso por varias razones. En primer lugar, mientras que la matriz de rotación está restringida por la ortogonalidad, el vector de traducción es típicamente no restringido en magnitud, lo que conduce a una discrepancia en el proceso de aprendizaje que puede afectar la consistencia del control. En segundo lugar, el uso de parámetros de cámara brutos directamente puede dificultar que el modelo correlacione estos valores con los píxeles de la imagen, lo que resulta en un control disminuido sobre los detalles visuales. Para evitar estas limitaciones, el marco de CameraCtrl elige las incrustaciones de plucker como la representación de la pose de la cámara, ya que las incrustaciones de plucker tienen representaciones geométricas de cada píxel del marco de video, y pueden proporcionar una descripción más elaborada de la información de la pose de la cámara.

Capacidad de control de cámara en generadores de video

Como el modelo parametriza la trayectoria de la cámara en una secuencia de incrustaciones de plucker, es decir, mapas espaciales, el modelo tiene la opción de utilizar un modelo de codificador para extraer las características de la cámara y luego fusionar las características de la cámara en los generadores de video. Similar al adaptador de texto a imagen, el modelo de CameraCtrl introduce un codificador de cámara diseñado específicamente para videos. El codificador de cámara incluye un modelo de atención temporal después de cada bloque de convolución, lo que le permite capturar las relaciones temporales de las poses de la cámara a lo largo del clip de video. Como se demuestra en la siguiente imagen, el codificador de cámara solo acepta la entrada de incrustaciones de plucker y entrega características de múltiples escalas. Después de obtener las características de cámara de múltiples escalas, el modelo de CameraCtrl tiene como objetivo integrar estas características en la arquitectura U-Net del modelo de texto a video de manera fluida y determina las capas que deben utilizarse para incorporar la información de la cámara de manera efectiva. Además, como la mayoría de los marcos existentes adoptan una arquitectura similar a U-Net que contiene capas de atención temporal y espacial, el modelo de CameraCtrl inyecta las representaciones de cámara en el bloque de atención temporal, una decisión que está respaldada por la capacidad de las capas de atención temporal para capturar las relaciones temporales, lo que se alinea con la naturaleza causal y secuencial inherente de una trayectoria de cámara con las capas de atención espacial que representan los marcos individuales.

Aprendizaje de distribuciones de cámara

Entrenar el componente del codificador de cámara dentro del marco de CameraCtrl en un generador de video requiere una gran cantidad de videos etiquetados y anotados con el modelo que puede obtener la trayectoria de la cámara utilizando el enfoque de estructura desde el movimiento o SfM. El marco de CameraCtrl intenta seleccionar el conjunto de datos con apariencias que coinciden con los datos de entrenamiento del modelo de texto a video base de manera cercana y tiene una distribución de pose de cámara lo más amplia posible. Las muestras en el conjunto de datos generado utilizando motores virtuales exhiben una distribución de cámara diversa, ya que los desarrolladores tienen la flexibilidad para controlar los parámetros de la cámara durante la fase de renderizado, aunque sufre de una brecha de distribución en comparación con conjuntos de datos que contienen muestras del mundo real. Cuando se trabaja con conjuntos de datos que contienen muestras del mundo real, la distribución de la cámara es generalmente estrecha, y en tales casos, el marco necesita encontrar un equilibrio entre la diversidad entre diferentes trayectorias de cámara y la complejidad de la trayectoria de cámara individual. La complejidad de la trayectoria de cámara individual garantiza que el modelo aprenda a controlar trayectorias complejas durante el proceso de entrenamiento, mientras que la diversidad entre las trayectorias de cámara garantiza que el modelo no se sobreajuste a ciertos patrones fijos. Además, para monitorear el proceso de entrenamiento del codificador de cámara, el marco de CameraCtrl propone la métrica de alineación de cámara para medir la calidad de control de la cámara, cuantificando el error entre la trayectoria de la cámara de las muestras generadas y las condiciones de cámara de entrada.

CameraCtrl: Experimentos y Resultados

El marco de CameraCtrl implementa el modelo de AnimateDiff como su modelo de texto a video base y una razón importante detrás de esto es que la estrategia de entrenamiento del modelo de AnimateDiff permite que su módulo de movimiento se integre con modelos base de texto a imagen o textos a imagen LoRA para acomodar la generación de video en diferentes géneros y dominios. El modelo utiliza el optimizador Adam para entrenar el modelo con una tasa de aprendizaje constante de 1e-4. Además, para garantizar que el modelo no afecte negativamente las capacidades de generación de video del modelo de texto a video original, el marco de CameraCtrl utiliza la métrica de distancia de FID o Frechet Inception para evaluar la calidad de apariencia del video y compara la calidad del video generado antes y después de incluir el módulo de cámara.

Para evaluar su rendimiento, el marco de CameraCtrl se evalúa contra dos marcos de control de cámara existentes: MotionCtrl y AnimateDiff. Sin embargo, como el marco de AnimateDiff solo admite ocho trayectorias de cámara básicas, la comparación entre CameraCtrl y AnimateDiff se limita a tres trayectorias básicas. Por otro lado, para la comparación con MotionCtrl, el marco selecciona más de mil trayectorias de cámara aleatorias de un conjunto de datos existente, además de las trayectorias de cámara base, genera videos utilizando estas trayectorias y los evalúa utilizando las métricas de TransErr y RotErr.

Como se puede observar, el marco de CameraCtrl supera al marco de AnimateDiff en trayectorias básicas y entrega mejores resultados en comparación con el marco de MotionCtrl en la métrica de trayectoria compleja.

Además, la siguiente figura demuestra el efecto de la arquitectura del codificador de cámara en la calidad general de las muestras generadas. La fila a hasta la fila d representan los resultados generados con el codificador de cámara implementado en la arquitectura: ControlNet, ControlNet con atención temporal, T2I Adaptor y T2I adaptor con atención temporal, respectivamente.

En la siguiente figura, las dos primeras muestras muestran el video generado utilizando una combinación del codificador RGB del marco de SparseCtrl y el método utilizado en el marco de CameraCtrl.

Pensamientos finales

En este artículo, hemos hablado sobre CameraCtrl, una idea novedosa que intenta habilitar el control de pose de cámara preciso para los modelos de texto a video. Después de parametrizar la trayectoria de la cámara con precisión, el modelo entrena un módulo de cámara de plug and play en un modelo de texto a video, y deja los demás componentes intactos. Además, el modelo de CameraCtrl también conduce un estudio exhaustivo sobre el efecto de varios conjuntos de datos y sugiere que los videos con apariencias similares y distribución de cámara diversa pueden mejorar las capacidades de control y generalización del modelo. Los experimentos realizados para analizar el rendimiento del modelo de CameraCtrl en tareas del mundo real indican la eficiencia del marco en lograr un control de cámara preciso y adaptativo a dominio, abriendo el camino hacia la búsqueda de generación de video personalizada y dinámica a partir de la pose de la cámara y entradas de texto.

Un ingeniero por profesión, un escritor por corazón. Kunal es un escritor técnico con un profundo amor y comprensión de la IA y el ML, dedicado a simplificar conceptos complejos en estos campos a través de su documentación atractiva e informativa.