Fitur / algoritma yang baik untuk mengenali model mobil dalam gambar

9

Saya punya pertanyaan tentang pengenalan objek, terutama mengenali model mobil! Saya di awal pekerjaan tentang mengidentifikasi model mobil yang sama dalam gambar yang berbeda. Saat ini saya pikir salah satu algoritma terbaik untuk pengenalan objek 3D adalah SIFT tetapi setelah bermain-main sedikit dengan implementasi demo saya memiliki perasaan aneh algoritma ini memiliki beberapa masalah dengan objek logam mengkilap seperti mobil, terutama jika mereka memiliki warna yang berbeda.

Adakah yang tahu beberapa pekerjaan pada area ini secara umum beberapa algoritma yang cocok untuk tugas menemukan model mobil yang sama dalam gambar yang berbeda?

Terima kasih sebelumnya atas bantuan Anda!

Jstr
sumber
2
Bisakah Anda memposting beberapa contoh gambar?
endolith
Tentu. Gambar untuk membuat model mobil-model ;-) dapat berupa: s5 coupe training 1 atau seperti s5 coupe training 2 tetapi juga gambar 'normal'. Gambar permintaan bisa seperti s5 coupe query 1 harapan yang membantu!
jstr
Apa fitur Detektor Fitur seperti SIFT, GLOH atau SURF yang ada untuk mengidentifikasi titik kunci yang cocok pada mobil?
jstr
@ jstr jika Anda akhirnya menerapkan skema yang dijelaskan di bawah ini, seberapa baik kerjanya?
troubleshootingPuzzles

Jawaban:

7

Saya akan melihat pendekatan "kantong kata-kata" atau "kata-kata visual". Ini semakin banyak digunakan untuk kategorisasi dan identifikasi gambar. Algoritma ini biasanya dimulai dengan mendeteksi titik-titik kuat, seperti titik SIFT, dalam sebuah gambar. Wilayah di sekitar titik-titik yang ditemukan ini (deskriptor SIFT 128 bit dalam kasus Anda) digunakan.

Dalam bentuk yang paling sederhana, seseorang dapat mengumpulkan semua data dari semua deskriptor dari semua gambar dan mengelompokkannya, misalnya menggunakan k-means. Setiap gambar asli kemudian memiliki deskriptor yang berkontribusi pada sejumlah cluster. Sentroid kluster ini, yaitu kata-kata visual, dapat digunakan sebagai deskriptor baru untuk gambar. Pada dasarnya Anda berharap bahwa kluster gambar berkontribusi untuk deskriptornya, merupakan indikasi kategori gambar.

Sekali lagi, dalam kasus yang paling sederhana, Anda memiliki daftar cluster, dan per gambar, Anda menghitung cluster mana yang berisi deskriptor dari gambar itu dan berapa banyak. Ini mirip dengan Term Frequency / Inverse Document Frequency (TD / IFD) metode yang digunakan dalam pencarian teks. Lihat skrip Matlab cepat dan kotor ini .

Pendekatan ini diteliti secara aktif dan ada banyak algoritma yang lebih maju.

Situs web VLfeat berisi demo yang lebih canggih dari pendekatan ini, mengklasifikasikan dataset caltech 101. Yang juga patut diperhatikan, adalah hasil dan perangkat lunak dari Caltech sendiri.

Maurits
sumber
Hai, Maurits, terima kasih atas jawaban Anda. Saya akan memikirkannya! Tapi satu pertanyaan. Jika saya memiliki 'kata-kata visual' bagaimana cara mengukur jarak di antara mereka? Saya pikir saya akan menggunakan deskriptor SIFT apakah itu benar? - Lowe memiliki satu makalah di mana ia menjelaskan metode untuk mengenali objek 3D dengan membangun model deskriptor SIFT. Adakah yang tahu beberapa makalah lain yang bagus tentang topik ini (pengenalan objek 3D dengan fitur lain)?
jstr
Dalam hal ini, hanya jarak euclidean, karena Anda mengelompokkan vektor integer. Saya tidak berpikir Anda harus mengukur jarak antara cluster centroids per se, tetapi, ketika disajikan dengan gambar permintaan (dan dengan demikian permintaan deskriptor) Anda mengukur ke centroid mana deskriptor ini yang paling dekat.
Maurits
Ok menggunakan ukuran jarak sudah jelas ;-) tetapi pada data yang mana? Pada SIFT Descriptors per kata visual?
jstr
Tiga kali pada kenyataannya, sebagai metrik untuk pengelompokan awal, untuk memastikan ke mana centroid / visualword deskriptor permintaan adalah yang paling dekat, dan akhirnya, untuk membandingkan kueri td / idf vektor dengan yang ada di database.
Maurits
Ok saya dapat ;-) tetapi pada data mana pengukuran jarak bekerja? Pada deskriptor SIFT?
jstr