¿Existe un software que pueda identificar la iluminación en una foto existente?

¿Hay alguna aplicación que tome una región seleccionada de una foto y devuelva su estimación de los parámetros de iluminación necesarios para emular las condiciones de iluminación en la región seleccionada de la foto?

Mis conjeturas sobre los parámetros que devolvería incluyen: fuentes de iluminación, fuente-difusividad, fuente-color, fuente-duración, fuente de luz reflejada/incidente, fuente-movimiento, etc. (Agradezco comentarios sobre estas conjeturas y sobre la probabilidad que es posible modelarlos estáticamente).

Eso parece una tarea difícil. Cuando miramos una foto, aplicamos algún conocimiento consciente del contexto sobre lo que estamos mirando (en otras palabras, tenemos alguna versión de "normal" en nuestras mentes que podemos comparar con la foto). Estaré impresionado si hay algo por ahí que pueda hacer esto.
@D. Lambert: De acuerdo, aunque creo que algunos de los algoritmos dentro de PhotoShop hacen cálculos para cosas como esta, pero hasta donde yo sé, no hay ningún resultado que sea legible para uso externo; lo que significa que esos cálculos se utilizan como entrada para otros cálculos.
El trabajo requerido para crear un software como este es un millón de veces en comparación con las 2-3 horas de capacitación que alguien necesitaría para adivinar con bastante precisión la mayoría de los parámetros. Además, algunas de estas cosas son imposibles de entender... ¿fuente-duración?
+1 @Jędrek Kostecki: Buen punto con respecto a que los humanos podrían hacerlo más rápido (actualmente), aunque cuál es la diversión en eso... :-) ..."fuente-duración", por ejemplo, se usó un flash.
Ah, el mejor software del mundo es probablemente el cerebro humano. Se podrían desarrollar algoritmos para esto que pudieran hacer aproximaciones razonables basadas en luces y sombras, pero ¿por qué hacerlo? Es probable que el cerebro humano salte a la respuesta más rápido con la tecnología actual que una computadora.
No puede, por ningún propósito práctico, determinar la duración de un destello en una naturaleza muerta.

Respuestas (2)

En realidad, ha habido bastante investigación en esta área:

Los resultados son limitados, sin embargo, ya que el problema está enormemente sublimitado, en el sentido de que hay muchas más incógnitas que datos. Esto significa que las soluciones exactas son imposibles y cualquier respuesta que obtenga está sujeta a ambigüedad.

Otro problema de lo que está sugiriendo es que la investigación en esta área está dirigida a la comprensión mecánica de las imágenes visuales. Ser capaz de estimar la iluminación sería importante para que los robots naveguen por un laberinto visualmente, ya que podrían juzgar el ángulo de las paredes, etc. Estas aplicaciones tendrán diferentes demandas en el software que el objetivo artístico de recrear la iluminación en un buen retrato para ejemplo.


Sobre el tema de la diferencia entre el software de investigación y el comercial, la investigación de hoy constituye la base del software del mañana (una de las razones por las que reviso las actas de SIGGRAPH todos los años). La costura panorámica automática fue una vez un proyecto de investigación y ahora se da por sentado. Recuerdo haber leído sobre el cambio de tamaño consciente del contenido cuando se publicó en una conferencia de visión por computadora (en ese entonces se llamaba "tallado de costura") y solo pasaron un par de años antes de que se convirtiera en una función estándar en Photoshop.

Sin embargo, existe una diferencia entre el relleno basado en el contenido y lo que usted propone, y es que el relleno basado en el contenido puede ahorrar horas de retoque y, por lo tanto, tiene una gran demanda. Estimar las condiciones de iluminación de una fotografía es un proceso muy rápido para alguien experto en iluminación.


Un último rayo de esperanza se encuentra en el área de la postproducción de video. Estimar/modelar las condiciones de iluminación originales es importante para componer de manera realista la animación generada por computadora en metraje real (es mucho más probable que se noten las inconsistencias de iluminación en imágenes en movimiento que en una foto fija). Eso más la cantidad adicional de datos disponibles en una transmisión de video, e imaginaría que vería la función que busca aparecer primero en el software de edición de video.

+1 @Matt Grum: Gracias, la investigación ayuda a "iluminar" los problemas para resolver este problema. Mi conjetura es que los sensores de los robots y la IA probablemente utilizarían la correlación de las observaciones longitudinales en el tiempo y el espacio, posiblemente incluyendo filtros para diferentes longitudes de onda de luz; por ejemplo, infrarrojos para detectar calor. En cuanto a los objetivos artísticos, ¿quiere decir que lo más probable es que requieran inferencias que irían más allá de la ubicación de la cámara, las luces y los objetos?
Supongo que uno debería señalar eso cuando se trata de panorámica automática. cosiendo, tiene toda la información necesaria disponible en las imágenes que está cosiendo. Eso está en fuerte contraste con adivinar la iluminación que ilumina una escena, ya que (fuera de una luz EN la escena) nunca se puede saber cuál fue la fuente de luz. En la unión de panorámicas, eres rico en información... en adivinar la fuente de luz, eres anémico en información. Cuando se trata de video y CG, tiene la opción si ingresa explícitamente información de iluminación EXACTA, y no es necesario adivinar.
@jrista eso es cierto, pero en el relleno consciente del contenido , no tiene información sobre el área que está tratando de llenar, todo es inferencia, como el problema de estimación de la iluminación, hubiera parecido bastante improbable en algún momento, pero ahora es una característica estándar en Photoshop, GIMP
+1 @Matt Grum: De hecho, el relleno consciente del contenido era lo que había estado pensando como un ejemplo aproximado de esto, aquí hay un video que muestra un ejemplo de su uso .
@MattGrum: si investiga cómo funciona el relleno consciente del contenido, no es tan anémico en cuanto a la información como la iluminación invitada. Una parte importante del relleno con reconocimiento de contenido es la clonación de contenido cercano, junto con algunos algoritmos inteligentes básicos y coincidencia de patrones para hacer que el contenido relleno sea congruente y coherente con el patrón. TIENE MUCHA información disponible para hacer que el relleno consciente del contenido funcione... como la unión de panorámicas. La única información que tienes para adivinar la iluminación es la que refleja la escena. La cantidad de información útil disponible es diferente en varios órdenes de magnitud.
@jrista No estoy seguro de cuál es tu punto. No digo que la estimación de la iluminación sea fácil, o incluso que esté en la misma liga que el relleno consciente del contenido, solo que ambos tienen restricciones insuficientes y, por lo tanto, requieren que se hagan suposiciones, ambos nunca pueden recrear exactamente lo que no se capturó en la imagen, ambos fueron impensados ​​en un momento, y uno ahora es una función estándar de Photoshop.

Francamente, no, no con el software disponible actualmente. Puede haber investigaciones en curso aquí y quién sabe lo que depara el futuro, pero en este momento, no.

Hay demasiada información para que el software procese para intentarlo, especialmente a nivel de consumidor. Como mínimo, tendría que tener alguna forma de decirle al software cómo se veía el sujeto NO ILUMINADO. Esa es la ventaja que tiene un ser humano: tenemos una visualización previa en nuestras mentes de cómo se vería normalmente el sujeto. Esto le permite a una persona decir "bueno, NORMALMENTE no tiene un área oscura que se desvanece allí o un punto brillante allí".

Además, hay MUCHAS formas diferentes de producir el mismo efecto en la iluminación (aunque muchas son más comunes que otras).

@rfusca: Sí, la "preconciencia" de las cualidades reflectantes de los objetos y la relación de la cámara con las luces y los objetos aumentaría la probabilidad de que esto sea posible, sigo pensando que es posible; después de todo, las estimaciones no son perfectas.
@blunders: En el mejor de los casos, las estimaciones podrían brindarle información aproximada sobre la cantidad de REFLECTANCIA que se puede observar en una escena... pero insisto en que es aproximada . Tratar de obtener algo más que una suposición vaga sobre la cantidad de fuentes de luz, los atributos de la fuente (color, difusividad, duración de la emisión), etc. es realmente solo pedir muchas conjeturas basadas en un juicio basado en la observación. Si hay algo en lo que las computadoras apestan... eso es. Hacer una conjetura precisa y educada sobre qué iluminación pudo haber iluminado una escena requiere una mente experimentada .
Se podría argumentar que una inteligencia artificial lo suficientemente avanzada podría aprender lo suficiente como para convertirse en una mente experimentada en relación con la observación de la iluminación de las fotografías... pero por el momento dudo que haya algo así en una escala rudimentaria, y mucho menos algo. que podría producir resultados consistentemente útiles.
@jrista: correcto, mi respuesta refleja si es probable que exista algo con la tecnología actual que produzca resultados realistas, utilizables y precisos.
Creo que este es probablemente el caso. Sin embargo, no me sorprendería en absoluto si hubiera investigaciones en esta área. Parece un problema interesante. Entonces, dudaría en decir "no" sin un poco de estudio.
@jrista: Como ejemplo extremo, la silueta podría hacer esto más fácil; pero, por ejemplo, en esta foto , la luz de la foto no es la fuente "directa", sino una fuente de luz "pasiva o reflectante".
@mattdm Quiero decir, miré a mi alrededor y no pude encontrar nada disponible. Y la investigación está muy lejos de una aplicación que está disponible actualmente. Con la forma en que se mueve la tecnología en estos días, quién puede decir qué está o no disponible en 5 a 10 años, pero estoy bastante seguro de que no puedes comprar algo como esto ahora mismo que haría un trabajo razonable en algo más. que la foto más simple absoluta (¡si es que puedes conseguir eso!).
@rfusca: sí. Solo quiero decir que hay una gran diferencia entre "De ninguna manera" y "No creo que eso esté dentro de lo que es posible con el software comercial actual".
@mattdm @rfusca: No creo que podamos tener este tipo de tecnología en los próximos 10 años. Este es exactamente el tipo de problema que requiere una inteligencia avanzada para resolverlo, e incluso con el nivel de inteligencia de un ser humano experimentado que comprende la iluminación a la perfección AÚN solo podrá hacer conjeturas informadas y AÚN adivinará mal una buena cantidad de el tiempo. El simple hecho del problema es que tiene una gran anemia de información, y no importa qué tan inteligente sea el algoritmo... las fallas generalmente serán más altas que los aciertos.
@jrista - Yo tampoco lo creo - no con resultados realistas, pero no voy a decir imposible
@rfusca: Bueno, como dicen... dado el tiempo suficiente... Suponiendo que tuviéramos tiempo ilimitado, inmensos recursos informáticos y un algoritmo de aprendizaje que tuviera una base de millones de escenas diferentes, tanto sin iluminar como iluminadas por una variedad de diferentes configuraciones de iluminación, tanto naturales como artificiales, así como la capacidad de seguir aprendiendo de cada escena que procesó... es posible que pueda acercarse a la capacidad humana para juzgar la configuración de iluminación que ilumina una escena. Así que no es imposible... sólo improbable dentro de la próxima década, y probablemente no sea mucho más que un proyecto de investigación. En cuanto a una aplicación actual... ninguna. ;)