SKRIPSI
SITI FATIMAH 121402082
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2017
INTERAKSI PADA AUGMENTED REALITY SATWA LANGKA INDONESIA DENGAN PENGENALAN GERAKAN JARI TANGAN
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi
SITI FATIMAH 121402082
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2017
PERSETUJUAN
Judul :INTERAKSI PADA AUGMENTED REALITY SATWA
LANGKA INDONESIA DENGAN PENGENALAN GERAKAN JARI TANGAN
Kategori : SKRIPSI
Nama : SITI FATIMAH
Nomor Induk Mahasiswa : 121402082
Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
SUMATERA UTARA
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Romi Fadillah Rahmat, B.Comp.Sc., Mohammad Fadly Syahputra, B.Sc.,
M.Sc M.Sc.IT
NIP. 19860303 200212 1 002 NIP. 198301292009121003
Diketahui/Disetujui oleh
Program Studi S1 Teknologi Informasi Ketua,
Romi Fadillah Rahmat, B.Comp.Sc.,M.Sc
PERNYATAAN
INTERAKSI PADA AUGMENTED REALITY SATWA LANGKA INDONESIA DENGAN PENGENALAN GERAKAN JARI TANGAN
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, Oktober 2017
Siti Fatimah 121402082
UCAPAN TERIMA KASIH
Puji dan syukur kehadirat Allah SWT, karena rahmat dan izin-Nya penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi S1 Teknologi Informasi Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
Ucapan terima kasih penulis sampaikan kepada:
1. Bapak Prof. Runtung Sitepu, SH., M.Hum selaku Rektor Universitas Sumatera Utara.
2. Bapak Prof. Dr. Drs. Opim Salim Sitompul, M.Scselaku Dekan Fasilkom-TI USU. 3. Bapak Romi Fadillah Rahmat, B.Comp.Sc., M.Sc. selaku Ketua Program Studi
S1 Teknologi Informasi Universitas Sumatera Utara.
4. Ibu Sarah Purnamawati, ST., MSc.selaku Sekretaris Program Studi S1 Teknologi Informasi Universitas Sumatera Utara.
5. Bapak Mohammad Fadly Syah Putra, M.Sc selaku Dosen Pembimbing I yang telah memberikan bimbingan dan saran kepada penulis.
6. Bapak Romi Fadillah Rahmat, B.Comp.Sc., M.Sc. selaku Dosen Pembimbing II yang telah memberikan bimbingan dan saran kepada penulis.
7. Bapak Dedy Arisandi, ST., M.Kom selaku Dosen Pembanding I yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.
8. Bapak Indra Aulia, S.TI., M.kom. selaku Dosen Pembanding II yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.
9. Ayahanda Sulaiman, BBA dan Ibunda Neng Laksmi yang selalu memberikan doa, kasih sayang, nasehat, dan semangat yang tiada putusnya kepada penulis.
10. Keluarga besar dari ayahanda dan ibunda yang juga selalu memberikan dukungan dan semangat kepada penulis.
11. Rekan sepertjuangan dalam penelitian ini, Muhammad Iqbal Rizki Siregar yang selalu sabar dan memberikan saran serta nasihat selama mengerjakan skripsi ini. 12. Sahabat TZ yang merupakan sahabat belajar bersama sedari SMA hingga sekarang yaitu Ahmed Dzhokar Al-Kahfi,S.T, Fahrozi,S.Agr, Ganda Yoga Pangestu,S.Sos, Indah Permana Sari,S.KM, Irwansyah Putra,S.E, Khalid
Prakoso,S.T, M. Ilyas Al-hafiz Ritonga,S.P, Maulida Hafni,S.Pd, Muhammad Wicaksono,S.KM, Mutia Dinulia Putri,S.P, Nurul Liza,S.KM, Rini Hayati Herman,S.P, dan Siti Ulfah Nesia,S.Kg yang walau jarak memisahkan, tiada henti semangat dan dukungan yang diberikan kepada penulis.
13. Sahabat rangers Annisa Faradina,S.Kom, Endang Windarsih,S.Kom, Nurchalissa Saragih,S.Kom, Nurrahmadayeni,S.Kom, Ranti Ramadhiana,S.Kom, Rona Idona Vynaima Simbolon,S.Kom, dan Siti Hazizah Harahap,S.Kom dan yang selalu memberikan dukungan, mendengar keluh kesah saat pengerjaan skripsi ini, menampung segala hal saat senang, bahagia, sedih, serta memberikan nasehat dan sebagai saudara yang berbeda orangtua.
14. Sahabat lantai 2 Athmanathan,S.Kom, Chairina Ulfa,S.Kom, Eric Suwarno,S.Kom, Theresia Arwan,S.Kom, Tika Hairani,S.Kom, dan Siti Hasanah Nainggolan,S.Kom yang mau dengan suka rela mendengar keluh-kesah penulis setiap hari.
15. Senior-senior yang terbaik Ridho Kurniawan,S.Kom, Amrikahfi Ginting,S.Kom, Tengku Chairunnisa,S.Kom, Rifky Aulia,S.Kom, Rizki Aulia,S.Kom yang telah mau direpotin, memberikan masukan, dan memotivasi penulis dalam pengerjaan skripsi.
16. Teman-teman Teknologi Informasi USU terkhusus angkatan 2012, abangda dan kakanda angkatan 2011 dan 2010 dan buat adik-adik angkatan 2013, 2014, 2015 dan 2016 yang juga memberikan semangat kepada penulis.
17. Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat penulis ucapkan satu persatu yang telah membantu penyelesaian skripsi ini.
Semoga Allah SWT melimpahkan berkah kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini
Medan, Oktober 2017
ABSTRAK
Satwa langka Indonesia merupakan satwa yang habitatnya hanya terdapat di Indonesia dan memiliki status terancam punah oleh IUCN (International Union for Conservation
of Nature and Natural Resources). Pada penelitian ini, peneliti menerapkan teknologi Augmented Reality (AR) untuk menghadirkan satwa langka Indonesia tanpa mengusik
habitat dan populasinya, peneliti juga menerapkan teknik OpenCV sebagai interaksi antara pengguna dengan objek virtual satwa langka. Dalam penerapannya, objek yang berupa tangan akan dideteksi melalui web camera. Tahap awal yang dilakukan adalah pemisahan objek yang diinginkan dari background pengambilan gambar dengan bantuan metode warna HSV, serta mendeteksi konturnya dengan contour. Sedangkan untuk perhitungan jumlah jari menngunakan metode convexhull dan convexity deffects. Hasil pengenalan jumlah jari ini akan digunakan sebagai acuan pemilihan animasi AR Satwa Langka. Rangkaian proses tersebut menghasilkan sebuah aplikasi augmented
reality dimana pengguna dapat melihat serta memberikan instruksi dengan objek virtual
satwa langka Indonesia. Hal ini dapat memberikan pengalaman berbeda bagi pengguna untuk mempelajari satwa langka Indonesia
Kata kunci: Satwa Langka Indonesia, Augmented Reality, Image Processing,
ABSTRACT
Rare Indonesian animals are animals which only live in Indonesia and have ‘endangered’ status based on IUCN (International Union for Conservation of Nature and Natural Resources). In the research, Augmented Reality (AR) technology is implemented to summon these rare animals in the digital world with the exact scale of it without having to disturb their habitat, OpenCV is also implemented to enhance the user’s interaction with the virtual object of the animals. In the implementation, object which is ‘hand’ is detected through web camera. The first stage done is object separation from the background of the image with the help of HSV method, and to detect the contour using the ‘contour’. The finger counting is done using convexhull method and convexity defects. The result of this finger counting will be used as a reference in hand gesture method for the animation of the animals’ AR. These series of process will generate an augmented reality application where users can see and give instruction to the virtual object of rare Indonesian animals. This event can give a different experience for the users to learn more about rare Indonesian animals.
Keywords : Rare Indonesian Animals. Augmented Reality, Image Processing, Finger
DAFTAR ISI
ABSTRAK ... i
ABSTRACT ... ii
DAFTAR ISI ... iii
DAFTAR TABEL ...vi
DAFTAR GAMBAR ... vii
BAB 1 ... 1 PENDAHULUAN ... 1 1.1 Latar Belakang ... 1 1.2 Rumusan Masalah ... 3 1.3 Tujuan Penelitian ... 3 1.4 Batasan Penelitian ... 3 1.5 Manfaat Penelitian ... 4 1.6 Metodologi Penelitian ... 4 1.7 Sistematika Penulisan... 5 BAB 2 ... 6 LANDASAN TEORI ... 6
2.1 Satwa Langka Indonesia ... 6
2.2 Augmented Reality ... 6
2.3 Computer Vision ... 7
2.3.1 Proses penangkapan citra (Image Acquisition) ... 8
2.3.2 Proses pengolahan citra (Image Processing) ... 8
2.3.3 Analisa data citra (Image Analysis) ... 9
2.3.4 Proses pemahaman data citra (Image Recoginition) ... 9
2.4 Citra Digital ... 9
2.5 Pengolahan Citra Digital ... 10
2.5.1 Gray-Scaling ... 10
2.5.2 Thresholding ... 11
2.5.4 Dilation ... 12 2.5.5 Contour ... 13 2.5.6 Convex-hull ... 13 2.5.7 Convexity Defects ... 14 2.6 OpenCV ... 14 2.7 Unity 3D... 14 2.8 C# ... 15 2.9 Penelitian Terdahulu ... 15 BAB 3 ... 20
ANALISIS DAN PERANCANGAN ... 20
3.1 Data Yang Digunakan ... 20
3.2 Analisis Sistem ... 20
3.2.1 Skin Detection ... 21
3.2.2 Perbaikan Citra ... 23
3.3 Diagram Aktivitas ... 27
3.3.1 Diagram Aktivitas Info Satwa ... 27
3.3.2 Diagram Aktivitas Setelan ... 28
3.3.3 Diagram Aktivitas Riwayat... 29
3.3.4 Diagram Aktifitas Menu Keluar ... 29
3.4 Flowchart ... 30
3.5 Perancangan Antarmuka ... 34
BAB 4 ... 39
IMPLEMENTASI DAN PENGUJIAN SISTEM ... 39
4.1 Konfigurasi Sistem ... 39
4.1.1 Konfigurasi Perangkat Keras ... 39
4.1.2 Konfigurasi Perangkat Lunak ... 39
4.2 Tampilan Aplikasi... 40
4.2.1 Tampilan Halaman UI Main Menu ... 40
4.2.2 Tampilan halaman pemilihan jenis scene augmented reality satwa langka Indonesia ... 41
4.2 5 Tampilan Halaman Scene Setelan ... 43
4.2.6 Tampilan Halaman Scene Riwayat ... 44
4.3 Pengujian Hasil Pengenalan Jari Tangan ... 44
4.4 Pengujian Marker Augmented Reality ... 48
BAB 5 ... 51
KESIMPULAN DAN SARAN ... 51
5.1 Kesimpulan ... 51
5.2 Saran ... 52
DAFTAR TABEL
Tabel 2.1. Penelitian Terdahulu 18
Tabel 3.1. Storyboard 36
Tabel 4.1. Konfigurasi Perangkat Keras 41
Tabel 4.2. Konfigurasi Perangkat Lunak 41
Tabel 4.3. Pengujian Skenario 1 47
Tabel 4.4. Pengujian Skenario 2 48
Tabel 4.5. Pengujian Skenario 3 49
Tabel 4.6. Pengujian Skenario 4 50
Tabel 4.7. Pengujian Jarak Deteksi 51
DAFTAR GAMBAR
2.1 Citra Hasil Segmentasi 12
2.2 Gambar Sebelum Erosi Dan Setelah Operasi Erosi 12
2.3 Gambar Sebelum Dilasi Dan Setelah Operasi Dilasi 13
2.4 Contour 13
2.5 Convex-Hull 14
3.1 Arsitektur Umum 22
3.2 Diagram Aktivitas pilih menu Info Satwa 29
3.3 Diagram Aktivitas pilih menu Setelan 30
3.4 Diagram Aktivitas pilih menu Riwayat 31
3.5 Diagram Aktivitas pilih menu keluar 31
3.6 Flowchart Sistem 32
4.1 Tampilam UI Main Menu 42
4.2 Tampilan Pemilihan Scene 43
4.3 Tampilan Scene AR Satwa Langka 43
4.4 Tampilan Scene AR OpenCV 44
4.5 Tampilan Scene Info Satwa 44
4.6 Tampilan Scene Setelan 46
BAB 1 PENDAHULUAN
Bab pertama dari penelitian ini akan membahas perihal latar belakang penelitian, rumusan masalah, tujuan penelitian, batasan masalah, manfaat penelitian dan sistematika penulisan.
1.1 Latar Belakang
Satwa langka Indonesia merupakan salah satu bukti keragaman hayati yang dimiliki Indonesia. Namun jumlah populasi satwa langka Indonesia semakin berkurang. Hal ini disebabkan oleh penyempitan lahan yang seharusnya menjadi habitat para satwa (Iqbal, et al. 2014). Karena semakin berkurangnya keberadaan satwa langka Indonesia, semakin tidak mudah pula untuk menghadirkannya kepada masyarakat umum secara langsung guna memberi pengetahuan tentang keragaman hayati yang dimiliki Indonesia.
Teknologi augmented reality (AR) merupakan variasi dari virtual environtment yang secara menyeluruh membenahkan pengguna dalam satu lingkungan buatan (Azuma, 1997). Sehingga teknologi ini memungkinkan untuk dimanfaatkan sebagai sarana dalam menghadirkan satwa langka Indonesia dalam ukuran sebenarnya tanpa mengusik populasi dan habitatnya.
Secara umum interaksi antara manusia dengan objek virtual pada augmented
reality masih melalui bantuan alat input seperti mouse, keyboard, layar sentuh dan
lain-lain. Penggunaan alat input tersebut dalam waktu lama dapat memicu munculnya beberapa penyakit, seperti trigger finger, gurilla arm, dan lain-lain (Bhatt, et al. 2013). Penggunaan alat input juga membuat interaksi manusia dnegan objek virtual menjadi kurang real. Oleh sebab itu, dibutuhkan teknologi augmented reality yang tak hanya dapat memberikan simulasi yang baik tapi juga harus bisa disajikan untuk dapat berinteraksi langsung dengan manusia tanpa penggunaan alat input (Bikos, 2014). Pada tahun 2013, Dong Woo Seo bersama rekannya Jae Yeol Lee melakukan penelitian
ujung jari (fingertips detection). Sedangkan penelitian augmented reality yang juga mengaplikasikan pengenalan telapak tangan dilakukan oleh Khawla Benabderrahim dan rekannya Mohamed Slim Bouhlel. Pada penelitian mereka, telapak tangan dapat dikenali dengan dua metode. Metode pertama mereka menggunakan subtraction
background dan metode yang kedua adalah pengenalan telapak tangan dengan
mendeteksi warna kulit.
Pengenalan gerakan tangan manusia telah diteliti oleh beberapa peneliti sebelumnya. Pada umumnya pengenalan gerakan tangan diimplementasikan untuk bahasa isyarat (sign language), robotik, virtual reality, permainan, dan lain-lain. Pada umumnya, pengenalan gerakan tangan terbagi atas 2 jenis, yaitu (Ramjan, et al. 2014): Pengenalan Gerakan Tangan Statis, yaitu pengenalan gerakan tangan yang gerakannya telah ditetapkan dan dideteksi per frame dalam satu waktu. Dan Pengenalan Gerakan Tangan Dinamis, yaitu pengenalan gerakan tangan yang gerakannya dideteksi dari urutan beberapa frame video dalam jangka waktu tertentu.
Pada tahun 2014, Nayana & Kubakaddi meneliti pengenalan gerakan tangan statis menggunakan metode finger counting melalui ekstraksi fitur dari teknik computer
vision berupa contour, convex-hull, dan convexity defects. Penelitian lain tentang
pengenalan gerakan tangan dilakukan pada tahun 2016 oleh Chairunnisa. Pada penelitiannya, Chairunnisa selain menggunakan teknik-teknik computer vision penelitiannya juga menggunakan metode convexity defects untuk dimanfaatkan pada interaksi manusia-komputer. Kurniawan pada penelitiannya di tahun 2017 telah berhasil menggabungkan teknik-teknik computer vision dengan augmented reality. Penggabungan itu digunakan untuk mengganti scene pada augmented reality kota medan matsum dan kesawan. Berdasarkan latar belakang tersebut, penulis mengajukan proposal penelitian dengan judul “Interaksi Pada Augmented Reality Satwa Lanka Indonesia dengan Pengenalan Gerakan Jari Tangan”.
1.2 Rumusan Masalah
Augmented reality merupakan media yang baik dalam menghadirkan satwa langka
Indonesia tanpa mengusik populasinya. Selama ini interaksi antara manusia dengan objek virtual pada augmented reality lebih didominasi menggunakan bantuan alat input seperti keyboard, mouse, dan touch screen. Oleh karena itu dibutuhkan suatu metode membaca gerakan tangan yang nantinya digunakan sebagai pengganti alat input agar pengguna dapat berinteraksi dengan objek virtual.
1.3 Tujuan Penelitian
Tujuan dari penelitian ini adalah untuk berinteraksi dengan objek virtual pada
augmented reality dengan mendeteksi tangan kosong dan latar belakang yang beragam
menggunakan teknik-teknik computer vision melalui kamera optik.
1.4 Batasan Penelitian
Pada penelitian ini peneliti membuat batasan masalah untuk mencegah meluasnya ruang lingkup permasalahan dalam penilitian ini. Adapun batasan masalah tersebut, diantaranya yaitu:
1. Pergerakan tangan yang dikenali/dideteksi hanya kombinasi antara jumlah jari dan arah tangan yang telah ditentukan oleh penulis.
2. Posisi kamera tetap dan tidak terdapat objek bergerak yang memiliki warna yang mirip dengan warna kulit pada background.
3. User berdiri pada posisi yang telah ditentukan.
4. Pengambilan citra atau video dilakukan di tempat memiliki pencahayaan yang tidak membelakangi telapak tangan atau di hadapan kamera web (backlight). 5. Interaksi menggunakan gerakan tangan dengan objek virtual hanya berlaku
untuk satu objek virtual dalam satu waktu.
6. Objek virtual pada augmented reality adalah satwa langka Indonesia yang hidup di darat dan berkaki empat. Adapun satwa langka akan ditampilkan sebagai objek virtual antara lain: Harimau Sumatera, Gajah Sumatera, Badak Bercula Satu, Rusa Bawean, dan Komodo.
1.5 Manfaat Penelitian
Manfaat yang diperoleh dari penelitian ini adalah : 1. Sebagai media hiburan.
2. Sebagai media pengenalan satwa langka Indonesia.
3. Membantu pengguna dalam berinteraksi dengan objek virtual menggunakan gerakan tangan.
4. Mengetahui kemampuan teknik-teknik computer vision dalam proses pengenalan gerakan tangan manusia.
5. Menjadi referensi dalam pengembangan di bidang augmented reality, image
processing dan computer vision.
1.6 Metodologi Penelitian
Tahapan-tahapan yang akan dilakukan pada pelaksanaan penelitian adalah sebagai berikut:
1. Studi Literatur Pada tahap ini dilakukan pengumpulan bahan referensi yaitu mengenai pengolahan citra, pendeteksian warna kulit, pendeteksian background, pendeteksian tangan, Computer Vision dan Augmented Reality dari beberapa jurnal, buku, artikel dan beberapa sumber referensi lainnya.
2. Analisis Pada tahap ini dilakukan analisis terhadap studi literatur untuk mendapatkan pemahaman mengenai teknik-teknik Computer Vision untuk menyelesaikan masalah tentang pengenalan gerakan tangan manusia.
3. Perancangan Pada tahap ini dilakukan perancangan arsitektur, pengumpulan data, dan perancangan antarmuka. Proses perancangan dilakukan berdasarkan hasil analisis studi literatur yang telah didapatkan.
4. Implementasi Pada tahap ini dilakukan pengkodean untuk membangun aplikasi berdasarkan analisis dan perancangan yang telah dilakukan sebelumnya.
5. Pengujian Pada tahap ini dilakukan pengujian terhadap aplikasi yang telah dibangun dalam mengenali gerakan tangan manusia untuk memastikan hasil pengenalan sesuai dengan apa yang diharapkan.
6. Dokumentasi dan Penyusunan Laporan Pada tahap ini dilakukan dokumentasi dan penyusunan laporan hasil analisis dan implementasi teknik-teknik Computer Vision
dalam pengenalan gerakan tangan manusia pada Augmented Reality Satwa Langka Indonesia.
1.7 Sistematika Penulisan
Sistematika penulisan pada skripsi ini terdiri dari lima bagian yaitu sebagai berikut :Sistematika penulisan dari skripsi ini terdiri dari lima bagian utama sebagai berikut.
Bab 1: Pendahuluan
Bab ini berisi latar belakang dari penelitian yang dilaksanakan, rumusan masalah, tujuan penelitian, batasan masalah, manfaat penelitian, metodologi penelitian, serta sistematika penulisan.
Bab 2: Landasan Teori
Bab ini berisi teori-teori yang diperlukan untuk memahami permasalahan yang dibahas pada penelitian ini. Teori-teori yang berhubungan dengan augmented reality, citra, image processing, ekstraksi fitur dan teknik-teknik Computer Vision akan dibahas pada bab ini.
Bab 3 : Analisis dan Perancangan
Bab ini menjabarkan arsitektur umum, tiap langkah pre-processing yang dilakukan, pendeteksian objek, serta analisis dan penerapan teknik-teknik Computer Vision dalam pengenalan gerakan tangan yang tertangkap oleh kamera optik.
Bab 4 : Implementasi dan Pengujian
Bab ini berisi pembahasan tentang implementasi dari perancangan yang telah dijabarkan pada Bab 3. Selain itu, hasil yang didapatkan dari pengujian yang dilakukan terhadap implementasi yang dilakukan juga dijabarkan pada bab ini.
Bab 5 : Kesimpulan dan Saran
Bab ini berisi ringkasan serta kesimpulan dari rancangan yang telah dibahas pada bab 3, serta hasil penelitian yang dijabarkan pada Bab 4. Bagian akhir dari bab ini memuat saran-saran yang diajukan untuk pengembangan penelitian selanjutnya.
BAB 2
LANDASAN TEORI
Bab kedua dari penelitian ini akan membahas tentang teori-teori pendukung dan penelitian sebelumnya yang berhubungan dengan OpenCVdan penerapannya.
2.1 Satwa Langka Indonesia
Satwa Langka Indonesia merupakan satwa yang hanya dapat ditemui di wilayah Indonesia yang jumlah populasinya sangat sedikit sehingga disebut sebagai satwa langka. Satwa khas Indonesia terbagi atas 3 wilayah yang disesuaikan dengan penarikan garis waktu di Indonesia. Di wilayah Indonesia bagian barat merupakan habitat satwa yang memiliki ciri fisik seperti satwa khas yang terdapat pada seluruh penjuru benua Asia. Bagian timur Indonesia merupakan habitat untuk satwa yang memiliki ciri fisik seperti satwa khas benua Australia. Dan pada bagian tengah Indonesia merupakan habitat dari satwa peralihan yaitu satwa yang memiliki ciri fisik campuran Asia dan Australia. Terbaginya habitat satwa dengan ciri fisik tersebut adalah akibat dari pecahnya pangea ratusan juta tahun yang lalu sehingga membuat pecahan berupa pulau-pulau yang terbagi menjadi satuan Nusantara.
2.2 Augmented Reality
Augmented Reality (AR) merupakan sebuah penggabungan antara dunia nyata dan
dunia virtual pada tempat atau keadaan tertentu. AR memungkinkan konten digital tercampur dengan mulus ke dalam persepsi kita tentang dunia nyata. Selain objek 2D dan 3D yang banyak digunakan ada pula aset digital lain seperti file audio dan video, informasi tekstual, dan bahkan informasi penciuman atau perabaan dapat dimasukkan ke dalam persepsi pengguna dari dunia nyata (Yuen, et al. 2011).
Augmented Reality (AR) adalah tampilan langsung ataupun tidak langsung dari
dunia nyata yang ditambahkan dengan oleh computer yang dihasilkan dari masukan sensorik berupa suara, video, gambar atau data GPS. Konsep Augmented Reality dapat digunakan untuk menunjukkan bagaimana data virtual dapat ditambah pada objek
secara real-time memanfaatkan komputasi dan sensor teknologi. Sekarang ini telah banyak yang mengadopsi teknologi AR untuk periklanan, hiburan, wisata, dan pembelajaran.
Sistem augmented dapat ditelusuri kembali ke 1960-an ketika Ivan Sutherland, prekursor penyusunan komputer, mengembangkan set pertama dari sistem-drafting komputer, yang membawa bidang komputer penyusunan kesempatan nyata berkembang. Pada awal 1990-an, para ilmuwan dari Boeing Company menciptakan istilah augmented reality. Konsep yang paling penting dari teknik ini adalah integrasi dan interaksi antara gambar simulasi dan adegan nyata. Ini menekankan tidak hanya interaksi antara penonton dan layar, tetapi juga integrasi timbal balik antara simulasi dan kenyataan, ruang dan materials. Keterampilan augmented reality telah diterapkan secara luas di lapangan seperti rekreasi, kedokteran, pendidikan, militer atau perdagangan. Dengan penggunaan augmented reality dalam produk industri merancang, desainer dapat melakukan berbagai aspek simulasi dan perencanaan untuk produk mereka dengan desain rekayasa. Mendidik, keterampilan augmented reality bisa membuat bahan ajar yang lebih fleksibel, memberikan peserta didik lingkungan yang lebih energik dan efisien.
2.3 Computer Vision
Computer Vision adalah ilmu dan teknologi mesin yang mampu mengekstrak informasi
dari gambar yang diperlukan untuk menyelesaikan tugas tertentu. Sebagai suatu disiplin ilmu, di balik sistem buatan Computer Vision berkaitan dengan teori yang mengekstrak informasi dari gambar. Data gambar dapat berupa video, pandangan dari beberapa kamera, atau data multi-dimensi dari scanner medis.
Menurut Sockman dan Saphiro (2000) ,Computer Vision adalah “To make useful
decisions about real physical objects and scenes based on sensed images”. sedangkan
menurut Forsyth and Ponce: “Extracting descriptions of the world from pictures or
sequences of pictures”.
Kombinasi antara Pengolahan Citra dan Pengenalan Pola juga disebut sebagai
Computer Vision. Semua yang berhubungan dengan proses transformasi citra/gambar
(image) merupakan Pengolahan Citra (Image Processing). Untuk mendapatkan kualitas citra yang lebih baik merupakan tujuan dari proses ini. Sedangkan Pengenalan Pola
(Pattern Recognition), bidang ini berhubungan dengan proses indenfikasi obyek pada citra atau interpretasi citra yang bertujuan untuk mengekstrak informasi/pesan yang disampain oleh gambar citra.
Fungsi / Proses pada computer vision: Untuk menunjang tugas computer vision, terdapat beberapa fungsi pendukung ke dalam sistem ini, yaitu:
2.3.1 Proses penangkapan citra (Image Acquisition)
Pada Manusia proses Image Acqusition dimulai pada mata, kemudian informasi visual diterjemahkan ke dalam suatu format yang kemudian dapat dimanipulasi oleh otak. Serupa dengan proses diatas, computer vision membutuhkan sebuah mata untuk menangkap sebuah sinyal visual. Pada computer vision umumnya sebuah mata adalah sebuah kamera video. Scene atau image diterjemahkan oleh kamera kemudian keluaran dari kamera ini adalah berupa sinyal analog, dimana frekuensi dan amplitudonya berkaitan dengan tingginya sinyal listrik yang dihasilkan yang merepresentasikan detail kecerahan (brightness) pada scene.
Kamera menangkap dan mengamati sebuah kejadian pada satu jalur dalam satu waktu, memindainya dan membaginya menjadi ratusan garis horizontal yang sama. Tiap-tiap garis membuat sebuah sinyal analog. Sinyal analog tersebut tersimpan pada amplitude yang menjelaskan perubahan brightness sepanjang garis sinyal.
Kemudian sinyal listrik ini diubah menjadi bilangan biner yang akan digunakan oleh komputer untuk pemprosesan. Sebuah analog-to-digital converter (ADC), dibutuhkan untuk memproses semua sinyal tersebut oleh computer, karena komputer tidak bekerja dengan sinyal analog. Fungsi dari ADC ini adalah untuk mengubah sinyal analog yang direpresentasikan dalam bentuk informasi sinyal tunggal kedalam sebuah aliran sejumlah bilang biner. Bilangan biner ini kemuudian disimpan didalam memori dan akan menjadi data raw yang akan diproses.
2.3.2 Proses pengolahan citra (Image Processing)
Sejumlah manipulasi utama (initial manipulation) dari data binary akan dilibatkan dalam tahap selanjutnya. Image processing membantu peningkatan dan perbaikan kualitas image, sehingga dapat dianalisa dan di olah lebih jauh secara lebih efisien.
(signal-to-noise ratio = s/n). Sinyal tersebut adalah informasi yang akan merepresentasikan objek
yang ada dalam image. Sedangkan noise adalah segala bentuk interferensi, kekurangan pengamburan, yang terjadi pada suatu objek.
2.3.3 Analisa data citra (Image Analysis)
Mengeksplorasi scene ke dalam bentuk karateristik utama dari objek melalui suatu proses intvestigasi merupakan fungsi dari Image analysis. Sebuah program komputer akan mulai melihat melalui bilangan biner yang merepresentasikan informasi visual untuk mengidentifikasi fitur-fitur spesifikasi dan karakteristiknya. Program image
analysis secara khusus digunakan untuk mencari tepi dan batasan objek dalam gambar.
Sebuah tepian (edge) yang terbentuk antara objek dan latar belakangnya atau antara dua objek yang spesifik. Edge akan terdeteksi sebagai akibat dari perbedaan level brightness pada sisi yang berbeda dengan batas tertentu.
2.3.4 Proses pemahaman data citra (Image Recoginition)
Tahap ini merupakan tahap mengidentifikasi hubungan dan spesifikasi objek yang akan melibatkan kajian tentang teknik artificialintelligent. Recognition berkaitan dengan
template matching yang ada dalam sebuah penulisan scene. Metode ini menggunakan
program pencarian (search program) dan teknik penyesuaian pola (pattern matching
techniques).
2.4 Citra Digital
Citra digital adalah citra dua dimensi yang dapat ditampilkan pada layar monitor komputer sebagai himpunan berhingga (diskrit) nilai digital yang disebut pixel (picture
elements). Pixel adalah elemen citra yang memiliki nilai yang menunjukkan intensitas
warna. Berdasarkan cara penyimpanan atau pembentukannya, citra digital dapat dibagi menjadi dua jenis. Jenis pertama adalah citra digital yang dibentuk oleh kumpulan pixel dalam array dua dimensi. Citra jenis ini disebut citra bitmap atau citra raster. Jenis citra yang kedua adalah citra yang dibentuk oleh fungsi-fungsi geometri dan matematika. Jenis citra ini disebut grafik vektor. Citra digital (diskrit) dihasilkan dari citra analog (kontinu) melalui digitalisasi. Digitalisasi citra analog terdiri sampling dan quantitazion.
Sampling adalah pembagian citra ke dalam elemen-elemen diskrit (pixel), sedangkan quantitazion adalah pemberian nilai intensitas warna pada setiap pixel dengan nilai yang
berupa bilangan bulat (Awcock, 1996).
2.5 Pengolahan Citra Digital
Pengolahan citra merupakan teknik manipulasi citra secara digital yang khususnya menggunakan komputer, menjadi citra lain yang sesuai untuk digunakan dalam aplikasi tertentu. Agar mudah diinterpretasi oleh manusia atau komputer, pengolahan citra harus dilakukan dengan berbagai macam metode untuk mencapai citra sesuai yang diinginkan. Secara umum operasi pengolahan citra digital dilakukan bertujuan memperbaiki kualitas suatu gambar sehingga dapat dengan mudah diinterpretasikan oleh mata manusia dan untuk mengolah informasi yang ada pada suatu gambar untuk kebutuhan identifikasi objek secara otomatis.
2.5.1 Gray-Scaling
Proses ini digunakan untuk menyederhanakan model citra. Hasil citra pada proses ini tidak ada lagi warna, yang ada hanya derajat keabuan. Citra berwarna terdiri dari 3 layer matrik yaitu R-layer, G-layer dan B-layer. Konsep citra diubah dengan mengubah 3
layer di atas menjadi 1 layer matrik gray-scale dan hasilnya adalah citra gray-scale.
Untuk mengubah citra berwarna yang mempunyai nilai matrik r, g dan b menjadi citra gray-scale dengan nilai s, maka konversi dapat dilakukan dengan mengambil rata-rata dari nilai r, g dan b sehingga dapat dituliskan menjadi:
I (x,y) = 𝑅𝑥,𝑦 +𝐺(𝑥,𝑦)+𝐵(𝑥,𝑦)3……….….(2.1) Keterangan:
I (x,y) = nilai intensitas citra grayscale
R (x,y) = nilai intensitas warna merah dari citra asal G (x,y) = nilai intensitas warna hijau dari citra asal B (x,y) = nilai intensitas warna biru dari citra asal Atau dapat menggunakan persamaan:
I = ( 0,299 x R(x,y)) + ( 0,587 x G(x,y)) + (0,144 x B(x,y)) ……… (2.2) (Taylor dan Francis Group, 2007)
2.5.2 Thresholding
Thresholding merupakan konversi citra berwarna ke citra biner yang dilakukan dengan
cara mengelompokkan nilai derajat keabuan setiap pixel kedalam 2 kelas, hitam dan putih. Pada citra hitam putih terdapat 256 level, artinya mempunyai skala “0” sampai “255” atau [0,255], dalam hal ini nilai intensitas 0 menyatakan hitam, dan nilai intensitas 255 menyatakan putih, dan nilai antara 0 sampai 255 menyatakan warna keabuan yang terletak antara hitam dan putih (Munir, 2004).
Pada operasi pengambangan, nilai intensitas pixel dipetakan ke salah satu dari dua nilai, α₁ atau α₂, berdasarkan nilai ambang (threshold) T dapat ditunjukkan seperti pada persamaan 2.3
𝑓𝑥, ′= α₁,f x,y <𝑇α₂,f x,y ≥T ……….………....(2.3) Jika α₁ = 0 dan α₂ = 1, maka operasi pengambangan mentransformasikan citra hitam-putih ke citra biner. Sehingga nilai intensitas pixel semula dipetakan ke dalam dua nilai saja yaitu hitam dan putih. Nilai tersebut dapat berlaku untuk keseluruhan pixel atau untuk wilayah tertentu (berdasarkan penyebaran nilai intensitas pada wilayah tersebut) (Munir, 2004). Salah satu eknik segmentasi yang baik digunakan untuk citra dengan perbedaan nilai intensitas yang signifikan antara latar belakang engan objek utama adalah Thresholding. Proses ini membutuhkan suatu nilai yang digunakan sebagai nilai pembatas yang membatasi objek utama dengan latar belakang, dan nilai tersebut dinamakan dengan threshold. Sementara pada kasus segmentasi objek yang membutuh dua nilai T atau lebih, maka disebut dengan Multiple Threshold (Gonzales dan Woods, 2002).
Gambar 2.1. Citra hasil segementasi (Rahman ,S U et al.2014) 2.5.3 Erosion
Erosi merupakan proses mengurangi area foreground. Efek dari proses ini adalah menyusutkan foreground. Foreground berkurang dari tepi luar ke dalam wilayahnya.
menggunakan penataan elemen (structuring element) dan hal itu dilakukan dengan operasi konvolusi antara gambar dan structuring element. Operasi ini adalah untuk gambar biner. Proses erosi akan mengatur pixelforeground menjadi background jika ada bagian dari structuring element yang mencapai latar belakang saat tengah structuring
element mencapai tepi foreground. Gambar 2.2 memberikan ilustrasi dari proses erosi
dengan contoh structuring element 3 x 3.
(a) (b)
Gambar 2.2 (a) penataan element dan gambar sebelum operasi; (b) hasiloperasi erosi (Naser dan Nanik, 2013)
2.5.4 Dilation
Dilasi adalah operasi kebalikan dari erosi. Proses ini dilakukan untuk memperbesar latar depan. latar depan membentang dari batas luarnya. Jika ada lubang di dalam foreground, maka lubang menyusut. Sama seperti erosi, operasi dilasi menggunakan elemen struktural. Konvolusi dengan gambar.Proses dilasi akan mengatur pixel background untuk menjadi latar depan jika ada bagian dari elemen penataan yang mencapai
foreground ketika pusat dari elemen penataan masih di daerah background. Gambar 2.3
memberikan gambaran tentang proses dilasi dengan contoh elemen 3 x 3 penataan.
(a) (b)
Gambar 2.3 (a) penataan element dan gambar sebelum operasi; (b) hasil operasi dilasi (Naser dan Nanik , 2013)
2.5.5 Contour
Kontur merupakan kurva untuk fungsi dua variabel bersama yang fungsinya memiliki nilai konstan. Proses ini menggabungkan poin-poin di atas tingkat tertentu dan ketinggian yang sama. Sebuah peta kontur menggambarkan kontur menggunakan garis kontur, yang menunjukkan kecuraman lereng dan lembah dan bukit-bukit. gradien fungsi ini selalu tegak lurus dengan garis kontur. Ketika garis yang berdekatan, besarnya gradien biasanya sangat besar. Kontur –kontur adalah berupa garis lurus atau kurva yang menggambarkan persimpangan satu atau lebih bidang horisontal dengan permukaan nyata atau hipotetis. (Amiraj dan Vipul, 2013).
Gambar 2.4 Contour(Amiraj dan Vipul, 2013)
2.5.6 Convex-hull
Convex hull digambarkan secara sederhana dalam sebuah bidang sebagai pencarian
subset dari himpunan titik pada sebuah bidang. Sehingga jika titik-titik tersebut dijadikan poligon maka akan membentuk poligon yang konveks. Suatu poligon dikatakan konveks jika garis yang menghubungkan antar kedua titik dalam poligon tersebut tidak memotong garis batas dari poligon. (Alif Muqtadir et al, 2013).
2.5.7 Convexity Defects
Informasi yang sangat berguna untuk memahami bentuk kontur disediakan oleh
Convexity defects. Banyak karakteristik dari kontur yang rumit dapat digambarkan
dengan convexity defects. Langkah pertama dalam mencari convexity defects adalah menemukan titik awal (starting point) dari convexity defects pada kontur. Titik awal
convexity defects adalah sebuah titik pada kontur yang juga termasuk dalam titik-titik convex hull, tapi titik selanjutnya pada kontur tidak termasuk dalam titik-titik convex hull. Kontur dicari dengan jalur searah jarum jam. (Rudy dan Marcus, 2012).
2.6 OpenCV
OpenCV (Open Source Computer Vision) adalah open source library yang berisi lebih
dari 500 algoritma teroptimasi untuk analisa citra atau video. OpenCV sebagian besar telah diadopsi sebagai alat pengembangan utama oleh komunitas peneliti dan pengembang dalam bidang komputer visi sejak tahun 1999. Inisiatif untuk memajukan penelitian dalam visi dan mempromosikan pengembangan aplikasi yang kaya dan berbasis visi-CPU-intensif pada awalnya dikembangkan oleh tim yang dipimpin oleh Gary Bradski. Setelah OpenCV versi Beta diluncurkan, versi 1.0 diluncurkan pada tahun 2006. Rilis besar kedua terjadi pada tahun 2009 dengan diluncurkannya OpenCV 2 yang menawarkan banyak perubahan penting. OpenCV didesain untuk digunakan bersama dengan Intel Image Processing Library (IPL) dan memperluas fungsionalitas terhadap citra dan pola analisis. Oleh karena itu, OpenCV berbagi format (iplImage) citra yang sama dengan IPL. (Kurniawan,2017)
2.7 Unity 3D
Unity3D merupakan sebuah tools yang terintegrasi untuk membuat animasi 3D,
visualisasi arsitektur atau bentuk obyek 3 dimensi pada video games. Lingkungan dari pengembangan unity3D berjalan pada Microsoft Windows dan Mac Os X. Serta aplikasi yang dibuat oleh unity3D dapat berjalan pada berbagai platform seperti Windows, Mac,
Xbox 360, Playstation 3, Wii, Ipad, Iphone dan tidak ketinggalan pada platform
Android. Unity juga dapat membuat game berbasis browser yang menggunakan
Unityweb player plugin, yang dapat bekerja pada Mac dan Windows, tapi tidak pada
Adapan fitur–fitur yang dimiliki Unity 3D (Rizki et al. 2012) antara lain sebagai berikut :
1. Integrated Development Environment (IDE) atau lingkungan pengembangan terpadu.
2. Penyebaran hasil aplikasi pada banyak platform. Seperti Android, Flash, iOS,
Blackberry, Wii, Xbox dan lain – lain.
3. Engine Grafis menggunakan Direct3D (Windows), OpenGL (Mac, Windows),
OpenGL ES (iOS) dan proprietary (Wii).
4. Game Scripting melalui Mono, Scripting yang dibangun pada Mono, implementasi
Open Source dari NET Framework. Selain itu pemrograman dapat menggunakan
Unity Script (Bahasa Kustom dengan sintaks Java Script-Inspired, bahasa C# atau Boo (yang memiliki sintaks-Python-inspired).
2.8 C#
C# (dibaca C-Sharp) adalah bahasa pemrograman berbasis obyek yang memiliki inti, banyak kemiripannya dengan Java, C++, dan VB. Kenyataannya, C# merupakan penggabungan efisiensi dari C++, desain berbasis objek yang sederhana dan bersih dari
Java dan penyederhanaan bahasa dari Visual Basic. Seperti Java, C# juga tidak
membolehkan multipleinhetitance atau penggunaan pointer (pada safe/managed code), tetapi juga menyediakan garbage memory collection pada runtime, tipe dan pengecekan akses memori. C# mempertahankan operasi berguna yang unik pada C++ seperti operator overloading, enumeration, pre-processor directive, pointer (pada
unmanaged/unsafe code), dan function pointer (pada pengutusan form) yang
berlawanan dengan Java.(Kurniawan,2017)
2.9 Penelitian Terdahulu
Pada tahun 2017, Kurniawan melakukan penelitian mengubah scene pada augmented reality heritage kota Medan. Pada penelitian ini perintah yang digunakan untuk berpindah antara scene satu dengan yang lainnya memanfaatkan gerakan tangan yang seharusnya difungsikan oleh tombol pada alat input ataupun tombol pada augmented reality. Kurniawan menggunakan dua buah kamera pada penelitiannya, kamera pertama
digunakan untuk membaca marker dan kamera kedua digunakan untuk mendeteksi gerakan tangan.
Pada tahun 2016, Chairunnisa melakukan penelitian mengendalikan aplikasi desktop menggunakan gerakan tangan. Pada penelitian ini perintah umum pada aplikasi yang biasanya dengan cara menekan panel tertentu dapat digantikan dengan gerakan tangan. Pada saat menjalankan aplikasi, kamera web dalam keadaan menyala untuk mendeteksi gerakan pengguna, kemudian untuk mengenali gerakan tangan pengguna dilakukan proses pendeteksian warna kulit, penghilangan latar belakang yang tidak diperlukan, perbaikan citra, dan ekstraksi fitur. Lalu selanjutnya dilakukan klasifikasi arah dan jumlah jari tangan sesuai dengan perintah tertentu.
Permainan yang terkenal seperti catur juga sudah pernah dibuat kedalam augmented reality. Hal ini dilakukan oleh Marios Bikos dan rekan-rekannya pada tahun 2014. Catur augmented ini dimainkan dengan mengenali posisi jari tangan seperti mencubit (menjepit benda dengan dua jari) untuk memilih pion yang akan di gerakkan dan tentu saja pengenalan arah gerakan tangan untuk mengetahui kemana pion di arahkan. Bikos menggunakan single RGB-D camera untuk menangkap pergerakan tangan.
Salah satu penelitian untuk menampilkan augmented reality dengan pengenalan telapak tangan dilakukan pada tahun 2014 oleh Khawla Benabderrahim dan rekannya Mohamed Slim Bouhlel. Pada penelitian mereka, objek augmented yang di tampilkan berupa garis 2 dimensi yang mengelilingi lingkar jari tangan. Mereka menggunakan metode pengenalan warna kulit dan background substraction.
Pada tahun 2013, Seo dan Lee membuat augmented reality yang didalamnya user dapat berinteraksi dengan objek virtual. Mereka menggunakan metode pengenalan ujung jari (fingertips). Mereka juga menggunakan Kinect agar dapat lebih mudah mendeteksi pergerakan lebih dari satu ujung jari.
Pada tahun 2009, Yu dan Chen melakukan penelitian monitoring sistem lalu lintas dengan mendeteksi gerakan secara real-time. Mereka menggunakan temporal different untuk mendeteksi gerakan pada setiap objek yang tertangkap oleh kamera. Pada penelitian ini, pada tahap input frame terdapat dua frame berbeda, kemudian dari kedua frame tersebut dicari titik perbedaan dari objek yang terdapat pada kedua frame dengan mengabaikan background. Setelah mendapat perbedaan maka dapat ditentukan objek tersebut merupakan objek bergerak dan kemudian dideteksi.
Pada tahun 2007, Lee dan Hollerer meneliti Markerless Augmented reality. Pada penelitian ini pengganti marker 2 dimensi yang biasa dipakai adalah telapak tangan. Objek virtual 3 dimensi akan ditampilkan di atas telapak tangan apabila telah selesai dideteksi dengan beberapa tahap, yaitu hand segmentation, finger tip detection dan
finger tip tracking. Tahap hand segmentation sendiri memiliki dua bagian penting
dalam menentukan warna kulit yaitu Mixture of Gaussians dan Learned Histogram.
Tabel 2.1 Penelitian Terdahulu
NO JUDUL PENELITI TAHUN METODE OBJEK
1. Handy AR: Markerless Inspection of Augmented Reality Objects Using FingerTip Tracking. Yu et al 2007 FingerTip Tracking OBJEK VIRTUAL 3D 2. A real-time motion detection algorithm for traffic monitoring systems based on consecutive temporal difference. Lee et al 2009 Consecutive Temporal Difference OBJEK NYATA
3. Direct hand touchable interactions in augmented reality environments for natural and intuitive user experiences.
Soe & Lee 2013 FingerTip
Tracking + Kinect OBJEK VIRTUAL 3D 4. Detecting and Tracking the hand to create an augmented reality system Benabderrahi m & Bouhlel 2014 Pengenalan Telapak Tangan OBJEK VIRTUAL 3D 5. An interactive augmented reality chess game using bare-hand pinch gesture Bikos et al 2014 Pengenalan Posisi Jari Tangan OBJEK VIRTUAL 3D 6. Pengenalan Gerakan Tangan Manusia Untuk Interaksi Manusia-Komputer. Chairunnisa, Tengku 2016 Pengenalan Gerakan Tangan COMPUTER CONTROL 7. Pengenalan Jari Tangan Sebagai Interaksi Pada Kurniawan, Ridho S 2017 Pengenalan Gerakan Tangan SCENE 3D
Augmented Reality Bangunan Heritage Kota Medan Kawasan Matsum dan Kesawan
BAB 3
ANALISIS DAN PERANCANGAN
Bab ini akan membahas tentang implementasi metode yang digunakan untuk mengenali gerakan tangan manusia. Adapun 2 (dua) tahap yang akan dibahas pada bab ini, yaitu tahap analisis dan tahap perancangan system.
3.1 Data Yang Digunakan
Data yang digunakan dalam penelitian ini berupa citra yang diambil secara real-time melalui kamera web. Dalam pengambilan citra, ada beberapa aspek yang yang perlu diperhatikan yaitu kualitas kamera web, pencahayaan(lighting) dan jarak pengambilan gambar.
3.2 Analisis Sistem
Metode yang digunakan untuk mengenali jumlah jari tangan manusia melalui kamera
web yang digunakan sebagai interaksi manusia-komputer untuk menjalankan instruksi
yang telah ditentukan. Penelitian ini terdiri dari beberapa langkah, adapun langkah-langkah tersebut yaitu: pengambilan citra atau gambar melalui kamera web; resizing citra; konversi warna RGB ke HSV; pendeteksian warna kulit dengan mengatur nilai
range HSV yang diinginkan; memperbaiki citra dengan median blur utk menghilangkan noise dandilasi; ekstraksi fitur dengan contour dan mencari convex-hull dari contour
yang telah tertangkap; menghitung convexity defects; menghitung jumlah jari tangan yang terdeteksi. Setelah langkah tersebut telah dilakukan dan berhasil maka akan didapatkan jumlah jari tangan manusia yang berupa suatu instruksi atau perintah kepada objek 3D yang terdapat pada aplikasi Unity 3D. Adapun arsitektur umum yang menggambarkan metode pada penelitian ini ditunjukkan pada Gambar 3.1.
Gambar 3.1 Arsitektur Umum 3.2.1 Skin Detection
Proses segmentasi digunakan untuk mendapatkan objek yang akan diidentifikasi yang dalam hal ini adalah citra tangan. Agar citra tangan dari pengguna yang diambil dari kamera dapat diidentifikasi sebagai suatu perintah.
Pendeteksian objek tangan berdasarkan warna kulit ini sangat dipengaruhi oleh intensitas cahaya pada citra dan juga kualitas dari kamera web itu sendiri dan juga latar
MARKER SCANNING PROCESS CITRA KAMERA JARI TANGAN PEMILIHAN ANIMASI BERDASARKAN JUMLAH JARI MARKER DEFINE MARKER IMAGE MARKER SCAN COMPARE OBJECT POSITIONING DATABASE VIRTUAL OBJECT OUTPUT Ditangkap Oleh Terbagi Menjadi Dua PRE-PROCESSING KONVERSI RGB KE HSV ATUR RANGE HSV TRESHOLDING PERBAIKAN CITRA EROTION DILATION MEDIAN BLUR EKSTRASI CITRA CONVEXITY DEFECTS CONVEX-HULL CONTOUR
sebagai segmentasi gambar berdasarkan warna. Adapun langkah-langkah mendeteksi warna kulit manusia sebagai berikut.
3.2.1.1 Konversi RGB ke HSV
Setelah citra tertangkap oleh kamera web, citra akan dikonversi ke ruang warna HSV. Dalam proses ini, kita mendapatkan nilai saluran tunggal (H) yang memegang nilai warna pixel dan dua saluran lainnya (S dan V) yang memegang tingkat saturasi dan kecerahan tingkat pixel. Pada penelitian ini menggunakan fungsi cvtColor() yang tersedia pada OpenCV. Berikut adalah penjelasan fungsi tersebut.
cvtColor (Mat src, Mat dst, Imgproc, int code);
Parameter:
Src : citra masukan yaitu rgbaMat
Dst : citra keluaran yaitu HSVMat
Code : kode konversi ruang warna yaitu COLOR_BGR2HSV
3.2.1.2 Atur Range HSV
Deteksi warna kulit dilakukan dengan cara menentukan rentang nilai dari H, S, dan V, Sehingga untuk setiap piksel dalam citra, jika berada pada nilai range, maka akan dianggap sebagai warna kulit, sedangkan untuk yang berada di luar range tersebut akan dianggap sebagai background. Untuk mengecek apakah element tersebut berada di
range pada penelitian ini digunakan fungsi Core.inRange() yang tersedia pada OpenCV.
Berikut ini adalah penjelasan tentang fungsi tersebut.
inRange (Mat src, Scalar lowerb, Scalar upperb, Mat dst);
Parameter :
src : citra masukan yaitu HSVMat
dst : citra keluaran yaitu HSVMat
Lowerb : batas bawah array
3.2.1.3 Tresholding
Untuk setiap piksel dalam citra, jika nilai H, S, V berada dalam rentang tersebut, maka akan dianggap sebagai warna kulit dan nilainya akan diubah menjadi 255 (warna putih). Sedangkan untuk yang berada di luar rentang itu, akan dianggap sebagai latar belakang dan akan diubah nilainya menjadi 0 (warna hitam). Dengan metode ini, didapatkan citra biner hasil skin detection dengan warna putih merepresentasikan tangan pengguna dan warna hitam merepresentasikan background.
3.2.2 Perbaikan Citra
Hasil dari proses segmentasi yang berupa gambar hitam putih (binary image) yang menunjukkan bagian kulit dari gambar masukan. Akan tetapi citra hasil segmentasi tersebut masih terdapat noise& potongan dari beberapa benda lainnya pada citra, seperti latar belakang gambar. Oleh karena itu, perlu dilakukan beberapa tahapan proses morfologi untuk membersihkan gambar dari noise dan potongan tersebut. Adapun beberapa proses morfologi tersebut yaitu. Erosion, dilation dan median blur.
3.2.2.1 Erosion
Proses erosi membuang piksel dari gambar atau ekivalen yaitu piksel putih yang melekat pada daerah background, sehingga akan menyebabkan piksel putih berkurang luasnya (shrinking) dengan tujuan untuk menghilangkan piksel yang memiliki noise pada citra. Adapun fungsi yang digunakan peneliti untuk proses erosi yaitu.
Mat element = getStructuringElement(erosion_type,Size (2*erosion_size+1),Point(erosion_size,erosion_size));
Imgproc.erode(src, dst, element);
Parameter:
Src : citra masukan
Dst : citra keluaran
Element : Ini adalah kernel yang akan di gunakan untuk melakukan operasi. Jika tidak ditentukan dahulu, maka defaultnya adalah matriks 3x3 sederhana. Akan tetapi, kita dapat menentukan bentuknya. Untuk ini, kita perlu menggunakan fungsi
Erosi_type : bentuk dari kernel, bentuk yang digunakan yaitu MORPH_ELLIPSE yang berbentuk Ellipse
Erosion_size : ukuran celah linier, ukuran yang digunakan pada penelitian ini adalah 5
3.2.2.2 Dilation
Proses dilasi akan menyebabkan piksel putih bertambah luasnya. Tujuan dilakukan proses dilasi adalah karena saat proses erosi dilakukan pada citra, daerah yang diproses termasuk juga kulit ikut mengalami shrinking sehingga perlu dilakukan suatu proses yang mengembalikan daerah tersebut agar bagian tangan nantinya akan terdeteksi dengan benar.
Mat element = getStructuringElement(dilation_type,Size (2*dilation_size+1),Point(dilation_size,dilation_size));
Imgproc.dilate(src, dst, element);
Parameter:
Src : citra masukan
Dst : citra keluaran
Element : Ini adalah kernel yang akan di gunakan untuk melakukan operasi. Jika tidak ditentukan dahuly, maka defaultnya adalah matriks 3x3 sederhana. Akan tetapi, kita dapat menentukan bentuknya. Untuk ini, kita perlu menggunakan fungsi getStructuringElement:
Dilation_type : bentuk dari kernel, bentuk yang digunakan yaitu MORPH_ELLIPSE yang berbentuk Ellipse
Dilation_size : ukuran celah linier, ukuran yang digunakan pada penelitian ini adalah 5
3.2.2.3 Median Blur
Untuk menghilangkan noise yang masih terdapat pada citra setelah proses dilasi dilakukan proses Median blur, agar tidak terdefinisi sebagai titik objek. berikut adalah fungsi yang tersedia pada library OpenCV.
medianBlur(InputArray src, OutputArray dst, int ksize);
Parameter:
src : citra masukan
dst : Citra keluaran
ksize : ukuran celah linear, biasanya lebih dari 1, contohnya: 3, 5, 7.
3.2.2.4 Ekstraksi Fitur
Proses ekstraksi fitur meliputi contour,convex-hull dan convexity defects pada citra. Proses ini dilakukan untuk mendapatkan informasi yang diinginkan untuk proses analisis ataupun pengklasifikasian data citra. Berikut ini adalah penjelasan dari masing-masing proses yang disebutkan diatas.
3.2.2.5 Contour
Kontur ditarik sekitar titik-titik putih dari tangan yang ditemukan dari hasil thresholding citra masukan. Hasil tresholding tersebut akan terbentuk lebih dari satu titik pada gambar karena noise dari latar belakang citra. Pada penelitian ini digunakan fungsi
findcontours() yang telah tersedia oleh OpenCV untuk mendeteksi titik-titik kontur pada
citra hasil perbaikan noise sebelumnya. Berikut adalah penjelasan dari fungsi tersebut.
findContours (src image, contours, hierarcy, mode, method, Point());
Parameter :
Image : citra masukan, yaitu citra hasil proses perbaikan citra
Contours : titik kontur yang terdeteksi. Setiap titik kontur yang terdeteksi akan disimpan didalam list titik vector
hierarchy : keluaran berupa titik vektor yang bersifat pilihan. Dalam parameter ini disimpan berbagai informasi dari setiap titik
kontur, misalnya titik kontur sebelumnya, titik kontur selanjutnya, titik kontur utama, dsb.
Mode : cara pendeteksian titik kontur. Pada penelitian ini dilakukan dengan cara CV_RETR_EXTERNAL, yang mengambil semua titik kontur dan merekontruksi penuh hirarki titik-titik kontur yang terhubung
Method : metode pendekatan titik kontur. Pada penelitian ini dilakukan
dengan cara CV_CHAIN_APPROX_SIMPLE, yang
menekankan pada segmen horizontal, vertikal, dan diagonal dan menentukan titik akhir pada kontur.
Setelah contour didapatkan pada citra masukan, maka titik-titik yang didapatkan akan digambar membentuk sebuah gambar tangan. Fungsi yang digunakan pada penelitian ini yaitu drawContours() yang telah tersedia pada library OpenCV.
3.2.2.6 Convex-hull
Convex hull adalah metode yang digunakan untuk mendeteksi kontur atau obyek pada
citra. Titik-titik yang dihubungkan dengan garis yang mengelilingi kontur (objek pada citra) menjadi susunan Convex hull. Setelah nilai kontur didapatkan, dari kontur tersebut akan dicari kontur yang terbesarnya (objek tangan harus yang paling besar) sebelum dilakukan pencarian convex hullnya .Fungsi yang digunakan pada penelitian ini yaitu
convexHull(). Adapun penjelasan fungsi tersebut yaitu.
convexHull(InputArray points, OutputArray hull);
Parameter:
Points : titik kontur yang terdeteksi dan telah disaring.
Hull : hasil keluaran Convex-hull.
3.2.2.7 Convexity defects
Setelah kontur terbesar dan Convex-hull terdeteksi, maka proses selanjutnya yaitu
Convexity defects.yang merupakan titik temu antara titik kontur dan garis Convex-hull.
Pada penelitian ini, digunakan fungsi convexityDefects() yang telah tersedia di OpenCV untuk mendeteksi Convexity defects. Berikut ini adalah penjelasan tentang fungsi tersebut.
convexityDefects(contour, convexHull, convexityDefects);
Parameter :
contour : Titik-tik kontur terbesar yang terdeteksi
convexhull : Convex-hull yang terdeteksi
convexityDefects : hasil keluaran Convexity Defects.
3.3 Diagram Aktivitas
Diagram aktivitas atau activity diagram adalah diagram yang menggambarkan aktivitas yang terjadi selama sistem dijalankan. Diagram aktivitas mendeskripsikan bagaimana awal proses dimulai, keputusan tindakan yang dilakukan dan bagaimana akhir atau hasil dari proses tersebut.
3.3.1 Diagram Aktivitas Info Satwa
Diagram aktifitas ini menggambarkan proses aktifitas aplikasi dalam menampilkan informasi pada menu Info Satwa. Diagram Aktifitas dapat dilihat pada gambar 3.3
Gambar 3.2 Diagram Aktivitas pilih menu Info Satwa Menjalankan
Aplikasi
Loading Unity Asset dan konfigurasi Aplikasi Tampilan Menu Utama Pilih Menu Info Satwa Tampilan Info Satwa Tampilan Menu Utama Pilih Menu Kembali
Pada gambar diatas menjelaskan proses setelah user menjalankan aplikasi system kemudian meloading aplikasi dan menampilkan tampilan menu utama, setelah itu user memilih salah satu menu yang tersedia yaitu menu infosatwa. Setelah user memilih menu tersebut, maka system menampilkan tampilan panel info satwa, didalam panel inforsatwa terdapat tombol untuk kembali, joika user memilih tombol tersebut maka system akan kembali ke menu utama.
3.3.2 Diagram Aktivitas Setelan
Diagram aktifitas ini menggambarkan proses aktifitas aplikasi dalam menampilkan informasi pada menu Setelan dan user dapat mengubah pengaturan aplikasi ketika memilih menu Setelan. Pada diagram ini, setelah user menjalankan aplikasi dan system menampilkan menu utama user dipersilahkan untuk memilih menu pada halaman utama. Ketika user memilih menu setelan, maka aplikasi menampilkan panel halaman setelan yang bisa mengatur volume suara aplikasi. Saat user mulai mengatur volume suara aplikasi dengan menggeser slider maka system akan menyesuaikan pengaturan volume suara dengan suara aplikasi. Dan jika user memilih tombol kembali maka system akan menampilkan panel menu utama. Diagram Aktifitas dapat dilihat pada gambar 3.3
Menjalankan Aplikasi
Loading Unity Asset dan konfigurasi Aplikasi Tampilan Menu Utama Pilih Menu Setelan Tampilan Setelan Mengubah Konfigurasi Aplikasi Pilih Konfigurasi Setelan Tampilan Menu Utama Pilih Menu Kembali
Gambar 3.3 Diagram Aktivitas pilih menu Setelan
3.3.3 Diagram Aktivitas Riwayat
Diagram aktifitas ini menggambarkan proses aktifitas aplikasi dalam menampilkan informasi pada menu Riwayat. user menjalankan aplikasi system kemudian meloading aplikasi dan menampilkan tampilan menu utama, setelah itu user memilih salah satu menu yang tersedia yaitu menu riwayat. Setelah user memilih menu tersebut, maka system menampilkan tampilan panel riwayat. Di dalam panel riwayat terdapat tombol untuk kembali, jika user memilih tombol tersebut maka system akan kembali ke menu utama. Diagram Aktifitas dapat dilihat pada gambar 3.4
Gambar 3.4 Diagram Aktivitas pilih menu Riwayat
3.3.4 Diagram Aktifitas Menu Keluar
Diagram aktifitas ini menggambarkan proses aktifitas aplikasi ketika memilih menu keluar. Diagram Aktifitas dapat dilihat pada gambar 3.6
Menjalankan Aplikasi
Loading Unity Asset dan konfigurasi Aplikasi Tampilan Menu Utama Pilih Menu Riwayat Tampilan Riwayat Tampilan Menu Utama Pilih Menu Kembali
Gambar 3.5 Diagram Aktivitas pilih menu keluar
Sesuai dengan gambar diatas, saat user telah menjalankan aplikasi dan system menampilkan menu utama kemudian memilih menu keluar maka system akan otomatis menutup (keluar) aplikasi.
3.4 Flowchart
Diagram alur atau flowchart merupakan sebuah diagram yang menerangkan sebuah proses dan alur yang terjadi dalam sistem. Hal ini dibuat untuk menjelaskan tahapan peristiwa yang terjadi pada saat sebuah sistem aplikasi dijalankan. Pada gambar 3.7 dapat dilihat flowchart dari aplikasi ini
Menjalankan
Aplikasi
Loading Unity Asset dan konfigurasi
Aplikasi
Tampilan Menu Utama
Pilih Menu
B C D E F G H I J K L M N O
B C D E F G H I J K L M N O
G am b a r 3. 6 F lowch a rt S is te m
3.5 Perancangan Antarmuka
Pada tahap ini akan dilakukan perancangan antar muka dari sistem pengenalan gerakan tangan yang digunakan untuk pemilihan animasi pada Unity. Rancangan antar muka ini diharapkan agar dapat membuat pengguna lebih tetarik dan kemudahan dalam pengaplikasiannya. Pada penelitian ini, ada terdapat 6 halaman rancangan antar muka yaitu halaman utama, halaman pemilihan scene, halaman tampilan scene, halaman info
satwa, halaman setelan dan halaman riwayat. Seperti yang ditampilkan pada storyboard berikut:
Tabel 3.1 Storyboard
Scene 01 Halaman utama merupakan
halaman pertama yang muncul saat aplikasi dijalankan
1. Frame ini berisi a. Judul frame.
b. Tombol Mulai, yang berfungsi untuk masuk kedalam panel pemilihan
scene.
c. Tombol Bantuan untuk masuk kedalam panel yang berisikan panduan
penggunaan aplikasi. d. Tombol Info Satwayang
berfungsi untuk masuk kedalam beberapa scene yang menampilkan informasi 5 satwa langka yang ada pada aplikasi ini. e. Tombol Setelanyang
berfungsi untuk masuk ke dalam panelsetelan untuk mengatur suara aplikasi. f. Tombol Riwayatyang
berfungsi untuk masuk ke dalam panel riwayat pembuat aplikasi.
g. Tombol Keluaryang berfungsi untuk mengakhiri aplikasi tersebut.
Background yang berisi video
animasi hutan dan pengguna seolah-olah sedang berjalan di dalamnya.
Scene 02 Setelah rancangan halaman
utama terbuka selama beberapa waktu, maka akan berpindah secara otomatis ke halaman pemilihan scene, halaman ini berisi beberapa tombol untuk pemilihan scene yang diinginkan pengguna.
1. Frame ini berisi a. Judul frame
b. Tombol Aungmented Reality, yang berfungsi untuk menampilkan scene augmented reality.
c. Tombol +OpenCV, yang berfungsi untuk
menampilkan scene augmented reality yang sudah dilengkapi dengan fungsi OpenCV.
d. Tombol +Shadow, yang berfungsi untuk
menampilkan scene augmented reality dimana objek 3D pada scene ini sudah memiliki bayangan. e. Tombol Complete, yang
berfungsi untuk menampilkan scene augmented reality yang sudah dilengkapi dengan fungsi OpenCV dan bayangan.
f. Tombol Kembali, yang berfungsi untuk kembali ke menu utama.
Background yang berisi video
animasi hutan dan pengguna seolah-olah sedang berjalan di dalamnya
Scene 03 Setelah pengguna memilih scene
yang akan mereka mulai, maka akan muncul scene yang mereka pilih.
2. Frame ini berisi g. Judul frame
h. Tombol Aungmented Reality, yang berfungsi untuk menampilkan scene augmented reality.
i. Tombol Badak Jawa, yang berfungsi untuk
menampilkan scene augmented reality yang menyajikan objek 3D satwa.
j. Tombol +Shadow, yang berfungsi untuk
menampilkan scene augmented reality dimana objek 3D pada scene ini sudah memiliki bayangan. k. Tombol Complete, yang
berfungsi untuk menampilkan scene augmented reality yang sudah dilengkapi dengan fungsi OpenCV dan bayangan.
l. Tombol Kembali, yang berfungsi untuk kembali ke menu utama.
Scene 04 Setelah pengguna memilih scene Info Satwa maka akan mucul halaman scene yang berisikan informasi satwa sesuai dengan gambar yang ada pada jendela di panel ini.
1. Frame ini berisi a. Judul frame.
b. Jendela yang menampilkan
animasi satwa
c. Tombol Kembali, yang berfungsi untuk kembali ke menu utama.
d. Tombol Selanjutnya untuk masuk ke dalam scene Info Satwa selanjutnya yang menampilkan infromasi mengenai satwa yang berbeda.
Background yang berisi video
animasi hutan dan pengguna seolah-olah sedang berjalan di dalamnya.
Scene 05 Setelah pengguna memilih
tombol setelan di menu utama maka akan mucul panel setelan.
2.2 Frame ini berisi
a. Judul frame.
b. Slider sound forest volume, yang berfungsi
untuk mengatur besar kecilnya suara hutan.
c. Slider sound animal volume, yang berfungsi untuk
mengatur besar kecilnya suara binatang.
d. Slider sound sfx volume, yang berfungsi untuk mengatur besar kecilnya suara langkah kaki.
e. Tombol Kembali, yang berfungsi untuk kembali ke menu utama.
Background yang berisi video
animasi hutan dan pengguna seolah-olah sedang berjalan di dalamnya.
Scene 06 Setelah pengguna memilih
tombol riwayat di menu utama
maka akan mucul panel
Riwayat.
Frame ini berisi a. Judul frame.
b. Keterangan penyusun c. Tombol Selanjutnya
berfungsi untuk pindah ke panel riwayat berikutnya
Background yang berisi video
animasi hutan dan pengguna seolah-olah sedang berjalan didalamnya
Scene 07 Setelah pengguna memilih
tombol riwayat di menu utama dan kemudian memilih tombol selanjutnya maka akan mucul panel Riwayat ke-2.
Frame ini berisi a. Judul frame.
b. Logo instansi dan software yang mendukung
pembuatan aplikasi. c. Tombol kembali yang
berfungsi untuk kembali ke menu utama
Background yang berisi video
animasi hutan dan pengguna seolah-olah sedang berjalan didalamnya
BAB 4
IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1 Konfigurasi Sistem
Implementasi metode-metode yang digunakan untuk pengenalan jumlah jari tangan manusia yang digunakan untuk pemilihan scene augmented reality satwa langka Indonesia yang menggunakan aplikasi Unity 3D.
4.1.1 Konfigurasi Perangkat Keras
Spesifikasi perangkat keras yang digunakan pada penelitian ini dapat dilihat dari table 4.1 berikut:
Tabel 4.1 Konfigurasi perangkat keras yang digunakan
No Jenis Komponen Komponen yang digunakan
1. Processor
Intel Core i5 quad-core
3,4 Ghz (Turbo Boost hingga 3,8 GHz)
2. Memory 8 GB (dua 4 GB) dari memori DDR4 2400 MHz;
3. Storage Fusion Drive 1 TB
4. Resolusi Layar 5120 x 2880
5. Kamera HD Pro Webcam C920
4.1.2 Konfigurasi Perangkat Lunak
Spesifikasi perangkat keras yang digunakan pada penelitian ini dapat dilihat dari table 4.2 berikut:
Tabel 4.2 Konfigurasi perangkat lunak yang digunakan