• Tidak ada hasil yang ditemukan

Institutional Repository | Satya Wacana Christian University: Perancangan Aplikasi Perkiraan Wajah Manusia di Masa Depan Menggunakan Algoritma Warp dan Morph Berbasis Android

N/A
N/A
Protected

Academic year: 2018

Membagikan "Institutional Repository | Satya Wacana Christian University: Perancangan Aplikasi Perkiraan Wajah Manusia di Masa Depan Menggunakan Algoritma Warp dan Morph Berbasis Android"

Copied!
24
0
0

Teks penuh

(1)

Perancangan Aplikasi Perkiraan Wajah Manusia di Masa

Depan Menggunakan Algoritma

Warp

dan

Morph

Berbasis Android

Artikel Ilmiah

Diajukan kepada Fakultas Teknologi Informasi

untuk Memperoleh Gelar Sarjana Komputer

Oleh :

Martha Sadari Nugraheni NIM: 672011198

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

(2)
(3)
(4)
(5)
(6)

1

Perancangan Aplikasi Perkiraan Wajah Manusia di Masa

Depan Menggunakan Algoritma

Warp

dan

Morph

Berbasis Android

Research on human face aging using digital image processing has been done with various algorithms. Warp and morph algorithm has the ability to distort image, so it can be used to make aging effect on human face image. With Research and Development method, an Android-based application created to estimate human face aging using warp and morph algorithm. Image distortion in this algorithm done by triangulation transformation based on source and destination mesh formed from facial features points. To do morphing with only one input image, the value of Affine transformation matrix should be determined first to calculate the value of destination mesh in a single face. The determination of affine matrix value done through experiment by modifying young image mesh to be looked closely similar with the old face. The image result for specific face shape’s criteria which is tested shows a good similarity between simulation result image with the truth image in aspect of facial features shape.

Keywords: Digital Image, Warp, Morph, Face Aging, Android

Abstrak

Penelitian mengenai penuaan wajah manusia dengan memanfaatkan pengolahan citra telah dilakukan dengan berbagai algoritma. Algoritma warp dan morph memiliki kemampuan untuk mendistorsi citra, sehingga dapat dimanfaatkan untuk menghasilkan efek penuaan pada citra wajah manusia. Dengan metode Research and Development dibuat aplikasi berbasis Android untuk memperkirakan penuaan wajah seseorang menggunakan algoritma warp dan morph. Distorsi citra pada algoritma ini dilakukan dengan transformasi triangulasi berdasarkan mesh awal dan akhir yang terbentuk dari titik-titik bagian wajah. Untuk melakukan proses morphing dengan hanya satu citra masukan, terlebih dulu nilai matriks transformasi Affine untuk mendapatkan mesh akhir sebuah wajah. Penentuan nilai matriks Affine dilakukan melalui percobaan modifikasi mesh wajah muda yang dibuat semirip mungkin dengan gambar wajah tua. Citra keluaran yang dihasilkan untuk kriteria bentuk wajah yang diuji menunjukkan kemiripan yang baik antara wajah hasil simulasi dengan wajah sebenarnya dalam aspek bentuk bagian-bagian wajah.

Kata Kunci: Citra Digital , Warp, Morph, Penuaan Wajah, Android.

1)

Mahasiswa Fakultas Teknologi Informasi Jurusan Teknik Informatika, Universitas Kristen Satya Wacana, Salatiga.

2) Staff

Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana, Salatiga 3) Staff

(7)

2 1. Pendahuluan

Proses pengolahan citra merupakan hal yang sering dijumpai dalam penggunaan teknologi di kehidupan sehari-hari. Seiring dengan munculnya beragam media sosial, aplikasi pengolah citra semakin diminati. Hasil survei The Renfrew Center Foundation kepada 1.710 responden menunjukkan bahwa 70% perempuan serta lebih dari 50% laki-laki mengedit foto wajahnya sebelum diunggah ke media sosial agar terlihat lebih menarik [1]. Hal ini menunjukkan bahwa bagi kebanyakan orang, wajah merupakan bagian yang penting dan perlu perhatian khusus. Banyak orang ingin memiliki wajah yang sempurna, namun wajah setiap orang pasti mengalami penuaan seiring bertambahnya usia. Proses penuaan adalah proses fisiologis yang akan terjadi pada semua makhluk hidup. Proses ini meliputi seluruh organ tubuh termasuk kulit yang merupakan salah satu jaringan tubuh yang secara langsung memperlihatkan terjadinya proses penuaan. Berbagai masalah dan kelainan kulit dapat timbul pada penuaan kulit, salah satunya adalah kulit kendur. Dengan mengendurnya kulit, maka terjadi perubahan posisi bagian-bagian wajah serta timbul kerutan.

Sebuah metode untuk membuat model kerutan pada penuaan kulit manusia pernah diusulkan oleh Bando et al. [2]. Triangle mesh digunakan untuk memetakan bagian tubuh, kemudian dilakukan operasi geometri berupa distorsi

mesh untuk membuat efek kerutan. Sayangnya, Bando tidak membuatnya menjadi sebuah aplikasi, namun hanya memproses model kerutan tersebut menggunakan sebuah Computer Graphicsoftware.

Salah satu metode pengolahan citra digital yang menggunakan distorsi mesh

sebagai dasarnya adalah image warping. Warping dari dua gambar yang berbeda dan memadukan warp tersebut akan menghasilkan morph dari kedua gambar. Beberapa teknik dalam image morphing yaitu cross dissolve, feature morph, dan

mesh morph. Berdasarkan hasil penelitian oleh Gunadi et al. [3], dari ketiga teknik tersebut yang memiliki efisiensi waktu dan kualitas hasil terbaik adalah

mesh morph.

Penelitian terhadap pengolahan citra telah dilakukan oleh banyak peneliti, sehingga mucul berbagai pemanfaatan dari pengolahan citra. Dari pengolahan sederhana seperti rotating, scaling, dan recoloring, sampai pada morphing

sehingga dapat menghasilkan gambar gerak atau animasi yang berguna di bidang seni dan hiburan. Algoritma image denoising dapat digunakan untuk mendeteksi asli atau tidaknya suatu dokumen dalam sebuah citra. Dalam bidang kedokteran, pengolahan citra yang dikombinasikan dengan berbagai disiplin ilmu dapat mendeteksi adanya penyakit dalam tubuh manusia. Selain itu, para peneliti juga melakukan pengolahan citra dengan berbagai metode untuk mengetahui penuaan pada wajah manusia.

(8)

3

morph yang hanya memerlukan satu gambar masukan. Aplikasi ini akan memberikan gambaran wajah bagi siapa saja yang ingin mengetahui efek penuaan pada wajah seseorang, sehingga bermanfaat untuk keperluan pencarian orang hilang, pencarian pelaku tindak kriminal, maupun bagi siapa saja yang ingin mengetahui wajah seseorang di masa depan.

Berdasarkan latar belakang yang ada, maka rumusan masalah dalam penelitian ini adalah bagaimana cara menerapkan algoritma warp dan morph

dalam pembuatan aplikasi berbasis Android untuk memperkirakan wajah seseorang di masa mendatang. Aplikasi ini dibuat pada platform Android karena sistem operasi perangkat mobile yang paling banyak digunakan di dunia adalah Android [5]. Mobile phone merupakan perangkat yang data penjualannya saat ini paling banyak dan terus meningkat dari tahun ke tahun, jauh lebih banyak dibandingkan perangkat lain seperti Personal Computer (PC) [6]. Minat pengguna Android terhadap aplikasi pengolah citra juga cukup tinggi, terbukti dalam 10 aplikasi gratis yang paling banyak diunduh oleh seluruh pengguna Android, 2 diantaranya merupakan aplikasi pengolah citra [7].

Untuk memperjelas area pembahasan dalam penelitian ini, perlu adanya batasan-batasan masalah, diantaranya (1) Aplikasi memproses gambar wajah yang utuh dan jelas dengan ekspresi datar dan sudut pengambilan gambar tepat dari depan; (2) Ukuran gambar masukan 280 280 piksel berisi citra wajah dengan jarak dari alis sampai ujung dagu 146 piksel.

2. Tinjauan Pustaka

Pada bab ini dibahas beberapa penelitian terdahulu dan teori-teori yang berkaitan dengan algoritma warp dan morph maupun aplikasi penuaan wajah.

Penelitian yang menjadi acuan sekaligus pembanding berjudul Age Progression using Image Morphing telah dilakukan oleh Nguyen [4], yang membuat sebuah aplikasi untuk memprediksi perubahan wajah seseorang dari waktu ke waktu menggunakan dengan menggabungkan warp beberapa gambar dari seseorang pada usia yang berbeda. Beberapa gambar dari usia berbeda dengan ekspresi wajah dan ukuran yang sama akan membuat hasil age progression yang lebih bagus. Perbedaannya dengan penelitian ini adalah bahwa aplikasi yang dibuatnya tidak dapat memprediksi wajah di masa depan, namun hanya membuat prediksi perubahan wajah sehingga tidak dapat diproses jika hanya memiliki satu gambar masukan.

(9)

4

mirip dengan wajah asli, karena bending energy error pada kedua metode tersebut tidak terlalu banyak seperti pada CG. Diagram hasil pengujian bending energy error dapat dilihat pada Gambar 2. Kelemahan dari metode yang diusulkan yaitu sangat terbatasnya foto dari saudara pada usia yang dibutuhkan. Dari penelitian ini diketahui bahwa pengambilan sampel wajah yang mirip dapat digunakan sebagai acuan dalam menentukan penuaan wajah seseorang.

Gambar 1 Prediksi Perubahan Wajah Michael Jackson [8]

Gambar 2 Bending Energy Error pada CG (Biru), CW+BE (Hijau), dan LM (Merah) [8]

Penelitian mengenai pengembangan algoritma warp dilakukan oleh Bando,

et al [2], yang membuat suatu model kerutan pada kulit manusia menggunakan sebuah Computer Graphic software. Pembuatan model dimulai dari mendistorsi

triangle mesh yang merepresentasikan sebuah bagian tubuh, kemudian diinterpolasi untuk membuat direction field dari setiap titik pada mesh. Efek kerutan dihasilkan dengan mengukir kerut di sepanjang direction field, yaitu dengan cara menggambarkan segmen garis abu-abu pada citra. Dalam mendemonstrasikan model yang dibuatnya, Bando menggunakan sebuah 3D digitizer. Dari penelitian ini dapat disimpulkan bahwa mesh warping saja tidak dapat menambahkan komponen baru dalam sebuah citra.

(10)

5

seseorang menggunakan Markov Chain yang memiliki dua variasi yaitu

continous variation dan abrupt variation. Pada continous variation hanya dilakukan perubahan pada atribut yang telah ada, seperti warna rambut dan warna kulit. Namun pada abrupt variation dilakukan penambahan atribut baru seperti kerutan dan juga mengganti gaya rambut. Atribut yang ada didapatkan dengan menggunakan model dari sampel yang diambil dari kebanyakan orang pada ras sejenis. Atribut mewakili bagian yang paling menonjol perubahannya ketika mengalami penuaan, yaitu mata, mulut, dahi, dan rambut. Penelitian ini menghasilkan kesimpulan bahwa tingkat kemiripan maksimal tercapai pada jarak usia penuaan 10 – 20 tahun. Semakin jauh jarak usia prediksi dari usia gambar masukan, tingkat kemiripannya dengan wajah asli semakin kecil.

Pada bagian berikut dijelaskan teori-teori yang digunakan sebagai landasan dalam penelitian ini, yaitu mengenai penuaan, citra digital, warp, dan morph.

Penuaan adalah proses yang terjadi pada organ tubuh seluruh makhluk hidup, termasuk kulit. Proses menua pada kulit dibagi menjadi dua yaitu proses intrinsik dan ekstrinsik. Proses menua intrinsik berlangsung secara alamiah, disebabkan oleh faktor dari dalam tubuh seperti genetik, hormonal, dan rasial. Perubahan ini tidak dapat dihindari, dan akan terjadi sesuai pertambahan usia. Sedangkan proses menua ekstrinsik terjadi akibat faktor dari luar tubuh seperti sinar matahari, kelembaban udara, dan faktor lain yang mempercepat proses penuaan kulit [4]. Pada penuaan intrinsik akan terjadi gejala kulit kendur. Dengan kendurnya kulit, maka bagian-bagian yang menempel pada kulit seperti mata, alis, dan mulut juga ikut mengalami perubahan.

Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dari suatu objek. Citra terbagi 2 yaitu ada citra yang bersifat analog dan ada citra yang bersifat digital. Citra analog adalah citra yang bersifat kontinu seperti gambar pada monitor televisi, foto sinar X, hasil CT Scan, dll. Sedangkan citra digital adalah citra yang dapat diolah oleh komputer. [10]

Secara matematis citra digital dapat dituliskan sebagai fungsi ( ), dimana harga x (baris) dan y (kolom) merupakan koordinat posisi, dan ( ) adalah nilai fungsi pada setiap titik ( ) yang menyatakan besar intensitas citra atau tingkat keabuan atau warna dari piksel di titik tersebut. Pada proses digitalisasi (sampling dan kuantitas) diperoleh besar baris M dan kolom N hingga citra membentuk matriks . Sebuah citra digital dapat ditulis dalam bentuk

(11)

6

( ) di satu gambar, dimana x adalah denotasi kolom dan y adalah denotasi baris,

ke posisi ( ) di gambar lainnya [11].

Proses warping dimulai dengan menguraikan warp sederhana dari sebuah daerah segitiga pada suatu bidang. Ketiga verteks (titik sudut) segitiga tersebut dinyatakan oleh tiga titik nonkolinear v1, v2, dan v3. Jika sebuah segitiga yang

akan di-warp mengandung sebuah gambar didalamnya, maka di tiap titik pada segitiga awal akan ditetapkan sebuah derajat warna abu-abu (gray level). Misal didefinisikan fungsi ( ) adalah gray level pada titik v di segitiga awal, maka dapat didefinisikan gambar di segitiga akhir sebagai hasil warp dari segitiga awal yang memiliki kerapatan gambar . Transformasi dari segitiga awal ke segitiga akhir dapat dilihat pada Gambar 3.

Gambar 3 Segitiga Awal (a) dan Akhir (b) [11]

Sebuah morph dengan perubahan waktu dapat dijelaskan sebagai perpaduan dua warp dari dua gambar yang berbeda dengan menggunakan dua triangulasi yang dapat mencocokan ciri-ciri kunci yang bersesuaian pada gambar. Salah satu dari gambar ditentukan sebagai gambar awal dan lainnya sebagai gambar akhir. Setelah dilakukan warp dari waktu t=0 ke t=1 pada gambar awal dan dilakukan warp dari t=1 ke t=0 dari gambar akhir, dapat dihasilkan nilai rata-rata terbobot (weighted average) dari derajat warna abu-abu kedua warp tersebut.

Mesh morph atau sering disebut triangle based morphing adalah teknik

morphing yang menggunakan features yang membentuk kurva tertutup berbentuk segitiga, dimana segitiga awal berpasangan dengan segitiga tujuan [3]. Jika n

adalah jumlah titik verteks dan k adalah jumlah titik verteks yang terletak pada batas garis persegi panjang pada gambar, maka jumlah segitiga m dari triangulasi pada titik tersebut dinyatakan dengan:

m = 2n– 2 –k (2)

Pembentukan kurva segitiga dapat dilakukan menggunakan metode triangulasi Delaunay, yaitu pembentukan jala-jala segitiga dari himpunan titik-titik pada suatu bidang. Segitiga-segitiga yang terbentuk harus memenuhi syarat

(12)

7

Proses transformasi segitiga pada warp dan morph dilakukan dengan transformasi Affine menggunakan matriks berukuran 3 x 3. Segitiga awal yang berisi titik-titik sudut (x0,y0), (x1,y1), (x2,y2) didefinisikan dalam matriks X,

sedangkan segitiga akhir (u0,v0), (u1,v1), (u2,v2) didefinisikan dalam matriks U.

Persamaan transformasi kedua segitiga didefinisikan dengan

(3)

Matriks A adalah matriks Affine, berisi koefisien-koefisien yang mentransformasi matriks X ke U. Sehingga persamaan 3 dalam bentuk matriks adalah sebagai berikut.

[ ] [ ] [

] (4)

Untuk mendapatkan nilai matriks A dapat dilakukan pengalian invers matriks U

dengan matriks X, sehingga persamaan 3 dapat diubah menjadi

(5)

Nilai dari matriks Affine dapat digunakan untuk melakukan proses penuaan pada seseorang yang hanya diketahui gambar awalnya saja. Dalam hal ini berarti matriks yang dicari adalah matriks U, dengan persamaan sebagai berikut

(6) Persamaan 6 diuraikan dalam matriks adalah sebagai berikut

[ ] [

Metode penelitian yang digunakan yaitu Penelitian dan Pengembangan atau

Research and Development (R&D). Metode ini digunakan untuk menghasilkan suatu produk tertentu dan menguji keefektifan dari produk tersebut supaya dapat berfungsi di masyarakat luas [12]. Langkah-langkah dari metode ini dapat dilihat pada Gambar 4.

(13)

8

Dalam penelitian ini, tahapan R&D yang ditempuh hanya sampai uji coba produk. Langkah penelitian pada Gambar 3 dijelaskan sebagai berikut: 1) Tahap potensi dan masalah, pada tahap ini dilakukan observasi terhadap beberapa survei atau penelitian mengenai citra digital yang berkaitan dengan penuaan wajah, kemudian mengidentifikasi potensi dan masalah yang timbul dari hasil observasi. Potensi yang ditemukan adalah kemampuan algoritma warp dan morph untuk menangani masalah penuaan wajah pada citra pada platform Android. 2) Tahap pengumpulan data, dikumpulkan informasi untuk menentukan kebutuhan berdasarkan masalah yang ada, yaitu fitur apa saja yang akan dibuat dalam aplikasi supaya dapat digunakan dengan mudah dan sesuai dengan kebutuhan pengguna. Selain itu, dilakukan studi pustaka mengenai algoritma yang akan digunakan dalam program dan penggunaanya untuk menghasilkan efek penuaan pada citra wajah. 3) Tahap desain produk, merancang sistem dengan diagram

Unified Modelling Language (UML). Setelah merancang sistem kemudian dilakukan desain tampilan atau user interface dari aplikasi. 4) Tahap validasi desain, dilakukan penilaian apakah desain produk yang dibuat telah sesuai dengan kebutuhan pengguna. Pada tahap ini dilakukan diskusi dengan beberapa orang sebagai representasi dari calon pengguna. Jika ada sesuatu yang harus diperbaiki maka akan dilakukan tahap perbaikan desain. 5) Tahap perbaikan desain, merupakan tahap dimana kebutuhan pengguna yang tidak sesuai dengan desain sebelumnya diperbaiki sesuai hasil validasi desain. 6) Tahap uji coba produk, dalam bidang teknik sebelum dilakukan uji coba produk harus dibuat terlebih dulu. Pembuatan produk dilakukan dengan membuat aplikasi pada platform

Android menggunakan bahasa pemrograman Java pada Eclipse editor. Didalam pembuatan aplikasi digunakan Software Development Kit (SDK) dari Luxand, Inc yaitu FaceSDK untuk melakukan deteksi bagian-bagian wajah yang akan diproses. Setelah aplikasi dibuat barulah dilakukan uji coba produk, dimana dilakukan pengujian aplikasi dan analisis hasil pengujian. Pengujian pertama menggunakan metode black box testing untuk memastikan bahwa seluruh fungsi dalam aplikasi dapat berjalan dengan baik. Pengujian kedua yaitu dengan melakukan kalkulasi jarak koordinat titik-titik wajah gambar hasil dengan gambar asli sehingga dapat diketahui akurasi letak titik-titik wajah pada gambar hasil terhadap gambar aslinya.

UML yang yang dirancang pada tahap desain produk diantaranya diagram

use case, diagram class, diagram activity, dan diagram sequence. Diagram use case digunakan untuk memodelkan interaksi antara sistem dengan aktor atau pengguna. Diagram use case dalam aplikasi perkiraan penuaan wajah dapat dilihat pada Gambar 5.

(14)

9

Penjelasan pada Gambar 5 adalah pengguna dapat memasukkan gambar untuk diproses, yaitu menggunakan gambar yang sudah tersimpan dalam perangkat Androidnya. Setelah itu pengguna tinggal menunggu hasil pengolahan gambar yang telah diberi efek penuaan. Pengguna juga dapat menyimpan gambar hasil setelah melihatnya.

Diagram activity menjelaskan alur aktivitas antara pengguna dan aplikasi saat pertama kali aplikasi dijalankan hingga selesai. Diagram activity aplikasi ini dapat dilihat pada Gambar 6.

Gambar 6 Diagram Activity Aplikasi Perkiraan Penuaan Wajah

Tahap awal pada diagram activity yaitu aplikasi menampilkan menu utama dimana pengguna dapat memilih bentuk wajah yang akan diproses. Kemudian, pengguna dapat memasukkan foto dari file yang sudah ada dalam perangkat Androidnya. Aplikasi akan mendeteksi bagian-bagian wajah yang ada dalam foto. Jika tidak ditemukan bagian-bagian wajah dalam foto, maka akan tampil pesan

error sehingga pengguna harus menggunakan foto yang lain. Namun jika bagian-bagian wajah sudah ditemukan maka akan diproses untuk menghasilkan foto perkiraan penuaan wajah. Setelah ditampilkan hasilnya, pengguna dapat memilih apakah ingin menyimpannya dalam perangkat atau tidak.

(15)

10

Gambar 7 Diagram Class Aplikasi

Sesuai dengan diagram class pada Gambar 7, aplikasi ini memiliki beberapa

class yang saling terhubung satu sama lain. MenuScreen adalah class yang menampilkan menu utama aplikasi, dimana pengguna dapat memilih bentuk wajah yang akan diproses. FaceAgingScreen adalah class untuk menampilkan gambar yang akan diproses dan mendeteksi bagian-bagian wajah pada gambar awal sehingga menghasilkan mesh awal. Tampilan gambar pada FaceAgingScreen diatur dalam class FaceImageView. Class DestPoint melakukan perhitungan untuk memperoleh mesh akhir berdasarkan mesh awal yang terdeteksi. Class

Triangulation berfungsi untuk melakukan triangulasi berdasarkan mesh. Segitiga hasil triangulasi yang telah terbentuk disimpan dalam class Triangle. Class Line berfungsi menentukan garis-garis pembentuk segitiga yang ada pada class

Triangle. Class GeometryTrans melakukan perhitungan untuk mencari nilai matriks transformasi, dimana elemen matriksnya terdapat di class Transform. WarpMorph adalah class untuk melakukan warping dan morphing berdasarkan triangulasi dan matriks transformasi yang terbentuk. Class ImageClip melakukan

(16)

11

Diagram sequence menggambarkan interaksi antar object dan mengindikasikan komunikasi diantara object tersebut. FaceAgingScreen yang telah mendeteksi mesh wajah akan memanggil fungsi getDestPoint dari object

DestPoint untuk mendapatkan destination mesh. Kemudian dilakukan image clipping dengan memanggil fungsi genClip dari object ImageClip. Fungsi triangulate akan memproses triangulasi berdasarkan data mesh awal dan akhir, kemudian fungsi morph dijalankan untuk mentransformasi segitiga hasil triangulasi. Transformasi ini dilakukan berdasarkan nilai matriks transformasi yang dihasilkan oleh object GeometryTrans. Gambaran sistem dalam diagram

sequence dapat dilihat pada Gambar 8.

Gambar 8 Diagram Sequence

Gambar 9 Flowchart ProsesMengubah Gambar Input Menjadi Output

Flowchart pada Gambar 9 menjelaskan proses mengubah gambar input menjadi output. Gambar input dideteksi dengan FaceSDK untuk mendapatkan

(17)

12

mengalami penuaan. Selanjutnya dilakukan proses warping dan morphing untuk menghasilkan gambar output.

Gambar 10 menggambarkan tahapan umum proses algoritma warp dan

morph. Dari mesh awal dan akhir yang telah diperoleh, dibentuk triangulasi berdasarkan mesh yang memenuhi syarat triangulasi Delaunay. Selanjutnya, dilakukan deformasi gambar dari triangulasi awal dan akhir yang terbentuk. Deformasi gambar dilakukan untuk menghasilkan gambar setiap frame pada proses morphing. Titik-titik segitiga awal akan ditransformasi sebanyak jumlah

morph steps sehingga menghasilkan gambar proses penuaan. Untuk melakukan transformasi dari segitiga awal ke segitiga frame ke-i dilakukan pencocokan titik awal dan titik akhir yang koresponden terlebih dahulu, kemudian dilakukan

merging yaitu menghitung weighted average dari kedua titik tersebut. Setelah dilakukan transformasi, ditentukan nilai piksel gambar untuk setiap frame agar menghasilkan gambar output yang sesuai dengan hasil transformasi.

Gambar 10Flowchart Algoritma Warp dan Morph

4. Hasil dan Pembahasan

Untuk memproses penuaan wajah dengan satu gambar input, terlebih dahulu harus diketahui nilai matriks Affine atau matriks transformasi yang dapat menghasilkan efek penuaan. Penentuan nilai matriks Afiine dilakukan dengan melakukan transformasi pada sampel gambar yang telah diketahui mesh wajah awalnya, kemudian ditentukan koordinat mesh akhir melalui percobaan agar mesh

gambar hasil menjadi semirip mungkin dengan gambar sebenarnya yang telah mengalami penuaan.

(18)

13

setiap koefisien matriks Affine. Kode Program 1 merupakan kode fungsi getTrafo untuk memperoleh nilai matriks transformasi.

Kode Program 1 Fungsi untuk Menentukan Nilai Matriks Transformasi

Setelah diketahui nilai matriks transformasi berdasarkan percobaan pada sampel, dapat dilakukan morph dengan satu gambar masukan saja. Nilai matriks transformasi ini selanjutnya dapat digunakan untuk menghasilkan efek penuaan pada gambar wajah lain dengan memiliki bentuk wajah yang sama, karena nilai matriks transformasi yang dihasilkan antara satu bentuk wajah dengan bentuk wajah lainnya memiliki perbedaan yang signifikan. Dalam aplikasi ini dilakukan pengelompokan matriks transformasi berdasarkan dua bentuk wajah yaitu oval

dan square.

Hasil invers matriks Affine yang telah didapat dari sampel disimpan dalam sebuah text file, kemudian digunakan untuk menentukan mesh point pada gambar akhir. Mesh point akhir (u,v) didapatkan menggunakan Persamaan 8 dan 9 yang dituliskan dalam Kode Program 1 pada baris 10 – 12 untuk nilai u, dan baris 13 – 15 untuk nilai v. Kode Program 2 adalah kode fungsi untuk mendapatkan mesh point gambar akhir.

1. public static Transform getTrafo(Triangle origin_,

(19)

14

Kode Program 2 Fungsi untuk Mendapatkan Mesh Point Gambar Akhir.

Setelah mesh point wajah awal dan akhir diketahui, dilakukan proses

warping dan morphing. Pada proses morphing dilakukan perulangan sebanyak

morph steps yang dikehendaki sehingga menghasilkan sejumlah gambar yang menunjukkan proses penuaan dari gambar awal ke gambar akhir, yang ditunjukkan pada Kode Program 3 baris 3 – 7 . Proses morphing diawali dengan membentuk triangulasi mesh pada gambar kemudian dilakukan deformasi gambar dari triangulasi awal ke triangulasi akhir yang dilakukan dengan fungsi triangle pada kode baris ke-12. Kode Program 3 merupakan kode fungsi morph untuk melakukan proses morphing.

Kode Program 3 Fungsi Morphing

1. destPoint = new Vector<Point>();

10. double xcor = (Double.parseDouble(arr[0]) * left.get(n).x)

11. + (Double.parseDouble(arr[1]) * left.get(n).y)

12. + Double.parseDouble(arr[2]);

13. double ycor = (Double.parseDouble(arr[3]) * left.get(n).x)

14. + (Double.parseDouble(arr[4]) * left.get(n).y)

15. + Double.parseDouble(arr[5]);

4. for (int x = 0; x < Config.result_image.getWidth(); ++x) {

5. for (int y = 0; y < Config.result_image.getHeight(); ++y) {

6. Config.result_image.setPixel(x, y, 0x0);

7. }

8. }

9. ratio = ((double) i / Config.MORPH_STEPS);

10. genResultTriangles();

11. for (t_idx = 0; t_idx < Config.result_triangles.size(); ++t_idx) {

12. triangle();

13. }

14. File f = new File("/sdcard/temp_outputWM" + (i) + ".jpg");

(20)

15

Pada fungsi genResultTriangles dalam fungsi morph dilakukan mesh merging yaitu menghitung weighted average untuk setiap titik segitiga pada frame

ke-i dari i=0 sampai i=morph_steps supaya triangle mesh gambar ke-i dan gambar ke-i+1 memiliki nilai matriks transformasi yang konstan. Gambaran transformasi bentuk triangulasi awal dan akhir berdasarkan hasil morphing dapat dilihat pada gambar 11 dan Gambar 12.

Gambar 11 Triangulasi Awal Gambar 12 Triangulasi Akhir

Dari transformasi Gambar 11 ke 12 terlihat bahwa segitiga yang mengalami perubahan ada pada bagian tertentu yaitu alis, mata, bibir, dan dagu, sedangkan bagian hidung tidak mengalami perubahan. Perbedaan setiap bagian wajah dari gambar input dengan gambar output dapat dilihat pada Gambar 13.

Gambar 13 Perbedaan Bagian Wajah Gambar Input dan Output

(21)

16

Gambar 15 merupakan tampilan awal program yang menyajikan menu bentuk wajah yang dapat diproses oleh aplikasi, yaitu oval face maupun square face. Gambar 16 merupakan tampilan menu ambil gambar dari file yang ada dalam perangkat. Setelah gambar dipilih, dilakukan deteksi bagian-bagian wajah yang ada, kemudian ditampilkan hasilnya dengan titik-titik biru pada gambar. Jika deteksi menyatakan tidak terdapat wajah didalam gambar, maka muncul peringatan untuk memasukkan gambar wajah yang benar.

Gambar 15 Tampilan Menu Utama Gambar 16 Tampilan Menu Ambil Gambar

Gambar 17 merupakan tampilan gambar hasil yang telah melalui proses penuaan. Hasil berjumlah 3 gambar yang merupakan proses perubahan dari gambar awal sampai ke gambar akhir. Ketika tombol ‘back’ atau ‘kembali’ ditekan, akan muncul dialog konfirmasi penyimpanan gambar ke perangkat seperti terlihat pada Gambar 18.

Gambar 17 Tampilan Gambar Hasil Gambar 18 Tampilan Dialog Konfirmasi

Simpan Gambar

(22)

17

yang diharapkan dan dapat memenuhi kebutuhan pengguna. Pengujian aplikasi ini melalui dua tahap yaitu pengujian fungsional program dan pengujian hasil gambar penuaan yang telah diproses pada program.

Pengujian fungsional program dilakukan menggunakan metode black box testing, yaitu pengujian fungsi-fungsi aplikasi secara langsung tanpa memperhatikan alur eksekusi program. Hasil black box testing untuk semua fungsi berstatus valid, maka dapat disimpulkan bahwa aplikasi telah berfungsi dengan baik sesuai dengan yang diharapkan.

Pengujian selanjutnya yaitu menguji akurasi titik-titik wajah hasil gambar penuaan yang telah diproses pada program dengan gambar asli. Pengujian ini dilakukan dengan terlebih dahulu mendeteksi titik-titik bagian wajah yang berjumlah 66 titik pada masing-masing gambar dengan menggunakan teknologi

facial feature detection dari Luxand FaceSDK, kemudian dilakukan penghitungan jarak setiap titik hasil deteksi pada gambar output aplikasi dengan titik hasil deteksi pada gambar asli yang telah mengalami penuaan. Perhitungan jarak titik dilakukan dengan satuan piksel. Pengujian dilakukan terhadap tiga kategori gambar yaitu: (1) gambar hasil usia 30 tahun dari gambar masukan usia 20 tahun; (2) gambar hasil usia 40 tahun dari gambar masukan usia 30 tahun; (3) gambar hasil usia 40 tahun dari gambar masukan usia 20 tahun. Hasil perhitungan jarak untuk titik-titik pada mata ditunjukkan pada Gambar 19.

Gambar 19 Diagram Jarak Titik Bagian Mata untuk Kategori Gambar 1 (Biru),

Kategori 2 (Merah), Kategori 3 (Kuning)

Gambar 20 menunjukkan hasil perhitungan jarak titik-titik pada bagian alis untuk ketiga kategori gambar. Hasil jarak titik untuk bagian hidung ditunjukkan pada Gambar 21.

Gambar 20 Diagram Jarak Titik Bagian

Alis

Gambar 21 Diagram Jarak Titik Bagian

(23)

18

Gambar 22 adalah diagram jarak titik-titik pada bagian bibir, sedangkan Gambar 23 menunjukkan jarak setiap titik pada bagian dagu.

Gambar 22 Diagram Jarak Titik

Bagian Bibir

Gambar 23 Diagram Jarak Titik

Bagian Dagu

Tingkat akurasi yang baik ditunjukkan dengan semakin kecilnya nilai jarak titik yang diperoleh. Jarak titik-titik pada bagian hidung memiliki rata-rata terkecil yaitu 2,2 piksel, sehingga dapat dikatakan bahwa akurasi paling baik ada pada bagian hidung. Rata-rata jarak untuk bagian mata adalah 2,3 piksel, bagian bibir 2,3 piksel, bagian alis 2,7 piksel, dan bagian dagu 3,2 piksel. Penuaan yang terjadi berjarak 10 tahun dari gambar masukan memiliki jarak titik terkecil 0 piksel dan jarak maksimal 4,4 piksel, sedangkan untuk penuaan berjarak 20 tahun memiliki jarak titik terkecil 1 piksel dan jarak maksimal 5,3 piksel. Berdasarkan hasil pengujian dapat diketahui bahwa perubahan yang dihasilkan oleh algoritma

warp dan morph telah menghasilkan efek penuaan dengan tingkat kemiripan yang baik untuk titik-titik bagian wajah yang diuji.

5. Simpulan

Berdasarkan hasil penelitian yang telah dilakukan dapat disimpulkan bahwa pembuatan aplikasi prediksi penuaan wajah manusia menggunakan algoritma

warp dan morph dapat dilakukan dengan melakukan transformasi segitiga hasil triangulasi menggunakan matriks transformasi yang telah ditentukan. Triangulasi dibentuk menggunakan mesh bagian-bagian wajah yang dideteksi otomatis menggunakan FaceSDK. Penentuan matriks transformasi dapat dilakukan dengan percobaan modifikasi mesh akhir agar gambar hasil menjadi semirip mungkin dengan gambar penuaan yang sebenarnya. Setelah diketahui mesh awal gambar masukan dan matriks transformasinya, barulah ditentukan mesh akhir melalui rumus yang ada untuk melakukan proses morphing. Dalam penelitian ini ditemukan bahwa matriks transformasi satu bentuk wajah dengan yang lainnya memiliki perbedaan yang signifikan, maka dalam penggunaannya perlu dilakukan pengelompokan berdasarkan kriteria tertentu baik menurut bentuk maupun ukuran bagian-bagian wajah. Algoritma yang dipakai tidak dapat memunculkan komponen baru seperti kerutan dan rambut, sehingga tingkat kemiripan dengan wajah asli hanya sebatas bentuk dan posisi bagian-bagian wajah yang ada.

Pengembangan penelitian ini di kemudian hari dapat dilakukan dengan menentukan banyak variasi matriks transformasi yang dipakai, tidak hanya

(24)

19

sebatas bentuk wajah saja namun juga berdasarkan bentuk mata, alis, hidung, dan bagian wajah lain. Selain itu dapat dilakukan pengembangan pada algoritma warp

dan morph baik dengan mengembangkan rumus yang telah ada maupun mengkombinasikannya dengan algoritma tertentu supaya dapat menambahkan efek kerutan dan perubahan warna pada rambut-rambut dan kulit wajah.

6. Daftar Pustaka

[1] The Renfew Center. 2014. Afraid To Be Your Selfie? Survey Reveals Most People Photoshop Their Images. http://renfrewcenter.com/news/afraid-be-your-selfie-survey-reveals-most-people-photoshop-their-images. Diakses tanggal 5 April 2015.

[2] Bando, Yosuke, Takaaki Kuratate, Tomoyuki Nishita. 2002. A Simple

Method for Modeling Wrinkles on Human Skin.

web.media.mit.edu/~bandy/wrinkle/PG02wrinkle.pdf. Diakses tanggal 11 April 2015.

[3] Gunadi, Kartika, Resmana Lim, Stephan Yos. 2004. Morphing Citra dengan Berbagai Teknik Morphing. Proceedings Komputer dan Sistem Intelijen (KOMMIT2004): 160-167

[4] Nguyen, R. 2009. Age Progression using Image Morphing.

http://fcl.uncc.edu/nhnguye1/AgeProgression.pdf. Diakses tanggal 5 April 2015.

[5] Refsnes Data. 2015. Mobile Devices Statistics.

http://www.w3schools.com/browsers/browsers_mobile.asp. Diakses tanggal 5 April 2015.

[6] Gartner, Inc. 2015. Gartner Says Tablet Sales Continue to Be Slow in 2015.

http://www.gartner.com/newsroom/id/2954317. Diakses 1 Mei 2015.

[7] Google. 2015. Google Play Top Free Apps.

https://play.google.com/store/apps/collection/topselling_free?hl=en.

Diakses tanggal 6 April 2015.

[8] Shen, C. Ta, Fay Huang, Wan-Hua Lu, et al. 2012. 3-D Age Progression

Prediction in Children’s Faces with a Small Exemplar-Image Set. Journal of Information Science and Engineering.

[9] Suo, Jinli, Feng Min, Songchun Zhu, et al. 2007. A Multi-resolution Dynamic Model for Face Aging Simulation. Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition. [10] Sutoyo, T., Edy Mulyanto, Vincent Suhartono, Oky D. Nurhayati, et al.

2009. Teori Pengolahan Citra Digital. Yogyakarta: Penerbit Andi.

[11] Anton, Howard, dan Chris Rorres. 2005. Aljabar Linear Elementer VersiAplikasi. Jakarta: Penerbit Erlangga.

[12] Sugiyono. 2006. Metode Penelitian Kuantitatif, Kualitatif dan R&D. Bandung: Penerbit Alfabeta.

[13] Chen, Long and Jin-chao Xu. 2004. Optimal Delaunay Triangulations.

Gambar

Gambar 1   Prediksi Perubahan Wajah Michael Jackson [8]
Gambar 4 Langkah-langkah Penelitian dalam Metode R&D [12]
Gambar 5 Diagram Use Case Aplikasi Perkiraan Penuaan Wajah
Gambar 6 Diagram Activity Aplikasi Perkiraan Penuaan Wajah
+7

Referensi

Dokumen terkait

The methodology outlined is expected to aid not only in financial planning of CDM implementation in the energy sector, but also, can go a long way in contributing

(4a) Mekanisme penyelesaian pagu minus sebagaimana dimaksud pada ayat (3) huruf b, apabila berada dalam wilayah kerja Kantor Wilayah Direktorat Jenderal

Bersama ini kami sampaikan bahwa berdasarkan Perpres Nomor 54 Tahun 2010 Pasal 83 ayat 2 ULP menyatakan Seleksi gagal apabila : huruf a peserta yang lulus kualifikasi pada

bahan juga akan berjalan semakin cepat dan mening a pneumatik berpengaruh terhadap kenaikan temperatu r pengaruh perbedaan temperatur udara pengering masu emakin cepatnya

Unsur penyelenggara administrasi yang ada di Program studi Ilmu Komunikasi terdiri dari Ketua program studi serta pegawai program studi yang melayani kebutuhan

Proses produksi yang dilakukan oleh perusahaan tersebut adalah secara terus menerus, dimana masalah utama dalam perencanaan dan pengendalian bahan baku utama

Based on an extensive evaluation using MCNC benchmark circuits on a real FPGA and a real CAD tool, our proposal reduces total power consumption by 13-90 % and runs 2-20 % faster

STUDI PEMBINAAN KETERAMPILAN MENULIS BAGI SISWA UNTUK MENINGKATKAN KEMAMPUAN BERBAHASA ARAB. Universitas Pendidikan Indonesia | repository.upi.edu