Fecha actual Dom Jul 14, 2024 10:01 pm


Panasonic S9 'Clear S LUT' - ingeniería inversa con red neur

El rincón de los hilos tecnofrikis

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

Panasonic S9 'Clear S LUT' - ingeniería inversa con red neur

Notapor Guillermo Luijk » Mar Jun 04, 2024 12:26 am

En la galería de DPreview de la Panasonic S9 vienen varias versiones de una misma foto con las LUT al vuelo de la cámara:

https://www.dpreview.com/samples/801005 ... t-examples

Como además de las LUT viene una imagen con revelado estándar, he modelado la transformación que nos llevaría de este revelado estándar sin LUT hasta la imagen equivalente con la LUT aplicada con una red neuronal (de 2 capas con 32 nodos por capa, que ya me sabía que es capaz de este tipo de procesado):

http://guillermoluijk.com/datosimagenso ... s9lut0.png


Esta forma de definir la transformación que hace la LUT es hipercompacta: la red se describe completamente con unos pocos números con signo (1283 valores numéricos en este caso), cuando una LUT 3D matricial bruta en 8 bits requiere 50 millones de valores. El precio a pagar es cierto error (que ahora veremos que es pequeño) y que aplicarla es menos rápido. El error medio sobre la imagen de entrenamiento es muy bajo, imperceptible a la vista. En niveles de 8 bits:

http://guillermoluijk.com/datosimagenso ... s9lut2.png


Calculada la red se la aplico a otras dos imágenes. El resultado debería ser muy próximo a usar esas LUT en la cámara con esas dos escenas. Aquí puede verse la imagen usada para entrenar la red neuronal: original arriba a la izquierda, la LUT de cámara arriba al centro, y la emulación que hace la red neuronal de la LUT arriba a la derecha.

http://guillermoluijk.com/datosimagenso ... s9lut1.png

http://guillermoluijk.com/datosimagenso ... onics9.gif

Antes de hacer el ejercicio con la red neuronal lo he intentado con curvas RGB, pero no es posible. El procesado que hace la Panasonic tiene una dimensionalidad mayor de lo que puede lograrse con 3 curvas.



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

Re: Panasonic S9 'Clear S LUT' - ingeniería inversa con red

Notapor Chemax » Mar Jun 04, 2024 10:25 pm

Hay que ver lo que sabes y lo que haces, se queda uno boquiabierto. :o

Tienes un tipo de pensamiento científico,, analítico, y práctico envidiable, y encima haces unos experimentos sorprendentes.

¡Saludos!
Chemax
 
Mensajes: 1996
Registrado: Vie Ago 13, 2021 10:05 am
Ubicación: Salamanca

Re: Panasonic S9 'Clear S LUT' - ingeniería inversa con red

Notapor Guillermo Luijk » Dom Jun 30, 2024 8:12 pm

Bueno sigo con ejercicios de cálculo de LUTs. Aprovechando que Fuji ha sacado la emulación de película Reala Ace por firmware para varios de sus modelos (francamente me llama bastante la atención la locura de algunos con las emulaciones de película de Fuji, entre vosotros y yo no les veo tanto interés pero bueno), he empezado a emular estos procesos como la transformación que se ha de aplicar al modo Provia (que se considera el estándar o punto de partida) para llegar a los demás.

Así la imagen Provia original ideal sería aquella que mejor represente las imágenes (JPEG o revelador RAW) promedio que puedan hacerse con cualquier cámara, porque el objetivo es poder aplicar estos procesados a imágenes aleatorias que uno cree con otras cámaras,...

Lo que he hecho es lo siguiente:
  • He tomado de la web de Fuji la imagen de las casetas de colores en sus versiones Provia y Eterna Bleach Bypass (no por nada, sino porque es la que más se diferencia de Provia lo que resulta más complicado de modelar).
  • Con ambas imágenes he entrenado una red neuronal (2 etapas con 32 nodos por etapa). El objetivo es ver si esta red es capaz de emular el proceso que lleva de Provia a Eterna Bleach Bypass con fidelidad.
  • Para comprobar lo bien/mal que funciona la emulación, se la aplico a una imagen nueva que la red neuronal nunca vio durante su entrenamiento (el burro), comparando el resultado con el proceso original Eterna Bleach Bypass de Fuji.

El resultado es muy bueno, aunque con bastante más desviación que lo que me suele salir con este tipo de proceso. Pero para haberlo emulado con una sola imagen de la Web de Fuji no está nada mal (se trata de ver cómo de parecidos son los dos burros del final)

http://guillermoluijk.com/misc/eternabl ... ass_NN.jpg

El paso siguiente que voy a dar es usar la red neuronal para construir un archivo LUT estándar (.cube) que pueda usarse en cualquier programa o proceso que soporte LUTs, para aplicar la emulación Eterna Bleach Bypass a cualquier imagen. Estoy viendo que las LUT existen en distintas longitudes (número de muestras del archivo .cube). Alguien que suela manejarlas sabe el estándar?

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

Re: Panasonic S9 'Clear S LUT' - ingeniería inversa con red

Notapor Chemax » Dom Jun 30, 2024 9:17 pm

Creo recordar que en modelos de hace unos años de cámaras Nikon se podían cargar perfiles de color modificados para asemejarse al color que daban otras cámaras como las Fuji, incluso le mandé el vídeo a un amigo, pero si pudiera hacerse eso en otras cámaras, sin importar la marca pienso que tendría bastante éxito. Como sin duda lo tendrá si consigues aplicarlo en forma de LUTs para programas de revelado o edición.

Pero me quedo alucinado con lo que sabes y cómo lo aplicas.

Espero que le saques buen rendimiento ya sea económico, o bien reconocimiento a tus ideas por parte de los fotografos y videografos si se puede aplicar al vídeo, que creo que sí, porque me parecen tan interesantes que se merecen una cosa y otra. Más de un Youtuber se saca un dinero extra vendiendo LUTs sin tener ni la mitad de conocimientos que tú.

¡Enhorabuena!

Saludos.

PD: Encontré el vídeo, te lo paso por si te es útil:

Crea perfiles de FILM en tu Nikon como si fuera una FUJI!

https://www.youtube.com/watch?v=bakyDCy3TRg

Chemax
 
Mensajes: 1996
Registrado: Vie Ago 13, 2021 10:05 am
Ubicación: Salamanca

Re: Panasonic S9 'Clear S LUT' - ingeniería inversa con red

Notapor Guillermo Luijk » Lun Jul 01, 2024 12:49 pm

Gracias por tus palabras Chemax, aunque creo que exageras :P Hago estos ejercicios por practicar con las herramientas, en realidad no me interesan las simulaciones de película así que son solo una excusa. De hecho me llama la atención la expectación que sí crean entre usuarios Fuji, si al final no dejen de ser presets más o menos afortunados. No crees que la gente se vuelve demasiado loca con esto? hay una simulación relativamente nueva que se llama "Reala Ace", modificación muy sutil de la Provia, y están muchos usuarios de Fuji deseosos de que se incluya en el firmware de su cámara.

He visto el vídeo y efectivamente, parece que las Nikon soportan un tipo de fichero de que un modo u otro implementa un perfil o procesado cocinado del JPEG de cámara. Son todo radios de la misma rueda.

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

Re: Panasonic S9 'Clear S LUT' - ingeniería inversa con red

Notapor Chemax » Jue Jul 04, 2024 9:45 am

Guillermo Luijk escribió:Gracias por tus palabras Chemax, aunque creo que exageras :P Hago estos ejercicios por practicar con las herramientas, en realidad no me interesan las simulaciones de película así que son solo una excusa. De hecho me llama la atención la expectación que sí crean entre usuarios Fuji, si al final no dejen de ser presets más o menos afortunados. No crees que la gente se vuelve demasiado loca con esto? hay una simulación relativamente nueva que se llama "Reala Ace", modificación muy sutil de la Provia, y están muchos usuarios de Fuji deseosos de que se incluya en el firmware de su cámara.

He visto el vídeo y efectivamente, parece que las Nikon soportan un tipo de fichero de que un modo u otro implementa un perfil o procesado cocinado del JPEG de cámara. Son todo radios de la misma rueda.

Salu2!


Tal vez sí se vuelvan un poco locos con el tema, aunque hay que reconocer que como muchas personas quieren subir las fotos a redes sociales a veces con cierta inmediatez, les resulta más atractivo usar un perfil de estos directamente sin tener que editar más la foto y además correr el riesgo de estropearla.
En vídeo, por ejemplo, el perfil Eterna de Fuji es popular por eso, porque queda atractivo sin tener que manipular mucho el color y demás parámetros.

Por eso creo que mucha gente querría conseguir lo mismo con otras marcas, y además, ven las fotos hechas con Fuji y les parecen más atractivas.

En otros casos puede que sea la forma más fácil de conseguir un toque diferenciador.

En cuanto a lo de sacar partido a los LUTs, hay algunos que se lo montan muy bien. En Youtube veo de vez en cuando los vídeos de un francés que hace fotografía callejera, usa cámaras Sony y vive en Tokio y no sé cómo lo hace, pero hasta las fotos más casuales y apresuradas son geniales. Una vez hechas, muestra el original y después la versión editada con sus propios LUTs o Presets para venderlos y casi todas tienen ese toque Fuji.

Entonces quien lo ve se queda alucinado porque le gustaría conseguir lo mismo. Yo el primero, porque menudas fotos que hace el tío.

En fin es un tema que da para hablar mucho, igual que cuando se quiere conseguir un B/N impecable directo de cámara y ve que las Leica o las Fuji le gustan más, pero le parecen caras y querría conseguir lo mismo con cámaras más baratas.
Lo veo lógico en cierta manera.

¡Saludos!
Chemax
 
Mensajes: 1996
Registrado: Vie Ago 13, 2021 10:05 am
Ubicación: Salamanca

Re: Panasonic S9 'Clear S LUT' - ingeniería inversa con red

Notapor Guillermo Luijk » Sab Jul 06, 2024 9:47 pm

Dando vueltas sobre el mismo concepto (usar una red neuronal para generar una imagen final), he hecho otro ejercicio: construir una LUT a partir de una red neuronal que realice en un solo paso todo el proceso de revelado RAW (salvo el demosaicing obviamente), es decir una red neuronal que aplicada directamente a los valores RAW ejecute:
  • Balance de blancos
  • Conversión a espacio de salida (en este ejemplo ProPhoto RGB)
  • Procesados del revelador (una curva de brillo tipo gamma)

La primera prueba ha sido fallida pero prometedora:
  • Presenta posterizaciones en las sombras: creo que el programa en Python está recortando a 8 bits en alguna parte del código lo que hace que la gamma implícita al espacio de salida produzca la posterización. Tengo que asegurar que trabaje a 16 bits.
  • Por otro lado al estar entrenando sobre una captura rápida de IT8, cuando se aplica la red a imágenes arbitrarias aparecen colores erróneos en las sombras profundas por no existir en la foto de entrenamiento -> lo voy a tratar de solucionar entrenando sobre un RAW sintético que tenga todas las combinaciones RGB, incluso colores que la cámara no puede capturar en el mundo real pero yo se los voy a meter.

http://guillermoluijk.com/misc/failedtest.jpg

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


Volver a PhotoLab



¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado