Arquitetura de rede neural para identificar cópias de imagens

7

Tenho uma grande coleção de imagens e desejo identificar as imagens dessa coleção que parecem copiar outras imagens da coleção.

Para dar uma idéia dos tipos de pares de imagens que desejo classificar como correspondências, considere estes exemplos:

insira a descrição da imagem aqui

Eu classifiquei manualmente cerca de 0,25M de pares de imagens correspondentes e agora desejo usar essas correspondências rotuladas à mão para treinar um modelo de rede neural. Só não tenho certeza de qual arquitetura seria ideal para esta tarefa.

Originalmente, pensei que uma rede siamesa poderia ser apropriada, pois elas foram usadas para tarefas semelhantes, mas a saída desses classificadores parece ser mais ideal para encontrar diferentes figuras do mesmo objeto (que não é o que eu quero), em vez de impressões diferentes da mesma figura (que é o que eu quero).

Se alguém puder ajudar a recomendar papéis ou arquiteturas ideais para identificar imagens, com base nos dados de treinamento que eu preparei, ficaria imensamente grato por todas as idéias que você puder oferecer.

duhaime
fonte
"mas a saída dos classificadores [redes siamesas] parece mais ideal para encontrar diferentes figuras do mesmo objeto" - acho que as redes siamesas funcionariam perfeitamente. Eles aprendem o que você diz para aprender. Outros os fizeram aprender "figuras diferentes", mas você poderia fazê-los aprender a duplicação de imagens.
Kbrose
Acabei de descobrir um artigo sobre DEep Local Features (DELF) que combina análise baseada em pontos-chave com redes neurais convolucionais para capturar similaridade de imagens. O Google criou um notebook Colab de amostra que implementa o DELF .
duhaime
Apenas um pensamento, e os autoencodificadores variacionais e medem o erro de reconstrução? Acho que funcionaria muito bem para os dois da esquerda, mas não tenho certeza dos exemplos certos. Para aqueles, acho que é necessária uma abordagem localizada.
Ldmtwo 19/09/19

Respostas:

1

Você precisa ler sobre a função de perda de trigêmeos . A função de perda de trigêmeos obtém resultados de incorporação de uma rede, que processam 3 imagens por uma rede (2 semelhantes e 1 não semelhante) por uma etapa: insira a descrição da imagem aqui

Após essa perda de computação como: insira a descrição da imagem aqui

Para mais detalhes, leia o artigo dos autores de perda de trigêmeos.

Também pode ajudar o PSNR , mas isso não é Deep Learning.

toodef
fonte
A perda de trigêmeos é uma boa sugestão, mas as respostas apenas ao link são inadequadas para a troca de pilhas. Você pode explicar mais o que é a perda de trigêmeos e por que ela alcançaria o que o OP deseja?
Kbrose
"Os links para recursos externos são incentivados, mas adicione contexto ao redor do link para que seus colegas usuários tenham uma idéia do que é e por que está lá. Sempre cite a parte mais relevante de um link importante, caso o site de destino seja inacessível ou fica permanentemente offline. " - datascience.stackexchange.com/help/how-to-answer
kbrose
@ kbrose Eu posso copiar e colar de um link. Você acha que eu preciso fazer isso? Ou você pede TL; DR?
toodef
Removido meu voto negativo. Obrigado por adicionar um pouco de context @toodef.
Kbrose
11
Claro, eu aprecio esse ponto de vista. Acho que sou mais da opinião de que, se você não tiver tempo, faça um comentário.
Kbrose
-1

Se as imagens forem mais parecidas com as postadas, você poderá usar o índice de similaridade estrutural, que fornece uma saída no intervalo de -1 a 1. qualquer coisa acima de 0,9 pode ser considerada semelhante.

Naveen Meka
fonte