Lindungi Taman Anda Dari Kucing
Hal-hal yang digunakan dalam proyek ini, Komponen perangkat keras :
Aplikasi perangkat lunak dan layanan online :
Perkakas tangan dan mesin fabrikasi :
1. Cerita
Hampir satu tahun yang lalu kami pindah dari apartemen ke rumah bersama dengan kucing dan bayi perempuan kami. Mimpi buruk telah dimulai ketika kucing kami mulai menggunakan taman sebagai toilet.
Ada beberapa upaya untuk mendorongnya kembali ke tempat sampah kucing, tetapi semuanya tidak berhasil, dia sangat menyukai taman itu sama seperti kami. Jadi saya mulai memikirkan sesuatu yang bisa mencegah kucing pergi ke sana, awalnya saya berpikir tentang speaker ultrasonik atau udara bertekanan untuk menakut-nakutinya. Namun keduanya tidak baik untuk ruang terbuka.
Kemudian saya berpikir tentang sensor kehadiran yang menyemprotkan air, tetapi saya tidak ingin bayi perempuan saya basah daripada kucing, jadi masalah ini membutuhkan pendekatan yang lebih canggih. Sebuah sistem visi komputer yang dapat membedakan antara manusia dan kucing, menafsirkan gambar dari kamera langsung dan memicu katup Solenoid yang dapat memercikkan air pada kucing nakal.
2. Agar lebih menyenangkan
Saya telah menambahkan fitur perekaman video, untuk memantau perilaku kucing. Kucing itu mencoba beberapa strategi berbeda sebelum menyerah, pertama dia menemukan titik buta yang memaksa saya untuk memposisikan ulang kamera, kemudian dia memperhatikan bahwa pada malam hari lebih sulit untuk dideteksi, jadi saya harus memasang lampu garasi yang diaktifkan oleh gerakan. Jangan meremehkan kucing!
3. Perakitan
Proyek ini memiliki beberapa komponen, saya menggunakan kotak plastik yang dipasang di dinding dekat keran air. Kamera USB saya memiliki kabel yang panjang untuk memungkinkan mencoba berbagai posisi. Posisi awal yang saya pilih terlalu dibayangi menghasilkan pengenalan palsu, dan kamera terlalu tinggi di dinding membuat pendeteksian lebih sulit, posisi terbaik adalah 50 cm dari tanah.
Harap pertimbangkan:
Air dan listrik tidak rukun
Mendengar raspberry
Gunakan papan relai untuk mengisolasi port Raspberry
Saya sarankan mengisolasi semua sambungan selang dari elektronik, saya telah merakit tambang menempatkan solenoid di bagian bawah kotak, menyegel konektor dengan lem panas.
Saya juga merekomendasikan menggunakan kipas untuk menjaga prosesor ARM tetap dingin, tingkat pemrosesan tambang sekitar 70%, level ini tanpa kipas dapat menyebabkan panas berlebih. Raspberry memiliki perlindungan yang mengurangi jam untuk menghindari prosesor terbakar, tetapi ini dapat memengaruhi kecepatan pengenalan sistem Anda dan mengurangi masa pakai komponen Anda.
Terakhir, gunakan papan relai yang melindungi raspberry dari fluktuasi kumparan jika tidak maka akan menggoreng port Anda. Anda memerlukan pengaturan dioda dan transistor agar aman.
Sambungan/desain sistem pengairan berada di luar cakupan Proyek ini, oleh karena itu saya akan tetap menggunakan bagian elektronik dan perangkat lunak.
4. Perangkat Lunak
Persiapan Raspberry adalah bagian yang paling sulit, panduan terbaik yang pernah saya lihat berasal dari www.pyimagesearch.com/2017/09/18/real-time-object-detection-with-deep-learning-and-opencv/
Yang juga memberikan penjelasan konsep deteksi objek yang sangat komprehensif, omong-omong, inilah yang saya gunakan sebagai basis untuk proyek saya. Banyak terima kasih kepada Dr. Rosebrock!!.
Algoritmenya cukup sederhana, semuanya dibangun di sekitar loop inferensi, yang mengambil gambar dari aliran video dan meneruskannya melalui jaringan netral dalam di openCV.
Untungnya tugas ini tidak memerlukan terlalu banyak daya komputer mengingat arsitektur jaringan yang ringan seperti Mobilenet, jadi Raspberry sudah cukup untuk FPS yang diperlukan, ada beberapa model pra-latihan yang tersedia di internet.
Saya menggunakan SSD Mobilenet yang terlatih dalam dataset Pascal VOC, yang mengenali 20 kelas termasuk orang dan kucing yang sempurna. Bagaimanapun Anda dapat menggunakan jaringan terlatih lain tanpa perubahan signifikan dalam kode.
Sistem saya melakukan sekitar.5 FPS apa yang cukup untuk tugas tetapi bukan tingkat yang baik jika Anda perlu memantau perubahan cepat, tetapi sekali lagi ini sudah cukup untuk tujuan proyek.
Lengkapi kode sumber di GitHub.
5. Perbaikan lebih lanjut untuk meningkatkan kinerja
Membagi gangguan dalam ancaman yang berbeda
Gunakan kartu SD yang lebih cepat
Raspberry 4
Gunakan arsitektur jaringan lain sebagai R-CNN yang lebih cepat, Yolo
Skema