BAB 3 PERANCANGAN DAN IMPLEMENTASI SISTEM Bab ini berisi tentang penjelasan proses perancangan sistem pengolahan citra yang berupa algoritma-algoritma yang akan digunakan dalam proses pengolahan citra replika kulit untuk mendapatkan suatu nilai parameter yang dapat merepresentasikan kondisi tekstur kulit, baik dalam periode sebelum dan setelah diberikan moisturizer. Perancangan sistem ini bertujuan untuk membantu para ahli di bidang dermatologi pada umumnya dan para ahli kosmetik pada khususnya untuk menentukan effikasi/kemanjuran suatu jenis kosmetik tertentu, khususnya moisturizer, dengan metode yang sederhana dan bersifat ekonomis. Pada periode pengamatan, pasien/subyek percobaan diberikan suatu jenis
moisturizer dengan kemanjuran yang belum diketahui. Pemberian moisturizer tersebut diharapkan dapat memberikan suatu kondisi kulit yang lebih baik dari sebelumnya. Perubahan karakteristik tekstur kulit yang terjadi akan menentukan effikasi/kemanjuran dari jenis moisturizer yang digunakan. Sistem yang dirancang masih dalam tahap pengembangan algoritma yang sesuai dan dapat memberikan hasil yang mengacu pada beberapa nilai parameter yang diberikan oleh alat komersial milik pihak PT. Martina Berto Jakarta, sebagai referensi utama. Dengan adanya sistem ini, diharapkan kondisi kesehatan kulit saat sebelum maupun setelah pemberian moisturizer dapat direpresentasikan dalam suatu bilangan numerik. Ide awal dari penelitian ini adalah untuk merancang suatu metode analisis perubahan tekstur kulit manusia berdasarkan alat yang dimiliki oleh PT. Martina Berto, Jakarta, yang nantinya diharapkan dapat menjadi suatu metode alternatif untuk melakukan proses pengujian kemanjuran/effikasi moisturizer dengan kemampuan yang hampir sama tetapi dengan harga yang lebih terjangkau. Alat yang dimaksud menggunakan replika kulit yang terbuat dari suatu campuran silikon. Oleh karena itu, pada penelitian ini juga menggunakan replika kulit yang sama, tetapi dengan cara analisis yang berbeda.
36
Pada bagian-bagian berikut akan dijelaskan secara bertahap dimulai dengan spesifikasi alat yang digunakan, gambaran secara garis besar mengenai sistem yang akan dirancang, penjelasan setiap diagram blok algoritma yang digunakan, dan ringkasan rancangan sistem secara keseluruhan.
3.1. Spesifikasi Alat
Dalam pelaksanaan tugas akhir ini, menggunakan beberapa alat bantu komputasi akan digunakan, baik berupa perangkat keras (hardware) maupun perangkat lunak (software), sebagai berikut: a. Perangkat keras (hardware)
•
Personal computer (PC) dengan spesifikasi Prosesor Intel Pentium 2,4 Ghz, memori RAM 256 MB, kartu grafis ATI RADEON 9200 SE,
harddisk 80 GB •
Scanner CanoScan 9900F
b. Perangkat lunak (software)
•
Sistim operasi Windows XP Professional SP1
•
Sistim operasi Linux distro Fedora Core 6, dengan kernel 2.6.181.2798.fc6xen dan X-Window KDE)
•
MATLAB 7.0 dan MATLAB UNIX 7.0.4.352
•
CanoScan Toolbox 4.1
•
Adobe Photoshop CS2
Dalam proses perbandingan hasil antara nilai-nilai yang didapat menggunakan sistem ini dengan nilai parameter referensi dari PT. Martina Berto, maka digunakan suatu alat analisis tekstur kulit yang dimiliki oleh PT. Martina Berto, yaitu Skin Visiometer SV-600. Alat tersebut digunakan untuk mendapatkan beberapa nilai parameter referensi dari masing-masing replika, yang nantinya akan berperan sebagai data acuan dari pengembangan sistem ini. Perangkat keras scanner CanoScan 9900F digunakan untuk mendapatkan citra dijital replika kulit dengan resolusi 200 dpi (tahap akuisisi citra). Sebagai perangkat lunak bantuan, maka digunakan perangkat lunak CanoScan Toolbox 4.1 untuk memudahkan proses scanning dan manajemen citra di komputer.
37
Sedangkan perangkat lunak Adobe Photoshop CS2 digunakan untuk membuat suatu citra uji dalam pengujian algoritma RETINEX. Citra-citra yang didapatkan tersebut akan diproses menggunakan berbagai alat bantu yang telah disebutkan di atas. MATLAB 7.0 ataupun MATLAB UNIX 7.0.4.352 digunakan sebagai perangkat lunak utama perancangan sistem untuk melakukan proses komputasi menggunakan algoritma-algoritma pengolahan citra.
3.2. Perancangan Sistem
Proses perancangan sistem ini menggunakan perangkat lunak MATLAB 7.0 sebagai komponen pengolah data, untuk menjalankan algoritma-algoritma yang akan digunakan pada proses analisis (di lain kesempatan, MATLAB UNIX 7.0.4.352 juga digunakan untuk mengolah M-File MATLAB 7.0 jika sedang berada di dalam lingkungan Linux). Secara garis besar, proses analisis yang akan dilakukan adalah sebagai berikut:
Gambar 3. 1. Garis besar perancangan sistem analisis tekstur kulit
Sistem analisis yang dikembangkan terbagi menjadi beberapa bagian, yaitu akuisisi citra dijital replika kulit, sistem ekstraksi fitur yang dilanjutkan dengan tahap seleksi fitur, sistem pelatihan jaringan saraf tiruan (JST), dan sistem analisis citra menggunakan JST.
38
Gambar 3. 2. Proses akuisisi citra dijital replika kulit
Gambar 3.2 di atas menunjukkan proses akuisisi citra dijital replika kulit yang berasal dari replika kulit manusia, yang terbuat dari suatu campuran silikon. Tujuan dari tahap tersebut adalah mendapatkan citra yang dapat digunakan untuk proses analisis selanjutnya (citra yang sudah dinormalisasi).
Gambar 3. 3. Proses ekstraksi fitur, seleksi fitur, dan pelatihan sistem JST
Sebelum melakukan proses pelatihan JST, proses ekstraksi fitur tekstur dilakukan terlebih dahulu dari suatu citra dijital replika kulit. Setelah proses ekstraksi fitur, maka tahap selanjutnya adalah membandingkan nilai-nilai fitur tersebut dengan nilai parameter referensi yang didapatkan dari PT. Martina Berto, Jakarta untuk setiap sampel citra replika kulit menggunakan metode korelasi. Proses seleksi fitur dilakukan dengan memilih beberapa fitur yang memiliki
39
koefisien korelasi terbesar terhadap parameter referensi. Fitur-fitur hasil seleksi tersebut menjadi komponen masukan dari sistem pelatihan JST. Pada gambar 3.3 di atas, terlihat bahwa proses pelatihan JST melibatkan dua buah komponen, yaitu komponen masukan yang berupa fitur-fitur hasil seleksi dan komponen data latih yang berupa parameter referensi untuk setiap sampel citra replika kulit. Hasil dari proses pelatihan JST ini adalah bobot-bobot untuk setiap hubungan neuron sistem JST dan bias di setiap summing junction.
Gambar 3. 4. Sistem utama analisis citra menggunakan JST
Pada proses analisis citra menggunakan JST ini, tahap akuisisi citra dijital sampai tahap seleksi fitur merupakan proses yang sama dengan tahap pelatihan sistem JST. Sistem JST yang digunakan pada proses analisis utama ini telah memiliki bobot dan bias masing-masing, hasil dari tahap pelatihan JST. Komponen masukan dari sistem JST ini adalah fitur-fitur tekstur hasil seleksi menggunakan koefisien korelasi. Sedangkan komponen keluaran sistem adalah suatu nilai parameter yang dapat merepresentasikan kondisi tekstur kulit, baik pada saat sebelum maupun sesudah diberikan moisturizer. Fokus utama dalam proses analisis ini adalah mengamati perubahan nilai-nilai parameter tekstur kulit, baik sebelum maupun setelah diberikan moisturizer. Tujuan dari sistem JST ini adalah untuk menghasilkan nilai-nilai parameter yang dianggap dapat merepresentasikan kondisi tekstur kulit, berdasarkan hasil proses ekstraksi fitur dari gambar citra dijital 2D replika kulit. Pada bagian
40
berikutnya akan dijelaskan mengenai tahap-tahap proses analisis citra secara lebih mendetail.
3.3. Implementasi Sistem
Pada sub-bab ini akan dijelaskan secara terperinci mengenai komponenkomponen perancangan sistem dan penjelasan mengenai algoritma-algoritma pengolahan citra yang digunakan dalam penelitian tugas akhir ini. Sistem ini dirancang dan dijalankan menggunakan alat bantu perangkat lunak MATLAB 7.0.
3.3.1. Informasi dari Pihak PT. Martina Berto
Proses analisis tekstur kulit dilakukan untuk menentukan apakah moisturizer yang digunakan oleh subyek dapat memperbaiki struktur kulit dan memperhalus teksturnya. Hasil tersebut dapat diamati dengan adanya perubahan nilai parameter pengukuran citra replika kulit, pada saat sebelum dan setelah diberikan
moisturizer. Untuk mendapatkan hasil yang optimal dan dapat diamati, maka tindakan tersebut memerlukan periode waktu tertentu dan dalam kasus ini, periode waktu yang digunakan adalah empat minggu. Periode waktu tersebut dipilih sebagai waktu yang cukup baik untuk dilakukan pengamatan. Menurut pengalaman, periode dua minggu belum tentu digunakan karena dalam jangka waktu dua minggu, perubahan yang terjadi tidak terlalu signifikan sehingga agak sulit untuk dilihat perbedaannya. Pertama-tama, keadaan kulit sebelum diberikan moisturizer akan diamati dengan membuat replika kulit menggunakan bahan dasar silikon (periode ini dianggap sebagai waktu referensi, T = 0 minggu). Setelah itu, kulit subyek akan diberikan
suatu
jenis
moisturizer
tertentu
yang
belum
diuji
effikasi/kemanjurannya sebagai tahap pengujian. Pemakaian tersebut akan dilakukan selama periode waktu pengamatan, yaitu empat minggu. Harapannya, penggunaan moisturizer tersebut dapat memberikan hasil yang positif bagi kulit subyek, yaitu memperbaiki struktur permukaan kulit. Setelah periode empat minggu, dari kulit subyek tersebut akan dibuat suatu replika kulit kembali, yang merepresentasikan keadaan kulit setelah diberikan moisturizer (T = 4 minggu).
41
Sampai pada tahap ini, proses pengukuran secara kualitatif sangat kulit dilakukan, karena tekstur kulit manusia termasuk tekstur mikro dan tidak dapat dilihat secara langsung tanpa alat bantu. Gambar 3.5 di bawah ini akan memberikan suatu gambaran mengenai tahap-tahap pembuatan replika kulit yang akan digunakan dalam penelitian tugas akhir ini.
(a)
(f)
(b)
(c)
(d)
(g)
(h)
(e)
(i)
Gambar 3. 5. Proses pembuatan replika kulit (Sumber: Information and Operating Instruction)
Walaupun proses pembuatan replika sudah dilakukan dengan baik, pada kenyataannya, masih ada beberapa kendala pada replika kulit tersebut, misalnya:
•
Pada replika kulit masih sering ditemukan banyak gelembung udara. Hal ini disebabkan proses pencampuran silikon pada alat penghisap yang sangat sulit. Walaupun proses pengadukan silikon sudah dilakukan dengan baik, tetapi pada proses penghisapannya, masih terdapat gelembung udara. Hal ini dapat mengakibatkan data yang didapat menjadi tidak akurat, karena gelembung udara memiliki warna yang berbeda dengan warna daerah sekitarnya.
•
Ketebalan silikon yang terdapat pada replika kulit sering tidak merata, ada bagian yang terlalu tebal dan ada juga bagian yang tipis. Hal ini akan mengakibatkan perbedaan kedalaman tekstur yang mungkin nantinya akan berakibat juga pada perbedaan intensitas warna citra. Penyebab dari perbedaan ketebalan ini mungkin berasal dari volume pengambilan campuran silikon setelah proses pengadukan yang kurang tepat dan penekanan yang terlalu keras pada saat silikon ditempelkan pada permukaan kulit.
42
Kendala-kendala tersebut akan menyebabkan hasil pengukuran menjadi tidak akurat. Replika kulit tersebut akan digunakan bersama dengan alat Skin Visiometer
SV-600. Berikut akan dijelaskan secara singkat mengenai cara kerja alat tersebut.
Gambar 3. 6. Alat Skin Visiometer SV-600 (Sumber: Information and Operating Instruction)
Prinsip pengukuran yang digunakan dalam alat Skin Visiometer SV-600 adalah transmisi cahaya pada replika silikon yang sangat tipis. Replika kulit ditempatkan pada bingkai khusus dan dimasukkan ke dalam alat dimana sumber cahaya akan memberikan berkas sinar paralel dan diterima oleh sebuah sensor video CCD-Camera 640 x 480 piksel. Berkas cahaya menembus replika kulit dan diserap berdasarkan tingkat ketebalan silikon pada replika kulit tersebut. Cetakan tekstur kulit yang terdapat pada replika tersebut menunjukkan dua hal, yaitu bagian lembah yang merepresentasikan permukaan kulit dan bagian gunung yang merepresentasikan kedalaman kerutan kulit (karena campuran silikon akan lebih tebal pada tekstur kulit yang lebih dalam). Gambar 3.7 berikut ini dapat menunjukkan ilustrasi cara kerja alat Skin Visiometer SV-600:
Gambar 3. 7. Prinsip pengukuran alat Skin Visiometer SV-600 (Sumber: Information and Operating Instruction)
43
Pada komponen penerima (monitor komputer), proses visualisasi dilakukan oleh bagian video digitalization. Ada enam buah parameter yang menjadi petunjuk bagi operator dalam menentukan kondisi tekstur kulit, dimana parameter-parameter tersebut merupakan hasil analisis menggunakan perangkat lunak di PT. Martina Berto. Akan tetapi, dari enam parameter tersebut, parameter yang menjadi acuan utama dalam proses analisis hanya ada dua, yaitu R2 (maximum roughness) dan R4 (smoothness depth). Sebagai informasi dalam melakukan proses analisis, suatu sampel kulit dikatakan memiliki karakteristik yang lebih baik daripada keadaan sebelumnya (moisturizer dapat bekerja dengan baik) jika nilai parameter R2 setelah diberikan moisturizer lebih kecil dibandingkan nilai R2 sebelum diberikan moisturizer. Keadaan tersebut juga berlaku bagi parameter R4, yaitu kondisi kulit dinilai membaik jika nilai R4 setelah diberikan moisturizer lebih kecil daripada nilai R4 sebelum diberikan
moisturizer. Salah satu kendala utama yang dihadapi berkaitan dengan alat ini adalah alat tersebut memiliki harga yang cukup mahal. Pada proses pembeliannya, alat dan perangkat lunaknya dijual beserta bagian CPU (Central Processing Unit) dari komputer yang akan digunakan, sehingga tidak mudah untuk dilakukan proses upgrade, baik untuk komponen perangkat keras maupun perangkat lunaknya. Salah satu ukuran yang dapat dijadikan acuan dalam menentukan kondisi kesehatan/kualitas kulit manusia adalah dengan mengetahui seberapa dalam kerutan kulit tersebut. Seperti sudah dijelaskan di atas, bahwa replika kulit yang terbentuk memiliki bentuk menyerupai gunung dan lembah, dimana ketinggian bagian gunung menunjukkan kedalaman kerutan kulit. Pengukuran yang dilakukan di PT. Martina Berto menggunakan pendekatan secara 3D, dimana informasi mengenai kedalaman kerut dapat diketahui (selain informasi spasial dari citra dijital). Sedangkan untuk penelitian tugas akhir ini, informasi kedalaman (depth) dari kerutan kulit tidak dapat diketahui, karena citra dijital yang digunakan merupakan suatu bentuk sinyal 2D, yang hanya memiliki informasi spasial saja. Dengan kata lain, penelitian tugas akhir ini juga bertujuan untuk melakukan penyederhanaan proses analisis citra tekstur kulit, yang semula menggunakan
44
pendekatan 3D menjadi proses dengan pendekatan 2D (hanya membutuhkan informasi spasial saja).
3.3.2. Proses Akuisisi Citra Dijital Replika Kulit
Setelah mendapatkan replika kulit melalui proses-proses di atas, maka langkah selanjutnya adalah mendapatkan citra dijital dari replika tersebut untuk proses analisis menggunakan komputer. Replika kulit tersebut akan discan menggunakan perangkat keras CanoScan 9900F dengan resolusi 200 dpi dan disimpan dalam format BMP (Windows Bitmap) serta bersifat citra RGB (Red-
Green-Blue). Perangkat keras tersebut digunakan dengan asumsi bahwa proses pencahayaan dari scanner dianggap homogen, sehingga cahaya yang diterima oleh setiap daerah replika kulit akan merata. Berikut adalah contoh citra dijital yang didapatkan:
Gambar 3. 8. Contoh citra dijital replika kulit
Adapun beberapa kendala yang sudah dijelaskan pada bagian sebelumnya, yaitu masalah adanya gelembung-gelembung udara dan ketebalan silikon yang berbeda-beda. Untuk mengatasi masalah tersebut, serupa dengan langkah yang dilakukan di PT. Martina Berto, maka dipilih tiga daerah dari citra replika silikon biru tersebut yang tidak mengandung gelembung udara sama sekali dan dianggap homogen (nilai intensitas citra tidak berbeda jauh). Proses ini dapat disebut dengan image cropping. Citra-citra hasil proses cropping tersebut akan dibentuk menjadi citra baru dengan resolusi 128 x 128 piksel, dengan format BMP dan
45
masih bersifat RGB. Diagram pada gambar 3.9 berikut ini akan menggambarkan proses tersebut, yang dilanjutkan dengan tahap pre-processing.
Gambar 3. 9. Diagram blok proses akuisisi citra dijital replika kulit
Pihak PT. Martina Berto memberikan bantuan berupa 40 buah replika kulit, dimana masing-masing replika tersebut memiliki informasi mengenai inisial nama subyek, periode waktu pengukuran, bagian tubuh mana yang dijadikan daerah pengukuran (misal tangan kanan atau kiri), dan mungkin sedikit informasi mengenai jenis kosmetik yang diberikan pada subyek tersebut. Jika setiap citra dijital replika diambil tiga buah citra baru (melalui proses cropping), maka untuk data percobaan akan didapatkan sebanyak 120 citra tekstur kulit, yang dianggap saling independen (tidak bergantung pada citra-citra yang lain). Dalam melakukan proses analisis, maka gambar-gambar tersebut sebaiknya disusun sedemikian rupa berdasarkan nama subyek, periode pengukuran, dan lokasi pengukuran. Selain bertujuan untuk mempermudah proses analisis di komputer, tahap ini juga diperlukan untuk mengamati setiap perubahan yang ada pada setiap sampel kulit yang berasal dari subyek dan lokasi pengukuran yang sama, tetapi pada waktu periode pengukuran yang berbeda.
46
3.3.3. Tahap Pre-processing (Normalisasi Citra)
Proses ini dilakukan setelah mendapatkan citra-citra dijital replika kulit. Komponen input sistem adalah 120 citra dijital RGB tekstur kulit hasil proses
cropping dengan resolusi 128 x 128 piksel dalam format BMP. Proses preprocessing ini dilakukan karena citra-citra tersebut masih merupakan data mentah (raw data) yang langsung didapat dari perangkat keras scanner. Sebagai langkah awal, citra RGB replika kulit tersebut harus melalui proses normalisasi terlebih dahulu. Salah satu proses yang digunakan untuk menormalisasi citra, yaitu menggunakan algoritma RETINEX. Algoritma
RETINEX
akan
memisahkan
komponen
iluminasi
dan
krominansi dari suatu citra dan akan mengkompensasi pengaruh pencahayaan yang non-uniform. Algoritma RETINEX akan memberikan hasil-hasil berikut:
•
Dynamic range compression
•
Gambar menjadi lebih tajam, dimana bagian-bagian detail akan terlihat secara lebih jelas daripada sebelumnya.
•
Color constancy, yaitu suatu kemampuan untuk menghilangkan efek iluminasi dari citra keluaran.
Keluaran dari algoritma RETINEX masih berupa suatu citra RGB. Setelah proses menggunakan algoritma tersebut, citra keluaran akan diubah menjadi citra
grayscale 8 bit, dengan 256 tingkat keabu-abuan. Di dalam perangkat lunak MATLAB 7.0, citra grayscale akan membentuk suatu matriks dengan ukuran 128 x 128, dimana nilai matriks yang bersangkutan merupakan nilai intensitas keabuabuan citra. Proses-proses tersebut dilakukan untuk mengatasi masalah yang berhubungan dengan kontras, karena ada beberapa bagian dari replika kulit yang agak tebal sehingga citra grayscalenya menjadi sedikit lebih gelap dibandingkan dengan daerah sekitarnya, yang bukan merupakan daerah kerutan tekstur kulit (daerah kerutan kulit seharusnya berwarna lebih gelap daripada sekitarnya). Gambar 3.10 di bawah ini akan menunjukkan proses normalisasi citra RGB replika kulit menggunakan algoritma RETINEX dan dilanjutkan dengan proses pengubahan citra RGB tersebut menjadi citra grayscale 8 bit.
47
Gambar 3. 10. Proses normalisasi citra (pre-processing)
3.3.4. Proses Ekstraksi Fitur
Penelitian tugas akhir ini lebih menitikberatkan pada pencarian fitur-fitur yang dapat merepresentasikan perbedaan kondisi tekstur kulit menggunakan pendekatan statistik orde kedua. Hal tersebut didasarkan pada kenyataan bahwa citra tekstural dengan ciri statistik orde kedua yang berbeda, akan dengan mudah dibedakan satu sama lain. Untuk melakukan proses analisis menggunakan pendekatan statistik orde kedua, maka diperlukan suatu hubungan ketetanggaan dari piksel-piksel dalam citra grayscale. Hubungan semacam itu sering dinamakan dengan sifat kookurensi. Penjelasan lebih lanjut mengenai pendekatan statistik orde kedua telah dipaparkan secara detail pada bab dasar teori. Berikut adalah contoh singkat mengenai proses pembentukan matriks kookurensi simetrik dari suatu citra:
Gambar 3. 11. Contoh citra dengan empat tingkat nilai keabu-abuan
Misalkan ada suatu citra sederhana, seperti pada gambar 3.11 di atas dengan dimensi 4 x 4 piksel dengan empat tingkat nilai derajat keabu-abuan (dengan
48
jangkauan nilai antara 0–3). Dari nilai-nilai intensitas tersebut akan dibentuk suatu matriks kookurensi dengan jarak antar piksel (d) sebesar satu piksel dan empat buah orientasi sudut, yaitu 0o, 45o, 90o, dan 135o.
Gambar 3. 12. Pengorganisasian matriks kookurensi
Gambar 3.12 di atas ini merupakan ilustrasi bagaimana penempatan nilai ketetanggaan dari setiap piksel citra. Angka 0–3 menunjukkan jumlah tingkat nilai derajat keabu-abuan, dimana bagian yang dianggap sebagai nilai acuan adalah komponen baris (horisontal) dan nilai piksel tetangga adalah komponen kolom (vertikal). Misalnya untuk elemen #(2,1) berarti ada berapa piksel tetangga dengan nilai piksel 1 di sekeliling piksel dengan nilai 2? Untuk penelitian ini, digunakan jarak antar piksel sebesar satu piksel saja, karena dimensi citra masukan tidak terlalu besar, yaitu hanya 128 x 128 piksel.
(a)
(b)
(c)
(d)
Gambar 3. 13. Hasil matriks kookurensi dengan jarak d = 1: (a) arah 0o; (b) arah 45o; (c) arah 90o; (d) arah 135o
Selain membutuhkan jarak antar piksel, maka dibutuhkan juga empat orientasi sudut, yaitu 0o, 45o, 90o, dan 135o. Empat orientasi tersebut akan
49
menghasilkan empat buah matriks kookurensi yang mungkin berbeda, tergantung nilai intensitas setiap piksel citra yang saling bertetangga. Matriks hasil dari ilustrasi di atas ditunjukkan melalui gambar 3.13. Dari gambar tersebut terlihat bahwa matriks kookurensi yang dibentuk bersifat simetrik, dimana pada matriks citra yang bersangkutan dilakukan suatu pengamatan pada orientasi sudut θ dan (180-θ) dari piksel acuan citra. Biasanya untuk proses perhitungan lebih lanjut, yang diperlukan dari nilainilai matriks kookurensi bukanlah jumlah piksel tetangga, melainkan adalah suatu nilai probabilitasnya. Matriks probabilitas kookurensi dapat dibentuk dengan membagi nilai–nilai matriks kookurensi dengan jumlah total kemungkinan kejadian pada matriks tersebut. Persamaannya ditunjukkan sebagai berikut: Ng Ng
R = ∑ ∑ P(i, j )
(3.1)
i =1 j =1
p(i, j ) =
P(i, j ) R
(3.2)
dimana Ng merupakan jumlah tingkatan nilai derajat keabuan (graylevel), P(i,j) adalah matriks kookurensi, R adalah jumlah total kemungkinan kejadian ketetanggaan di dalam matriks, dan p(i,j) merupakan probabilitas matriks kookurensi yang nantinya akan digunakan untuk proses analisis citra. Setelah mendapatkan empat buah matriks kookurensi tersebut, matriksmatriks tersebut akan dirata–ratakan terlebih dahulu sebelum menuju proses analisis selanjutnya. Jika tahap tersebut telah dilakukan, maka langkah selanjutnya adalah proses ekstraksi fitur statistik orde kedua. Fitur-fitur yang akan digunakan pada penelitian ini adalah fitur-fitur yang didefinisikan oleh Haralick [1]. Fitur Haralick tersebut merupakan salah satu fitur tekstural yang telah banyak digunakan oleh para ahli untuk melakukan proses analisis tekstur [2]. Untuk memudahkan proses ekstraksi fitur Haralick, maka sebaiknya komponenkomponen pendukung proses perhitungan dapat ditentukan terlebih dahulu. Adapun komponen-komponen pendukung tersebut adalah sebagai berikut: Ng
px (i ) = ∑ p(i, j ) j =1
50
(3.3)
Ng
p y ( j ) = ∑ p (i, j )
(3.4)
i =1
Ng Ng
px + y (k ) = ∑ ∑ p(i, j ), dimana i + j = k dan k = 2, 3, K , 2 Ng
(3.5)
i =1 j =1
Ng Ng
p x − y (k ) = ∑∑ p(i, j ), dimana i − j = k dan k = 0,1,K , Ng − 1 (3.6) i =1 j =1
Ng Ng
HXY1 = −∑ ∑ p(i, j ) log( px (i ) p y ( j ))
(3.7)
HXY 2 = −∑∑ p x (i ) p y ( j ) log( p x (i ) p y ( j ))
(3.8)
i =1 j =1 Ng Ng
i =1 j =1
dimana p(i,j) menyatakan nilai pada baris i dan kolom j pada matriks probabilitas kookurensi. Setelah menghitung beberapa komponen pendukung di atas, maka langkah selanjutnya adalah menentukan fitur-fitur tekstur Haralick dari matriks probabilitas kookurensi tersebut, untuk setiap citra sampel. Fitur-fitur tekstur Haralick tersebut antara lain: 1. Angular Second Moment (ASM) Ng Ng
f1 = ∑∑ ( p(i, j ))
2
(3.9)
i =1 j =1
Fitur ini mengukur sifat kehalusan (smoothness) dan sifat homogenitas dari suatu citra. 2. Contrast f2 =
Ng −1
∑k
2
k =0
p x− y (k )
(3.10)
Fitur ini akan mengukur sifat-sifat kontras (variasi lokal keabu-abuan) dari suatu citra. 3. Correlation Ng Ng
f3 =
∑∑ (i j )p(i, j ) − μ μ x
i =1 j =1
σ xσ y
51
y
(3.11)
4. Variance Ng Ng
f 4 = ∑∑ (i − μ x )( j − μ y ) p(i, j )
(3.12)
i =1 j =1
5. Homogeneity / IDM p(i, j ) 2 j =1 1 + (i − j )
Ng Ng
f 5 = ∑∑ i =1
(3.13)
6. Sum Average 2 Ng
f 6 = ∑ i p x + y (i )
(3.14)
i=2
7. Sum Variance 2 Ng
f 7 = ∑ (i − f 8 ) p x+ y (i ) 2
i =2
(3.15)
8. Sum Entropy f 8 = − ∑ p x+ y (i ) log( p x+ y (i )) 2 Ng
(3.16)
i =2
9. Entropi Ng Ng
f 9 = −∑∑ p (i, j ) log( p(i, j ))
(3.17)
i =1 j =1
10. Difference Variance
f10 = variansi dari p x − y
(3.18)
11. Difference Entropy Ng −1
f11 = − ∑ p x− y (i ) log( p x− y (i ))
(3.19)
i =0
12. Information Measures of Correlation I
f12 =
f 9 − HXY1 , max(HX , HY )
(3.20)
dimana HX dan HY merupakan entropi dari px dan py. 13. Information Measures of Correlation II
f13 = 1 − exp −2( HXY 2− f9 )
52
(3.21)
3.3.5. Tahap Perbandingan
Komponen masukan terdiri dari 120 citra tekstur kulit dan masing-masing citra tersebut akan dihitung nilai-nilai fitur tekstur Haralick, sebanyak 13 fitur. Nilai-nilai fitur tekstur akan disimpan dalam suatu matriks berukuran 120 x 13 elemen. Kemudian, fitur-fitur tersebut akan dibandingkan dengan parameter referensi yang didapatkan dari PT. Martina Berto. Parameter-parameter tersebut adalah R2 (maximum roughness) dan R4 (smoothness depth). Setiap replika kulit memiliki sepasang nilai R2 dan R4 dan dalam kasus ini, ketiga buah citra hasil proses cropping dari citra replika tersebut juga memiliki pasangan nilai yang sama. Asumsinya adalah bahwa setiap daerah pengukuran parameter dari suatu replika kulit yang sama akan memiliki sifat yang homogen. Pasangan nilai R2 dan R4 tersebut akan disimpan dalam sebuah matriks berukuran 120 x 2 elemen. Proses perbandingan yang dilakukan menggunakan metode koefisien korelasi. Penghitungan koefisien korelasi tersebut dilakukan menggunakan fungsi internal MATLAB. Dalam proses perhitungan ini, setiap parameter referensi R2 dan R4 sebaiknya digabungkan dengan matriks fitur tekstur Haralick, sehingga matriks yang digunakan akan menjadi 120 x 15 elemen. Perhitungan koefisien korelasi ini akan menghasilkan matriks dengan dimensi 15 x 15 elemen, yang merepresentasikan hubungan antara setiap fitur-fitur tekstur tersebut dengan parameter referensi. Korelasi merupakan suatu ukuran statistik yang menunjukkan seberapa dekat hubungan antara dua kelas yang berbeda atau lebih. Nilai korelasi yang dihasilkan akan memiliki jangkauan nilai antara -1 s/d +1, dimana nilai -1 menunjukkan hasil korelasi negatif, nilai +1 menunjukkan korelasi positif, dan nilai 0 menunjukkan tidak ada korelasi apapun (perubahan nilai dari suatu kelas tidak akan memberikan dampak apapun terhadap kelas lainnya). Matriks korelasi ini akan menjadi keluaran dari blok sistem ini, yang selanjutnya akan digunakan sebagai masukan bagi proses seleksi fitur.
53
3.3.6. Proses Seleksi Fitur
Setelah melakukan proses perhitungan koefisien korelasi, maka hasil yang didapat adalah sebuah matriks korelasi berukuran 15 x 15 elemen. Tujuan dari penelitian tugas akhir ini adalah untuk menentukan suatu parameter yang dapat merepresentasikan kondisi/karakteristik kulit subyek, baik dalam periode sebelum maupun sesudah diberikan moisturizer tertentu. Pihak PT. Martina Berto telah memberikan suatu petunjuk mengenai karakteristik setiap sampel replika kulit, yaitu melalui parameter referensi R2 dan R4. Dari 13 fitur tekstur yang diproses pada tahap sebelumnya untuk setiap citra dijital replika kulit, maka akan ditentukan beberapa fitur yang memiliki koefisien korelasi terbesar dengan parameter R2 dan R4 tersebut. Seperti telah dijelaskan pada bagian awal, dimana kondisi tekstur suatu kulit dikatakan membaik jika nilai parameter R2 dan R4 memiliki gradien negatif untuk setiap sampel kulit yang berasal dari subyek dan lokasi pengukuran yang sama (nilai R2 dan R4 setelah diberikan moisturizer akan lebih kecil daripada nilai-nilai pada keadaan sebelumnya). Komponen masukan dari blok sistem ini adalah matriks korelasi dengan dimensi 15 x 15 elemen. Di dalam proses seleksi fitur ini, maka dipilih sebanyak tiga buah fitur tekstur yang memiliki nilai koefisien korelasi terbesar terhadap masing-masing nilai R2 dan R4. Ketiga fitur hasil seleksi ini akan menjadi komponen masukan untuk sistem jaringan saraf tiruan (JST), baik dalam proses pelatihan bobot-bobot neuron maupun dalam proses analisis utama dengan menggunakan bobot yang telah didapatkan dari tahap pelatihan JST. 3.3.7. Proses Pelatihan Jaringan Saraf Tiruan (JST)
Pada bagian ini akan dijelaskan mengenai proses pelatihan dari sistem jaringan saraf tiruan (JST). Dari 120 citra dijital replika kulit, akan dipilih sebanyak 100 citra dijital yang akan digunakan untuk proses pelatihan sistem JST. Fitur-fitur yang merupakan hasil seleksi fitur pada bagian sebelumnya akan menjadi komponen input dari sistem JST. Tujuan penggunaan sistem JST ini adalah untuk membuat suatu model yang dapat menghasilkan nilai parameter yang dapat merepresentasikan kondisi kulit dari setiap fitur hasil proses ekstraksi
54
fitur citra tekstural. Dalam kasus ini, sistem JST digunakan untuk menghasilkan suatu nilai yang dianggap mewakili parameter R2 dan R4, dengan menggunakan fitur-fitur tekstural. Sistem pelatihan JST yang dirancang akan menggunakan algoritma propagasi balik (back propagation). Ide dari proses pembentukan sistem JST adalah penggunaan pasangan parameter R2 dan R4 secara bersamaan maupun penggunaan nilai masing-masing parameter R2 maupun R4 secara individual. Oleh karena itu, sistem JST ini terdiri dari dua model utama, yaitu pertama dengan dua keluaran dan kedua dengan satu keluaran. Diagram-diagram proses pelatihan JST tersebut akan ditunjukkan dengan gambar sebagai berikut:
Gambar 3. 14. Diagram sistem pelatihan JST metode propagasi balik dengan dua keluaran
Gambar 3. 15. Diagram sistem pelatihan JST metode propagasi balik dengan satu keluaran
55
Baik pada gambar 3.14 dan 3.15 terlihat bahwa sistem JST yang dirancang (baik dalam proses pelatihan maupun dalam sistem utama nanti) membutuhkan tiga buah masukan, yang merupakan fitur-fitur hasil seleksi. Khusus untuk proses pelatihan JST ini, komponen data latih berasal dari kombinasi nilai parameter R2 maupun R4. Untuk model JST utama yang pertama, data latih dibentuk dari sekelompok pasangan nilai R2 dan R4, sedangkan untuk model yang kedua, data latih dibentuk dari kelompok nilai R2 saja ataupun nilai R4 saja (proses pelatihan secara individual). Untuk model JST utama yang kedua, tahap pelatihan tetap menggunakan diagram sistem pelatihan yang sama (gambar 3.15) untuk setiap pasangan data latih, baik untuk R2 ataupun R4. Berikut ini akan dijelaskan mengenai pembentukkan kelompok-kelompok data latih secara umum (berlaku untuk model utama pertama maupun kedua). Pertama-tama, komponen citra latih yang menjadi acuan dalam proses pelatihan ini dipilih berdasarkan nilai parameter R2 dan R4 dari masing-masing sampel. Karena elemen-elemen pelatihan sebaiknya mencakup semua karakteristik dari citra masukan pada proses pengolahan utama, maka pemilihan citra latih tidak dilakukan secara acak. Salah satu cara yang ditempuh untuk model pertama adalah dengan mengurutkan nilai jumlah antara R2 dan R4 dari nilai terkecil sampai terbesar dan mengambil nilainya dengan posisi bergantian, sebanyak 100 buah citra. Sedangkan untuk model kedua, caranya adalah dengan mengurutkan baik nilai R2 maupun nilai R4 dari nilai terkecil sampai terbesar dan mengambil nilainya dengan posisi bergantian, juga sebanyak 100 buah citra. Dengan cara seperti itu, maka diharapkan citra latih yang akan digunakan memiliki semua karakteristik citra dijital replika kulit. Proses tersebut akan menghasilkan sebuah matriks berukuran 100 x 2 untuk model pertama dan matriks berukuran 100 x 1 untuk model kedua, yang berisi nilai parameter referensi yang sudah diurutkan untuk dijadikan sebagai data latih. Agar matriks tersebut dapat digunakan sebagai komponen data latih dalam proses pelatihan JST, maka matriks tersebut harus ditranspose terlebih dahulu, dimana bagian baris matriks akan menjadi kolom matriks dan sebaliknya.
56
Untuk komponen masukan, dimana sebelumnya telah didapatkan suatu matriks yang berisi fitur tekstur Haralick untuk 120 citra dijital dengan dimensi 120 x 13, maka proses seleksi fitur akan menyebabkan berkurangnya dimensi matriks tersebut menjadi 120 x 3, dimana lebar tiga kolom menunjukkan jumlah fitur tekstur hasil proses seleksi fitur. Dalam proses pelatihan ini, jumlah citra yang dibutuhkan adalah sebanyak 100 buah citra dijital. Pemilihan citra latih tersebut ditentukan menurut konfigurasi dari masing-masing model JST utama, yaitu berdasarkan pengurutan atas nilai parameter R2 dan R4, baik secara berpasangan maupun individual. Dari urutan citra-citra tersebut akan diperoleh suatu kelompok nilai fitur tekstur, dalam posisi horisontal (bagian baris dari matriks fitur tekstur). Setelah proses penghitungan nilai fitur tekstur dari citra-citra latih yang telah ditentukan, maka akan dihasilkan sebuah matriks fitur tekstur dengan dimensi 100 x 3 elemen. Untuk menjadikan matriks tersebut sebagai masukan dalam sistem pelatihan JST, maka matriks tersebut perlu ditranspose terlebih dahulu, sehingga pada akhirnya dimensi matriks menjadi 3 x 100 elemen. Dari perlakuan yang diberikan terhadap matriks fitur tekstur dan juga matriks parameter data latih, setiap kolom dari matriks masukan akan berkorespondensi dengan kolom matriks data latih. Hal tersebut berarti untuk sebuah citra yang sama, maka data fitur tekstur dan data parameter referensi, yang disimpan pada arah vertikal (bagian kolom dari masing-masing matriks, setelah ditranpose), akan memasuki sistem pelatihan secara bersamaan. Proses tersebut akan menyebabkan data fitur tekstur akan dibentuk sedemikian rupa sehingga menyerupai komponen data latih, yaitu nilai-nilai data yang berasal dari parameter referensi. Sistem JST yang akan dirancang (baik model pertama maupun kedua) terdiri dari beberapa lapisan, yaitu layer masukan, bagian hidden layer sebanyak satu layer, dan layer keluaran. Proses untuk menentukan konfigurasi/model JST yang sesuai dalam penelitian ini akan dilakukan dengan membuat suatu variasi dari jumlah neuron yang berada di bagian hidden layer.
57
Ketiga buah masukan akan dikalikan dengan bobotnya masing-masing (weight) dan dijumlahkan dengan bias dari setiap bagian summing junction. Jika diambil contoh dengan jumlah neuron hidden layer sebanyak dua neuron untuk model pertama (dua keluaran), maka persamaan yang menghasilkan keluaran dari bagian summing junction adalah sebagai berikut: A1 = iw11 * masukan1 + iw12 * masukan 2 + iw13 * masukan 3 + b1 (1,1)
A2 = iw21 * masukan1 + iw22 * masukan 2 + iw23 * masukan 3 + b1 (2,1) Nilai-nilai A1 dan A2 tersebut akan menjadi masukan di bagian fungsi aktivasi. Jenis fungsi aktivasi yang digunakan dalam penelitian ini adalah fungsi logaritmik sigmoid. Persamaan fungsi sigmoid tersebut adalah sebagai berikut: F (x ) =
1 1 + exp(− x )
(3.22)
Nilai keluaran dari fungsi aktivasi dinotasikan dengan A11 dan A21. Setelah mendapatkan dua variabel tersebut, maka langkah selanjutnya adalah menghitung nilai B1 dan B2, yang merupakan keluaran dari bagian summing junction pada layer keluaran. Persamaan dari B1 dan B2 adalah sebagai berikut: B1 = lw11 * A11 + lw12 * A21 + b2 (1,1)
B 2 = lw21 * A11 + lw22 * A21 + b2 (2,1) Komponen B1 dan B2 ini menjadi masukan untuk fungsi aktivasi berikutnya, yang dinotasikan dengan B12 dan B22 dan merupakan nilai keluaran dari sistem JST. Karena data latih yang digunakan pada proses pelatihan ini menggunakan dua variabel, yaitu R2 dan R4, maka kedua keluaran B12 dan B22 akan dibandingkan dengan nilai data latih, yaitu nilai keluaran yang diinginkan. Perbedaan dari kedua nilai ini menjadi nilai kesalahan (error). Setelah mendapatkan nilai kesalahan tersebut, maka proses pelatihan akan dilakukan menggunakan metode propagasi balik. Perubahan komponenkomponen bobot dan bias akan dilakukan dalam beberapa pengulangan (epoch), yang bertujuan untuk meminimalkan nilai kesalahan yang terjadi. Jumlah pengulangan yang akan digunakan dalam proses pelatihan adalah sebanyak 10.000 epoch, untuk kedua model JST utama di atas. Berdasarkan keterangan yang telah dipaparkan pada bab 2, mengenai perubahan bobot dan bias dalam
58
sistem JST, maka persamaan yang diperlukan untuk mengubah komponenkomponen tersebut adalah: Δw = −η
∂Error ∂w
(3.23)
Δb = −η
∂Error ∂b
(3.24)
dimana Error = (Nilai yang diinginkan – Nilai keluaran aktual)2. Proses pelatihan ini akan menghasilkan nilai-nilai bobot setiap hubungan neuron dan nilai bias di setiap bagian summing junction. Nilai-nilai tersebut merupakan hasil dari pelatihan yang dilakukan terhadap variasi jumlah neuron pada hidden layer. Setiap jumlah neuron yang digunakan akan menghasilkan nilai bobot dan bias yang berbeda. Akan tetapi, proses pencarian nilai bobot dan bias dibatasi untuk beberapa pengulangan saja sampai mendapatkan nilai performance terkecil, dimana perbedaannya dengan suatu nilai tujuan dapat dianggap cukup kecil. Hasil akhir dari proses pelatihan ini adalah setiap variasi jumlah neuron sistem JST akan mendapatkan satu kelompok nilai bobot dan bias, yaitu iw, lw, b1, dan b2, dimana nilai-nilai tersebut akan digunakan untuk proses analisis citra menggunakan sistem JST. Proses pelatihan sistem JST ini menggunakan bantuan toolbox yang telah terdapat di dalam perangkat lunak MATLAB.
3.3.8. Proses Analisis Citra Menggunakan Jaringan Saraf Tiruan
Proses analisis citra tekstur kulit akan dilakukan menggunakan sistem JST dengan algoritma feed-forward back propagation. Sistem JST yang dirancang memiliki konfigurasi yang sama dengan sistem JST di dalam proses pelatihan, yaitu memiliki layer masukan dengan tiga buah masukan, layer keluaran dengan sebuah keluaran, dan hidden layer sebanyak satu lapis. Tujuan dari penggunaan sistem JST ini adalah untuk mendapatkan suatu nilai keluaran dari citra replika kulit yang memiliki kesalahan/perbedaan terkecil terhadap nilai parameter referensi untuk setiap sampel. Kesalahan model ditentukan dengan mencari nilai MSE (Mean Squared Error). Diagram blok dari sistem JST yang digunakan
59
dalam penelitian ini ditunjukkan dengan gambar 3.16 (model pertama) dan gambar 3.17 (model kedua) di bawah ini.
Gambar 3. 16. Diagram sistem JST algoritma feed-forward back propagation model pertama
Gambar 3. 17. Diagram sistem JST algoritma feed-forward back propagation model kedua
Seperti telah dijelaskan sebelumnya bahwa sistem JST ini memiliki konfigurasi yang hampir sama dengan sistem JST pada proses pelatihan, dimana komponen masukan merupakan fitur-fitur tekstur hasil seleksi dan komponen keluaran merupakan parameter tekstur kulit yang diharapkan dapat memberikan suatu deskripsi mengenai karakteristik tekstur kulit. Komponen masukan dan
60
komponen keluaran dari sistem JST ini merupakan suatu bilangan numerik. Diagram pada gambar 3.16 dan 3.17 di atas hanya merupakan salah satu bagian saja dari keseluruhan sistem analisis citra yang digunakan dalam penelitian tugas akhir ini.
3.4. Ringkasan Sistem Analisis Citra
Pada sub-bab ini akan diberikan suatu ringkasan secara menyeluruh dari sistem analisis citra yang dijelaskan pada bab-bab sebelumnya. Tahap pertama yang dilakukan adalah proses akuisisi citra dijital yang berasal dari replika kulit. Proses akuisisi citra ini akan menghasilkan citra dijital tekstur kulit yang akan digunakan dalam tahap selanjutnya.
Gambar 3. 18. Proses akuisisi citra dijital tekstur kulit
Setelah proses akuisisi citra (dilanjutkan dengan tahap pre-processing), maka citra dijital tersebut akan digunakan dalam proses ekstraksi fitur tekstur Haralick [1]. Dengan menggunakan perangkat lunak MATLAB, beberapa fitur tekstur Haralick akan dihitung dari setiap citra tersebut. Setelah tahap ekstraksi fitur, maka langkah selanjutnya adalah menghitung korelasi dari setiap fitur tekstur tersebut terhadap parameter referensi yang didapatkan dari PT. Martina Berto (tahap perbandingan).
61
Gambar 3. 19. Diagram blok proses analisis citra secara sederhana
Proses perbandingan menggunakan korelasi bertujuan untuk mengetahui bagaimana hubungan antara fitur tekstur yang dihitung dengan parameter referensi R2 dan R4. Setelah menghitung koefisien korelasi dari fitur-fitur tersebut, maka langkah selanjutnya melakukan proses seleksi fitur berdasarkan nilai koefisien korelasi terbesar. Tahap ini akan mengambil tiga buah fitur untuk masing-masing parameter referensi R2 dan R4. Proses seleksi fitur bertujuan untuk menentukan fitur-fitur mana yang dapat merepresentasikan kedua parameter referensi tersebut, karena ada kemungkinan semua fitur tekstur Haralick belum tentu dapat merepresentasikan karakteristik tekstur kulit dengan baik. Tiga buah fitur hasil seleksi akan menjadi komponen masukan dalam sistem JST, baik untuk proses pelatihan JST maupun sistem JST yang akan digunakan dalam proses analisis citra tekstur kulit. Perbedaan antara proses pelatihan dan proses analisis adalah pada proses pelatihan citra replika kulit diurutkan menurut konfigurasi nilai R2 dan R4-nya, sedangkan pada proses analisis citra replika tidak perlu diurutkan, tetapi hanya menggunakan susunan citra replika yang telah ada sebelumnya. Pelatihan JST bertujuan untuk menentukan bobot-bobot hubungan neuron beserta komponen biasnya, berdasarkan nilai-nilai parameter referensi. Beberapa model JST akan diujicoba dengan melakukan variasi jumlah neuron pada hidden layer. Setelah menentukan bobot dan bias dari sistem JST, maka kelompok nilai bobot dan bias tersebut akan digunakan dalam sistem JST untuk analisis citra tekstur kulit. Pemilihan model JST yang terbaik didasarkan pada nilai MSE terkecil terhadap parameter referensi. Diharapkan model JST tersebut
62
akan dapat menghitung nilai-nilai parameter yang diperlukan untuk mengetahui karakteristik perubahan tekstur kulit, saat sebelum maupun setelah diberikan moisturizer.
63