Pengubahan ukuran dan bantalan gambar untuk CNN

14

Saya ingin melatih CNN untuk pengenalan gambar. Gambar untuk pelatihan belum memiliki ukuran tetap. Saya ingin ukuran input untuk CNN menjadi 50x100 (tinggi x lebar), misalnya. Ketika saya mengubah ukuran beberapa gambar berukuran kecil (misalnya 32x32) menjadi ukuran input, konten gambar terlalu banyak membentang secara horizontal, tetapi untuk beberapa gambar berukuran sedang terlihat oke.

Apa metode yang tepat untuk mengubah ukuran gambar sambil menghindari konten yang dihancurkan?

(Saya berpikir tentang melapisi gambar dengan 0s untuk menyelesaikan ukuran setelah mengubah ukurannya ke beberapa tingkat menjaga rasio lebar dan tinggi. Apakah tidak masalah dengan metode ini?)

Odgiiv
sumber

Jawaban:

10

Pertanyaan tentang stackoverflow ini mungkin membantu Anda. Singkatnya, beberapa peneliti pembelajaran dalam berpikir bahwa melapisi sebagian besar gambar bukanlah praktik yang baik, karena jaringan saraf harus belajar bahwa area empuk tidak relevan untuk klasifikasi, dan itu tidak harus belajar bahwa jika Anda gunakan interpolasi, misalnya.

David Masip
sumber
5

Anda punya beberapa pilihan:

Untuk Gambar Kecil:

  • upsample melalui interpolasi
  • pad gambar menggunakan nol

Jika Anda tidak dapat mempertahankan rasio aspek melalui upampling, Anda dapat meng-upample dan juga memotong kelebihan piksel dalam dimensi terbesar. Tentu saja hal ini akan mengakibatkan hilangnya data, tetapi Anda dapat berulang kali menggeser bagian tengah pemangkasan Anda. Ini akan membantu model Anda menjadi lebih kuat.


Untuk Gambar Besar:

  • downsample
  • krop ke ukuran input Anda

Terakhir, jika Anda menggunakan Fully Convolutional Network (FCN), Anda tidak perlu mengubah ukuran gambar Anda.

TL; DR:

ya, mengisi dengan nol adalah opsi yang valid.

Benji Albert
sumber
jika saya telah melatih bobot untuk jaringan konvolusional penuh yang menerima 3 frame video yang dirangkai, bagaimana saya bisa menggunakan bobot ini untuk jaringan dengan arsitektur yang sama kecuali ukuran input ditingkatkan menjadi 11 frame yang digabungkan? Saya hanya membuat prediksi, bukan pelatihan lebih lanjut. Pertanyaan saya ada di sini: datacience.stackexchange.com/questions/55737/…
mLstudent33
3

Anda dapat melakukan hal berikut. Pertama, mengubah ukuran gambar hingga batas tertentu dan kemudian menempelkan gambar dari semua sisi, yang dapat membantu mempertahankan fitur dalam gambar.

Rohit Jere
sumber