Masalah yang awalnya saya diskusikan di sini telah berevolusi, dan mungkin menjadi sedikit lebih sederhana ketika saya mempelajarinya lebih lanjut dan mendapatkan informasi baru.
Intinya, saya ingin dapat mendeteksi pola yang ditunjukkan di sini, menggunakan teknik pemrosesan visi / gambar komputer. Seperti yang Anda lihat, pola ideal terdiri dari empat 'ping'. Pengenalan objek harus:
- Shift Invariant
- Secara horizontal, gambar akan berbentuk siklus. (Yaitu, Dorong ke kanan, keluar di kiri, dan sebaliknya).
- (Untungnya) Secara vertikal, ini bukan siklus. (yaitu, Dorong ke atas atau bawah dan itu akan berhenti).
- Scale Invariant (Ping dapat bervariasi dalam 'ketebalan' seperti yang Anda lihat.)
Saya bisa terus dan terus tentang itu tetapi saya telah melampirkan gambar yang mencakup apa yang saya maksud, silakan lihat di bawah:
Tentu saja, mereka juga dapat berada pada 'skala' yang berbeda, seperti yang dapat dilihat dari keluarga ini:
Dan akhirnya, inilah beberapa skenario 'realistis' dari apa yang mungkin saya terima, di mana akan ada suara, baris mungkin 'memudar' saat Anda pergi ke bawah, dan tentu saja, gambar akan memiliki banyak garis palsu, artefak , dll.
Dan tentu saja, sebagai grand final, ada kemungkinan berbeda dari skenario 'ekstrem' ini:
Jadi sekali lagi, saya ingin meminta panduan tentang teknik visi komputer-mesin apa yang harus saya gunakan di sini untuk mendeteksi dengan baik terjadinya pola saya, di mana saya harus bergeser dan mengubah skala invarian seperti yang Anda lihat, dan juga bisa mendapatkan hasil yang layak untuk skenario realistis. (Kabar baiknya adalah bahwa saya TIDAK membutuhkannya untuk berubah secara invarian). Satu-satunya ide yang saya dapat temukan sejauh ini adalah korelasi 2-D.
Saya harus menambahkan, bahwa pada kenyataannya, saya TIDAK memiliki gambar berwarna - Saya hanya akan mendapatkan angka martix, jadi saya kira kita berbicara tentang 'skala abu-abu'.
Terima kasih sebelumnya!
PS Untuk apa nilainya saya mungkin akan menggunakan open C V.
EDIT # 1:
Berdasarkan komentar, saya telah menambahkan detail yang Anda minta di sini:
Untuk karakteristik mendefinisikan data, kita dapat mengasumsikan yang berikut:
Panjang horizontal setiap ping dapat bervariasi, tetapi saya tahu batas atas dan bawahnya. YA untuk apa pun dalam batas ini, TIDAK untuk apa pun di luar. (Contoh, saya tahu panjang ping bisa di mana saja antara 1 dan 3 detik, misalnya).
Semua ping harus 'terlihat' untuk YA, namun, baris terakhir bisa hilang, dan masih ingin mengatakan 'YA'. Kalau tidak, TIDAK.
Panjang vertikal, ('ketebalan') setiap ping dapat bervariasi, tetapi sekali lagi, juga tahu batas atas dan bawah. (Mirip dengan apa yang Anda lihat pada gambar-gambar itu). YA untuk apa pun dalam batas itu. TIDAK untuk apa pun di luar.
Tinggi antara setiap ping harus selalu sama untuk YA. Jika tidak, maka TIDAK. (Contoh, Anda dapat melihat bagaimana semua ping memiliki ketinggian yang relatif sama satu sama lain, ~ 110 pada sumbu vertikal). Jadi 110 +/- 5 bisa menjadi YA, yang lainnya harus TIDAK.
Saya pikir itu tentang hal itu - tetapi biarkan saya tahu apa lagi yang bisa saya tambahkan ... (Juga, semua yang ditampilkan di sini harus mendaftar sebagai YA, btw).
detect this pattern shown here
? Apakah Anda hanya tertarik untuk mengisolasi garis merah / kuning atau apakah Anda benar-benar ingin ekspresi yang menghitung hubungan antara garis-garis tersebut. Hanya menemukan garis yang hanya bisa memerlukan ambang atau segmentasi. Apa yang sebenarnya kamu inginkan?