Bab lan Paragraf[Singidaken][Tampilake]
Iku nyenengake kanggo ngerti yen kita wis bisa menehi robot kanthi kemampuan bawaan kanggo sinau kanthi conto lan ngerteni lingkungane. Tantangan dhasar yaiku sing mulang komputer kanggo "ndeleng" kaya manungsa mbutuhake wektu lan usaha luwih akeh.
Nanging, yen kita nimbang nilai praktis sing saiki disedhiyakake dening katrampilan iki kanggo organisasi lan perusahaan, upaya kasebut pancen migunani. Ing artikel iki, sampeyan bakal sinau babagan klasifikasi gambar, cara kerjane, lan implementasine praktis. Ayo diwiwiti.
Apa klasifikasi gambar?
Proyek dipakani gambar menyang a jaringan saraf lan duwe output sawetara wangun label kanggo gambar kasebut dikenal minangka pangenalan gambar. Label output jaringan bakal cocog karo kelas sing wis ditemtokake.
Bisa uga ana akeh kelas sing ditugasake kanggo gambar, utawa mung siji. Yen mung ana siji kelas, istilah "pangenalan" asring digunakake, dene yen ana sawetara kelas, istilah "klasifikasi" asring digunakake.
Deteksi obyek minangka subset saka klasifikasi gambar ing ngendi obyek tartamtu dideteksi minangka kelas tartamtu kayata kewan, kendaraan, utawa manungsa.
Kepiye cara klasifikasi gambar?
Gambar ing wangun piksel dianalisis dening komputer. Iki ngrampungake kanthi nganggep gambar minangka koleksi matriks, ukurane ditemtokake dening resolusi gambar. Cukup ngomong, klasifikasi gambar minangka studi data statistik nggunakake algoritma saka perspektif komputer.
Klasifikasi gambar ditindakake ing pangolahan gambar digital kanthi nglompokake piksel menyang klompok sing wis ditemtokake, utawa "kelas". Algoritma mbagi gambar dadi pirang-pirang karakteristik sing penting, sing nyuda beban kanggo klasifikasi pungkasan.
Kualitas kasebut menehi informasi marang klasifikasi babagan makna gambar lan klasifikasi potensial. Amarga kabeh proses ing klasifikasi gambar gumantung, metode ekstraksi karakteristik minangka tahap paling kritis.
The data diwenehake kanggo algoritma uga wigati ing klasifikasi gambar, utamané klasifikasi diawasi. Dibandhingake karo set data sing nggegirisi kanthi ora seimbang data adhedhasar kelas lan kualitas gambar lan anotasi sing kurang, set data klasifikasi sing dioptimalake kanthi apik nindakake kanthi apik.
Klasifikasi gambar nggunakake Tensorflow & Keras ing python
Kita bakal nggunakake CIFAR-10 set data (sing kalebu pesawat, pesawat, manuk, lan 7 barang liyane).
1. Requirements Nginstal
Kode ing ngisor iki bakal nginstal kabeh prasyarat.
2. Impor dependensi
Nggawe file train.py ing Python. Kode ing ngisor iki bakal ngimpor dependensi Tensorflow lan Keras.
3. Parameter wiwitan
CIFAR-10 kalebu mung 10 kategori gambar, mula num kelas mung nuduhake nomer kategori kanggo klasifikasi.
4. Loading dataset
Fungsi kasebut nggunakake modul Tensorflow Datasets kanggo ngemot dataset, lan kita nyetel info menyang True kanggo njupuk sawetara informasi babagan iki. Sampeyan bisa nyithak kanggo ndeleng apa kolom lan nilai, lan kita bakal nggunakake info kanggo njupuk nomer conto ing set latihan lan testing.
5. Nggawe model
Saiki kita bakal mbangun telung lapisan, saben kasusun saka loro ConvNets karo max-pooling lan fungsi aktivasi ReLU, ngiring dening sistem 1024-unit disambungake kanthi lengkap. Dibandhingake karo ResNet50 utawa Xception, sing minangka model paling canggih, iki bisa uga model sing relatif cilik.
6. Latihan model
Aku digunakake Tensorboard kanggo ngukur akurasi lan mundhut ing saben jaman lan nyedhiyani kita karo tampilan apik banget sawise ngimpor data lan ngasilaken model. Jalanake kode ing ngisor iki; gumantung ing CPU / GPU, latihan bakal njupuk sawetara menit.
Kanggo nggunakake tensorboard, ketik printah ing ngisor iki ing terminal utawa command prompt ing direktori saiki:
Sampeyan bakal weruh kerugian validasi saya suda lan akurasi mundhak nganti 81%. Apik tenan!
Nguji model
Nalika latihan rampung, model lan bobot pungkasan disimpen ing folder asil, ngidini kita nglatih sepisan lan nggawe prediksi kapan wae. Tindakake kode ing file python anyar sing jenenge test.py.
7. Ngimpor keperluan kanggo testing
8. Nggawe direktori python
Gawe kamus Python sing nerjemahake saben nilai integer menyang label sing cocog karo dataset:
9. Loading data test & model
Kode ing ngisor iki bakal mbukak data lan model tes.
10. Evaluasi & Prediksi
Kode ing ngisor iki bakal ngevaluasi lan nggawe prediksi ing gambar kodhok.
11. Hasil
Model kasebut prédhiksi kodhok kanthi akurasi 80.62%.
kesimpulan
Oke, kita wis rampung karo pelajaran iki. Nalika 80.62% ora apik kanggo CNN cilik, aku banget menehi saran supaya sampeyan ngowahi model utawa ndeleng ResNet50, Xception, utawa model mutakhir liyane kanggo asil sing luwih apik.
Saiki sampeyan wis nggawe jaringan pangenalan gambar pisanan ing Keras, sampeyan kudu nyoba model kasebut kanggo ngerteni kepiye paramèter sing beda-beda mengaruhi kinerja.
Ninggalake a Reply