Deteksi Wajah dengan Python
12 September 2018 | Tags: Deteksi Wajah, Deteksi Wajah dengan OpenCV, Deteksi Wajah dengan Python
Anda mungkin pernah upload foto di situs jejaring sosial Facebook, terus wajah ditandai dan dikenali otomatis dengan akurasi yang sangat tinggi. Canggih bukan? Pastinya. Kali ini kita akan coba buat aplikasi sederhana deteksi wajah dengan Python. Pada contoh ini, aplikasi ini bisa tepat menandai wajah dari artis Bollywood Katrina Kaif dan temannya. Pada contoh berikutnya, wajah dari Pebulutangkis ganda putri Jepang, Ayaka Takahashi dan Misaki Matsutomo juga ditandai dengan tepat.
Deteksi wajah atau obyek merupakan teknologi sangat utama dalam membangun aplikasi cerdas Machine Learning atau Computational Intelligence.
Untuk melakukan deteksi objek, kita harus menggunakan library yang sudah ada yaitu OpenCV (Open Source Computer Vision Library). Jadi pastikan modul ini sudah ter-install sebelumnya pada Python. Jika belum? Jangan khawatir, kita akan bahas cara install modul/library yang diperlukan. Ok, langsung saja kita mulai buat aplikasinya.
Langkah-langkah membuat aplikasi Deteksi Wajah dengan Python
Berikut langkah-langkah untuk membuat aplikasi deteksi wajah dengan Python:
Langkah 1- Install modul Numpy dan OpenCV
Pertama-tama kita akan menginstall library Numpy dan OpenCV. Masuk ke command line (DOS Prompt), dan ketikkan perintah:
pip install numpy pip install opencv-python
Langkah 2- Siapkan folder untuk membuat aplikasi
Untuk memudahkan mengelola file, buat folder untuk membuat aplikasi ini misalnya facedetector.
Langkah 3- Siapkan foto
Siapkan foto untuk contoh. Jika tidak punya anda bisa mencari di internet. Fotonya siapa? Bebas, yang penting wajahnya jelas. :D.
Setelah mendapatkan foto, buat folder dalam facedetector dengan nama gambar, kemudian copy foto kedalam folder tersebut.
Langkah 3- Copy File yang diperlukan untuk deteksi wajah
Untuk mengenali wajah kita memerlukan file haarcascade_frontalface_default.xml. Dimana kita mencari file ini? Tergantung lokasi anda saat install Python. Pada contoh ini, saya menginstall Python di C:\Python37, sehingga file tersebut terletak di folder: C:\Python37\Lib\site-packages\cv2\data.
Setelah ketemu folder-nya, copy file haarcascade_frontalface_default.xml dan taruh pada folder yang sudah dibuat sebelumnya yaitu facedetector.
Langkah 4- Buat kode program
Setelah semuanya siap, berikutnya adalah membuat kode program dan simpan dengan nama deteksiwajah.py.
import numpy as np import cv2 as cv wajah=cv.CascadeClassifier('haarcascade_frontalface_default.xml') img=cv.imread('gambar/12.jpg') img_gray=cv.cvtColor(img,cv.COLOR_BGR2GRAY) deteksi_wajah=wajah.detectMultiScale(img_gray,1.1,5) font=cv.FONT_HERSHEY_SIMPLEX jumlah=0 for(x,y,w,h) in deteksi_wajah: jumlah=jumlah+1 cv.putText(img,"Wajah",(x,y-10),font,0.75,(0,0,255),2,cv.LINE_AA) cv.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2) roi_gray=img_gray[y:y+h,x:x+w] roi_color=img[y:y+h,x:x+w] cv.putText(img,"Jumlah wajah ada : "+str(jumlah)+ " buah",(10,30),font,1,(0,0,0),2,cv.LINE_AA) cv.imshow('img',img) cv.waitKey(0) cv.destroyAllWindows()
Langkah 5- Jalankan Program
Setelah kode program sudah selesai, jalankan program dengan:
- Lewat IDLE Python: klik menu Run->Run Module
- Lewat Command Line, ketikkan : python deteksiwajah.py
Selamat mencoba!
Referensi:
- Aplikasi Face Detector dan Digital Imaging dengan Python (Jubile Enterprise)
- https://www.scivision.co/install-opencv-python-windows/
Download Deteksi Wajah dengan Python
Klik tombol Facebook / Twitter / Google + untuk Download
Komentar tentang Deteksi Wajah dengan Python
Terima Kasih Banyak Kang untuk artikelnya,
Mohon maaf minta waktunya sedikit kang, mau bertanya,
Kan saya punya skripsi tentang deteksi wajah untuk membuka pintu, mnggunakan Rasperby pi 3, sempat ada tutorial atau referensi tentang itu Kang,
Terima Kasih Banyak,
Terus berkarya Kang😊
Terima kasih atensinya. Untuk Rasperby, maaf saya tidak punya.
terimakasih kang untuk artikel referensi nya, apakah gambar ini hanya terdeteksidari gambar .jpg , .jpeg atau yang lainnya? kalau dari live video apakah bisa ngedeteksi dengan cepat kang? contoh nya untuk presensi menggunakan scan wajah kang? dan dia tidak boleh scan wajah yang sudah ter print out (foto).
Saya belum mencoba format yang lain. Mungkin agan bisa coba format yang lain seperti PNG, JPEG.
Ini deteksi pakai metode apa ya pak?
Lebih ke penggunaan pustaka OpenCV
Ini deteksi pakai metode apa ya pak?
Bagian dari Support Vector Machine (SVM). Menggunakan library OpenCV