Hola Visitante

Autor Tema: Amenabar: programa para eliminar personas de las fotos  (Leído 4070 veces)

Desconectado Guillermo Luijk

  • caborian
  • ***
  • Mensajes: 531
    • GUILLERMO LUIJK - bits&fotografía
Amenabar: programa para eliminar personas de las fotos
« en: Marzo 15, 2007, 01:04:47 »
Pues eso, es un programa para eliminar automáticamente a la gente, los coches o todo lo que se mueva (se llama Amenabar por la escena de 'Abre los ojos' en que Eduardo Noriega aparece corriendo por la Gran Vía totalmente desierta (claro que creo que a él le cerraron los accesos y no necesitó de estas artimañas jeje).

Honestamente, no es muy usable porque como veréis es muy exigente con la toma, pero me entretuve haciéndolo y aquí os lo muestro. Pudiera ser de aplicación en arquitectura, fotos de lugares turísticos, y de calles o parajes concurridos en general. A diferencia de lo que hace un filtro neutro forzando un largo tiempo de exposición (donde se promedia todo lo que discurre por delante de la cámara fundiendo así a los transeuntes con el fondo y dando la impresión de que estos "desaparecen"), este programa clasifica los pixels de las distintas tomas en fondo o persona, de modo que lo que no queda clasificado como fondo es descartado y desaparece de la imagen final.

Éste es el GUI del programa (una primerísima versión, ya se me han ocurrido varias mejoras del algoritmo sobre todo):



Requisitos:

- Varias fotos, cuantas más mejor, de aquello en que queréis eliminar a la gente (para probar el programa de manera virtual podéis coger una foto, copiarla n veces, y guarrear de un modo distinto cada copia, a ver qué pasa).

- Hechas con trípode y en modo manual para tener exactamente la misma velocidad y apertura en todas ellas y por tanto exposición. También bloquear el enfoque (una vez enfocada la zona de interés ponerlo en manual y no tocarlo).

- Hay que dejar pasar tiempo entre toma y toma para dar tiempo a los "pesados" a irse (ver a la cuchipanda que espera el bus en el ejemplo), pero tampoco demasiado para que no cambie la iluminación (a mí me ha pasado, desde que he empezado a tomar hasta el final ha bajado 1/3 EV porque se ponía el sol), por ejemplo si está amaneciendo, atardeciendo o pasan nubes.

- En general cuantas más fotos mejor, pero lo realmente importante es que los obstáculos cambien de posición de unas a otras. Es decir: es más fácil eliminar a mucha gente pero que aparece por sitios diversos aunque tengamos pocas fotos, que eliminar obstáculos que aparecen siempre por la misma zona de la foto (los coches como veremos luego son un gran enemigo).

- Todas las fotos de igual tamaño. Yo además las he tirado en JPG para ahorrarme el revelado en condiciones de iluminación uniformes.


Manual de uso:

1. Ponemos todas las fotos en una carpeta solo para ellas. Pueden ser TIFF, JPEG, BMP o GIF mezlados. Eso sí han de tener el mismo tamaño en pixels.

2. Con '...' seleccionar una cualquiera de ellas para que el programa sepa el directorio de donde habrá de leer.

3. Este paso es opcional, pero muy recomendable. Se trata de crear una imagen de referencia con una máscara. Elegir de las fotos anteriores aquella que esté más limpia de obstáculos, hacer una copia y pintar con rojo puro (255,0,0) una máscara encima de todo aquello que queremos eliminar. De usar dicha máscara que como digo es opcional, el programa sólo procesará las áreas pintadas en rojo, dejando el resto de pixels tal cual aparecen en esta imagen patrón de referencia. La máscara no puede ser un JPEG (usar TIFF o BMP) ya que los bordes de la zona roja deben estar perfectamente delimitados. Si usáis PS para pintar la máscara, usar un lápiz con dureza 100% ya que el pincel aplica cierto suavizado antialiasing en los límites de donde se pinta.

Esta máscara como digo no es obligatoria, pero sí muy recomendable para:
- Un procesado mucho más rápido (6 veces o más), ya que sólo se procesan las áreas pintadas.
- Preservar aquellas partes que, perteneciendo al fondo, pueden moverse de una toma a otra (sombras que se mueven con el sol, agua que fluye, hojas de los árboles mecidas por el viento, humo, una bandera que ondea,...).
- Evitar efectos indeseables en áreas que siendo afectadas por obstáculos móviles en muchas de las tomas, están sin embargo limpias en la imagen de referencia con máscara.

El fichero de máscara se puede guardar en el mismo directorio que las fotos ya que caso de seleccionarla, el programa la ignora a efectos del procesado de recuperación del fondo. Para usar la máscara hay que seleccionarla con el segundo '...', el que indica 'Red mask'.

4. Elegir un umbral (típ. 5%) para crear los clusters de color: se considerará que 2 pixels tienen el mismo color si difieren en menos de este umbral. Modificando este parámetro conseguiremos mejores o peores resultados en los casos más rebeldes. En general valores demasiado bajos pueden provocar que aparezcan pixels espúreos de color indeseado, entre otros correctos. Valores demasiado altos permitirían amplias zonas donde el color proviene de promediar el fondo junto con los obstáculos, dando lugar a que estos aparezcan como difuminados ("fantasmas").

5. Elegir un modelo de color. El absoluto es el recomendado. Aun estoy haciendo pruebas con el relativo; la idea de éste último es mejorar los resultados cuando tratamos de eliminar obstáculos oscuros sobre un fondo más claro (por ejemplo las ruedas y la sombra de los bajos de los coches contra el aslfalto soleado de una calle).

6. Con 'Remove' el programa hace sus cálculos (para 17 imágenes de una calle concurrida de 2Mpx cada una, mi P4 con 2GB tarda menos de 30s si uso la máscara, 3min sin máscara). El resultado se guarda en la forma: "RemovedFiles17_TH5%_Mask_AbsMode.tif" indicando el número de imágenes origen, y los parámetros usados.

La imagen resultante de la limpieza se guarda en el mismo directorio que las demás, pero si repetimos el procesado (por ejemplo con otro valor umbral), será ignorada por lo que no hace falta quitarla de ahí.

Os pongo el ejemplo. Tenemos 17 toma de una calle petada de gente y coches. Estas 6 son una muestra (todas son del estilo, algunas con más obstáculos pero no menos):



Escogemos la de abajo a la derecha, con el chaval de la camiseta roja, para pintar nuestra máscara. Esto se hace de manera rápida sin tener demasiado cuidado, o no tendría gracia. Pensad que no utilizar máscara viene a ser equivalente a usar una máscara que ocupe toda la foto.


Y el resultado:


Aquí a tamaño real

La gente de la parada del bus la he dejado fuera de la máscara porque no se fueron en todo el tiempo en que hice las tomas. Son lo que yo llamo "saboteadores". Así que es imposible recuperar su fondo.

Han quedado unos pocos pixels oscuros en la calzada en la parte derecha de la farmacia, pero el resultado global es muy bueno.
Los coches son una pesadilla; estoy convencido de que eliminar solo personas en edificios turísticos por ejemplo, requiere de muchas menos fotos y funciona mejor aún.

Lo podéis bajar de aquí (Software - Amenabar):
Amenabar

Un saludo y espero vuestros comentarios.


PD: como prueba de fuego traté de ponerlo en práctica en la Gran Vía en hora punta. Pero no había manera :( prácticamente todas las áreas de asfalto aparecían más tiempo tapadas por un coche que al descubierto con lo que os imgináis el resultado. Para casos así, hay que esperar a que haya una manifestación y corten el tráfico:



« Última modificación: Marzo 15, 2007, 09:01:53 por _GUI_ »

Desconectado raғa eѕpada

  • Administrator
  • ******
  • Mensajes: 8.055
Re: Amenabar: programa para eliminar personas de las fotos
« Respuesta #1 en: Marzo 15, 2007, 07:36:51 »
Me dejas flipado... muy bueno... ahora no tengo ningún ejemplo a mano... pero intentaré hacer algo con esto...
rafa

Desconectado Félix

  • Moderadores
  • ******
  • Mensajes: 14.579
  • Joder... ¡cuanto tiempo hibernado!
Re: Amenabar: programa para eliminar personas de las fotos
« Respuesta #2 en: Marzo 15, 2007, 08:06:03 »
 :o :o

Yo también alucino... Ya estoy preparando el trípode... y voy descargando el programa... :wink:
La incomprensión es la puerta de la revolución. Una revolución tranquila pero imparable.

No acostumbres a esconder, debajo de la alfombra, las miserias de este mundo.

Desconectado Goldenblatt

  • Colaborador redaccion
  • ****
  • Mensajes: 1.930
  • ---por Lourdes--- En plena desevoluzzione
    • Galeria en Flickr
Re: Amenabar: programa para eliminar personas de las fotos
« Respuesta #3 en: Marzo 15, 2007, 08:07:25 »
gracias por el enlace!!!  :D

por cierto, esas fotos son de al lado de mi casa... como me hayas borrado a mi!!! :evil: :evil: :evil:
Con más equipo que talento

Galeria: http://www.flickr.com/photos/goldenblatt/

Desconectado Policarpo

  • supercaborian
  • ****
  • Mensajes: 1.806
  • Capoiro Vocal del Departamento de Cata y verificac
Re: Amenabar: programa para eliminar personas de las fotos
« Respuesta #4 en: Marzo 15, 2007, 08:36:25 »
Se agradece. Si tengo la  camara este finde, lo probaré, es cojonudo. Como muchas cosas de esta vida solo hay que pensar y esto esta bien pensado.


Desconectado nati

  • Colaborador redaccion
  • ****
  • Mensajes: 8.109
Re: Amenabar: programa para eliminar personas de las fotos
« Respuesta #5 en: Marzo 15, 2007, 08:49:03 »
Yo ya lo tenía descargado de otro dia, pero como soy muy torpe con el inglés me vienes de maravilla con las instrucciones de hoy.

Con lo que a mi me molestan los intrusos en mis fotos ,... :o :o

         saludos

                      nati

Desconectado JASELNIKON

  • superconejo
  • ******
  • Mensajes: 4.084
  • Y conoceréis la verdad, y os hará libres
    • oskarcalero
Re: Amenabar: programa para eliminar personas de las fotos
« Respuesta #6 en: Marzo 15, 2007, 09:32:48 »
Enhorabuena.
Cum Laude tío.
Vaya curro.

Un saludo.

Desconectado sacavera

  • cabor
  • **
  • Mensajes: 434
    • mi web
Re: Amenabar: programa para eliminar personas de las fotos
« Respuesta #7 en: Marzo 15, 2007, 12:18:43 »
eres un crack, ya flipe con el tone hacker, y ahora me has dejao acojonao...

gracias, lo probaré

Desconectado John Silver el Largo

  • superconejo
  • ******
  • Mensajes: 5.024
  • A bordo de La Hispaniola
Re: Amenabar: programa para eliminar personas de las fotos
« Respuesta #8 en: Marzo 17, 2007, 09:01:51 »
Impresionante. A ver si inventas un programa para hacer desaparecer suegras.

Desconectado J. Alfaro

  • superconejo
  • ******
  • Mensajes: 7.799
    • www.jalfaro.com
Re: Amenabar: programa para eliminar personas de las fotos
« Respuesta #9 en: Marzo 17, 2007, 09:11:57 »
Tiene buena pinta sí ! :gtti:

Desconectado LOBO

  • superconejo
  • ******
  • Mensajes: 6.463
  • q no soy calvo q me molan las gorras y punto :-D
Re: Amenabar: programa para eliminar personas de las fotos
« Respuesta #10 en: Marzo 17, 2007, 16:20:14 »
Ideal pa deportes como rallies, etc, ya no hay excusas :D

Desconectado obiw

  • superconejo
  • ******
  • Mensajes: 3.237
  • A quien teme preguntar, le avergüenza aprender.
    • Mi galería de fotos
Re: Amenabar: programa para eliminar personas de las fotos
« Respuesta #11 en: Marzo 17, 2007, 18:17:04 »
Pues tiene muy buena pinta, me lo bajo, me lo guardo, y con un poquito de tiempo lo toqueteo, aunque no sea yo muy fan de eliminar gente de los sitios, pero bueno.

Gracias por el curro y por compartirlo ;)

Nikon F100 - Nikon D700
Nikkor AF-50mm D F1.8 -Nikkor AF-S-70-200 F2.8 G VR - Nikkor AF-28-105 - Nikkor AF-S 24-70 2.8
Nikon SB-900

Desconectado superbo

  • cabor
  • **
  • Mensajes: 369
  • !!ABAJO LAS DROGAS!! atentamente los del sotano
    • Dmaciasblog
Re: Amenabar: programa para eliminar personas de las fotos
« Respuesta #12 en: Marzo 17, 2007, 18:31:58 »
Impresionante. A ver si inventas un programa para hacer desaparecer suegras.

 :silba: :silba: :silba: :silba:

tiene muy wena pinta el programa, solo que ahora el que estorba es el que esta detras de la camara, que es un  :pakete:  :lol:

un saludo

Desconectado Spider Jerusalem

  • supercaborian
  • ****
  • Mensajes: 1.580
Re: Amenabar: programa para eliminar personas de las fotos
« Respuesta #13 en: Marzo 17, 2007, 21:27:38 »
 :gtti: :gtti: :gtti: Que jefe estás hecho :)