BAB 3

advertisement
BAB 3
ANALISIS PERMASALAHAN DAN PERANCANGAN
3.1
Analisis Permasalahan
Kemampuan manusia yang terbatas untuk mengenali wajah-wajah manusia
serta terbatasnya sumber daya manusia menjadi masalah yang kompleks dan
diperlukan solusi untuk menyelesaikannya. Perancangan ini berfokus pada proses
pengenalan citra wajah dari berbagai pose sehingga objek dapat ditangkap dari
berbagai pose, sudut, dan tidak harus selalu menghadap ke depan kamera. Banyak
faktor yang mempengaruhi citra wajah, diantaranya perubahan iluminasi, pose,
ekspresi,
aksesoris, warna, dan kecerahan. Dengan menggunakan teknologi
pengenalan citra wajah, dapat membantu pihak kepolisian untuk mencari daftar
hitam dan dapat diperoleh data-data yang tepat, akurat, serta meningkatkan efisiensi
waktu dan sumber daya manusia karena teknologi ini dapat dimonitor dari suatu
tempat dan dapat bekerja dengan waktu yang maksimal (1x24jam).
Dari penelitian sebelumnya, Hendrik (2007) membangun sebuah aplikasi
yang dapat melakukan pengenalan citra wajah dari depan dan input yang diberikan
berupa citra statis, serta tidak memiliki proses deteksi secara otomatis. Yolanda
(2009) telah mengembangkan aplikasi absensi identifikasi wajah yang dapat
mendeteksi citra wajah secara realtime dan melakukan pengenalan, tetapi pengenalan
citra wajah masih harus dilakukan dari depan (frontal face). Reza(2012)
memecahkan masalah pengenalan citra wajah menggunakan metode EigenFace.
Kelemahan dari metode EigenFace adalah sebarannya tidak hanya memaksimalkan
data antar kelas, tetapi juga data di dalam kelas. Sebagian besar sebaran kelasnya
disebabkan oleh variasi cahaya sehingga harus diminimalkan dengan membuang tiga
47
48
data PCA yang paling signifikan. Hal ini menyebabkan hilangnya informasi yang
mendukung proses diskriminan wajah. (Peter N. Belhumeur, Joao P. Hespanha, and
David J. Kriegman, 1997:.712)
3.2
Usulan Pemecahan Masalah
Melalui penelitian ini, diusulkan suatu alternatif pemecahan masalah
pengenalan citra wajah dalam hal pose yang bervariasi berupa aplikasi yang dapat
mendeteksi keberadaan dan luas citra wajah di dalam sebuah gambar dan
menyimpannya ke dalam database SQL. Pendeteksian citra wajah harus dapat
dilakukan terhadap citra wajah dengan pose selain dari depan. Metode pengenalan
citra wajah yang digunakan dalam penelitian ini adalah metode Fisherfaces. Linear
Dyscriminant Analysis (LDA) atau yang dikenal sebagai Fisherfaces merupakan
teknik yang digunakan untuk mengurangi dimensi data sebelum pengklasifikasian.
3.3
Perancangan Perangkat Lunak
Cara kerja program aplikasi pencarian daftar hitam dengan deteksi wajah
berdasarkan database SQL adalah :
Gambar 3.1 Cara kerja program aplikasi pencarian daftar hitam dengan deteksi
wajah menggunakan database SQL
49
1.
Camera merekam dan mengambil gambar-gambar orang yang melewati
kamera tersebut.
2.
Program aplikasi pencarian daftar hitam melakukan deteksi wajah orangorang yang terekam oleh kamera.
3.
Wajah yang telah terdeteksi disimpan dalam bentuk foto ke dalam database.
4.
Setelah melakukan penyimpanan, maka dilakukan pencocokan fitur antara
foto wajah dari kamera dengan foto wajah yang berada dalam database.
5.
Bila hasil pencocokan fitur antara foto wajah dari kamera dengan foto wajah
yang berada dalam database sama, maka di video akan muncul notifikasi
berupa kotak merah di wajah orang tersebut dan suara.
6.
Gambar disimpan dan dilakukan pencatatan histori(tanggal, jam, lokasi.)
7.
Daftar orang yang ada di dalam database ditemukan.
3.4
Metodologi
Pada perancangan ini, masalah-masalah dibagi menjadi beberapa tahap :
Gambar 3.2 Metodologi perancangan
50
a.
Input image : Merupakan proses masuknya citra (berupa gambar, video, atau
real time capture ) ke dalam sistem.
b.
Processing Module : Merupakan proses penyesuaian citra input (grayscale).
Ukuran citra input di-resize menjadi 350mm x 350mm
c.
LDA Module : Metode ini digunakan untuk mengutip bagian terpenting suatu
vektor yang mempresentasikan suatu wajah yang bersifat biasa atau unik.
d.
Face Database : Merupakan kumpulan data-data berupa citra wajah beserta
identitas seseorang(nama, alamat, tempat tanggal lahir,email, dan kasus
kriminalitas ).
e.
Fisherfaces : Berisi kumpulan nilai eigen dan matriks dari semua citra wajah
yang ada di dalam database.
f.
Image Matching : Merupakan proses mencocokkan dua buah citra sehingga
membentuk suatu keputusan. Pixel pada citra input harus sesuai dengan pixel
pada citra di database.
g.
Calculate : Pada modul ini dilakukan perhitungan Fisherfaces dari citra input
dan Fisherfaces dari citra pada database. Perhitungan ini menghasilkan nilai
eigen.
h.
Show Image : Menampilkan citra yang hasilnya paling dekat dengan eigen
image.
51
3.5
Perancangan Modul
Aplikasi ini dibagi menjadi dua modul, yaitu :
3.5.1
Perancangan Modul Utama
Gambar 3.3 Flowchart menu utama deteksi wajah
52
1.
Start
Sistem pencarian daftar hitam dengan deteksi wajah berdasarkan
database SQL mulai dijalankan.
2.
Masukan citra yang harus dideteksi dan dikenali.
Kamera menangkap citra
yang dapat berupa gambar, file video,
maupun tangkapan secara realtime.
3.
Deteksi citra wajah
Salah satu kunci sukses dalam pengenalan wajah adalah deteksi wajah
yang akurat karena gambar wajah yang terdeteksi akan sangat mempengaruhi
dalam proses pengenalannya. Langkah pertama pada pengenalan wajah
adalah mendeteksi keberadaan wajah dari gambar masukan. Setelah wajah
terdeteksi, tugas feature extraction adalah untuk memperoleh ciri-ciri dari
wajah yang diperlukan pada klasifikasi wajah. Ciri-ciri yang diperlukan dapat
berupa ciri-ciri lokal wajah seperti hidung, mata, mulut, dan lainnya, maupun
ciri-ciri global wajah (seluruh bagian wajah). Metode Fisherfaces
menggunakan seluruh bagian wajah sebagai data dalam pengenalannya.
Deteksi pencarian lokasi wajah menggunakan metode Viola-Jones.
Metode Viola-Jones merupakan metode yang mampu memproses gambar
dengan sangat cepat dan mampu mendeteksi wajah dengan sangat baik.
Metode yang ditemukan oleh Viola dan Jones ini menggunakan beberapa
teknik untuk komputasi secara efektif dalam perhitungan skala besar. Metode
ini membutuhkan data berupa hasil training dari kumpulan citra sejenis yang
ingin dideteksi.
Proses yang dilakukan pertama kali pada algoritma deteksi wajah
yang digunakan adalah membuang sebanyak mungkin bagian bukan wajah
53
dari gambar input. Hal ini dapat dilakukan dengan memberikan batasan pada
nilai intensitas warna (color thresholding) pada gambar input karena pada
dasarnya seluruh manusia memiliki range atau batasan nilai warna
(chrominance value) yang hampir sama untuk warna kulitnya. Yang
membedakannya adalah variasi pada nilai intensitas cahaya (luminance
value). Akibatnya, jika nilai chrominance dan luminance dapat dipisahkan
dari gambar dan kemudian dilakukan pembatasan nilai intensitas pada
komponen chrominance, akan didapat bagian yang merupakan bagian
berwarna seperti kulit dari gambar input.
Cara memisahkan nilai intensitas cahaya dari komponen warna
gambar input adalah mengubah komponen warna gambar masukan yang
merupakan gambar berwarna Red, Green, Blue (RGB) ke dalam komponen
warna YCbCr (Iluminance, Chrominance-blue, Chrominance-red). Jika pada
komponen warna RGB masih terdapat informasi mengenai intensitas
pencahayaan pada setiap komponen warnanya, untuk komponen warna
YCbCr, komponen Cb dan Cr merupakan komponen warna yang bebas dari
intensitas cahaya, karena seluruh informasi mengenai cahaya pada gambar
disimpan pada komponen Y. Persamaan transformasi komponen warna RGB
ke YCbCr adalah
Y
0.275
[Cb] = [0.148
Cr
0.439
R
16
0.504
0.098
−0.291
0.439 ] . [G] + [128]
B
128
−0.368 −0.071
54
Gambar 3.4 Korelasi antara nilai Cb dan Cr yang menunjukkan warna kulit
(Riko Arlando Saragih, 2007)
Gambar 3.5 Komponen Cb dan Cr bagian kulit
(Riko Arlando Saragih, 2007)
55
Gambar 3.6 Komponen Cb dan Cr gambar lengkap
(Riko Arlando Saragih, 2007)
Gambar 3.7 Gambar masukkan citra wajah
(Riko Arlando Saragih, 2007)
56
Gambar 3.8 Komponen Y (Riko Arlando Saragih, 2007)
Gambar 3.9 Komponen Cb (Riko Arlando Saragih, 2007)
Gambar 3.10 Komponen Cr (Riko Arlando Saragih, 2007)
57
Hasil dari proses segmentasi kulit adalah gambar hitam putih (binary
image) yang menunjukkan bagian kulit dari gambar input. Akan tetapi
gambar hitam putih (binary image) masih terdapat noise dan potongan dari
beberapa benda lainnya, seperti latar belakang gambar. Oleh karena itu, perlu
dilakukan beberapa tahapan untuk membersihkan gambar dari noise dan
potongan tersebut.
Untuk gambar biner, pixel berwarna putih bernilai biner 1 (ON) dan
pixel berwarna hitam bernilai biner 0 (OFF). Proses morfologi untuk gamber
biner adalah proses erosi dan dilasi. Proses erosi merupakan proses
membuang pixel dari gambar dengan membuat pixel ON menjadi OFF, yaitu
pixel putih yang melekat pada daerah background, sehingga akan
menyebabkan pixel putih berkurang luasnya dengan tujuan untuk
menghilangkan pixel yang merupakan noise pada gambar hitam putih (binary
image). Proses dilasi merupakan kebalikan dari proses erosi, membuat pixel
OFF menjadi ON, sehingga akan menyebabkan pixel putih bertambah
luasnya (shrinking). Tujuan dilakukan proses dilasi adalah saat proses erosi
dilakukan pada gambar hitam putih (binary image), daerah yang merupakan
kulit juga ikut mengalami shrinking sehingga perlu dilakukan suatu proses
untuk mengembalikan daerah tersebut agar bagian wajah nantinya akan
terdeteksi dengan benar.
Pada gambar hitam putih (binary image) akan tetap terdapat bagian
bukan wajah yang merupakan bagian tubuh lainnya seperti tangan dan bagian
lainnya yang memiliki intensitas warna yang menyerupai intensitas warna
kulit. Selanjutnya dilakukan analisa untuk mendapatkan satu bagian yang
merupakan bagian wajah, yaitu dengan menghitung nilai Euler dari tiap-tiap
58
bagian yang terdapat pada hitam putih (binary image). Nilai Euler pada
gambar biner adalah selisih antara region (daerah yang memiliki nilai pixel 1)
dengan hole (daerah yang memilki nilai pixel 0) yang ada pada region
tersebut. Pada umumnya untuk wajah manusia setidaknya akan memiliki satu
region dan tiga buah hole yang menunjukkan sepasang mata dan satu mulut.
Setelah didapat satu bagian yang merupakan wajah, proses selanjutnya adalah
mengambil (cropping) wajah tersebut dari gambar input dengan ukuran yang
sesuai dengan posisi wajah pada gambar topeng dan mengubah ukurannya
menjadi ukuran yang sama dengan ukuran gambar wajah pada training set
yang digunakan untuk pengenalan wajah.
4.
Ekstrasi data citra wajah menggunakan LDA (Linear Discriminant
Analysis)
Jika terdeteksi adanya citra wajah, maka akan dilakukan proses
ekstraksi data citra wajah dengan menggunakan algoritma LDA atau disebut
juga Fisherfaces.
Konstruksi Fisherfaces adalah pembuatan suatu set Fisherfaces dari
suatu set gambar training dengan menggunakan perhitungan Fisherfaces atau
Linear Discriminant Analysis (LDA).
Perhitungan Fisherfaces dilakukan
dengan langkah-langkah sebagai berikut :
1.
Mengubah gambar wajah masukan menjadi vektor kolom (Γ𝑖𝑛𝑝𝑢𝑡 ).
Misalnya ada sejumlah x individu yang dijadikan sampel :
𝑋 = {𝑋1 , 𝑋2 , 𝑋3 , . . 𝑋𝑐 }
𝑋𝑖 = {𝑥1 , 𝑥2 , 𝑥3 , . . 𝑥𝑛 }
59
2.
Menormalisasikan gambar wajah masukan terhadap nilai rata-rata
training set (average face,Ψ).
Dimana 𝜇 merupakan nilai rata-rata dari Xi :
𝑁
1
𝜇=
∑ 𝑋𝑖
𝑁
𝑖=1
Gambar 3.11 Hasil rata-rata dari 100 kelas (Martinez, 2013)
3.
Menghitung jarak rata-rata tiap kelas terhadap nilai proyeksi dengan
menggunakan rumus:
𝜇̃𝑖 =
1
1
∑
𝑦=
∑
𝑊 𝑇 𝑥 = 𝑊 𝑇 𝜇𝑖
𝑁𝑖
𝑁
𝑦∈𝑤𝑖
𝑥∈𝑤𝑖
𝑖
60
Gambar 3.12 Linear Discriminant Analysis sebelum normalisasi (Anonim, 2013)
4.
Melakukan perhitungan matriks sebaran dalam kelas 𝑆𝑊 dan matriks
sebaran antar kelas 𝑆𝐵 .
𝑐
𝑆𝐵 = ∑ 𝑁𝑖 (𝜇𝑖 − 𝜇)(𝜇𝑖 − 𝜇)𝑇
𝑖=1
𝑐
(𝑋𝑗 − 𝜇𝑖 )(𝑋𝑗 − 𝜇𝑖 )𝑇
𝑆𝑊 = ∑ ∑
𝑗
𝑖=1 𝑥𝑗 ∈ 𝑋𝑖
5.
Memilih jarak pada benda yang diproyeksikan.
J(w) = |μ̃1 − μ̃2 | = | W T (μ1 − μ2 )|
6.
Nilai dari μ̃i digunakan untuk menentukan nilai penyebaran dari
masing-masing kelas, supaya penyebaran menyebar secara normal
maka harus dilakukan perhitungan sebagai berikut untuk setiap kelas :
𝑆̃𝑖2 = ∑
𝑦 ∈ 𝑤𝑖
(𝑦 − 𝜇̃𝑖 )2
61
Gambar 3.13 Linear Discriminant Analysis setelah normalisasi (Anonim,
2013)
dimana jumlah antara ( 𝑆̃12 + 𝑆̃22 ) disebut dengan penyebaran antara
class 𝑁1 dan 𝑁2 . Fisher memaksimalkan fungsi linear w T x dengan
mengubah fungsi tersebut menjadi
𝐽(𝑤) =
7.
|𝜇̃1 − 𝜇̃2 |2
𝑆̃12 + 𝑆̃22
Untuk mendapatkan nilai 𝐽(𝑊) yang maksimum, maka :
−1
𝑆𝑊
𝑆𝐵 𝑊 = 𝐽𝑊
Gambar 3.14 Linear Discriminant Analysis menggunakan Fisher
Discriminant (Anonim, 2013)
62
8.
Mencari nilai 𝑊 ∗ maksimum dilakukan dengan cara menjabarkan
J(W) sebagai fungsi dari 𝑤, dan mendefinisikan jarak berdasarkan
koordinat x.
𝑆𝑖 = ∑
(𝑥𝑖 − 𝜇𝑖 )(𝑥𝑖 − 𝜇𝑖 )𝑇
𝑖
𝑥𝑖 ∈ 𝑤𝑖
𝑆𝑊 adalah matrix scatter antara class yang sama.
𝑆𝑊 = 𝑆1 + 𝑆2
𝑆𝐵 adalah matrix scatter antara class yang satu dengan class yang
lainnya.
𝑆𝐵 = (𝜇1 − 𝜇2 )(𝜇1 − 𝜇2 )𝑇
9.
Dari nilai 𝑆𝑤 dan 𝑆𝐵 dapat disimpulkan :
𝐽(𝑊) =
𝑊 𝑇 𝑆𝐵 𝑊
𝑊 𝑇 𝑆𝑤 𝑊
𝑊 𝑇 𝑆𝐵 𝑊
−1 (𝜇
𝑊 ∗ = 𝑎𝑟𝑔 𝑚𝑎𝑥 [ 𝑇
] = 𝑆𝑊
1 − 𝜇2 )
[𝑊 𝑆𝑤 𝑊
Setelah melakukan perhitungan Fisherfaces, dilakukan klasifikasi
identitas. Klasifikasi identitas merupakan kegiatan membandingkan bobot
dari masing-masing Fisherfaces pada citra wajah input dengan citra wajah di
training set dengan menghitung jarak Euclidian-nya. Langkah-langkah
klasifikasi identitas adalah sebagai berikut:
1.
Mengubah gambar wajah masukan menjadi vektor kolom (Γ𝑖𝑛𝑝𝑢𝑡 ).
2.
Menormalisasikan gambar wajah masukan terhadap nilai rata-rata
training set (average face,Ψ).
𝜙𝑖𝑛𝑝𝑢𝑡 = Γ𝑖𝑛𝑝𝑢𝑡 − Ψ
63
3.
Menghitung bobot Fisherfaces pada gambar wajah masukan (U𝑖𝑛𝑝𝑢𝑡 ),
yaitu dengan memproyeksikan gambar masukan ke dalam matriks
proyeksi optimal
(WOPT ) dengan menggunakan rumus:
𝑈𝑖𝑛𝑝𝑢𝑡 = 𝑊𝑂𝑃𝑇 𝑇 𝜙𝑖𝑛𝑝𝑢𝑡
4.
Menghitung jarak eucledian (E𝑚𝑖𝑛 ) antara bobot input dengan bobot
training set (𝑈𝑑𝑎𝑡𝑎𝑏𝑎𝑠𝑒 ).
𝐸 = |𝑈𝑖𝑛𝑝𝑢𝑡 − 𝑈𝑑𝑎𝑡𝑎𝑏𝑎𝑠𝑒 |2
5.
Mencari dan membandingkan jarak minimum (E𝑚𝑖𝑛 ) dengan nilai
batas 𝜃. Sebuah wajah dikatakan cocok jika jarak minimumnya lebih
kecil dari nilai batas yang diterapkan, yang disebut dengan threshold.
Semakin kecil jarak minimum yang diperoleh, semakin besar
kesamaan gambar input dengan data yang ada di dalam training set.
Nilai batas diperoleh dari hasil percobaan-percobaan hingga
ditemukan satu nilai yang memuaskan.
5.
Pencocokan dengan data training menggunakan Euclidean Distance
Hasil ekstraksi tersebut akan dihitung bobot dengan citra-citra wajah
yang ada di dalam data training. Fungsi dari Euclidean Distance adalah
mengukur jarak garis-garis lurus. Turunan dari Euclidean Distance antara dua
titik data yang melibatkan jumlah dari akar kuadrat dari jumlah kuadrat dari
selisih nilai korespondensi(xi dan yi ). Rumus untuk mengukur jarak antara
titik X (X1, X2,.., dst) dan titik Y (Y1, Y2,.. , dst) adalah
𝑛
𝑑 = √∑(𝑥𝑖 − 𝑦𝑖 )2
𝑖=1
64
6.
Simpan data ke dalam list
Jika nilai bobot yang didapat berada di bawah nilai ambang
(threshold), maka akan ditambahkan detil hasil identifikasi ke dalam list.
Thresholding merupakan metode yang paling sederhana dari segmentasi citra.
Dari gambar grayscale, thresholding dapat digunakan untuk membuat gambar
biner (hitam dan putih). Sebuah gambar biner dibentuk dari perbedaan warna
pixel yang di tentukan oleh threshold. Jika threshold yang ditentukan adalah
128, maka pixel yang berada diatas 128 (lebih gelap) akan ditandai dengan
biner 1, dan yang berada dibawah 128 (lebih terang) akan ditandai dengan
biner 0.
7.
Menampilkan total citra wajah yang ditangkap
Citra wajah input yang cocok dengan citra wajah pada database
ditampilkan pada list history.
8.
End
Sistem pencarian daftar hitam dengan deteksi wajah berdasarkan
metode Fisherfaces dan database SQL telah selesai dijalankan.
65
3.5.2
Perancangan Modul Training Data
Gambar 3.15 Flowchart training data
66
1. Start
Sistem training data mulai dijalankan.
2. Deteksi wajah
Deteksi pencarian lokasi wajah menggunakan metode Viola-Jones.
Metode Viola-Jones merupakan metode yang mampu memproses gambar
dengan sangat cepat dan mampu mendeteksi wajah dengan sangat baik.
Metode ini membutuhkan data berupa hasil training dari kumpulan citra
sejenis yang ingin dideteksi.
3. Capture
Proses pengambilan masukan citra wajah berupa gambar dari
webcam, posisi pengambilan wajah bervariasi dari kiri, tengah, dan kanan.
4. Tampilkan citra wajah
Gambar-gambar wajah yang telah di-capture ditampilkan pada Face
Image. Face Image mampu menampung banyak citra wajah dari berbagai
posisi dan bermacam-macam ekspresi.
5. Isi Data
Proses pengisian data profil seperti nama, alamat, telepon, tanggal
lahir, kasus kriminalitas, tanggal masuk penjara, dan tanggal keluar dari
penjara.
6. Simpan Data
Citra wajah dan detail data-data yang telah diisi disimpan ke dalam
database SQL.
7. End
Modul training data telah selesai dijalankan.
67
3.6
Perancangan UML (Unified Modeling Language)
3.6.1
Use Case Diagram Main View
Gambar 3.16 Use Case Diagram Main View
68
Tabel 0.1 Penjelasan use case diagram main view
Mengidentifikasi Citra Wajah dari
Use case ini menggambarkan bagaimana
Webcam
user menambahkan data citra wajah dari
tangkapan webcam untuk dicocokkan
dengan citra wajah dari data training.
Mengidentifikasi Citra Wajah dari
Use case ini menggambarkan bagaimana
Gambar Digital
user menambahkan data citra wajah dari
file gambar digital untuk dicocokkan
dengan citra wajah dari data training.
Mengidentifikasi Citra Wajah dari
Use case ini menggambarkan bagaimana
Video
user menambahkan data citra wajah dari
file video untuk dicocokkan dengan citra
wajah dari data training.
Melihat Histori Data yang Cocok dari
Use case ini menggambarkan bagaimana
Citra Input dengan Citra di Database
user melihat histori dari citra wajah yang
cocok dari citra input dengan citra di
database.
Melihat Semua Data yang Tersimpan
Use case ini menggambarkan bagaimana
di Database
user melihat semua data yang tersimpan
di database.
Mengatur Nilai Threshold
Use case ini menggambarkan bagaimana
user melakukan modifikasi pengaturan
69
nilai threshold yang diinginkan.
Melakukan Training Data
Use case ini menggambarkan bagaimana
user menambahkan citra wajah dan data
orang-orang yang masuk ke dalam black
listing ke dalam database SQL.
3.6.2
Use Case Diagram Training View
Gambar 3.17 Use Case Diagram Training View
70
Tabel 0.2 Penjelasan use case diagram training view
Menangkap Citra Wajah dari
Use case ini menggambarkan bagaimana
Webcam
user menambahkan data citra wajah dari
tangkapan webcam sebagai data training
Menambahkan Data Profil
Use case ini menggambarkan bagaimana
user menambahkan data profil sebagai
data training.
Melihat Citra Wajah yang Telah
Use case ini menggambarkan bagaimana
Diambil
user melihat citra wajah yang telah
diambil sebagai data training.
Me-refresh Citra Wajah
Use case ini menggambarkan bagaimana
user me-refresh citra wajah yang telah
diambil sebagai data training.
Menghapus Citra Wajah yang Telah
Use case ini menggambarkan bagaimana
Diambil
user menghapus citra wajah yang telah
diambil sebagai data training.
Menyimpan Citra dan Data Diri ke
Use case ini menggambarkan bagaimana
Database SQL
user menyimpan citra dan data diri ke
dalam database SQL.
71
3.6.3
Class Diagram
Gambar 3.25 Class Diagram
72
Tabel 3.3 Class Diagram Description
Nama Class
InputImageForm
Deskripsi
Class berisi semua attributes dan Operations yang
terdiri dari event dari browse_Click untuk mencari dan
memasukkan
citra
wajah
berupa
image,
inputImageForm untuk menampilkan form input Image.
MainView
Class berisi semua attributes dan Operations. Fungsi
dari class ini sebagai form utama, dimana class ini dapat
diakses
oleh
semua
fitur-fitur
seperti
BindingDetectedFaceOnListView. Fungsi ini untuk
menampilkan citra wajah masukkan yang cocok dengan
citra wajah training di database, btnCamera_Click
untuk
mengaktifkan
realtime
capture
camera
menggunakan kamera webcam, btnInputImage_Click
untuk memasukkan citra wajah berupa gambar digital,
btnInputVideo_Click untuk memasukkan citra wajah
berupa
video,
btnTrainingData_Click
untuk
menampilkan form Training Data, setting_Click untuk
menampilkan form Settings, viewAllData_Click untuk
menampilkan form View All Data, viewAllHistory_Click
untuk menampilkan form View All History.
Fisherfaces
Class berisi semua attributes dan Operations. Class ini
berisi semua field dan methods yang diperlukan untuk
mengenali dan melatih citra wajah.
73
Settings
Class berisi semua attributes dan Operations. Fungsi
dari class ini untuk melakukan pengaturan threshold.
viewAllDataView
Class berisi semua attributes dan Operations. Fungsi
utama dari class ini adalah untuk menampilkan detail
dari semua data training di database.
ViewAllHistoryView
Class berisi semua attributes dan Operations. Fungsi
utama dari class ini adalah untuk menampilkan history
citra wajah masukkan yang cocok dengan citra wajah
training di database. History berupa citra wajah dan
informasi dari citra wajah yang tertangkap.
74
3.6.4 Sequence Diagram
Berikut adalah sequence diagram dari proses yang terdapat dalam aplikasi
pengenalan citra wajah dengan pose yang bervariasi.
1.
Sequence Diagram Training Data
Gambar 3.18 Sequence diagram training data
75
2.
Sequence Diagram Input Data Citra Wajah dari Webcam
Gambar 3.19 Sequence diagram input data citra wajah dari webcam
76
3.
Sequence Diagram Input Data Citra Wajah dari Gambar Digital
Gambar 3.20 Sequence diagram input data citra wajah dari gambar digital
77
4.
Sequence Diagram Input Data Citra Wajah dari Video
Gambar 3.21 Sequence diagram input data citra wajah dari video
78
5.
Sequence Diagram View All History
Gambar 3.22 Sequence diagram view all history
6.
Sequence Diagram View All Data
Gambar 3.23 Sequence diagram view all data
79
7.
Sequence Diagram Pengaturan Threshold
Gambar 3.24 Sequence diagram pengaturan threshold
3.7
Perancangan Layar Aplikasi
3.7.1
Perancangan Layar Main View
Gambar 3.26 Rancangan layar form main view
80
Pada tampilan rancangan layar form Main View, citra wajah akan ditampilkan
di panel di sebelah kiri saat memilih tombol “Start”. Sistem akan mendeteksi wajah
yang tertangkap oleh webcam dan melakukan pengecekan. Bila citra wajah yang
tertangkap oleh webcam cocok dengan citra wajah training yang terdapat di
database, maka sistem akan menampilkan nama orang tersebut dan melakukan
pencatatan. Hasil capture dari citra wajah realtime yang sesuai dengan citra wajah
blacklist pada database, serta nama, tanggal, serta waktu capture orang tersebut akan
ditampilkan di List View.
Selain input dari realtime camera, sistem juga dapat dapat memasukkan
gambar lokal dari luar (PC, laptop, flashdisk) dengan memilih “Input Image”.
Sistem juga dapat menerima inputan video dengan memilih “Input Video”.
Dengan memilih “Input Video” sistem dapat memasukkan video lokal dari luar (PC,
laptop, flashdisk).
Proses pengisian data ke dalam database dilakukan dengan memilih
“Training Data” di panel bagian kanan. Di dalam “Training Data” dilakukan capture
citra wajah, pengisian nama, alamat, tanggal lahir, dan lain-lain.
Data-data dalam database dapat ditampilkan dengan memilih “View All
Data”. Di dalam form “View All Data” akan ditampilkan semua data-data dari citra
wajah, serta seluruh detail dari orang yang terdapat dalam data training di database.
Histori citra wajah yang cocok dengan citra wajah yang terdapat di database
akan ditampilkan di panel bagian kanan di “View All History”. Data-data yang
ditampilkan berupa nama, waktu capture, dan gambar dari orang tersebut.
81
Untuk melihat semua data yang ada di database, dapat memilih “View All
Data”. Data-data yang ditampilkan berupa nama, jenis kelamin, tanggal lahir, alamat,
kasus kejahatan, tanggal masuk dan keluar penjara, dan apakah orang termasuk
dalam daftar.hitam.
Proses pengaturan threshold dapat dilakukan dengan memilih “Setting” di
panel bawah bagian kanan. Di dalam “Setting” dilakukan pengaturan nilai Threshold
dengan interval 1000-3000.
3.7.2
Perancangan Layar Form Input Image
Gambar 3.27 Rancangan layar form input image
Pada tampilan rancangan layar form Input Image, user dapat memasukan citra
wajah digital dengan memilih tombol “Browse”. Citra wajah digital yang telah
dipilih akan ditampilkan di panel bagian kiri.
82
Untuk mencocokkan citra wajah digital yang dipilih dengan citra wajah dari
database, maka dipilih “Predict”. Bila citra wajah digital yang dipilih cocok dengan
citra wajah pada database, maka data-data orang tersebut akan dimunculkan di panel
bagian kanan.
3.7.3 Perancangan Layar Form Input Video
Gambar 3.28 Rancangan layar form input video
Pada tampilan rancangan layar form Input Video, user dapat memasukan citra
wajah digital dengan memilih tombol “Browse”. Video citra wajah digital yang telah
dipilih akan ditampilkan di panel bagian kiri. Bila citra wajah di dalam video cocok
dengan citra wajah training yang terdapat dalam daftar blacklist pada database,
maka sistem akan menampilkan nama orang tersebut dan melakukan pencatatan.
Hasil capture dari citra wajah realtime yang sesuai dengan citra wajah blacklist pada
83
database, serta nama, tanggal, serta waktu capture orang tersebut akan ditampilkan
di List View.
3.7.4
Perancangan Layar Form Training View
Gambar 3.29 Rancangan layar form training view
Pada tampilan rancangan layar form training view, citra wajah akan
ditampilkan di panel di sebelah kiri secara otomatis. Untuk meng-capture gambar
dapat memilih tombol “Capture”. Citra wajah yang diperlukan adalah citra wajah
dari posisi depan, kiri, dan kanan. Citra wajah yang telah di-capture akan
ditampilkan pada “Face Image” di panel kiri bagian bawah.
Pengisian data-data diri dilakukan pada panel bagian kanan. Data-data yang
dimasukkan berupa nama pada “Name”, memilih jenis kelamin pada “Gender”,
memasukkan tanggal lahir pada “Date of Birth”, menuliskan alamat pada “Address”,
menuliskan kasus kejahatan pada “Crime”, memasukkan tanggal masuk dan keluar
84
penjara pada “Date Arrested”. Apabila semua data telah selesai dimasukkan maka
dipilih tombol “Save” untuk menyimpan data-data tersebut ke dalam database atau
dapat memilih tombol “Cancel” untuk membatalkan proses penyimpanan data ke
database.
3.7.5 Perancangan Layar Form View All History
Gambar 3.30 Rancangan layar form view all history
3.7.6 Perancangan Layar Form View All Data
Gambar 3.31 Rancangan layar form view all data
85
Untuk melihat semua data yang tersimpan di database. Maka dipilih “View
All Data”. Pada form ini akan ditampilkan citra wajah dan data diri secara detail dari
setiap orang yang telah disimpan datanya di dalam database seperti citra wajah yang
memiliki berbagai variasi sudut, nama, alamat, tanggal lahir, masuk atau tidaknya
orang tersebut dalam daftar hitam(blacklisting), kasus kejahatan, jenis kelamin,
tanggal masuk, dan tanggal keluar penjara .
3.7.7
Perancangan Layar Form Pengaturan
Gambar 3.32 Rancangan layar form pengaturan
Pengaturan nilai threshold dilakukan untuk mendapatkan keakuratan
pengenalan citra wajah yang semakin baik, bergantung pada kasus yang tersedia.
Nilai threshold dapat dipilih dari 1000 hingga 5000, semakin besar nilai ambang
(threshold) yang digunakan semakin besar sebuah citra wajah dikenali sebagai salah
satu dari citra wajah di dalam data training, tetapi semakin kecil juga tingkat akurasi
yang didapat pada hasil pengenalan.
3.8
Pencocokkan Fitur dengan Database SQL
3.8.1
Black List Administration
Black List Administration merupakan proses memasukan data-data orang
yang masuk ke dalam daftar hitam ke dalam database.
86
Ada beberapa tahap yang dilakukan Black List Administration :
1.
Memasukkan data-data orang yang masuk ke dalam daftar hitam.
2.
Data input berupa foto, nama, tempat tinggal, asal, tanggal lahir, kasus
kriminalitas.
3.
Satu data terdiri dari banyak foto(dari depan,samping kiri, kanan),
semakin banyak, hasil akan semakin akurat.
3.8.2 Multiple Face Identification
Multiple Face Identification merupakan proses identifikasi foto-foto wajah
yang tertangkap kamera dengan foto di database.
Ada beberapa tahap yang dilakukan Multiple Face Identification :
1.
Kamera mengambil dan menyimpan foto setiap 1 detik
2.
Program mendeteksi wajah dari foto yang disimpan
3.
Wajah dicocokan dengan data yang berada dalam database
4.
Wajah yg cocok di database akan dilakukan pencatatan di dalam kolom List
View, detail yang terlihat berupa nama, tanggal capture, dan waktu capture.
5.
Gambar yang cocok disimpan & dilakukan pencatatan histori.
Download