Pengenalan gerakan hanya menggunakan teknik sederhana

8

Saya mengikuti kursus visi komputer dan melakukan latihan ini: menulis sebuah program yang, dengan gambar tangan, ia dapat mengenali apakah tangan itu terbuka, tertutup, dengan pukulan, atau memegang postur "ok", hanya menggunakan teknik yang disediakan hingga saat ini (piksel 4/8 terhubung, wilayah terhubung, penemuan kontur, penemuan lubang, properti gumpalan seperti centroid, area, perimeter, eksentrisitas, momen gambar, transformasi gambar seperti pembalikan / power / log / koreksi gamma / peregangan kontras, histogram perhitungan dan pemerataan).

Saya telah melakukannya dengan beberapa properti gumpalan dasar (tangan tertutup memiliki eksentrisitas rendah, "ok" memiliki lubang, tangan terbuka memiliki perbedaan besar antara area elips tertulis di gumpalan dan area gumpalan itu sendiri dengan eksentrisitas rendah) .. Tampaknya berfungsi tetapi gambar pertama agak bermasalah.

Saya pikir mungkin ada sesuatu yang lebih untuk membuat algoritma yang lebih kuat. Mungkin semacam properti sesaat? Bisakah beberapa titik / orientasi / titik gumpalan membantu?

Gambar tes PS:

ok2

baik

Buka

meninju

nkint
sumber
Apakah Anda diizinkan menggunakan skeletonization ? Lihat artikel Wikipedia yang relevan untuk lebih banyak ide.
Emre
tidak tidak diperbolehkan karena itu adalah konten dari kelas yang akan datang!
nkint
Anda bisa mencoba menerapkan ApproXimation Simbolik Agregat ke kontur luar setiap objek. Pada dasarnya mereduksi bentuk kompleks menjadi waktu-waktu dan kemudian mengelompokkannya dalam beberapa cara.
Ivo Flipse
Saya pikir saya tidak harus menggunakan pembelajaran mesin apa pun, hanya cara cerdas untuk menggabungkan isses yang ditulis dalam pertanyaan ..
nkint
mungkin beberapa fitur morfologis?
nkint

Jawaban:

2

Anda dapat mencoba melihat momen invarian Hu. Mereka dapat dibangun dari momen dasar, dan rotasi, skala, refleksi, dan terjemahan tidak berubah-ubah.

Hitung mereka untuk satu set kontur pelatihan pertama, dan kemudian menerapkannya pada kontur tes.

Ada implementasi di Matlab dan OpenCV, sejauh yang saya ingat.

CB
sumber
2

Menurut buku Pemrograman visi komputer dengan Python pendekatan yang menarik adalah dengan menggunakan fitur SIFT padat (alias HoG) pada gambar Anda, dan memberi makan fitur ini ke classifier.

Saya tidak mencobanya sendiri, tetapi sepertinya cukup sebagai pendekatan. Selain itu, penemu fitur HoG mengusulkan aplikasi Flutter yang bekerja cukup baik dalam pengujian saya, dan akan sangat aneh jika penemu tidak menggunakan fitur-fiturnya sendiri atau turunan dekat.

sansuiso
sumber
2

Salah satu teman saya melakukan ini untuk tesis sarjana. Apa yang dia lakukan pada dasarnya adalah mengkodekan properti dari setiap gerakan. Sebagai contoh, pada gambar pertama, ambil topeng persegi panjang di atas tangan. Bagian-bagian di mana kulit bertemu dengan ujung topeng persegi panjang harus dicatat dan ditandai. Kemudian posisi relatif dari tepi yang lebih besar dan tepi yang lebih kecil dapat dibandingkan.

Jadi untuk menunjuk ke atas, Anda akan memiliki tepi yang lebih kecil ke atas dan tepi yang lebih besar di pergelangan tangan.

Untuk menunjuk ke samping, Anda memiliki tepi yang lebih kecil di satu sisi dan tepi yang lebih besar di bagian bawah.

Petunjuk setidaknya dapat dibahas dengan cara ini.

Naresh
sumber