Studi Aplikasi Photometric Stereo Untuk Rekonstruksi Tekstur Permukaan
Studi Aplikasi Photometric Stereo Untuk Rekonstruksi Tekstur Permukaan
TUGAS AKHIR
PROGRAM STUDI TEKNIK FISIKA FAKULTAS TEKNOLOGI INDUSTRI INSTITUT TEKNOLOGI BANDUNG 2012
TUGAS AKHIR
Diajukan untuk memenuhi syarat kelulusan tahap pendidikan strata-1 pada Program Studi Teknik Fisika - Institut Teknologi Bandung
Pembimbing : Dr. Suprijanto, S.T., M.T. Dr. Ir. Endang Juliastuti, M.S.
PROGRAM STUDI TEKNIK FISIKA FAKULTAS TEKNOLOGI INDUSTRI INSTITUT TEKNOLOGI BANDUNG 2012
LEMBAR PENGESAHAN Laporan Tugas Akhir TF-4009 Program Studi Teknik Fisika - Institut Teknologi Bandung
Pembimbing I
Pembimbing II
Dr.
Ir.
Endang
ABSTRAK
Permukaan benda menyimpan banyak informasi, salah satunya adalah tekstur. Tekstur merupakan perbedaan antara titik tertinggi dan terendah pada permukaan. Rekonstruksi terkstur permukaan telah banyak digunakan, baik dengan cara mengambil foto secara langsung, laser profilometry, dan photometric stereo. Penggunaan laser profilometry membutuhkan biaya yang cukup besar karena harga peralatannya mahal. Pada pengambilan foto secara langsung, profil kedalaman didapatkan dari refleksi intensitas yang sampai ke kamera. Pada photometric stereo profil kedalaman didapatkan dari gabungan permukaan normal k buah citra. Ide dari photometric stereo adalah merekam citra dari satu titik tertentu sementara orientasi dari sumber iluminasinya berbeda-beda. Photometric stereo hanya dapat merekonstruksi objek dengan permukaan lambert, yaitu permukaan yang dapat merefleksikan cahaya secara difus. Saat ini photometric stereo telah digunakan untuk merekonstruksi benda berukuran besar seperti wajah, sidik jari, dan bentuk topografi permukaan bumi. Pada penelitian ini, photometric stereo digunakaan untuk merekonstruksi objek berukuran kecil. Objek yang akan direkonstruksi berjumlah tujuh buah yang citranya diambil menggunakan mikroskop digital dengan empat orientasi sumber iluminasi bersudut 90 antar sumber. Dari keempat citra yang didapatkan akan dicari permukaan albedo dan normalnya. Permukaan normal ini akan digabungkan dan diolah kembali sehingga didapatkan profil kedalaman permukaan. Dari hasil yang didapatkan, photometric stereo dapat digunakan untuk merekonstruksi tekstur permukaan objek yang berukuran kecil. Photometric stereo memiliki akurasi yang lebih tinggi dibandingkan dengan rekonstruksi dari satu citra saja. Kata kunci Rekonstruksi citra, profil kedalaman, photometric stereo, permukaan lambert, albedo, permukaan normal.
ABSTRACT
An analysis for an object surface, one of them is texture, is often required for some needs, for example an analysis of wrinkle for skins, a quality of thin layers for materials and patterns of wood types. Texture is a difference between the highest and lowest points of a surface. A surface texture reconstruction has been conducted by directly taking photographs, profilometry laser, and photometric stereo. The use of profilometry laser requires a high cost due to its expensive tool. Another alternative is by directly taking images, in which the intensity profile is taken from the level of reflection intensity through a camera. To increase an accuracy from the direct method, photometric stereo will be applied to progress the intensity profile from a combination of k image normal surface. The idea of photometric stereo is to record an image from one certain point while its orientation of the illumination sources may be different. Photometric stereo can only reconstruct an object with a lambert surface,that is a surface reflecting light diffusively. Recently photometric stereo has been applied to reconstruct bigger size things, such as faces, finger prints, and topography of the earth surface. In this final project, photometric stereo is applied to reconstruct a small size object. There are about seven objects whose images are taken by using a digital microscope with four orientations of illumination source with a 90 angle from inter sources. From the four images taken, we may find the surface of albedo and its normal surface. The normal surface will be combined and reprocessed so it may result the intensity profile. It is concluded from the result that photometric stereo may be applied to reconstruct a surface texture of small objects. Photometric stereo has a higher accuracy than a reconstruction of merely one image. Key Words Reconstruction of image, intensity profile, photometric stereo, lambert surface, albedo, normal surface.
ii
KATA PENGANTAR
Puji dan syukur penulis haturkan kepada Tuhan atas berkat dan penyertaannya dalam pengerjaan dan penulisan laporan tugas akhir ini. Tugas akhir ini berisi tentang photometric stereo sebagai metode rekonstruksi citra. Saat ini rekonstruksi citra telah dilakukan dengan mengambil satu citra secara langsung, laser profilometry, dan photometric stereo.
Penggunaan laser profilometry memiliki beberapa kekurangan, antara lain harganya yang mahal dan objek yang akan di-scan harus berada dalam keadaan diam. Pada rekonstruksi dari satu citra saja, profil permukaan didapatkan dari refleksi intensitas yang sampai ke kamera. Sedangkan dengan photometric stereo, profil permukaan didapatkan dari gabungan permukaan normal k buah citra.
Photometric stereo merekam beberapa buah citra yang diambil dari satu titik dengan orientasi sumber iluminasi yang berbeda. Citra-citra ini akan diolah untuk mendapatkan albedo dan permukaan normalnya. Permukaan normal ini akan kembali diolah untuk merekonstruksi profil permukaannya. Photometric stereo hanya dapat digunakan untuk permukaan lambert (permukaan yang dapat merefleksikan cahaya secara difus).
Dalam kesempatan ini, penulis juga ingin mengucapkan terima kasih kepada : 1. Dr. Surijanto, S.T. M.T. dan Dr. Ir. Endang Juliastuti, M.S. sebagai dosen pembimbing yang telah banyak memberikan informasi, saran, dan komentar dalam pengerjaan tugas akhir ini. 2. Keluarga penulis yang telah memberikan dukungan secara penuh, baik dalam bentuk material, moral, dan doa. 3. Shani Hadiyanto Pribadi, Mas Darmo, Kak Widodo Dwi Putro, dan Kak Yuri Pangestu untuk semua masukan, pertanyaan, bantuan, dan dukungan yang diberikan selama ini. iii
4.
Teman-teman di Laboratorium Instrumentasi Medik dan teman-teman Teknik Fisika angkatan 2008 atas persahabatan dan rasa kekeluargaannya selama pembelajaran di ITB.
5.
Semua pihak yang telah membantu dalam penulisan tugas akhir ini yang tidak dapat penulis sebutkan satu per satu.
Dalam laporan tugas akhir ini masih terdapat banyak sekali kekurangan yang masih perlu dikembangkan dan diteliti lebih lanjut. Penulis menerima dengan senang hati segala kritik dan saran yang akan membuat penulis menjadi lebih baik di masa mendatang. Semoga tugas akhir ini dapat bermanfaat bagi penulis dan para pembaca sekalian. Terima kasih.
Penulis
iv
DAFTAR ISI Hal. ABSTRAK ABSTRACT KATA PENGANTAR DAFTAR ISI DAFTAR SIMBOL DAFTAR GAMBAR DAFTAR TABEL BAB 1 PENDAHULUAN 1.1. Latar Belakang 1.2. Permasalahan 1.3. Tujuan Penelitian 1.4. Ruang Lingkup Studi 1.5. Sistematika Penulisan BAB 2 TEORI DASAR 2.1. Interaksi Cahaya dengan Permukaan 2.2. Photometric Stereo 2.3. Mikroskop Digital BAB 3 PERANCANGAN DAN PENGUJIAN PROTOTIPE 3.1. Spesifikasi Alat 3.2. Rancangan Sistem 3.3. Pengujian Prototipe BAB 4 HASIL PENGUJIAN DAN ANALISIS SISTEM BAB 5 KESIMPULAN DAN SARAN 5.1. Kesimpulan 5.2. Saran DAFTAR PUSTAKA LAMPIRAN A SOURCE CODE MATLAB i ii iii v vi vii viii 1 1 3 3 4 4 6 6 11 14 15 15 17 20 21 31 32 32 34 36
DAFTAR SIMBOL
: jumlah sumber iluminasi : energi yang sampai ke permukaan benda : jumlah cahaya yang direfleksikan permukaan searah lensa : diameter lensa : jarak titik api lensa : sudut antara garis axis dari kamera dengan titik permukaan terjauh : permukaan normal : arah sumber cahaya : arah kamera : sudut fasa : sudut polar : sudut azimuth : sudut polar dari emisi : sudut azimuth dari emisi : intensitas cahaya yang direfleksikan pada sudut : intensitas cahaya yang direfleksikan pada permukaan normal : validasi bayangan : intensitas citra berbayangan dari sumber iluminasi k : nilai intensitasn dari threshold : jarak antara objek dengan proyeksi sumber iluminasi : tinggi sumber iluminasi : matriks sumber iluminasi : vektor sumber iluminasi 1 terhadap sumbu x : vektor sumber iluminasi 2 terhadap sumbu y : vektor sumber iluminasi 3 terhadap sumbu z : vektor kolom untuk nilai intensitas pada posisi (x,y) : albedo : kedalaman permukaan
vi
DAFTAR GAMBAR Hal. Gambar 1.1. Ilustrasi photometric stereo Gambar 2.1. Perbedaan refleksi secara difus dan spekular Gambar 2.2. Refleksi pada permukaan lambert Gambar 2.3. Ilustrasi irradiance dan radiance Gambar 2.4. Hubungan antara aksis optik kamera, permukaan, dan sudut Gambar 2.5. Definisi permukaan normal (n), arah sumber cahaya (s), arah kamera (v), sudut phasa (), sudut polar (i) dan sudut 9 10 11 12 12 15 16 17 18 18 19 20 2 6 7 7 8
azimuth (i), dan sudut polar (e) dan sudut azimuth (e) dari emisi Gambar 2.6. Lamberts cosine law Gambar 2.7. Tahapan pada metode photometric stereo Gambar 2.8. Contoh objek yang akan disegmentasi dan mask-nya Gambar 2.9. Ilustrasi untuk perhtungan matriks sumber iluminasi Gambar 3.1. Mikroskop digital DinoLite tipe AD-413T Pro2 Gambar 3.2. Foto sumber iluminasi Gambar 3.3. Skema rancangan sistem Gambar 3.4. Foto prototipe Gambar 3.5. Ilustrasi pengambilan data Gambar 3.6. Diagram alir percobaan Gambar 3.7. Foto objek yang akan direkonstruksi
vii
DAFTAR TABEL Hal. Tabel 4.1. Citra, pengolahan citra, dan perbandingan hasil rekonstruksi objek 1 21 Tebel 4.2. Perbedaan ketinggian pada objek 1 Tabel 4.3. Kesalahan objek 1 dalam persentase 22 22
Tabel 4.4. Citra, pengolahan citra, dan perbandingan hasil rekonstruksi objek 2 23 Tabel 4.5. Perbandingan ketinggian dan kesalahan pada plastisin dalam persentase 24
Tabel 4.6. Citra, pengolahan citra, dan perbandingan hasil rekonstruksi objek 3 25 Tabel 4.7. Citra, pengolahan citra, dan perbandingan hasil rekonstruksi objek 4 26 Tabel 4.8. Citra, pengolahan citra, dan perbandingan hasil rekonstruksi objek 5 27 Tabel 4.9. Citra, pengolahan citra, dan perbandingan hasil rekonstruksi objek 6 28 Tabel 4.10. Citra, pengolahan citra, dan perbandingan hasil rekonstruksi objek 7 29
viii
BAB 1 PENDAHULUAN
1.1. Latar Belakang Permukaan sebuah benda menyimpan banyak informasi tentang benda tersebut, salah satunya adalah tekstur. Tekstur permukaan adalah perbedaan antara titik tertinggi dan terendah yang ada pada permukaan.
Saat ini, rekonstruksi tekstur permukaan sudah dilakukan dengan cara mengambil citra secara langsung, laser profilometry, dan photometric stereo. Rekonstruksi dengan menggunakan laser profilometry dinilai kurang efisien karena harganya yang mahal dan mengharuskan objek yang di-scan untuk diam selama beberapa saat.
Hal ini menyebabkan munculnya cara konvensional, yaitu dengan mengambil satu buah citra dari objek. Cara konvensional menggunakan informasi dari refleksi cahaya yang mengenai objek untuk melakukan rekonstruksi. Semakin besar kedalaman yang dimiliki suatu permukaan, maka intensitas cahaya yang direfleksikan ke kamera akan semakin sedikit. Cara ini memiliki kekurangan karena profil kedalaman hanya berdasarkan atas satu buah permukaan normal saja. Sedangkan pada photometric stereo, profil kedalaman didapatkan dari gabungan permukaan normal k buah citra.
Kualitas citra tekstur dari sebuah benda merupakan kombinasi dari tekstur benda itu sendiri serta kondisi pencahayaan pada saat perekaman. Bayangan yang dihasilkan dari pencahayaan berperan sangat penting pada rekonstruksi dari citra yang telah didapatkan. Dari ketinggian bayangan yang terbentuk dapat diperkirakan ketinggian permukaan benda. Meskipun adanya bayangan ini sangat penting, bayangan juga dapat menimbulkan masalah. Adanya bayangan menyebabkan rekonstruksi tekstur permukaan tidak dapat dilakukan dengan menggunakan satu arah sumber cahaya saja [16].
Photometric stereo adalah suatu teknik rekonstruksi citra selain laser profilometry yang dapat menggambarkan profil kedalaman permukaan benda dengan cara menggabungkan beberapa citra suatu permukaan pada sudut pandang yang sama, tetapi dengan orientasi sumber iluminasi yang berbeda berbeda-beda (sehingga diperoleh beberapa buah citra dengan bayangan yang berbeda). Ilustrasi photometric stereo dapat dilihat pada Gambar 1.1 [3][7][11][16][21][22]. ambar
Pada saat ini, penelitian yang menggunakan photometric stereo telah banyak dilakukan pada berbagai macam permukaan, seperti sidik jari, wajah, mobil, permukaan bumi, dan lain sebagainya. Meskipun demikian, penelitian yang banyak dilakukan saat ini me menggunakan objek yang memiliki dimensi besar dan menggunakan kamera sebagai alat untuk mengambil citra. Disebutkan juga bahwa penggunakan photometric stereo untuk merekonstruksi permukaa dapat permukaan meningkatkan akurasi [5 [5][14].
Semakin banyak citra benda yang digun digunakan untuk merekonstruksi maka merekonstruksi, semakin teliti hasil rekonstruksi yang didapatkan. Meskipun demikian, diperlukan
paling sedikit tiga buah sumber iluminasi yang berbeda untuk dapat menggunakan photometric stereo tanpa adanya asumsi tambahan [5][7][21].
Untuk itu, maka pada tugas akhir ini akan digunakan photometric stereo untuk merekonstruksi tekstur permukaan benda-benda yang memiliki ukuran kecil dengan menggunakan empat sumber iluminasi yang berbeda.
1.2. Permasalahan Proses rekonstruksi citra yang umum digunakan adalah dengan menggunakan satu buah kamera dan satu sumber iluminasi saja. Penggunaan rekonstruksi citra yang seperti ini memiliki berbagai kekurangan, terutama bila alur tekstur tidak tegak lurus terhadap arah sumber iluminasi. Untuk memperoleh tekstur permukaan hasil rekonstruksi citra yang lebih akurat, maka digunakan metode photometric stereo.
Dalam tugas akhir ini permasalahan dititikberatkan pada penggunaan metode photometric stereo untuk merekonstruksi tekstur permukaan pada objek yang berukuran kecil dan menampilkan hasil rekonstruksi citra tersebut secara stereo.
1.3. Tujuan Penelitian Berdasarkan permasalahan yang dirumuskan di atas, maka penelitian ini bertujuan untuk: 1. Studi penggunaan photometric stereo dengan sumber iluminasi yang berbeda posisi dan orientasi satu sama lain untuk rekonstruksi tekstur permukaan suatu benda. 2. Mengetahui perbedaan rekonstruksi permukaan benda menggunakan photometric stereo dan secara konvensional. 3. Menampilkan hasil rekonstruksi tekstur permukaan untuk objek yang berukuran kecil. 4. Mengetahui ketelitian dari sistem yang digunakan.
1.4. Ruang Lingkup Studi Perangkat yang digunakan adalah mikroskop digital DinoLite tipe AD-413T Pro2 dengan perbesaran 25x, sumber iluminasi yang digunakan adalah cahaya dari lampu halogen berwarna merah dengan iluminansi 411 Lux, program yang digunakan untuk mengambil citra adalah DinoCapture 2.0 dan untuk mengolah citra adalah matlab versi R2009a, cahaya yang digunakan berada pada spektrum cahaya tampak, objek yang direkonstruksi merupakan objek yang memiliki permukaan lambert, permukaan objek diasumsikan albedo, objek memiliki luas antara 0,8 cm2 sampai dengan 4,5239 cm2, rekonstruksi citra dilakukan dengan 4 buah citra, citra yang digunakan untuk rekonstruksi memiliki dimensi 320 x 256 piksel.
1.5. Sistematika Penulisan Tugas akhir ini terdiri dari lima bab yang berisi : Bab 1 Pendahuluan, berisi uraian mengenai latar belakang topik Tugas Akhir, permasalahan, tujuan penelitian, ruang lingkup studi, dan sistematika penulisan. Bab 2 Teori Dasar, berisi pembahasan teori yang digunakan mengenai interaksi cahaya dengan permukaan, permukaan lambert, bidirectional reflectance distribution function, lamberts cosine law, albedo, photometric stereo, segmentasi objek terhadap latar belakang, matriks sumber iluminasi, permukaan albedo dan permukaan normal, rekonstruksi tekstur permukaan objek, dan mikrsokop digital. Bab 3 Perancangan dan Pengujian Prototipe, berisi penjelasan mendetail tetang spesifikasi alat, rancangan sistem yang digunakan untuk mengambil data, objek yang akan direkonstruksi, serta prosedur pengujian sistem. Bab 4 Hasil Pengujian dan Analisis Sistem, berisi data-data hasil eksperimen serta analisis kinerja sistem.
Bab 5 Kesimpulan dan Saran, berisi kesimpulan yang diperoleh dari pengerjaan Tugas Akhir dan saran untuk penelitian selanjutnya.
2.1. Interaksi Cahaya dengan Permukaan Cahaya adalah bagian dari gelombang elektromagnetik yang dapat dilihat oleh mata manusia dan memiliki frekuensi antara 4,3 x 1014 Hz sampai 7,5 x 1014 Hz serta panjang gelombang 380 nm sampai dengan 780 nm. Energi yang dimiliki oleh kuanta cahaya (foton) berbanding lurus dengan frekuensinya [1][4][8].
Interaksi antara cahaya dengan permukaan suatu objek terdiri dari absorpsi, refleksi, dan transmisi. Dari ketiga hal tersebut, yang paling berperan dalam proses melihat adalah refleksi. Ketika foton mengenai permukaan suatu objek, energi dari foton akan diabsorpsi oleh permukaan yang menyebabkan molekul objek tereksitasi. Pada saat molekul-molekul ini kembali ke keadaan awalnya, foton akan diemisikan ke segala arah dengan jumlah energi yang sama pada saat diserap, sehingga dapat dikatakan bahwa terjadi refleksi secara difus. Pada refleksi spekular, foton tidak diabsorpsi tetapi hanya direfleksikan oleh permukaan objek [8][9]. Perbedaan antara refleksi secara difus dan spekular dapat dilihat pada Gambar 2.1.
a. Refleksi spekuler
b. Refleksi difus
Penampilan dari suatu permukaan sangat dipengaruhi oleh orientasi objek, refleksi, dan keadaan penerangan [5][20].
2.1.1. Permukaan Lambert Pada permukaan lambert, permukaan benda akan terlihat sama terang dilihat dari sudut mana pun. Hal ini dapat terjadi apabila memiliki Bidirectional Reflectance Distribution Function (BRDF) yang konstan [1][3][20].
Permukaan lambert dapat dikatakan sebagai permukaan yang ideal untuk membuat cahaya terpantul secara menyebar seperti pada Gambar 2.2. Dalam keadaan sebenarnya, tidak pernah ada permukaan lambert [1].
2.1.1.1.Bidirectional Reflectance Distribution Function [6][20] Energi cahaya per satuan waktu yang sampai ke permukaan disebut sebagai irradiance dan memiliki satuan W m-2. Sedangkan jumlah cahaya yang direfleksikan dari permukaan didefinisikan sebagai energi per unit area per sudut disebut sebagai radiance dan memiliki satuan W m-2 sr-1. Ilustrasi dapat dlihat pada Gambar 2.3.
Normalisasi arah permukaan setiap unit perlu dilakukan karena mungkin ada perbedaan jumlah energi yang dipancaran pada arah yang berbeda. Hubungan antara jumlah cahaya yang diradiasikan dengan energi yang sampai pada permukaan dapat dilihat pada Persamaan 2.1. = (2.1)
E adalah energi yang sampai ke permukaan benda, L adalah jumlah cahaya yang direfleksikan permukaan searah lensa, d adalah diameter lensa, f adalah jarak titik api lensa, dan adalah sudut antara garis axis dari kamera dengan titik permukaan terjauh seperti terlihat pada Gambar 2.4.
Gambar 2.4. Hubungan antara axis optik kamera, permukaan, dan sudut
Jumlah cahaya yang diradiasikan sangat bergantung kepada jumlah cahaya yang jatuh ke permukaan dan letak pengamat. BRDF dapat didefinisikan dengan Persamaan 2.2, sedangkan untuk keterangan tentang sudutnya dapat dilihat pada Gambar 2.5. , , , =
,
(2.2)
Gambar 2.5. Definisi permukaan normal (n), arah sumber cahaya (s), arah kamera (v), sudut phasa (), sudut polar (i) dan sudut azimuth (i), dan sudut polar (e) dan sudut azimuth (e) dari emisi. Pada bidang lambert, integral dari intensitas cahaya yang dipancarkan permukaan ke seluruh arah harus sama dengan intensitas cahaya yang sampai ke permukaan benda, sehingga diperoleh Persamaan 2.3. , , , , , , cos sin cos = cos
(2.3)
(2.4)
2.1.1.2.Lamberts Cosine Law [6][8] Hukum cosinus dari lambert menyatakan bahwa intensitas dari cahaya yang direfleksikan memiliki hubungan cosinus dengan sudut polarnya, seperti pada Persamaan 2.5 = cos
e
(2.5)
dengan In adalah intensitas cahaya pada satu titik pada permukaan normal, I adalah intensitas cahaya yang direfleksikan pada sudut e. Agar lebih jelas, dapat dilihat ilustrasinya pada Gambar 2.6.
2.1.1.3. Albedo [14] Albedo adalah perbandingan antara intensitas cahaya yang sampai ke suatu permukaan dengan jumlah intensitas cahaya yang direfleksikan dari permukaan tersebut ke segala arah. Nilainya berkisar antara 0 sampai dengan 1. Bila albedo bernilai 1, maka semua intensitas yang sampai akan direfleksikan kembali, atau dengan kata lain tidak terjadi penyerapan.
2.2. Photometric Stereo Photometric stereo adalah salah satu teknik rekonstruksi 3D yang berbasiskan pada informasi bayangan. Rangkaian citra diambil dari satu titik yang sama tetapi memiliki orientasi sumber iluminasi yang berbeda. Orientasi dari setiap piksel dapat diperoleh dari perbedaan intensitas piksel yang didapatkan dari k buah citra yang diambil, seperti pada Gambar 1.1. Bentuk perkiraan dari permukaan objek dapat ditentukan dengan mengintegrasikan orientasi setiap piksel
[3][7][11][14][16][20][22].
Secara umum, tahapan yang dilakukan pada metode photometric stereo untuk merekonstruksi tekstur permukaan objek dapat dilihat pada Gambar 2.7. Sedangkan untuk keterangan tahapan akan dijelaskan pada subab 2.2.1., 2.2.2., 2.2.3., dan 2.2.4.
10
2.2.1. Segmentasi Objek terhadap Latar Belakang Dengan adanya k buah citra yang didapatkan dari k buah sumber iluminasi yang berbeda, maka setiap piksel akan memiliki k buah nilai bayangan yang berbeda , pula. Nilai bayangan ini akan merepresentasikan eksistensi dari bayangan itu . sendiri. Validasi dari nilai bayangan dilakukan dengan cara membandi membandingkan nilai bayangan per piksel dengan threshold. Apabila nilainya lebih kecil dari threshold, . maka piksel tersebut tidak akan diperhitungkan pada saat rekonstruksi [5][16].
Secara matematis, validasi bayangan dapat ditulis seperti Persamaan 2.6. (2.6)
Ik merepresentasikan intensitas citra berbayangan yang diambil dari sumber iluminasi k = {1,2,3 {1,2,3,,k}. Ith merupakan nilai intensitas dari threshold, sedangkan ak menentukan validasi bayangan [16].
11
Segmentasi bayangan juga dapat dilakukan secara manual, yaitu dengan menggunakan mask. Penggunaan mask dapat memfokuskan rekonstruksi hanya . pada bagian yang diinginkan saja sehingga validasi bayangan untuk memisahkan antara objek dan latar belakang tidak diperlukan [17]. Contoh dari mask dapat diperlukan dilihat pada Gambar 2.8 2.8.
Gambar 2.8. Contoh objek yang akan disegmentasi dan mask mask-nya
2.2.2. Matrik Sumber Iluminasi [21] Matriks sumber iluminasi didapatkan dengan mengukur jarak dari objek ke sumber iluminasi, sudut antara sumbu x dengan sumber iluminasi, juga tinggi sumbu-x sumber iluminasi itu sendiri. Ilustrasinya dapat dilihat pada Gambar 2.9 2.9.
12
Setelah nilai a, t, dan sudut terhadap sumbu x didapatkan, maka dapat dihitung vektor dari sumber iluminasi tersebut. Unit vektor untuk setiap iluminasi dihitung lalu dijadikan matriks, seperti pada Persamaan 2.7. = (2.7)
adalah matriks untuk sumber illuminasi, n1. merepresentasikan vektor sumber iluminasi 1, n2. merepresentasikan vektor sumber iluminasi 2, n3.
merepresentasikan vektor sumber iluminasi 3, dan n4. merepresentasikan vektor sumber iluminasi 4.
Apabila hanya terdapat satu buah sumber iluminasi, maka n11 akan didapatkan dari a cos sudut dibagi |n|, n12 didapatkan dari a sin sudut dibagi |n|, sedangkan n13 didapatkan dari t dibagi |n|.
2.2.3. Permukaan Albedo dan Permukaan Normal [17][21] Jika diberikan 4 buah citra, maka merupakan
merupakan transformasi dari matriks menjadi vektor kolom. Apabila vektor kolom untuk nilai intensitas yang ada pada posisi (x,y),
adalah
adalah vektor
kolom untuk permukaan normal pada (x,y), dan e adalah albedo, maka akan didapatkan Persamaan 2.8. = (2.8) =
Matriks sumber iluminasi dapat dicari inversnya apabila matriks tersebut bukanlah matrisk singular. Hal ini hanya akan terjadi apabila komponen-komponen penyusunnya tidak terletak pada sebuah permukaan yang sama. Nilai dari albedo dan permukaan normal pada (x,y) dapat dilihat pada Persamaan 2.10 dan Persamaan 2.11. = (2.10)
dan
= 13
(2.11)
2.2.4. Rekonstruksi Tekstur Permukaan Objek [12] Pada metode photometric stereo, profil permukaan yang ingin diketahui adalah z(x,y). Apabila permukaan normal yang didapatkan adalah nx, ny, dan nz pada setiap piksel, kedalaman dari objek dapat diperoleh dengan meminimalisasi Persamaan = = =
,
2.12
menggunakan
,
pendekatan
,
pada
Persamaan
2.13
dan
Persamaan 2.14.
, ,
, +1
+ 1,
, ,
2.3. Mikroskop Digital Mikroskop digital merupakan bagian dari optikal mikroskop yang menggunakan optik dan charge-couple devide (CCD) kamera untuk menghasilkan citra digital yang akan ditampilkan pada layar monitor. Mikroskop digital dilengkapi dengan Analog to Digital (A/D) converter sehingga citra yang ditampilkan adalah citra digital. Perbesaran pada mikroskop digital berkisar antara 10x 400x [13][15].
14
Gambar 3.1. Mikroskop digital DinoLite tipe AD-413T Pro2 Mikroskop digital diperlukan untuk mengambil citra yang nantinya akan digunakan untuk merekonstruksi tekstur permukaan.
15
3.1.1.2.Sumber Iluminasi Sumber iluminasi untuk menggunakan sumber iluminasi mandiri yang terdiri dari dua buah lampu halogen berwarna merah dengan sudut dan intensitas cahaya yang dapat diatur, seperti Gambar 3.2. Sumber iluminasi yang digunakan pada percobaan ini hanya satu saja dengan iluminansi 411 Lux dan memiliki ketinggian 10,1 cm.
3.1.2. Komputer dan Perangkat Lunak Komputer digunakan untuk menampilkan citra digital yang ditangkap dari mikroskop dan mengolah citra yang sudah didapatkan sehingga profil permukaannya dapat direkonstruksi. Perangkat lunak yang digunakan pada tugas akhir ini adalah DinoCapture 2.0 dan Matlab versi R2009a. DinoCapture digunakan untuk pengambilan citra, sedangkan Matlab digunakan untuk pemrosesan citra dari transformasi matriks menjadi vektor sampai dengan rekonstruksi tekstur permukaan objek. 16
3.2. Rancangan Sistem Citra digital yang didapatkan dari mikroskop digital memiliki ukuran 1280 x 1024 piksel. Sumber iluminasi dipasang dengan sudut kemiringan 48,30 terhadap 48,30 permukaan objek pada jarak 9 cm dan ketinggian 10,1 cm dengan orientasi 45 45, 135, 225, dan 315 terhadap sumbu-x. Sedangkan mikroskop yang digunakan x. untuk mengambil citra dipasang tegak lurus dari objek. Skemanya dapat dilihat pada Gambar 3.3-a dan Gambar 3.3-b.
Proses pengambilan data dilakukan di Laboratorium Instrumentasi Medik, Labtek VI lantai 3 dengan keadaan seperti biasa. Hal ini dilakukan karena dalam pengambilan data tidak mungkin didapatkan kondisi yang ideal. Untuk prototipenya dapat dilihat pada Gambar 3.4. Sedangkan untuk ilustrasi . pengambilan data dapat dilihat pada Gambar 3.5.
17
Setelah didapatkan 4 buah foto dengan sumber iluminasi yang berbeda, gambar tersebut diubah ukurannya menjadi 320 x 256 piksel. Hal ini dilakukan agar pemrosesan data tidak memakan waktu yang lama. Gambar diolah dengan matlab untuk mendapatkan permukaan normal dan albedonya. Setelah itu data permukaan normal normalnya digunakan untuk memperoleh citra stereo dengan menggunakan prinsip photometric stereo Diagram alirnya dapat dilihat pada Gambar 3. stereo. ambar 3.6.
18
3.3. Pengujian Prototipe Pengujian prototipe dilakukan dengan mencoba merekonstruksi delapan buah permukaan objek yang berbeda. Foto objek yang akan direkonstruksi ditampilkan pada Gambar 3.7.
19
b. Tampak samping dari objek Gambar 3.7. Foto objek yang akan direkonstruksi
20
Citra yang didapatkan Permukaan normal Permukaan albedo Photometric stereo Hasil rekonstruksi Satu citra
21
Untuk menghitung kesalahan, diambil data beberapa titik pada sumbu tertentu yang kemudia dihitung perbedaan ketinggiannya. Referensi yang digunakan adalah pada posisi (127,185), dengan perbedaan ketinggian 5,32. Untuk perbedaan ketinggian dari permukaan dapat dilihat pada Tabel 4.2 sedangkan untuk persentase kesalahan pada Tabel 4.3. Tabel 4.2. Perbedaan ketinggian pada objek 1 Sumbu y Sumbu x 111 150 185 223 100 4,95 5,07 5,14 5,29 115 5,49 5,48 5,67 5,49 130 5,46 5,33 5,44 5,21 145 6,84 6,39 7,15 6,85 Tabel 4.3. Kesalahan objek 1 dalam persentase Sumbu y Sumbu x 111 150 185 223 100 6,95 4,70 3,38 0,56 115 3,12 3,01 6,58 3,20 130 2,63 0,19 2,26 2,07 145 28,57 20,11 34,40 28,76 Pada percobaan ini, didapatkan kesimpulan bahwa kesalahan yang didapatkan berkisar antara 0,19% sampai dengan 34,40%. Kesalahan terkecil terjadi di daerah tengah benda, sedangkan kesalahan terbesar terjadi di bagian samping. Hal ini menunjukkan bahwa semakin jauh dari titik tengah, kesalahan yang terjadi semakin besar. Hal ini dapat diakibatkan oleh penempatan sumber cahaya yang tidak tepat dan terhalangnya bagian samping oleh tekstur benda itu sendiri sehingga timbul bayangan.
22
Tabel 4.4. Citra, pengolahan citra, dan perbandingan hasil rekonstruksi objek 2
Permukaan normal
Permukaan albedo
Satu citra
23
Penghitungan kesalahan pada plastisin dilakukan dengan menambahkan satu buah lubang pada bagian atas. Perbedaan ketinggian dari lubang yang dibuat memiliki perbandingan 1:2. Perbandingan ketinggian dan kesalahan pada plastisin dapat dilihat pada Tabel 4.5. Tabel 4.5. Perbandingan ketinggian dan kesalahan pada plastisin dalam persentase Sumbu x Sumbu Perbandingan Kesalahan y 135 181 165 5,3 1,75 3,03 51,43 170 5,41 2,4 2,25 12,71 175 4,41 2,56 1,72 13,87 180 2,06 2,24 0,92 54,02 Dapat dilihat pada Tabel 4.5 bahwa kesalahan yang didapatkan berkisar antara 12,71% sampai dengan 54,02%. Kesalahan terkecil terjadi di daerah tengah benda, sedangkan kesalahan terbesar terjadi di bagian samping. Hal ini menunjukkan bahwa semakin jauh dari titik tengah, kesalahan yang terjadi semakin besar. Hal ini dapat diakibatkan oleh penempatan sumber cahaya yang tidak tepat, penempatan kedua lubang yang tidak tepat pada satu sumbu, dan terhalangnya bagian samping oleh tekstur benda itu sendiri sehingga timbul bayangan.
4.2. Rekonstruksi Citra yang Tidak Diketahui Kedalamannya Sistem rekonstruksi citra juga diuji dengan merekonstruksi lima buah objek lainnya yang tidak dapat diketahui kedalamannya. Pada tabel-tabel berikut dapat dilihat citra dan hasil pengolahan citra dan perbandingan hasil rekonstruksi menggunakan photometric stereo dan secara konvensional. Pada objek yang tidak diketahui kedalamannya, analisis hanya dilakukan dengan melihat hasil rekonstruksi saja.
24
Tabel 4.6. Citra, pengolahan citra, dan perbandingan hasil rekonstruksi objek 3
Permukaan normal
Permukaan albedo
Satu citra
25
Tabel 2.7. Citra, pengolahan citra, dan perbandingan hasil rekonstruksi objek 4
Permukaan normal
Permukaan albedo
Satu citra
26
Tabel 4.8. Citra, pengolahan citra, dan perbandingan hasil rekonstruksi objek 5
Permukaan normal
Permukaan albedo
Photometric stereo
Satu citra
Hasil rekonstruksi
27
Tabel 4.9. Citra, pengolahan citra, dan perbandingan hasil rekonstruksi objek 6
Permukaan normal
Permukaan albedo
Satu citra
28
Tabel 4.10. Citra, pengolahan citra, dan perbandingan hasil rekonstruksi objek 7
Permukaan normal
Hasil rekonstruksi
29
Seperti yang terlihat pada Tabel 4.1, Tabel 4.4, dan Tabel 4.6 sampai dengan Tabel 4.10, photometric stereo dapat digunakan untuk merekonstruksi citra berbagai macam benda yang berukuruan kecil. Dari hasil rekonstruksi ini dapat digunakan untuk menentukan tekstur permukaan suatu objek dengan
membandingkan titik tertinggi dan terendah yang ada. Pada rekonstruksi dengan photometric stereo, hasil yang ditampilkan merupakan profil pemukaan yang didapatkan setelah menggabungkan permukaan normal. Sedangkan hasil rekonstruksi dengan satu citra saja, hasil yang ditampilkan merupakan fungsi dari refleksi intensitas cahaya yang sampai ke mikroskop. Semakin besar perbedaan antara titik tertinggi dan terendahnya, semakin kasar objek tersebut.
Pada Tabel 4.1, Tabel 4.4, Tabel 4.6 sampai dengan Tabel 4.9 dapat dilihat bahwa hasil rekonstruksi citra dengan menggunakan photometric stereo lebih akurat dibandingkan dengan hasil rekonstruksi dari satu citra saja. Sedangkan pada Tabel 4.10 hasil rekonstruksi dengan menggunakan satu citra lebih mendekati objek aslinya. Hal ini terjadi karena pada objek kesepuluh terdapat silau.
Silau mengindikasikan bahwa pemantulan cahaya oleh permukaan objek tidak menyebar secara merata. Karena itu dapat disimpulkan bahwa permukaan objek tersebut bukanlah permukaan lambert, sehingga perhitungan yang digunakan tidak mencukupi untuk menganalisis objek tersebut. Hal ini terjadi karena pada permukaan yang bukan lambert, ada piksel yang memiliki perbedaan intensitas yang kontras dengan piksel di sebelahnya sehingga permukaan normal yang didapatkan akan berbeda. Perbedaan permukaan normal ini akan menyebabkan rekonstruksi citra tidak akurat. Silau dapat diatasi dengan menggunakan cahaya yang terpolarisasi, sumber iluminasi yang tidak terpusat, atau dengan menambahkan filter.
Seperti yang terlihat pada Tabel 4.1, Tabel 4.4, Tabel 4.6 sampai Tabel 4.10, dapat diasumsikan bahwa pada tugas akhir ini, rekosntruksi citra yang memiliki permukaan lambert akan lebih akurat dibandingkan dengan satu citra saja.
30
Sedangkan untuk objek dengan permukaan yang bukan lambert, rekonstruksi citra dengan menggunakan satu citra saja lebih akurat.
31
5.2. Saran Ada beberapa saran yang ditujukan untuk peneltian selanjutnya serta perbaikan di masa yang akan datang. Saran-saran tersebut adalah : 1. Untuk mendapatkan rekonstruksi citra yang lebih akurat, disarankan menggunakan jumlah citra yang lebih banyak. Selain itu dapat pula dilakukan rekonstruksi dengan ukuran piksel yang lebih besar sehingga segmentasi citra menjadi lebih banyak dan lebih akurat. 2. Meningkatkan efiktifitas program pengolahan citra agar waktu yang dibutuhkan tidak lama.
32
3. Dapat dibuat prototipe dengan sumber iluminasi yang sudah tersambung langsung dengan mikroskop digital agar pengambilan data dapat dilakukan dengan lebih cepat dan akurat karena tidak perlu memindahkan sumber iluminasi serta dapat memperkecil tingkat kesalahan karena perbedaan jarak sumber iluminasi yang satu dengan yang lainnya. 4. Melakukan pengembangan pada program maupun prototipe agar dapat digunakan untuk merekonstruksi citra dengan permukaan yang bukan permukaan lambert.
33
DAFTAR PUSTAKA
[1] Ashdown, Ian, Radiosity : A Programmer's Perspective, New York : John Wiley & Sons, 1994. [2] Basri Ronen and Jacobs David, "Lambertian Reflectances and Linear Subspaces, International Conf. of Computer Vision, vol 11, pp 383-390, 2001. [3] Basri Ronen dan Jacobs David, Photometric Stereo with General, Unknown Lighting, Proc of CVPR, pp 374-381, 2001. [4] Beiser Arthur, Konsep Fisika Modern edisi 4, Jakarta : Erlangga, 1992,pp 43-59. [5] Chandraker Manmohan, Agarwal Sameer, dan Kriegman David, ShadowCut : Photometric Stereo with Shadows, in Proc of Computer Vision and Pattern Recognition, 2007. [6] Cohen, M.R. and Small III, L.J., Diffuse Reflectance Measurements of Standard Diffusers, tech Note, Shippensburg University, Physics
Department, Shippensburg. [7] Ding Yi et al., "A Computer Assisted Diagnosis System for Malignant Melanoma Using 3D Skin Surface Texture Features and Artificial Neural Network", Int. J. Modelling, Identification and Control, Vol. X, No. Y,200X. [8] F.X. Nugroho, "Dasar-dasar Pencahayaan", presentasi kuliah untuk mata kuliah Fisika Bangunan, Program Studi Teknik Fisika, Institut Teknologi Bandung, Bandung, Indonesia, 2010. [9] F.X. Nugroho, "Pengendalian Cahaya", presentasi kuliah untuk mata kuliah Fisika Bangunan, Program Studi Teknik Fisika, Institut Teknologi Bandung, Bandung, Indonesia, 2010. [10] Hashimoto Yukie, Yanagihara Yoshio, dan Hama Hiromitsu, "Evaluating Skin Condition Using Cosmetic by Image Processing of Cheek Replica", Mem. Fac. Eng., Osaka City Univ., Vol. 43, pp.25-29, 2002.
34
[11] Hernandez Carlos, Vogiatzis George, dan Cipolla Roberto, Shadows in Three-Source Photometric Stereo, in Proc. of European Conf. on Computer Vision (ECCV), 2008. [12] Hertzmann Aaron dan Seitz Steven M., "Example-Based Photometric Stereo : Shape Reconstruction with General, Varying BRDFs", IEEE Transactions on Patters Analysis and Machine Inteligence, vol. 27, no.8, Agustus 2005. [13] Mikroskop, http://science.howstuffworks.com/dictionary/chemistry-terms/ microscope-info1.htm [14] Narasimhan S., "Photometric Stereo", presentasi kuliah Computer Vision, Department of Computer Science, University of North Carolina, 2006, http://www.cs.unc.edu [15] Putro, Widodo D., Pengenbangan Prototipe Pencitraan Medik Toporafi Permukaan Kulit secara Optik dengan Sumber Cahaya Terpolarisasi, Tugas Akhir, Institut Teknologi Bandung, Bandung, Indonesia, 2010. [16] Saito Hideo, Somiya Yukiko, dan Ozawa Shinji, "Shape Reconstruction of Skin Surface from Shading Images Using Simulated Annealing", Departement of Electrical Engineering, Universitas Keito, Jepang. [17] Seitz Steve, "Project 3 : Photometric Stereo", presentasi kuliah Computer Vision, Department of Computer Science, University of North Carolina, 2010, http://www.cs.unc.edu [18] Tan Ping, Lin Stephen, dan Quan Long, "Subpixel Photometric Stereo" IEEE Transactions on Patters Analysis and Machine Inteligence. [19] Torreao Jose R.A., 3D Shape Estimation in Computer Vision, Revista Controle & Automacao, Vol 10 no.02, pp 118 123, Agustus 1999. [20] Wohler Christian, 3D Computer Vision Efficient Methods and Applications, Berlin : Springer-Verlag, 2009, pp 127-154. [21] Woodham, R.J., "Photometric Method for Determining Surface Orientation from Multiple Image", Optial Engineering vol 19, pp 139-144, 1980. [22] Wu Jerry, Cambridge Institut for Medical Research, "Photometric Stereo", 2009.
35
a=double(imread(garuda.mask.png')); a=a(:,:,1); [R, C] = find(a >= 250); s=length(R); albedo_map = zeros(s, 3); normal_map=zeros(s,5,3); A=zeros(TotalImages,3); B=zeros(TotalImages,1); w=zeros(256,1); %triangular weighing vector w(1:128)=(0:127)';w(129:256)=(127:-1:0)';
for channel = 1:3 image=cell(TotalImages); for i=1:TotalImages % Reading in Images name=sprintf('garuda.%d.png',i); a=double(imread(name)); a=a(:,:,channel); image{i}=a; end w(1)=1;w(256)=1; for index=1:s ro=R(index);co=C(index); for i=1:TotalImages a=image{i};
36
B(i,:)=w(a(ro,co)+1)*a(ro,co); A(i,:)=w(a(ro,co)+1).*(l_v(:,i)'); end g=A\B; if(norm(g) ~= 0) albedo_map(index, channel) = norm(g); g = g./albedo_map(index, channel); end normal_map(index,:,channel)=[ro co g']; end end save normal_map.mat normal_map; save albedo_map.mat albedo_map;
A.2. Menampilkan Permukaan Normal dan Albedo load normal_map; load albedo_map; a = imread('garuda.mask.png'); op = zeros(size(a)); op1 = zeros(size(a,1), size(a,2)); max_albedo = max(albedo_map); for channel = 1:3 for i = 1:size(normal_map, 1) row = normal_map(i, 1, channel); col = normal_map(i, 2, channel); maxim = max(abs(normal_map(i, 3:5, channel))); op(row, col, 1) = (normal_map(i, 3, channel) + 1) / 2; op(row, col, 2) = (normal_map(i, 4, channel) + 1) / 2; op(row, col, 3) = normal_map(i, 5, channel); op1(row, col) = albedo_map(i, channel)/max_albedo(channel); end figure;
37
imshow(op); figure; imshow(op1); %figure; %quiver(normal_map(:, 1, channel), normal_map(:, 2, channel), normal_map(:, 3, channel), normal_map(:, 4, channel)); end
A.3. Perhitungan kedalaman a = imread('garuda.mask.png'); siz = size(a); load normal_map.mat; ip_mat = normal_map(:,:,1); new_index = randperm(size(ip_mat, 1)); ip_mat = ip_mat(new_index, :); row_index = []; col_index = []; data = []; v = []; rowno = 1; for i = 1:size(ip_mat, 1) %search for right neighbour %index = intersect(find(ip_mat(:, 2) == ip_mat(i, 2) + 1), find(ip_mat(:, 1) == ip_mat(i, 1))); index = find((ip_mat(:, 2) == ip_mat(i, 2) + 1) & (ip_mat(:, 1) == ip_mat(i, 1))); if(~isempty(index)) row_index = [row_index; rowno; rowno]; col_index = [col_index; i; index]; data = [data; -1*ip_mat(i, 5); ip_mat(i, 5)]; v = [v; -1*ip_mat(i, 3)]; rowno = rowno + 1;
38
end %search for down neighbour %index = intersect(find(ip_mat(:, 2) == ip_mat(i, 2)), find(ip_mat(:, 1) == ip_mat(i, 1) + 1)); index = find((ip_mat(:, 2) == ip_mat(i, 2)) & (ip_mat(:, 1) == ip_mat(i, 1) + 1)); if(~isempty(index)) row_index = [row_index; rowno; rowno]; col_index = [col_index; i; index]; data = [data; -1*ip_mat(i, 5); ip_mat(i, 5)]; v = [v; ip_mat(i, 4)]; rowno = rowno + 1; end end M = sparse(row_index, col_index, data); A = M'*M; b = M'*v; [z,flag] = pcg(A, b, [], 40); model = [ip_mat(:,1:2) z]; [col_mat, row_mat] = meshgrid((1:siz(2))', (1:siz(1))'); final = sparse(model(:,1), model(:,2), model(:,3) + 40, siz(1), siz(2)); model_3D = full(final); surfl(row_mat,col_mat,model_3D,'light'); shading interp colormap(gray); save model_3D.mat model_3D; %preconditioned conjugate gradient method
39
siz = size(a); [col_mat, row_mat] = meshgrid((1:siz(2))', (1:siz(1))'); %surfl(row_mat,col_mat,model_3D,'light'); surfl(flipud(model_3D)); shading interp; colormap(copper);
A.5. Menampilkan Hasil Rekonstruksi Satu Citra, Intensitas Cahaya pada y = 150, dan Profil Kedalaman Hasil Photometric Stereo pada y = 150
data_f=imread('garuda atas.png'); data_f1=rgb2gray(data_f); data_f1=double(data_f1); mesh(flipud(data_f1)); colormap(copper); load model_3d; figure; plot(1:256,model_3D(:,150)) figure: plot(1:256,data_f1(:,150),'r')
40