Fecha actual Jue Nov 21, 2024 1:32 pm


Ingeniería inversa de procesado de imagen con red neuronal

El rincón de los hilos tecnofrikis

Moderadores: IOM60, laucsap60, klomp, Siniestro, Guillermo Luijk, Pablo Valido

Re: Ingeniería inversa de procesado de imagen con red neuronal

Notapor Guillermo Luijk » Vie Abr 05, 2019 9:31 am

Aunque me has dicho que has entendido la explicación, yo creo que no y te digo porqué. Sigues hablando de imagen de entrenamiento, y del número de éstas. No hay imagen de entrenamiento, la red no se entrena con una imagen se entrena con filas de una tabla donde se hace coincidir a un trío de números RGB su correspondiente trío de números de salida. Si he usado esas combinaciones en forma de imagen ha sido solo por comodidad, podrían ser datos en un Excel y daría lo mismo.

Y esos datos representan todas las posibles combinaciones de color RGB que la red tendrá que predecir, por lo tanto no vamos a predecir nada a lo que la red no haya sido expuesta durante su entrenamiento. Uniendo esto al hecho de que no hay ruido (la salida para cada combinación de entrada es justo la que debe ser, de forma determinista), el overfitting no solo no nos preocupa sino que es deseable porque buscamos que la red se aprenda lo más fielmente posible la función de transformación.

Salu2!


Enviado desde mi PRA-LX1 mediante Tapatalk
Avatar de Usuario
Guillermo Luijk
 
Mensajes: 9635
Registrado: Dom Ene 31, 2010 6:37 am
Ubicación: Madrid (a ratos Alicante)

Re: Ingeniería inversa de procesado de imagen con red neuronal

Notapor Fid » Vie Abr 05, 2019 10:15 am

Te lo digo de otra forma, ¿Estás seguro de que en tu conjunto de datos de partida están representadas todas las ternas de números? Yo tengo mis dudas.

Aparte de eso, que ya te dije antes que no puede ser, sólo, el problema. Si así fuera, al pasar de nuevo el conjunto inicial de datos de entrenamiento, está vez como problema, te tendría que dar la misma imagen.

En cualquier caso, cuando pasas el conjunto inicial hay ternas de números que se repiten muchas veces y otras ternas sin representación o poco representadas. Si le pasas otro conjunto de datos obtenido de una fuente distinta (en este caso una foto de algo distinto, un paisaje, por ejemplo), es de esperar que la distribución de ternas sea distinta, con ternas muy representadas distintas de la anterior y ternas poco representadas también distintas a la del otro conjunto.



Enviado desde mi HUAWEI VNS-L31 mediante Tapatalk
Avatar de Usuario
Fid
 
Mensajes: 5028
Registrado: Vie Jun 01, 2012 8:32 pm
Ubicación: Madrid

Re: Ingeniería inversa de procesado de imagen con red neuronal

Notapor rickydh » Vie Abr 05, 2019 10:23 am

Si no me equivoco, está usando la imagen sintética. Y luego lo aplica a imágenes reales. [emoji6]

Saludos.
rickydh
 
Mensajes: 352
Registrado: Vie May 16, 2014 11:55 am

Re: Ingeniería inversa de procesado de imagen con red neuronal

Notapor Guillermo Luijk » Vie Abr 05, 2019 11:23 am

Fid escribió:Te lo digo de otra forma, ¿Estás seguro de que en tu conjunto de datos de partida están representadas todas las ternas de números? Yo tengo mis dudas.

Joe haber empezado por ahí! Claro que lo están, es la típica imagen sintética de 256x256x256 = 16777216 píxeles (4097 x 4096), y ni siquiera la he tenido que crear porque está en la web del astuto y amable Bruce Lindbloom:

http://www.brucelindbloom.com/index.htm ... llion.html

Si pintas su histograma en Photoshop verás que está completamente lleno (porque tiene todos los colores) y es totalmente plano (porque cada color sale una y solo una vez). OJO: tienes que darle al triangulito para que Photoshop muestre el histograma exacto.

rickydh escribió:Si no me equivoco, está usando la imagen sintética. Y luego lo aplica a imágenes reales. [emoji6]

Eso es. La red se "aprende" la imagen sintética de la mejor manera posible, y luego puedes aplicarla a cualquier imagen. Es una forma de tener en formato comprimido (la definición de la red es cortísima), el equivalente a tres LUT's de 50 millones de valores.

Salu2!
Avatar de Usuario
Guillermo Luijk
 
Mensajes: 9635
Registrado: Dom Ene 31, 2010 6:37 am
Ubicación: Madrid (a ratos Alicante)

Re: Ingeniería inversa de procesado de imagen con red neuronal

Notapor Maldoror » Vie Abr 05, 2019 11:51 am

Guillermo Luijk escribió:[*]Emular el procesado JPEG de cámara de cualquier modelo
[*]Copiarle a fulanito ese procesado que deja las imágenes molonas y que fulanito no quiere contar
[*]Hacer la ingeniería inversa de filtros de cine que dan ese look tan cinematográfico
[*]Hacer ingeniería inversa de cualquier tipo de filtros (Instagram, NIK,...)
[*]Emular películas antiguas (Kodachrome, Velvia,...)
[*]Modelar procesos cruzados de película[/list]

Si tenéis algún procesado que os gusta mucho me lo podéis pasar; eso sí, necesito imagen con y sin el procesado (es lo que se llama aprendizaje supervisado: para poder modelar un sistema, necesitamos muestras de la salida exacta que producen determinadas combinaciones de las variables de entrada del sistema).

Salu2!


Aunque no me estoy enterando de nada en este hilo :roll: :roll: , al leer lo de "copiarle a fulanito ese procesado...", he recordado un programa que tengo y utilizo (ahora menos) desde hace tiempo, lo he encontrado, y ¡sorpresa! es de Guillermo, claro. Se trata del Tone Hacker, mi versión es de 2007. Era y es una aplicación interesantísima.
Olympus EM-1 II, EM-1, EM-5 II, EM-10
Maquinaria pesada: Nikon D70, Nikon D300.
FF: Petri TTL, Pentax P30, Pentax SFX

https://www.flickr.com/photos/148748416@N05/albums
Avatar de Usuario
Maldoror
 
Mensajes: 2749
Registrado: Sab Dic 13, 2014 9:54 pm

Re: Ingeniería inversa de procesado de imagen con red neuronal

Notapor pardal » Vie Abr 05, 2019 9:41 pm

Con 'deep learning' sobre fotografias se han conseguido resultados sorprendentes. Por ejemplo a base de entrenar al sistema con imagenes de retinas de ojos con fines de diagnostico medico se ha descubierto que es capaz de descubrir algunos de los parametros de los pacientes.

Por ejemplo, el sistema ahora solo con la foto de una retina es capaz de deducir el sexo de la persona con una fiabilidad del 97% . Lo sorprendente no es que lo consiga, lo sorprendente es que nadie hasta ahora sabia que hay algo en la retina que distigue a hombres de mujeres. Y de hecho seguimos sin saber que es ni como la red neuronal lo hace.
Última edición por pardal el Dom Abr 07, 2019 6:50 pm, editado 1 vez en total
pardal
 
Mensajes: 222
Registrado: Mar May 15, 2012 1:28 pm

Re: Ingeniería inversa de procesado de imagen con red neuronal

Notapor Guillermo Luijk » Sab Abr 06, 2019 10:33 pm

Estudiar la información latente que se forma "por arte de magia" en las capas ocultas de las redes neuronales ha dado lugar a descubrimientos sorprendentes no solo en el campo de la imagen sino de muchos otros, como el del lenguaje y el análisis de sentimiento. La verdad es que solo estamos empezando a entender las redes neuronales. Sabemos programarlas para que hagan lo que queremos, pero no entendemos todavía muy bien cómo demonios lo hacen. Suena parecido a que fuera tecnología extraterrestre que estamos usando pero sin tener ni idea de cómo fue creada [emoji14]

Ya me he cansado de entrenar redes, al que le interese el artículo puesto en limpio:

INGENIERÍA INVERSA DE PROCESADO DE IMAGEN CON REDES NEURONALES

Salu2!
Avatar de Usuario
Guillermo Luijk
 
Mensajes: 9635
Registrado: Dom Ene 31, 2010 6:37 am
Ubicación: Madrid (a ratos Alicante)

Re: Ingeniería inversa de procesado de imagen con red neuronal

Notapor Guillermo Luijk » Jue Abr 11, 2019 1:23 am

Y una foto grande para ver las diferencias entre el procesado original (imagen central) y el logrado por la red neuronal (imagen derecha):

http://guillermoluijk.com/elmomentodeci ... _64_64.jpg

Salu2!
Avatar de Usuario
Guillermo Luijk
 
Mensajes: 9635
Registrado: Dom Ene 31, 2010 6:37 am
Ubicación: Madrid (a ratos Alicante)

Anterior

Volver a PhotoLab



¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 16 invitados