Estou enfrentando o problema de ter imagens de diferentes dimensões como entradas em uma tarefa de segmentação. Observe que as imagens nem têm a mesma proporção.
Uma abordagem comum que encontrei em geral no aprendizado profundo é cortar as imagens, como também é sugerido aqui . No entanto, no meu caso, não posso cortar a imagem e manter seu centro ou algo semelhante, pois na segmentação quero que a saída tenha as mesmas dimensões da entrada.
Este artigo sugere que em uma tarefa de segmentação é possível alimentar a mesma imagem várias vezes para a rede, mas com uma escala diferente e, em seguida, agregar os resultados. Se eu entender essa abordagem corretamente, só funcionaria se todas as imagens de entrada tivessem a mesma proporção. Por favor corrija-me se eu estiver errado.
Outra alternativa seria apenas redimensionar cada imagem para dimensões fixas. Eu acho que isso também foi proposto pela resposta a esta pergunta. No entanto, não é especificado de que maneira as imagens são redimensionadas.
Eu considerei pegar a largura e a altura máximas no conjunto de dados e redimensionar todas as imagens para esse tamanho fixo, na tentativa de evitar a perda de informações. No entanto, acredito que nossa rede pode ter dificuldades com imagens distorcidas, pois as bordas de uma imagem podem não estar claras. Qual é a melhor maneira de redimensionar suas imagens antes de alimentá-las na rede?
Existe alguma outra opção que eu não conheça para resolver o problema de ter imagens de diferentes dimensões?
Além disso, qual dessas abordagens você considera as melhores, levando em consideração a complexidade computacional, mas também a possível perda de desempenho da rede?
Eu gostaria que as respostas para minhas perguntas incluíssem algum link para uma fonte, se houver uma. Obrigado.
Acho que este artigo terá informações úteis para você.
fonte
Como você deseja realizar a segmentação, você pode usar o U-Net. Não possui unidades totalmente conectadas. Portanto, o tamanho da entrada não importa.
fonte
Eu acho que você pode redimensionar sua imagem em pixels e converter rgb em binário ou inteiro para o próximo passo
fonte
Tente redimensionar a imagem para as dimensões de entrada da sua arquitetura de rede neural (mantendo-a fixa em algo como 128 * 128 em uma arquitetura de rede U-2D padrão) usando a técnica de interpolação de vizinhos mais próxima . Isso ocorre porque, se você redimensionar sua imagem usando qualquer outra interpolação, isso poderá resultar na violação dos rótulos de verdade do solo. Isso é particularmente um problema na segmentação. Você não enfrentará esse problema quando se trata de classificação.
Tente o seguinte:
fonte