Estou ciente de que houve muitos avanços no que diz respeito ao reconhecimento de imagens, classificação de imagens etc. com redes neurais profundas e convolucionais.
Mas se eu treinar uma rede, digamos, em imagens PNG, funcionará apenas para imagens tão codificadas? Que outras propriedades da imagem afetam isso? (canal alfa, entrelaçamento, resolução, etc?)
neural-networks
deep-learning
image-processing
Felipe Almeida
fonte
fonte
Respostas:
Resposta curta é NÃO .
O formato em que a imagem é codificada tem a ver com sua qualidade. As redes neurais são essencialmente modelos matemáticos que realizam muitas e muitas operações (multiplicações de matrizes, adições por elementos e funções de mapeamento). Uma rede neural vê um tensor como sua entrada (isto é, uma matriz multidimensional). Sua forma geralmente é 4-D (número de imagens por lote, altura da imagem, largura da imagem, número de canais).
Diferentes formatos de imagem (especialmente os com perda) podem produzir matrizes de entrada diferentes, mas, estritamente falando, as redes neurais veem matrizes em suas entradas e NÃO em imagens.
fonte
Embora a resposta do Djib2011 esteja correta, entendo sua pergunta como mais focada em como a qualidade / propriedades da imagem afetam o aprendizado da rede neural em geral. Há pouca pesquisa neste tópico (afaik), mas pode haver mais pesquisas sobre ele no futuro. Eu só encontrei este artigo nele. O problema no momento é que esse é mais um problema que aparece em aplicações práticas e menos em um campo de pesquisa acadêmica. Lembro-me de um podcast atual em que os pesquisadores observaram que mesmo a câmera usada para tirar uma foto poderia ter um grande efeito.
fonte
Este é um riff na primeira resposta do Djib2011. A resposta curta tem que ser não. Mais - Primeiramente, as fotos são sempre codificadas como um tensor da seguinte maneira. Uma imagem é um número de pixels. Se a foto é considerada com m linhas e n colunas, cada pixel é especificado por sua localização de linha e coluna, ou seja, pelo par (m, n). Em particular, existem m * n pixels, que são muito grandes, mesmo para fotos 'pequenas'. Cada pixel da foto é codificado por um número entre zero e um (intensidade de escuridão) se a foto for em preto e branco. É codificado por três números (intensidades RGB) se a foto for colorida. Então se enrola com um tensor que é 1xmxn ou 3xmxn. O reconhecimento de imagem é feito através da CNN, que, aproveitando o fato de as fotos não mudarem muito de pixel para pixel, comprimeos dados por meio de filtros e pool. Portanto, o ponto é que a CNN trabalha compactando o número incrivelmente grande de pontos de dados (ou recursos) de uma foto em um número menor de valores. Portanto, seja qual for o formato inicial, a CNN começa comprimindo ainda mais os dados da foto. Daí a independência per se do tamanho da representação da foto.
No entanto, uma CNN exigirá que todas as imagens que estão sendo executadas sejam do mesmo tamanho. Portanto, existe essa dependência que mudará dependendo de como a imagem é salva. Além disso, na medida em que diferentes formatos de arquivo do mesmo tamanho produzem valores diferentes para seus tensores, não é possível usar o mesmo modelo da CNN para identificar fotos armazenadas por métodos diferentes.
fonte