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?)

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.


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.


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.