wake-up-neo.com

CNN - Image Resizing VS Padding (Seitenverhältnis beibehalten oder nicht?)

Während die Leute normalerweise dazu neigen, beim Trainieren einer CNN einfach die Größe eines Bildes in ein Quadrat zu ändern (zum Beispiel nimmt resnet ein Bild mit einer Größe von 224 x 224 Quadratmetern an), erscheint mir das hässlich, besonders wenn das Seitenverhältnis nicht bei 1 liegt.

(Tatsächlich könnte dies die Grundwahrheit ändern, z. B. könnte die Bezeichnung, die ein Experte für das verzerrte Bild verwendet, von der ursprünglichen abweichen.).

Jetzt ändere ich die Größe des Bildes auf beispielsweise 224x160 und behalte dabei das ursprüngliche Verhältnis. Anschließend füge ich das Bild mit Nullen ein (füge es an einer zufälligen Stelle in einem vollständig schwarzen 224x224-Bild ein).

Mein Ansatz erscheint mir nicht originell, und dennoch kann ich keine Informationen über meinen Ansatz im Vergleich zum "üblichen" Ansatz finden. Funky!

Welcher Ansatz ist also besser? Warum? (Wenn die Antwort datenabhängig ist, teilen Sie uns bitte Ihre Gedanken mit, wann eine der anderen vorzuziehen ist.)

19
Yoni Keren

Laut Jeremy Howard hat das Auffüllen eines großen Teils des Bildes (64x160 Pixel) den folgenden Effekt: Die CNN muss lernen, dass der schwarze Teil des Bildes nicht relevant ist und nicht zur Unterscheidung beiträgt zwischen den Klassen (in einer Klassifizierungseinstellung), da keine Korrelation zwischen den Pixeln im schwarzen Teil und der Zugehörigkeit zu einer bestimmten Klasse besteht. Da Sie dies nicht hart codieren, muss das CNN es durch Gradientenabstieg lernen, und dies kann wahrscheinlich einige Epochen dauern. Aus diesem Grund können Sie dies tun, wenn Sie über viele Bilder und Rechenleistung verfügen. Wenn Sie jedoch über ein begrenztes Budget verfügen, sollte die Größenänderung besser funktionieren.

17
David Masip