Saya memiliki proyek hobi yang saya renungkan sebagai komitmen untuk meningkatkan pengalaman belajar mesin saya yang sejauh ini terbatas. Saya telah mengambil dan menyelesaikan MOOC Coursera tentang topik tersebut. Pertanyaan saya berkaitan dengan kelayakan proyek.
Tugasnya adalah sebagai berikut:
Kucing tetangga kadang-kadang mengunjungi kebun saya, yang saya tidak suka karena mereka cenderung buang air besar di halaman saya. Saya ingin memiliki sistem peringatan yang mengingatkan saya ketika ada hadiah kucing sehingga saya bisa mengejarnya menggunakan super soaker saya. Demi kesederhanaan, katakan bahwa saya hanya peduli dengan kucing dengan warna hitam dan putih.
Saya telah menyiapkan pi raspberry dengan modul kamera yang dapat menangkap video dan / atau gambar bagian dari kebun.
Contoh gambar:
Gagasan pertama saya adalah untuk melatih classifier untuk mengidentifikasi kucing atau benda seperti kucing, tetapi setelah menyadari bahwa saya tidak akan dapat memperoleh sampel positif dalam jumlah yang cukup besar, saya telah meninggalkannya demi deteksi anomali.
Saya memperkirakan bahwa jika saya mengambil foto setiap detik dalam sehari, saya mungkin akan mendapatkan sekitar lima foto berisi kucing (dari sekitar 60.000 dengan sinar matahari) per hari.
Apakah ini layak menggunakan deteksi anomali? Jika demikian, fitur apa yang akan Anda sarankan? Sejauh ini ide saya adalah menghitung jumlah piksel dengan warna tertentu; melakukan beberapa jenis deteksi gumpalan / segmentasi gambar (yang saya tidak tahu bagaimana melakukannya, dan dengan demikian ingin menghindari) dan melakukan analisis warna yang sama pada mereka.
sumber
Jawaban:
Anda dapat menyederhanakan masalah Anda secara signifikan dengan menggunakan pendekatan deteksi gerakan / perubahan. Misalnya, Anda dapat membandingkan setiap gambar / bingkai dengan satu dari waktu awal (misalnya, satu menit lebih awal), kemudian hanya mempertimbangkan piksel yang telah berubah sejak waktu sebelumnya. Anda kemudian dapat mengekstrak wilayah perubahan persegi panjang dan menggunakannya sebagai dasar untuk klasifikasi atau deteksi anomali Anda.
Mengambil jenis pendekatan ini dapat secara signifikan menyederhanakan pengklasifikasi Anda dan mengurangi tingkat target palsu Anda karena Anda dapat mengabaikan apa pun yang ukurannya tidak sebesar kucing (misalnya, orang atau burung). Anda kemudian akan menggunakan daerah perubahan yang diekstraksi yang tidak disaring untuk membentuk set pelatihan untuk classifier Anda (atau detektor anomali).
Pastikan untuk mendapatkan tingkat target salah Anda cukup rendah sebelum memasang menara laser ke sistem deteksi intrusi kucing Anda.
sumber
Ini adalah proyek yang menarik dan juga cukup ambisius :)
Saya tidak yakin deteksi anomali (setidaknya dalam arti yang dijelaskan dalam kursus yang Anda ikuti) akan menjadi algoritma yang sangat pas dalam kasus ini.
Saya akan mempertimbangkan pendekatan yang lebih layak untuk menjadi apa yang telah dibahas pada akhir kursus di mana alur kerja Photo OCR ditunjukkan.
Pendekatan ini akan terdiri dari pengelompokan gambar Anda dalam "blok" yang lebih kecil, dan melalui mereka satu per satu menggunakan algoritma pembelajaran terawasi dan mencoba untuk mengklasifikasikan setiap blok sesuai dengan apakah itu berisi kucing atau tidak. Jika satu blok berisi kucing, alarm berbunyi. Sebagai bonus, Anda mendapatkan posisi kucing juga, sehingga Anda mungkin berpikir untuk memasukkan beberapa respons "otomatis" sebagai langkah masa depan untuk proyek Anda.
Manfaatnya di sini adalah Anda tidak perlu melatih algoritme Anda menggunakan dataset khusus untuk kebun Anda (yang, seperti yang Anda sebutkan sulit dibuat), tetapi Anda dapat menggunakan gambar kucing yang diambil dari jaring (mis. Mungkin Anda dapat mencari "kucing di rumput" atau sesuatu), dan mungkin tambalan foto dari kebun Anda (atau lainnya). Karena itu Anda tidak perlu menghabiskan waktu mengumpulkan foto dari kamera Anda, dan Anda menghindari risiko memiliki sampel positif yang sangat kecil (yaitu kucing).
Sekarang, tentu saja betapa mudahnya membangun detektor kucing yang akurat adalah topik lain ..
sumber
Strategi deteksi gerakan / perubahan tentu memadai, tetapi saya akan menambahkan operasi tambahan. Saya akan mendeteksi daerah-daerah yang lebih mungkin untuk diubah, misalnya, tangga tampaknya tempat di mana manusia dapat (juga kucing) dan rumput tempat anjing, kucing atau manusia bisa berada.
Saya akan menangkap peta dengan ukuran objek dan lintasan dan dengan ini saya akan membuat cluster dengan tujuan mendeteksi objek (dengan ukuran spesifik dalam gambar dalam hal piksel) yang bergerak dengan kecepatan dan lintasan tertentu.
Anda dapat mencapai ini dengan menggunakan R atau saya akan menyarankan OpenCV untuk mendeteksi gerakan dan mengikuti objek yang berbeda.
sumber
Pengurangan latar belakang OpenCV akan menemukan benda bergerak di sekitar harden Anda. Setelah itu Anda bisa menggunakan pengelompokan atau analisis bentuk untuk membedakan antara kucing, manusia, pohon dan lain-lain.
sumber
Apakah ini seekor burung? Apakah itu kucing? Kami memiliki kucing berukuran hitam-putih! burung gagak di sini. jadi itu akan gagal.
Hal pertama yang harus dikecualikan adalah semua area yang hijau, kucing jarang hijau.
Kemudian membandingkan sisanya dengan gambar referensi untuk menghilangkan hal-hal statis seperti batu dan tangga.
Mendeteksi objek dengan ukuran minimum harus dimungkinkan, tetapi untuk klasifikasi, resolusinya terlalu rendah. Bisa juga tetangga Anda menguji pesawat tak berawak baru yang dikendalikannya.
Dengan dua kamera Anda bisa melakukan pemetaan 3d objek dan menghilangkan objek terbang.
sumber