Ridimensionamento e riempimento delle immagini per la CNN


14

Voglio formare una CNN per il riconoscimento delle immagini. Le immagini per l'allenamento non hanno dimensioni fisse. Voglio che le dimensioni di input per la CNN siano 50x100 (altezza x larghezza), per esempio. Quando ridimensiono alcune immagini di piccole dimensioni (ad esempio 32x32) per le dimensioni di input, il contenuto dell'immagine viene allungato troppo in orizzontale, ma per alcune immagini di medie dimensioni sembra a posto.

Qual è il metodo corretto per ridimensionare le immagini evitando la distruzione del contenuto?

(Sto pensando di riempire le immagini con 0 per completare le dimensioni dopo averle ridimensionate in una certa misura mantenendo il rapporto tra larghezza e altezza. Andrebbe bene con questo metodo?)

Risposte:


10

Questa domanda su StackOverflow potrebbe aiutarti. Per riassumere, alcuni ricercatori di deep learning pensano che il riempimento di una gran parte dell'immagine non sia una buona pratica, poiché la rete neurale deve imparare che l'area imbottita non è rilevante per la classificazione e non deve imparare che se tu usa l'interpolazione, per esempio.


5

Hai alcune opzioni:

Per immagini piccole:

  • ricampionamento tramite interpolazione
  • riempire l'immagine usando gli zeri

Se non si è in grado di mantenere le proporzioni tramite l'upsampling, è possibile eseguire l'upsampling e ritagliare anche i pixel in eccesso nella dimensione più grande. Naturalmente ciò comporterebbe la perdita di dati, ma è possibile spostare ripetutamente il centro del ritaglio. Ciò aiuterebbe il tuo modello ad essere più robusto.


Per immagini di grandi dimensioni:

  • Downsample
  • ritaglia fino alla dimensione di input

Infine, se si utilizza una rete convoluzionale (FCN), non è necessario ridimensionare le immagini.

TL; DR:

sì, il riempimento con zeri è un'opzione valida.


se ho addestrato pesi per una rete completamente convoluzionale che accetta 3 frame video concatenati, come posso usare questi pesi per una rete con la stessa architettura, tranne che la dimensione di input è aumentata a 11 frame concatenati? Sto solo facendo previsioni, non mi alleno ulteriormente. La mia domanda è qui: datascience.stackexchange.com/questions/55737/…
mLstudent33

3

È possibile eseguire le seguenti operazioni Prima ridimensionare le immagini fino a un certo punto e quindi riempire l'immagine da tutti i lati, il che potrebbe aiutare a mantenere le funzionalità nell'immagine.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.