Referencia Cinema 4D Funciones Avanzadas Motion Tracker Objeto Motion Tracker
Función disponible en CINEMA 4D Studio
Objeto Motion Tracker

Básico Coord. Footage Trackeado 2D Resolver 3D Reconstrucción

Reconstrucción

Reconstrucción de la escena es una nueva función de Motion Tracker.>

La Reconstrucción va un paso más allá de la reconstrucción de la cámara (que solo genera múltiples vértices 3D) ya que intenta reconstruir el video usando una Nube de puntos 3D o una malla. Además, los colores de los vértices se usarán para colorear los vértices o la malla de acuerdo con el metraje.

El resultado de este tipo de reconstrucción de escena puede, en condiciones ideales (ver Óptima cantidad de imágenes más adelante), ser una Nube de puntos densa o una malla coherente (pero los resultados reales a menudo difieren porque en la mayoría de los casos no hay imágenes ideales disponibles; luego obtendrá nubes de puntos irregulares y aisladas o mallas).

La secuencia de imágenes se ejecuta en el sentido de las agujas del reloj y la Nube de puntos correspondiente.

La reconstrucción de escena no reemplaza un escáner 3D. Las nubes de puntos o mallas que se crean pueden, por ejemplo, servir como orientación en el espacio tridimensional, para recrear objetos y otros fines.

Requisitos para la reconstrucción de escenas

Para tener una reconstrucción de escena exitosa siempre primero debe realizar una reconstrucción exitosa de la cámara, es decir, se realizó un Seguimiento 2D, después de lo cual se reconstruyó la cámara y se hizo clic en el botón Ejecutar solución 3D para completar el proceso (o todo fue hecho automáticamente seleccionando el comando Full Solve del menú principal de Tracker). También puede ser útil calibrar la cámara y las funciones con la etiqueta Restricción, que definirá correctamente la escala y la orientación de la escena reconstruida y de la nube de puntos.

¿Cuándo es exitosa la reconstrucción de una cámara? Este es el caso una vez que se completa el proceso descrito anteriormente y se han agregado una serie de características automáticas o de usuario como objetos secundarios al objeto Motion Tracker. Las características son importantes porque luego se usarán como puntos de partida para la reconstrucción de la escena.

Las pistas 2D existentes ya no desempeñarán un papel para la reconstrucción de la escena.

Metraje óptimo

El metraje óptimo con el que funciona la reconstrucción de escena tiene las siguientes características:

Información útil

Limitaciones

Cómo funciona

El algoritmo que se utiliza es complejo y se describirá aquí brevemente (ya que el nombre de los parámetros será incomprensible cuando se expliquen los parches y las celdas). Afortunadamente, el ajuste Calidad ajusta la configuración según sus propios criterios de calidad.

En términos generales, ¿qué sucede cuando se ejecuta una construcción de escena?


  1. Se seleccionará un rango de fotogramas (al menos 10, más si el movimiento de la cámara es más rápido)
  2. Cada cuadro tiene una posición de cámara (determinada a través de la reconstrucción de la cámara 3D ejecutada previamente)
  3. Cada uno de estos marcos se dividirá en celdas cuadradas usando una cuadrícula.
  4. Un punto 3D en la escena que es visible desde varias posiciones de la cámara tiene una posición 2D en cada cuadro correspondiente. Este punto a su vez se encuentra dentro de una celda.
  5. La reconstrucción de la cámara 3D previamente completada ya generó puntos 3D (las características 3D). Estos se usan para crear parches de inicio. Los parches son puntos en el espacio a partir de los cuales se generará la nube de puntos. Cada parche representa una región de superficie pequeña y plana.
  6. Se definirá un parche y el cel correspondiente para cada cuadro.
  7. Ahora se llevará a cabo un proceso de expansión iterativo durante el cual se crearán parches adicionales basados ​​en los parches existentes (estos se encuentran en la superficie 3D que se va a reconstruir).
  8. Se asignarán nuevos parches a las celdas y la cuadrícula Cel se llenará lentamente. El objetivo es colocar un parche en cada celda (lo que rara vez sucede en realidad).
  9. La expansión de nuevos parches hasta este punto estaba dirigida a celdas vacías.
  10. El proceso de expansión continúa hasta que no se pueden generar nuevos parches que cumplan con los diversos requisitos de filtro interno (cada parche creado se ejecuta a través de una serie de pruebas; si estas pruebas no se pasan, el parche se descartará) o los celdas de todos los cuadros tienen al menos un parche.

En pocas palabras, el algoritmo utiliza vértices 3D existentes (las características de reconstrucción de la cámara en el primer proceso de expansión, los parches de expansiones previas en procesos de expansión posteriores) como una posición inicial y se expande hacia afuera a través de una superficie 3D. Qué tan bien funcione esto depende de la filmación o la escena (así como la reconstrucción de la cámara).

Los parches se asignan a un objeto poligonal llamado Scenepointcloud. Cada vértice tiene un color que se determinó a partir del material de archivo que se agrega al objeto del polígono como una etiqueta Vertex Color. Si lo desea, se puede hacer un "mallado", que generará una superficie de polígono a partir de los vértices reconstruidos.

Preestablecido

Aquí encontrará varios ajustes preestablecidos que definen los ajustes a continuación de acuerdo con los niveles de calidad disponibles. Si no puede lograr resultados aceptables utilizando estos regalos, entonces debe asumir que su metraje no es óptimo (consulte también Metraje Óptimo, verás que se procesan una serie de tareas iterativas. Estos son principalmente la creación de nuevos parches en regiones vacías, la optimización y el filtrado de parches "malos", y luego la repetición de estos procesos. Esta configuración define el número de iteraciones que deberían tener lugar.

Cuanto mayor sea el valor, menor será el número de "huecos" que exhibirá la Nube de Puntos y más largos serán los tiempos de renderizado.

 Configuración Avanzada

Iteraciones [1..3]

Observe cómo los espacios se cierran al aumentar Iteraciones. De izquierda a derecha los valores 1, 2 y 3, respectivamente.

Si echas un vistazo rápido al orden de cómo los procesos internos funcionan Verás que se procesan una serie de tareas iterativas. Estos son principalmente la creación de nuevos parches en regiones vacías, la optimización y el filtrado de parches "malos", y luego la repetición de estos procesos. Esta configuración define el número de iteraciones que deberían tener lugar.

Cuanto mayor sea el valor, menor será el número de "huecos" que exhibirá la Nube de Puntos y más largos serán los tiempos de renderizado.

Submuestreo Footage [0..8]

Hay dos configuraciones que funcionan independientemente una de la otra para la reconstrucción de la cámara 3D (Remuestreo está deshabilitada, también se creará un objeto de polígono con el nombre Scenemesh. Este objeto también tendrá una etiqueta Vertex Color con los colores respectivos.

Submuestreo Footage [0..8]

Two settings that work independently of one another are available for the 3D camera reconstruction (Remuestreo) y la reconstrucción de la escena que define la resolución con la que se usará el metraje para la reconstrucción. La configuración de Submuestreo de metraje se utiliza para la reconstrucción de escenas.

Si el metraje debe procesarse internamente con una resolución más baja para la reconstrucción de escenas, este valor debe aumentarse. Un valor de 0 refleja la resolución original (vea el siguiente párrafo), 1 la mitad de la resolución (en las imágenes, es decir, se compilará una región cuadrada de pexel de 4 píxeles), etc. La reconstrucción de la escena calcula más rápido con el aumento de la resolución, pero la densidad de la nube de puntos disminuirá en consecuencia.

Esta configuración se puede utilizar (por ejemplo, valores superiores a 1) si tiene imágenes con una resolución muy alta cargada. Esto ayudará a reducir los tiempos de procesamiento de alguna manera.

Tenga en cuenta que un valor de 0 para la resolución original no producirá necesariamente mejores resultados que si se establece en 1. Internamente, se usarán resoluciones diferentes, dependiendo de la distancia de la cámara al parche. La resolución que se definirá solo se aplica a una distancia explícita entre la cámara y el parche (que se define con la "cámara de referencia"). La resolución definida se usará para todas las distancias. Si las distancias entre las cámaras y el parche varían mucho, se aplicarán automáticamente resoluciones más bajas y más altas. Sin embargo, si el valor está establecido en 0, no se pueden aplicar resoluciones más altas.

Este mecanismo hace que sea más fácil comparar parches desde varias distancias.

Densidad Punto [1..8]

Densidad de Puntos valores de izquierda a derecha: 3, 5, y 7.

Como se explica en Función, cada cuadro en el metraje se divide en una cuadrícula. El algoritmo intenta calcular un punto 3D para la nube de puntos en cada celda de la grilla. Idealmente (con imágenes óptimas), esto funcionará (en la mayoría de los casos, sin embargo, las lagunas permanecerán).

En cualquier caso, el valor de Densidad de punto define el tamaño de las celdas individuales de la cuadrícula. Cuanto mayor sea el valor, más pequeñas y densas serán las celdas y más densa será la nube de puntos. El valor máximo de 8, el tamaño de la celda será igual al tamaño del píxel, por lo que, idealmente, un punto estará en cada píxel del metraje. Por supuesto, los tiempos de renderización aumentarán de acuerdo con un valor creciente de Densidad de punto.

Tamaño Parche [3..2147483647]

Tamaño Parche valores de izquierda a derecha: 5, 10, 20, 50, 100. Tenga en cuenta el aumento de la calidad con los valores crecientes.

Este algoritmo intenta reconocer regiones pequeñas en el metraje en momentos específicos para definir y optimizar mejor la posición y la rotación de los parches. El valor de Tamaño de parche define el tamaño cuadrado de estas regiones en píxeles. En principio, este valor refleja el Tamaño de patrón en el menú de Seguimiento 2D solo que es para la reconstrucción de escenas:

De nuevo: Cada parche es posteriormente representado por un punto 3D en la Nube de Puntos.

Los valores más altos aumentarán la calidad de la Nube de Puntos en consecuencia, con tiempos de render correspondientemente más largos. Observe en la imagen de arriba cómo, por ejemplo, la distorsión del marco de la ventana y las barras mejora al aumentar los valores de Tamaño de parche.

Detalle Mín Textura [0..100%]

Este valor controla un valor de umbral que utiliza la variación de píxeles de un parche como referencia. Si no ocurren cambios reales dentro de la superficie de un parche, es decir, si es básicamente monótono, sin altos contrastes, un valor mayor de Detalle de textura mínima evitará que se cree un parche (= sin reconstrucción en esta ubicación).

El objetivo de esta configuración es evitar que se creen parches en regiones con detalles de baja textura (por ejemplo, cielo azul constante) aumentando cuidadosamente el valor de esta configuración. Dichas regiones son muy difíciles de procesar y, por lo tanto, propensas a errores.

Si tiene imágenes con un alto nivel de detalle de textura, aumentar este valor puede mejorar la calidad de Point Cloud.

Para resumir, los valores más altos conducen a menos parches/ puntos de reconstrucción de mayor calidad; los valores más bajos crean más parches/puntos de reconstrucción pero de menor calidad.

El valor predeterminado de 0.5% debería ser lo suficientemente bueno para la mayoría del metraje.

Filtro Grupos Pequeños

Filtrar Pequeños Grupos des habilitado a la izquierda, habilitado a la derecha.

Si esta opción está habilitada, la reconstrucción de escenas intentará eliminar regiones de parches pequeñas y aisladas. Observe en la imagen de arriba cuántos clústeres pequeños y aislados fueron filtrados.

La efectividad de este ajuste, sin embargo, depende mucho del metraje y, por lo tanto, también se puede desactivar, ya que los parches pueden eliminarse innecesariamente.

Ángulo Mín [0..180°]

¿Qué ángulo se ve afectado? Imagine una línea recta entre la primera cámara y el parche, y entre la segunda cámara y el parche: ambas líneas se encuentran en el parche. El ángulo entre estas líneas es el ángulo que se ve afectado.

Los parches se procesan desde diferentes posiciones de cámara (las de la reconstrucción de la cámara). Esta configuración garantiza que se mantenga un ángulo mínimo entre las cámaras para evitar que las cámaras vecinas procesen parches que posiblemente no se hayan movido (el parche será casi idéntico).

El valor predeterminado funciona bien para la mayoría del metraje. Para los videos en los que la cámara se mueve muy poco, puede ayudar a reducir el valor ligeramente. Esto, sin embargo, hará que la reconstrucción sea menos precisa. No se deje engañar si la vista se llena de parches y puntos reconstruidos cuando se usan valores más bajos: la cantidad no siempre es igual a la calidad.

Para resumir, los valores más altos conducen a menos parches/puntos de reconstrucción de mayor calidad; los valores más bajos crean más parches/puntos de reconstrucción pero de menor calidad. Los valores que son demasiado altos darán como resultado que no se cree ninguna nube de puntos.

Los diferentes valores tendrán los efectos que se muestran arriba. En sentido horario desde arriba a la izquierda: valores 2 °, 5 °, 10 ° y 15 ° Ángulo mínimo.

 Mallado

Después de que se hayan definido los ajustes en el menú Configuración avanzada, se puede crear una malla de polígono usando estos puntos.

Peso Área [0..100%]
Peso Fotométrico [0..100%]

Ambas configuraciones tienen un efecto similar.

Con valores crecientes, estos ajustes intentarán reemplazar triángulos más grandes con triángulos más pequeños que cubran la misma superficie.

Las superficies defectuosas se evitarán, si es posible. Si se definen valores muy grandes, corresponderá menos malla, dependiendo de la escena.

La configuración de Peso fotométrico funciona un poco más inteligente que la configuración de Peso de área porque también utiliza la información de metraje.

Generar Malla

Si ya se ha realizado una reconstrucción de escena, es decir, ya ha hecho clic en el botón Crear nube de puntos, estos datos se usarán para generar una malla poligonal correspondiente. Las configuraciones de Peso de área y Peso fotométrico se pueden cambiar en cualquier momento y cliqueando en Generar malla generará una nueva malla sin tener que realizar una reconstrucción de escena completamente nueva.

Si no se ha realizado una reconstrucción de la escena, esto se hará y se generará la malla. Los puntos individuales del objeto poligonal corresponderán a las posiciones tridimensionales reconstruidas en el espacio.

Se recomienda generar primero una nube de puntos hasta que esté satisfecho con la densidad y la cobertura antes de dirigir su atención a la malla.

Tip: Asigna una etiqueta Phong a la malla poligonal para suavizarla.

La malla que se generó usando Nube de Puntos a la izquierda. A la malla de la esquina inferior derecha se le asignó un shader de Vértices en combinación con una etiqueta Color Vértices (alternativamente se puede texturizar directamente con el metraje con la etiqueta Mapeado de Cámara).

Las regiones problemáticas en la malla contienen espacios en la nube de puntos. Inicialmente se cerrarán, independientemente de su tamaño, lo que puede generar la creación de triángulos muy grandes y, a su vez, no se vea muy bien. Las dos configuraciones anteriores se pueden usar para disminuir este efecto.

Al hacer clic en este botón comienza la reconstrucción de la escena. El resultado, si tiene éxito, será una nube de puntos de escena con una etiqueta Color de Vértices (en la que se guarda cada color de cada punto del metraje).

Dependiendo de la filmación y la configuración, el cálculo puede tardar de varios minutos en completarse.

Este botón aparecerá en gris si no se cumplen uno o más requisitos previos, por ejemplo: