Nodo de Camera Tracker en Fusion
Con excepción de algunas partes, la mayoría del texto que esta abajo procede del Manual de DaVinci Resolve y sólo lo he “traducido” como parte de mi estudio del Nodo.
Este nodo se utiliza para realizar procesos de Matchmoving, Camera Match o Camera Tracking, como el nombre del nodo lo dice, esto es básicamente la reproducción de la cámara que se utilizo durante la filmación/ grabación del material de acción viva en un entorno 3D que nos permita integrar elementos generados por computadora CGI. Esta reproducción o copia virtual de la cámara debe de poseer las mismas características de la cámara real incluyendo su movimiento, inclinación, altura y la longitud focal de los lentes, esto permitirá una integración perfecta de elementos generados en el material filmado.
Aunque Camera Tracking y Matchmoving se pueden utilizar como sinónimos, Camera Tracking se usa cuando el proceso es realizado de una manera automatizada, con software o herramientas especializadas, mientras que Matchmoving implica un proceso manual.
¿COMO FUNCIONA EL CAMERA TRACKING?
El principio del Camera Tracking se basa en “Trackear” (seguir las posiciones) de los elementos fijos de una imagen de un cuadro al siguiente. Es decir los algoritmos que calculan el Camera Tracking siguen la posición de los elementos inmóviles del set, decorado o escenografía.
Cuando dentro del encuadre existen elementos con movimiento propio e independiente al de la cámara, tales como personas o automoviles moviendose , se deben generar mascarillas que aíslen estos elementos para que el proceso de calculo no los tome en cuenta ya que podrían generar errores.
Adicionalmente es de mucha ayuda contar con los datos o metadatos de la cámara, el tamaño del sensor y longitud focal de los lentes utilizados. Otros datos útiles son la altura a la que estaba posicionada la cámara y dimensiones de objetos dentro de la escena o en su caso distancias entre marcas de track, esto no tiene que ser de todo lo que se ve a cuadro si no de algún objeto o marcas que nos sirvan de referencia para la escala de la escena que vamos a generar. Todo lo anterior nos servirá para que la Reconstrucción de la Escena o Solver sea lo mas fidedigna posible y nos ayudara a que la cámara virtual sea lo mas cercana a la real.
El propósito final del Camera Tracker es la generación de una Cámara 3D animada y de una Nube de Puntos (Point Cloud) de la escena filmada. Esta Nube de Puntos es un gran grupo de puntos generados por el Solver que recrean de manera burda en un espacio tridimensional las posiciones de los elementos fijos que fueron trackeados. Esta nube puede ser utilizada como guía o referencia al integrar elementos 3D o 2D en la escena filmada.
EL FLUJO DE TRABAJO DEL CAMERA TRACKING
El proceso de Camera Tracking tiene dos fases principales:
- Tracking, el análisis de la escena
- Solving, el cálculo de la escena virtual en un espacio tridimensional
Una vez completados los pasos anteriores, desde los Parámetros o Inspector exportaremos una Escena 3D que contendrá la Cámara Animada y la Nube de Puntos como elementos principales, otros elementos adicionales son un Ground Plane (el Nivel del Piso), un Nodo de Renderer3D y un Merge3D al que se conectaran todos los Nodos.
EL NODO DE CAMERA TRACKER EN FUSION
En Fusion el proceso de Camera Tracking esta contenido en sólo Nodo o Herramienta, esto descontando los procesos de Lens Distort que se realizan con otro Nodo. El Nodo de Camera Tracker tiene en sus parámetros 6 pestañas, que vistas de izquierda a derecha están en el orden en que se van a utilizar, las cuatro primeras contienen los pasos que se deben de seguir, mientras que las dos últimas son para ajustes y opciones.
Track – Se utiliza para “trackear” el clip o escena.
Camera – Donde, si los conocemos, pondremos los datos de la cámara utilizada en la filmación.
Solve – Calcula la posición de los puntos de Track usados como referencia en un entorno tridimensional y recrea la virtualmente la cámara usada en la filmación.
Export – Generá los nodos de Camera3D y PointCloud, exportandolos en una escena o árbol del entorno 3D de Fusion, estos procesos irán acompañados de un nodo de GroundPlane, Merge3D y Renderer3D.
Options – Donde podemos personalizar el aspecto y visualización de los overlays en pantalla del proceso.
Settings – Esta pestaña es común a todos los Nodos de procesos de Fusión y en ella podemos encontrar áreas para anotaciones y scripts.
CLIPS PROBLEMÁTICOS PARA EL CAMERA TRACKING
Aun cuando el proceso de Camera Tracker funciona mas o menos de una manera automatizada, en ocasiones puede requerir de ayuda. Si uno puede identificar con antelación los problemas potenciales de una escena eso nos puede ahorrar mucho tiempo.
Cierto tipo de escenas pueden causar más problemas que otras, algunos de estos problemas los podemos arreglar o prevenir pero hay ocasiones en las que lo mejor es darse por vencido y pensar en soluciones alternativas. A continuación enlistamos algunos de los tipos de Clips con los que hay que tener cuidado ya que pueden causar muchos problemas durante el tracking de cámara.
Falta de Profundidad
Para su funcionamiento el proceso de Camera Tracking requiere que la escena tenga paralaje o parallax, es decir, debe de poder identificar que objetos están mas cerca y cuales más alejados de la cámara. Si todo se encuentra a una misma distancia, no hay manera de poder calcular la profundidad. En ese caso es mejor saltarse el proceso de Camera Tracking y buscar otra solución.
Locked-off Shots (Cámara Fija o Amarrada)
Si la cámara esta fija no hay manera de calcular que objetos están más cerca o más lejos. De nuevo, no hay que perder el tiempo en esta situación, lo mejor es omitir proceso de Camera Tracker y buscar otras soluciones.
Tripod Pans (Paneos con Tripie)
De forma similar al caso anterior, no hay manera de calcular que objetos están más lejos y cuales más cerca en un paneo realizado desde un tripie fijo. Lo mejor es buscar otra solución.
Green Screen sin Marcas (Filmaciones sobre superficies uniformes)
Aquellas escenas o tomas realizadas contra un green screen o cualquier otro tipo de pantalla para realizar keying y a las cuales no se les hayan colocado marcas de track, no tendán suficientes detalles para realizar el proceso. Sin detalles distintivos que seguir el Camera Tracker va a fallar y tendremos que buscar una solución manual para realizar el trabajo. Lo recomendable al trabajar en este tipo de tomas es agregar marcas de track al green screen, con ello el proceso de obtener un buen track será mas sencillo.
Motion Blur
Movimientos rápidos de cámara y velocidades bajas en el obturador pueden introducir Motion Blur en la toma, lo cual hará difícil encontrar detalles que “trackear”. A veces se puede intentar trabajar este tipo de tomas y ver si hay suficientes detalles para llegar a un buen resultado, pero hay que estar consciente de cuando parar y buscar otras soluciones.
Rolling Shutter
Las cámaras con sensores CMOS (Complementary Metal-Oxide Semiconductor) en ocasiones introducen distorsiones en la imagen debido a que el obturador captura las líneas que forman el cuadro de la imagen con un ligero desfase. Esta distorsión puede causar severos problemas en el Camera Tracking. Una posible solución en estos casos, es crear Motion Vectors (vectores de movimiento) utilizando el nodo de Optical Flow de Fusion para crear nuevos cuadros intermedios sin la distorsión oscilatoria del Rolling Shutter. Para después utilizar esa nueva toma corregida en el Camera Tracker.
Problemas de Paralaje (Parallax Issues)
Cuando objetos que se encuentran a diferentes distancias de profundidad se sobreponen en el encuadre, el área de contacto puede ser malinterpretada como una esquina o borde. Tener un tracker asignado a ese punto puede causar errores al considerar que el paralaje esta variando mientras esos dos objetos estén sobrepuestos. Esto puede evitarse removiendo esos trackers antes de correr el proceso de Solver.
Objetos en Movimiento (Moving Objects)
A veces es difícil hacer una toma donde no haya objectos en movimiento. Personas, Automóviles, Animales u otros Objetos pueden estar, entrar y/o salir del encuadre. Estos objetos que se mueven de forma independiente al movimiento que tiene la cámara deben de ser eliminados del calculo del proceso o pueden causar errores en la etapa de Solving. Puedes solucionar creando mascaras para esos objetos en movimiento y conectándolas a la entrada de Track Mask del nodo de Camera Tracker.
Aquellos shots que no puedan ser solucionados con el Camera Tracker de Fusion, pueden trabajarse en programas dedicados de Matchmoving y Cámara Tracking como Syntheyes, Pftrack o 3D Equalizer para despúes ser importados como una escena 3D o data para el nodo de Camera Tracker de Fusion. Alternativamente también se puede utilizar Mocha que tiene un Camera Solver desde la versión 3 de Mocha Pro.
Las Salidas del Camera Tracker
A diferencia de otros nodos de Fusion, el nodo CameraTracker tiene dos salidas.
La salida principal es una vista 2D, utilizada cuando se esta configurando el Track, refinando la cámara y realizando el primer proceso de Solve.
La salida secundaria se utiliza para el entorno 3D de Fusion, esta se ocupara después de haber realizado el primer proceso de Solve y con ella podremos revisar la ruta de la Cámara Virtual y la Nube de Puntos en un espacio tridimensional. Esta vista es útil al momento de borrar puntos de Track para refinar el Solver y para alinear el Plano del Piso (GroundPlane). Las dos salidas pueden visualizarse simultáneamente en una configuración lado a lado del layout de Fusion.
2D View – Salida 2D
La vista 2D es la vista por defecto del nodo de Camera Tracker, en ella podemos ver la imagen ser trackeada , los puntos de track y sus rutas son desplegados en ella. En la parte superior de esta vista hay una barra de herramientas que contiene las herramientas mas usadas en los procesos de Track y Solving.
3D View – Salida 3D
La salida secundaria del Camera Tracker es una vista de una escena 3D. Para poder visualizar esta salida es necesario conectarla a un nodo de Merge3D o Transform3D y desplegar cualquiera de estas herramientas en el viewport. Esto se debe de hacer después de haber hecho un primer proceso de Solving, en el viewport podremos ver los Locators que formaran la Nube de Puntos y La Cámara generada por el el proceso. Sobre la vista encontraremos herramientas y controles para modificar, borrar, renombrar y cambiar colores de los puntos de la nube.
Autotracking
Tracking es el termino usado para describir el proceso de analisis de una secuencia de imágenes o clip de video. El Nodo de Camera Tracker debe de analizar el movimiento del pietaje antes de que pueda determinar la posición y movimiento de la Cámara Virtual, buscando patrones y características que contengan un alto contraste en la imagen, a los que asignará puntos de Track. Cuando se tiene un amplia distribución de estos puntos de track en la imagen ademas de una larga duración esto contribuye a un mejor resultado del proceso.
Incrementando los puntos de track
A diferencia del proceso de Tracking 2D que se realiza con el nodo Tracker, donde los puntos son determinados manualmente y de uno en uno, en el Camera Tracker los puntos son generados de manera automática, y con los parametros de Detection Treshold y Minimum Feature Separation podemos controlar la manera en que estos puntos son determinados. Si bajamos los valores de estos parámetros deslizando sus sliders incrementaremos la cantidad de puntos que son detectados. Esto puede ser útil si la escena tiene pocos puntos. Sin embargo, hay que realizar estos ajustes con cuidado, ya que añadir demasiados puntos puede generar puntos de track redundantes que harán mas lento y pesado el proceso de análisis sin que esto tenga ningún beneficio.
Previsualizando los Puntos de Track
Para ver los puntos de track en el Viewer, debemos activar el checkbox de Preview Autotrack Locations. Esto mostrara los puntos en color verde, que iran apareciendo mientras reproducimos el clip. Tomando en cuenta esta primera visualización podremos decidir si ajustamos los valores de Detection Treshold y Minimum Feauture Separation para aumentar o disminuir la cantidad de puntos detectados.
Tracking Bidireccional
Al realizar el proceso de autotracking, podemos habilitar el checkbox de Bidirectional Tracking, esto hará que después de realizar el primer pase de tracking,que ira del cuadro inicial al final del clip, se realice un segundo pase en reversa. Este proceso de doble-pase potencialmente puede extender la duración de los puntos de track, al analizar por segunda ocasión los puntos que fueron inicialmente detectados en el primer pase. En realidad no hay una razón de peso para no activar el Bidirectional Tracking, a menos que el clip o secuencia sean muy cortos, es verdad que cuando lo activamos, el análisis será mas tardado pero el beneficio potencial valdrá la pena.
Los Algoritmos de Tracking
El proceso de Tracking tiene tres tipos de algoritmo disponibles para su calculo, estos se pueden seleccionar en la sección de New Track Defaults en los parámetros del Camera Tracker.
Optical Flow
Generalmente la mejor opción. A menos que haya muchos objetos cruzando de un lado a otro de la pantalla en un movimiento cruzado.
Tracker
La segunda mejor opción. Cuando no podemos usar Optical Flow por el cruzamiento de objetos en la pantalla.
Planar
Usado principalmente en tomas simples, donde la mayoría de los objetos son superficies planares, tales como fachadas de edificios.
Enmascarillado de Objetos
Cuando trackeamos un clip, el Camera Tracker genera automáticamente puntos de track sobre detalles característicos (de alto contraste) en la imagen. Sin embargo no todos los detalles que destacan pueden ser de utilidad para el tracking, uno sólo quiere trackear esos detalles que están fijos e inmóviles en la escena. En otras palabras , aquellos objetos que se mueven de forma independiente al movimiento de la cámara, como vehículos y personas, pueden causar fallas de precisión para el tracking por lo que debemos eliminar este tipo de objetos del proceso de análisis.
El primer método para tratar con este tipo de áreas y evitarnos problemas son las Máscaras. Uno debe de conectar la mascara a la entrada Track Mask del Camera Tracker para indicarle al nodo que áreas son las que va a analizar. Por ejemplo Si tuviéramos un clip de una pista de aterrizaje a un lado de la costa del mar , las nubes y las olas del mar seguramente tendrán movimiento por si mismas independientemente del movimiento que tenga la cámara por lo que tendríamos que evitar que sean tomadas en cuenta creando una mascara.
Al crear las mascaras, debemos tomar en cuenta que las áreas que serán analizadas deberán estar dentro del área blanca de la mascara y todo objeto que tenga movimiento en el área negra. Las mascaras para este proceso no necesitan ser precisas, como cuando se utilizan para algún oto tipo de efecto, el objetivo aquí es señalar a grandes rasgos el área que no debe de ser tomada en cuenta en el proceso.
Matching the Live Action Camera / Reproduciendo la Cámara Real
Una vez realizado el proceso de Tracking, el siguiente paso de este flujo de trabajo requiere de introducir, si la tenemos, la información de la cámara que se utilizo en la filmación, el tamaño del Film Gate (Sensor) y la Longitud Focal de los lentes. Esta información debería haber sido anotada durante la filmación para posteriormente ser usada en los procesos de Postproducción. Si se están usando archivos originales de cámara es posible que toda esta información se encuentre en la Metadata del archivo.
Visualizando la Metadata de los Archivos de Cámara.
En el Modulo de Fusion de Resolve seleccionamos el Clip del que deseamos visualizar la Metadata en el Media Pool y abrimos la pestaña de Metadata que esta en la Barra superior a un lado de Inspector y en la ventana que se abre seleccionamos que despliegue la Metadata de la Cámara haciendo click en el boton con tres barras horizontales y una flecha hacia abajo.
En Fusion Studio podemos visualizarla en una de la subviews. Visualizamos el Clip en el Viewport, hacemos click derecho en la imagen y en el menu desplegado seleccionamos Views/Subviews/Metadata. Esto también es posible hacerlo en el modulo de Fusion de Resolve.
En ocasiones no es posible acceder a toda la Metadata de un archivo, ya sea por limitaciones del programa, por limitaciones impuestas por los fabricantes en el manejo de sus archivos o porque en la Metadata de esos archivos no esta contemplada la información que requerimos. Por lo que es de suma importancia que durante la filmación haya alguien encargado de anotar los datos que necesitamos, ya sea por parte del Crew de Cámara, Producción o por alguien del Equipo de VFX.
En el peor de los casos, si la información de esos valores no se puede leer o conseguir, sólo nos queda adivinar. Y aunque el proceso de Solver tratará de encontrar una cámara que se acerque a los valores originales sería de gran ayuda si antes de ese paso introducimos en los datos de cámara algún valor cercano a los de la cámara usada. Entre mas precisa sea esa información, mejores resultados obtendremos en los cálculos del Solver. Lo mínimo que podemos hacer es introducir el modelo correcto de cámara en el menu de Film Gate. Ya que si el Film Gate o Sensor son incorrectos hay pocas posibilidades de que el Camera Tracker calcule correctamente la Longitud Focal del Lente utilizado.
A diferencia de las pestañas de Track y Solve , en la pestaña de la Cámara no hay un botón para ejecutar procesos. Sólo hay que introducir o seleccionar la información de la Cámara y después pasar al proceso siguiente, el Solving.
Procesando el Solver
El siguiente paso de este flujo de trabajo involucra los controles del la pestaña Solve. Solving es un proceso de computo muy pesado, en el que el Camera Tracker analiza los puntos de Track creados para generar una escena 3D. Generando en un espacio tridimensional una Cámara Virtual que copia la Cámara Real y una Nube de Puntos formada de 3D Locators que estarán en las posiciones de los puntos de interés que fueron trackeados. El análisis esta basado en el paralaje de la escena, que es la percepción de profundidad, en la que las cosas mas cercanas a cámara se mueven mas rápido que las que están mas alejadas de ella. Como cuando uno va viendo el paisaje por la ventanilla lateral de un vehículo en el que percibimos como si las cosas en el horizonte se movieran mas lentamente que las que están más cerca del camino.
Los puntos de Track calculados durante la primera parte de este flujo de trabajo en la pestaña Track tiene mucho que ver con el éxito o falla del proceso de Solver, haciendo que sea de suma importancia contar con el mejor track posible desde un inicio. Y aunque las máscaras creadas para los objetos en movimiento ayudan a eliminar puntos de track que pueden causar problemas, siempre existe la necesidad de borrar y depurar puntos de track de baja calidad en la pestaña del Solver. Es por eso que desde el punto de vista del usuario el proceso de solving se debe de pensar como un proceso interactivo en el que uno va refinando los resultados una y otra vez hasta llegar a un resultado optimo.
Como realizar el Solve del Movimiento de Cámara
- Hacer Click en el botón Solve para inicializarlo.
- Seleccionar y Borrar los puntos de Track de baja calidad. Los Rojos o de poca duración
- Volver a correr el proceso de Solve.
¿Como saber cuando parar?
Después de haber hecho un proceso de Solve, bajo el botón encontraremos el resultado del Average Solve Error (a veces llamado error de retroproyección). El valor de este resultado nos dice que tan bien o que tan mal ha sido el análisis del Solve. En general se puede considerar que para material en resolución HD un resultado abajo de 1.0 es bueno, considerando que 1.0 se puede interpretar como un desplazamiento de 1 pixel en el tracking en algún momento de la duración de la escena. Entre más grande sea la resolución del material, el resultado del valor del Average Solve Error debe de ser menor. Para material 4K el promedio deberá estar abajo de 0.5.
Consejos para el Solving
Como ya se ha mencionado, es de suma importancia contar con datos precisos sobre la cámara y lentes utilizados durante la filmación. El tener el tamaño del Film Gate o Sensor y la Longitud Focal del Lente, mejoran significativamente la precisión del Solving. Por ejemplo si la Longitud Focal del Lente que introducimos en la pestaña de Camera es diferente a la que se utilizo en realidad, la solución del Solver NO coincidirá con la cámara real por lo que el resultado no servirá para el propósito deseado.
Adicionalmente, para que el Solver pueda calcular de manera precisa la Cámara y la Nube de Puntos es importante tener:
- Una cantidad balanceada y bien distribuida de puntos de track a diferentes distancias de cámara en el shot. En la que no haya demasiados puntos siguiendo las áreas lejanas del fondo o del cielo, ya que estos no proporcionan demasiada información acerca de la perspectiva de la escena.
- Que los puntos de track estén distribuidos de manera uniforme en la escena y que no estén concentrados sólo sobre algunos objetos o lado de la imagen.
- Que el inicio y finalización de los diferentes puntos de track se traslapen y que no muchos tracks terminen en el mismo cuadro.
Usando cuadros Iniciales o Seed Frames
El Solver funciona inicialmente calculando una solución parcial entre dos Seed Frames, los cuales son seleccionados automáticamente, sin embargo esta selección automática le añade tiempo al proceso. Después de haber corrido por primera vez el Solver, ese tiempo es reportado en los parámetros del Camera Tracker, bajo el botón de Solver. Para acelerar el proceso uno puede seleccionar que Seed Frames utilizar y potencialmente tener un mejor resultado en tracks problemáticos. El Solver utilizara esos Seed Frames y crear una solución intermedia que después extenderá a los extremos del clip.
Pero, seleccionar esos Seed Frames no siempre es recomendable, a menos que el usuario tenga experiencia con los procesos de Camera Tracking. Lo más recomendable es mantener activo el check box de Auto Select Seed Frames y que el nodo realice el proceso por su cuenta. En caso de que nosotros queramos seleccionar los Seed Frames, deshabilitaremos el checkbox y usaremos los sliders de Seed Frame 1 y Seed Frame 2 para seleccionar los cuadros que consideremos nos puedan servir para obtener un mejor resultado.
Cuando seleccionemos los Seed Frames, es importante que estos cumplan los siguiente requerimientos:
- Los Seed Frames deberán tener muchos tracks o puntos de referencia en común.
- Los Seed Frames deberán tener una gran diferencia en su punto de vista o perspectiva.
Hay ocasiones en las que no obtendremos los resultados deseados, tomas en las que la cámara no se mueva lo suficiente para calcular la triangulación de los puntos de interés o tracks producirán buenos resultados. Es durante la filmación donde se inicia la creación de tomas adecuadas para Camera Tracking, ya sea colocando un número suficiente de marcas de track y asegurándose de que la cámara se mueva lo suficiente para crear un cambio de perspectiva que puedan servir para que el proceso del Solver extraiga información de utilidad para el Camera Tracker.
Refinando los Camera Solves
A veces el proceso de Solve sale a la primera, en otras ocasiones nos tomara horas de estar limpiando y refinando los tracks le obtención de un buen Solve y por último habrá ocasiones en las que simplemente no saldrá. Con el paso del tiempo uno va adquiriendo experiencia y empezara a reconocer cuales son son los puntos de track importantes y cuales hay que borrar, uno empezara a identificar que tomas saldrán fácilmente, cuales serán difíciles y cuales imposibles de resolver.
Hay que tomar en cuenta de que borrar demasiados puntos de track durante el proceso de limpieza y refinación hará que el Average Solve Error se incremente, ya que el Solver no contará con suficiente información para trabajar. Específicamente, si en algún momento hay menos de 8 puntos de track en cualquier cuadro de la toma, matemáticamente no habrá suficiente información para resolver el clip, es por eso que es recomendable siempre tener más de 8 puntos y así podremos llegar a un Solve más preciso.
IMPORTANTE: Cuando no se esta familiarizado con los procesos de Camera tracking, uno puede verse tentado a modificar los 3D Splines (Curvas de Movimiento) resultantes del proceso para tratar de mejorar el movimiento de la cámara, Esto debe considerarse como un último recurso. En su lugar, es preferible modificar los puntos de track 2D con los que alimentamos el Solver.
Evaluando la Precisión de un Track
Después de correr el proceso del Solver, a cada uno de los tracks se le asignara un color de acuerdo al grado de precisión o error, indicando que 3D Locators coinciden bien con su punto de Track 2D y cuales no. Esto hace que la eliminación de tracks de baja calidad o con resultados dudosos sea una tarea sencilla.
Código de Colores
- +++ VERDE: Bien. El track es muy bueno.
- +++ AMARILLO: Coincidencia Moderada. Indica un track aceptable.
- +++ NARANJA: Coincidencia Baja. Aceptable en ciertas situaciones.
- +++ ROJO: No hay Coincidencia. El track no esta bien.
Si colocamos el puntero del ratón sobre cualquiera de los puntos de track, veremos que aparece un recuadro que contiene una lista de datos o metadata acerca del punto. En esos datos esta la información del Solve Error del punto.
Para una mejor representación visual de la exactitud o precisión, podemos habilitar la visualización de los 3D Locators en el Viewer, haciendo click en el icono de Retroprojection Locators de la Barra de Herramientas del Viewer.
Después de realizar el proceso de Solver, los puntos de Track son convertidos en una Nube de Puntos, creando 3D Reprojection Locators por cada uno de los puntos de Track. Los 3D Reprojection Locators son representados por una pequeña X cerca de cada punto de Track. Entre mas cercanos o sobrepuestos estén los puntos de Track y esa pequeña X, menor es el error de Solve.
El objetivo al filtrar los trackers es remover todos los de color Rojo y mantener los Verdes. La decisión de mantener los Amarillos y tal vez los Naranjas va a depender de la cantidad de puntos que tengamos en el clip. Muy posiblemente podemos obtener un buen track manteniendo los amarillos, pero si no existen suficientes puntos de track para generar la escena 3D vamos a tener que mantener algunos puntos Naranja.
Que Tracks Mantener y cuales Borrar
Para llegar a un buen resultado en el proceso de Solve, debemos aprender a identificar puntos de track que nos den falsos resultados, podemos enfocarnos en los puntos Amarillos y Naranjas pero no debemos olvidar revisar también los Verdes. Depurando y eliminando hasta quedarse solamente con buenos puntos de track. Para esto hay que tomar en cuenta lo siguiente:
- Sólo mantener aquellos tracks cuyo movimiento este completamente determinado por el movimiento de la Cámara de la Filmación.
- Borrar todo track que este siguiendo objetos en movimiento, personas y aquellos que sean producidos por problemas de Paralaje.
- Borrar todo track que este sobre reflejos en ventanas, agua y otras superficies reflejantes.
- Borrar todo track que siga brillos en movimiento sobre superficies.
- Borrar tracks que claramente no estén haciendo un buen trabajo de seguimiento.
- Borrar tracks que sigan esquinas falsas. Esos bordes generados por el traslape de elementos u objetos del fondo y el primer plano.
- Debemos considerar borrar los tracks que correspondan a Locators resultantes del calculo de una profundidad o Z-Depth incorrectos generados por el solver.
Borrando Tracks Manualmente
Los tracks se pueden borrar de forma manual en el viewer o filtrándolos por grupos. Si vamos a borrar tracks de manera manual es conveniente modificar un poco el viewer para ver los tracks más fácilmente. En la barra de herramientas del Camera Tracker que se encuentra en la parte superior del viewer, podemos hacer click en el botón de Track Trails para ocultar las rutas de los puntos de Track. Esto hará que sólo los puntos de Track sean visibles, facilitando el proceso de selección. En el borde derecho de la barra de herramientas, podemos hacer click en el botón de Darken Image, esto hará que los puntos de track resalten sobre una imagen un poco más oscura.

Para empezar a borrar los Tracks de baja calidad, podemos hacerlo trazando un recuadro de selección en el viewer alrededor de los puntos que deseamos borrar y después presionando DELETE en el teclado o haciendo click en el botón de Delete Selected Tracks de la barra de herramientas del viewer.
Para seleccionar puntos que no están contiguos podemos mantener presionada la tecla SHIFT y en caso de que por error seleccionáramos puntos no deseados, presionando CTRL podemos deseleccionarlos.
Antes de borrar Tracks, hay que tomar nota del valor actual del Average Solve Error, este aparece en la parte superior de los parámetros del Camera Tracker. Es también aconsejable ir borrando los Tracks en pequeños grupos y correr el Solve de una manera gradual, ya que si borramos demasiados Tracks a la vez esto puede tener efectos adversos e incrementar el Average Solve Error.
Borrando Tracks con Filtros
En la pestaña de Solve del camera Tracker podemos utilizar filtros para seleccionar tracks de caracteristicas similares, agrupandolos por su Longitud, Errores de Track y Errores de Solve.

Por ejemplo, por lo general es mejor correr procesos de Solving usando tracks de largas duraciones. Ya que los Tracks de corta duración tienden a ser menos precisos cuando se esta calculando la cámara. Estos tracks se pueden remover usando el filtro de Minimum Track Length en los parámetros del inspector.
Cuando aumentamos el valor de Minimum Track Length estamos fijando un límite que cada punto de track debe cumplir. Tracks con valores abajo del límite aparecerán en Rojo. Luego entonces podemos hacer click en Apply Track Selection Filters para seleccionar esos tracks de corta duración para despues borrarlos con el botón Delete de la Sección de Operation On Selected Tracks.
Porque Exportar una Escena 3D desde el Camera Tracker
Durante su proceso el nodo de Camera Tracker salva todos los Tracks 2D dentro si mismo, si el video trackeado es largo y contiene muchos tracks esto puede resultar en un archivo .comp de Fusion de mas de 1 Gigabyte. Y aunque es posible utilizar el nodo de Camera Tracker dentro del árbol de un compuesto, utilizando su salida 3D, esto puede llegar a ser algo complicado y engorroso a la hora de cargarlo y estar trabajandolo. Es por eso que para obtener un flujo de trabajo más fluido es recomendable exportar los resultados del Camera Tracker como una Escena 3D.
Una vez que los resultados de un Solve son satisfactorios, nos moveremos a la Pestaña Export, ahí podremos generar una solución ligera, exportando un árbol de compuesto que contiene la Cámara 3D, la Nube de Puntos, el Ground Plane y un nodo de Renderer.
Determinando el Origen y Ground Plane de la Escena
En la pestaña Export en su sección de 3D Scene Transform, la opción Aligned esta seleccionada de forma predeterminada. Cuando este parametro se encuentra seleccionado, se nos impide realizar modificaciones a la orientación y escala de la escena, ya sea voluntariamente o por equivocación. Es por eso que antes de poder configurar el Origen y el Nivel o Plano del Piso (Ground Plane) de la escena, debemos cambiar a la opción Unaligned. Una vez que hayamos realizado los ajustes necesarios y determinado esos parametrós, debemos regresar a Aligned para que los ajustes se reflejen en la escena a exportar.
Estableciendo el Ground Plane
Cuando hemos realizado el Solve, el Camera Tracker desconoce si la Cámara que ha calculado esta alineada de forma correcta, si esta de cabeza, girada o inclinada. Es por eso que nosotros somos los que le debemos indicar y establecer el plano o nivel del piso, si es que hay uno.
Despues de activar Unaligned en la sección de 3D Scene Transform, estableceremos el Ground Plane de la manera siguiente:
- Nos ubicamos en un cuadro del clip donde podamos ver una una sección grande del piso con muchos 3D Locators Verdes.
- En el Viewer, con el puntero del ratón seleccionaremos varios de esos 3D Locators del Piso.
- En la sección de Orientation de Export, seleccionaremos la opción adecuada a nuestra orientación en el parametro Selection is, por ejemplo para un piso normal es XZ plane (ground), y haremos click en Set from Selection.
En algunos casos puede ser que el clip a ser trackeado no tenga un piso visible. Cuando esto sucede podemos seleccionar XY Plane, si es que es un muro paralelo a la cámara o seleccionamos la opción más adecuada a nuestro clip.
Estableciendo el Origen de la Escena
Al momento de agregar un elemento CG a la escena, podemos facilitarnos el trabajo estableciendo un origen o centro de la escena.
Para establecer el origen haremos lo siguiente:
- Ubicamos un cuadro donde se vea claramente el área donde queremos establecer el origen.
- En el Viewer, podemos seleccionar un sólo Punto o Locator o varios de ellos en el área donde queremos establecer el Origen.
- En la sección Origin de la pestaña Export hacemos click en el botón de Set from Selection.
Estableciendo la Escala de la Escena
El Camera Tracker tampoco sabe cual es el tamaño de la escena 3D. Para establecerlo usaremos el Parámetro Scale de la pestaña Export. Esto hará posible establecer una escala entre dos o más clips.
En el Viewport identificaremos dos Puntos o Locators, de los cuales sepamos la distancia que los separa, sino lo sabemos simplemente calculamos una distancia aproximada, por ejemplo las dimensiones de una puerta, hueco o ventana, la separación entre dos columnas o dos marcas de track.
Una vez seleccionados esos dos locators presionamos el botón Set from Selection, Fusion nos preguntara por una medida real , 1 metros , 2 metros, etc. y con este dato Fusion establecera una escala para la escena.
Este paso es uno de los que muestra la importancia de asistir a las filmaciones o por lo menos encargar a una persona de la producción la toma de algunas medidas en el set o decorado.
Reactivar ALIGN antes de Exportar
Antes de exportar la escena 3D, debemos reactivar ALIGN en los parámetros de la sección 3D Scene Transform.
Exportando la Escena
Al hacer click en el botón Export en la parte superior de los parametros, crearemos el árbol de una escena 3D que contendrá 5 nodos conectados al Clip original.
- Camera3D
- Point Cloud
- Ground Plane
- Merge 3D
- Camera Tracker Renderer (3d Renderer)
Para trabajar con este árbol, podemos visualizar el nodo Merge3D en uno de los Viewports y el nodo de Renderer en otro.
Al nodo de Merge3D podemos conectar cualquier Shape, Texto3D o Geometría 3D y con la Nube de Puntos podemos guiarnos para posicionarlos de una manera precisa.
A menos que se vayan a realizar ajustes al Track, el nodo de Camera Tracker ya no es necesario y podemos eliminarlo para ahorrar memoria y aligerar el cálculo y proceso de nuestro compuesto.
Esto es a grandes rasgos el flujo de trabajo del nodo Camera Tracker de Fusion Studio así como una traducción/interpretación del manual que hice a manera de apuntes. Existen otros flujos de trabajo más avanzados que implican la corrección de la distorción que los lentes de la cámara producen y espero en un futuro hacer una práctica sobre ello.