Pada bab ini akan dijelaskan mengenai proses pembuatan aplikasi deteksi dengan metode Histogram of Oriented Gradients menggunakan library Emgu CV.
3.1. Kebutuhan Hardware dan Software
Pada bagian ini akan dijelaskan mengenai Hardware (perangkat keras) dan software (perangkat lunak) yang digunakan pada implementasi aplikasi ini.
a. Kebutuhan Hardwar e :
1. Komputer dengan processor Intel (R) Core(TM)2Duo CPU P8700 2,5GHz
2. RAM (2048MB) dan VGA Card share memory up to 1274 MegaByte 3. Monitor 14” dan Modem AHA
4. Hard Disk 320 GigaByte b. Kebutuhan Softwar e :
1. Sistem Operasi Windows 7. 2. Visual Basic (.NET) 2010 3. Library EMGU.CV
4. File image JPEG, BMP, PNG.
3.2. Rancangan Percobaan Penelitian
Secara garis besar proses perancangan percobaan penelitian aplikasi akan dibagi menjadi beberapa tahap seperti pada gambar di bawah ini :
Desain sistem untuk sistem informasi penjualan CV Kautsar ini menggunakan data work flow, Diagram Flow Diagram (DFD), Conceptual Data Model (CDM) dan Physical Data Model (PDM) yang digunakan sebagai alat perancangan sistem yang berorientasi pada alur data yang dapat digunakan untuk penggambaran analisa maupun rancangan sistem.
Gambar 3.1 Flowchart Desain Tahapan Pedestrian
Gambar 3.1 diatas merupakan desain tahapan dari pengembangan deteksi
pedestrian menggunakan metode histogram of oriented gradients (HOG). Untuk
3.2.1. Pr oses Pengambilan Objek Gambar
Gambar 3.2 Flowchart Proses Pengambilan Objek Gambar
Gambar 3.2 diatas merupakan proses pengambilan objek gambar sebagai bahan untuk diuji pada deteksi pedestrian, yang dimana alur mengambilnya dimulai dari mencari objek pedestrian secara langsung kemudian diambil
mengunakan kamera digital hingga berupa data gambar yakni citra pedestrian untuk dimasukan kedalam komputer.
3.2.2. Proses Histogram of Oriented Gradients
Gambar 3.3 Flowchart Proses Histogram Of Oriented Gradients Library EMGU Gambar 3.3 merupakan proses Histogram of Oriented Gradients merupakan proses untuk mendeteksi citra pedestrian dengan melalui beberapa proses – proses. Dimana pada proses Histogram of Oriented Gradients terdapat proses
gamma correction yang berfungsi untuk mengubah citra asli menjadi citra
gamma, kemudian citra gamma tersebut akan diproses menghitungan gradients gambar dengan menggunakan perhitungan operator sobel, setelah menghitung
gradients gambar maka proses selanjutna yakni orientasi binning yang terdiri dari cell, block cell, dan bin. Langkah selanjutnya Normalisasi gambar berfungsi untuk
menormalkan gambar pada tiap block agar memudahkan SVM detektor untuk mendeteksi apakah citra tersebut termasuk pedestrian atau bukan pedestrian.
Dari semua proses yang telah dijelaskan akan di proses pada library Emgu CV yang dimana sudah terdapat tools atau fungsi yang sudah default (tertanam) didalamnya, sehingga proses tersebut tidak dapat dirubah.
3.2.3 Proses Cropping dan Save
Proses dimana setelah terjadi proses HOG untuk mendapatkan hasil
pedestrian maka citra tersebut akan di crop pada lokasi pedestrian yang
terlokalisasi dengan pemotongan ukuran 64 x 128 pixel guna untuk mendapatkan hasil akhir kemudian disimpan pada database file pedestrian.
3.3. Perancangan Interface
Interface merupakan suatu halaman perangkat lunak sebagai tempat
interaksi bagi pengguna dan perangkat lunak tersebut. Tujuan dari perancangan
interface berikut ini agar pengguna dapat memahami proses kerja program dengan
mudah.
3.3.1. Interface Tampilan Awal
Pada gambar 3.5 ini merupakan form tampilan awal aplikasi. Tampilan awal aplikasi dapat dilihat ketika pertama kali aplikasi dijalankan atau ketika pengguna mengklik tombol load.
3.3.2. Interface View
Pada gambar 3.6 merupakan menu view terdapat fungsi panel, dimana dalam fungsi ini digunakan untuk menampilkan seluruh hasil proses deteksi
pedestrian.
.
Gambar 3.6 Desain Tampilan View 3.3.3. Interface Profile
Pada form profile terdapat picturebox dan texbox, dimana dalam
picturebox digunakan untuk menampilkan foto dari pembuat aplikasi dan texbox
ini digunakan untuk menampilkan biodata penulis.
Pada bab IV ini akan dijelaskan mengenai implementasi, hasil uji coba dan evaluasi dari rancangan program yang telah dibuat pada bab III. Bagian implementasi aplikasi kali ini meliputi: implementasi data, implementasi interface, implementasi proses, dan uji coba.
4.1. Implementasi Da ta
Pada proses Data yang akan diimplementasikan pembuatan aplikasi deteksi pedestrian dengan metode histogram of oriented gradients menggunakan library Emgu.CV ini berupa citra digital yang telah diambil melalui camera digital yang akan diproses melalui beberapa tahapan untuk melakukan lokalisasi pedestrian, mengcropping dan penyimpanan.
4.2. Implementasi Interface
Pada implementasi interface ini digunakan untuk memudahkan user yang akan melakukan proses deteksi pedestrian dengan menggunakan aplikasi yang telah dibuat. Adapun gambaran dari interface aplikasi sebagai berikut :
Pada awal kita menjalankan aplikasi dengan otomatis maka aplikasi tersebut akan menampilkan tampilan utama seperti pada gambar di bawah ini :
Gamba r 4.1 Tampilan Utama Aplikasi
Pada tampilan utama aplikasi tersebut terdapat empat tombol yaitu : 1. tombol (load),
2. tombol (procces),
3. tombol (view),
4. tombol (profile).
Tombol load berfungsi untuk menginputkan gambar pada folder komputer, tombol procces berfugsi untuk mendeteksi gambar pedestrian, tombol view berfungsi untuk mengcropping gambar pedestrian dan otomatis menyimpannya dalam folder hasil pada komputer, dan pada tombol profile berfungsi untuk menampilkan biodata dan foto pembuat aplikasi. Tampilan aplikasi ini telah disusun sedemikian rupa
dengan tujuan untuk mempermudah pengguna dalam memahami dan menggunakan aplikasi deteksi pedestrian tersebut.
Ketika pengguna mengklik tombol load maka akan ditampilkan seperti di bawah ini :
Ga mbar 4.2 Tampilan Proses Load Gambar
Gambar pedestrian sebelumnya sudah diambil dengan menggunakan kamera digital dan kemudian disimpan dikomputer. Setelah menekan tombol load akan tampil jendela direktori komputer, dan kemudian cari letak image tersebut setelah itu klik dua kali pada gambar yang dipilih. gambar yang diambil pada load adalah file image yang berformat JPG. Pada proses load , program hanya bisa menjalankan
perintah open atau cancel pada menu direktori komputer. Menu tombol aplikasi lainnya tidak bisa dijalankan sebelum proses direktori load selesai dijalankan.
Berikut ini adalah tampilan ketika pengguna mengklik tombol procces :
Gambar 4.3 Proses Procces Pedestrian
Di dalam procces terdapat dua imagebox, imageboxload berukuran 64 x 128 piksel berfungsi sebagai load image untuk memasukan gambar yang ada pada file folder komputer, sedangkan imageboxprocces berukuran 256 x 512 piksel berfungsi untuk menampilkan hasil dari citra pedestrian terdeteksi yang sudah dilokalisasi (pengkotakan) dengan metode histogram of oriented gradient. Kemudian mengetahui berapa jumlah pedestrian dan kecepatan millisecond terdeteksinya citra pedestrian.
Berikut ini adalah tampilan ketika pengguna mengklik tombol view:
Ga mbar 4.4 Proses Pengcroppingan dan Save Gambar Pedestrian Dimana pada proses ini adalah proses pengcroppingan hasil gambar yang telah diproses sebelumnya sesuai dengan jumlah orang yang terdeteksi. Setelah gambar dicropping maka akan secara otomatis menyimpan. Pada proses ini terdapat tombol (home) yang berfungsi untuk kembali pada menu tampilan awal.
Untuk mengetahui apakah hasil pengcroppingan dan penyimpanan pada gambar tersebut telah sukses disimpan pada komputer maka pengguna dapat mengeceknya melalui, documents " folder visual studio 2010 " project " programku " terserah " bin " debug " hasil. Seperti tampak pada gambar berikut :
Gamba r 4.5 File Folder Penyimpanan Gambar Cropping
Dan berikut ini adalah tampilan ketika pengguna mengklik tombol profile:
Dimana pada proses profile ini hanya menampilkan foto dan biodata pembuat aplikasi deteksi pedestrian.
4.3. Implementasi Pr oses
Bagian implementasi proses ini menjelaskan mengenai implementasi proses-proses sesuai dengan konsep yang telah dibuat pada bab III. Seperti yang telah digambarkan dalam flowchart.
Aplikasi deteksi pedestrian ini merupakan aplikasi yang menggunakan library Emgu.CV, oleh karena itu sebelum proses coding maka diperlukan untuk melakukan konfigurasi pada komputer dan Microsoft Visual Studio.Net agar dapat menjalankan fungsi-fungsi yang terdapat dalam library Emgu.CV tersebut. Berikut ini adalah langkah-langkahnya :
1. Instalasi Open.CV dan Konfigurasinya
Untuk memulai instalasinya, double klik pada file Open.CV yang sudah didownload. Sebenarnya ini bukanlah instalasi, melainkan hanya mengekstrak file saja. Pilih lokasi untuk mengekstrak file .exe Open.CV. Untuk lebih memudahkan kita ekstrak saja pada drive C. Setelah proses ekstrak file selesai, tahap selanjutnya adalah melakukan setting path agar file library Open.CV dapat dipanggil dari Visual Studio. Klik kanan pada Computer, pilih Properties kemudian pilih Advanced system settings.
Ga mbar 4.7 Tampilan setting Open.CV ke-1 Kemudian klik Environment Variables.
Pada bagian System variables cari bagian path, kemudian klik edit. Tambahkan baris berikut ini :
;C:\opencv\build\x86\vc10\lib\;C:\opencv\build\bin\;C:\opencv\build\x86\vc10\bin\
Gambar 4.9 Tampilan setting Open.CV ke-3
Klik OK, kemudian restart komputer agar system dapat mengenali path baru tersebut.
2. Instalasi Emgu.CV dan Konfigurasinya
Seperti instalasi pada Open.CV untuk memulai instalasi double klik pada file Emgu.CV yang sudah didownload. Pilih drive C untuk mengekstrak file .exe Emgu.CV.
Kemudian pada library pada project yang kita buat. Klik kanan pada project kemudian klik Add reference.
Gambar 4.10 Tampilan setting Emgu.CV ke-1
Pada tab browse pilih lokasi penginstalan Emgu.CV kemudian pilih folder bin. Pilih file Emgu.CV.dll, Emgu.CV.UI.dll dan Emgu.Util.dll.
Setelah menambahkan library kemudian menambahkan beberapa komponen Emgu.CV ke toolbox. Komponen ini nantinya dapat digunakan untuk menampilkan gambar seperti picture box. Untuk menambahkan komponen, terlebih dahulu pilih bagian General pada Toolbox. Kemudian klik kanan dan pilih Choose Items.
Gambar 4.12 Tampilan setting Emgu.CV ke-3
Pada bagian Framework Components beri centang pada bagian Image Box dan kemudian klik OK.
Setelah itu otomatis komponen Image Box akan muncul pada Toolbox pada bagian General.
Gambar 4.14 Tampilan setting Emgu.CV ke-5
Pada view code di project yang telah dibuat tambahkan kode sebagai berikut:
Imports Emgu.CV
Imports Emgu.CV.Structure
Imports Emgu.CV.UI
4.3.1. Pr oses Load
Pada proses load ini, merupakan sebuah proses yang bertujuan untuk menampilkan inputan berupa gambar. Gambar yang dapat dibuka hanya gambar yang berformat jpg, jpeg. Berikut adalah potongan source code proses load.
‘ LOAD
I f OpenFi l eDi al og1. ShowDi al og( ) = Di al ogResul t . OK Then
Di m i mg As I mage(Of Bgr, Byt e) = New I mage(Of Bgr,
Byt e) ( OpenFi l eDi al og1. Fi l eName) I mageBoxLoad. I mage = i mg End I f
4.3.2. Pr oses Pada Button Procces Pedestrian
Pada proses button procces pedestrian terdapat tiga proses pemanggilan didalam source code procces yaitu; Find Pedestrian, dimana untuk melokalisasi gambar pedestrian dan memanggil proses histogram of oriented gradients pada library EMGU.CV. Cropping Image, untuk memotong gambar pedestrian yang telah terdeteksi dengan ukuran 64x128 dan Save Image, menyimpan gambar pedestrian yang telah dipotong denga format jpeg.
‘ FI ND PEDESTRI AN
Di m r esul t s( ) As Rect angl e = Fi ndPedest r i an. Fi nd( i mag,
pr ocessi ngTi me)
Di m CopyGambar Di Resi ze As I mage(Of Bgr, Byt e) = I mageBoxLoad. I mage For Each r ect As Rect angl e I n r esul t s
i = i + 1
i mag. Dr aw( r ect , NewBgr(Col or. Gr eenYel l ow) , 1) Label 1. Text = i
‘ CROPPI NG I MAGE
Resul t =CopyGambar Di Resi ze. Copy( r ect ) . Resi ze( 64, 128, Emgu. CV. CvEnum.I NTER. CV_I N TER_CUBI C)
‘ SAVE I MAGE
Do Whi l e n < ( save_r esul t . ToAr r ay( ) . Lengt h + 1)
save_r esul t . ToAr r ay( ) ( n - 1) . Save(Appl i cat i on. St ar t upPat h + " / hasi l / pedest r i an" + n. ToSt r i ng( ) + " . j peg")
n = ( n + 1) Loop
4.3.3. Pr oses Menampilkan Panel
Proses yang berfungsi hanya menampilkan hasil cropping gambar pedestrian. Berikut adalah source code menampilkan panel.
‘ MENAMPI LKAN HASI L PADA PANEL
Pr i vat e Sub ADD_r ect _Found(ByVal i mg_f ound As I mage(Of Bgr, Byt e) ) Di m PI As Pi ct ur eBox = NewPi ct ur eBox
PI . Locat i on = New Poi nt( r ect _panel _X, r ect _panel _Y) PI . Hei ght = 128
PI . Wi dt h = 64
PI . Si zeMode = Pi ct ur eBoxSi zeMode. St r et chI mage PI . I mage = i mg_f ound. ToBi t map
Me. r ect _Found_Panel . Cont r ol s. Add( PI ) r ect _count = ( r ect _count + 1)
I f ( r ect _count = 10) Then
r ect _panel _X = 0
r ect _panel _Y = ( r ect _panel _Y + 150) r ect _count = 0
El se
r ect _panel _X = ( r ect _panel _X + 85) End I f
End Sub
4.3.4. Pr oses Menampilkan Profile
Proses yang hanya menampilkan biodata pembuat aplikasi.
‘ PROFI LE
Pr i vat e Sub But t onpr of i l e_Cl i ck(ByVal sender As
Syst em.Obj ect, ByVal e As Syst em.Event Ar gs) Handl es
For m2. Show( ) End Sub
4.4. Uji Coba Pr ogr am
Pada sub bab ini akan dibahas mengenai uji coba terhadap aplikasi yang telah dibuat dan selanjutnya akan dievaluasi dari hasil uji coba tersebut. Uji coba dilaksanakan untuk mengetahui kemampuan aplikasi dapat berjalan dengan baik sesuai dengan rancangan. Evaluasi dilakukan untuk menentukan tingkat keberhasilan dari aplikasi yang dibuat.
4.4.1. Skenar io Uji Coba
Untuk memastikan bahwa aplikasi ini berjalan dengan baik, diperlukan adanya skenario yang akan dicoba, antara lain :
a. Memasukkan beberapa image untuk melihat keberhasilan, karena tiap-tiap image hasil jepretan kamera digital selalu berbeda, hal itu dipengaruhi oleh jarak ambil, cahaya serta kondisi objek gambar yang akan diambil.
b. Melakukan proses histogram of oriented gradients, untuk menguji tingkat keberhasilan melalui proses yang sudah direncanakan. Apakah citra tersebut dapat terdeteksi dengan baik atau tidak.
c. Melakukan Cropping dan Save Image, hasil dari histogram of oriented gradients yang terlokalisasi akan dipotong sesuai dengan jumlah orang yang terdeteksi
kemudian akan disimpan, kedalam file folder komputer, oleh karena itu perlu diuji tingkat keberhasilan penyimpanannya.
4.4.2. Pela ksa naa Uji Coba
Setelah melakukan perancangan interface aplikasi dan pengcodingan program, kemudian melakukan uji coba aplikasi tersebut. Dari project yang telah dibuat tekan F5 untuk memulai menjalankan aplikasi deteksi pedestrian.
Langkah pertama dalam membuat program deteksi pedestrian adalah dengan merancang tampilan program menggunakan new project pada Visual Basic (.Net) 2010. Setelah perancangan program deteksi pedestrian dibuat dan dimasukkan source code ke dalam program, maka langkah terakhir adalah dengan mencoba program tersebut. Dengan menekan tombol load dan procces, akan diperoleh hasil dari deteksi pedestrian. Gambar-gambar di bawah ini merupakan tampilan program deteksi pedestrian.
Tombol Load pada tampilan form utama berfungsi untuk mengambil image yang sudah tersimpan dikomputer. Image sebelumnya sudah diambil dengan menggunakan kamera digital dan kemudian disimpan dikomputer.
Setelah menekan tombol load maka akan tampil jendela direktori komputer, dan kemudian cari letak image tersebut kemudian klik dua kali pada image. Image yang diambil pada load adalah file image yang berformat JPG. Pada proses load , program hanya bisa menjalankan perintah open atau cancel pada menu direktori komputer. Menu tombol aplikasi lainnya tidak bisa dijalankan sebelum proses direktori load selesai dijalankan.
Ga mbar 4.16 Tampilan Proses Load Image
Tombol Processe berfungsi untuk menjalankan proses deteksi pedestrian. Image yang akan diproses terlebih dahulu tampil pada kolom Image yang berupa citra
berwarna RGB. Setelah tombol procces diproses maka akan muncul output pedestrian seperti pada gambar dibawah ini :
Ga mbar 4.17 Proses Deteksi Pedestrian
Setelah tombol procces dijalankan proses selanjutnya adalah proses pengcroppingan dan save. Terlihat seperti pada gambar dibawah ini :
Maka hasil pengesavean gambar pedestrian yang telah terpotong tadi akan tersimpan pada folder komputer. Seperti tampilan gambar dibawah ini :
Gamba r 4.19 Penyimpanan Gambar Hasil Cropping Berikut adalah gambar profile pembuat aplikasi .
4.5. Analisa Aplikasi
Berdasarkan hasil uji coba yang telah dilakukan, maka akan dilakukan analisa, antara lain sebagai berikut :
4.5.1. Analisis Pr oses Histogram Of Oriented Gradients
Pada analisa proses ini terdapat 2 (dua) hasil uji coba berdasarkan ;
1. Jarak Pengambilan Gambar
Pengambilan gambar dimulai dari jarak 3 meter sampai 6 meter, karena pengambilan gambar dengan jarak 2 meter sampai 2,5 meter sudah memenuhi frame sehingga tidak dapat terdeteksi karena semakin dekat. Dan pada jarak 6 meter kecepatan terdeteksinya sangat lama sehingga saya tidak menampilkan jarak 7 meter karena semakin jauh objek pedestrian tidak dapat terdeteksi.
No Load Image Jarak Hasil Kecepatan
1 3 Meter 59 ms 2 3,5 Meter 57 ms
3 4 Meter 56 ms 4 4,5 Meter 57 ms 5 5 meter 55 ms 6 5,5 meter 61 ms 7 6 meter 62 ms
Dari gambar diatas kesimpulan yang didapat berdasrkan jarak yang terbagus dan keberhasilan terdeteksi terdapat pada jarak 5 meter yang terbaik karena pada jarak tersebut kecepatan terdeteksinya paling cepat yakni 5 milisecond dibandingkan pada jarak lainnya. Oleh karena itu saya akan mencoba uji coba dengan jarak yang terbaik 5 meter dengan objek pedestrian yang berbeda.
2. Pengambilan gambar dengan jarak 5 meter dengan objek pedestrian yang berbeda.
No Load Image Hasil
Jumlah Kecepatan
1 1 44 ms
3 4 67 ms
4 2 55 ms
6 2 61 ms
7 2 52 ms
9 2 58 ms
10 2 58 ms
12 2 65 ms
13 1 52 ms
15 5 86 ms
Tabel 4.2 Tabel Uji Coba Pedestrian Dengan Jarak 5 Meter Objek Berbeda Dari percobaan table 4.2 yang telah dilakukan dengan jarak 5 meter (stabil) serta pengambilan objek gambar yang berbeda-beda dapat disimpulkan bahwa metode ini dapat mendeteksi pedestrian dengan baik dengan cahaya dan jarak yang stabil.
Akan Tetapi metode ini tidak dapat mendeteksi pedestrian secara sempurna apabila pedestrian tersebut terjadi tumpukan (overlap) atau terlalu banyak yang berjalan, hanya dapat mendeteksi pedestrian yang jelas atau berada paling awal. Karena metode ini memiliki batas kemampuannya hanya mendeteksi objek yang terlihat jelas atau tidak terjadi tumpukan serta dapat dilihat juga semakin sedikit pedestrian yang dideteksi maka semakin cepat pula kecepatan terdeteksinya. Dan begitu pun juga sebaliknya semakin banyak orang yang berjalan maka semakin lama juga kecepatan terdeteksinya.
Hal ini terjadi karena metode ini terdapat SVM detector yang berfungsi untuk mencari mana yang termasuk pedestrian dan bukan pedestrian.
3. Hasil uji coba perbandingan dengan perhitungan manual dan komputer No Gambar Hasil Perhitungan Program Hasil Perhitungan Manual Jumlah Kesalahan Berhasil atau Tidak Berhasil 1. 1 1 0 Berhasil 2. 2 2 0 Berhasil 3 4 4 0 Berhasil 4 2 2 0 Berhasil
5 2 2 0 Berhasil
6 2 2 0 Berhasil
7 2 2 0 Berhasil
8 2 2 0 Berhasil
10 2 2 0 Berhasil 11 1 1 0 Berhasil 12 3 3 0 Berhasil 13 1 1 0 Berhasil 14 5 13 8 Tidak Berhasil
15 5 12 7 Tidak Berhasil
Tabel 4.3 Perbandingan Perhitungan Komputer Dengan Manual Dari percobaan 4.3 yang telah dilakukan, dapat disimpulkan bahwa perbandingan antara perhitungan secara manual dengan perhitungan komputer dapat diberi kesimpulan dengan menghitung persentase berdasarkan keberhasilan yakni,
10 0 % = 10 0 % = 86,67% sedangkan untuk menghitung
persentase berdasarkan kesalahan yakni, 100 % =
10 0 % = 13,33% maka kesimpulan yang didapat akurasi keberhasilan menggunakan metode ini 86,67% dan akurasi kesalahan dengan metode ini 13,33%.