IMPLEMENTASI CONTENT BASED VIDEO RETRIEVAL MENGGUNAKAN SCALE INVARIANT FEATURE TRANSFORM (SIFT)
SKRIPSI
WIDYA MAYESTI MANURUNG 141401064
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN
2018
IMPLEMENTASI CONTENT BASED VIDEO RETRIEVAL MENGGUNAKAN SCALE INVARIANT FEATURE TRANSFORM (SIFT)
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
WIDYA MAYESTI MANURUNG 141401064
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2018
iii
UCAPAN TERIMA KASIH
Puji dan syukur kehadirat Tuhan Yang Maha Esa yang telah melimpahkan berkat serta karunia-Nya kepada penulis sehingga penulis dapat menyelesaikan skripsi ini tepat waktu dan sebagaimana mestinya yang merupakan salah satu persyaratan untuk memperoleh gelar Sarjana Komputer pada Program Studi Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara (USU), Medan.
Dalam pengerjaan studi dan pengerjaan skripsi ini, penulis telah menerima banyak dukungan berupa doa, pemikiran, kerjasama, semangat, dan dana dari beberapa pihak.
Penulis ingin menyampaikan rasa hormat dan terimakasih yang sebesar-besarnya kepada:
1. Bapak Prof. Runtung Sitepu, S.H., M.Hum. selaku Rektor Universitas Sumatera Utara.
2. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
3. Bapak Dr. Poltak Sihombing, M.Kom. selaku Ketua Program Studi S-1 Ilmu Komputer Universitas Sumatera Utara dan sekaligus Dosen Pembimbing I yang telah memberikan bimbingan, saran dan dukungan kepada penulis dalam pengerjaan skripsi ini.
4. Ibu Amalia, ST, MT selaku Dosen Pembimbing II yang telah memberikan bimbingan, saran dan dukungan kepada penulis dalam pengerjaan skripsi ini.
5. Bapak Dr. Syahril Efendi, S.Si, M. IT selaku Dosen Pembanding I yang telah memberikan bimbingan, saran dan dukungan kepada penulis dalam pengerjaan skripsi ini.
6. Bapak Sajadin Sembiring, S.Si, M.Comp.Sc selaku Dosen Pembanding II yang telah memberikan bimbingan, saran dan dukungan kepada penulis dalam pengerjaan skripsi ini.
7. Seluruh tenaga kerja dan pegawai Program Studi S1 Ilmu Komputer Fasilkom-TI USU.
8. Ayahanda Mangatas Manurung, Ibunda Almh. Uly Sitanggang, dan Ibunda Tetty Siregar serta Abangda Kevin Adrianto Manurung, SST, Sandy Yudhistira Manurung, Febyodelia Manurung, dan Christian Manurung yang senantiasa
v
memberikan doa dan dukungan yang begitu besar sehingga skripsi ini dapat diselesaikan.
9. Keluarga Besar Manurung yang sudah memberikan dukungan dan semangat yang begitu besar kepada penulis selama penyelesaian skripsi ini.
10. Samuel Sormin, S.Kom, sahabat terkasih yang telah banyak membantu penulis melalui dukungan dan doa agar penulis tetap semangat mengerjakan skripsi ini.
11. Sahabat terkasih (Brielle) Sarianti Purba, Maria Batubara, Ernita Rizki Manullang, dan Febri Aro Gea, S. Kom yang telah banyak memberikan doa, dukungan dan semangat selama menjalani proses perkuliahan dan penyelesaian skripsi ini.
12. Abang dan kakak senior di S1 Ilmu Komputer USU yang telah membagikan pengalaman-pengalamannya.
13. Sahabat stambuk 2014 S1 Ilmu Komputer USU khususnya KOM A yang selalu memberikan dukungan dan semangat baru.
Semoga Tuhan Yang Maha Esa memberi kelimpahan berkat kepada semua pihak yang telah memberikan bantuan, semangat, dukungan dan perhatian kepada penulis dalam menyelesaikan skripsi ini
Medan, Mei 2018
Penulis
ABSTRAK
Video Retrieval ataupun Content Based Video Retrieval(CBVR) adalah sebuah metode temu kembali berkas video yang digunakan sebagai pendekatan untuk memfasilitasi pencarian informasi dan penelusuran video yang tidak hanya dapat mengandalkan tag yang diberikan oleh pemilik video dalam koleksi video yang besar. Dalam pendekatan ini, CBVR memiliki empat tahapan diantaranya, tahapan segmentasi video yaitu proses pembagian atau pemecahan video menjadi frame-frame, tahapan ekstraksi keyframe yaitu proses otomatis yang dilakukan sistem dalam memilih keyframe dengan cara mengekstrak frame-frame menjadi keyframe-keyframe yang dapat mewakili karakter video, tahapan ekstraksi fitur yaitu proses mengekstrak fitur gambar seperti warna dan tekstur dari keyframe, tahapan pencocokan fitur yaitu proses pendeteksian keypoint yang saling terhubung antar citra, semakin banyak nilai keypoint yang terhubung maka kecocokan citra akan semakin tinggi. Tahapan ekstraksi fitur dan pencocokan fitur menggunakan algoritma Scale Invariant Feature Transform (SIFT). SIFT merupakan salah satu pendekatan untuk melakukan deteksi dan ekstraksi deskriptor fitur local.
Dengan menggunakan SIFT, suatu citra akan di ubah menjadi vector fitur local yang kemudian akan digunakan sebagai pendekatan dalam mendeteksi objek yang dimaksud.
SIFT diperkenalkan pada tahun 1999 oleh seorang peneliti dari University of British Columbia bernama David G. Lowe. Parameter yang digunakan untuk mengukur kualitas hasil temu balik video adalah nilai dari Recall, Precision, dan Running Time.
Berdasarkan hasil pengujian menggunakan 20 video, nilai rata-rata Recall adalah 77%, nilai rata-rata Precision adalah 90%, dan Running Time adalah 255 detik.
Kata Kunci : Video, Citra, Temu Balik, Query, Ekstraksi Fitur, Content Based Video Retrieval (CBVR), Scale Invariant Feature Transform (SIFT).
vii
IMPLEMENTATION OF CONTENT BASED VIDEO RETRIEVAL WITH SCALE INVARIANT FEATURE TRANSFORM (SIFT)
ABSTRACT
Video Retrieval (IR) or Content Based Video Retrieval (CBVR) is a method of information retrieval approach for facilitating the searching and browsing that not only relies on tags provided by video owners of large video collections. In this approach, CBVR has four stages including, video segmentation stages is the process of splitting the video into frames, stage extraction keyframe is an automated process perfomed by the system when choosing keyframe by extracting frames into keyframes that represent video characters, feature extraction stage is the process of extracting image features such as color and texture of the keyframe, feature matching stage is the process of detecting keypoints are connected between images, the more keypoint values are connected then the higher the image match. Feature extraction and feature matching are use the Scale Invariant Feature Transform (SIFT) algorithm. SIFT is one approach to detect and extract local feature descriptors. By using SIFT, an image will be converted to a local feature vector which will then be used as an approach to detect the object.
SIFT was introduced in 1999 by a researcher from The University of British Columbia named David G. Lowe. The parameters used to measure the quality of video retrieval results are the values of Recall, Precision, and Running Time. Based on the test results using 20 videos, the average value of Recall is 77%, Precision’s average value is 90%, and Running Time is 255 seconds.
Keywords : Video, Image, Retrieval, Query, Feature Extraction, Content Based Video Retrieval (CBVR), Scale Invariant Feature Transform (SIFT).
DAFTAR ISI
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak vi
Abstract vii
Daftar Isi viii
Daftar Tabel x
Daftar Gambar xi
Daftar Lampiran xiii
Bab 1 Pendahuluan
1.1 Latar Belakang 1
1.2 Rumusan Masalah 2
1.3 Batasan Masalah 3
1.4 Tujuan Penelitian 3
1.5 Manfaat Penelitian 3
1.6 Metode Penelitian 3
1.7 Sistematika Penelitian 4
Bab 2 Landasan Teori
2.1 Information Retrieval 6
2.1.1 Video Retrieval 7
2.2 Content Based Video Retrieval (CBVR) 8
2.2.1 Preprocessing 9
2.2.2 Ekstraksi Fitur 9
2.3 Scale Invariant Feature Transform (SIFT) 9 2.4 Efektivitas Information Retrieval System (IRS) 14
2.5 Penelitian Yang Terdahulu 16
Bab 3 Analisis dan Perancangan Sistem
3.1 Analisis Sistem 18
3.1.1 Analisis Masalah 18
3.1.2 Analisis Kebutuhan 20
3.1.2.1 Kebutuhan Fungsional 20
3.1.2.2 Kebutuhan Nonfungsional 21
3.1.3 Analisis Proses 21
3.1.3.1 Segmentasi Video 22
3.1.3.2 Ekstraksi Keyframe 23
3.1.3.3 Ekstraksi Fitur 23
3.1.3.4 Pencocokan Fitur 23
3.2 Perancangan Sistem 24
3.2.1 Definisi Perancangan Sistem 24
3.2.2 Tujuan Perancangan Sistem 24
ix
3.2.3 Pemodelan Sistem 24
3.2.3.1 Use Case Diagram 24
3.2.3.2 Activity Diagram 27
3.2.3.3 Sequence Diagram 29
3.2.4 Flowchart 30
3.2.4.1 Flowchart Sistem 30
3.2.5 Perancangan Antarmuka (Interface) 31
3.2.5.1 Halaman Utama 32
3.2.5.2 Halaman Menu Koleksi Video 33
3.2.5.3 Halaman Menu Algoritma SIFT 35
Bab 4 Implementasi dan Pengujian Sistem
4.1 Implementasi Sistem 36
4.1.1 Tampilan Antarmuka Form Cover 36
4.1.2 Tampilan Antarmuka Form Kelola Video 37 4.1.3 Tampilan Antarmuka Form Algoritma SIFT 40
4.1.4 Penjelasan 42
4.2 Pengujian Sistem 46
4.2.1 Pengumpulan Koleksi Video 46
4.2.2 Pengujian Sistem Dengan Query 48
4.3 Hasil Pengujian 53
4.3.1 Hasil Pengujian Preprocessing 54
4.3.2 Hasil Pengujian Ekstraksi Fitur 54
4.3.3 Hasil Pengujian Pencocokan Fitur 56
4.3.4 Hasil Pencarian Video Relevan 57
4.3.5 Hasil Pengujian Sistem Terhadap Database Video 58 4.3.6 Hasil Pengujian Query Kategori Alat Tulis 70
4.3.7 Hasil Pengujian Query Kategori Buah 73
4.3.8 Hasil Pengujian Query Kategori Bunga 75
4.3.9 Hasil Pengujian Query Kategori Elektronik 78 4.3.10 Hasil Persentasi Video Relevan Terhadap Query Alat Tulis 1 80 4.3.11 Hasil Persentasi Video Relevan Terhadap Buah 1 81 4.3.12 Hasil Persentasi Video Relevan Terhadap Bunga 1 83 4.3.13 Hasil Persentasi Video Relevan Terhadap Elektronik 1 84
4.4 Parameter Pengujian 85
4.4.1 Parameter Pengujian Sistem Pencarian Video Relevan 86 4.5. Grafik Parameter Recall, Precision dan Running Time 88 4.5.1 Grafik Parameter Recall, Precision dan Running Time
Video Relevan 88
Bab 5 Penutup 90
5.1 Kesimpulan 90
5.2 Saran 90
Daftar Pustaka 91
Lampiran A-1
DAFTAR TABEL
Nomor
Tabel Nama Tabel Halaman
2.1 3.1 3.2 3.3 3.4 3.5 3.6 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14
Penelitian Terdahulu Terkait CBVR dan SIFT
Spesifikasi Use Case Mencari Video Relevan Berdasarkan Citra Query
Spesifikasi Use Case Preprocessing
Spesifikasi Use Case Ekstraksi Fitur Dan Pencocokan Fitur Dengan SIFT
Keterangan Gambar Rancangan Interface Halaman Utama Keterangan Gambar Halaman Menu Koleksi Video Keterangan Gambar Halaman Menu Algoritma SIFT Data Pengujian pada Contoh
Hasil Pengujian pada Contoh Daftar Koleksi Video
Daftar Koleksi Citra Query Keypoint Location
Keypoint Descriptor
Segmentasi Video & Ekstraksi Keyframe Ekstraksi Fitur
Pencocokan Fitur
Hasil Persentasi Video Relevan Terhadap Query Alat Tulis 1 Hasil Persentasi Video Relevan Terhadap Query Buah 1 Hasil Persentasi Video Relevan Terhadap Query Bunga 1 Hasil Persentasi Video Relevan Terhadap Query Elektronik 1 Hasil Parameter Pengujian Sistem Pencarian Video Relevan
15 25 26 27 32 33 35 44 46 47 48 55 57 58 63 67 80 82 83 84 86
xi
DAFTAR GAMBAR
Nomor
Gambar Nama Gambar Halaman
2.1 2.2 2.3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10
4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18 4.19 4.20 4.21 4.22 4.23 4.24 4.25 4.26 4.27
Proses Konvolusi Citra Dengan Filter DoG (Lowe 2004) Deteksi Local Extrema (Lowe 2004)
Keypoint Descriptor Diagram Ishikawa
General Arsitektur Sistem Segmentasi Video
Use Case Diagram Activity Diagram Sequence Diagram Flowchart Sistem
Rancangan Tampilan Antarmuka Halaman Utama Halaman Menu Kelola Video
Halaman Menu Algoritma SIFT Form Cover
Form Kelola Video
Tampilan Message Box Database Berhasil Tampilan Message Box Database Sudah Ada Form Algoritma SIFT
Citra Query
Proses Pencocokan Citra
Hasil Video Relevan Berdasarkan Citra Query Segmentasi Video & Ekstraksi Keyframe Ekstraksi Fitur RGB menjadi Grayscale Ekstraksi Fitur Penentuan Keypoint Penentuan Descriptor Keypoint Pencocokan Fitur
Hasil Pencarian Video Relevan
Pencarian Video Relevan Kategori Alat Tulis 1 Pencarian Video Relevan Kategori Alat Tulis 2 Pencarian Video Relevan Kategori Alat Tulis 3 Pencarian Video Relevan Kategori Alat Tulis 4 Pencarian Video Relevan Kategori Alat Tulis 5 Pencarian Video Relevan Kategori Buah 1 Pencarian Video Relevan Kategori Buah 2 Pencarian Video Relevan Kategori Buah 3 Pencarian Video Relevan Kategori Buah 4 Pencarian Video Relevan Kategori Buah 5 Pencarian Video Relevan Kategori Bunga 1 Pencarian Video Relevan Kategori Bunga 2 Pencarian Video Relevan Kategori Buga 3
11 12 14 19 22 22 25 28 29 30 32 33 34 36 37 38 39 40 41 41 42 54 54 55 56 57 57 70 71 71 72 72 73 73 74 74 75 75 76 76
4.28 4.29 4.30 4.31 4.32 4.33 4.34 4.35 4.36 4.37 4.38 4.39 4.40 4.41
Pencarian Video Relevan Kategori Bunga 4 Pencarian Video Relevan Kategori Bunga 5 Pencarian Video Relevan Kategori Elektronik 1 Pencarian Video Relevan Kategori Elektronik 2 Pencarian Video Relevan Kategori Elektronik 3 Pencarian Video Relevan Kategori Elektronik 4 Pencarian Video Relevan Kategori Elektronik 5
Hasil Persentasi Video Relevan Terhadap Query Alat Tulis 1 Hasil Persentasi Video Relevan Terhadap Query Buah 1 Hasil Persentasi Video Relevan Terhadap Query Bunga 1 Hasil Persentasi Video Relevan Terhadap Query Elektronik 1 Grafik Running Time
Grafik Recall Dan Precision
Grafik Nilai Rata-Rata Recall Dan Precision
77 77 78 78 79 79 80 81 82 83 85 88 89 89
xiii
DAFTAR LAMPIRAN
Lampiran 1 Listing Program A-1
Lampiran 2 Curriculum Vitae B-1
BAB I PENDAHULUAN 1.1. Latar Belakang
Seiring dengan berkembangnya teknologi informasi dan semakin luasnya pemanfaatan teknologi komputer yang mengacu dalam berbagai bidang kehidupan, kebutuhan akan efisiensi pengelolaan informasi yang dapat berupa teks, gambar, audio maupun video semakin meningkat begitu juga dengan penyebarannya. Pengelolaan Informasi memerlukan sebuah proses temu kembali informasi atau Information Retrieval (IR).
Hal ini dapat memenuhi kebutuhan pengguna dalam memanfaatkan sistem temu kembali informasi yang efektif dengan menyesuaikan query yang diinputkan pengguna.
Dengan adanya mekanisme temu kembali informasi, pengguna diharapkan mudah menemukan informasi sesuai query.
Cabang IR untuk menemukan kembali file video berdasarkan konten gambar disebut video retrieval. Salah satu teknik video retrieval yaitu dengan memberikan kata kunci untuk setiap video. Namun pendeskripsian teknik ini menjadi tidak konsisten dikarenakan masalah waktu yang lama dalam pencarian video. Teknik yang kedua berdasarkan isi, yaitu teknik yang mengindekskan suatu citra berdasarkan isinya seperti warna, sisi, bentuk, tekstur, informasi special, dan sebaginya. Teknik ini sering disebut dengan Content Based Video retrieval (CBVR).
Identifikasi objek di dalam database citra/video saat ini sudah semakin berkembang. Namun demikian masih sangat menarik untuk dikaji karena kemunculan objek visual mungkin akan sangat bervariasi seiring dengan adanya perbedaan titik pandang serta pencahayaan. Ektraksi objek, karakter dan scenes di dalam sebuah video dilakukan dengan menghitung frekuansi kemunculan konfigurasi spasial di dalam frame. Kemunculan objek yang tinggi di dalam sebuah video merupakan objek yang dominan.
2
Pertumbuhan dari ketersediaan material video online di internet umumnya dikombinasikan dengan tag yang ditulis oleh pengguna atau deskripsi konten, dimana merupakan mekanisme kita mengakses sebuah video. Namun, tag yang ditulis oleh pengguna tidak menjamin isi dari video.
Identifikasi objek visual pada citra/video cukup menarik karena: 1) segmentasi objek visual akan berbeda dengan segmentasi pada temu kembali teks. 2) pencocokan deskriptor visual mungkin tidak akan selalu dapat berjalan dengan baik, dimana akan ada objek yang gagal untuk dikenali karena ketidaksesuaian deskriptor tersebut. Untuk mengatasi hal ini, analisis video dalam pencocokan fitur dapat di representasikan dengan evaluasi tingkat kemiripan yang dihitung menggunakan jarak.
Salah satu algoritma dalam CBVR yang menggunakan features dari sebuah image adalah Scale Invariant Feature Transform (SIFT). Pendekatan Scale Invariant Feature Transform (SIFT) pertama kali diperkenalkan oleh Lowe (1999), dengan mengekstraksi deskriptor dari setiap frame yang ada dengan mengabaikan adanya perbedaan pencahayaan dan sudut pandang pengambilan citra. Algoritma SIFT yang telah di review oleh Ridhi Jindal dan Dr. Sonia Vatta (2014) menjelaskan bahwa algoritma ini memiliki probabilitas yang sangat tinggi dalam proses pencocokan citra, transformasi citra, dan pengenalan objek dalam database yang besar. Evaluasi serta pengembangan teknik SIFT juga sudah dilakukan oleh Mikolajczyk & Schmid (2002);
Lowe (2004); terutama dalam evaluasi terhadap kinerja akurasi dan efisiensi ektraksi deskriptor. Ekstraksi objek, karakter dan scenes di dalam sebuah video dilakukan dengan menghitung frekuensi kemunculan konfigurasi spasial di dalam frame.
1.2. Rumusan Masalah
Rumusan permasalahan utama yang di bahas pada penelitian ini adalah Information Retrieval konten video tidak dapat hanya mengandalkan tag yang diberikan oleh pemilik video. Untuk itu dibutuhkan suatu metode pencarian konten video berdasarkan citra query. Dimana pada penelitian ini akan dilakukan temu kembali objek menggunakan Algoritma Scale Invariant Feature Transform (SIFT).
1.3. Batasan Masalah
Untuk menghindari beberapa penyimpangan atau perluasan yang tidak diperlukan dalam penelitian, maka penelitian ini dibatasi dengan cakupan sebagai berikut:
1. Data yang digunakan adalah 20 video dengan membagi menjadi 4 kategori yang berbeda, yaitu: Alat Tulis, Buah, Bunga dan Elektronik.
2. Video memiliki durasi 20-60 detik dengan ukuran file antara 1-100 MB.
3. Video yang digunakan memiliki ukuran pixel antara 360-1280 pixel.
4. Query yang diberikan berbasis citra.
5. Parameter yang digunakan untuk menguji hasil temu kembali video adalah tingkat keberhasilan Content Based Video Retrieval (CBVR) menggunakan metode recall dan precision serta running time atau waktu proses.
6. Menggunakan Bahasa pemrograman C#.
1.4. Tujuan Penelitian
Tujuan dari penelitian ini adalah mengetahui bagaimana pengaruh penggunaan algoritma Scale Invariant Feature Transform (SIFT) terhadap pengimplementasian Content Based Video Retrieval (CBVR).
1.5. Manfaat Penelitian
Penelitian ini diharapkan dapat menjadi dasar perancangan sistem temu kembali video dan sebagai salah satu metode identifikasi objek pada video dengan menggunakan Algoritma Scale Invariant Feature Transform (SIFT).
1.6. Metodologi Penelitian 1. Studi Literatur
Pada tahap ini dilakukan pengumpulan referensi untuk memperoleh informasi dan data yang diperlukan dalam penilitian dan penulisan skripsi. Referensi yang digunakan dapat berupa jurnal, buku, artikel, situs internet yang berkaitan dengan
4
Content Based Video Retrieval dan algoritma Scale Invariant Feature Transform (SIFT).
2. Analisis Data
Pada tahap ini dilakukan analisa data yang berhubungan dengan cara kerja Content Based Video Retrieval dan algoritma Scale Invariant Feature Transform (SIFT) sehingga bisa bekerja dalam sebuah aplikasi sistem temu kembali informasi dan membantu penulis untuk mengetahui tingkat kemiripan video dengan query yang diinputkan.
3. Perancangan Sistem
Pada tahap ini dilakukan perancangan desain awal, perancangan sistem dengan UML, flowchart dan perancangan user interface.
4. Implementasi Sistem
Pada tahap ini telah dilakukan pembuatan sistem temu kembali video dengan menambahkan algoritma Scale Invariant Feature Transform (SIFT) ke dalam sistem.
5. Pengujian Sistem
Pada tahap ini dilakukan pengujian terhadap sistem yang telah dikembangkan.
6. Dokumentasi
Pada tahap ini dilakukan dokumnetasi sistem mulai dari tahap awal hingga pengujian sistem dan selanjutnya akan dibuat dalam bentuk skripsi.
1.7. Sistematika Penulisan
Agar pembahasan menjadi lebih sistematis, skripsi ini dibuat dalam lima bab, meliputi:
BAB I PENDAHULUAN
Bab ini berisi latar belakang penelitian judul skripsi “Implementasi Content Based Video Retrieval menggunakan Scale Invariant Feature Transform (SIFT)”, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian, tinjauan pustaka, dan sistematika penulisan skripsi ini.
BAB II LANDASAN TEORI
Bab ini berisi penjelasan singkat mengenai Content Based Video Retrieval (CBVR), teori – teori yang berhubungan dengan Information Retrieval, yaitu Information Retrieval System, algoritma Scale Invariant Feature Transform (SIFT), Recall, Precision dan beberapa penelitian terdahulu yang relevan.
BAB III ANALISIS DAN PERANCANGAN SISTEM
Bab ini berisi uraian dari analisis sistem mengenai proses kerja dari sistem temu kembali video menggunakan algoritma Scale Invariant Feature Transform (SIFT) pada citra grayscale yang terdiri dari, analisis kebutuhan, analisis proses, Unified Modeling Language (UML) Diagram, flowchart, dan design interface system.
BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM
Merupakan hasil penelitian yang dilakukan. Berisi tentang penjelasan implementasi sistem berdasarkan analisis dan perancangan sistem, skenario pengujian terhadap sistem yang telah dibangun serta pembahasan hasil pengujian.
BAB V KESIMPULAN DAN SARAN
Bab terakhir akan memuat kesimpulan isi dari keseluruhan uraian penelitian dari bab-bab sebelumnya dan saran-saran dari hasil yang diperoleh yang diharapkan dapat bermanfaat dalam pengembangan selanjutnya.
BAB II
LANDASAN TEORI 2.1.Information Retrieval
Definisi information retrieval (IR) adalah bagaimana menemukan suatu dokumen dari dokumen-dokumen tidak terstruktur yang memberikan informasi yang dibutuhkan dari koleksi dokumen yang sangat besar yang tersimpan dalam komputer. (Manning, 2008).
Secara konsep sederhana IR merupakan proses mencari, dan kemudian mendapatkan apa yang dicari. Jika kita titik beratkan kepada prosesnya maka didalamnya akan terungkap bagaimana perjalanan informasi yang diminta, menjadi informasi yang diberikan.
Ada 7 fungsi utama Information Retrieval yang dinyatakan oleh Chowdhury antara lain:
1. Untuk mengidentifikasi informasi yang relevan di bidang-bidang yang sesuai dengan tujuan komunitas pengguna
2. Untuk menganalisis isi dari sumber informasi
3. Untuk mempresentasikan isi dan sumber informasi yang telah dianalis dengan cara yang sesuai untuk kemudian menyesuaikannya dengan permintaan pengguna 4. Untuk menganalisis permintaan-permintaan pengguna dan merepresentasikannya
ke dalam bentuk yang disesuaikan, untuk disesuaikan dengan database 5. Untuk menyesuaikan pernyataan dengan database
6. Untuk menemukan informasi yang relevan
7. Untuk membuat penyesuaian kebutuhan pada dasar sistem arus balik dari pengguna.
Tujuan dari sistem IR ini adalah memenuhi kebutuhan informasi pengguna dengan mendapatkan semua dokumen yang relevan dengan kebutuhan pengguna dan pada waktu yang sama mendapatkan sedikit mungkin dokumen yang tak relevan (Pardede, 2013). Berdasarkan konten dokumen yang dicari, information retrieval terbagi atas 4 bagian, yaitu text retrieval, image retrieval, video retrieval dan audio retrieval.
2.1.1. Video Retrieval
Pada dekade saat ini penggunaan media digital berkembang dengan pesat, baik pada ukuran maupun tipe datanya. Tidak hanya pada teks tetapi juga pada image, audio dan video. Seiring dengan peningkatan penggunaan media digital terutama video, dibutuhkan teknik manajemen dan retrieval data image yang efektif. Teknik terdahulu, video dianotasikan dengan teks dan pencarian image menggunakan pendekatan text- based. Melalui uraian teks, image dapat diorganisir oleh hirarki semantic untuk memudahkan navigasi dan pencarian yang didasarkan pada standard query Boolean.
Dikarenakan, uraian teks untuk suatu spectrum video yang luas tidak mungkin diperoleh secara otomatis, maka kebanyakan sistem text-based video retrieval memerlukan anotasi secara manual. Sesungguhnya, anotasi video secara manual adalah suatu pekerjaan yang mahal dan susah untuk database video yang besar, dan adalah seiring bersifat subjektif, content sensitive dan tidak sempurna. (Long Fuhui, Chia-Hung, Hove, 2005).
Ada dua pendekatan yang dapat digunakan untuk mempresentasikan video yakni : Metadata-based dan Content-based. Untuk itu diperlukan teknik retrieval (query) dari dua pendekatan tersebut yang dapat dibagi menjadi 3 yakni: Context- based, Semantic-based dan Content-based.
8
2.2.Content Based Video Retrieval
Temu kembali konten video atau Content Based Video Retrieval (CBVR) merupakan metode temu kembali berkas video berbasis konten berdasarkan fitur visual dari video (Asha & Sreeraj, 2013).
Konten dalam konteks ini meliputi warna, tekstur, bentuk objek, atau informasi lainnya yang dapat diperoleh untuk merepresentasikan frame citra pada video. Tanpa adanya kemampuan mengamati konten video, sistem pencari harus mengandalkan metadata seperti kata kunci atau deskripsi video yang menyebabkan kesalahan apabila kata kunci dan deskripsi tidak sesuai dengan isi video. Content Based Video Retrieval dapat membantu pengguna dalam menemukan video yang sesuai karena didasarkan pada informasi konten. Beberapa pendekatan yang digunakan untuk mengektraksi informasi konten pada video antara lain histogram warna, informasi bentuk objek, tekstur, dan analisa teks (Huda et al, 2014).
Secara umum, kerangka kerja dari proses Content Based Video Retrieval terdiri dari 3 tahap, yaitu tahap praproses, ekstraksi fitur, dan pencocokan fitur. Setiap video yang ada pada media penyimpanan terlebih dahulu melalui tahap praproses yang terdiri dari modul segmentasi video dan ekstraksi keyframe. Hasil dari tahap praproses adalah himpunan keyframe yang telah diekstraksi dari video. Dari himpunan keyframe yang mewakili konten video ini, kemudian dilakukan tahap ekstraksi fitur menggunakan descriptor Scale Invariant Feature Transform (SIFT).
Pada proses penemuan kembali, pengguna memberikan klip atau gambar sebagai query masukan. Klip query kemudian melalui tahap ekstraksi fitur menggunakan descriptor Scale Invariant Feature Transform (SIFT) untuk mendapatkan fitur descriptornya. Video pada database diurutkan berdasarkan kemiripan descriptor video dengan descriptor query .
2.2.1. Pre-processing
Pre-processing merupakan tahap awal yang dilakukan ketika menerima video masukan.
Setelah segmentasi video berhasil dilakukan dan menghasilkan himpunan frame maka selanjutnya sistem akan melakukan ekstraksi keyframe dimana himpunan frame akan diseleksi untuk mendapatkan himpunan keyframe yang akan mewakili video masukan.
2.2.2. Ekstraksi Fitur
Ekstraksi Fitur merupakan proses penting dalam pengenalan objek. Fitur adalah karakterisitik atau hal-hal khusus yang mencirikan suatu objek. Ekstraksi fitur berarti mengambil dan menyimpan karakteristik-karakteristik khusus dari suatu objek tertentu pada citra. Fitur-fitur inni kemudian digunakan sebagai pembanding untuk mengenali onjek ternteu pada suatu citra.
2.3.Scale Invariant Feature Transform (SIFT)
Pada tahun 1999, David G. Lowe seorang peneliti dari University of British Columbia memperkenalkan suatu metode baru dalam ekstraksi fitur dari suatu citra.
Metode ekstraksi fitur ini disebut sebagai Scale Invariant Feature Transform (SIFT).
Dengan menggunakan SIFT ini, suatu citra akan di ubah menjadi vektor fitur local yang kemudian akan digunakan sebagai salah satu pendekatan untuk melakukan deteksi dan ekstraksi deskriptor fitur lokal tersebut.
Sebagai metode ekstraksi fitur pada pengenalan objek, SIFT ini memiliki kelebihan-kelebihan sebagai berikut:
a. Hasil ekstraksi fitur bersifat invariant terhadap ukuran, tranlasi dan rotasi dua dimensi.
b. Hasil ekstraksi fitur bersifat invariant sebagian terhadap perubahan iluminasi dan perubahan sudut pandang tiga dimensi.
c. Mampu meng-ekstrak banyak keypoint dari citra yang tipikal.
d. Hasil ekstraksi fitur benar-benar mencirikan secara khusus (distinctive).
Dengan kelebihan-kelebihan tersebut, penggunaan metode SIFT banyak dikembangkan untuk aplikasi pengenalan objek.
10
Secara garis besar, algoritma yang digunakan pada metode SIFT terdiri dari empat tahap [4] (Lowe 1999, 2004):
1. Mencari Nilai Ekstrim Pada Skala Ruang 2. Menentukan Keypoint
3. Penentuan Orientasi 4. Deskriptor Keypoint
1. Pencarian Nilai Ekstrim pada Skala Ruang
Pencarian nilai ekstrim pada skala ruang merupakan tahap awal dalam penentuan keypoint dari suatu citra. Dengan menggunakan fungsi Gaussian-Blurred, citra pada skala ruang dapat didefinisikan sebagai fungsi L(x,y,σ), yang diperoleh dari hasil konvolusi skala-variabel Gaussian, G(x,y,σ), dengan citra masukan I(x,y), sehingga diperoleh:
Dimana * adalah operasi konvolusi antara x dan y dan G(x,y,σ) adalah skala-skala variabel Gaussian.
………... (2.2)
Citra hasil Difference-of-Gaussian, D(x,y,σ), diperoleh dengan melakukan operasi konvolusi pada citra masukan dengan filter Difference-of-Gaussian, maka:
Dari persamaan (2.3) terlihat bahwa citra hasil Difference-of-Gaussian, (DoG) sebenarnya merupakan selisih antara citra hasil pengkaburan Gaussian dengan nilai skala k yang berbeda. Proses ini diilustrasikan pada Gambar 2.1.
L(x,y,σ) = G(x,y,σ) * I(x,y)………..(2.1)
𝐺(𝑥, 𝑦, 𝜎) = 1
2𝜋𝜎2𝑒−(𝑥2+ 𝑦2)/2𝜎2
D(x,y,σ) = (G(x,y,kσ) – G(x,y,σ)) * I(x,y)
= L(x,y,kσ) – L(x,y,σ)………. (2.3)
Gambar 2.1. Proses konvolusi citra dengan filter DoG (Lowe 2004).
Citra hasil konvolusi dikelompokkan berdasarkan octave (satu octave setara dengan penggandaan besarnya nilai σ), nilai k ditetapkan di awal sehingga diperoleh jumlah citra kabur yang sama pada setiap octave serta diperoleh citra hasil DoG yang sama untuk setiap octave.
Setelah diperoleh citra DoG pada setiap octave, maka langkah selanjutnya ialah mencari kandidat keypoint. Kandidat keypoint dideteksi sebagai titik maksimum local atau titik maksimum local dari citra hasil DoG. Untuk mencari nilai maksimum dan minimum local maka masing-masing pixel pada citra hasil DoG akan dibandingkan dengan 8 pixel disekitarnya yang berada pada skala yang sama dengan 9 pixel yang bersesuaian dengannya (pada Gambar 2.2). Jika pixel tersebut merupakan maksimum atau minimum local, maka pixel tersebut akan dijadikan sebagai kandidat keypoint.
12
Gambar 2.2 Ilustrasi pencarian maksimum atau minimum local dari citra DoG (Lowe 2004)
2. Penentuan Keypoint
Setelah kandidat keypoint ditentukan melalui tahapan pertama, maka langkah selanjutnya ialah untuk mengambil detail dari kandidat keypoint tersebut. Detail yang diambil merupakan lokasi, skala dan rasio kelengkungan inti dari kandidat keypoint.
Pada tahap ini akan terjadi pengurangan jumlah kandidat keypoint. Dimana setiap kandidat keypoint yang dianggap sangat rentan terhadap gangguan (noise) akan dihilangkan, yaitu kandidat keypoint yang memili nilai kontras yang rendah dan kandidat keypoint yang kurang jelas dan terletak di sepanjang tepi.
Untuk setiap kandidat keypoint akan:
– dilakukan interpolasi dengan data terdekat di sekitarnya untuk menentukan posisi yang tepat.
– dibuang keypoint dengan kontras yang rendah.
– diberikan orientasi tertentu pada keypoint tersebut.
3. Penentuan Orientasi
Pada tahap ini, masing-masing keypoint yang diperoleh akan diberikan suatu orientasi yang tetap berdasarkan sifat-sifat local pada citra. Dengan adanya proses ini maka keypoint yang diperoleh dapat direpresentasikan relative terhadap orientasi ini sehingga keypoint yang dihasilkan tidak terpengaruh terhadap adanya rotasi pada citra. Untuk menentukan orientasi dari masing-masing keypoint maka dilakukan perhitungan terhadap besar nilai gradient, m(x,y), dan arah orientasi, θ(x,y), dilakukan menggunakan persamaan berikut:
………...(2.5)
4. Deskriptor Keypoint
Pada proses ini, masing-masing keypoint yang telah diorientasikan akan diberikan pencirian khusus (deskriptor). Proses ini bertujuan untuk mendapatkan keypoint yang invariant terhadap perubahan intensitas cahaya atau perubahan sudut pandang tiga dimensi.
Deskriptor akan diukur sebagai suatu histogram orientasi pada wilayah pixel dengan ukuran 4x4. Nilai orientasi diperoleh dari citra Gaussian yang memiliki skala terdekat dengan skala keypoint yang akan dihitung. Agar keypoint yang diperoleh invariant terhadap orientasi, maka koordinat dari deskriptor dan gradient orientasi akan di rotasi relative terhadap orientasi dari keypoint. Kemudian fungsi pembebanan Gaussian, dengan besar nilai σ satu setengah kali dari besar jendela deskriptor, akan digunakan sebagai pembeban pada setiap besaran nilai dari titik sampel. Proses ini ditunjukkan pada lingkaran yang terdapat pada Gambar 2.3 sebelah kiri.
𝑚(𝑥, 𝑦) = √(𝐿((𝑥 + 1, 𝑦) − 𝐿(𝑥 − 1, 𝑦))2− (𝐿(𝑥, 𝑦 + 1) − 𝐿(𝑥, 𝑦 − 1))2 (2.4)
𝜃(𝑥, 𝑦) − 𝑡𝑎𝑛1(𝐿(𝑥, 𝑦 + 1) − 𝐿(𝑥, 𝑦 − 1) 𝐿(𝑥 + 1, 𝑦) − 𝐿(𝑥 − 1, 𝑦))
14
Gambar 2.3. Keypoint Descriptor
Deskriptor keypoint pada Gambar 2.3 menunjukkan adanya 8 arah pada masing- masing histogram orientasi dengan panjang masing-masing anak panah sesuai dengan besar nilai dari histogram asal. Selanjutnya deskriptor keypoint yang telah diperoleh akan dinormalisasi untuk mengatasi pengaruh perubahan cahaya.
Keypoint ini yang kemudian menjadi fitur-fitur local pada suatu citra dan akan di cocokkan dengan keypoint-keypoint yang terdapat pada citra query untuk menyesuaikan dengan objek yang tersedia menggunakan matrix homography.
2.4.Efektivitas Information Retrieval System
Efektivitas suatu sistem merujuk kepada kemampuan untuk memiliki tujuan yang telah ditetapkan. Efektivitas juga berhubungan dengan masalah bagaimana mencapai tujuan atau hasil yang diperoleh, tingkat daya fungsi unsur atau komponen, serta masalah tingkat kepuasan pengguna.
Lancaster (1980) menyatakan efektivitas dalam Information Retrieval System merupakan kemampuan dari sistem untuk memanggil berbagai dokumen dari suatu basis data sesuai dengan permintaan pengguna. Efektivitas Information Retrieval System dapat diukur dengan menghitung rasio atau perbandingan recall (perolehan) dan precision (ketepatan). Recall (perolehan) berhubungan dengan kemampuan sistem untuk memanggil dokumen yang relevan. Precision adalah rasio jumlah dokumen relevan yang ditemukan dengan total jumlah yang ditemukan oleh aplikasi. Precision
mengindikasikan kualitas himpunan jawaban, tetapi tidak memandang total jumlah dokumen yang relevan dalam kumpulan dokumen.
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = |{𝑟𝑒𝑙𝑒𝑣𝑎𝑛 𝑑𝑜𝑐𝑢𝑚𝑒𝑛𝑡𝑠} ∩ {𝑑𝑜𝑐𝑢𝑚𝑒𝑛𝑡𝑠 𝑟𝑒𝑡𝑟𝑖𝑒𝑣𝑒𝑑}|
|{𝑑𝑜𝑐𝑢𝑚𝑒𝑚𝑛𝑡𝑠 𝑟𝑒𝑡𝑟𝑖𝑒𝑣𝑒𝑑}|
𝑅𝑒𝑐𝑎𝑙𝑙 = |{𝑟𝑒𝑙𝑒𝑣𝑎𝑛 𝑑𝑜𝑐𝑢𝑚𝑒𝑛𝑡𝑠} ∩ {𝑑𝑜𝑐𝑢𝑚𝑒𝑛𝑡𝑠 𝑟𝑒𝑡𝑟𝑖𝑒𝑣𝑒𝑑}|
|{𝑟𝑒𝑙𝑒𝑣𝑎𝑛𝑡 𝑑𝑜𝑐𝑢𝑚𝑒𝑛𝑡𝑠}|
Keterangan:
Precision : Nilai Precision atau nilai ketepatan
Recall : Nilai Recall atau nilai rasio perbandingan dari perolehan Relevan Documents : Jumlah dokumen yang relevan
Documents Retrieved : Jumlah dokumen yang sesuai dan ditemukan kembali
2.5.Penelitian Terdahulu
Tabel 2.1 Penelitian Terdahulu Terkait CBVR dan SIFT
NO Nama Judul Hasil Penelitian
1 Sriyasa, I. Wayan Temu Kembali Objek di dalam Video Menggunkan
Kuantisasi Fitur Scale Invariant Feature Transform (SIFT)
Pembentukan kata visual dilakukan dengan metode kuantisasi fitur SIFT, melalui penerapan clustering k-means dengan pengukuran jarak Euclidean. Nilai rataan precision untuk temu kembali objek lebih rendah jika Mauladi.dibandingkan dengan rataan precision untuk temu kembali frame.
16
2 Putri, Aulia Taridah
Implementasi Content Based Image Retrieval menggunakan Speeded-Up Robust Features
Hasil temu balik citra dengan menggunakan algoritma SpeededUp Robust Features (SURF) serta perbandingan kemiripan citra dengan Euclidean Distance diperoleh dengan cukup baik dan berhasil menampilkan citra yang relevan. Nilai Threshold yang ditentukan serta fitur dari citra yang dicari menentukan hasil temu balik citra.
3 Marpaung, Evi Implementasi Content Based Video Retrieval Menggunakan Speeded-Up Robust Features (SURF)
Mengimplementasikan penggunaan algoritma Speeded-Up Robust Features (SURF) pada ekstraksi fitur dengan diperoleh hasil temu balik video yang berhasil menampilkan video yang relevan dengan query yang diberikan.
4 Lowe, DG (2004) Distinctive Image Features from Scale-Invariant Keypoints
Menyajikan metode mengekstrak fitur invariant dari gambar yang dapat digunakan untuk melakukan pencocokan antara berbagai pandangan objek atau pemandangan. Fitur dapat dengan sangat cocok dengan probabilitas tinggi terhadap database koleksi fitur.
5 Lowe, DG (2006) Automatic
Panaromic Image Stiching using Invariant Features
Merumuskan stiching sebagai pencocokan multi-image dan menggunakan fitur local yang berbeda untuk menemukan kecocokan smeua image. Metode ini tidak peka terhadap urutan, orientasi, skala, dan iluminasi gambar masukan
6 Di Zhong and Shih-Fu Chang
An integrated approach for content-based video object segmentation and retrieval
Menyajikan skema terpadu untuk segmentasi objek video berbasis konten. Sistem ini secara efektif menggabungkan informasi warna, tepi dan gerak dalam segmentasi wilayahnya, dan memanfaatkan wilayah region iterative dan alignment process untuk menghasilkan dan melacak batas- batas objek yang akurat.
BAB III
ANALISIS DAN PERANCANGAN SISTEM 3.1.Analisis Sistem
Analisis sistem merupakan rangkaian komponen untuk mengidentifikasi persyaratan fungsional suatu sistem dan permasalahan yang menjadi dasar proses perancangan model sistem dan akan dikerjakan sehingga diperoleh solusi nyata terhadap permasalahan yang dihadapi .
Analisis sistem memiliki 3 tahap untuk menguraikan pendekatan terhadap proses pengembangan system, yaitu analisis masalah, analisis kebutuhan, dan analisis proses.
3.1.1. Analisis Masalah
Permasalahan yang akan diangkat dalam penelitian ini adalah bagaimana melakukan temu kembali objek yang khusus, dalam hal ini hanya objek tertentu yang muncul dalam serangkaian frame dengan menggunakan Algoritma Scale Invariant Feature Transform (SIFT).
Pada penelitian ini, video yang akan dicari merupakan video dengan format .mp4 dan terdiri dari 20 video yang terbagi atas 4 kategori, yaitu eletronik, buah, hewan, dan alat tulis. Selanjutnya, koleksi video akan diproses dengan cara segmentasi video untuk memperoleh frame-frame yang selanjutnya frame akan melalui tahap ekstraksi keyframe untuk memilih frame kunci yang akan mewakili video dan disimpan dalam database. Frame yang terpilih kemudian akan diproses dalam ekstraksi fitur bersamaan dengan query yang diinputkan untuk memperoleh ekstraksi ciri menggunakan algoritma Scale Invariant Feature Transform (SIFT). Kemudian, citra yang telah diinputkan sebagai query akan dibandingkan dengan keyframe dari koleksi frame menggunakan perbandingan titik antar fitur. Semakin banyak titik antara query dengan keyframe video maka semakin tinggi tingkat kemiripan antara query dengan video. Berdasarkan
banyaknya titik yang diperoleh, maka akan dilakukan proses pengurutan atau ranking untuk menampilkan hasil temu balik video dengan tingkat kemiripan tertinggi ke tingkat terendah.
Untuk mengidentifikasi masalah yang di ambil dalam penelitian, maka digunakan diagram Ishikawa. Diagram Ishikawa yang disebut diagram tulang ikan atau cause-and-effect matrix adalah diagram yang menunjukkan penyebab-penyebab dari sebuah even yang spesifik. Diagram Ishikawa digunakan untuk membantu mengidentifikasi faktor-faktor yang signifikan memberi efek terhadap suatu even.
Berikut adalah diagram Ishikawa sistem pada Gambar 3.1.
Gambar 3.1 Diagram Ishikawa
Gambar diagram diatas dibagi menjadi 2 (dua) bagian yakni head dan bone. Head biasanya selalu terletak di sebelah kanan. Di bagian ini, dituliskan even yang dipengaruhi oleh penyebeb-penyebab yang nantinya dituliskan di bagian bone. Even ini sendiri berupa masalah bagaimana melakukan temu kembali objek (video) dengan menggunakan Algoritma Scale Invariant Feature Transform (SIFT). Bone terdiri dari 4 (empat) aspek yakni material, metode, manusia, dan mesin. Material adalah semua hal yang diperlukan untuk menjalankan sistem seperti koleksi video dalam format .mp4 dan juga citra grayscale. Metode adalah bagaimana proses itu dilakukan dan kebutuhan
20
yang spesifik dari proses, yaitu ekstraksi fitur dan pencocokan fitur menggunakan algoritma Scale Invariant Feature Transform (SIFT). Manusia adalah orang yang terlibat dalam penggunaan sistem, yaitu menentukan koleksi video dan menentukan citra query yang akan diinputkan. Mesin adalah semua hal yang dilakukan oleh sistem guna memberikan solusi permasalahan, yaitu melakukan segmentasi video untuk menghasilkan frame, melakukan ekstraksi frame menjadi keyframe, melakukan ekstraksi fitur menggunakan SIFT, melakukan pencocokan citra, serta menampilkan hasil temu kembali video.
3.1.2. Analisis Kebutuhan
Analisis kebutuhan mencakup kebutuhan atau kondisi yang harus dipenuhi dalam suatu system. Analisis kebutuhan terbagi menjadi 2 (dua) bagian, yakni kebutuhan fungsional dan kebutuhan non-fungsional.
3.1.2.1.Kebutuhan Fungsional
Kebutuhan fungsional adalah kebutuhan yang berisi proses-proses apa saja yang nantinya dilakukan oleh system, mencakup bagaimana reaksi system pada kondisi tertentu. Kebutuhan fungsional dalam konten ini adalah:
1. Jenis video yang digunakan adalah berformat .mp4.
2. Durasi video antara 20 – 60 detik.
3. Ukuran pixel video antara 360 – 1280 pixel.
4. Ukuran file video antara 1 – 100 MB.
5. Maksimal koleksi video yang digunakan berjumlah 20 video dengan 4 kategori berbeda, yaitu Alat Tulis, Buah, Bunga dan Elektronik.
6. Penelitian menggunakan query berbasis citra yang diambil dari frame dari setiap koleksi video.
7. Parameter yang digunakan untuk menguji hasil temu kembali video adalah running time atau waktu proses dan tingkat keberhasilan Content Based Video Retrieval (CBVR) menggunakan metode recall dan precision.
8. Menggunakan Bahasa pemrograman C#.
3.1.2.2.Kebutuhan Non-Fungsional
Kebutuhan non-fungsional adalah kebutuhan yang menitikberatkan pada properti perilaku yang dimiliki oleh system. Secara umum kebutuhan non-fungsional terdiri dari 3 (tiga) bagian, yaitu:
1. Usability
Usability adalah kebutuhan non-fungsional terkait dengan kemudahan penggunaan system oleh user dengan interface system yang baik.
2. Portability
Portability adalah kemudahan dalam pengaksesan system khususnya terkait dengan faktor waktu dan perangkat yang digunakan akan ditunjukkan dari hasil yang baik dalam proses temu kembali video.
3. Supportability
Supportability adalah kebutuhan terkait dengan dukungan dakam penggunaan system atau perangkat lunak.
3.1.3. Analisis Proses
Sistem ini memiliki 4 tahapan proses, yaitu tahapan segmentasi video (koleksi video) untuk membagi atau memecah video menjadi bentuk frame-frame, tahapan ekstraksi keyframe untuk menentukan keyframe yang dapat mewakili sebuah shot atau scene dari suatu video proses dan ekstraksi keyframe akan dilakukan secara otomatis oleh sistem, kemudian tahapan ekstraksi fitur yaitu proses mengekstrak fitur gambar seperti warna dan tekstur dengan menggunakan algoritma Scale Invariant Feature Transform (SIFT), dan terakhir tahapan mencocokkan fitur antara query dengan keyframe dari setiap video yang ada dengan menggunakan perbandingan titik/point antar citra, semakin banyak point yang terhubung maka semakin tinggi tingkat kecocokan citra.
22
Gambar 3.2 General Arsitektur Sistem 3.1.3.1.Segmentasi Video
Segmentasi video adalah langkah pertama menuju yang dilakukan oleh sistem untuk pencarian video berbasis konten yang bertujuan untuk mengelompokkan objek yang bergerak dalam urutan video (Gitte et al, 2014). Segmentasi video merupakan proses pembagian atau pemecehan video ke dalam bagian-bagian yang berarti yang disebut sebagai segmen. Segmentasi dapat bersifat temporal, spasial, atau spasio-temporal.
Segmentasi temporal membagi video menjadi adegan, shot, atau frame (Huda et al, 2014). Sebuah shot didefinisikan sebagai frame yang berurutan dari awal sampai akhir dari sebuah video (Gao & Tang, 2000).
Gambar 3.3 Segmentasi Video
3.1.3.2.Ekstraksi Keyframe
Keyframe adalah frame yang dapat mewakili sebuah shot atau scene sebuah video.
Konten ini (keyframe) harus yang paling representatif sehingga dapat mewakili atau menggambarkan video tersebut (Geetha & Narayanan, 2014).
Ekstraksi keyframe merupakan proses yang dilakukan secara otomatis untuk mendeteksi keyframe-keyframe dari suatu video. Beberapa frame yang menjadi batas antar adegan yang berurutan diseleksi untuk dipilih sebagai keyframe. Keyframe didefinisikan sebagai frame yang dapat mewakili karakter beberapa frame pada sebuah adegan. Frame pada adegan yang sama cenderung memiliki karakter visual yang mirip.
Dengan adanya keyframe yang dapat mewakili konten penting dalam suatu adegan, maka jumlah informasi yang perlu disimpan untuk sebuah video selama proses indeksing, penyimpanan, dan penemuan kembali menjadi lebih ringkas (Huda et al, 2014).
3.1.3.3.Ekstraksi Fitur
Ekstraksi fitur adalah proses mengekstrak fitur gambar seperti warna dan tekstur dari keyframe untuk proses menemukan kembali video (Shanmugan & Rajendran, 2009).
SIFT (Scale Invariant Feature Transform) merupakan salah satu pendekatan untuk melakukan deteksi dan ekstraksi deskriptor fitur lokal. Dengan menggunakan SIFT ini, suatu citra akan di ubah menjadi vector fitur local yang kemudian akan digunakan sebagai pendekatan dalam mendeteksi objek yang dimaksud.
3.1.3.4.Pencocokan Fitur
Evaluasi tingkat kemiripan dihitung menggunakan banyaknya kemiripan titik-titik yang terhubung antar citra. Semakin banyak point yang memiliki kemiripan, maka kecocokan antar citra semakin tinggi. Fungsi dari keypoint ini adalah untuk mengetahui kesamaan atau ketidaksamaan dua buah citra. Dari nilai kemiripan yang didapatkan akan di tampilkan video yang relevan dengan citra query.
24
3.2.Perancangan Sistem
3.2.1. Definisi Perancangan Sistem
Perancangan sistem merupakan tahap selanjutnya setelah analisis sistem, mendapatkan gambaran yang jelas tentang apa yang dikerjakan, maka dilanjutkan dengan memikirkan bagaimana membentuk sistem tersebut.
Perancangan sistem adalah suatu fase dimana diperlukan suatu keahlian perancangan untuk elemen-elemen computer yang akan menggunakan sistem yaitu pemilihan peralatan dan program computer untuk sistem yang baru (Kristanto, 2008).
3.2.2. Tujuan Perancangan Sistem
Adapun tujuan yang hendak dicapai dari tahap perancangan sistem, yaitu sebagai berikut:
1. Untuk memenuhi kebutuhan pemakaian sistem (user).
2. Untuk memberikan gambaran yang jelas dan menghasilkan rancangan bangun yang lengkap kepada pemrograman computer dan ahli-ahli teknik lainnya yang terlibat dalam pengembangan atau pembuatan sistem.
3.2.3. Pemodelan Sistem
Pada bagian pemodelan sistem digunakan bahasa pemodelan Unified Modelling Language (UML) sebagai spesifikasi standar suatu model yang berfungsi untuk membantu merancang sistem. Beberapa jenis UML yang digunakan dalam penelitian ini antara lain use case diagram, activity diagram, dan sequence diagram.
3.2.3.1.Use Case Diagram
Use case diagram merupakan pemodelan untuk menggambarkan behavior sistem yang akan dibuat. Use case diagram mendeksripsikan sebuah interaksi antara satu atau lebih actor dengan sistem yang akan dibuat. Use case diagram digunakan untuk mengetahui
fungsi apa saja yang ada di dalam sebuah sistem dan siapa saja yang berhak menggunakan fungsi-fungsi tersebut. Yang ditekankan pada diagram ini adalah “apa”
yang diperbuat sistem, dan bukan “bagaimana”. Use case diagram biasanya menjelaskan secara sederhana fungsi sistem dari sudut pandang user.
Berikut adalah use case diagram dapat dilihat pada Gambar 3.4.
Gambar 3.4. Use case Diagram
Spesifikasi use case diagram mencari video relevan berdasarkan citra query dapat dilihat pada Tabel 3.1.
Tabel 3.1. Spesifikasi Use Case Mencari Video Relevan Berdasarkan Citra Query Name Mencari Video relevan berdasarkan citra query
Actor User
Trigger User memilih menu Mencari Video Relevan berdasarkan Citra Query
Description Mendeskripsikan berjalannya proses pencarian video relevan berdasarkan citra query yang diinputkan
26
Pre Condition User mengakses menu Mencari Video Relevan berdasarkan Citra Query
Post Condition Sistem akan menampilkan 2 menu pilihan yaitu pilihan Preprocessing (segmentasi video dan ekstraksi keyframe), Ekstraksi Fitur dan Pencocokan Fitur menggunakan Scale Invariant Feature Transform
Alternative Flow -
Tabel 3.2. Spesifikasi Use Case Preprocessing
Name Preprocessing (Segmentasi Video dan Ekstraksi Keyframe)
Actor User
Trigger User memilih menu Kelola Video
Description Mendeskripsikan berjalannya proses pemecahan video menjadi frame-frame dan pemilihan keyframe untuk mewakili setiap video
Pre Condition User mengakses menu Kelola Video
Post Condition Sistem akan menampilkan informasi jumlah frame dan durasi video serta sistem melakukan pemilihan keyframe dari frame-frame yang telah disegmentasi
Alternative Flow -
Tabel 3.3. Spesifikasi Use Case Ekstraksi Fitur dengan Scale Invariant Feature Transform
Name Ekstraksi Fitur dan Pencocokan Fitur dengan Scale Invariant Feature Transform
Actor User
Trigger User memilih menu Algoritma SIFT
Description Mendeskripsikan berjalannya proses ekstraksi fitur pada keyframe dan pencocokan citra menggunakan Scale Invariant Feature Transform Pre Condition User mengakses menu Algoritma SIFT
Post Condition Sistem akan mengekstrak fitur pada keyframe dan menyimpan nilai fitur tersebut serta mencocokkan nilai antar citra untuk menampilkan hasil video relevan berdasarkan query
Alternative Flow -
3.2.3.2.Activity Diagram
Activity diagram adalah diagram yang menggambarkan aliran kerja (workflow) atau aktivitas dan tindakan dari sebuah sistem yang akan dibuat. Activity diagram berfungsi untuk memperlihatkan urutan aktifitas proses pada sistem berdasarkan use case diagram.
28
Activity diagram dapat dilihat pada Gambar 3.5.
Gambar 3.5. Activity Diagram
3.2.3.3.Sequence Diagram
Sequence diagram adalah diagram yang menggambarkan kolaborasi dinamis antara sejumlah objek. Sequence diagram berguna untuk menunjukkan rangkaian pesan yang dikirim antara objek juga interaksi antara objek.
Sequence diagram sistem yang akan dibuat dapat dilihat pada Gambar 3.6.
Gambar 3.6. Sequence Diagram
30
Mulai
Input koleksi video
Segmentasi video menjadi frame
Ekstraksi keyframe
Input citra query
Ekstraksi Fitur dengan SIFT
Hitung Kemiripan antar fitur
Tampilkan Hasil Video Relevan
Selesai
3.2.4. Flowchart
Flowchart adalah suatu bagan dengan symbol-simbol tertentu yang menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam suatu program.
3.2.4.1.Flowchart Sistem
Flowchart sistem menemukan kembali video relevan berdasarkan citra query dapat dilihat pada Gambar 3.7. di bawah ini.
Gambar 3.7. Flowchart Sistem
Keterangan Gambar 3.7:
1. Mulai
2. User menentukan/input koleksi video
3. Preprocessing memecah video menjadi frame-frame
4. Preprocessing ekstraksi keyframe untuk memilih keyframe mewakili setiap video 5. User menentukan/input citra query
6. Lakukan proses descriptor ekstraksi fitur menggunakan Scale Invariant Feature Transform
7. Lakukan proses Similarity Comparison, menghitung dan titik/point untuk menentukan kemiripan citra, semakin banyak titik yang terhubung maka semakin tinggi tingkat kemiripan citra
8. Tampilkan hasil temu kembali video relevan yang diurutkan berdasar nilai kemiripan fitur serta running time proses pencocokan fitur.
3.2.5. Perancangan Antarmuka (Interface)
Perancangan antarmuka (interface) berfungsi untuk merancang interface yang efektif untuk sistem yang akan dibuat. Efektif artinya siap digunakan, dan hasilnya sesuai kebutuhan.
3.2.5.1.Halaman Utama
Halaman utama merupakan halaman yang pertama kali muncul ketika sistem dijalankan. Rancangan halaman utama dapat dilihat pada Gambar 3.8.
32
Gambar 3.8. Rancangan Antarmuka Halaman Utama
Tabel 3.4 Keterangan Gambar Rancangan Antarmuka (Interface) Halaman Utama
No Keterangan
1 Merupakan Label untuk Judul Skripsi 2 Merupakan Label untuk Nama dan NIM
3 Merupakan Picture Box untuk Logo Universitas
4 Merupakan Label untuk Program Studi dan Universitas
5 Merupakan Button untuk Menampilkan Halaman Mulai Pencarian Video Relevan berdasarkan Citra Query
JUDUL SKRIPSI
NAMA NIM
PROGRAM STUDI FAKULTAS
T.A
Tombol Mulai
1
2
3
4
5
3.2.5.2.Halaman Menu Koleksi Video
Gambar 3.9. Halaman Menu Koleksi Video
Tabel 3.5 Keterangan Gambar Rancangan Halaman Menu Koleksi Video
No Keterangan
1 Merupakan Tab Control untuk menapilkan menu Koleksi Video 2 Merupakan Tab Control untuk menapilkan menu Algoritma SIFT
3 Merupakan Windows Media Player untuk menampilkan dan memutar koleksi Video yang tela di inputkan
4 Merupakan Text Box untuk menampilkan informasi address video yang di inputkan
5 Merupakan Text Box untuk menampilkan informasi jumlah frame dari video yang di inputkan
6 Merupakan Text Box untuk menampilkan informasi jumlah frame per second dari video yang di inputkan
34
7 Merupakan Text Box untuk menampilkan informasi durasi dari video yang di inputkan
8 Merupakan Button untuk menghapus video dalam koleksi video
9 Merupakan Text Box untuk informasi pada pencarian video dalam koleksi video
10 Merupakan Data Grid View untuk menampilkan data koleksi video yang telah di inputkan
11 Merupakan Button untuk mencari dan menginputkan video
12 Merupakan Button untuk menyimpan video dan mengekstrak keyframe 13 Merupakan Reload untuk mereload sistem
3.2.5.3.Halaman Menu Algoritma SIFT
Gambar 3.10. Halaman Menu Algoritma SIFT
Tabel 3.6 Keterangan Gambar Rancangan Halaman Menu Algoritma SIFT
No Keterangan
1 Merupakan Tab Control untuk menapilkan menu Koleksi Video 2 Merupakan Tab Control untuk menapilkan menu Algoritma SIFT
3 Merupakan Text Box untuk menampilkan informasi address citra query yang telah di inputkan
4 Merupakan Text Box untuk menampilkan informasi nama citra query yang telah di inputkan
5 Merupakan Button untuk mencari dan menginput citra query
6 Merupakan Text Box untuk menampilkan informasi panjang citra query yang telah di inputkan
7 Merupakan Picture Box untuk menampilkan proses pencocokan fitur keyframe dan citra query
8 Merupakan Picture Box untuk menampilkan citra query yang di inputkan 9 Merupakan Text Box untuk menampilkan informasi lebar citra query yang
telah di inputkan
10 Merupakan Progress Bar untuk menampilkan progress proses pencocokan citra
11 Merupakan Button untuk mereset sistem
12 Merupakan Text Box untuk menampilkan informasi hasil jumlah video relevan
13 Merupakan Text Box untuk menampilkan informasi hasil waktu proses pencocokan citra
14 Merupakan Data Grid View untuk menampilkan data hasil koleksi video yang relevan berdasarkan citra query
15 Merupakan Button untuk melakukan proses ekstraksi dan pencocokan citra
16 Merupakan Windows Media Player untuk menampilkan dan memutar video yang relevan
BAB IV
IMPLEMENTASI DAN PENGUJIAN SISTEM 4.1.Implementasi Sistem
Implementasi sistem adalah tahap penerapan sistem yang akan disetujui termasuk program yang telah dibuat pada tahap perancangan sistem agar siap untuk dioperasikan.
Sistem ini dibangun dengan menggunakan Bahasa pemrograman C# Visual Studio dan Library Emgu Cv 2.4.0.1717 yang berfungsi sebagai image processing library.
Aplikasi ini terdiri dari tiga form utama, yaitu form Cover, form Kelola Video, dan form Algoritma SIFT.
4.1.1. Tampilan Antarmuka Form Cover
Tampilan Antarmuka Form Cover dapat dilihat pada gambar 4.1.
Gambar 4.1. Form Cover
Form Cover merupakan interface halaman awal ketika sistem aplikasi dijalankan.
Form Cover terdiri dari informasi judul penelitian, data diri pembuat sistem, jurusan dan fakultas pembuat sistem, serta satu button. Button ini digunakan untuk membuka halaman pencarian video relevan dengan query.
4.1.2. Tampilan Antarmuka Form Kelola Video
Tampilan Antarmuka Pencarian Video Relevan Form Kelola Video dapat dilihat pada Gambar 4.2.
Gambar 4.2. Form Kelola Video
Halaman Kelola Video menampilkan bagian preprocessing sistem yaitu segmentasi dan ekstraksi video. Untuk memilih koleksi video yang akan di proses, dilakukan dengan menekan button “Browse” lalu setelah dilakukan pemilihan video sistem ini akan menampilkan informasi address video,kemudian sistem secara otomatis akan melakukan proses segmentasi video sehingga menampilkan informasi data video yang
38
di ekstrak, seperti jumlah frame keseluruhan, jumlah frame per second, dan durasi video. Untuk menyimpan informasi video ke dalam database, dapat dilakukan dengan menekan button “Simpan” maka sistem akan melakukan proses ekstraksi keyframe yaitu memilih beberapa frame sebagai keyframe untuk mewakili video tersebut dan semua informasi video akan disimpan dalam Data Grid View yang telah terhubung ke database. Jika video yang di input belum pernah di simpan dalam database, maka akan muncul message box sebagai pemeberitahuan “Video Berhasil Di Tambah” seperti pada gambar 4.3.
Gambar 4.3. Message Box Video Berhasil Di Tambah
Tetapi jika video sudah pernah di simpan dan ada di dalam database maka akan muncul message box sebagai pemberitahuan “Video Sudah Ada Dalam Database”
seperti pada gambar 4.4
Gambar 4.4. Message Box Video Sudah Ada Dalam Database
40
4.1.3. Tampilan Antarmuka Form Algoritma SIFT
Tampilan Antarmuka Pencarian Video Relevan Form Algoritma SIFT dapat dilihat pada Gambar 4.5.
Gambar 4.5. Form Algoritma SIFT
Halaman Algoritma SIFT menampilkan beberapa bagian utama seperti, pemilihan citra query, informasi citra query, proses pencocokan citra, hasil pencarian video relevan dan waktu proses atau running time.
Untuk memilih citra query yang akan di bandingkan dengan keyframe video, dilakukan dengan memilih button “Browse” lalu setelah citra query di pilih melalui folder frame hasil segmentasi maka sistem akan menampilkan informasi address citra query, nama query, panjang query, dan lebar citra query seperti pada gambar 4.6.
Gambar 4.6. Citra Query
Proses pencocokan citra akan dilakukan setelah menekan button “Proses”.
Proses pencocokan citra akan di tampilkan pada sistem, dimana citra query dan keyframe yang sudah di greyscale akan di bandingkan melalui titik-titik skala yang saling terhubung seperti pada gambar 4.7.
Gambar 4.7. Proses Pencocokan Citra
Setelah proses pencocokan citra selesai, maka akan di dapatkan hasil jumlah dari video yang relevan berdasarkan citra query beserta running time atau waktu proses.
Data dari video yang relevan akan di tampilkan pada Data Grid View seperti pada gambar 4.8.
42
Gambar 4.8. Hasil Video Relevan Berdasarkan Citra Query
4.1.4. Penjelasan
Seluruh video yang telah dipilih akan memasuki proses preprocessing terlebih dahulu.
Video akan di segmentasi sehingga sistem akan menampilkan informasi berupa jumlah frame dan durasi video. Kemudian video akan memasuki proses ekstraksi keyframe dimana akan di lakukan pemilihan keyframe yang akan mewakili setiap video. Dan semua hasil preprocessing akan di simpan dalam database.
Langkah selanjutnya adalah proses ekstraksi fitur dan proses deteksi keypoint dari seluruh citra. Algoritma SIFT (Scale Invariant Feature Transform) digunakan untuk pengenalan gambar dan pelacakan dalam video dengan mengubah suatu citra menjadi suatu vector fitur local yang kemudian akan digunakan sebagai salah satu pendekatan untuk melakukan deteksi keypoint dan ekstraksi deskriptor keypoint fitur local. Sehingga pixel citra yang dimasukkan dapat bervariasi.
Untuk melakukan identifikasi titik-titik potensi yang sesuai orientasi dan skala invariant, diimplementasikan dengan menggunakan Homography Matrix. Homography Matrix merupakan sebuah matrix untuk mentransformasi sebuah citra dengan cara menyesuaikannya dengan keypoint citra lain. Dengan mengalikan gambar dengan Homography Matrix, gambar akan mengalami transformasi geometri seperti translasi, rotasi, scalling, shear. Karena koordinat antar kedua citra yang akan disatukan