Zmiana rozmiaru obrazu i wypełnienie dla CNN

14

Chcę trenować CNN w zakresie rozpoznawania obrazów. Obrazy do treningu nie mają ustalonego rozmiaru. Chcę na przykład, aby rozmiar wejściowy dla CNN wynosił 50 x 100 (wysokość x szerokość). Kiedy zmieniam rozmiar niewielkich obrazów (na przykład 32x32) do rozmiaru wejściowego, zawartość obrazu jest zbyt mocno rozciągana w poziomie, ale w przypadku niektórych zdjęć średniej wielkości wygląda dobrze.

Jaka jest właściwa metoda zmiany rozmiaru obrazów przy jednoczesnym unikaniu niszczenia zawartości?

(Myślę o wypełnieniu obrazów zerami do pełnego rozmiaru po zmianie ich rozmiaru do pewnego stopnia przy zachowaniu stosunku szerokości do wysokości. Czy ta metoda byłaby w porządku?)

Odgiiv
źródło

Odpowiedzi:

10

To pytanie na temat przepełnienia stosu może ci pomóc. Reasumując, niektórzy badacze zajmujący się głębokim uczeniem się uważają, że wypełnienie dużej części obrazu nie jest dobrą praktyką, ponieważ sieć neuronowa musi się dowiedzieć, że wypełniony obszar nie ma znaczenia dla klasyfikacji i nie musi się tego uczyć, jeśli na przykład użyj interpolacji.

David Masip
źródło
5

Masz kilka opcji:

W przypadku małych obrazów:

  • próbkowanie poprzez interpolację
  • uzupełnij obraz używając zer

Jeśli nie możesz utrzymać współczynnika kształtu za pomocą próbkowania w górę, możesz próbkować w górę, a także przyciąć nadmiar pikseli w największym wymiarze. Oczywiście spowodowałoby to utratę danych, ale można wielokrotnie przesuwać środek uprawy. Pomogłoby to Twojemu modelowi być bardziej wytrzymałym.


W przypadku dużych obrazów:

  • próbkowanie w dół
  • przyciąć do rozmiaru wejściowego

Wreszcie, jeśli używasz sieci w pełni konwergentnej (FCN), nie musisz zmieniać rozmiaru zdjęć.

TL; DR:

tak, wypełnienie zerami jest prawidłową opcją.

Benji Albert
źródło
jeśli wyszkoliłem wagi dla sieci w pełni splotowej, która akceptuje 3 połączone klatki wideo, jak mogę użyć tych wag dla sieci o tej samej architekturze, z wyjątkiem tego, że wielkość wejściowa jest zwiększona do 11 klatek skonkatenowanych? Robię tylko prognozy, a nie trenuję dalej. Moje pytanie jest tutaj: datascience.stackexchange.com/questions/55737/…
mLstudent33
3

Możesz wykonać następujące czynności Najpierw zmień rozmiar obrazów do pewnego stopnia, a następnie wypełnij obraz ze wszystkich stron, co może pomóc w zachowaniu funkcji na obrazie.

Rohit Jere
źródło