Mendeteksi objek gelas yang terisi

10

Saya telah dikirim ke sini dari pertanyaan ini di stackoverflow , permisi jika pertanyaannya terlalu spesifik dan tidak ada dalam tata krama di sini :)

Tugasnya adalah menemukan gelas dengan cairan khusus di dalamnya. Mari saya tunjukkan gambar-gambarnya dan jelaskan apa yang saya coba capai dan bagaimana saya berusaha untuk mencapai sejauh ini dalam deskripsi di bawah gambar.

Gambar-gambar : (sepertinya saya memerlukan setidaknya 10 reputasi untuk mengirim gambar dan tautan, jadi tautan harus dilakukan :( jika tidak, Anda dapat melihat pertanyaan stack overflow)

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Penjelasan terperinci : Saya mencoba menerapkan algoritme yang akan mendeteksi segelas bentuk tertentu di OpenCV (kaca dapat diubah oleh sudut / jarak jepretan kamera yang berbeda). Akan ada juga gelas lain dari bentuk lain. Kaca yang saya cari juga akan diisi dengan cairan berwarna yang akan membedakannya dari kacamata yang mengandung warna lain.

Sejauh ini, saya telah mencoba menggunakan ekstraktor fitur SIFT untuk mencoba menemukan beberapa fitur di kaca dan kemudian mencocokkannya dengan foto lain dengan kaca di dalamnya.

Pendekatan ini hanya berfungsi dalam kondisi yang sangat spesifik di mana saya akan memiliki kaca di posisi yang sangat spesifik dan latar belakang akan mirip dengan gambar pembelajaran. Masalahnya juga adalah bahwa kaca adalah objek 3d dan saya tidak tahu cara mengekstrak fitur dari itu (mungkin beberapa foto dari sudut yang berbeda terhubung-entah bagaimana?).

Sekarang saya tidak tahu pendekatan apa yang bisa saya gunakan. Saya telah menemukan beberapa petunjuk tentang ini (di sini /programming/10168686/algorithm-improvement-for-coca-cola-can-shape-recognition#answer-10219338 ) tetapi tautannya tampaknya rusak.

Masalah lain adalah mendeteksi "tingkat kekosongan" yang berbeda dalam gelas tersebut, tetapi saya bahkan belum dapat menemukan gelas itu dengan benar.

Apa yang akan menjadi rekomendasi Anda tentang pendekatan dalam tugas ini? Apakah lebih baik menggunakan cara berbeda untuk menemukan fitur objek 3d lokal? Atau lebih baik menggunakan pendekatan lain sama sekali? Saya telah mendengar tentang algoritme "mempelajari" objek dari sekumpulan banyak foto tetapi saya belum pernah melihat ini dalam praktiknya.

Setiap saran akan sangat dihargai

pengguna1916182
sumber
ada solusi akhir dengan sampel kode sumber lengkap dalam C #?
Kiquenet
wow itu permintaan yang cukup spesifik. masalahnya belum memiliki solusi dan saya tidak akan menginvestasikan lebih banyak waktu untuk menyelesaikannya. Saya percaya, menilai dari makalah yang disebutkan di sini, bahwa alasan ilmiah tidak akan memiliki solusi segera, karena algoritma yang disarankan memiliki tingkat presisi yang sangat buruk. Bagaimanapun, karena proyek ini adalah untuk pekerjaan saya, saya akhirnya berdebat tentang kompromi dengan klien, karena tugas itu tidak nyata untuk diselesaikan saat ini. menggunakan beberapa fitur pendeteksi seperti-Haar biasa untuk "apa pun yang terlihat seperti cangkir" dan kemudian memilih warna kuning untuk mendeteksi bir. bukan tugas asli
user1916182

Jawaban:

0

Mungkin makalah ini dapat membantu Anda: http://ai.stanford.edu/~ang/papers/iros09-ScalableLearningObjectDetectionGPU.pdf

Meskipun mereka menggunakan sistem stereo aktif di samping gambar 2D untuk memperoleh gambar yang dalam, menarik bagaimana mereka menggunakan fitur berbasis tambalan, membuat kamus objek dengan banyak fragmen kecil dan kemudian melatih classifier. Mungkin Anda dapat menambahkan fitur ini untuk meningkatkan tingkat deteksi Anda.

Giorgio Luigi Morales Luna
sumber
Saya tidak berpikir karya ini dapat digunakan dengan sangat baik dalam praksis liar. robot yang dideskripsikan di koran membutuhkan sensor kedalaman untuk mendeteksi informasi kedalaman ... tidak terlalu praktis untuk membawa kinect saat mengambil gambar acak pada ponsel atau sesuatu ... tapi ya, fitur berbasis patch adalah pendekatan yang sangat menarik!
user1916182
-1

Ada banyak pekerjaan yang dilakukan dalam hal ini ketika datang ke perangkat lunak pengenalan wajah. Misalnya, jika Anda perhatikan di Facebook saat menandai foto, lokasi wajah dikotak dan disarankan untuk Anda.

Saya telah melihat banyak literatur tentang pengenalan wajah dalam gambar menggunakan jaringan saraf dan pencarian Google cepat tidak diragukan lagi akan menghasilkan sejumlah besar informasi tentang subjek. Jaringan ini mengambil piksel gambar sebagai input. Dalam kasus Anda, cara perubahan opacity / cahaya memantul dari kaca mungkin merupakan fitur identifikasi yang baik yang akan dipelajari jaringan.

Salah satu masalah mungkin jumlah foto yang harus Anda gunakan sebagai data pelatihan dan pra-pemrosesan ini (yaitu mengidentifikasi wajah sendiri). Jika tidak mungkin melakukan ini untuk gambar yang cukup untuk melatih jaringan Anda dengan cukup baik maka Anda harus mencari beberapa jalan pintas di tahap pembelajaran. Makalah ini relevan dengan apa yang ingin Anda lakukan: http://www.ll.mit.edu/publications/journal/pdf/vol04_no2/4.2.5.neuralnetwork.pdf

Untungnya ini adalah bidang yang sangat aktif dan banyak kode yang diperlukan untuk masalah jenis ini sudah tersedia online.

Setelah Anda dapat mengidentifikasi kacamata dalam gambar, Anda dapat melakukan analisis lebih lanjut dari sana.

rwolst
sumber
ini sama sekali tidak relevan
user1916182
Menarik, Anda harus mengatakan itu. Pokoknya di sini adalah tautan ke algoritma deteksi yang digunakan oleh Facebook berdasarkan jaringan saraf. Selamat mencoba, github.com/facebookresearch/Detectron .
rwolst