Membangun Kamera Perangkap Menggunakan Raspberry Pi, Python, OpenCV, dan TensorFlow





Saya sangat percaya pada belajar melalui praktik, dengan menciptakan sesuatu yang baru. Dan untuk menciptakan sesuatu, Anda perlu membuat pekerjaan Anda menyenangkan.



Saya akan memulai cerita saya tentang proyek baru saya dengan mengungkapkan alasan mengapa saya memutuskan untuk mencoba membuat kamera jebakan berdasarkan Raspberry Pi.



Saya tinggal di London dan taman saya sering dikunjungi oleh satwa liar setempat. Ini begitu sering terjadi sehingga saya, seorang tukang kebun yang rajin, lambat laun mulai kesal. Pot yang rusak, tanaman digali dari tanah, buah-buahan dan sayuran dimakan ...



Saya melihat di taman saya rubah kecil (mereka sangat cantik), rubah besar, kucing (bukan milik saya), burung. Dan pernah saya bahkan dikunjungi oleh burung pipit.



Sparrowhawk



Siapa lagi yang akan merangkak ke tamanku di malam hari?





Melihat hewan di gambar ini tidaklah mudah.



Apa alasan lain saya perlu membuat jebakan kamera berdasarkan Raspberry Pi, Python, TensorFlow, dan apa pun? Dan kamera saya seharusnya sangat bagus.



Seseorang mungkin berkata bahwa Anda tidak perlu membuat kamera sendiri, sehingga Anda dapat membeli kamera yang sudah jadi yang akan dengan sempurna menangani tugas mengamati binatang liar.



Itu ide yang bagus, tapi tidak akan semenarik itu.



Modul Kamera untuk Raspberry Pi



Saya mulai dengan meneliti jenis kamera apa yang dapat dihubungkan ke komputer papan tunggal Raspberry Pi.



Yang paling populer dari kamera ini adalah yang terhubung langsung ke Raspberry Pi menggunakan konektor MIPI. Keuntungan dari kamera jenis ini adalah data ditransfer dengan sangat cepat antara kamera dan papan. Ada juga API yang mudah digunakan untuk bekerja dengan kamera. 



Saya mencoba API ini dan menemukan bahwa ia memiliki banyak fungsi berguna yang memungkinkan Anda merekam video dan mengambil gambar saat merekam. Ini memungkinkan saya untuk mendeteksi gerakan dan merekam video secara bersamaan menggunakan alat yang sederhana dan lugas.



Ada tiga macam modul kamera untuk Raspberry Pi... Di bawah ini adalah versi singkat dari tabel dengan karakteristik modul semacam itu.

Modul Kamera v1 Modul Kamera v2 Kamera Hq
Harga bersih $ 25 $ 25 $ 50
Ukuran Sekitar 25 × 24 × 9mm 38 x 38 x 18,4 mm (tidak termasuk optik)
Beratnya 3 g 3 g
Resolusi gambar 5 jt 8 jt 12,3 juta
Mode video 1080p30, 720p60 dan 640x480p60 / 90 1080p30, 720p60 dan 640x480p60 / 90 1080p30, 720p60 dan 640x480p60 / 90
Integrasi Linux Driver V4L2 Driver V4L2 Driver V4L2
C-API OpenMAX IL dan lainnya OpenMAX IL dan lainnya
Sensor OmniVision OV5647 Sony IMX219 Sony IMX477
Resolusi sensor 2592 × 1944 piksel 3280 × 2464 piksel 4056 x 3040 piksel
Ukuran area kerja sensor 3,76 x 2,74 mm 3,68 x 2,76 mm (diagonal 4,6 mm) 6,287 x 4,712 mm (diagonal 7,9 mm)


Tabel ini mencantumkan modul kamera resmi, tetapi Anda dapat menemukan kamera pihak ketiga yang akan berfungsi dengan Raspberry Pi. Modul kamera digunakan untuk mengolah data dari sensor GPU Raspberry Pi.



Berhubung Raspberry Pi sendiri menangani pemrosesan gambar saat menggunakan modul kamera, ternyata pilihan sensor kamera sangat terbatas. Setiap sensor memiliki API-nya sendiri, jadi mendukung berbagai jenis sensor bukanlah tugas yang mudah.



Rekaman video dalam kondisi kurang cahaya



Saya akan membuat kamera jebakan untuk mengamati binatang liar. Oleh karena itu, kemampuannya harus mencukupi baik untuk pekerjaan siang maupun malam hari. Artinya, harus memiliki sensor yang mampu merekam video dalam kondisi minim cahaya. Sangat diinginkan bahwa ini akan mereproduksi warna sebenarnya dari objek yang dibidik. Dalam kondisi pencahayaan yang buruk, Modul Kamera v1 dan v2 tidak berfungsi dengan baik. Agar mereka dapat menghapus sesuatu dalam kondisi seperti itu, Anda perlu menggunakan penerangan IR dan menghapus filter IR dari mereka. Prosedur menyiapkan kamera untuk pemotretan dalam kondisi cahaya redup bergantung pada model kamera tertentu. Namun di sini ada masalah lain, yaitu gambar yang dihasilkan memiliki rona merah jambu. Saat menggunakan kamera seperti itu, Anda membutuhkan mekanisme ituyang mengaktifkan filter IR saat memotret di siang hari dan menghapus filter ini saat memotret di malam hari.





Gambar dari kamera Raspberry Pi diambil pada siang hari dalam kondisi cahaya yang buruk



Tapi ada kamera baru untuk Raspberry Pi, yang di tabel ditetapkan sebagai Kamera HQ. Namun, saya tidak begitu yakin dengan kemampuan "malam" nya. Ini didasarkan pada sensor Sony IMX477, yang dalam kondisi pencahayaan yang buruk diharapkan bisa mendapatkan gambar yang lebih baik daripada yang dapat dihasilkan kamera generasi sebelumnya. Apakah sensor ini dapat menghasilkan gambar warna yang benar dalam gelap, saya masih akan mencari tahu. Tetapi penelitian awal saya tentang kamera mengenai spesifikasinya menunjukkan bahwa kemungkinan besar kamera tersebut tidak mampu melakukannya.



Sony Starvis adalah sensor kamera yang hebat



Sony memiliki keluarga khusus sensor kamera yang digunakan terutama untuk pengawasan video. Ini Sony Starvis. Sensor ini adalah perangkat yang sangat canggih yang mampu menghasilkan gambar berwarna berkualitas tinggi dalam kondisi cahaya redup dengan kecepatan 0,001 lux. Lux (lx) adalah satuan untuk mengukur iluminasi.



Agar lebih jelas, saya akan berikan beberapa contoh. Kegelapan hampir sempurna adalah 0,0001 lux. Yaitu: tidak ada sinar matahari, tidak ada cahaya bulan dan bintang, langit mendung, tidak ada sumber penerangan buatan. Saya tidak mengetahui adanya sensor kamera yang mampu merekam dalam kondisi gelap gulita.



Namun jika langit cerah, maka bintang memberikan penerangan sebesar 0,002 lux. Meski masih sangat gelap dalam kondisi seperti itu, namun sensor Sony Starvis mampu memotret setengah cahaya. Bagi saya, ini luar biasa.



Berikut adalah halaman dari Wikipedia di mana lebih banyak contoh dapat ditemukan.



Semoga saya bisa menyampaikan kepada Anda gagasan bahwa Sony Starvis adalah sensor yang sempurna untuk kamera jebakan.



Kerugian utama dari sensor ini adalah tidak ada kamera untuk Raspberry Pi yang digunakannya. Tetapi jika saya menemukan kamera USB atau kamera IP dengan sensor seperti itu, saya akan memikirkan sesuatu dan menghubungkannya ke Raspberry Pi.



Faktanya, saya menemukan kamera seperti itu.



Saya tidak ingin berinvestasi terlalu banyak dalam proyek ini, jadi saya membeli kamera IP yang sesuai dari Sony Starvis di Aliexpress. Pembelian ini membuat saya, jika saya ingat dengan benar, £ 20.



Membandingkan kamera untuk Raspberry Pi dan kamera ini seperti membandingkan siang dan malam. Dan saya sama sekali tidak melebih-lebihkan. Carilah dirimu sendiri.





Kamera dengan sensor Sony Starvis IMX307, memotret di ruangan gelap





Kamera Raspberry Pi v2 - ruangan yang sama, tetapi sudut pandang yang berbeda



Untuk kamera perangkap dan kamera CCTV, sangat penting untuk dapat membuat rekaman berkualitas tinggi dalam kondisi pencahayaan yang buruk.



Beberapa orang mungkin berpendapat bahwa merekam video berwarna dalam kondisi pencahayaan yang buruk tidak begitu penting sehingga Anda dapat bertahan dengan kamera IR sederhana. Tetapi saya tidak dapat menggunakan iluminasi IR karena saya akan menempatkan kamera di dalam ruangan dan mengarahkannya ke taman melalui jendela. Dan jika Anda mengarahkan sumber IR ke kaca, kaca akan berperilaku seperti cermin dan kamera akan menjadi buta.



Jika kita berbicara tentang kamera untuk Raspberry Pi, maka mereka sangat cocok untuk beberapa proyek sederhana atau untuk mempelajari sesuatu yang baru. Tetapi jika Anda melakukan beberapa proyek setidaknya setengah serius, maka Anda hanya perlu menggunakan kamera dengan kualitas yang lebih baik.



Menggunakan kamera USB (atau bahkan kamera IP) membuka kemungkinan yang sepenuhnya baru. Selain itu, jika Anda juga memiliki kamera biasa untuk Raspberry Pi, Anda dapat menggunakannya untuk beberapa eksperimen kecerdasan buatan.



Memasang dan Mengonfigurasi Kamera untuk Raspberry Pi



Mari mulai menghubungkan Modul Kamera v2 ke papan. Sebenarnya sangat sederhana.





Modul Kamera v2



Kamera memiliki kabel biru dan putih. Itu harus dihubungkan ke konektor CSI papan. Sisi biru pita harus mengarah ke belakang papan.



Saya menggunakan bodi kamera cetak 3D. Saya menemukan file yang sesuai di Thingiverse. Tetapi kasing yang sesuai, cukup murah, dapat ditemukan, misalnya, di Amazon.





Casing kamera



Sekarang saatnya menyalakan kamera.



Setelah mengaktifkan Raspberry Pi, Anda perlu membuka jendela terminal.





Terminal



Kemudian Anda perlu menjalankan perintah berikut:



$ sudo apt update


Dan kemudian - ini:



$ sudo apt full upgrade


Ini untuk memastikan bahwa board menggunakan versi Raspbian terbaru serta tambalan dan pembaruan terbaru.



Setelah itu, Anda perlu menjalankan perintah berikut di terminal:



sudo raspi-config




Bekerja dengan raspi-config



Di sini kita tertarik pada bagian iniInterfacing Options>P1 Camera. Kemudian Anda perlu memilih perintahFinishdan mem-boot ulang Raspberry Pi.



Mengambil foto menggunakan raspistill



Kamera sekarang harus siap digunakan. Mari kita periksa dengan raspistill. Buka terminal lagi dan masukkan perintah berikut di sana:



raspistill -v -o test.jpg


Inilah foto indah yang diambil kamera saya.





Snapshot Kamera untuk Raspberry Pi



Rekaman video dengan raspivid



Foto memang bagus, tetapi perekaman video jauh lebih baik. Ini akan membantu kami raspivid:



raspivid -o vid.h264


Perintah ini memungkinkan Anda merekam video dengan durasi 5 detik.



Jika Anda perlu merekam video yang lebih lama, perintah ini harus meneruskan parameter yang -tmenunjukkan durasi video dalam milidetik. Misalnya, perintah berikut memungkinkan Anda merekam video berdurasi 30 detik:



raspivid -o vid.h264 -t 30000


Menyiapkan streaming



Dan sekarang bagian yang menyenangkan. Untuk melihat hal yang sama yang "dilihat" oleh kamera, Anda dapat menggunakan perintah berikut:



raspivid -o - -t 0 -n | cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/}' :demux=h264


Ini menciptakan aliran RTSP yang dapat Anda sambungkan dari jaringan lokal.



Hasil



Sekarang saya telah mengetahui kamera untuk Raspberry Pi, saya dapat mengembangkan proyek lebih lanjut, yaitu, instal TensorFlow, Buka CV, dan Python di Raspberry Pi 4 dan mulai menulis kode. Saya berencana untuk membicarakan hal ini di materi saya berikutnya. Jika Anda tertarik, inilah saluran YouTube saya, di mana Anda dapat menemukan video terkait proyek ini.



Sudahkah Anda bekerja dengan kamera untuk Raspberry Pi?










All Articles