Redimensionamento de imagem e preenchimento para CNN

13

Quero treinar uma CNN para reconhecimento de imagem. As imagens para treinamento não têm tamanho fixo. Quero que o tamanho da entrada da CNN seja 50x100 (altura x largura), por exemplo. Quando redimensiono algumas imagens de tamanho pequeno (por exemplo, 32 x 32) para inserir o tamanho, o conteúdo da imagem é esticado horizontalmente demais, mas para algumas imagens de tamanho médio parece bom.

Qual é o método adequado para redimensionar imagens e evitar que o conteúdo seja destruído?

(Estou pensando em preencher imagens com 0s para completar o tamanho depois de redimensioná-las em algum grau, mantendo a proporção entre largura e altura. Tudo bem com esse método?)

Odgiiv
fonte

Respostas:

9

Esta pergunta sobre stackoverflow pode ajudá-lo. Para resumir, alguns pesquisadores de aprendizado profundo acham que preencher grande parte da imagem não é uma boa prática, pois a rede neural precisa aprender que a área acolchoada não é relevante para a classificação e não é necessário aprender que, se você use interpolação, por exemplo.

David Masip
fonte
4

Você tem poucas opções:

Para imagens pequenas:

  • upsample através da interpolação
  • acolchoe a imagem usando zeros

Se você não conseguir manter a proporção por meio de upsampling, poderá fazer upsample e também cortar o excesso de pixels na maior dimensão. É claro que isso resultaria na perda de dados, mas você pode mudar repetidamente o centro de sua colheita. Isso ajudaria seu modelo a ser mais robusto.


Para imagens grandes:

  • downsample
  • cortar para o tamanho de entrada

Por fim, se você estiver usando uma rede totalmente convolucional (FCN), não precisará redimensionar suas imagens.

TL; DR:

Sim, preenchimento com zeros é uma opção válida.

Benji Albert
fonte
se eu treinei pesos para uma rede totalmente convolucional que aceita três quadros de vídeo concatenados, como posso usar esses pesos para uma rede com a mesma arquitetura, exceto que o tamanho da entrada é aumentado para 11 quadros concatenados? Estou apenas fazendo previsões, não treinando mais. Minha pergunta está aqui: datascience.stackexchange.com/questions/55737/…
mLstudent33
3

Você pode fazer o seguinte Primeiro redimensione as imagens até certo ponto e, em seguida, forme a imagem por todos os lados, o que pode ajudar a manter os recursos da imagem.

Rohit Jere
fonte