Face Recognition Menggunakan Python dan API Face Recognition

May 20, 2018

Mengenali wajah atau gambar sangatlah mudah untuk dilakukan oleh manusia namun kadang kala manusia itu lupa mengenali wajah atau gambar karena beberapa faktor contohnya faktor usia. Namun untuk membantu tugas manusia dalam mengidentifikasi atau mengenali wajah seseorang dibutuhkan sistem yang dapat bekerja dalam mengenali wajah atau gambar. Sistem ini harus diberi perlakuan khusus, ketika kita memasukan inputan sistem ini dapat mengenali wajah atau gambar tersebut.
Python Face Recognition API

Sistem yang sekarang sedang dikembangkan adalah Face Recognition. Face recognition merupakan salah satu teknik biometric yang memungkinkan komputer atau mesin dapat mengenali wajah atau gambar. Melalui sistem pengenalan wajah ini, identitas seseorang dapat diketahui dengan mudah dengan memanfaatkan kamera yang diarahkan ke wajah membandingkan inputan citra wajah yang masuk dengan citra yang ada di database.


Langkah-langkah instalasi Python & API Face Recognition


1. Install Python 3.5.X

Silahkan download dan install Python 3.5.x > melalui halaman resmi python https://www.python.org/downloads/. Versi python yang terinstall adalah python versi 32-bit (apabila API face recognition tidak berjalan pada python versi 64-Bit).

Python Face Recognition API
Install Python 3.5.3 (32-bit)
Setelah Python diinstall, tambahkan path python pada environment variable. Environment variable sangat dibutuhkan untuk memudahkan kita mengeksekusi program Python ataupun melakukan instalasi library menggunakan pip atau pip3 tanpa harus diarahkan ke lokasi instalasi dari Python itu sendiri. Langkah - langkah setting environtment variable pada windows:
  1. Buka explorer. Klik kanan pada This PC kemudian pilih properties
  2. Pilih tab advance kemudian klik tombol Environment Variable
  3. Pada bagian System Variables pilih Path dan klik Edit
  4. Klik tombol New
  5. Tambahkan lokasi Python (folder utama dan folder scripts) seperti dibawah ini (sesuaikan nama user dan versi python yang kamu install) 
  6. Restart PC/laptop untuk menerapkan perubahan environtment variable
C:\Users\Yourname\AppData\Local\Programs\Python\Python35
C:\Users\Yourname\AppData\Local\Programs\Python\Python35\Scripts

Python Face Recognition API
PATH Environment Variable


2. Install Visual Studio Community Edition

C/C++ diperlukan untuk compiler library dan API silahkan download Visual Studio Community Edition https://www.visualstudio.com/downloads/. Versi Community Edition adalah versi yang dapat kamu download dan install secara gratis.


3. Install Pillow

Direkomendasikan untuk mengistall pillow terlebih dahulu sebelum menginstall face recognition API karena terkadang ketika menginstall CMake dan face recognition terdapat error dependensi pillow. Untuk menginstall pillow silahkan buka command prompt / Power Shell kemudian ketikkan perintah easy_install Pillow

Install Pillow


4. Install CMake

Untuk menginstall CMake diperlukan python pip, sebelum menginstall CMake install / upgrade python pip terlebih dahulu menggunakan perintah python -m pip install --upgrade pip kemudian install CMake menggunakan perintah pip install CMake

Install pip & CMake


5. Install API Face Recognition

Setelah langkah-langkah diatas berhasil dilakukan maka selanjutnya menginstall API face recognition menggunakan perintah pip install face_recognition

Install Python API Face Recognition
Tahap instalasi dependensi dlib ketika menginstall API face recognition membutuhkan waktu yang cukup lama (+- 20 menit) jadi silahkan bersabar sampai proses instalasi semua dependensi selesai.


6. Install OpenCV (library tambahan)

Jika kamu ingin mencoba face recognition menggunakan kamera maka kamu perlu menginstall OpenCV menggunakan perintah pip install opencv-python

Dokumentasi resmi API face recognition dapat diakses melalui link https://github.com/ageitgey/face_recognition

Contoh script program real time face recognition menggunakan webcam/kamera download disini namun kamu perlu mendownload foto Barack Obama dengan nama obama.jpg dan Joe Biden dengan nama biden.jpg yang diletakkan satu folder dengan script tersebut.


Struktur Folder

Kamu dapat menambahkan data dengan cara mengubah scriptnya menjadi seperti dibawah ini (contoh 5 data) dan jangan lupa menambahkan foto wajah untuk tiap data.





# Load a sample picture and learn how to recognize it.
obama_image = face_recognition.load_image_file("obama1.jpg")
obama_face_encoding = face_recognition.face_encodings(obama_image)[0]

# Load a second sample picture and learn how to recognize it.
biden_image = face_recognition.load_image_file("faces/face-2.jpg")
biden_face_encoding = face_recognition.face_encodings(biden_image)[0]

# Load a second sample picture and learn how to recognize it.
ramsis_image = face_recognition.load_image_file("ramsis.jpg")
ramsis_face_encoding = face_recognition.face_encodings(ramsis_image)[0]

# Load a second sample picture and learn how to recognize it.
ratih_image = face_recognition.load_image_file("ratih.jpg")
ratih_face_encoding = face_recognition.face_encodings(ratih_image)[0]

# Load a second sample picture and learn how to recognize it.
duray_image = face_recognition.load_image_file("duray.jpg")
duray_face_encoding = face_recognition.face_encodings(duray_image)[0]

# Create arrays of known face encodings and their names
known_face_encodings = [
    obama_face_encoding,
    biden_face_encoding,
    ramsis_face_encoding,
    ratih_face_encoding,
    duray_face_encoding
]
known_face_names = [
    "Barack Obama",
    "Michelle Obama",
    "Rahmat Siswanto",
    "Ratih Kusuma Dewi",
    "Duray Philip"
]


Hasilnya
Hasil Python Face Recognition API Menggunakan OpenCV & Webcam


7. Install Flask (library tambahan)

Jika kamu ingin membuat aplikasi berbasis web yang dapat menerapkan python face recognition api ini maka kamu dapat membuat aplikasi web tersebut menggunakan web framework python bernama Flask. Flask dikhususkan sebagai framework mikro web dimana flask memiliki fitur-fitur yang memudahkan untuk membuat aplikasi web sederhana.


Pada contoh kode program tersebut, server akan mengidentifikasi apakah gambar yang diupload adalah Barack Obama atau bukan.



2 comments:

  1. Wah mantap mas, apakah ada solusi buat kendala bottleneck pada code bagian face_encodings = face_recognition.face_encodings(rgb_small_frame, face_locations)
    dan CPU yang terpakai hanya 1 saja

    ReplyDelete

Powered by Blogger.