Connect with us

Inteligencia artificial

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

mm

Los marcos recientes que intentan generar video a 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 a 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 poderoso 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 video a texto 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 video a texto tiene un control más débil sobre la generación. Para abordar esta limitación, algunos modelos proporcionan una guía mejorada, mientras que otros trabajan con señales de control precisas para controlar la escena o los movimientos humanos en los videos sintetizados con precisión. Por otro lado, existen algunos marcos de video a texto que adoptan imágenes como la señal de control del 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 controlabilidad juega un papel crucial en las 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. Para abordar las limitaciones de controlabilidad 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 video a texto. 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 video a texto y deja los demás componentes intactos. Además, el modelo CameraCtrl también realiza 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 controlabilidad 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 para lograr un control de cámara preciso y adaptable a dominios, abriendo el camino hacia la 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 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 reciente desarrollo y avance 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 controlabilidad juega un papel significativo en las 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 controlabilidad, el modelo puede mejorar la realismo, 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 controlabilidad 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 esqueleto de pose, 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 realismo de los videos generados, sino que también mejora la participación del usuario al permitir puntos de vista personalizados, una característica esencial en el desarrollo de juegos, la realidad aumentada y la realidad virtual. Además, gestionar los movimientos de la cámara con habilidad permite a los creadores resaltar las relaciones entre los 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 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 video a texto existente es una tarea más fácil de decir que de hacer, lo que obliga al marco 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 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 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 los diferentes datos de entrenamiento afectan el 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 controlabilidad y generalización. Los desarrolladores del marco CameraCtrl han implementado el modelo en la parte superior del marco 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 AnimateDiff adopta el enfoque de ajuste de LoRA eficiente para obtener los pesos del modelo para diferentes tipos de tomas. El marco 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 controlabilidad tanto para la generación de imagen como 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.

CameraCtrl: Arquitectura del modelo

Antes de que podamos echar un vistazo a 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 más sencillas para que un generador de video se condicione en la pose de la cámara es alimentar los valores brutos de los parámetros de la cámara al generador. Sin embargo, implementar tal enfoque puede no mejorar el control de cámara preciso por varias razones. Primero, 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, utilizar parámetros de cámara brutos directamente puede hacer que sea difícil para el modelo correlacionar estos valores con píxeles de imagen, lo que resulta en una disminución del control sobre los detalles visuales. Para evitar estas limitaciones, el marco CameraCtrl elige 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.

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 imagen a texto, el modelo 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 convolucional, 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 acepta solo 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 CameraCtrl tiene como objetivo integrar estas características en la arquitectura U-Net del modelo de video a texto 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 CameraCtrl inyecta las representaciones de cámara en el bloque de atención temporal, una decisión que se basa en la capacidad de las capas de atención temporal para capturar 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 CameraCtrl en un generador de video requiere una gran cantidad de videos etiquetados y anotados con el modelo siendo capaz de obtener la trayectoria de la cámara utilizando el enfoque de estructura desde el movimiento o SfM. El marco CameraCtrl intenta seleccionar el conjunto de datos con apariencias que coinciden con los datos de entrenamiento del modelo base de video a texto y tienen una distribución de pose de cámara lo más amplia posible. Las muestras en el conjunto de datos generadas utilizando motores virtuales exhiben una distribución de cámara diversa, ya que los desarrolladores tienen la flexibilidad de 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 las 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 diferentes 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 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 cámara de las muestras generadas y las condiciones de cámara de entrada.

CameraCtrl: Experimentos y resultados

El marco CameraCtrl implementa el modelo AnimateDiff como su modelo base de video a texto y una razón importante detrás de lo mismo es que la estrategia de entrenamiento del modelo AnimateDiff permite que su módulo de movimiento se integre con modelos base de imagen a texto o LoRAs de imagen a texto 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 video a texto original, el marco CameraCtrl utiliza la métrica de distancia de Inception de Fréchet o FID 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 CameraCtrl se evalúa contra dos marcos de control de cámara existentes: MotionCtrl y AnimateDiff. Sin embargo, como el marco 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 contra 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 TransErr y RotErr.

Como se puede observar, el marco CameraCtrl supera al marco AnimateDiff en la trayectoria básica y entrega mejores resultados en comparación con el marco 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 a la fila d representan los resultados generados con el codificador de cámara implementado en la arquitectura: ControlNet, ControlNet con atención temporal, Adaptador de T2I y Adaptador de T2I con atención temporal, respectivamente.

En la siguiente figura, los primeros dos lugares muestran el video generado utilizando una combinación del codificador de RGB del marco SparseCtrl y el método utilizado en el marco 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 video a texto. 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 video a texto y deja los demás componentes intactos. Además, el modelo CameraCtrl también realiza 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 controlabilidad 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 para lograr un control de cámara preciso y adaptable a dominios, abriendo el camino hacia la 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.