Jadual Kandungan[Sembunyi][Tunjukkan]
Adalah meyakinkan untuk mengetahui bahawa kami telah berjaya menyemai robot dengan kebolehan semula jadi kami untuk belajar melalui teladan dan melihat persekitaran mereka. Cabaran asas ialah mereka yang mengajar komputer untuk "melihat" seperti manusia memerlukan lebih banyak masa dan usaha.
Walau bagaimanapun, apabila kita mempertimbangkan nilai praktikal yang diberikan oleh kemahiran ini kepada organisasi dan perusahaan pada masa ini, usaha itu berbaloi. Dalam artikel ini, anda akan mempelajari tentang klasifikasi imej, cara ia berfungsi dan pelaksanaan praktikalnya. Mari kita mulakan.
Apakah klasifikasi imej?
Tugas menyuap imej ke dalam a rangkaian neural dan mengeluarkannya beberapa bentuk label untuk gambar itu dikenali sebagai pengecaman imej. Label output rangkaian akan sepadan dengan kelas yang telah ditetapkan.
Mungkin terdapat banyak kelas yang diberikan kepada gambar, atau hanya satu. Apabila terdapat hanya satu kelas, istilah "pengiktirafan" sering digunakan, manakala apabila terdapat berbilang kelas, istilah "pengelasan" sering digunakan.
Pengesanan objek ialah subset klasifikasi gambar di mana kejadian tertentu objek dikesan sebagai milik kelas tertentu seperti haiwan, kenderaan atau manusia.
Bagaimanakah klasifikasi imej berfungsi?
Imej dalam bentuk piksel dianalisis oleh komputer. Ia mencapai ini dengan menganggap gambar sebagai koleksi matriks, yang saiznya ditentukan oleh resolusi imej. Ringkasnya, klasifikasi gambar ialah kajian data statistik yang menggunakan algoritma dari perspektif komputer.
Pengelasan imej dicapai dalam pemprosesan imej digital dengan mengumpulkan piksel ke dalam kumpulan yang telah ditetapkan, atau "kelas." Algoritma membahagikan imej kepada satu barisan ciri yang patut diberi perhatian, yang mengurangkan beban untuk pengelas akhir.
Kualiti ini memberitahu pengelas tentang makna imej dan potensi pengelasan. Oleh kerana selebihnya proses dalam mengklasifikasikan gambar bergantung padanya, kaedah pengekstrakan ciri adalah fasa yang paling kritikal.
. data yang disediakan kepada algoritma juga penting dalam pengelasan imej, terutamanya pengelasan yang diselia. Berbanding dengan set data yang mengerikan dengan ketidakseimbangan data berdasarkan kelas dan kualiti gambar dan anotasi yang rendah, set data klasifikasi yang dioptimumkan dengan baik menunjukkan prestasi yang mengagumkan.
Klasifikasi imej menggunakan Tensorflow & Keras dalam python
Kami akan menggunakannya CIFAR-10 set data (yang termasuk pesawat, kapal terbang, burung dan 7 perkara lain).
1. Keperluan Pemasangan
Kod di bawah akan memasang semua prasyarat.
2. Mengimport tanggungan
Buat fail train.py dalam Python. Kod di bawah akan mengimport kebergantungan Tensorflow dan Keras.
3. Memulakan parameter
CIFAR-10 merangkumi hanya 10 kategori gambar, oleh itu num kelas hanya merujuk kepada bilangan kategori untuk dikelaskan.
4. Memuatkan set data
Fungsi ini menggunakan modul Tensorflow Datasets untuk memuatkan set data dan kami menetapkan dengan maklumat kepada True untuk mendapatkan beberapa maklumat mengenainya. Anda boleh mencetaknya untuk melihat medan dan nilainya dan kami akan menggunakan maklumat tersebut untuk mendapatkan semula bilangan sampel dalam set latihan dan ujian.
5. Mencipta model
Kini kami akan membina tiga lapisan, setiap satu terdiri daripada dua ConvNets dengan pengumpul maksimum dan fungsi pengaktifan ReLU, diikuti dengan sistem 1024 unit yang disambungkan sepenuhnya. Berbanding dengan ResNet50 atau Xception, yang merupakan model terkini, ini mungkin model yang agak kecil.
6. Melatih model
Saya menggunakan Tensorboard untuk mengukur ketepatan dan kehilangan dalam setiap zaman dan memberikan kami paparan yang indah selepas mengimport data dan menjana model. Jalankan kod berikut; bergantung pada CPU/GPU anda, latihan akan mengambil masa beberapa minit.
Untuk menggunakan tensorboard, hanya taip perintah berikut dalam terminal atau command prompt dalam direktori semasa:
Anda akan melihat bahawa kehilangan pengesahan semakin berkurangan dan ketepatan meningkat kepada kira-kira 81%. Itu hebat!
Menguji model
Apabila latihan selesai, model akhir dan pemberat disimpan dalam folder hasil, membolehkan kami berlatih sekali dan membuat ramalan bila-bila masa yang kami pilih. Ikut kod dalam fail python baharu bernama test.py.
7. Mengimport utiliti untuk ujian
8. Membuat direktori python
Buat kamus Python yang menterjemahkan setiap nilai integer kepada label yang sesuai untuk set data:
9. Memuatkan data & model ujian
Kod berikut akan memuatkan data dan model ujian.
10. Penilaian & Ramalan
Kod berikut akan menilai dan membuat ramalan pada imej katak.
11. Keputusan
Model itu meramalkan katak dengan ketepatan 80.62%.
Kesimpulan
Okay, kita sudah selesai dengan pelajaran ini. Walaupun 80.62% tidak bagus untuk sedikit CNN, saya sangat menasihati anda untuk mengubah model atau melihat ResNet50, Xception atau model canggih lain untuk hasil yang lebih baik.
Memandangkan anda telah membina rangkaian pengecaman imej pertama anda di Keras, anda harus mencuba model tersebut untuk mengetahui cara parameter berbeza mempengaruhi prestasinya.
Sila tinggalkan balasan anda