Saya ingin tahu apakah ada yang berhasil mendeteksi mamalia bertubuh hangat (mis. Manusia) menggunakan standar dari rak, sensor murah?
Idealnya, saya ingin menggunakan sensor murah atau kombinasi sensor untuk mendeteksi seseorang di dalam ruangan dan melokalkan orang itu. Saya ingin robot memasuki ruangan, mendeteksi apakah ada manusia dan pindah ke manusia yang terdeteksi. Akurasi tidak perlu 100%, karena biaya lebih merupakan faktor. Saya ingin persyaratan komputasi sensor sedemikian rupa sehingga dapat berjalan pada Arduino, meskipun jika itu tidak mungkin, saya akan bersedia untuk menggunakan sesuatu dengan tenaga yang lebih besar, seperti Raspberry Pi atau BeagleBone Black. Saya punya beberapa pemikiran; namun, tidak satupun dari mereka yang ideal:
- PIR Sensor - Dapat mendeteksi gerakan dalam bidang penglihatan yang luas (mis. Biasanya 120 derajat atau lebih). Mungkin hal yang paling dekat dengan detektor "manusia" yang saya sadari; Namun, itu membutuhkan gerakan dan pelokalan / triangulasi di mana seseorang akan sangat sulit (mustahil?) dengan bidang visi yang luas.
- Ultrasound - Dapat mendeteksi objek dengan presisi yang baik. Memiliki bidang pandang yang jauh lebih sempit; Namun, tidak dapat membedakan antara objek statis yang tidak hidup dan manusia.
- Detektor IR - (mis. Sensor rentang tajam) Dapat mendeteksi objek dengan presisi tinggi, bidang pandang yang sangat sempit; Namun, sekali lagi tidak dapat membedakan objek.
- Webcam + OpenCV - Mungkin menggunakan deteksi wajah untuk mendeteksi manusia di suatu ruangan. Ini mungkin pilihan terbaik; namun, OpenCV mahal secara komputasi dan akan membutuhkan lebih dari sekadar arduino untuk dijalankan. Bahkan pada Raspberry Pi, ini bisa lambat.
- Kinect - Menggunakan kemampuan deteksi fitur Kinect, akan relatif mudah untuk mengidentifikasi manusia di suatu daerah; Namun, Kinect terlalu mahal dan saya tidak akan menganggapnya sebagai solusi "murah".
Mungkin seseorang menyadari "detektor panas" yang tidak mahal yang disesuaikan dengan panas tubuh dan / atau telah berhasil dengan beberapa kombinasi (# 1-4) di atas dan ingin membagikan hasilnya?
Jawaban:
Kombinasi detektor inframerah pasif (PIR) dan sonar range finder (SRF) harus melakukan trik.
Apa yang telah bekerja dengan baik untuk saya sebelumnya (tidak menemukan manusia tetapi sangat mirip) adalah memiliki dua PIR di sisi kiri dan kanan menunjuk sehingga mereka memiliki sedikit tumpang tindih di tengah.
Anda kemudian dapat mencari tahu apakah manusia ke kiri, kanan atau di depan (ketika keduanya aktif). Anda pada dasarnya kemudian menumpuk ini di atas SRF yang akan memberi tahu Anda rentang dll. Ini agak kotor dan Anda harus membuat beberapa asumsi, tetapi itu bekerja dengan baik untuk kesederhanaannya.
Kode pseudo untuk 2 PIR dapat berupa sesuatu yang sederhana seperti:
Idenya adalah Anda banyak berbalik ke satu sisi (60 derajat) jika Anda melihat sesuatu di area itu. Jika mereka tidak di depan Anda setelah belokan, putar sedikit kurang ke sisi yang Anda lihat. Terus ulangi dan persempit jumlah belokan sampai mereka ada di depan Anda, lalu maju. Ingatlah bahwa Anda tidak memutar sebanyak (mengatur ulang sudut) setelah mereka berada di depan karena tidak akan bergerak 'di luar ruang lingkup' sebagai cepat.
Saya benar-benar kagum dengan betapa bagusnya algoritma ini bekerja (kami menggunakannya untuk mengejar mainan otomatis dan harus memperlambat / bodohnya karena itu akan mengalahkan / menangkap robot yang dikendalikan manusia terlalu mudah).
Kedua sensor tersedia dari Pololu (tidak ada afiliasi):
Detektor Inframerah Pasif
Sonar Range Finder
sumber
Jenis sensor yang lebih baru yang dapat digunakan adalah array temperatur berbasis MEMS oleh Omron (rentang D6T) atau Excelitas (DigiPile). Ini, yang bertentangan dengan elemen PIR, mengukur suhu absolut dan dengan demikian memungkinkan untuk membedakan antara suhu latar belakang dan latar depan dan mendeteksi pergerakan dan kehadiran statis sumber suhu.
sumber
sensor kapasitif dapat bekerja, sangat murah untuk membuatnya, hanya aluminium foil dan beberapa resistor, dapat mendeteksi daging tetapi saya tidak yakin jika saya tidak mendeteksi apa-apa selain daging, Anda dapat menggunakan 3 untuk melakukan pelacakan
sumber
Saya tidak bisa mengatakan apakah ini yang paling mudah, tetapi bisa dibayangkan Anda bisa menggunakan perpustakaan Eulerian Video Magnification untuk mendeteksi denyut nadi seseorang.
Dalam hal ini, Anda akan mencari fluktuasi dalam video yang cocok dengan rentang pulsa manusia yang diharapkan. Anda juga perlu gambar yang jelas dari bagian tubuh yang memperlihatkan denyut nadi yang terlihat.
Ada juga beberapa pekerjaan ( contoh 1 , contoh 2 ) yang mengeksplorasi deteksi wajah berbasis perangkat keras. Kamera digital dari beberapa tahun yang lalu memiliki kemampuan ini, yang pada dasarnya adalah jaringan saraf yang sangat dioptimalkan yang dirancang untuk mengatakan "apakah kotak ini mengandung wajah atau tidak" ... maka Anda hanya beralih pada seperangkat kotak yang telah ditentukan sebelumnya dalam gambar yang diambil.
sumber
Saya mencoba menggunakan PIR tetapi memiliki masalah dengan penanganan dan penundaan. Ini bukan pilihan yang efisien untuk deteksi manusia untuk jujur. Anda dapat menggunakan Teknik Penginderaan Kapasitif karena merupakan cara termurah dan termudah untuk deteksi manusia (Pilihan cerdas) dan juga tidak terlalu rumit. Anda dapat membuat sensor untuk diri Anda sendiri dengan biaya yang sangat rendah dan itu bagus untuk proyek-proyek kecil. Saya telah menggunakannya dalam Proyek "Robot Deteksi Manusia" saya. Anda dapat menonton video saya di: Deteksi Manusia Berbasis Kapasitif
sumber
Solusi non-bare-metal yang mungkin akan menjadi semakin populer selama beberapa tahun ke depan adalah melepaskan tugas pemrosesan data berat Anda (misalnya mengenali manusia dalam gambar) ke layanan Cloud. Itu dengan asumsi perangkat Anda terhubung ke internet. Berikut adalah contoh dengan Raspberry Pi dan Google Cloud Vision API: https://www.dexterindustries.com/howto/use-google-cloud-vision-on-the-raspberry-pi/ . Perhatikan bahwa ini memerlukan berlangganan ke cloud Google melewati masa percobaan, tetapi beberapa API visi cloud lainnya (Amazon, Microsoft Azure, ...?) Bahkan dapat menawarkan layanan mereka secara gratis jika Anda mengirimkan kurang dari N permintaan per bulan ke server mereka .
Namun solusi lain untuk pemrosesan data berat pada platform kecil adalah melepas pekerjaan ke perangkat seperti thumbdrive pada robot Anda dengan unit prosesor khusus untuk menjalankan model pembelajaran mesin yang sudah terlatih (mis. Movidius Neural Compute Stick dengan Raspberry PI: https : //medium.com/deep-learning-turkey/a-brief-guide-to-intel-movidius-neural-compute-stick-with-raspberry-pi-3-f60bf7683d40 ). Ini juga berfungsi offline. Mereka masih agak mahal untuk proyek hobi tetapi saya berharap biayanya akan turun seperti segalanya.
sumber