O software pode detectar automaticamente o foco da imagem?

19

Fiquei me perguntando se havia algum software de gerenciamento de fotos por aí que pudesse detectar automaticamente e "classificar" as imagens sobre o foco delas. Isso me ocorre com bastante frequência quando estou olhando uma grande série de imagens macro do mesmo assunto.
Em um mundo perfeito, o Light Room (ou qualquer outro programa) poderia destacar nas áreas de foco e fora de foco da mesma maneira que detecta áreas queimadas de uma imagem. Além disso, o algoritmo que eu espero que exista seria inteligente e não seria distraído por fundos desfocados e apenas busca que alguma área suficiente esteja suficientemente focada.
Algo assim lá fora?

Como outro pensamento para as pessoas que falam sobre fotos focadas no local errado, e os modelos de foco da câmera já analisam isso. Outro grande fator para a falta de clareza em uma imagem macro é o desfoque do movimento da câmera. Isso danifica todos os pontos da imagem e não é algo que a câmera considerou ao focalizar.

Andrey
fonte
Qual câmera você está usando? Algumas câmeras incluem as informações do ponto de foco em seus arquivos RAW e dados EXIF. Com um pouco de esforço, não seria muito difícil usar essas informações para medir a nitidez e o contraste para determinar uma classificação do foco. Eu não sei nada que faz isso ...
Benjamin Anderson
2
@ Benjamin Anderson - esta é apenas uma solução parcial. Normalmente você se concentrar depois recompor, de modo a indicação ponto de foco será realmente enganosa neste caso e irá avaliar muitas imagens perfeitas como out-of-focus
ysap
@ syap - Verdade, especialmente quando se trata de fotos macro.
Benjamin Anderson
Seria ainda melhor se você pudesse ver mais claramente o que está em foco antes de tirar uma foto. Por exemplo, a exibição ao vivo pode usar código de cores para destacar claramente as áreas em foco e fora de foco. Gostaria de saber se há alguma câmeras que podem fazer isso ...
Jukka Suomela
1
@Jukka, o que você está pedindo é chamado de pico de cores e é encontrado em câmeras de vídeo digitais de ponta (que geralmente são focadas manualmente). Eu acredito que você pode obtê-lo na Canon 5D mkII através do hack do firmware Magic Lantern.
quer

Respostas:

12

É uma pergunta interessante. Certamente é possível que o software detecte as partes de uma imagem que está em foco, pois é a base para um software de empilhamento de foco como o Helicon Focus .

O empilhamento de foco é uma técnica usada pelos fotógrafos de macro. A profundidade de campo em muitas fotos macro é muito rasa; portanto, para ampliar isso, é possível tirar um conjunto de fotos do sujeito, modificando o ponto focal de cada uma. O Helicon Focus tira a pilha de fotos e detecta as partes mais focadas de cada imagem e as mistura para produzir um resultado em que todo o objeto está focado. Também é possível fazer isso com algumas das tecnologias por trás de Hugin , mas é um pouco mais complicado de configurar.

Eu acho que a dificuldade em estender isso para uma verificação geral "em foco" seria determinar se o assunto está em foco - como podemos determinar automaticamente qual é o assunto? Quanta profundidade de campo foi exigida pelo fotógrafo?

Maynard Case
fonte
1
Eu acho que a necessidade de controle sobre o sistema de foco automático da câmera demonstra que é impossível saber, sem a entrada do fotógrafo, qual é a intenção. Há também um tipo de problema de Godel, no qual posso tirar uma foto fora de foco na parede e tirar uma foto dela, que é ela mesma corretamente focada. Seria impossível identificar o último como sendo correto.
Chris Wuestefeld
4

O que você está solicitando é problemático, no sentido de que uma detecção de foco baseada em software essencialmente usa o mesmo algoritmo usado por um sistema de foco automático de câmera baseado em contraste. Isso significa que você precisa digitalizar a imagem e procurar o local mais contrastante para determinar a quantidade de "foco". No entanto, é possível que você esteja filmando um assunto com poucos detalhes (baixo contraste), portanto, mesmo que seu foco esteja no alvo, o algoritmo do software ainda determinará uma imagem com pouco foco ou fora de foco.

Além disso, como o software saberá qual era seu ponto de foco pretendido? Se você estiver fotografando um retrato e os olhos estiverem mal focados, o software detectará o foco perfeito na orelha, mas essa é realmente uma imagem de baixa qualidade ou inutilizável.

ysap
fonte
1
Estou começando a ver como é possível projetar esse programa. Para rostos, bem, faça um programa do tipo reconhecimento facial, olhe para os olhos e veja se eles estão focados. Algo deve ser possível para isso, embora possa ser um pouco difícil ...
Pearsonartphoto
Bem, a técnica proposta (destacando áreas que pareciam estar em foco) não teria o problema de ouvido versus olho. Eu acho que ver quais áreas são relativamente contrastantes versus não contrastantes seria igualmente interpretável - e se você estiver preocupado com uma série de imagens semelhantes, compará-las entre si em vez de uma qualidade absoluta de "foco" parece a maneira certa de fazê-lo.
Reid
@ Reid - Presumo que a intenção do OP seja ter um processo automatizado para remover imagens ruins. Minha resposta aborda esse requisito, apontando por que esse recurso será difícil de executar, e também dei exemplos nos comentários a outras respostas. Se houver um humano no circuito, tudo será possível ...
ysap
Minha leitura da pergunta é que o OP parece descrever claramente um processo de iniciativa mista, não totalmente automatizado (por exemplo, "destaque em foco e fora de foco").
Reid
2

Como humano, prefiro classificá-los pessoalmente com a minha observação subjetiva, visto que sei onde o foco deveria ou não deveria estar, mas suponho que poderia haver uma maneira aproximada de determinar a qualidade do foco de uma foto com base no abertura, distância focal, distância do assunto e áreas de foco / fora de foco da imagem.

Por exemplo, distância focal longa, abertura pequena e assunto próximo, é provável que exista um pequeno ponto de foco com muito bokeh (para aplicações comuns desta receita).

Por outro lado, uma distância focal curta com uma distância maior do assunto significa que provavelmente haverá mais nas áreas de foco do que nas áreas fora de foco (pense na paisagem ou em grupo).

Acho que a coisa mais importante em qualquer foto é que, onde quer que esteja a área mais focada de uma foto, ela está em foco . Essa verificação simples "é o ponto mais focado em foco" seria uma que eu poderia usar, já que geralmente não faz sentido usar uma foto fora de foco ou focada nas costas, a menos que você pense que funcionará.

Nick Bedford
fonte
seu último ponto é apenas parcialmente verdadeiro, pois na maioria das vezes você se concentrará e depois recomporá. Como no exemplo que dei em outro comentário, pode ser que o ouvido esteja em foco perfeito (e, como tal, sua imagem terá o maior ponto de foco), mas o olho estará fora de foco.
ysap
Eu nem pensei nisso, e sim, muitas vezes foco e recomponho, para que possa haver uma ligeira mudança no plano de foco.
Nick Bedford
2

Em um mundo perfeito, a sala de luz (ou qualquer outro programa) pode destacar em foco e fora de foco da mesma maneira que detecta áreas queimadas de uma imagem.

Portanto, para começar, o manual do Darktable inclui:

ctrl-z amplia totalmente a imagem e mostra as áreas em foco

E fica assim em uma imagem em foco parcial:

insira a descrição da imagem aqui

Mais especificamente, acho que é possível obter o que você está procurando quantificando a quantidade de informações de alta frequência na transformação fourier da imagem. (as altas frequências são os bits mais focados nos quais nos preocupamos).

De maneira útil, outra resposta do SE (que eu votei pelo privilégio de colar a cópia) fornece código para retirar as frequências. Se for interessante para as pessoas, posso voltar a esta resposta e ver se consigo escrever o código que ordena um conjunto de imagens com o foco nítido (e não total) que elas têm.


fonte
1

Acabei de me deparar com essa (agora quase) pergunta de 9 anos. Há algumas informações boas nessas respostas, mas muitas já são bastante antigas e nenhuma realmente responde à pergunta original do OP: O software pode detectar automaticamente o foco da imagem?

Depois de revisar as postagens aqui, encontrei um aplicativo chamado Fast Raw Viewer que possui pelo menos uma solução parcial.

Seamus
fonte
1

Um expediente realmente barato para imagens tiradas com as mesmas configurações de qualidade da câmera e a mesma configuração de cena e luz é observar o tamanho do arquivo JPEG. Quanto mais material estiver em foco, mais informações visivelmente discerníveis serão consideradas pelo algoritmo de compactação JPEG com perdas que vale a pena preservar, aumentando o tamanho do arquivo.

É claro que isso só faz sentido se a maior parte do conteúdo da imagem for o que você deseja focar. Não ajuda contra objetos menores desfocados contra um fundo em foco, por exemplo.

Mas pode ser útil como um desempate rápido.


fonte
-4

Capture 1, talvez o que você precisa!

Jorge Tavares
fonte
2
Você poderia expandir esta resposta para explicar o que é "Captura 1" e por que ela pode ajudar?
Philip Kendall
Resposta mais inútil que eu já vi no SE
Tessaracter 28/11