Klasifikasi gambar adalah tugas menugaskan salah satu darilabel yang sebelumnya dikenal untuk gambar yang diberikan. Misalnya, Anda tahu bahwa Anda akan diberikan beberapa foto dan masing-masing gambar memiliki satu fotodi dalamnya. Algoritme harus mengatakan apa yang ditunjukkan foto.
Kumpulan data patokan untuk klasifikasi gambar adalah ImageNet ; terutama tantangan pengenalan visual skala besar (LSVRC) Anda . Ini memiliki tepat 1000 kelas dan sejumlah besar data pelatihan (saya pikir ada versi down-sampel dengan sekitar 250px x 250px gambar, tetapi banyak gambar tampaknya berasal dari Flicker).
Tantangan ini biasanya diselesaikan dengan CNN (atau jaringan saraf lainnya).
Apakah ada kertas yang mencoba pendekatan yang tidak menggunakan jaringan saraf di LSVRC?
Untuk memperjelas pertanyaan: Tentu saja, ada algoritma klasifikasi lain seperti tetangga terdekat atau SVM. Namun, saya ragu mereka bekerja sama sekali untuk banyak kelas / data sebanyak itu. Setidaknya untuk-NN Saya yakin prediksi akan sangat lambat; untuk SVM saya kira pas dan prediksi akan banyak memperlambat (?).
sumber
Jawaban:
Bagian dari masalah dengan menjawab pertanyaan ini adalah sebenarnya ada dua pertanyaan. Pertama:
Apakah ada algoritma klasifikasi gambar yang bukan jaringan saraf?
Ya banyak. Tapi sekarang pertanyaan sebenarnya:
Apakah ada kertas yang mencoba pendekatan yang tidak menggunakan jaringan saraf di LSVRC?
Dalam pertanyaan Anda, Anda mengesampingkan metode seperti kNN dan SVM karena kecepatan. Bag of Words adalah salah satu metode yang digunakan untuk menyelesaikan masalah ini. MATLAB memiliki demonstrasi yang baik ( http://www.mathworks.com/help/vision/examples/image-category-classification-using-bag-of-features.html ). Tetapi BoW menggabungkan k-means clustering, sehingga mungkin tidak sesuai dengan kebutuhan Anda.
Ada beberapa metode klasifikasi gambar menarik lainnya seperti analisis tekstur. TA sedang diteliti sebagai cara untuk mengklasifikasikan kejahatan penyakit dalam gambar medis (seperti tumor). Berikut ini adalah makalah yang biasa direferensikan: http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2701316/
Berikut ini ikhtisar klasifikasi gambar: http://www.tandfonline.com/doi/full/10.1080/01431160600746456
sumber
Anda dapat menggunakan algoritma apa pun yang dapat menangani dimensi data Anda, termasuk SVM dan K Tetangga Terdekat. Kinerja algoritma yang diimplementasikan terbaik hampir semuanya sama, terima untuk CNN. Alasan mengapa CNN digunakan adalah karena saat ini pemimpin berkaitan dengan akurasi, dan telah selama beberapa tahun.
sumber
Ada banyak algoritma yang dapat digunakan untuk melakukan klasifikasi (banyak ke titik yang sulit untuk menyebutkan semuanya) Saya sarankan Anda untuk melihat http://dlib.net/ml_guide.svg ini.
Membuat keputusan algoritma mana yang digunakan adalah fungsi dari masalah yang sedang Anda tangani, terutama: 1. Jumlah kelas 2. Jumlah sampel 3. Variasi dalam kelas dan kesamaan antar kelas 4. Ketidakseimbangan data 5. Dimensi fitur Anda Dan banyak parameter lainnya
Secara umum, CNN sangat populer karena dua alasan: Mereka dapat menyebabkan kinerja tinggi dalam masalah yang sangat menantang dan mereka adalah solusi umum dalam konteks bahwa Anda perlu memahami arsitektur mereka strategi dan trik untuk melakukan pelatihan saja, setelah itu Anda tidak perlu mengubah apa pun, tidak ada parameter untuk bermain.
sumber