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

Deteksi Wajah (Face Detection) dengan OpenCV dan Python

Satu satu cabang kecerdasan buatan atau Artificial Intelligence (AI) adalah ‘Computer Vision’ (CV). Sesuai namanya, Computer Vision ini adalah salah satu bidang ilmu yang mempelajari bagaimana suatu obyek gambar nyata yang sifatnya analog, diintepretasikan komputer menjadi bentuk-bentuk digitalnya untuk diolah lebih lanjut sesuai kebutuhan. ‘Komputer’ disini maknanya luas, tidak hanya komputer yang kita kenal seperti ‘Personal Computer’ (PC), desktop, laptop tapi juga controller (CPU) lain yang masuk ranah embedded system yakni Raspberry Pi, Orange Pi, Banana Pi atau mungkin ‘Pi’ – ‘pi’ yang lain :). Cirinya adalah suatu controller/CPU tersebut memiliki operating system yang menunjang pemrosesan objek gambar. Jadi kalau melihat syarat seperti ini rasanya Arduino dan keluarganya belum mampu untuk mendukung Computer Vision secara langsung.

Sekilas tentang OpenCV dan Python

Baiklah, tutorial kita kali ini adalah mencoba memproses gambar yang ditangkap kamera untuk kita deteksi jika ada wajah manusia di dalamnya. Kedengarannya sulit ya? Sama, dulu saya juga menganggapnya suatu hal yang teramat sulit. Tapi beruntunglah kita ada sekelompok komunitas opensource yang bersedia membuka source code-nya secara gratis dalam bentuk library OpenCV. Ya, OpenCV ini merupakan library yang akan banyak membantu kita dalam menerjemahkan sebuah gambar. OpenCV ini ditulis dalam bahasa C tapi dapat juga digunakan dalam bahasa lain seperti Python. Kenapa menggunakan Python? Yang pertama, Python ini merupakan bahasa pemrograman tingkat tinggi sehingga memiliki beberapa keunggulan, misalnya sintaks yang sederhana, berorientasi pada objek (OOP), dan memiliki banyak library yang akan membantu Anda men-simplify program Anda. Dan satu lagi, Python memiliki satu variabel array multifungsi yang tidak dimiliki bahasa pemrograman lain, yakni ‘NumPy’ yang sekali lagi akan mempermudah proses pemrograman Anda. Dan alasan kedua mengapa menggunakan Python, karena banyak tutorialnya di internet, jadi kalau ada kesulitan tinggal googling aja, he he he.

Script Deteksi Wajah OpenCV – Python

Ok, mari kita mulai percobaannya. Untuk tutorial kali ini saya menggunakan:
1. OS Windows 10 (64 bit)+ built-in camera
2. Python 3.8 (64 bit)
3. Library OpenCV 3.0
Untuk persiapan silahkan download dulu Python-nya. Tinggal googling aja pasti ketemu source-nya (download versi terbaru ya). Jangan lupa mencentang ‘Add Puthon 3.x to Path’ saat instalasi ya. Untuk lebih detailnya bisa baca artikel berikut

Jika sudah berhasil instal Python, langkah selanjutnya adalah instal library opencv. Silahkan buka command prompt dan ketikkan command sbb (pastikan ada koneksi internet ya)

Catatan:
1. Jika sewaktu proses instalasi Python anda mencentang option Add Puthon 3.x to Path, maka Anda bisa mengetikkan perintah di atas di sembarang path di command prompt
2. Jika perintah di atas gagal dieksekusi, ada kemungkinan package installer ‘pip’ belum terinstal di laptop Anda

Jika semua sudah terintal dengan baik, salin script berikut dan beri nama (misalnya) ‘facedetection.py’.

Keterangan program:
[Baris 1]: import library opencv ke program
[Baris 3]: mendefinisikan pengenal wajah. Kali ini ini akan menggunakan classifier dengan teknik Haar Cascade yang sudah didefinisikan dalam file haarcascade_frontalface_default.xml. Anda bisa mengunduh file tersebut di sini. Letakkan file xml tersebut satu folder dengan program python Anda (facedetection.py)
[Baris 5]: mendefinisikan instance object untuk kamera
[Baris 7]: perulangan yang selalu bernilai ‘True’. Artinya program akan terus berjalan sampai ada penekanan tombol ‘Esc’ (Baris 19-21)
[Baris 8-9]: mengambil gambar dari kamera kemudian dijadikan hitam putih (gray)
[Baris 10]: mendeteksi wajah, dan menghasilkan nilai x,y (koordinat titik pojok kiri atas wajah), nilai w (width=lebar kotak) dan h (height=tinggi kotak)
[Baris 12-15]: menggambar ROI (Region of Interest) dalam bentuk kotak warna biru sesuai koordinat dan dimensinya (nilai x, y, w, h)
[Baris 18]: menampilkan window
[Baris 19-21]: mendeteksi penekanan tombol ESP untuk keluar program
[Baris 23-24]: destroy object kamera dan menutup windows

Ada beberapa cara untuk bekerja dengan Python di Windows:
1. Menggunakan editor text biasa (Notepad, Notepad++), simpan dalam bentuk file python (*.py), kemudian running lewat command prompt dengan perintah

2. Menggunakan IDE (Integrated Development Environment) bawaan Python yakni IDLE
3. Menggunakan IDE pihak ketiga, yakni PyCharm buatan JetBrain

Catatan: Untuk sementara dan untuk mudahnya kita akan gunakan cara kedua, walaupun sebenarnya IDLE ini punya kekurangan tidak terdapat tulisan baris script. Baris script ini sangat kita butuhkan saat proses debugging jika ada script/sintaks error.

Tampilan Program Deteksi Wajah OpenCV Python

Buka IDLE lewat start menu-Python 3.8-IDLE (Python 3.8 64-bit). Kemudian open file yang tadi Anda simpan (facedetection.py). Kemudian running file tersebut melalui menu Run-Run Module atau dengan menekan tombol F5

Sesaat kemudian kamera di laptop Anda akan aktif dan menampilkan gambar tangkapannya. Jika wajah Anda ada di sana maka akan ada kotak biru yang akan mengikuti kemanapun wajah Anda bergerak. Selamat, Anda sudah berhasil mendeteksi wajah menggunakan OpenCV dan Python 🙂 . Untuk keluar program, Anda bisa menekan tombol ESC. Tutorial berikutnya akan coba saya bahas bagaimana mengenali wajah sesuai nama orang tersebut (face recognition), tidak hanya mendeteksi saja (face detection)

Update: tutorial tentang face recognition bisa di baca di artikel ‘Pengenalan Wajah (Face Recognition) dengan OpenCV dan Python

Incoming search terms:

aboutvcc

Leave a Reply

9 Comments on "Deteksi Wajah (Face Detection) dengan OpenCV dan Python"

avatar
  Subscribe  
newest oldest most voted
Notify of
kholis
Guest

saya kok masih gagal terus yamaster?

yudha putra
Guest

jika gagal hapus & 0xff

djakopsen
Guest

Saya meng-instal Python ver.3.8.3, Ada muncul error, setelah camera meng-capture…
seperti dibawah ini :
Traceback (most recent call last):
File “D:\Python_3_8_3\facedetection.py”, line 19, in
k = cv2.waitKey(30) &0xff
NameError: name ‘amp’ is not defined

dimas
Guest

mas maaf file xmlnya kok ngga bisa di download ya di githubnya. boleh di share nda hehehe