Official StoreTekan tombol di atas untuk membeli semua alat dan bahan eksperimen di web ini

Pengenalan Wajah (Face Recognition) dengan OpenCV dan Python

Pada tutorial sebelumnya sudah kita pelajari bagaimana mendeteksi wajah (face detection) pada sebuah gambar yang ditangkap kamera. Nah, pada tutorial kali ini, kita coba melakukan percobaan yang lebih advanced lagi, yakni dengan mengenali wajah yang terdeteksi tadi sesuai identitasnya (face recognition). Dengan demikian, setiap ada wajah yang terdeteksi kamera, maka komputer akan langsung menerjemahkannya menjadi sebuah nama dari wajah orang tersebut. Sama seperti sebelumnya, kita masih menggunakan openCV – Python untuk script-nya dan menggunakan metode algoritma LBPH (Local Binary Patterns Histograms) untuk project pengenalan wajah kali ini.

Pengenalan LBPH (Local Binary Patterns Histograms)

Apa itu LBPH? LBPH adalah salah satu algoritma pengenalan objek dengan membagi gambar menjadi beberapa bagian kemudian menerjemahkannya menjadi bilangan biner representatifnya dalam bentuk histogram (saya terjemahkan bebas dari sumber aslinya di sini). Dalam LBPH setidaknya ada 4 parameter yang harus kita pahami, yakni ‘Radius’ (radius pusat pixel acuan), ‘Neighbors’ (tetangga pixel acuan), ‘Grid X’, dan ‘Grid Y’ (pembagian gambar). Untuk grid X dan Y, semakin banyak hasilnya akan semakin baik/presisi. Pusing? sama, he he he. Beruntunglah kita ada sekelompok komunitas opensource Computer Vision yang mau membagi source-nya ke publik, yakni OpenCV. Dalam openCV sudah ada subrutin (class) yang sudah mengenkapsulasi semua yang kita butuhkan dalam algoritma LBPH ini, yakni class cv::face::LBPHFaceRecognizer. Dengan class ini kita dapat dengan mudah mengklasifikasikan objek yang terdeteksi sesuai dengan dataset yang kita buat sebelumnya, sehingga tujuan akhir pengenalan objek dapat tercapai

Persiapan Face Recognition OpenCV – Python

Dalam percobaan kali ini, saya menggunakan environment sebagai berikut:
1. Windows 10 – 64 bit
2. OpenCV 4.1.2 (Cara instal bisa dibaca di sini)
3. Python 3.8 (Cara instal bisa dibaca di sini)
Demi kelancaran project sebaiknya Anda tambahkan perintah berikut lewat command prompt:

kemudian

Tahapan Pengenalan Wajah (Face Recognition) OpenCV – Python

Untuk dapat mengenali wajah sesuai identitasnya menggunakan OpenCV dan Python, setidaknya Anda harus melakukan 3 tahap sebagai berikut:
1. Membuat dataset referensi wajah
2. Mentraining data
3. Melakukan pengenalan wajah (Face Recognition)
Tiga tahap di atas akan kita lakukan menggunakan script yang berbeda. Untuk mudahnya, silahkan download dulu source code-nya di sini. Kemudian ekstrak dalam folder kerja Anda. Kemudian buat subfolder baru di folder tersebut dengan nama ‘dataset’ dan ‘trainer’

Catatan: script di atas di share dari tutorial ini. Dalam tutorial tersebut menggunakan Raspberry Pi, saya coba mem-porting-nya ke Windows 10 dan membuat tutorial step by step-nya dalam artikel ini supaya lebih mudah dipahami dan dipraktekkan

Langkah 1: Jalankan script 01_face_dataset.py melalui command prompt, tunggu sampai muncul window dan meng-capture wajah Anda dalam 30 detik. Program ini akan menghasilkan 30 gambar jpg (grayscale) dalam folder ‘dataset’. Ketika ada prompt ‘enter user id end press ==>’ ketik angka ‘1’ untuk user 1 (misal Anda), ‘2’ untuk wajah orang kedua, ‘3’ untuk orang ketiga dst

Catatan: di tutorial aslinya, menggunakan kamera Raspberry Pi yang diinstal secara terbalik, jadi Anda hilangkan dulu baris ‘img = cv2.flip(img, -1) # flip video image vertically’ pada file 01_face_dataset.py

Langkah kedua jalankan program kedua (02_face_training.py). Program ini akan menghasilkan file ‘trainer.yml’ di folder trainer (pastikan file ini ada ya)

atau mungkin di tempat Anda seperti ini

Catatan: pastikan path file yang akan dijalankan ya. Contoh: ‘python d:/ai/lat/py 02_face_training.py’

Langkah ketiga tinggal Anda jalankan file yang ketiga, yakni 03_face_recognition.py. Jangan lupa hapus baris script ‘img = cv2.flip(img, -1)’ terlebih dahulu. Ohya, edit dulu nama user id sesuai dengan yang Anda masukkan pada langkah 1 pada script 03_face_recognition.py pada baris names = [‘None’, ‘Papah Ajie’, ‘Raihan’, ‘Mamah Wiwied’, ‘Z’, ‘W’] (baris 16 pada script di bawah). Berikut script pengenalan wajah – face recognition – dengan OpenCV dan Python, dengan sedikit modifikasi dari versi aslinya

Jika segala sesuatunya berjalan lancar maka Anda tampilan di laptop Anda adalah seperti ini

Gimana, ganteng mana papah sama anaknya? he he he. Silahkan dicoba program-program di atas. Cukup mudah, kok. Jika ada kesulitan bisa disampaikan di kolom komentar di bawah. Secepat mungkin akan saya reply. Dari contoh script di atas, nantinya akan saya kembangkan untuk membuat mesin absensi berbasis pengenalan wajah, dipadukan dengan door-lock yang hanya bisa membuka pintu jika wajahnya dikenali (authorized). Nantikan tutorial berikutnya ya….

Leave a Reply

Be the First to Comment!

avatar
  Subscribe  
Notify of
error: Content is protected !!