Deteksi Wajah dengan Python

12 September 2018 | Tags: , ,


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 dengan Python

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:

  1. Aplikasi Face Detector dan Digital Imaging dengan Python (Jubile Enterprise)
  2. https://www.scivision.co/install-opencv-python-windows/

Download Deteksi Wajah dengan Python

Klik tombol Facebook / Twitter / Google + untuk Download


Komentar via Facebook tentang Deteksi Wajah dengan Python

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😊

  • 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).

  • Silahkan tulis saran, komentar dan pertanyaan dibawah!

    Your email address will not be published. Required fields are marked *