REKAYASA PERANGKAT LUNAK PEMODELAN WAJAH BERBASIS FOTO DIRI MENGGUNAKAN MODEL MORPHABLE 3D
Alfie Tjahjadi Sugita, Cecilia Fransisca Alexandra Sekolah Tinggi Manajemen Informatika dan Komputer LIKMI
Jl. Ir. H. Djuanda 96 Bandung 40132
Email : [email protected]
Abstrak
Perkembangan teknologi khususnya teknologi komputer untuk mengembangkan berbagai macam bentuk tiga dimensi (3D) dari benda hidup ataupun benda mati yang banyak digunakan dalam dunia hiburan, membuat ketertarikan untuk mempelajari dan membuat aplikasi perangkat lunak sederhana untuk membuat model 3D dari wajah manusia yang tertera dalam citra digital dua dimensi (2D) menggunakan model morphable. Secara keseluruhan, proses pemodelan 3D yang dilakukan yaitu mencocokkan model wajah yang dijadikan contoh dengan model wajah yang sudah ada di dalam dataset pelatihan. Dataset yang digunakan yaitu Basel Face Model. Dataset ini merupakan hasil scan laser kepala pria dan wanita dari berbagai kalangan, rentang usia dan berbagai bentuk struktur kepala yang dibuat oleh Universitas Basel di Italia. Untuk merancang aplikasi ini, digunakan MATLAB.
Keyword : morphable, basel face model, MATLAB
1. Pendahuluan
Grafik komputer adalah bagian dari ilmu komputer yang berkaitan dengan pembuatan dan manipulasi gambar secara digital. Salah satu fungsi pemodelan pada grafik komputer 3D adalah untuk menghasilkan output wajah manusia (facial moelling). Wajah manusia diciptakan dengan perbedaan unik dari setiap individu. Menghadapi permasalahan tersebut, maka diusulkan pembuatan model wajah dengan bantuan foto diri. Dengan proses ini, maka proses untuk menghasilkan objek wajah 3D akan lebih mudah dan memungkinkan setiap orang membuat artficial object wajah dirinya dalam bentuk 3D dengan bantuan foto diri sendiri.
2. Landasan Teori
a. Rekayasa Perangkat Lunak
Roger mendefinisikan pengertian dari perangkat lunak tersebut, yaitu (Pressman,2005:4) :
Software is : instructions (computer programs) that when executed provide desired features, function, and performance; data structures that enable the programs to adequately manipulate information, and descriptive information in both hard copy and virtual forms that describes the operation and use of the programs.
Ian Sommerville dalam bukunya yang berjudul Software Engineering menjelaskan bahwa perangkat lunak adalah “Computer programs and associated documentation. Software products may be developed for a particular customer or may be developed for a general market” (Sommerville,2010:6).
Perangkat lunak yang baik harus memberikan fungsi yang diperlukan dan kinerja dari perangkat lunak tersebut harus dapat dipertahankan dan diandalkan, serta perangkat lunak harus dapat terus digunakan oleh pengguna. Oleh karena itu, dibutuhkan rekayasa perangkat lunak agar dapat memenuhi kebutuhan pengguna sesuai yang diinginkan, dan juga agar dapat direkayasa sedemikian rupa sehingga kinerja perangkat lunak dapat terus diandalkan.
b. Proses Pengenalan Wajah
Pengenalan wajah merupakan salah satu teknik biometrik yang utama, dimana teknik ini menjadi lebih penting karena perkembangan yang pesat pada kemajuan teknologi seperti kamera digital, internet dan perangkat mobile, dan peningkatan pada tuntutan keamanan.
Stan Z. Li dalam bukunya yang berjudul Handbook of Face Recognition, menjelaskan bahwa “A face recognition system is expected to identify faces present in images and videos automatically” (Li,2005:1). Artinya, sistem pengenalan wajah diharapkan dapat mengidentifikasi wajah di dalam citra dan video secara otomatis.
Secara lebih jelas, diagram proses pengenalan wajah ditunjukkan pada gambar di bawah ini :
Gambar 1
Diagram Proses Pengenalan Wajah Sumber : (Li,2005:3)
Setelah wajah dinormalisasikan secara geometris dan photometrical, feature extraction dilakukan untuk memberikan informasi yang efektif, yang berguna untuk membedakan antara wajah orang dengan variasi geometri dan photometrical yang ada. Untuk tahap face matching, fitur vektor diekstraksi dari citra wajah yang dimasukkan, dicocokkan dengan wajah - wajah yang ada pada database.
c. Eigenfaces
Eigenfaces merupakan salah satu teknik yang sering digunakan untuk melakukan ektraksi ciri pada citra wajah. Fungsi dari teknik ini adalah memproyeksikan gambar muka ke ruang fitur yang mencakup variasi yang penting dari gambar wajah yang dikenal.
Seperti yang dikatakan Turk dan Pentland dalam jurnalnya yang berjudul “Journal of Cognitive Neuroscience Volume 3, Number 1” (Turk,1991:71) :
“The system functions by projecting face images onto a feature space that spans the significant variations among known face images. The significant features are known as "eigenfaces," because they are the eigenvectors (principal components) of the set of faces.”
d. Model Statistik Bentuk
Untuk membangun sebuah bentuk model statistik, dibutuhkan satu set training image. Sekumpulan tersebut harus dipilih sehingga mencakup jenis variasi yang ingin dibentuk, termasuk ekspresi yang ditunjukkan pada wajah.
Wajah - wajah pada set training image harus dari resolusi minimal, setinggi seperti gambar wajah yang akan diambil bentuknya.
Setiap wajah kemudian harus dianotasi dengan satu set poin yang mendefinisikan fitur penting wajah. Poin - poin ini digunakan untuk menentukan korespondensi pada set pelatihan dan mewakili bentuk wajah dalam gambar. Dengan demikian, jumlah poin yang sama harus ditempatkan pada setiap gambar. Sebagai contoh, titik pertama menjadi pusat dari mata kiri, titik kedua menjadi pusat mata kanan, dan sebagainya. Semakin banyak poin yang digunakan, maka variasi bentuk pada wajah akan semakin terwakili dengan jelas. Pada umumnya, orang akan menempatkan titik di sekitar fitur wajah utama (mata, hidung, mulut dan alis) bersamaan dengan titik di sekitar garis luar untuk menentukan batas wajah.
Menurut Stan Z. Li dan kawan - kawan, pada umumnya bentuk didefinisikan sebagai kualitas konfigurasi poin yang bervariasi dalam beberapa transformasi. “Shape is usually defined as the quality of a configuration of points that is invariant under some transformation. In two or three dimensions we usually consider either the similarity transformation (translation, rotation, scaling) or the affine transformation” (Li,2005:40).
e. Model Statistik Tekstur
Stan Z. Li menjelaskan bahwa : “To build a statistical model of the texture (intensity or color over an image patch) we warp each example image so its feature points match a reference shape (typically the mean shape)” (Li, 2005:44). Li kemudian menjelaskan lebih lanjut bahwa proses warping dapat dicapai dengan menggunakan deformasi terus menerus, seperti piece-wise affine menggunakan triangulasi daerah atau sebuah interpolating spline.
Proses warping akan menghilangkan variasi tekstur palsu karena membentuk perbedaan yang akan terjadi apabila hanya dilakukan dekomposisi eigenvector pada wajah yang tidak dinormalisasi. Informasi intensitas sample dari bentuk gambar yang sudah dinormalisasi akan membentuk vektor tekstur (𝑔𝑖𝑚).
Sample tekstur (𝑔𝑖𝑚) diperoleh seperti berikut, asumsikan bahwa titik - titik mendefinisikan bentuk obyek dalam gambar target ( X ) :
1. Hitung terlebih dahulu posisi piksel sample dalam frame model yang menjadi referensi (pada umumnya semua piksel yang berada pada daerah yang penting).
𝑃𝑖𝑘𝑠𝑒𝑙 = ( 𝑥𝑠,𝑖 , 𝑦𝑠,𝑖 )
2. Buatlah sebuah fungsi warping 𝑊𝑋(𝑥, 𝑦), yang memetakan titik - titik bentuk yang diinginkan ke titik sasaran, X.
3. Untuk setiap elemen i dalam (𝑔𝑖𝑚), sample gambar target di 𝑊𝑋(𝑥𝑠,𝑖, 𝑦𝑠,𝑖) menggunakan interpolasi jika sesuai.
f. 3D Morphable Model (3DMM)
3DMM merupakan fungsi penyelarasan multidimensi 3D (multidimensional 3D morphing function) yang didasarkan pada kombinasi linear dari sejumlah besar hasil scan wajah dalam bentuk 3 dimensi. Komputasi nilai standard wajah dan nilai – nilai utama wajah dalam dataset merupakan distribusi probabilitas yang dipakai pada fungsi morphing ini untuk menghindari bentuk selain komponen wajah. Output dari fungsi ini adalah model 3D wajah yang memiliki korespondensi yang cocok dengan model wajah 3D morphable yang ada di dalam database.
Gambar 2
Skema Pemodelan Wajah 3D
Sumber : (A Morphable Model For The Synthesis Of 3D Faces)
Model morphable 3D dari wajah merupakan ruang vektor dari model bentuk dan model tekstur 3D yang didapat dari sejumlah set wajah yang dijadikan sample. Model morphable menangkap berbagai variasi dan sifat – sifat umum dari wajah yang dijadikan contoh. Vektor model bentuk dan model tekstur didefinisikan sedemikian rupa sehingga setiap kombinasi linear dari contoh
adalah wajah realistis jika S, T ada dalam beberapa standar deviasi dari rata-rata mereka. Vektor model bentuk dan tekstur direpresentasikan dalam bentuk sebagai berikut ; 𝑆 = ∑ 𝛼𝑖𝑆𝑖 𝑚 𝑖=1 , 𝑇 = ∑ 𝛽𝑖𝑇𝑖 𝑚 𝑖=1
Dimana vektor 𝑆𝑖 merupakan model bentuk 3D, disimpan dalam koordinat x, y, z dari semua vertex – vertex, 𝑘 𝜖 { 1, … , 𝑛}, dengan n = 75.972 mesh 3D.
𝑆𝑖 = (𝑥1, 𝑦1, 𝑧1, 𝑥2, … . . , 𝑥𝑛, 𝑦𝑛, 𝑧𝑛)𝑇
Pembentukan model wajah 3D berdasarkan variabel – variabel penting pada sistem pemodelan 3DMM atau disebut dengan coefficient-based recognition dapat dilihat pada gambar 3. Representasi wajah pada koefisien 𝛼𝑖 , 𝛽𝑖 untuk model bentuk 3D dan model tekstur berdiri sendiri pada setiap titiknya.
Gambar 3
Skema Sistem Coefficient-Based Recognition Pada 3DMMc Sumber : (Face Recognition Based On A 3D Morphable Model)
g. Database Basel Face Model (BFM)
Database yang digunakan untuk proses pemodelan 3D ini yaitu database Basel Face Model (BFM), yang berisikan model 3D hasil scan laser dari 200 kepala
orang muda dewasa, 100 orang pria dan 100 orang wanita orang Caucasian, satu diantaranya merupakan orang Asia. Rentang usia orang yang dijadikan data pelatihan yaitu 8 sampai 62 tahun, dengan rata – rata umur adalah 25 tahun, dan rentang berat badan antara 40 sampai 123 kilogram dengan rata – rata berat 66,48 kilogram. Setiap orang dipindai sebanyak tiga kali dengan ekspresi netral, lalu kemudian dipilih ekspresi yang lebih terlihat alami.
h. Data Geometri Database BFM
Data geometri dalam BFM terdiri dari 53.490 vertices yang saling terhubung membentuk 160.470 triangles. Data geometri dari setiap sample wajah dikombinasikan membentuk beberapa model wajah 3D yaitu the average shape, the principal shape components, the shape variance, the mesh topology, the average texture, the principal texture components, the texture variance.
3. Analisa dan Perancangan
Perangkat lunak ini dibuat untuk melakukan simulasi pemodelan objek 3D dari foto diri. Sistem akan membentuk model objek wajah 3D secara otomatis dengan terlebih dahulu memproses citra wajah 2D berupa foto diri yang dimasukkan oleh pengguna. Proses - proses yang dilakukan dalam sistem pemodelan obyek 3D ini adalah :
1. Proses pembacaan input citra berupa foto diri yang diambil file citra di komputer atau melalui proses penangkapan citra oleh sensor web kamera (webcam).
2. Menentukan parameter aplikasi, berupa penentuan jumlah data geometri wajah (landmark) yang akan diproses, termasuk penentuan nilai standar deviasi (nilai ambang yang dapat diterima dalam proses) dari setiap parameter pada aplikasi.
3. Pembacaan data-data geometri wajah dari database Basel Face Model (BFM) yang ditempatkan pada direktori basis citra yang telah ditentukan (oleh pengguna) yang digunakan untuk mendapatkan model morphable 3D yang selanjutnya akan digunakan dalam proses rekonstruksi wajah 3D.
4. Pengaturan parameter dasar geometri wajah dari hasil acuan yang dirumuskan oleh Anil Bas, Wiliam A. P Smith, Timo Bolkart dan Stefanie Wuhrer yang
dijadikan acuan dasar untuk pencocokan data-data geometri wajah dengan membandingkan dengan data-data yang berasal dari basis citra BFM.
5. Pendeteksian geometri wajah dari input citra (foto diri) berdasarkan parameter-parameter yang telah ditentukan sebelumnya untuk melokalisasi bagian-bagian yang termasuk wajah pada input citra yang digunakan. Pada tahap ini pendeteksian akan menggunakan metode yang diajukan oleh Ramanan.
6. Dari hasil pendeteksian geometri wajah kemudian akan dilakukan pencocokan dengan data-data geometri wajah yang berasal dari basis citra basel face model, dengan beberapa kali pemasangan penyesuaian tepi (fit edges) dari citra wajah hasil deteksi dengan citra wajah yang berasal dari basel fase model. Hasil pencocokan terbaik akan digunakan sebagai acuan rekonstruksi wajah 3D.
7. Dari hasil pencocokan di atas, maka hasil pencocokan kemudian ditampilkan dengan memproyeksikannya dalam tampilan warna wajah (face color) dan warna tepi (edge color) dan pencahayaan (lightning), sehingga diperoleh hasil pencocokan wajah atau hasil rekonstruksi wajah secara visual yang dapat dilihat (oleh pengguna).
Untuk menyempurnakan tampilan visual hasil rekonstruksi wajah secara 3D maka diaplikasikan teknik texture sampling yang memberikan efek tekstur yang menampilkan bagian-bagian wajah yang memiliki kedalaman dan bagian yang menonjol, agar bentuk wajah secara 3D (tiga dimensi) dapat dilihat secara nyata dan mendekati sempurna.
a. Usecase
Gambar 4
Usecase Diagram Proses Pemodelan Wajah 3D
b. Class Diagram
Gambar 5
Class Diagram Proses Pemodelan Wajah 3D 4. Kesimpulan
Dari hasil pengembangan perangkat lunak beberapa tahap yang dilakukan untuk merepresentasikan objek wajah ke dalam model 3D dengan menggunakan teknik penempatan model morphable 3D menggunakan tahap-tahap sebagai berikut :
1. Membaca morphable 3D dari basel face model yaitu pembacaan data-data geometri wajah dari basel face model dari direktori basis citra yang telah ditentukan.
2. Pencocokan model wajah dengan melakukan pengaturan parameter dasar geometri (landmark) wajah berhasil dilakukan.
3. Menampilkan hasil pencocokan model wajah, yaitu bentuk rekonstruksi wajah yang ditampilkan penuh dalam bentuk 3D (tiga dimensi).
4. Proses texture sampling, yaitu hasil pencocokan model wajah kemudian dibentuk dan disesuaikan teksturnya.
DAFTAR PUSTAKA
[1] Amberg, B., Knothe, R., Paysan, P., Romdhani , S., Vetter, T., “A 3D Face Model for Pose and Illumination Invariant Face Recognition”. 2009
[2] Blanz, V., Vetter, T., “Face Recognition Based on Fitting a 3D Morphable Model”. IEEE Trans. Pattern Anal. Mach. Intell. 25 (2003) 1063-1074. [3] Blanz, V. Vetter, T., “A morphable model for the synthesis of 3D faces”, In
Computer Graphics Proc. SIGGRAPH'99, 187-194, 1999.
[4] Cootes, T. F., dan C. J. Taylor, 2001, “Statistical Models of Appearance for Computer Vision”, Dept. Imaging Science and Biomedical Engineering, University of Manchester,U.K.
[5] Gonzales .C, Rafael, dan Richards E. Woods, 2008, “Digital Image Processing - Third Edition”, Pearson Education.
[6] Li. Z, Stain dan Anil K. Jain, 2005, “Handbook of Face Recognition”, Springer. [7] Sommerville, Ian, 2010, “Software Engineering - Ninth Edition”, Addison
Wesley.
[8] Pressman. S , Roger, 2005, “Software Engineering : A Practitioner’s Approach”, McGraw Hill.
[9] Turk, Matthew, dan Alex Pentland, 1991, “Eigenfaces for Recognition”, Journal
of Cognitive Neuroscience, Vol 3, No. 1. 71-86. [10] https://www.mathworks.com diakses pada 18 Januari 2017, 21.48 WIB
[11] http://www-rohan.sdsu.edu/doc/matlab/techdoc/ref/colorspec.html diakses pada 18 Januari 2017, 21.15 WIB
[12] http://radio.feld.cvut.cz/matlab/techdoc/visualize/chlight6.html diakses pada 18 Januari 2017, 21.25 WIB