Daftar Isi[Bersembunyi][Menunjukkan]
Sangat meyakinkan untuk mengetahui bahwa kami telah berhasil mengilhami robot dengan kemampuan bawaan kami untuk belajar dengan memberi contoh dan memahami lingkungan mereka. Tantangan mendasar adalah mereka yang mengajar komputer untuk "melihat" seperti manusia akan membutuhkan lebih banyak waktu dan usaha.
Namun, ketika kita mempertimbangkan nilai praktis yang diberikan keterampilan ini kepada organisasi dan perusahaan saat ini, upaya tersebut bermanfaat. Pada artikel ini, Anda akan belajar tentang klasifikasi gambar, cara kerjanya, dan implementasi praktisnya. Mari kita mulai.
Apa itu klasifikasi gambar?
Tugas memasukkan gambar ke dalam saraf jaringan dan membuatnya mengeluarkan beberapa bentuk label untuk gambar itu dikenal sebagai pengenalan gambar. Label keluaran jaringan akan sesuai dengan kelas yang telah ditentukan sebelumnya.
Mungkin ada banyak kelas yang ditugaskan untuk gambar, atau hanya satu. Ketika hanya ada satu kelas, istilah "pengakuan" sering digunakan, sedangkan ketika ada beberapa kelas, istilah "klasifikasi" sering digunakan.
Deteksi objek adalah bagian dari klasifikasi gambar di mana contoh objek tertentu terdeteksi sebagai milik kelas tertentu seperti hewan, kendaraan, atau manusia.
Bagaimana cara kerja klasifikasi gambar?
Sebuah gambar dalam bentuk piksel dianalisis oleh komputer. Ini menyelesaikan ini dengan memperlakukan gambar sebagai kumpulan matriks, yang ukurannya ditentukan oleh resolusi gambar. Secara sederhana, klasifikasi gambar adalah studi tentang data statistik yang menggunakan algoritma dari perspektif komputer.
Klasifikasi citra dicapai dalam pemrosesan citra digital dengan mengelompokkan piksel ke dalam kelompok yang telah ditentukan, atau “kelas”. Algoritme membagi gambar menjadi serangkaian karakteristik penting, yang mengurangi beban pengklasifikasi akhir.
Kualitas ini menginformasikan pengklasifikasi tentang arti gambar dan klasifikasi potensial. Karena sisa proses dalam mengklasifikasikan gambar bergantung padanya, metode ekstraksi karakteristik adalah fase yang paling kritis.
Grafik data yang disediakan untuk algoritma juga penting dalam klasifikasi citra, terutama klasifikasi terawasi. Dibandingkan dengan kumpulan data yang buruk dengan ketidakseimbangan data berdasarkan kelas dan kualitas gambar dan anotasi yang rendah, kumpulan data klasifikasi yang dioptimalkan dengan baik berkinerja sangat baik.
Klasifikasi gambar menggunakan Tensorflow & Keras dengan python
Kami akan menggunakan CIFAR-10 dataset (yang meliputi pesawat terbang, pesawat terbang, burung, dan 7 hal lainnya).
1. Persyaratan Instalasi
Kode di bawah ini akan menginstal semua prasyarat.
2. Mengimpor dependensi
Buat file train.py dengan Python. Kode di bawah ini akan mengimpor dependensi Tensorflow dan Keras.
3. Menginisialisasi parameter
CIFAR-10 hanya mencakup 10 kategori gambar, oleh karena itu jumlah kelas hanya mengacu pada jumlah kategori yang akan diklasifikasi.
4. Memuat kumpulan data
Fungsi ini menggunakan modul Tensorflow Datasets untuk memuat dataset, dan kami menyetel dengan info ke True untuk mendapatkan beberapa informasi tentangnya. Anda dapat mencetaknya untuk melihat bidang apa dan nilainya, dan kami akan menggunakan info tersebut untuk mengambil jumlah sampel dalam set pelatihan dan pengujian.
5. Membuat model
Sekarang kita akan membangun tiga lapisan, masing-masing terdiri dari dua ConvNet dengan fungsi max-pooling dan aktivasi ReLU, diikuti oleh sistem 1024 unit yang terhubung penuh. Dibandingkan dengan ResNet50 atau Xception, yang merupakan model canggih, ini mungkin model yang relatif kecil.
6. Melatih model
Saya menggunakan Tensorboard untuk mengukur akurasi dan kerugian di setiap zaman dan memberi kami tampilan yang indah setelah mengimpor data dan membuat model. Jalankan kode berikut; tergantung pada CPU/GPU Anda, pelatihan akan memakan waktu beberapa menit.
Untuk menggunakan tensorboard, cukup ketik perintah berikut di terminal atau command prompt di direktori saat ini:
Anda akan melihat bahwa kehilangan validasi berkurang dan akurasi meningkat menjadi sekitar 81%. Itu luar biasa!
Menguji model
Saat pelatihan selesai, model dan bobot akhir disimpan di folder hasil, memungkinkan kita untuk berlatih sekali dan membuat prediksi kapan pun kita mau. Ikuti kode dalam file python baru bernama test.py.
7. Mengimpor utilitas untuk pengujian
8. Membuat direktori python
Buat kamus Python yang menerjemahkan setiap nilai integer ke label dataset yang sesuai:
9. Memuat data & model uji
Kode berikut akan memuat data dan model uji.
10. Evaluasi & Prediksi
Kode berikut akan mengevaluasi dan membuat prediksi pada gambar katak.
11. Hasil
Model memprediksi katak dengan akurasi 80.62%.
Kesimpulan
Oke, kita sudah selesai dengan pelajaran ini. Meskipun 80.62% tidak bagus untuk CNN kecil, saya sangat menyarankan Anda untuk mengubah model atau melihat ResNet50, Xception, atau model mutakhir lainnya untuk hasil yang lebih baik.
Sekarang setelah Anda membangun jaringan pengenalan gambar pertama Anda di Keras, Anda harus bereksperimen dengan model untuk menemukan bagaimana parameter yang berbeda memengaruhi kinerjanya.
Tinggalkan Balasan