lunes, 23 de septiembre de 2013

Manual Cinelerra #18: Motion Tracking


Esta es una de las ocasiones en las que, por suerte o por desgracia, no puedo dedicar el artículo del blog a divagaciones varias sobre lo divino y lo humano, sino que voy a tener que dar un poco de información extra para completar el asunto que trato en el vídeo. El motion tracking es una técnica compleja, y el flujo de trabajo en Cinelerra es un pelín, cómo decirlo... psicopático... sí, esa es la palabra. Ea, vamos al turrón.

La idea subyacente al motion tracking (o trackeo de movimiento, trackeo, traqueo, como prefiráis, yo a partir de ahora lo voy a llamar MT y al cuerno) es bastante simple: se trata de la aplicación de algoritmos a una secuencia de imágenes que puedan detectar elementos en movimiento dentro de la secuencia. Esta técnica tiene un montón de aplicaciones diferentes, y no todas están orientadas al editor de vídeo casero; podemos encontrar MT o técnicas derivadas en sistemas de seguridad, radares, espionaje... dicho así, ¿a que ya suena más interesante el MT?
Efectivamente, los algoritmos implicados en la detección de movimiento son tan complejos que hasta hace poco sólo algunas grandes compañías audiovisuales, empresas de seguridad y/u organismos militares y/o estatales podían permitirse el lujo de utilizarlos. Y en este contexto aparece Cinelerra con su icono cutre escrito con un rotulador de un euro y ¡zas! ¡a trackear!

Cinelerra, probablemente el software con el logo más feo de todos los tiempos

Pero no es todo tan bueno como parece; personalmente estoy habituado a trabajar rápido con Cinelerra, y encuentro sumamente cómodo su sistema de selección de pistas, fotogramas clave, efectos... de forma que me he llevado una sorpresa desagradable al empezar con esto del MT. El sistema es farragoso, la interfaz es confusa y muy poco amigable, el proceso en sí es largo y si cometes un fallo el resultado es desastroso, en suma, todo lo contrario al trabajo normal con este fantástico programa. El caso es que, con un poco de esfuerzo y siguiendo todos los pasos al pie de la letra, los resultados son perfectos. Así que conviene tener en mente (o mejor, apuntado en un trozo de papel y bien a la vista) todos los puntos del flujo de trabajo. Son los siguientes:

  • Situamos la pista de vídeo; desmarcamos el botón de keyframing (el botón de la llave) y elegimos la visualización de frames en el timeline. Naturalmente, podremos hacer cosas con fotogramas clave, pero de momento para hacer el MT es mejor desactivarlo. Y lo de los frames en la línea de tiempo es para elegir el frame en el que empezaremos a aplicar el MT. 
  • Aplicamos el efecto de movimiento (motion si tenéis Cinelerra en inglés). En esta primera fase del MT, los ajustes serán como los de la siguiente imagen, fijaos en las casillas marcadas y los círculos rojos para dejarlo de una forma semejante:

  • Prestamos atención al frame donde queremos que empiece el MT y lo indicamos en la casilla del efecto. Vamos al frame en el timeline y ajustamos los recuadros con los controladores circulares, de forma que el objeto a trackear esté lo más perfectamente enmarcado posible, y que el área exterior abarque el movimiento, pero no más que el movimiento, para ahorrar procesamiento. 
  • Comenzamos el trackeo. En el vídeo lo hago cuadro por cuadro apretando la tecla 1 del teclado numérico, pero se puede hacer dando directamente al play. La ventaja de hacerlo cuadro por cuadro es que puedo verificar que el MT se hace bien en cada cuadro, y así no me llevo sorpresas después. 
  • Una vez hecho el trackeo, las coordenadas de movimiento estarán grabadas en un archivo situado en la carpeta /tmp. A partir de aquí tenemos que "engañar" a Cinelerra para que aplique dichas coordenadas a una pista diferente. Además, tenemos que cambiar el tipo de trackeo, pasando de estabilización a monitorización, y desmarcamos la casilla de vectores, para que no se vean los recuadros. De forma que vamos a cambiar un poco las opciones del efecto, atentos a las marcas rojas de nuevo:

  • El siguiente paso es crear un duplicado de la capa de vídeo trackeada. En primer lugar desactivamos temporalmente el efecto de movimiento en la pista de vídeo (botoncito en la parte derecha del efecto). Seleccionamos el vídeo (yo lo hago con la tecla A del teclado, pero podéis elegir los corchetes "[ ]" si estáis en una pista compleja), desmarcamos el punto rojo de la izquierda de la pista original, y pegamos en una ista de vídeo nueva. El resultado tiene que ser el siguiente: la pista original (vídeo 1) se queda abajo, y encima la pista nueva (vídeo 2), que mantiene el efecto de movimiento. Si no os aparece el efecto, dadle al botón del triangulito en los controles de pista de la izquierda, y aparecerá. Los parámenttros del efecto de movimiento de la pista 2 son los siguientes  (son los mismos que en la imagen anterior, pero cambiando la acción, en este caso seleccionamos "no hacer nada", más conocida como "acción típica española ante cualquier situación, problema o circunstancia"):

  • Una vez hecha la copia, vamos a hacer que la capa inferior (vídeo 1) no se vea, desmarcando el botón de play (triángulo verde) en los controles de pista de la izquierda. De este modo, aprovecharemos el tracking pero no el efecto que provoca en la pista. El tracking lo aprovecharemos a continuación. Ahora podemos activar de nuevo el efecto.
  • Creamos una nueva pista de vídeo y cargamos la imagen que vamos a trackear. Buscamos el frame exacto donde comenzamos el MT y colocamos la imagen utilizando el control de cámara (ojo, el de cámara, no el de proyector) y moviendo la imagen directamente sobre el compositor. 
  • Ahora vamos a traspasar el efecto de MT desde la capa original de vídeo a la nueva capa de imagen. Hacemos clic derecho sobre la pista de imagen (la que acabamos de hacer) y seleccionamos la opción "vídeo 1: movimiento" en la casilla de efectos compartidos:

  • Este último paso es la clave del "engaño" al programa. Lo que hemos hecho ha sido trasladar las coordenadas de movimiento desde la pista original a la imagen que queremos que se mueva. Para ello hemos comenzado analizando la imagen como si quisiéramos estabilizarla, pero en la imagen usamos las mismas coordinadas para hacer un auténtico trackeo (de ahí el cambio en la opción de acciones). Y como Cinelerra no puede manejar más de una instancia del efecto movimiento, lo que hemos hecho ha sido enlazar el efecto entre las dos pistas. De este modo usamos sólo un efecto, pero en el que "intervienen" dos pistas. 
  • El paso final es sencillo: verificamos que todo ha ido bien (debería ir, si hemos hecho el trackeo correctamente y seguido todos los pasos), nos maravillamos de nuestra astucia y brillantez como directores de cine incomprendidos, y aplicamos cuantos efectos queramos para mejorar la imagen. 
Eso es todo... me quedan algunas cosas en el tintero, que os voy a dejar por escrito a modo de consejos:
  • A Cinelerra le puede costar "ver" el objeto trackeado, especialmente en situaciones de luminosidad pobre en el vídeo, o baja resolución. Para ayudarle un poco, podemos aplicar a la pista trackeada el efecto "brillo y contraste" y aumentar el contraste a lo bestia, intentando que el objeto trackeado se distinga mejor del contexto que le rodea. Una vez grabado el trackeo, podemos eliminar el efecto: lo que nos importa son las coordenadas, que con cambiarán aunque cambiemos el contraste de la imagen.
  • Otro truco que por lo visto funciona es aplicar un desenfoque de movimiento a la pista de vídeo trackeada. Sinceramente, nunca lo he probado, pero podéis intentarlo.
  • A veces, durante el trackeo, observaréis algunos frames sueltos en los que el recuadro de tracking no localiza el objeto. Podeis usar la opción "recalcular" en la casilla de acciones, recolocar el cuadro y continuar con la opción de "salvar a /tmp". 
  • El proceso puede ser muy lento dependiendo de vuestra máquina, de la resolución del vídeo y la complejidad del movimiento. Podéis jugar con la opción "translation search steps", subiendo los pasos; en cualquier caso, el mínimo aconsejable son 1024. 
  • ¡Atención! He tenido un descuido en el vídeo, y no he mencionado que al terminar el trackeo, en la pista original, tenemos que cambiar la opción "capa maestra" y poner "arriba". 
  • el radio del recuadro de tracking es limitado, y observaréis algunos comportamientos raros en varias circunstancias: especialmente cuando lo "estiramos" mucho horizontalmente, o cuando el objeto se encuentra demasiado cerca de un borde. En estos casos, o cuando el movimiento sea demasiado complicado o abarque demasiada cámara, lo mejor es dividir el vídeo en fragmentos y realizar una secuencia de MT independiente en cada uno. Si lo hacemos bien y luego lo volvemos a fusionar no se debería notar la chapuza, y ayudaremos mucho al programa a hacer bien su trabajo. 
Ese es el proceso completo. Creo que es evidente que es el procedimiento más complejo que he explicado sobre Cinelerra, pero no os preocupéis: de lejos es lo más difícil que se puede hacer en edición de vídeo "normal" (no me meto en cuestiones de animación 3D y otras cosas). De todas formas el MT es una técnica que se puede complicar a escalas increíbles, dependiendo de lo que queramos hacer. En este sentido, este artículo es una simple introducción, y puede que continúe haciendo tutoriales sobre el tema. Nos quedaría, por ejemplo, hacer MT con objetos que rotan (imprescindible si queremos el grado 33 de frikismo y hemos decidido hacer nuestro propio vídeo de combate con espadas de luz jedi). 


También se pueden hacer cosas muy chulas, como estabilización de imagen grabada en condiciones de movimiento extremo, como en el siguiente vídeo, realizado, como no, con cinelerra:


Y si seguimos buceando por Youtube podremos encontrar unos cuantos tutoriales que van en la misma línea que lo que yo os he preparado:






También podemos encontrar algunos tutoriales escritos, aunque no hay demasiado material en la red, y todo lo que he encontrado está en inglés. Por ejemplo, aquí y aquí

Todos los contenidos de este blog se ofrecen de forma gratuita y se pueden distribuir libremente. Si piensas que lo merecemos, puedes hacer una donación para el mantenimiento de este blog (o tomarnos una caña a tu salud) haciendo clic en el siguiente botón: