Saya ingin menggunakan jaringan saraf untuk klasifikasi gambar. Saya akan mulai dengan CaffeNet yang sudah dilatih sebelumnya dan melatihnya untuk aplikasi saya.
Bagaimana saya menyiapkan gambar input?
Dalam hal ini, semua gambar adalah objek yang sama tetapi dengan variasi (pikirkan: kontrol kualitas). Mereka berada pada skala yang agak berbeda / resolusi / jarak / kondisi pencahayaan (dan dalam banyak kasus saya tidak tahu skalanya). Juga, di setiap gambar ada area (dikenal) di sekitar objek yang menarik yang harus diabaikan oleh jaringan.
Saya dapat (misalnya) memotong bagian tengah setiap gambar, yang dijamin mengandung sebagian dari objek yang menarik dan tidak ada area yang diabaikan; tetapi sepertinya itu akan membuang informasi, dan juga hasilnya tidak akan benar-benar skala yang sama (mungkin variasi 1,5x).
Augmentasi dataset
Saya pernah mendengar tentang membuat lebih banyak data pelatihan secara acak / mirror / etc, apakah ada metode standar untuk ini? Adakah hasil pada berapa banyak peningkatan yang dihasilkan untuk akurasi klasifikasi?
import scipy.misc
. stackoverflow.com/questions/13581593/…Sementara jawaban wacax lengkap dan sangat jelas, saya ingin menambahkan beberapa hal jika ada yang tersandung pada jawaban ini.
Pertama-tama, kebanyakan
scipy.misc
fungsi terkait gambar (imread
,imsave
,imresize
ERC) telah menjadi usang dalam mendukung baik imageio atau skimage .Kedua, saya akan sangat menyarankan imgaug library python untuk tugas augmentasi. Ini sangat mudah digunakan dan memiliki hampir semua teknik augmentasi yang mungkin ingin Anda gunakan.
sumber