Connect with us

Guías y tutoriales

Como estabilizar imágenes movidas con Deshaker (Virtualdub)

Publicado

el

En este tutorial aprenderemos a usar el filtro Deshaker para Virtualdub para estabilizar un Timelapse con camara fija que tenga movimiento provocado por el viento u otros factores, o realizado a mano (travellings manuales, etc). Actualizado a Octubre de 2010.

Ni que decir tiene, que al igual que podremos estabilizar nuestras imágenes, podremos estabilizar cualquier video.

PREPARATIVOS

Lo primero que haremos, si aún no lo hemos hecho, es bajarse tanto Virtualdub, como el plugin Deshaker, ambos gratuitos. La configuración de Virtualdub es bastante sencilla, lo más importante que deberemos configurar en las Preferencias en el apartado Images, poner a 25 el valor de cuadros por segundo de reproducción. Además, en Threading, pondremos 1, lo cual habilitará el uso multinúcleo, en caso de usar un procesador con varios núcleos o varios procesadores. Opcionalmente podemos habilitar la aceleración Direct X y 3D, pero es algo minoritario.

Configurando Virtualdub adecuadamente

Configurando Virtualdub adecuadamente

A continuación copiaremos el filtro Deshaker en la carpeta Plugins de Virtualdub, y podremos usarlo al reiniciar el programa.

Como último paso, recordemos que Virtualdub no admite demasiados formatos de video, aunque existen plugins para cargar otros formatos, lo ideal es usar secuencias JPEG (que será lo mayoritario en nuestro caso).

USANDO DESHAKER

El uso de Deshaker comporta dos fases:

En la primera, se analiza el video/secuencia, grabando en un fichero de texto la información de los vectores de movimiento. Es la parte más tediosa, y dependiendo de la cantidad de movimiento y de la resolución, tendremos que usar diferentes settings.

En la segunda, se realiza la corrección en base a la información de los vectores. En esta segunda parte el “feedback” es muy rápido (salvo activando ciertas opciones) y los ajustes que hagamos se verán reflejados al reproducir la secuencia.

A continuación vamos a desgranar cada una de las dos partes, detallando las partes más importantes que nos interesan a nosotros.

Una vez tenemos nuestra secuencia cargada en Virtualdub, procederemos a aplicar el filtro a través de la opción Filters, buscando Deshaker, y aplicandolo. Saldrá la ventana de configuración de Deshaker, que a priori puede asustarnos:

Publicidad
click para ver más grande

click para ver más grande

Lo primero que nos fijaremos será en la zona de la izquierda (PASS 1&2). Aquí hay poco que configurar, pero tenemos opciones la mar de interesantes.

Por ejemplo, tenemos un par de desplegables que sirven para configurar el “pixel aspect ratio” de la secuencia, y si existen “campos” (fields) en la imagen, señal de video entrelazado. No es nuestro caso, asique por defecto las dejamos como están.

Luego existe una opción llamada “Camcorder has a rolling shutter“. Esta es una opción muy útil para camaras que tienen sensor CMOS y que al grabar video se origina un efecto “gelatina” al realizar paneos. Es decir, las líneas verticales aparecen diagonales. Activando esta opción y aplicando el valor correcto, se logra eliminar el defecto, que aplica a muchísimas camaras, incluyendo la famosa Canon 5D Mark II.

¡OJO!, esto es SOLO para cuando se graba video, en nuestro caso son imágenes fijas tomadas en intervalo, no existe efecto “rolling shutter”.

Pasamos a la parte verdaderamente importante, que es el análisis del video en la primera fase.

ANALIZANDO LA SECUENCIA

Por defecto al aplicar el filtro por vez primera estará seleccionada la primera fase. Aquí tenemos unas cuantas opciones. Los parámetros por defecto están optimizados para imágenes de un tamaño pequeño (DV, 720P), y es probable que en un primer escaneo los datos recogidos por la primera fase no sean del todo adecuados. Tampoco existe una NORMA sobre qué parámetros hay que usar, depende mucho de la toma, pero en general:

1) El valor “Scale” lo dejaremos en “Half”, usando “Full” cuando hay bastante movimiento en general. Esto hace que el procesado sea intensivo

 2) El valor “Use Pixels” lo modificaremos en función de la “robustez” del algoritmo, teniendo en cuenta que a más densidad de pixeles, más calidad de tracking

3) El valor “Move “n” pixels in “Wrong” direction” lo podemos subir. De ésta forma el tracking desechará movimientos innecesarios y tratará de seguir SOLO los objetos que están quietos en pantalla. Un valor de 30 es bueno en imágenes grandes y con mucho movimiento

4) El valor “…have match value < “n” (-1000 – 1000)” le podemos poner 600 si vemos que el tracking no ajusta demasiado bien

Existe una completa guía en la WEB oficial del programa, donde los parámetros quedan explicados y para que sirven. En Español, en esta página:

Publicidad

http://www.videoedicion.org/documentacion/index.php?article=140

Una vez hemos puesto los parámetros, pulsaremos OK y volveremos a la ventana principal de Virtualdub. Es ahora cuando procederemos a analizar el video, bien, pulsado el SEGUNDO botón de reproducción de Virtualdub (que permite ver en tiempo real como será la salida), o bien a través de la opción “File->Run Video analysis pass“. Cualquiera de las dos es válida y provocará que se analice el video, viendose la pantalla con montones de flechitas de colores.

Click para ver más grande

Click para ver más grande

El significado de estas flechitas significa: Rojo: Vector no válido. Blanco: Vector válido. Además, nos fijaremos sobre todo en el texto que aparece abajo a la izquierda. Dicho texto es el resultado de trackear cada imagen, y en TODAS debe aparecer BLANCO. Si en alguna apareciese rojo, mal asunto. Ese frame en concreto no se ajustará en la fase 2. Existe una opción llamada “Skip Frame If < “n” % of all blocks are OK“. Por defecto está en 5, pero lo podemos bajar a 1% en secuencias donde exista mucho movimiento.

ANÁLISIS EXTREMO

A veces sucede que la secuencia a analizar no tiene suficientes elementos para ser analizada del modo por defecto, asique tendremos que cambiar algunos valores. Partiendo de los valores POR DEFECTO, los cambios que haremos serán los siguientes:

Initial Search Range: 50%

Diferential search range: 50 pixels

Detect Rotation : ON  Detect Zoom: OFF

Discard Motion of Blocks that…move > 100 pixels in “wrong” direction

Deep Analisys if <25% of vectors are OK

Darker than 15% brightness: OFF

Esto hará que el primer pase sea más lento que lo habitual, pero el análisis será más exhaustivo. Si aún así seguimos obteniendo errores, podemos subir los valores de “Scale” y “Use Pixels” al máximo (FULL/ALL). Y si aún así seguimos sin obtener nada, bajar el tamaño del “block size”.

Ojo porque en este caso el análisis será muy muy profundo y tardará mucho tiempo. Deshaker es capaz de estabilizar casi el 99% de las tomas, pero en casos muy específicos, habrá que recurrir a invertir mucho tiempo.

Publicidad

CORRIGIENDO LA SECUENCIA

Pasamos a la fase 2, donde realizaremos el ajuste para que la camara se quede lo más quieta posible, o que los movimientos que hayamos realizado torpemente, queden perfectamente nivelados.

Así, volvemos a la configuración del filtro, y pulsamos esta vez en el botón “Pass 2”, para activar la parte de corrección. En ésta parte, se usan los datos generados por la primera fase, y se ajustan según los parámetros que definamos:

deshaker03

Lo primero que configuraremos el tipo de borde que usaremos (“Edge Compensation“). De todas las opciones, la mejor es “None (Large borders)“, que lo que hará es generar bordes negros en las imágenes donde exista movimiento, a más movimiento, más bordes. Luego en edición, ya que contamos con un tamaño de imagen bastante grande, escalaremos para quitarlos y listo.

La siguiente sección que tocaremos será la de “Motion Smoothness”. Aquí es donde realmente se realizará el ajuste y el suavizado del mismo. El único valor a dejar a “0” es el de Zoom, ya que si ponemos aunque sea el valor “1”, se producirán movimientos indeseados no controlables.

El resto de valores, podemos subirlos o bajarlos todo lo que queramos. Aquí la regla es que a mayor número le pongamos, más suavidad tendrá el movimiento. En un plano estático no tiene sentido, pués la corrección será perfecta, pero si realizamos un travelling manual, el movimiento será más suave, por ejemplo. En planos estáticos es mejor ponerle valores pequeños (sin llegar a cero, ya que se desactivaría esa corrección y no estabilizaría), mientras que si son trávellings en movimiento contínuo, se le puede ir poniendo valores hasta dar con la corrección deseada.

Por último, tocaremos la parte final (“Max. correction limits”), que digamos que actua como limitador de porcentaje y grados sobre la corrección. Aquí lo mejor es subir los valores a 99. Todos. Esto hará que no existan límites a la hora de corregir el movimiento.

Es hora de cerrar la configuración y reproducir de nuevo la secuencia. Esta vez con la corrección aplicada. Si lo hemos hecho bien, los movimientos quedarán estabilizados y habremos salvado nuestra secuencia. En el caso de apreciarse algún tipo de movimiento, podemos ir de nuevo a la fase 1 para tocar algún parametro que haga que el tracking sea más exacto, o bien subir o bajar los valores de “Motion Smoothness“.

Como última instancia, podemos generar un primer estabilizado, y luego aplicarle un segundo estabilizado.

Si tenemos varias tomas similares, podemos reutilizar los settings, bien cargando la nueva secuencia directamente y realizando la pasada 1 y 2 sin tocar nada, o bien salvando los settings a través de la opción “Save Processing Settings” del menú File

(Visited 1.077 times, 1 visits today)
Publicidad