Pengenalan Wajah Sederhana Menggunakan API Face.com

[written while listening to :  Paul Van Dyk – The Other Side]

Hai semua, blog ini semakin jarang diupdate tampaknya, i dont have any excuse left sepertinya beberapa bulan ini aku memang sedang malas menulis . Postingan kali ini kiki ahmadi akan menulis mengenai project code-for-fun akhir pekan (sounds very geek isnt it ? ). Pekerjaan sebagai CRM engineer membuatku jarang terekspose dengan source code, and i kinda miss those good old sweet coding times . Jadi sebagai pelampiasan aku, i do this so called code-for-fun weekend project. Aku garis bawahi  kata fun disini, so lets be not so serious here folks.

Minggu ini aku tertarik untuk sedikit mengoprek  open api dari Face.com. Sebelumnya aku juga kurang aware ya dengan face.com, melihat websitenya sepertinya ini adalah sebuah startup web yang memfokuskan diri pada teknologi pengenalan wajah didalam jejaring sosial. Cool thing is they provide API for face recognition, aku tau hal ini ketika sedang baca baca radar.oreilly.com and it really ticks my code instinct hehe. Untuk sedikit overview, silahkan baca sedikit overview Face.com OpenAPI.

Face.com logo

Ok lets get down to the business, bagaimana cara kerja barang ajaib ini ?.  Kalau disederhanakan, langkahnya adalah seperti ini.

  1. Sediakan beberapa buah foto untuk data training dan lakukan deteksi wajah (this is just like, is there any face in this pic :)).
  2. Lakukan data training terhadap foto foto tersebut. Hasil dari data training tersebut adalah sebuah kode identifikasi yang bisa di asosiasikan(tagging) dengan orang/user tertentu. Setelah proses ini, foto yang terdapat pada data training akan di “tag” secara virtual oleh API. Tag tersebut berfungsi sebagai primary key untuk proses selanjutnya, which is face recognition.
  3. Lakukan face recognition dengan memanggil API seperti ini “Apakah user X berada didalam foto ini “. Proses pengenalan dilakukan dengan memanggil Tag yang sudah dibuat dilangkah kedua, lalu membandingkan foto input dengan data training untuk tag tersebut. Hasilnya berupa confidence level dari tag tersebut berada didalam foto.

Bahkan sebenarnya developer atau dalam hal ini aku sendiri, tidak perlu tau detail proses yang terjadi untuk setiap langkah because all we need to do is call the damn method :). Untuk mencari wajah dalam foto tinggal panggil faces.detect, untuk melakukan taggin / training tags.save then for doing the face recog just fire faces.train. Face recognition really is never been so simple :D. Dibawah ini adalah contoh URL pemanggilan method faces. detect.

http://api.face.com/faces/detect.json?api_key=X&api_secret= &urls= http://flickr.com/test/test.jpg

API FAce.com (masih berstatus OpenAlpha) ini dipanggil menggunakan HTTP request biasa , format pengembalian defaultnya adalah JSON tetapi bisa dirubah menjadi XML.  Untuk bisa menggunakan API ini, pengguna diwajibkan untuk daftar terlebih dahulu untuk memperoleh API key dan membuat namespace. Aku rada bingung juga soal namespace ini, but after doing some codes aku berasumsi klo ini adalah semacam folder untuk menampung tag tag yang telah kita buat, CMIIW deh ya :). Tersedia integrasi dengan Twitter + Facebook, jadi we can get pic from those to social network. Hal ini bisa dilakukan dengan mudah karena hanya perlu mengganti konfigurasi namespace. Oh librarynya juga sudah tersedia, walaupun sementara hanya untuk bahasa PHP.

Aku membuat sedikit proof-of-concept code untuk melihat how well API works. Disini aku menggunakan 10 data training (which is my own face pic) dan single user recognition. Aku pakai PHP lib official dari Face.com for the sake of simplicity, dan inilah hasilnya.

Me and my mom photo, 31 % confidence level

It really works well indeed, dari 10 data training foto close up bisa mengenali foto semi panorama dengan dua wajah disitu (me and my mom hehe) dengan confidence level sebanyak 31%.

Overall, this Face.com API is really awesome. Aku tidak pernah membayangkan klo pengenalan wajah akan menjadi semudah ini, sekarang tinggal menunggu aplikasi keren apa yang bisa dibuat dari sini. Any volunteer folks? 😀

Oh ya kode untuk proof of concept aku share di halaman weekend project di code.google.com, you can checkout using SVN or download it there . Kode dibuat dengan bantuan Eclipse Ganymede, XAMPP 1.6.8 (Apache 5, PHP 4), Firefox 3.6, satu gelas kopi latte dan beberapa jam duduk di Starbucks Ciwalk, Bandung :).


5 thoughts on “Pengenalan Wajah Sederhana Menggunakan API Face.com

  1. Hahahaha…
    Akhirnya lae awak satu ini nulis lagi, kangen aku bah sama tulisan kau. Awak paling senang dengan gaya kau yang nyampur2 pake bahasa linggis itu. Makin kental aja ku tengok sejak kerja sama apa itu istilahnya pekerja bule di Indonesia itu.. (lupa awak)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.