¿Puede el software detectar automáticamente el enfoque de la imagen?

19

Me preguntaba si había algún software de administración de fotos que pudiera detectar automáticamente y "calificar" las imágenes según su enfoque. Esto se me ocurre con bastante frecuencia cuando estoy mirando a través de una gran serie de imágenes macro del mismo tema.
En un mundo perfecto, Light Room (o cualquier programa) podría resaltar áreas enfocadas y desenfocadas de la misma manera que detecta áreas quemadas de una imagen. Además, el algoritmo que espero exista sería inteligente y no se distraería con fondos borrosos y solo busca que un área suficiente esté lo suficientemente enfocada.
¿Algo así por ahí?

Como otro pensamiento para las personas que hablan de que las imágenes están enfocadas en el lugar equivocado, y que los modelos de enfoque de cámara ya lo ven. Otro factor importante para la falta de claridad en una imagen macro es el desenfoque del movimiento de la cámara. Esto daña todos los puntos de una imagen y no es algo que la cámara tenga en cuenta al enfocar.

Andrey
fuente
¿Qué cámara estás usando? Algunas cámaras incluyen la información del punto de enfoque en sus archivos RAW y datos EXIF, con un poco de esfuerzo, no sería demasiado difícil usar esa información para medir la nitidez y el contraste para determinar una clasificación de enfoque. Sin embargo, no sé nada que haga esto ...
Benjamin Anderson
2
@Benjamin Anderson: esta es solo una solución parcial. Por lo general, usted se centra a continuación, recomponga, por lo que la indicación de punto de enfoque en realidad va a ser engañoso en este caso y evaluar muchas imágenes perfectas como fuera de foco
ysap
@ysap: cierto, especialmente cuando se trata de tomas macro.
Benjamin Anderson
Sería aún mejor si pudieras ver más claramente lo que está enfocado antes de tomar una foto. Por ejemplo, la vista en vivo podría usar la codificación de colores para resaltar claramente las áreas enfocadas y desenfocadas. Me pregunto si hay cámaras que puedan hacer eso ...
Jukka Suomela
1
@Jukka lo que estás pidiendo se llama pico de color y se encuentra en cámaras de video digitales de alta gama (que a menudo se enfocan manualmente). Creo que puede obtenerlo en la Canon 5D mkII a través del truco de firmware Magic Lantern.
Matt Grum

Respuestas:

12

Es una pregunta interesante. Ciertamente es posible que el software detecte las partes de una imagen que está enfocada, ya que es la base de un software de apilamiento de enfoque como Helicon Focus .

El apilamiento de foco es una técnica utilizada por los macro fotógrafos. La profundidad de campo en muchas tomas macro es muy superficial, por lo que para ampliar esto es posible tomar un conjunto de fotos del sujeto, modificando el punto focal en cada una. Helicon Focus toma la pila de fotos y detecta las partes más enfocadas de cada imagen, y las combina para producir un resultado donde todo el sujeto está enfocado. También es posible hacer esto con algo de la tecnología detrás de Hugin , pero es un poco más difícil de configurar.

Creo que la dificultad de extender esto para una verificación general "en foco" sería determinar si el sujeto está enfocado: ¿cómo determinamos automáticamente qué es el sujeto? ¿Cuánta profundidad de campo requirió el fotógrafo?

Caso Maynard
fuente
1
Creo que la necesidad de controlar el sistema de enfoque automático de la cámara demuestra que es imposible saber, sin la aportación del fotógrafo, cuál es la intención. También hay una especie de problema de Gódel, en el que puedo tomar una imagen desenfocada en la pared y tomar una foto que esté enfocada correctamente. Sería imposible identificar a este último como correcto.
Chris Wuestefeld
4

Lo que está pidiendo es problemático en el sentido de que una detección de enfoque basada en software utilizará esencialmente el mismo algoritmo que un sistema de enfoque automático de cámara basado en contraste. Eso significa que necesita escanear la imagen y buscar el lugar más contrastante para determinar la cantidad de "enfoque". Sin embargo, es posible que esté filmando un sujeto de bajo detalle (bajo contraste), por lo que, aunque su enfoque esté enfocado en su objetivo, el algoritmo de software determinará un foco bajo o una imagen desenfocada.

Además, ¿cómo sabrá el software cuál era su punto de enfoque real? Si está tomando un retrato y los ojos están mal enfocados, el software detectará un enfoque perfecto en el oído, pero esta es realmente una imagen de baja calidad o inutilizable.

ysap
fuente
1
Estoy empezando a ver cómo es posible diseñar dicho programa. Para los rostros, bueno, haga un programa de tipo de reconocimiento facial, mire los ojos y vea si están enfocados. Algo debería ser posible para esto, aunque podría ser algo difícil ...
PearsonArtPhoto
Bueno, la técnica propuesta (resaltar áreas que parecían estar enfocadas) no tendría el problema de oído versus ojo. Supongo que ver qué áreas son relativamente contrastadas versus no contrastadas sería igualmente interpretable, y si le preocupa una serie de imágenes similares, compararlas entre sí en lugar de una calidad absoluta de "enfoque" parece ser la forma correcta de hacerlo.
Reid
@Reid: supongo que la intención del OP es tener un proceso automatizado para eliminar imágenes malas. Mi respuesta aborda este requisito al señalar por qué esta característica será difícil de lograr, y también di ejemplos en comentarios a otras respuestas. Si hay un humano en el circuito, entonces todo es posible ...
ysap
Mi lectura de la pregunta es que el OP parece estar describiendo con bastante claridad un proceso de iniciativa mixta, no completamente automatizado (por ejemplo, "resaltar en foco y fuera de foco").
Reid
2

Como humano, preferiría calificarlos con mi observación subjetiva, ya que sé dónde debería o no haber estado el enfoque, pero supongo que podría haber una forma aproximada de determinar la calidad del enfoque de una toma basada en apertura, distancia focal, distancia del sujeto y áreas de enfoque / desenfocado de la imagen.

Por ejemplo, la distancia focal larga, la apertura pequeña, el sujeto cercano significa que es probable que haya un pequeño punto de enfoque con mucho bokeh (para aplicaciones comunes de esta receta).

Por otro lado, la distancia focal corta con una distancia de sujeto más larga significa que es probable que haya más áreas de enfoque que áreas fuera de foco (piense en el paisaje o en la fotografía grupal).

Creo que la más importante cosa en cualquier foto es, siempre que sea la zona más enfocada de una foto es que es en el enfoque . Esta simple verificación de "es el punto de enfoque más enfocado" sería una que posiblemente podría usar, ya que generalmente no tiene sentido usar un disparo desenfocado o enfocado hacia atrás a menos que piense que funcionará.

Nick Bedford
fuente
su último punto es solo parcialmente cierto, ya que la mayoría de las veces se enfocará y luego recompondrá. Al igual que el ejemplo que di en otro comentario, puede ser que el oído esté perfectamente enfocado (y como tal su imagen tendrá un gran punto de enfoque) pero el ojo estará OOF.
ysap
Ni siquiera pensé en eso, y sí, muy a menudo me enfoco y recompongo, por lo que podría haber un ligero cambio en el plano de enfoque.
Nick Bedford
2

En un mundo perfecto, la sala de luz (o cualquier programa) podría resaltar en foco y fuera de foco de la misma manera que detecta áreas quemadas de una imagen.

Entonces, para empezar, el manual de Darktable incluye:

ctrl-z amplía completamente la imagen y muestra las áreas enfocadas

Y eso se ve así en una imagen en foco parcial:

ingrese la descripción de la imagen aquí

Más específicamente, creo que puede obtener lo que está buscando cuantificando la cantidad de información de alta frecuencia en la transformación de Fourier de la imagen. (las altas frecuencias son los bits bien enfocados que nos interesan).

Con mucha ayuda, otra respuesta SE (que he votado por el privilegio de copiar y pegar) proporciona un código para extraer las frecuencias. Si es interesante para las personas, podría volver a esta respuesta y ver si puedo escribir el código que ordena un conjunto de imágenes según el enfoque nítido (en lugar del total) que tienen.


fuente
1

Acabo de encontrar esta (ahora casi) pregunta de 9 años. Hay buena información en estas respuestas, pero muchas son bastante antiguas ahora y ninguna realmente responde a la pregunta original del OP: ¿Puede el software detectar automáticamente el enfoque de la imagen?

Después de revisar las publicaciones aquí, encontré una aplicación llamada Fast Raw Viewer que tiene al menos una solución parcial.

Seamus
fuente
1

Un recurso realmente barato para imágenes tomadas con la misma configuración de calidad de la cámara y la misma configuración de escena y luz es mirar el tamaño de archivo del JPEG. Mientras más material esté enfocado, el algoritmo de compresión JPEG con pérdida considerará la información más visiblemente discernible, lo que aumenta el tamaño del archivo.

Por supuesto, esto solo tiene sentido si la mayor parte del contenido de la imagen es lo que desea que esté enfocado. No ayuda contra sujetos desenfocados más pequeños en un fondo enfocado, por ejemplo.

Pero puede ser útil como un desempate rápido.


fuente
-4

¡Captura 1, tal vez lo que necesitas!

Jorge Tavares
fuente
2
¿Podría ampliar esta respuesta para explicar qué es "Capture 1" y por qué podría ayudar?
Philip Kendall
La respuesta más inútil que he visto en SE
Tessaracter