- Toon3D es un método que recupera poses de cámara y una estructura 3D densa a partir de imágenes de cómics y animación que muestran la misma escena, para sintetizar vistas desde ángulos que nunca fueron dibujados realmente
- Como las escenas dibujadas a mano carecen de consistencia 3D explícita, los métodos SfM existentes suelen fallar; Toon3D ajusta en conjunto las cámaras y la geometría de la escena mientras deforma las imágenes
- El pipeline combina predicción de profundidad con Marigold, candidatos a máscaras transitorias con SAM y etiquetado humano en Toon3D Labeler para incorporar correspondencias y regiones transitorias en la alineación
- La nube de puntos densa recuperada se usa para inicializar Gaussian Splatting, y mediante optimización basada en Nerfstudio y regularización de profundidad genera renders fly-through de escenas de cómic
- Se enfoca en obtener poses de cámara y geometría de escena más estables que COLMAP, Bundle Adjustment y DUSt3R, y también se aplica a casos de reconstrucción de habitaciones de Airbnb y pinturas
Por qué SfM es difícil en escenas dibujadas a mano
- Las personas pueden reconocer una escena 3D subyacente incluso en imágenes que no son completamente consistentes en 3D, pero las máquinas tienen dificultades bajo las mismas condiciones
- Las imágenes de cómics y animación a menudo se dibujan sin consistencia geométrica explícita para favorecer la narrativa y la expresión creativa
- Los métodos tradicionales de Structure-from-Motion (SfM) asumen consistencia 3D, por lo que fallan mucho con este tipo de imágenes dibujadas a mano
- COLMAP no logra reconstruir imágenes dibujadas a mano no geométricas incluso con correspondencias perfectas, y Bundle Adjustment y DUSt3R también muestran un rendimiento muy pobre
Un método de alineación que absorbe las inconsistencias
- Toon3D recupera poses de cámara y geometría de escena en conjunto mientras deforma imágenes con inconsistencias geométricas
- La idea central es absorber las inconsistencias geométricas entre imágenes mediante deformaciones, para ajustar la escena a una estructura 3D más consistente
- La información estructural obtenida a partir de la predicción de profundidad monocular guía este proceso de alineación
- A partir de keypoints etiquetados manualmente, realiza una optimización de deformación piecewise-rigid para recuperar poses de cámara y geometría densa
Pipeline de procesamiento
- La profundidad de cada imagen se predice con Marigold
- Los candidatos a máscaras transitorias se obtienen con SAM
- El usuario etiqueta correspondencias entre imágenes y marca regiones transitorias con Toon3D Labeler
- En la etapa de optimización, se alinean las poses de cámara y se corrigen las imágenes mediante warping para obtener cámaras de perspectiva corregidas
- Por último, se inicializan Gaussians desde la nube de puntos densa alineada y se ejecuta el refinamiento
Optimización simultánea de cámaras y deformaciones
- Los dos objetivos principales de Toon3D son camera alignment y deformation alignment
- El objetivo de camera alignment recupera los parámetros de cámara
- El objetivo de deformation alignment deforma la malla para lograr una alineación más cercana
- En la optimización real, ambos objetivos se ajustan simultáneamente
- La visualización del método incluye varias capas, como cámaras, sparse correspondences, warping meshes, nubes de puntos y gaussians
Síntesis de nuevos puntos de vista y renders fly-through
- Toon3D primero recupera las poses de cámara y la nube de puntos alineada
- Luego inicializa Gaussians desde la nube de puntos densa y optimiza Gaussian Splatting con las cámaras recuperadas
- La implementación se basa en Nerfstudio e incluye regularización de profundidad
- El resultado puede verse como un render fly-through de la escena de cómic
- Entre las escenas de ejemplo se incluyen Bob's Burgers, Family Guy, SpongeBob SquarePants, Rick and Morty, Simpsons, Spirited Away, Futurama, Avatar, BoJack Horseman, Magic School Bus y Scooby-Doo
Toon3D Dataset y herramienta de etiquetado
- Toon3D Dataset se compone de imágenes multivista de cómics y animación
- El dataset incluye anotaciones confiables de sparse correspondences
- Para la anotación se usa una herramienta de anotación Toon3D amigable para el usuario
- Las nubes de puntos recuperadas se conectan con métodos de novel-view synthesis, lo que permite ver cómics desde puntos de vista que nunca fueron dibujados realmente
- La página visualiza nubes de puntos y cámaras recuperadas de 12 escenas de cómic
Reconstrucción del interior de la casa de Rick and Morty
- El interior de la casa de Rick and Morty se reconstruye conectando las habitaciones mediante el etiquetado entre paredes y techos
- El primer video muestra la nube de puntos, las cámaras y una interfaz de etiquetado personalizada
- En el segundo video, un deslizador permite ver un walkthrough del interior de la casa
- La imagen de la cámara más cercana se muestra en la parte inferior derecha de la pantalla
Sparse-view y otros casos de entrada
- Toon3D también puede reconstruir escenas con pocas imágenes y grandes cambios de punto de vista
- En situaciones donde COLMAP puede fallar, se pueden agregar correspondencias etiquetadas por una persona con Toon3D Labeler
- Se presentan renders fly-through para dos habitaciones de un anuncio de Airbnb: “Living room” y “Bedroom 2”
- COLMAP no logró recuperar todas las cámaras, pero las etiquetas pueden hacer que COLMAP tenga éxito
- Toon3D produce los mejores resultados en términos de completitud de la escena
Visualización del warping y reconstrucción de pinturas
- Como los cómics están dibujados a mano, es necesario hacer warping de las imágenes para obtener consistencia 3D
- Un video muestra cómo avanza el warping durante la optimización de alineación
- También se incluye una visualización que compara la imagen original, la imagen deformada y el overlap entre ambas
- Las regiones borrosas indican zonas donde ocurrió mucho warping
- Toon3D también se aplica a pinturas dibujadas a mano: predice la profundidad de cada imagen, luego alinea y deforma las nubes de puntos, y genera videos mediante Gaussian refinement
Materiales públicos
- arXiv: paper de Toon3D
- Code: código de implementación
- Toon3D Labeler: herramienta para etiquetar correspondencias y regiones transitorias
- Demo: demo en Hugging Face
- Overview Video: video con el planteamiento del problema y un resumen del método
1 comentarios
Opiniones en Hacker News
Es interesante que hayan usado el edificio de Planet Express de Futurama como ejemplo de inconsistencia 3D.
Creo que el exterior en realidad se parece más a algo generado por computadora a partir de un modelo 3D. Si ves la serie, suelen aparecer tomas de establecimiento que giran de forma suave y compleja alrededor del edificio.
El arte 3D que no parece fotográfico (NPR) se usa en animación desde hace mucho más tiempo de lo que uno pensaría. Hace poco volví a ver la animación de Disney de 1988 "Oliver and Company", y me sorprendió que los autos y los edificios fueran modelos 3D con "cel shading". Al principio pensé que era una remasterización, pero al buscarlo vi que fue la primera película de Disney en usar CGI de forma masiva[0], y lo que vi ya estaba en el original.
La página que encontré dice esto: "This was the first Disney movie to make heavy use of computer animation. CGI effects were used for making the skyscrapers, the cars, trains, Fagin's scooter-cart and the climactic Subway chase. It was also the first Disney film to have a department created specifically for computer animation."
Referencias
0: https://disney.fandom.com/wiki/Oliver_%26_Company
Recuerdo haber visto un texto sobre lo que hacen los animadores 3D para que algo se vea natural. Por ejemplo, hacer que un personaje mida 9 pies porque, con las claves del sistema real, se vería demasiado pequeño cuando pasa la cámara; o hacer una puerta arqueada enorme que en una toma con cierta perspectiva se vea normal; o poner a un personaje pequeño sobre una caja azul fuera de cuadro para que la diferencia de altura extrema no se vea rara. También puede haber un pasillo que en la realidad mediría 1,000 pies, pero que por la forma en que la cámara lo recorre parece de 100 pies dentro de ese mundo, y cada puerta de ese pasillo mide 18 pies de alto.
Si una obra como Futurama usó técnicas así, al hacer ingeniería inversa de esta manera para reconstruir el espacio 3D en el que trabajaron los animadores, podrías ver puertas gigantes, personas de 9 pies y pasillos no euclidianos. Que se vea fluido cuando pasa la cámara no significa que el modelo 3D real tenga sentido desde otros puntos de vista.
Incluso si no hay modelos 3D digitales, a veces los estudios tienen maquetas físicas de los lugares principales para que los animadores las usen como referencia.
Puede haber cambiado con el tiempo o variar de una escena a otra, algo similar a lo que pasa con el modelo de la Enterprise de Star Trek.
Está genial, pero no se me ocurre bien cuál sería una aplicación práctica.
Los dibujos 2D normalmente no tienen un espacio 3D consistente, y el paper lo reconoce, pero no parece haber superado ese problema en un sentido útil. En cuanto uno se aleja de la posición de cámara desde la que fue dibujada originalmente, la coherencia de la escena se debilita bastante.
Un trabajo de un tipo similar podría ser una aplicación.
Otro uso podría ser para estudios de desarrollo de juegos que crean juegos 3D con licencia basados en caricaturas 2D. Serviría como herramienta de visualización durante la planificación y el desarrollo, para iterar rápido y tomarlo como referencia de cómo se traduciría el 2D original a 3D.
Tanto los guionistas como los artistas se inspiraron mucho en Looney Tunes, donde rompen esas reglas porque hacerlo es gracioso.
Aunque probablemente sería mejor usar solo predicción de profundidad y rellenar los espacios vacíos con generación de imágenes, en vez de este proceso de mapeo.
Como estos entornos no requieren un gran esfuerzo de modelado 3D, dudo que haya una aplicación práctica real en este contexto.
Aunque sea tosco, parece trasladar mejor el arte original que algunas implementaciones de juegos basados en caricaturas.
La idea de crear un espacio 3D a partir de imágenes originales inconsistentes es realmente interesante.
Hace unos años intenté algo parecido de una forma tosca y bastante mala, y lo probé no solo con espacios inconsistentes sin una respuesta clara, sino también con imágenes puramente abstractas y no espaciales que, para empezar, ni siquiera intentaban representar un espacio 3D. Era un intento de convertir pinturas abstractas como las de Kandinsky o Pollock en espacios de realidad virtual explorables. Obviamente no hay una respuesta correcta sobre qué significa "caminar dentro de un cuadro de Pollock"; el objetivo era simplemente forzarlo y ver qué pasaba.
El flujo de trabajo era así: 1. partir de una sola imagen original de una pintura abstracta 2. generar otros "puntos de vista" de la "escena" con SinGan 3. aplicar 3d-photo-inpainting o algún proyecto tipo Ken Burns a la imagen original y a las de SinGan, y sacar videos con zoom/rotación/paneo usando mapeo de profundidad monocular 4. meter los fotogramas de 3d-photo-inpainting en una app de fotogrametría. NeRF todavía no existía, y subí todos los ajustes para tolerar errores e inconsistencias al máximo 5. rezar para que el proceso de fotogrametría no explotara. 9 de cada 10 veces crasheaba después de 24 horas, era brutal.
Creo que subí ejemplos a Twitter, pero no encuentro las palabras de búsqueda. Aun así, incluso con el mapeo de profundidad de nivel 2019 salieron videos bastante interesantes a partir de pinturas abstractas: https://x.com/jonathanfly/status/1174033265524690949 Lo más cercano es el resultado de fotogrametría de un video de NVIDIA GauGAN sin consistencia entre fotogramas: https://x.com/jonathanfly/status/1258127899401609217
Me pregunto si este proyecto podrá hacer mejor la misma idea. Tal vez lo intente este fin de semana.
Hace tiempo, después de comprar un Quest 2, me metí en el mundo de la fotogrametría y revisé todo el pipeline para crear modelos 3D a partir de fotos de objetos tomadas desde distintos ángulos.
Usé MeshRoom y algunos programas para limpiar la malla y pasarla a Unity.
Según mi entendimiento superficial, cuando quieres llevar algo a VR en Unity, de modo que puedas caminar alrededor de un objeto, lo clave es crear una malla limpia. Los modelos 3D que generan herramientas como la de este artículo, aunque todavía no la miré en profundidad, se parecen más a una nube de puntos en el espacio 3D. No generan una malla 3D.
Entre las herramientas que vi investigando está algo como https://developer.nvidia.com/blog/getting-started-with-nvidi..., pero eso tampoco crea mallas. Lo veo más como un video, no algo por lo que simplemente puedas caminar en VR.
La motivación implícita era clonar algo tipo Matterport, o convertirlo en modelo y venderlo a inmobiliarias. La parte donde tenía un gran vacío de comprensión, y lo que hizo que perdiera interés, fue que no estaba seguro de cómo automatizar el paso de generar una malla limpia a partir de varias fotos de cámara. Para mí esa parecía la parte más intensiva en trabajo. Después escuché que existen modelos de machine learning capaces de hacer ese paso, pero no sé mucho de ese tema.
Nanite puede manejar mallas muy complejas y simplificarlas algorítmicamente en tiempo real. Básicamente es un sistema LOD avanzado. No conozco sus límites, pero vale la pena intentarlo. Para fotogrametría recomiendo mucho Reality Capture. Es muy barato y se paga por escaneo.
Según entiendo, estas tecnologías toman unas cuantas imágenes como entrada y entrenan un modelo, y ese modelo aprende, en cierto sentido, la mejor manera de renderizar las imágenes como un modelo de la escena. Gaussian splatting representa las imágenes como una especie de "manchas" en el espacio, y cada imagen debe renderizarse usando el mismo conjunto de manchas desde un punto de vista determinado. Así que, si colocas los splats de modo que cada imagen se renderice correctamente, puedes reconstruir la escena.
Actualmente este entrenamiento es muy costoso y hay que repetirlo para cada modelo, pero el resultado se puede explorar en tiempo real.
El enfoque de fotogrametría que usan Matterport y otros es más antiguo y requiere datos de entrada de mucha mayor calidad, pero creo que los enfoques modernos pueden funcionar con menos datos y de menor calidad.
https://github.com/3DTopia/OpenLRM
Aunque dicen que está inspirado en NeRF, el paper base parece haber optado por usar vision transformers. La versión open source parece usar DINO de Meta como uno de sus componentes principales.
Es bastante sorprendente que se pueda tomar una escena imaginada y dibujada por alguien y crear, aunque sea mal, un modelo 3D.
En el futuro, se puede imaginar que un artista dibuje apenas unos bocetos de una escena y aun así obtenga un modelo 3D preciso.
O que un artista 2D haga solo unos cuantos bocetos de poses y de ahí salgan automáticamente un modelo 3D bien estructurado y sus texturas.
En la industria hay mucha preocupación por el impacto que la IA y herramientas parecidas tendrán sobre los artistas, pero también parece posible imaginar un futuro en el que los sistemas de machine learning colaboren de forma más directa con los artistas, en vez de limitarse al renderizado basado en prompts de lenguaje.
No tengo del todo claros mis sentimientos sobre el debate moral del entrenamiento de IA. Lo que más me preocupa no es tanto cómo fue entrenada, sino qué efecto tendrá en las personas. Incluso si un modelo entrenado de manera completamente "ética" crea arte perfecto y los artistas se vuelven una profesión de nicho, podría ser un mal resultado para la civilización en su conjunto, porque creo que tiene valor que los humanos hagan arte y que también tiene valor vivir en una sociedad donde eso sea, hasta cierto punto, sostenible.
Por otro lado, los resultados que la gente produce con modelos de imagen también me sorprenden, así que no estoy seguro. Idealmente, sería bueno poder apoyar a las personas para que hagan lo que quieren aunque no haya mercado, pero el mundo todavía no está listo para eso.
No soy artista gráfico, pero siento que el trabajo de los ilustradores incorpora muchas técnicas de expresión creativa para transmitir significados complejos.
Dicho eso, la desastrosa reconstrucción del espacio 3D que se ve en el video me recuerda la reciente fiebre por los modelos de lenguaje a gran escala.
Es decir, la obra expresiva tiene una conexión clara con la “verdad” o los “hechos” del material base, pero no es lo bastante precisa como para considerarla útil como material de origen para trabajos posteriores.
Sería realmente divertido ver episodios “nuevos” de cómics antiguos. Claro, el caos de derechos de autor que vendría después es otro tema.
Me sorprendió lo mal que reproduce cómo se vería desde el punto de vista de una imagen específica.
Por ejemplo, viendo el Magic School Bus de abajo, parece que se podría ajustar el algoritmo en una dirección que confíe más en la imagen.
Incluso en la animación 3D y el cine, que es donde trabajo principalmente, los fondos o los objetos desenfocados en primer plano muchas veces se distorsionan y se colocan de forma extraña para que se vean bien, aunque no tengan sentido si se mapean a una configuración del mundo real. El arte 2D está todavía menos atado a representar el mundo real.
Al ver aplicaciones como esta, se nota lo increíble que es nuestro cerebro para construir conceptos a partir de representaciones relativamente abstractas, y lo asombrosa que es la capacidad de los artistas para trabajar en esa zona menos definida. Una escena puede sentirse para el espectador como si tuviera una perspectiva coherente, pero el sofá y la mesita del fondo podrían estar dibujados como si se hubieran tomado con un lente de 120 mm, mientras que el primer plano se dibujó deliberadamente apretado, como con un lente de 30 mm. Puede verse bien porque no necesitamos inferir un espacio 3D realista donde existan los personajes; solo necesitamos entender que están en un espacio así. Sabemos qué se siente estar en un espacio y cómo interactúan las personas con él.
El buen arte entrega solo lo necesario para transmitir la idea central, la convierte en el foco del mensaje y deja que el cerebro cree conexiones de forma inconsciente y agregue contexto para formar una “experiencia” completa. Desde el tipo de sofá y mesita, hasta la escala y las relaciones entre objetos que a menudo se deforman o exageran, todo puede ser una capa de comunicación para lograr un efecto artístico intencional, y muchas veces no tiene una representación coherente en el mundo real. También es claro que, en cualquier toma, los objetos pueden moverse para ayudar a la composición o enfatizar una interacción. Si lo notas, es un problema de continuidad; si no lo notas, está bien hecho. En la inmensa mayoría de los casos nadie lo nota, y simplemente siente que vio un mundo cuya composición resulta convincente desde todos los ángulos.
Un algoritmo que ve líneas y tiene que encontrar en el mundo real un escenario que corresponda a esa representación puede estar intentando crear algo que, para empezar, quizá no pueda existir de ninguna forma coherente.
No entiendo por qué, en un sitio lleno de videos, dejan todos con reproducción automática y en bucle infinito.
Estaba viendo un video en la segunda pantalla y, cada vez que abría el sitio, se trababa.
Solo se destrabó reiniciándolo por completo.
Si le mostraran el ejemplo de Spirited Away a Miyazaki, probablemente lo llamaría un insulto a la vida misma.
Así que no es una exageración.
Me sorprende que antes de escribir esto no hayan hablado con un animador 3D. La frase de abajo simplemente está mal
No tengo problema con el proyecto en sí. La investigación es investigación, y tampoco lo están presentando como un “problema resuelto”. Pero entre cierto tipo de gente técnica, las herramientas de imagen con IA provocan una fanfarronería totalmente infundada del tipo ya resolvimos el arte. Como resultado, lanzan suposiciones sin fundamento sobre principios artísticos básicos de forma arrogante y, a veces, con tono condescendiente
Llevo mucho tiempo trabajando en software, sé que la arrogancia del desarrollo de software no es nada nuevo y que a veces incluso puede ser útil, pero creo que rara vez he visto dentro del mundo del software una sobreconfianza colectiva tan intensa sobre un solo tema
Un ejemplo sencillo: en las sitcoms, muchos sets que parecen habitaciones cuadradas en realidad son trapezoidales, con paredes que se encuentran en ángulos obtusos. Casi nadie se da cuenta
Esto era aún más cierto en las obras anteriores al HD. Para que la perspectiva estuviera lo bastante cerca como para leer expresiones faciales y gestos, las personas o personajes tenían que entrar bastante apretados en la pantalla. Incluso si analizas las series más “realistas” y sobrias de esa época, tarde o temprano encontrarás momentos en los que movieron discretamente muebles, o incluso paredes, para que cierto plano funcionara