Daftar Isi:
- Perlengkapan
- Langkah 1: Menginstal Python dan OpenCV
- Langkah 2: Apa Itu Fitur Seperti Haar?
- Langkah 3: Pengodean dengan Python
- Langkah 4: Memprogram Arduino
- Langkah 5: Kesimpulan
Video: Perangkat Pelacakan Wajah! Python & Arduino: 5 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
Oleh Techovator0819Saluran Youtube SayaIkuti Lainnya oleh penulis:
Tentang: Saya suka membuat hal-hal baru. Seperti hal-hal yang berhubungan dengan mikrokontroler, teknik mesin, Kecerdasan Buatan, Ilmu Komputer, dan apa pun yang menarik minat saya. Dan di sini Anda akan menemukan semua… Selengkapnya Tentang Techovator0819 »
Halo semua orang di luar sana yang membaca instruksi ini. Ini adalah perangkat pelacak wajah yang bekerja pada pustaka python yang disebut OpenCV. CV adalah singkatan dari 'Computer Vision'. Kemudian saya mengatur antarmuka serial antara PC saya dan Arduino UNO saya. Jadi itu berarti ini tidak hanya berfungsi pada Python.
Perangkat ini mengenali wajah Anda dalam bingkai, kemudian mengirimkan perintah tertentu ke Arduino untuk memposisikan kamera sedemikian rupa sehingga tetap berada di dalam bingkai! Terdengar keren? Mari kita langsung masuk ke dalamnya.
Perlengkapan
1. Arduino UNO
2. 2 x Motor Servo (Motor servo apa pun akan baik-baik saja tetapi saya menggunakan Tower Pro SG90)
3. Menginstal Python
4. Menginstal OpenCV
5. Kamera Web
Langkah 1: Menginstal Python dan OpenCV
Menginstal Python cukup mudah!
www.python.org/downloads/
Anda dapat mengikuti tautan di atas untuk mengunduh versi python (Mac, windows atau Linux) yang paling cocok untuk Anda (64 bit atau 32 bit). Sisa dari proses instalasi sederhana dan Anda akan dipandu melalui antarmuka.
Setelah Anda selesai menginstal, buka command prompt Anda dan ketik berikut ini:
pip instal opencv-python
Itu harus menginstal perpustakaan openCV. Dalam kasus pemecahan masalah, Anda dapat melihat halaman INI.
Setelah menyiapkan Lingkungan dan semua prasyarat, mari kita lihat bagaimana kita bisa benar-benar membangun ini!
Langkah 2: Apa Itu Fitur Seperti Haar?
Fitur seperti haar adalah fitur dari citra digital. Nama ini berasal dari wavelet Haar. Ini adalah keluarga gelombang berbentuk persegi yang digunakan untuk mengidentifikasi fitur dalam citra digital. Kaskade Haar pada dasarnya adalah pengklasifikasi yang membantu kita mendeteksi objek (dalam kasus wajah kita) menggunakan fitur mirip haar.
Dalam kasus kami, untuk kesederhanaan, kami akan menggunakan Haar Cascades yang telah dilatih sebelumnya untuk mengidentifikasi wajah. Anda dapat mengikuti tautan INI dari halaman github dan mengunduh file xml untuk Haar Cascade.
1. Klik 'haarcascade_frontalface_alt.xml'
2. Klik tombol 'Raw' di bagian kanan atas jendela kode.
3. Ini akan mengarahkan Anda ke halaman lain hanya dengan teks.
4. Klik kanan dan tekan 'Simpan sebagai..'
5. Simpan di direktori atau folder yang sama dengan kode python yang akan Anda tulis.
Langkah 3: Pengodean dengan Python
impor cv2
impor numpy sebagai np impor waktu impor serial
Kami mengimpor semua perpustakaan yang kami butuhkan.
ard = serial. Serial("COM3", 9600)
Kami membuat objek serial yang disebut 'ard'. Kami juga menentukan Nama Port dan BaudRate sebagai parameter.
face_cascade = cv2. CascadeClassifier('haarcascade_frontalface_default.xml')
Kami membuat objek lain untuk Haar Cascade kami. Pastikan file HaarCascade tetap berada di folder yang sama dengan program python ini.
vid = cv2. VideoCapture(0)
Kami membuat objek yang menangkap video dari webcam. 0 sebagai parameter berarti web cam pertama yang terhubung ke PC saya.
docs.opencv.org/2.4/modules/objdetect/doc/cascade_classification.html
sementara Benar:
_, frame = vid.read()#membaca frame saat ini ke variabel frame grey = cv2.cvtColor(frame, cv2. COLOR_BGR2GRAY)#converts frame -> gambar grayscale #baris berikut mendeteksi wajah. #Parameter pertama adalah gambar yang ingin Anda deteksi pada #minSize=() menentukan ukuran minimum wajah dalam hal piksel #Klik tautan di atas untuk mengetahui lebih banyak tentang Klasifikasi Cascade face = face_cascade.detectMultiScale(abu-abu, minSize =(80, 80), minNeighbors=3) #A untuk loop untuk mendeteksi wajah. untuk (x, y, w, h) di wajah: cv2.rectangle(frame, (x, y), (x+w, y+h), (255, 0, 0), 2)#menggambar persegi panjang di sekitar wajah Xpos = x+(w/2)#menghitung koordinat X pusat wajah. Ypos = y+(h/2)#menghitung koordinat Y bagian tengah wajah jika Xpos > 280: #Blok kode berikut memeriksa apakah wajah adalah ard.write('L'.encode()) #on kiri, kanan, atas atau bawah sehubungan dengan time.sleep(0.01) #center dari frame. elif Xpos 280: ard.write('D'.encode()) time.sleep(0.01) elif Ypos < 200: ard.write('U'.encode()) time.sleep(0.01) else: ard.write ('S'.encode()) time.sleep(0.01) break cv2.imshow('frame', frame)#menampilkan frame di jendela terpisah. k = cv2.waitKey(1)&0xFF if(k == ord('q')): #jika 'q' ditekan pada keyboard, ia keluar dari loop while. merusak
cv2.destroyAllWindows() #menutup semua jendela
ard.close() #menutup komunikasi serial
vid.release() #berhenti menerima video dari web cam.
Langkah 4: Memprogram Arduino
Jangan ragu untuk memodifikasi program sesuai pengaturan perangkat keras Anda sesuai dengan kebutuhan Anda.
#termasuk
Servo servoX;
Servo servoY;
int x = 90;
int y = 90;
batalkan pengaturan() {
// letakkan kode setup Anda di sini, untuk dijalankan sekali: Serial.begin(9600); servoX.attach (9); servoY.attach(10); servoX.tulis(x); servoY.tulis(y); penundaan (1000); }
masukan karakter = ""; //input serial disimpan dalam variabel ini
lingkaran kosong() {
// letakkan kode utama Anda di sini, untuk dijalankan berulang kali: if(Serial.available()){ //memeriksa apakah ada data di buffer serial input = Serial.read(); //membaca data menjadi variabel if(input == 'U'){ servoY.write(y+1); //menyesuaikan sudut servo sesuai dengan input y += 1; //memperbarui nilai sudut } else if(input == 'D'){ servoY.write(y-1); y -= 1; } else{ servoY.tulis(y); } if(input == 'L'){ servoX.write(x-1); x -= 1; } else if(input == 'R'){ servoX.write(x+1); x += 1; } else{ servoX.tulis(x); } masukan = ""; //menghapus variabel } //proses terus berulang!!:) }
Langkah 5: Kesimpulan
Ini adalah salah satu cara yang bagus dan interaktif di mana Anda dapat merancang menggabungkan Computer Vision dalam proyek Arduino Anda. Computer Vision sebenarnya cukup menyenangkan. Dan saya sangat berharap kalian menyukainya. Jika ya, beri tahu saya di komentar. Dan tolong subscribe channel youtube saya. Terima kasih sebelumnya <3<3
youtube.com/channel/UCNOSfI_iQ7Eb7-s8CrExGfw/videos
Direkomendasikan:
PELACAKAN WAJAH MENGGUNAKAN ARDUINO !!!: 7 Langkah
PELACAKAN WAJAH MENGGUNAKAN ARDUINO !!!: Dalam instruksi sebelumnya saya membagikan bagaimana Anda dapat berkomunikasi antara Arduino dan Python menggunakan modul 'pyserial' dan mengontrol LED. Jika Anda belum melihatnya, periksa di sini: KOMUNIKASI ANTARA ARDUINO & PYTHON! Dan bagaimana Anda bisa mendeteksi warna
Pengenalan dan Identifikasi Wajah - ID Wajah Arduino Menggunakan OpenCV Python dan Arduino.: 6 Langkah
Pengenalan dan Identifikasi Wajah | ID Wajah Arduino Menggunakan OpenCV Python dan Arduino.: Pengenalan wajah AKA ID wajah adalah salah satu fitur terpenting di ponsel saat ini. Jadi, saya punya pertanyaan "bisakah saya memiliki id wajah untuk proyek Arduino saya" dan jawabannya adalah ya… Perjalanan saya dimulai sebagai berikut: Langkah 1: Akses ke kami
Pelacakan Wajah dan Pendeteksi Senyuman Robot Halloween: 8 Langkah (dengan Gambar)
Pelacakan Wajah dan Pendeteksi Senyum Robot Halloween: Halloween akan datang! Kami memutuskan untuk membangun sesuatu yang keren. Temui robot Ghosty dan Skully. Mereka dapat mengikuti wajah Anda dan mereka tahu kapan Anda tersenyum untuk tertawa bersama Anda! Proyek ini adalah contoh lain dari penggunaan Aplikasi iRobbie yang mengubah iPhone menjadi
Pistol Pelacakan Wajah: 4 Langkah
Face Tracking Gun: Proyek ini merupakan perluasan dari proyek laser trip wire gun yang ditunjukkan di sini - https://www.instructables.com/id/Building-a-Sentry-Gun-with-Laser-Trip-Wire-System-/ ?ALLSTEPS Satu-satunya perbedaan adalah bahwa pistol tidak akan dipicu oleh laser tetapi oleh
Robot Pengemis Dengan Pelacakan dan Kontrol Wajah oleh Xbox Controller - Arduino: 9 Langkah (dengan Gambar)
Robot Pengemis Dengan Pelacakan dan Kontrol Wajah oleh Xbox Controller - Arduino: Kami akan membuat robot pengemis. Robot ini akan berusaha mengganggu atau menarik perhatian orang yang lewat. Ini akan mendeteksi wajah mereka dan mencoba menembakkan laser ke arah mereka. Jika Anda memberi robot koin, ia akan menyanyikan sebuah lagu dan menari. Robot membutuhkan