PENAMBAHAN FITUR IMAGE ENHANCEMENT BERBASIS
DATA HISTOGRAM PADA KAMERA PELACAK MANUSIA
TUGAS AKHIR
Program Studi
S1 Sistem Komputer
Oleh:
Andi Muhammad Mahathir
10.41020.0057
FAKULTAS TEKNOLOGI DAN INFORMATIKA
Daftar Isi
Abstrak ... v
KATA PENGANTAR ... vi
Daftar Isi ... viii
BAB I ... 1
PENDAHULUAN ... 1
1.1. Latar Belakang Masalah ... 1
1.2. Perumusan Masalah ... 2
1.3. Pembatasan Masalah ... 2
1.4. Tujuan ... 2
1.5. Sistematika Penulisan ... 2
BAB II ... 5
LANDASAN TEORI ... 5
2.1. Citra ... 5
2.2. Pengolahan Citra ... 5
2.3. Warna ... 5
2.4. Citra Keabuan ... 6
2.5. Peta Keabuan ... 6
2.6. Koreksi Gamma ... 7
2.8. Histogram Equalization ... 14
2.9. Proses Deteksi Badan ... 19
2.10. Metode Haar Cascade Classifier ... 20
BAB III ... 23
METODE PENELITIAN ... 23
3.1. Model Pengembangan ... 23
3.2. Prosedur Penelitian ... 23
3.3. Diagram Blok Sistem ... 24
3.4. Perancangan Perangkat Lunak ... 25
3.5. Metode Pengujian dan Evaluasi Sistem ... 28
3.5.1 Pengujian Streaming Citra Melalui Kamera Webcam ... 28
3.5.2. Perhitungan Histogram Equalization ... 28
3.5.3. Pengujian Deteksi Badan Manusia ... 31
3.5.4. Pengujian Deteksi Badan Manusia dengan Berbagai Intensitas Cahaya. 32 3.5.5. Pengujian Delay Image Enhancement ... 32
BAB IV ... 33
PENGUJIAN SISTEM ... 33
4.1. Pengujian Streaming Citra Melalui Kamera Webcam ... 33
4.1.1. Tujuan ... 33
4.1.2. Alat yang Digunakan ... 33
4.1.4. Hasil Pengujian ... 34
4.2. Perhitungan Histogram Equalization ... 34
4.2.1. Tujuan ... 34
4.2.2. Alat yang Digunakan ... 35
4.2.3. Prosedur Perhitungan... 35
4.2.4. Hasil Perhitungan ... 35
4.3. Pengujian Deteksi Badan Manusia ... 38
4.3.1. Tujuan ... 39
4.3.2. Alat yang Digunakan ... 39
4.3.3. Prosedur Pengujian ... 39
4.3.4. Hasil Pengujian ... 39
4.4. Pengujian Deteksi Badan Manusia dengan Berbagai Intensitas Cahaya.... 41
4.4.1. Tujuan ... 41
4.4.2. Alat yang Digunakan ... 42
4.4.3. Prosedur Pengujian ... 42
4.4.4. Hasil Pengujian ... 42
4.5. Pengujian Waktu DelayImage Enhancement ... 45
4.5.1. Tujuan ... 45
4.5.2. Alat yang Digunakan ... 45
4.5.3. Prosedur Pengujian ... 45
BAB V ... 47
PENUTUP ... 47
5.1. Kesimpulan ... 47
5.2. Saran ... 48
Daftar Pustaka ... 49
LAMPIRAN ... 50
1
1.1. Latar Belakang Masalah
Perkembangan teknologi pengolahan citra saat ini berkembang pesat, baik perkembangan dari jumlah pengguna maupun perkembangan jenis teknologi yang menggunakan pengolahan citra. Oleh karena itu dibutuhkan peningkatan mutu pada teknologi pengolahan citra.
Peningkatan kualitas citra merupakan salah satu proses awal dalam peningkatan mutu citra. Peningkatan muru citra diperlukan karena seringkali citra yang dijadikan objek mempunyai kualitas yang buruk, misalnya citra terlalu gelap, kabur, dan sebagainya.
Proses pengolahan citra yang termasuk dalam kategori peningkatan mutu citra bertujuan untuk memperoleh keindahan gambar, untuk kepentingan analisis citra, dan untuk mengoreksi citra dari segala gangguan yang terjadi pada waktu pengambilan objek.
Salah satu cara untuk meningkatkan mutu citra tersebut adalah dengan mengatur kecerahan dan kontras secara otomatis sehingga citra menjadi lebih jelas. Teknik yang digunakan untuk mengatur kecerahan dan kontras secara otomatis adalah dengan Histogram Equalization.
1.2. Perumusan Masalah
Berdasarkan latar belakang diatas, dapat dirumuskan permasalahannya adalah bagaimana membuat program yang dapat mengatur kontras secara otomatis.
1.3. Pembatasan Masalah
Batasan masalah dari program yang dibahas adalah sebagai berikut:
1. Pengerjaan hanya pada bagian pengaturan kontras. Jadi tidak perlu dikoneksikan pada robotino
2. Input kamera menggunakan webcam dengan resolusi yang sama dengan kamera robotino
3. Menggunakan bahasa pemrograman C++
1.4. Tujuan
Tujuan dari tugas akhir ini adalah untuk membuat program yang dapat mengatur kecerahan dan kontras citra secara otomatis, sehingga peningkatan mutu citra dapat dilakukan dengan mudah dan efektif.
1.5. Sistematika Penulisan
Laporan penelitian tugas akhir ini tersusun atas beberapa bab dengan urutan sebagai berikut :
BAB I : Pendahuluan
tujuan dari penelitian tugas akhir ini, kontribusi yang dapat diberikan dari hasil penelitian ini terhadap perkembangan ilmu pengetahuan, serta sistematika penulisan buku Tugas Akhir.
BAB II : Landasan Teori
Bagian landasan teori menguraikan tentang teori-teori yang terkait dengan variabel-variabel penelitian, termasuk uraian tentang pemilihan suatu teori yang diterapkan dalam menyelesaikan masalah. Teori yang akan diuraikan adalah tentang sistem yang digunakan, yaitu Robotino, webcam,
library OpenCV, library OpenRobotinoAPI, metode pengolahan citra untuk mendeksi badan yaitu Haar-like feature.
BAB III : Metode Penelitian
Dalam bab tiga diuraikan tentang metode penelitian yang digunakan dalam penelitian ini, serta alasan dan penjelasan penggunaan metode tersebut dalam penelitian. Pada metode penelitian ini dimuat model sistem yang akan dibuat, perancangan aplikasi serta pembuatannya, yaitu proses integrasi Robotino dengan PC dan pengolahan citra sesuai yang diharapkan, dan model pengujian dan evaluasi sistem yang digunakan.
Dalam bagian pengujian dan evaluasi sistem, diuraikan tentang langkah-langkah pengujian, tujuan pengujian, prosedur pengujian dan hasil pengujian serta analisis hasil pengujian sistem secara keseluruhan.
BAB V : Penutup
5
2.1. Citra
Citra adalah gambar pada bidang dwimatra (dua dimensi). Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus dan intensitas cahaya pada bidang dwimatra (Munir, 2004).
2.2. Pengolahan Citra
Pengolahan Citra adalah pemrosesan citra, khususnya dengan menggunakan komputer, menjadi citra yang kualitasnya lebih baik. Pengolahan citra bertujuan memperbaiki kualitas citra agar mudah diinterpretasi oleh manusia atau mesin (dalam hal ini komputer). Teknik-teknik pengolahan citra mentransformasikan citra menjadi citra lain. Jadi, masukannya adalah citra dan keluarannya juga citra yang berkualitas lebih baik daripada citra masukan (Munir, 2004).
2.3. Warna
Warna adalah persepsi yang dirasakan oleh sistem visual manusia terhadap panjang gelombang cahaya yang dipantulkan oleh objek. Setiap warna mempunyai panjang gelombang yang berbeda. Warna merah mempunyai panjang gelombang paling tinggi, sedangkan warna ungu mempunyai panjang gelombang paling rendah.
warna bukan merupakan besaran fisik tetapi warna merupakan suatu sensasi yang dihubungkan dengan sistem saraf kita, seperti halnya rasa maupun bau. Sensasi warna diperoleh dengan adanya interaksi antara warna dengan sistem saraf sensitive warna kita (Santosa, 1997).
2.4. Citra Keabuan
Citra beraras keabuan adalah citra yang hanya menggunakan warna yang merupakan tingkatan warna abu-abu. Warna abu-abu adalah satu-satunya warna pada ruang RGB dengan komponen merah, hijau, dan biru mempunyai intensitas yang sama. Pada citra beraras keabuan hanya perlu menyatakan nilai intensitas untuk tiap pixel sebagai nilai tunggal, sedangkan pada citra berwarna perlu tiga nilai intensitas untuk tiap pixel-nya.
Intensitas citra beraras keabuan disimpan sebagai integer 8 bit sehingga memberikan 28 = 256 tingkat keabuan dari warna hitam sampai warna putih. Dengan menggunakan pola 8bit ini citra beraras keabuan membutuhkan ruang memori, disk, dan waktu pengolahan yang lebih sedikit daripada citra berwarna.
2.5. Peta Keabuan
2.6. Koreksi Gamma
Koreksi gamma merupakan faktor keteduhan yang mempengaruhi pemetaan antara nilai intensitas (tingkat keabuan) citra masukan dan keluaran sehingga pemetaan bisa tak-linear. Sebagai contoh nilai dari intensitas masukan minimum sampai intensitas masukan maksimum dapat dipetakan ke dalam nilai dari intensitas keluaran minimum sampai intensitas keluaran maksimum.
Gamma memiliki nilai lebih besar dari 0. Jika gamma sama dengan satu, maka pemetaannya linear. Jika gamma kurang dari 1, pemetaannya cenderung menuju nilai keluaran yang lebih tinggi (terang). Jika gamma lebih besar dari pada 1, pemetaannya cenderung menuju nilai keluaran yang lebih rendah (lebih gelap). Gambar 1 menunjukkan pemetaan intensitas dengan gamma yang berbeda.
Gambar 1 Pemetaan intensitas dengan gamma yang berbeda
2.7. Histogram
Histogram adalah suatu grafik yang menunjukkan berapa besar jumlah pixel dari citra memiliki suatu tingkat keabuan tertentu. Gambar 2 menunjukkan contoh histogram dari sebuah citra.
Gambar 2 Citra dan histogramnya
Tinggi dari histogram pada titik tertentu menunjukkan jumlah pixel atau daerah dari citra yang mempunyai tingkat keabuan tersebut.
Histogram adalah grafik yang menggambarkan penyebaran dari nilai – nilai pixel yang terdapat pada sesuatu citra atau bagian citra tertentu di dalamnya. Intensitas pada citra dapat diketahui dari sebuah histogram. Histogram juga dapat mengetahui tentang banyak hal tentang kecerahan (Brightness) dan kontras (Contrast) dari sebuah gambar. Karena itu histogram adalah alat bantu yang sangat berharga dalam sebuah pengerjaan pengolahan citra, baik secara kuantitatif ataupun kualitatif. (Fatmawati, 2011)
memperoleh penyebaran yang merata, sehingga setiap derajat keabuan akan memiliki jumlah pixel yang relatif sama. (Fatmawati, 2011)
Membandingkan histogram dari citra mentah dan citra yang ditingkatkan menggunakan linear streching dan histogram yang disamakan. Apa saja bagian yang terdapat pada histogram? (Harrison, 2005)
1. Judul, judul singkat yang menjelaskan tentang isi yang terkandung dalam histogtram. (Harrison, 2005)
2. Horisontal atau X-Axis: horisontal atau sumbu X berisi skala yang memiliki nilai-nilai yang pengukuranya cocok. Pada umumnya pengukuran ini dikelompokan kedalam interval untuk membantu meringkas set data yang besar, sedangkan data individu tidak ditampilkan. (Harrison, 2005)
3. Bar: Bar memiliki dua karakteristik yang penting, yaitu tinggi dan lebar. Tinggi untuk menunjukan jumlah nilai dalam selang waktu yang terjadi, sedangkang width merupakan panjang pada interval yang tertutup oleh bar. (Harrison, 2005)
4. Vertical atau Y-Axis: vertikal atau Sumbu Y adalah skala yang berisi beberapa waktu nilai yang terdapat pada selang waktu yang terjadi. Jumlah waktu juga biasa disebut sebagai frekuensi. (Harrison, 2005)
Pembuatan Histogram :
1. Ciri – ciri citranya
a. Gelap
b. Terang
c. Normal
d. Normal Brightness dan Contrast
(a) Kiri: citra Lena yang terlalu gelap; kanan: histogramnya (by Photoshop)
(c) Kiri: citra Lena yang bagus (normal); kanan: histogramnya
Gambar 4 Bermacam-macam histogram dari beberapa kasus citra Lena
Gambar 4 memperlihatkan tiga buah citra lena. Citra lena yang pertama terlalu gelap. Histogramnya banyak menumpuk pada bagian kiri, karena citra tersebut mengandung banyak nilai intensitas yang dekat dengan 0 (hitam). Citra lena yang kedua terlalu terang. Histogramnya banyak menumpuk pada bagian kanan, karena citra tersebut mengandung banyak nilai intensitas yang dekat dengan 255 (putih). Citra lena yang ketiga adalah citra yang normal (bagus). Histogram tersebar merata diseluruh daerah derajat keabuan. (Prof. Dr.rer.nat. Achmad Benny Mutiara, 2005). Membuat Histogram :
dihitung dengan rumus
, i = 0, 1, …., L-1..………..(1)
Yang dalam hal ini,
ni = jumlah pixel yang memiliki derajat keabuan i
n = jumlah seluruh pixel didalam citra
Plot hi versus fi dinamakan histogram. Gambar 4. Adalah contoh sebuah histogram citra. Secara grafis histogram ditampilkan dengan diagram batang. Dapat diperhatikan bahwa persamaan (1), nilai ini telah dinormalkan dengan membaginya dengan n, nilai hi berada didalam selang 0 sampai 1. (Prof. Dr.rer.nat. Achmad Benny Mutiara, 2005)
Gambar 5 Histogram citra (Prof. Dr.rer.nat. Achmad Benny Mutiara, 2005)
2.8. Histogram Equalization
Histogram merupakan sebuah diagram yang menunjukkan jumlah titik yang terdapat pada sebuah citra untuk setiap tingkat keabuan (Hestiningsih, 2009). Sumbu x (absis) pada histogram menunjukkan tingkat warna, sedangkan sumbu y (ordinat) menunjukkan frekuensi kemunculan titik. Contoh sebuah gambar dan histogramnya dapat dilihat pada gambar berikut:
Gambar 6 Gambar Grafik Histogram
mengubah derajat keabuan sebuah piksel (r) dengan derajat keabuan yang baru (s) dengan sebuah fungsi transformasi (Gonzalez, 2002). Secara matematis dapat ditulis dengan persamaan: . dapat diperoleh kembali dari s dengan transformasi invers seperti pada persamaan dimana . Rumus yang digunakan untuk menghitung histogram equalization dapat ditulis seperti pada persamaan berikut:
dalam hal ini
,
Dimana adalah nilai piksel pada derajat keabuan , dan adalah jumlah seluruh piksel pada citra. Dari perumusan tersebut dapat diartikan bahwa derajat keabuan ( ) dinormalkan terhadap derajat keabuan ( ). Nilai
menyatakan hitam, dan menyatakan putih dalam skala keabuan yang didefinisikan.
Rumus lain yang dapat digunakan untuk menghitung histogram equalization pada citra dengan skala keabuan bit adalah seperti pada persamaan berikut:
.
.
Ci = distribusi kumulatif dari nilai skala keabuan ke –i dari citra asli round = fungsi pembulatan ke bilangan yang terdekat
Ko = nilai keabuan hasil histogram equalization w = lebar citra
Gambar berikut merupakan contoh histogram citra asli yang belum diratakan dan histogram citra setelah proses equalization.
Gambar 7 Contoh Hasil Histogram Equalization
Sedangkan contoh tahap-tahap perhitungan manual untuk ekualisasi histogram adalah sebagai berikut:
1. Misalkan terdapat sebuah citra keabuan dengan nilai-nilai piksel sebagai berikut:
(i,j) 0 1 2 3 4 5 6 7 0 29 40 44 39 111 116 81 108 1 40 44 62 90 111 111 108 58 2 186 132 132 154 154 154 150 229 3 136 184 175 155 171 171 171 148 4 254 133 133 136 154 151 151 157 5 140 133 133 131 136 138 149 149 6 115 128 133 136 136 136 138 117 7 122 128 138 143 133 119 139 128
2. Dari nilai piksel pada matriks citra tersebut, dihitung frekuensi dan distribusi kumulatif dari nilai skala keabuannya. Daftar frekuensi dan pehitungan distribusi kumulatif dapat dilihat pada tabel berikut:
Skala
Keabuan Frekuensi
Distribusi Kumulatif
Skala
Keabuan Frekuensi
Distribusi
Tabel 2 Daftar Frekuensi dan Distribusi Kumulatif
3. Menghitung nilai keabuan dari hasil perhitungan distribusi kumulatif menggunakan rumus yang sebelumnya telah dituliskan di atas. Berikut ini merupakan contoh perhitungan untuk skala keabuan 2 dan 30:
8 8
Hasil perhitungan untuk seluruh nilai skala keabuan dapat dlihat pada tabel
Awal Frekuensi
Keabuan
Tabel 3 Hasil Perhitungan nilai skala keabuan
Hasil matriks citra setelah proses histogram equalization adalah sebagai berikut:
2.9. Proses Deteksi Badan
Proses deteksi badan manusia bagian atas menggunakan metode Haar-like feature dimana proses deteksi akan membandingkan Haar-like feature yang dikenal sebagai Haar Cascade Classifier. Haar-like features merupakan rectangular features, yang memberikan indikasi secara spesifik pada sebuah gambar atau image. Ide dari Haar-like features adalah untuk mengenali obyek berdasarkan nilai sederhana dari fitur tetapi bukan merupakan nilai piksel dari image obyek tersebut. Metode ini memiliki kelebihan yaitu komputasinya sangat cepat, karena hanya bergantung pada jumlah piksel dalam persegi bukan setiap nilai piksel dari sebuah image. Metode ini merupakan metode yang menggunakan statistical model (classifier). Pendekatan untuk mendeteksi objek dalam gambar menggabungkan empat konsep utama : 1. Training data 2. Fitur segi empat sederhana yang disebut fitur Haar. 3. Integral image untuk pendeteksian fitur secara cepat. 4. Pengklasifikasi bertingkat (Cascade classifier) 3. Tipe four-rectangle feature Adanya fitur Haar ditentukan dengan cara mengurangi rata-rata piksel pada daerah gelap dari rata-rata piksel pada daerah terang. Jika nilai perbedaannya itu diatas nilai ambang atau threshold, maka dapat dikatakan bahwa fitur tersebut ada. Nilai dari Haar-like feature adalah perbedaan antara jumlah nilai-nilai piksel gray level dalam daerah kotak hitam dan daerah kotak . Dimana untuk kotak pada Haar-like feature dapat dihitung secara cepat menggunakan “integral image”.
training yang disediakan oleh OpenCV. Proses deteksi badan manusia ini telah berhasil melakukan proses deteksi badan manusia dengan jarak pandang 1 – 6 Meter.
2.10. Metode Haar Cascade Classifier
Proses deteksi objek Viola-Jones adalah deteksi objek pertama yang menyediakan tingkat deteksi objek yang kompetitif secara real-time yang diusulkan pada tahun 2001 oleh Paul Viola dan Michael Jones.
Meskipun dapat dilatih untuk mendeteksi berbagai kelas objek, deteksi objek ini terutama didorong oleh masalah deteksi wajah. Umumnya disebut metode haar cascades classifier. Metode ini merupakan metode yang menggunakan statistical model (classifier). Pendekatan untuk mendeteksi wajah dalam gambar menggabungkan empat konsep utama :
1. Training data
2. Fitur segi empat sederhana yang disebut fitur Haar. 3. Integral image untuk pendeteksian fitur secara cepat.
4. Pengklasifikasi bertingkat (Cascade classifier) untuk menghubungkan banyak fitur secara efisien.
Training data pada Haar, metode ini memerlukan 2 tipe gambar objek dalam proses training yang dilakukan, yaitu :
1. Positive samples
2. Negative samples
Berisi gambar objek selain objek yang ingin dikenali, umumnya berupa gambar background (tembok, pemandangan, lantai, dan gambar lainnya). Resolusi untuk sampel negatif disarankan untuk memiliki resolusi yang sama dengan resolusi kamera.
Training dari Haar menggunakan dua tipe sampel diatas. Informasi dari hasil training ini lalu dikonversi menjadi sebuah parameter model statistik.
Sistem kerja algoritma Haar Cascade Classifier, Algoritma Haar
menggunakan metode statistik dalam melakukan pengenalan wajah. Metode ini menggunakan simple haar-like features dan juga cascade of boosted tree classifier.
Classifier ini menggunakan gambar berukuran tetap. Cara kerja dari haar dalam mendeteksi wajah adalah menggunakan teknik sliding window pada keseluruhan gambar dan mencari apakah terdapat bagian dari gambar yang berbentuk seperti wajah atau tidak. Haar juga memiliki kemampuan untuk melakukan scalling sehingga dapat mendeteksi adanya mata yang berukuran lebih besar ataupun lebih kecil dari gambar pada classifier. Tiap fitur dari haar like feature didefinisikan pada bentuk dari fitur, diantaranya koordinat dari fitur dan juga ukuran dari fitur tersebut.
Haar Feature adalah adalah fitur yang digunakan oleh Viola dan Jones didasarkan pada Wavelet Haar. Wavelet Haar adalah gelombang tunggal bujur sangkar (satu interval tinggi dan satu interval rendah). Untuk dua dimensi, satu terang dan satu gelap. Selanjutnya kombinasi-kombinasi kotak yang digunakan untuk pendeteksian objek visual yang lebih baik. Ada tiga tipe kotak (rectangular) fitur pada umunya yaitu:
2. Tipe three-rectangle feature 3. Tipe four-rectangle feature
Gambar 8 Haar like feature
Adanya fitur Haar ditentukan dengan cara mengurangi rata-rata piksel pada daerah gelap dari rata-rata piksel pada daerah terang. Jika nilai perbedaannya itu diatas nilai ambang atau threshold, maka dapat dikatakan bahwa fitur tersebut ada.
Nilai dari haar-like feature adalah perbedaan antara jumlah nilai-nilai piksel gray level dalam daerah kotak hitam dan daerah kotak putih. Kotak haar-like feature dapat dihitung secara cepat menggunakan integral image.
23
3.1. Model Pengembangan
Tujuan dari tugas akhir ini adalah untuk membuat sebuah aplikasi untuk mengatur kontras pada gambar secara otomatis. Dan dapat meningkatkan kualitas citra yang ada pada video atau gambar yang akan digunakan untuk mendeteksi atau melacak badan manusia. Dimana hasil dari deteksi atau melacak manusia itu akan dimanfaatkan dalam bidang lain. Seperti untuk robot pelacak manusia yang akan mengikuti kemana manusia itu bergerak. Gambar atau video tersebut akan diolah menggunakan Microsoft Visual Studio C++ dan library openCV untuk bisa mendeteksi objek yang akan diharapkan yaitu badan manusia.
3.2. Prosedur Penelitian
Prosedur penelitian yang dipakai dalam pengerjaan tugas akhir ini adalah 1. Studi literatur
Pencarian data-data literature daru masing-masing fungsi pada library Microsoft Visual C++ dan openCV melalui pencarian dari internet, dan konsep-konsep teoritis dari buku-buku penunjang serta metode yang digunakan untuk melakukan pengolahan citra.
2. Tahap perancangan dan pengembangan sistem
Dalam membuat pengembangan sistem, terdapat beberapa langkah rancangan sistem yang diambil antara lain:
menggunakan metode HAAR-like-feature, dan proses pengaturan kontras.
b. Membuat aplikasi pendeteksi badan manusia bangian atas c. Mengatur fungsi-fungsi yang digunakan pada aplikasi ini dan
mengelompokkan fungsi tersebut pada beberapa class. d. Pengambilan gambar secara real-time.
e. Melakukan proses pengolahan citra yaitu konversi ke BGR dan
grayscale.
f. Menerapkan metode HAAR-like feature.
g. Melakukan percobaan pada aplikasi ini untuk memastikan apakah aplikasi ini sudah dapat berjalan dengan baik atau belum.
3.3. Diagram Blok Sistem
Sistem ini terdiri 2 proses utama yaitu blok proses deteksi dan proses pengaturan kontras atau image enhancement. Aplikasi image enhancement akan melakukan perbaikan kontras pada gambar yang ditangkap oleh kamera. Kemudian hasil dari proses image enhancement ini akan digunakan pada proses deteksi.
Sedangkap pada proses deteksi terdiri dari haar training, aplikasi deteksi, dan objek badan manusia. Aplikasi deteksi akan melakukan proses pengolahan citra untuk mendeteksi objek yang sesuai dari hasil proses image enhancement.
Haar-like training library
Image enhancement
Microsoft Visual Studio
opencv Kamera webcam Objek badan manusia
Deteksi badan manusia
Gambar 9 diagram blok
3.4. Perancangan Perangkat Lunak
Dalam perancangan perangkat lunak, compiler yang digunakan adalah Microsoft Visual C++. Dan untuk library yang digunakan pada pengolahan citra yaitu library OpenCV.
Gambar 10 Flowchart keseluruhan
Berikut penjelasan dari diagram alur proses deteksi badan manusia beserta kode pemrograman menggunakan metode deteksi Haar-like feature:
1. Proses mengaktifkan webcam dan melakukan konversi ke berbagai ruang warna.
2. Webcam akan melakukan proses scanning objek pada frame gambar yang didapatkan.
3. Mengambil data training Haar cascade classifier berupa file berformat xml pada program dengan fungsi kode pemrograman
*.xml yang berada pada direktori project yang disimpan. Berikut penggalan kode pemrograman untuk mengambil data training :
String full_cascade_name = “haarcascade_upperbody.xml”;
4. Proses selanjutnya adalah membandingkan nilai pixel threshold dan
frame objek yang tertangkap kamera dengan nilai pixel haar training.
Haar-like feature memproses gambar dalam wilayah kotak-kotak yang berisi beberapa pixel dari sebuah bagian gambar. Kemudian piksel-piksel dalam satu wilayah tersebut dijumlahkan dan dilakukan proses perhitungan sehingga didapatkan perbedaan dalam setiap wilayah kotak-kotak tersebut. Perbedaan inilah yang dapat dijadikan sebuah kode untuk menandai wilayah tersebut sehingga dapat memproses bagian gambar. Untuk dapat mendeteksi objek yang diinginkan digunakan kode fungsi pemrograman:
detectMultiScale(const Mat& image,
CvHaarClassifierCascade* cascade, double scaleFactor=1.1,
int minNeighbors=3, int flags=0, Size minSize=Size(),
Size maxSize=Size()).
Keterangan:
Image : Frame gambar yang telah dikonversi ke dalam ruang warna grayscale
Cascade : Haar training yang digunakan
Scale : Ukuran gambar yang akan dikurangi pada setiap skala
minSize : ukuran minimal objek yang akan dideteksi maxSize : ukuran maksimal objek yang akan dideteksi
Berikut penggalan kode pemrograman untuk deteksi badan manusia bagian atas:
Full_cascade.detectMultiScale(thresholded, full,
1.1,1,0|CV_HAAR_SCALE_IMAGE, Size(50,50);
3.5. Metode Pengujian dan Evaluasi Sistem
Untuk mengetahui apakah aplikasi yang dibuat dapat berjalan sesuai yang diharapkan, maka akan dilakukan pengujian dan evaluasi sistem untuk setiap tahapan-tahapan dalam pembuatan aplikasi. Dimulai dari pengambilan citra, color filtering menggunakan ruang warna RGB, BGR dan thresholding, deteksi badan manusia menggunakan metode Haar-like feature dan penjejakan badan manusia bagian atas sesuai dengan pergerakan manusia.
3.5.1 Pengujian Streaming Citra Melalui Kamera Webcam
Untuk mengetahui apakah data citra sudah dapat diakses langsung melalui kamera webcam, maka dilakukan pengujian dengan cara menjalankan program (running) pemanggil kamera di Microsoft Visual Studio, yaitu untuk mengakses
console kamera webcam secara langsung dari program. Kemudian citra yang tampil akan diuji apakah dapat menampilkan data citra secara streaming.
3.5.2. Perhitungan Histogram Equalization
1. Misalkan terdapat sebuah citra keabuan dengan nilai-nilai piksel sebagai
Tabel 5 Contoh Value dari Sebuah Gambar
2. Dari nilai piksel pada matriks citra tersebut, dihitung frekuensi dan distribusi kumulatif dari nilai skala keabuannya. Daftar frekuensi dan pehitungan distribusi kumulatif dapat dilihat pada tabel berikut:
Skala
Keabuan Frekuensi
Distribusi Kumulatif
Skala
Keabuan Frekuensi
Skala
Keabuan Frekuensi
Distribusi Kumulatif
Skala
Keabuan Frekuensi
Distribusi
Tabel 6 Daftar Frekuensi dan Distribusi Kumulatif
3. Menghitung nilai keabuan dari hasil perhitungan distribusi kumulatif menggunakan rumus yang sebelumnya telah dituliskan di atas. Berikut ini merupakan contoh perhitungan untuk skala keabuan 2 dan 30:
8 8
8 8 8
Hasil perhitungan untuk seluruh nilai skala keabuan dapat dlihat pada tabel berikut:
Awal Frekuensi
Keabuan
Awal Frekuensi
Keabuan Hasil
Keabuan
Awal Frekuensi
Keabuan
Tabel 7 Hasil Perhitungan nilai skala keabuan
Hasil matriks citra setelah proses histogram equalization adalah sebagai berikut:
Tabel 8 Hasil Matriks Citra Setelah Proses Histogram Equalization
3.5.3. Pengujian Deteksi Badan Manusia
oleh kamera dan berhasil dideteksi akan ditandai dengan sebuah lingkaran yang berada disekeliling badan.
3.5.4. Pengujian Deteksi Badan Manusia dengan Berbagai Intensitas Cahaya
Setelah mengetahui bahwa aplikasi dapat mendeteksi badan manusia bagian atas dengan baik, maka dilakukan pengujian deteksi pada berbagai intensitas cahaya. Untuk menguji kemampuan image enhancement yang ada pada program tersebut. Kemampuan image enhancement diharapkan mampu membantu deteksi badan manusia untuk berhasil mendeteksi pada intensitas cahaya yang lebih gelap atau lebih terang dari yang sebelumnya.
3.5.5. Pengujian Delay Image Enhancement
Setelah diterapkan kemampuan image enhancement pada gambar yang ditangkap oleh kamera, akan terjadi delay atau keterlambatan gambar dibandingkan tanpa menggunakan kemampuan image enhancement, oleh karena itu dilakukan pengujian selisih delay yang terjadi.
33
Pengujian sistem yang dilakukan merupakan pengujian terhadap Image Enhancement yang telah dibuat. Dimulai dengan pengambilan gambar dari kamera
webcam, melakukan pengaturan kontras, hingga objek badan manusia dapat terdeteksi.
4.1. Pengujian Streaming Citra Melalui Kamera Webcam
Pengujian streaming ini dilakukan dengan mengintegrasikan Microsoft Visual Studio melalui library OpenCV. Yaitu untuk memanggil serta menjalankan
console kamera webcam tersebut.
4.1.1. Tujuan
Tujuan pengujian ini yaitu untuk mengetahui apakah aplikasi sudah mampu menampilkan data citra dari kamera webcam ke aplikasi pada Microsoft Visual Studio dan apakah dapat langsung diproses oleh program.
4.1.2. Alat yang Digunakan
1. Microsoft Visual Studio
2. Personal Computer (PC) dengan kamera webcam
4.1.3. Prosedur Pengujian
2. Menjalankan program untuk mengakses data citra pada webcam tersebut 3. Melihat hasil data citra pada window.
4.1.4. Hasil Pengujian
Setelah melakukan pengujian sesuai dengan prosedur diatas berikut, gambar dibawah adalah gambar yang didapatkan dari webcam.
Gambar 11 Hasil streaming dengan webcam
4.2.Perhitungan Histogram Equalization
Perhitungan Histogram Equalizationi ini dilakukan secara manual dengan rumus yang sudah dijabarkan di BAB sebelumnya.
4.2.1. Tujuan
4.2.2. Alat yang Digunakan
1. Microsoft Visual Studio 2. Microsoft Excel
3. Personal Computer (PC) dengan kamera webcam
4.2.3. Prosedur Perhitungan
Mengambil value dari setiap piksel yang ada pada citra grayscale lalu dilakukan pehitungan frekuensi dari setiap value yang ada. Kemudian dilakukan perhitungan Histogram Equalization dan menampilkan hasilnya.
4.2.4. Hasil Perhitungan
Keabuan
Hasil pengujian berikutnya terdapat di lampiran
4.3. Pengujian Deteksi Badan Manusia
4.3.1. Tujuan
Tujuan pengujian deteksi badan manusia bagian atas dengan metode Haar-like feature ini untuk menguji metode dalam mendeteksi badan manusia yang tertangkap oleh kamera. Dengan berbagai model pengujian yang dilakukan bertujuan untuk menguji efektivitas metode Haar-like feature dalam mendeteksi badan manusia.
4.3.2. Alat yang Digunakan
1. Microsoft Visual Studio 2. Personal Computer (PC)
3. Objek badan manusia
4.3.3. Prosedur Pengujian
1. Menjalankan program console pada Microsoft Visual Studio 2. Menjalankan program deteksi badan manusia
3. Melakukan deteksi badan manusia dengan objek target badan manusia dan jarak deteksi yang berbeda-beda.
4.3.4. Hasil Pengujian
mengambil 25 sampel koordinat yang pertama terdeteksi. Hasil pengujian akan ditampilkan dalam tabel dibawah.
Percobaan
Jarak kamera dengan objek
Hasil deteksi
Terdeteksi Tidak Terdeteksi
1 0.5 m 0 25
Pengujian kedua akan dilakukan dengan cara melacak sebanyak 2 objek badan manusia dalam berbagai jarak, pengujian akan dilakukan dengan cara mengambil 25 sampel koordinat yang pertama yg terdeteksi. Hasil pengujian akan ditampilkan dalam tabel dibawah.
Percobaan
4.4. Pengujian Deteksi Badan Manusia dengan Berbagai Intensitas Cahaya
Pengujian deteksi badan manusia bagian atas dengan metode Haar-like feature dilakukan dengan melakukan deteksi badan manusia bagian atas dengan beberapa kondisi cahaya tertentu.
4.4.1. Tujuan
4.4.2. Alat yang Digunakan
1. Microsoft Visual Studio 2. Personal Computer (PC)
3. Objek badan manusia
4.4.3. Prosedur Pengujian
1. Menjalankan program console pada Microsoft Visual Studio 2. Menjalankan program deteksi badan manusia
3. Melakukan deteksi badan manusida dengan objek badan manusia dan cahaya lingkungan yang berbeda-beda
4.4.4. Hasil Pengujian
Hasil dari pengujian ini adalah untuk mengetahui rentang intensitas cahaya yang bisa digunakan untuk mendeteksi badan manusia. Dan membandingkan dengan tanpa menggunakan program image enhancement.
Pengujian dilakukan dengan cara menangkap gambar selama 100 loop proses program. Dan menjumlah berapa kali loop program tersebut dapat mendeteksi manusia.
Pencahayaan Hasil deteksi
No Lux Dengan Image Enhancement Tanpa Image Enhancement
1 150 89 23
2 200 99 76
3 400 100 99
4 600 100 99
5 1000 100 100
6 1500 100 100
7 2000 100 100
8 2500 100 100
9 5000 100 100
10 10000 95 97
Pada tabel diatas dapat dilihat perbedaan kemampuan mendeteksi objek ditempat yang lebih gelap meningkat signifikan. Namun kemampuan deteksi dengan image enhancement pada cahaya yang sangat terang akan menurun sedikit karena terlalu lebarnya grafik histogram.
4.5. Pengujian Waktu Delay Image Enhancement
Pengujian delay pada program image enhancement ini dilakukan dengan memasang fungsi getTickCount pada saat aktifnya kamera sampai program tersebut dapat mendeteksi badan manusia.
4.5.1. Tujuan
Tujuan pengujian delay pada program image enhancement ini dilakukan untuk mengetahui seberapa cepat proses pengaturan kontras tersebut berlangsung dengan berbagai macam resolusi gambar inputannya.
4.5.2. Alat yang Digunakan
1. Microsoft Visual Studio 2. Personal Computer (PC)
3. Objek badan manusia
4.5.3. Prosedur Pengujian
1. Menjalankan program console pada Microsoft Visual Studio 2. Menjalankan program deteksi badan manusia
4.5.4. Hasil Pengujian
Hasil dari pengujian ini adalah untuk mengetahui seberapa cepat delay yang ada pada program image enhancement ini. Dan untuk dibandingkan dengan tanpa menggunakan program tersebut.
No. Resolusi gambar Lama Delay
Dengan IE Tanpa IE 1 320 x 240 <1 s <1 s
2 480 x 360 1.45 s 1.13 s
3 640 x 480 3.87 s 2.80 s
47
5.1. Kesimpulan
Berdasarkan hasil evaluasi yang telah dilakukan dalam pembuatan aplikasi ini dapat disimpulkan bahwa Tugas Akhir ini telah sesuai dengan tujuan awal. Berikut adalah beberapa poin kesimpulan dari pengerjaan tugas akhir ini:
Dengan menggunakan program pengaturan kontras secara otomatis tersebut. Kualitas gambar dan kemampuan deteksi manusia dapat ditingkatkan. Program pendeteksi manusia menggunakan metode Haar like-feature ini telah berhasil mendeteksi dengan baik. Jarak minimal untuk mendeteksi badan manusia bagian atas adalah 1 meter dan jarak maksimal untuk mendeteksi adalah 6 meter. Jarak ideal untuk mendeteksi manusia adalah 1 sampai 4 meter.
Jumlah objek yang dapat dideteksi juga terbatas, pada pengujian dapat dilihat untuk mendeteksi 3 objek pada jarak optimal masih banyak terjadi kesalahan/error.
Tingkat intensitas cahaya yang optimal untuk melakukan pendeteksian dengan image enhancement adalah diatas 150 lux hingga 2500 lux. Dengan menggunakan Image Enhancement dapat meningkatkan kemampuan deteksi hingga 30.63% pada pencahayaan dibawah 1000 lux.
5.2. Saran
Agar pada penelitian selanjutnya sistem ini dapat dikembangkan lebih sempurna, maka penulis memberikan saran sebagai berikut:
1. Untuk mendapatkan proses deteksi yang lebih akurat, pada penelitian selanjutnya Haar Training yang digunakan sebaiknya membuat Haar Training
sendiri. agar proses deteksi yang didapat bisa lebih efektif karena Haar Training
yang dimiliki oleh OpenCV masih kurang efektif.
2. Untuk membuat program pengaturan kontras yang dapat bekerja baik di intensitas cahaya yang tinggi.
49
Elektro, Z. (2014, desember 15). http://zonaelektro.net/sensor-cahaya/. Retrieved from zonaelektro: http://zonaelektro.net/sensor-cahaya/
Fatma. (2012, 11 11). elektronikadasar.info. Retrieved from
http://elektronikadasar.info/: http://elektronikadasar.info/sensor-cahaya.htm
Fatmawati, D. (2011). Implementasi Metode Peregangan Kontras (Contrast Stretching) Untuk Memperbaiki Kualitas Citra. USU international repository.
Harrison, D. A. (2005). graph twoway histogram — Histogram plots. satta. Kumar, D. N. (2010). Remote Sensing-Digital Image Processing-Image
Enhancement. IISc.
Lamabelawa, M. I. (2009). contrast streching. ugm.
Milayanti, K. (2013). ENHANCEMENT OBYEK PADA CITRA DIGITAL DENGAN METODE PERGESERAN KURVA HISTOGRAM.
electro.student journal.
Munir, R. (2004). PENGOLAHAN CITRA DIGITAL dengan pendekatan algoritmik. bandung: Informatika Bandung.
Nicholas, M. (n.d.). Contrast Stretching and Density Slicing. Prof. Dr.rer.nat. Achmad Benny Mutiara, S. S. (2005).
http://amutiara.staff.gunadarma.ac.id/. Retrieved from amutiara.staff.gunadarma.ac.id/Downloads/files/39978/Bab-6_Histogram+Citra.pdf
Purwadhi, F. S. (2001). INTERPRETASI CITRA DIGITAL. Jakarta: GRASINDO. Rouse, M. (2005, april 27).
http://whatis.techtarget.com/definition/RGB-red-green-and-blue. Retrieved from http://whatis.techtarget.com/: http://whatis.techtarget.com
Sembiring, a. (2012). perbaikan kualitas citra.
Software, B. I. (1989-2016). HSV Color Space - Color Space Conversion. Retrieved from http://www.blackice.com/: