• Tidak ada hasil yang ditemukan

BAB III ANALISIS DAN PERANCANGAN SISTEM

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB III ANALISIS DAN PERANCANGAN SISTEM"

Copied!
35
0
0

Teks penuh

(1)

BAB III

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis

Sistem Pengenalan wajah ini bertujuan untuk mengenali wajah seseorang dari data wajah-wajah orang yang telah diinputkan terlebih dahulu. Dengan memasukkan beberapa pose orang dalam setiap orang agar dalam pengenalan wajah seseorang bisa lebih detail.

3.1.1 Analisis Kebutuhan fungsional

Dalam membangun sistem pengenalan wajah ini diperlukan batasan yang jelas sebagai tujuan utamanya agar tidak keluar dari rencana yang telah ditetapkan. Beberapa kebutuhan sistem yang akan didefinisikan dalam Software Requirement Specification antara lain :

Tabel 3.1 Software Requirement Specification

No SRS ID DESKRIPSI

1 SRS-SPT001 Mengambil data wajah manusia melalui WebCam dan menyimpannya pada media penyimpanan yang sudah disiapkan sebelumnya

2 SRS-SPT002 Melakukan preprocessing secara otomatis dengan menggunakan system.

3 SRS-SPT003 Mendeteksi dan mengenali wajah yang ada pada data image wajah.

4 SRS-SPT004 Sistem akan mengeluarkan text bila wajah terverifikasi dengan benar

3.1.2 Analisis Kebutuhan Non Fungsional

Analisis kebutuhan non fungsional merupakan analisis kebutuhan di luar fungsi daripada sistem,analisis ini terdiri dari analisis hardware, analisis software, analisis user (pengguna) dan analisis jaringan.

(2)

3.1.2.1 Analisis Hardware ( Perangkat Keras )

Untuk spesifikasi perangkat keras minimum yang digunakan dalam pembuatan sistem ini adalah 1 buah notebook dengan spesifikasi sebagai berikut :

1. Resolusi Monitor : Resolusi monitor minimal bila dijalankan pada ukuran 800x600 piksel.

2. Processor : Intel Core2Duo. 2 Ghz

3. Harddisk : 160 GB

4. RAM 1 GB

5. Webcam

3.1.2.2 Analisis Software ( Perangkat Lunak )

Adapun untuk melengkapi perangkat keras yang telah disebut sebelumnya maka diperlukan juga perangkat lunak diantaranya

1. Sistem operasi yang digunakan adalah Windows 7 Ultimate SP 1

2. Matlab 2012a Digunakan untuk membuat sistem Pengenalan wajah

3. Microsoft Office Visio 2010 digunakan untuk merancang SSAD

3.1.3 Arsitektur Sistem

Gambar 3.1 merupakan arsitektur sistem Pengenalan wajah manusia yang tergambar pada

(3)

Gambar 3.1 Arsitektur Sistem Pengenalan wajah Di dalam arsitektur sistem terdapat beberapa tahap yaitu :

a. Pada tahap pertama data gambar yang sudah dalam bentuk grayscale akan mengalami ekstraksi ciri dengan metode LDA buat mencari nilai karakteristik dan mengurangi dimensi diproyeksikan terhadap nilai normalisasi gambar yang akan diujikan.

b. Selanjutnya gambar yang akan diujikan dicari nilai normalisasi dan diproyeksikan hasil terhadap gambar hasil pelatihan sebagai matriks proyeksi. c. Lalu hasil matriks proyeksi diklasifikasikan menggunakan KNN setelah diklasifikasi maka akan mengetahui wajah yang kita cari itu akan mengetahui pemilik data wajah yang kita cari.

3.1.4 Arsitektur Aplikasi

(4)

Pengguna Antarmuka

Klasifikasi Data wajah

terekstrak Ekstraksi ciri Preprocessing Data wajah Gambar 3.2 Arsitektur aplikasi Sistem Pengenalan wajah

Dalam gambar dijelaskan beberapa tahap dalam sistem pengenalan wajah sebagai berikut :

1. User input data image

Proses tahap pertama yaitu pengguna melakukan input pada aplikasi berupa data sebuah image.

2. Preprocessing

Preprocessing adalah tahap awal dalam mengolah data dari data mentah sampai ke bentuk data yang dibutuhkan dalam proses pengenalan data.

3. Data ekstraksi ciri

Data ektraksi ciri merupakan data ciri seseorang dari setiap gambar setelah mengalami proses ektraksi ciri mengunakan algoritma LDA.

4. Klasifikasi KNN

Pada tahap selanjutnya program proses klasifikasi untuk mengetahui pemilik data.

5. Output

(5)

3.1.5 Analisis Sistem Pengenalan Wajah Mengunakan Linear Discriminant

Analysis

A. Flowchart Linear Discriminant Analysis

Gambar 3.3 merupakan flowchart dari algortima LDA dari awal inputan berupa matrik vektor hingga menghasilkan matrik proyeksi

Gambar 3.3 Flowchart Linear Discriminant Analysis

Pada proeses LDA memiliki beberapa tahap dalam proses seperti pada Gambar 3.3 adapun tahap LDA sebagai berikut :

a. Tahap pertama siapkan data wajah dengan beberapa variasi disiapkan misaln yang digunakan adalah 2 orang dengan 10 variasi. Setelah data disiapkan selanjutnya akan mengalami proses Preprocessing dimana dalam proses preprocessing tersebut data wajah akan mengalami

(6)

beberapa pase yaitu RGB to Grey merubah data gambar ke bentuk keabuan, selanjutnya proses cropping yaitu memotong gambar yang tidak diperlukan dan resize yaitu memperkecil ukuran gambar.

b. Setelah didapatkan data wajah hasil dari preprocessing selanjutnya data tersebut diubah dengan menjadi matriks vector dan nanti hasilnya berupa matriks dengan dimensi 20 x 896 selanjutnya hasil dari matriks vector lalu membentuk kelas karena ada dua wajah manusia yang berbeda dengan demikian kelas ada dua.

c. Tahap selanjutnya mencari ukuran gambar tersebut yang dimana akan digunakan dalam mencari matriks scatter within class. Dan pada proses selanjutnya mencari nilai normalisasi dimana nilai tersebut didapat dari nilai matriks vector dikurangi matriks gambar

d. Kemudian mencari nilai rata-rata setiap kelasnya dan rata totalnya yang akan digunakan dalam mencari matriks scater between class. e. Pada tahap selanjutnya mencari matriks scatter within class dengan

maksud mencari jarak di antara kelas dan mencari matriks scatter between class dengan maksud mencari jarak di dalam kelas sendiri. f. Lalu mencari nilai covarian yang merupakan inputan dari nilai matriks

scatter betwenn class dikalikan invers dari matriks scatter within class. Selanjutnya mencari nilai eigen vector dan eigen value

g. Setelah didadapat nilai eigen value selanjutnya diurutkan dari terbesar sampai terkecil yang bersesuain dengan indeks eigen vector dan diambil beberapa saja misalnya mengambil 60 variabel dari 896

(7)

variabel yang kemudian diproyeksikan terhadapa nilai normalisasi sebagai matriks proyeksi.

h. Lalu data hasil matriks proyeksi sebagai inputan dalam mengklasifikasi dengan menggunakan knn dengan maksud mencari nilai ketetanggaan dan mencari nilai minimum yang paling dekat.

i. Lalu didapatkan gambar wajah itu milik siapa

B. Langkah langkah membangun aplikasi sistem pengenalan wajah dengan

metode Linear Discriminant Analysis dan metode pengembangan aplikasi

prototype

Pada tahap ini akan dijelaskan tahap demi tahap dalam membangun sistem pengenalan wajah manusia dengan metode pengembangan perangkat lunak yang digunakan prototype sebagai berikut :

a. Tahap pengumpulan bahan dan data

Pada tahap ini mengumpulkan bahan bahan referensi dalam membangun sebuah sistem pengenalan wajah dan data-data wajah yang diperlukan dalam database. Dalam perancangan ini menggunakan 2 orang dengan 10 variasi berbeda yaitu foto Firman dan Tommy yang pencahayaan sudah dikondisikan dengan ukuran 1200 x 1600 pixel seperti pada Gambar 3.4

(8)

b. Tahap membangun prototyping

Membangun prototyping dengan membuat perancangan sementara yang berfokus pada penyajian bagaimana user interface dari sistem pengenalan wajah manusia tersebut akan disajikan. Pada tahap ini merancang bagaimana membuat user interface dengan sistem pengenalan wajah secara offline atau online seperti perancangan user interface sistem pengenalan wajah offline pada Gambar 3.5 dan perancangan user interface sistem pengenalan wajah online pada Gambar 3.6

Gambar 3.5 User Interface Sistem Pengenalan wajah offline

Pada Gambar 3.5 merupakan sistem pengenalan wajah secara offline dimana pada saat browse gambar akan mendapatkan gambar yang akan dikenali, setelah itu lalu tekan tombol recognize untuk mengenali data wajah tersebut setelah ditekan kemudian muncul nama pemilik wajah yang diujikan. Selain itu pada Gambar 3.6 yang merupakan sistem pengenalan wajah dengan online dimana sistem online yang dibuat agar data input dari webcam merupakan data gambar yang akan diujikan.

(9)

Gambar 3.6 User Interface Sistem Pengenalan wajah online

Pada saat aplikasi tersebut dibuka maka wajah kita akan terbaca oleh webcam dan langsung memproses pengenalan wajah tersebut.ketika proses sudah selesai dan wajah yang akan dikenali dan diverifikasi dengan menekan tombol cek maka ada suara selamat siang pak firman dan sebaliknya tidak sesuai dengan data akan muncul suara alarm.

c. Tahap mengkodekan sistem

Dalam tahap ini prototyping sistem pengenalan wajah manusia yang sudah disepakati diterjemahkan ke dalam bahasa pemrograman matlab. Pada tahap ini dalam mengkodekan sistem terdapat beberapa modul yang harus dilakukan yaitu modul preprocessing, ekstraksi ciri dengan metode LDA, klasifikasi, dan user interface pengenalan wajah secara offline maupun online. Dimana salah satu modul source code pada saat pengenalan wajah secara offline dapat dilihat pada Gambar 3.7

(10)

Gambar 3.7 Source code User Interface Offline

Gambar 3.7 merupakan bagian dari pengkodean agar sebuah user interface agar dari hasil perancangan user interface sebelumnya dapat dibangun dalam bentuk tampilan yang diinginkan dari perancangan dan buat Source code lebih lengkapnya dapat dilihat pada lampiran b pada bagian source code.

function varargout = Testing(varargin) gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @welcome_OpeningFcn, ... 'gui_OutputFcn', @welcome_OutputFcn, ... 'gui_LayoutFcn', [] , ...

'gui_Callback', []); if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:});end;end; function welcome_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject; guidata(hObject, handles);end;

function varargout = welcome_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;end;

function open_Callback(hObject, eventdata, handles) [nama_file, nama_path] = uigetfile('*.png');

if ~isequal(nama_file, 0)

handles.data = imread(fullfile(nama_path, nama_file)); guidata(hObject,handles);

img = imresize(handles.data,5); axes(handles.image1);

imshow(img);

save 'D:\Skripsi Munaqosah\program\sistem offline\nama_path' nama_path

save 'D:\Skripsi Munaqosah\program\sistem offline\nama_file' nama_file else return; end set(handles.text3,'String',nama_file); set(handles.text4,'String',size(handles.data,1)); set(handles.text5,'String',size(handles.data,2));end; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

(11)

Gambar 3.8 Source code User Interface Offline

function varargout = Home(varargin) end;

function Home_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject; guidata(hObject, handles);

vid = videoinput('winvideo', 1, 'RGB24_320x240');

src = getselectedsource(vid); % get properties of video object;get(src)

save 'D:\Skripsi Munaqosah\program\webcam\vid' vid; vid.FramesPerTrigger = 1;

vid.ReturnedColorspace = 'rgb'; triggerconfig(vid, 'manual');

vidRes = get(vid, 'VideoResolution'); imWidth = vidRes(1);

imHeight = vidRes(2);

nBands = get(vid, 'NumberOfBands');

hImage = image(zeros(imHeight, imWidth, nBands), 'parent', handles.Webcam); preview(vid, hImage); rectangle('position',[90 30 120 160],'edgecolor','k','LineWidth',4) rectangle('position',[90 30 120 160],'edgecolor','w','LineWidth',1) rectangle('position',[120 100 56 64],'edgecolor','w','LineWidth',1);end

function varargout = Home_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output; end

load 'D:\Skripsi Munaqosah\program\proses LDA\EigenSampel';

load 'D:\Skripsi Munaqosah\program\proses LDA\DataUji'; [HM,WM] = size(DataUji);

dir = 'D:\Skripsi Munaqosah\program\webcam\'; name = '';imageUji='test.png';numOfPose = HM/4;

Gambar = [dir imageUji];imageTesting = imread(Gambar); imageTesting = double(imageTesting);

[H,W] = size(imageTesting);

imageTesting = reshape (imageTesting,1,H*W); FinalValue = imageTesting * EigenSampel; FinalValue = repmat(FinalValue,HM,1); EucDis = (DataUji - FinalValue).^2;

sumMatrix = double(sum(transpose(EucDis))); sumMatrix = transpose(sumMatrix);

degreesMatrix = sqrt(sumMatrix);

[minimum,index] = min(degreesMatrix); if index >= 1 && index <= numOfPose name = 'Firman baik';

elseif index > numOfPose && index <= numOfPose * 2 name = 'Tomcat';

elseif index > numOfPose && index <= numOfPose * 3 name = 'Hadoy';

elseif index > numOfPose && index <= numOfPose * 4 name = 'Ridwan';elsename = 'undifine';end

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52

(12)

Gambar 3.8 merupakan bagian dari pengkodean agar sebuah user interface agar dari hasil perancangan user interface sebelumnya dapat dibangun dalam bentuk dimana data yang akan dikenali merupakan input dari webcam langsung kemudian wajah tersebut akan dikenali tampilan yang diinginkan dari perancangan dan buat Source code lebih lengkapnya dapat dilihat pada lampiran b pada bagian source code.

a. Preprocessing

Pada tahap ini aka membuat mengkodekan sistem preprocessing dimana dalam tahap ini data wajah yang dilakukan pada tahap pengumpulan data akan diproses pada beberapa proses yaitu RGB to grey, cropping, resize.

Pada pase RGB to grey merubah gambar berbentuk keabuan agar dalam pengolahan sebuah sistem pada saat proses tidak terlalu berat seperti pada Gambar 3.8

Gambar 3.9 data wajah berbentuk grayscale

Pada pase sesudah dari grayscale selanjutnya data akan mengalami proses cropping yaitu dimana akan dilakukan pemotongan terhadap gambar yang sudah berbentuk keabuan akan dipotong background yang tidak diperlukan. Hasil dari proses ini data gambar menjadi ukuran 701 x 801 pixel seperti pada Gambar 3.10

(13)

Gambar 3.10 data wajah hasil cropping

Selanjutnya langkah berikutnya akan mengalami proses resize pengecilan ukuran gambar dari asalnya 701 x 801 pixel menjadi berukuran 28 x 32 pixel seperti pada Gambar 3.11

Gambar 3.11 data wajah hasil resize

b. Extraction fiture

Sebelum melakukan pelatihan terlebih dahulu gambar diubah menjadi bentuk matriks vector yang sehingga berukuran 20 x 896 pixel seperti pada Gambar 3.12

(14)

Matriks scatter between class

Di dalam LDA ada tahap dimana harus menghitung matriks scatter between class atau mencari jarak di dalam kelas dimana foto Firman sebagai kelas pertama dan foto Tomy sebagai kelas dan hasil dari matriks scatter between class akan menghasilkan matriks berukuran 896 x 896. Dimana rumus matriks scatter between adalah

SB = ∑ Ni i – i – T

(1) Dimana Ni = Jumlah Image pada kelas ke i

i = rata – rata kelas ke i = rata-rata total

C = Jumlah kelas yang ada Matriks scatter within class

Selanjutnya dalam LDA kemudian mencari mencari matriks scatter within class yaitu mencari jarak dengan kelas lain agar lebih memaksimalkan matriks dalam setiap kelas dan hasil dari perhitungan ini akan membentuk matriks 896 x 896 pixel dengan rumus

SW = ∑ Ni( Xk - i) ( Xk - i) T

(2)

Dimana Xk = Image ke k

C = Jumlah kelas yang ada

I = rata-rata kelas ke I (Xk adalah anggota kelas ke-i

Covarian

Pada tahap ini mencari nilai variasi atau covarian dengan rumus cov=sb*invers(Sw)

(15)

Dimana cov = nilai covarian

Sb = Matriks scatter between Sw = matriks scatter within class

dan nanti akan menghasilkan matriks berukuran 896x896 pixel

Eigen value dan eigen vector. Pada tahap ini selanjutnya mencari nilai karakteristik yaitu pada fungsi matlab menggunakan fungsi eig yang mencari nilai eigen vector dan eigen value dan hasil matriks eigen vector adalah matriks berukuran 896 x 896 dan eigen value berukuran 896 x 1 dan mengurutkan eigen vector dari terbesar sampai terkecil.

Matriks proyeksi

Selanjutnya nilai eigen diambil 100 untuk melakukan proyeksi matriks terhadap nilai normalisasi sebagai inputana data latih

c. Klasifikasi K-NN

Pada proses klasifikasi ada dua inputan yaitu data uji adalah data yang akan dicari kemiripan wajahnya dan data latih adalah data yang telah melakukan pelatihan agar dikenali

Menentukan iterasi

Sebelum mencari nilai terdekat atau nilai minimal sebelumnya menentukan iterasi yang akan dilakukan berapa kali dimana dalam percobaan ini menggunakan iterasi 1 dimana data akan diuji secara satu persatu.

Jarak ketetangaan

Pada tahap ini akan mencoba klasifikasi data dengan inputan data latih dan data uji dengan rumus

(16)

Dimana a=data uji dan b= data latih pada saat sebuah foto pada Gambar 3.9

Gambar 3.13 foto Firman yang diuji

Setelah foto di Gambar 3.13 diklasifikasi menunjukkan bahwa foto tersebut milik dengan naman Firman

d. User interface sistem offline dan online

Tahap selanjutnya mengkodekan sistem secara offline maupun online untuk tampilan antarmuka dalam pengenalan wajah. Sistem offline digunakan dengan cara browse gambar lalu melakukan pengenalan sedangkan yang sistem online melalui capture camera video webcam secara langsung terhadap orang lalu melakukan pengenalan.

d. Tahap mengujikan sistem

Dalam tahap ini sistem akan diujikan dengan beberapa cara yaitu Pengujian blackbox dengan pengujian yang lebih ke aplikasi dengan mengecek apakah fungsi berfungsi sebagaimana mestinya. Pengujian selanjutnya yang dilakukan adalah pengujian dengan mencari komposisi penggunaan data yang dilatih dan data yang diuji agar mengetahui tingkat pengenalan seberapa besar pengenalan tersebut dilakukan. Pengujian selanjutnya yaitu menguji sistem secara langsung atau online yaitu dengan melakukan pengenalan wajah langsung kepada Firman dan Tommy dengan setiap orangnya melakukan 50 kali pengenalan agar mengetahu tingkat presentase pengenalan seberapa banyak mengetahui

(17)

kesalahan dan mengetahui tingkat kebenarannya. Salah satu hasil pengujian seperti pada Gambar 3.14

Gambar 3.14 tingkat pengenalan Firman

Dimana pada pengujian terhadap Firman memiliki tingkat kebenaran sebesar 52% dan tingkat kesalahan mempunyai presentasi 48%, selain itu pengujian dilakukan terhadap kepada seseorang yang bernama Hadi dengan tingkat pengenalan pada Gambar 3.15

Gambar 3.15 tingkat pengenalan Hadi

Sedangka tingkat pengenalan kepada Hadi mempunyai presentasi sebesar 80% dan tingkat kesalahan sebesar 20%

e. Tahap evaluasi sistem

Pada tahap ini dilalukan evaluasi sistem apabila sistem mengalami kekurangan akan kembali lagi kepada tahap mengkodekan sistem dan tahap pengujian sistem dan apabila sistem dirasa cukup maka sistem siap dipakai

(18)

f. Tahap menggunakan sistem

Pada tahap ini sistem yang telah dievaluasi kemudian sistem pengenalan wajah ini siap digunakan dan dimplementasikan kepada aplikasi tertentu seperti absensi dengan menggunakan wajah maupun sistem keamanan yang menggunakan wajah. Kemudian sistem seperti pada Gambar 3.14 siap digunakan

Gambar 3.16 User interface online

Sistem ini digunakan dengan cara wajah yang akan dikenali harus sesuai kotak persegipanjang yang telah disediakan setelah itu tekan tombol verifikasi kemudian mengeluakan text hasil dari pengenalan wajah.

(19)

Selain Gambar 3.17 merupakan sebuah sistem dibuat juga user interface dengan sistem pengenalan wajah secara offline

Gambar 3.17 User interface offline

Gambar 3.17 merupakan sebuah antarmuka dengan bekerja mengambil gambar yang akan diujikan kemudian menekan tombol recognize kemudian keluar text yang akan dikenali

C. Ilustrasi perhitungan Linear Discriminant Analysis

a. Preprocessing

1. Grayscale

Merubah citra RGB menjadi citra grayscale adalah salah satu contoh proses pengolahan citra menggunakan operasi titik. Untuk mengubah citra RGB menjadi citra grayscale adalah dengan menghitung rata-rata nilai intensitas RGB dari setiap piksel penyusun citra tersebut. Rumus matematis yang digunakan adalah sebagai berikut:

(20)

Dimana RGB mempunyai nilai ( 0 sampai 255, 0 sampai 255, 0 sampai 255) misal nilai suatu gambar RGB adalah (12,9,27) maka dalam mencari nilai grayscale akan dibagi 3 dalam mencari rata-rata dimana nilai untuk mendapatkan grayscale adalah (16) Jadi sebelum gambar diproses mencari ruang ciri maka terlebih dahulu gambar yang akan dilatih akan mengalami proses preprocessing agar dalam penggalian ciri tidak terlalu berat dalam prosesnya.

2.Cropping

Setelah gambar dalam bentuk grayscale kemudian citra akan mengalami proses Cropping. Dimana dalam proses ini akan mengalami proses pemotongan gambar yang dianggap tidak perlu sehingga citra membentuk citra dengan tampilan yang diperlukan dalam mencari ruang ciri.

3. Resize

Setelah melalui proses Cropping maka akan dilakukan proses Resize. Dimana Resize adalah teknik pengecilan suatu citra misalnya dalam tahap ini terdapat gambar yang berukuran 1600 x 1200 pixel lalu setelah mengalami proses Resize suatu citra diperkecil sampai suatu citra berukuran 37 x 28 pixel

b. Extraction Fiture Linear Discriminant Analysis

Linear Discriminant Analysis bekerja berdasarkan analisa matrik penyebaran yang bertujuan menemukan suatu proyeksi optimal sehingga dapat memproyeksikan data input pada ruang dengan dimensi yang lebih kecil dimana semua pola (pattern) dapat dipisahkan semaksimal mungkin.

(21)

Karenanya untuk tujuan pemisahan tersebut maka LDA akan mencoba untuk memaksimalkan penyebaran data-data input diantara kelas-kelas yang berbeda dan sekaligus juga meminimalkan penyebaran input pada kelas yang sama. Perbedaan antar kelas direpresentasikan oleh matriks Sb (scatter between class) dan perbedaan dalam kelas direpresentasikan oleh matriks Sw (scatter within class).Dalam penjelasan akan menggunakan 2 orang dimana setiap orang masing masing mempunyai 2 pose yang akan digunakan sebagai penggali ciri.

1. Mencari Matriks Scatter Between

SB disebut matriks scatter between class atau penyebaran data antar kelas yang

berbeda. Bila pada PCA dicari rata-rata seluruh image saja, rnaka pada LDA juga harus dicari lebih dulu rata-rata image yang terdapat dalam satu kelas.

a. Merubah Gambar ke Matriks Vector

Pada tahap ini akan merubah 2 gambar orang dengan masing-masing memiliki setiap 2 pose maka hasil yang didapatkan adalah sebagai berikut :

Tabel 3.2 Data matriks dengan masing-masing dua variasi

Baris pertama adalah milik orang pertama dengan pose pertama. Baris kedua adalah milik orang pertama dengan pose kedua. Baris ketiga adalah milik orang kedua dengan pose pertama. Baris ketiga adalah milik orang kedua dengan pose kedua.

(22)

Karena gambar hanya dicontohkan 2 orang yang berbeda makan akan membentuk 2 kelas.

Tabel 3.3 data kelas A

Tabel 3.4 data kelas B

c. Menghitung Jumlah gambar tiap kelas

Dalam tahap ini akan menghitung berapa gambar yang ada setiap kelas ternyata setiap kelas memiliki 2 gambar setiap gambar dengan nilai N=2;

d. Menghitung rata-rata per kelas

Pada tahap selanjutnya maka akan dihitung rata-rata setiap kelasnya berikut proses perhitungannya dan beserta hasilnya :

Rata-rata Kelas A Pose pertama

(173+168+161+152)/4 = 163,5 Pose Kedua

(91+79+71+61)/4 = 75,5

Tabel 3.5 Rata-rata kelas A

Rata-rata Kelas B Pose pertama

(23)

Pose Kedua

(164+164+165+164)/4 = 164,25

Tabel 3.6 Rata-rata kelas B

e. Menghitung Rata-rata total

Pada tahap selanjutnya mencari rata-rata total dengan perhitungan dan hasilnya sebagai berikut :

Pose pertama

(Rata-rata Kelas A+Rata-rata Kelas B)/2 = (155,75+163,5)/2=159,625 Pose kedua

(Rata-rata Kelas A+Rata-rata Kelas B)/2 = (164,25+75,5)/2=119,875 Tabel 3.7 rata-rata total

Setelah semua tahap yang dibutuhkan dalam mencari matriks Scatter Between selanjutnya data tersebut dimasukkan ke rumus mencari matriks Scatter Between :

SB = ∑ Ni i – i – T

Dimana Ni = Jumlah Image pada kelas ke i i = rata – rata kelas ke i

= rata-rata total

C = Jumlah kelas yang ada

f. Matriks Scatter Between B

(24)

([ ]-[ ] )T = [ ]

g. Matriks Scatter Between A

2([ ]-[ ] ) ([ ]-[ ] ) T = [ ]

h. Matriks Scatter Between keseluruhan

Kemudian dicari Scatter Between keseluruhan SbB + SbA / 2 maka hasilnya adalah = [ ]

i. Mencari Matriks Scatter Within Class

SW disebut matriks scatter within class atau penyebaran data dalam satu kelas yang

(25)

1. Menghitung Nilai Normalisasi

Pada tahap ini akan melakukan nilai normalisas dengan rumus sebagai berikut matrikvector-ratakelas tertentu

Nilai normalisasi B

Matrik vector B - rata-rata dari kelasB [ ] - [ ] = [ ] Nilai normalisasi A

Matrik vector A- rata kelas A Matrik vector B-rata kelas B [

] - [

] = [ ]

Kemudian dicari Scatter Between keseluruhan SwB + SwA / 2 maka rumus dan hasilnya adalah : ZeromeanT - Zeromean

Mencari Matriks Scatter Within Class B SwIbu=ZeromeanBT - ZeromeanB [ ]-[ ] = [ ]

Mencari Matriks Scatter Within Class B SwIbu =ZeromeanBT - ZeromeanB

[ ]-[ ]

(26)

= [ ]

Mencari Matriks Scatter Within Class Keseluruhan Sw=SwB+SwA [ ] + [ ] = [ ]

j. Mencari Matriks Covarian

Pada tahap ini mencari nilai covarian dengan rumus : Covarian=Sb*InversSw [ ] * [ ] = [ ]

(27)

k. Menghitung Eigen Vector dan Eigen Value

Dalam mencari Eigen dapat dicari dengan rumus AX= X

[ ]= [ ]=[ ] l. Proyeksi Matriks

Pada tahap memproyeksikan matriks dilakukan dengan cara sebagai berikut : Proyeksi Matriks = Zeromean * Jumlah eigen vector yang diambil

Pada percobaan ini eigen vector misalnya diambil sejumlah 4 nilai eigen maka

[ ]*[ ] = [ ] c. Klasifikasi K-NN

K-Nearest Neighbor (KNN) adalah suatu metode yang menggunakan algoritma supervised dimana hasil dari query instance yang baru diklasifikan berdasarkan mayoritas dari kategori pada KNN. Tujuan dari algoritma ini adalah mengklasifikasikan obyek baru bedasarkan atribut dan training sample.

(28)

Dimana rumus KNN itu sendiri adalah :

p i i i i

x

x

d

1 2 1 2 Keterangan: 1 x = Sampel Data 2

x = Data Uji / Testing

i = Variabel Data

d = Jarak

p = Dimensi Data

Dimana data uji adalah data matrik proyeksi yang sebelumnya dibahas sedangkan sampel data adalah gambar yang akan jadi sampel dan dalam proses knn tersebut akan mencari nilai tetangga yang berdekatan bila sudah mengetahu nilai tersebut maka ada suatu keputusan nilai itu dekat dengan nilai siapa.Berikut proses perhitungan dengan Metode KNN

Klasifikasi Orang ke 1 dan Pose ke 1

D

i =

√∑

[

]

– - [173 168 161 152] = 3.270000000000001e+02

Klasifikasi Orang ke 1 dan Pose ke 2

D

i =

√∑

[

]

-[ 91 79 71 61]=1.510000000000000e+02

(29)

D

i =

√∑

[

]

-[157 157 159 150]=3.115000000000001e+02

Klasifikasi Orang ke 2 dan Pose ke 2

D

i =

√∑

[

]

-[157 157 159 150]= 3.285000000000001e+02

Nilai klasifikasi tersebut tersebut diklasifikasi dimana nilai orang ke 1 pose ke 1 dan orang ke 1 dan pose kedua dikenal sebagai orang kesatu dan nilai klasifikasi orang ke 2 pose ke 1 dan orang ke 2 pose ke 1 dikenal sebagai orang kedua.

3.2 Pemodelan sistem

Dalam Pemodelan sistem citra wajah digunakan untuk memberikan gambaran tentang sistem yang akan dibuat yaitu penggambaran sistem dalam bentuk diagram konteks ini menggambarkan seluruh sistem yang akan dibuat dan akan diimplementasikan dalam sebuah program, tetapi diagram konteks yang dibuat masih bersifat umum dan belum menggambarkan proses pengenalan wajah dengan jelas. Maka diagram tersebut perlu didekomposisi lagi untuk mendapatkan gambaran sistem dengan jelas.

3.2.1 Diagram Konteks

Berikut merupakan Diagram Konteks Pengenalan Wajah Manusia yang tergambar pada Gambar 3.18 :

(30)

Pengguna SISTEM PENGENALAN WAJAH Admin Data wajah Text Citra Wajah

Data Presentase Ketepatan Pengenalan Wajah

Gambar 3.18 Diagram Context Sistem Pengenalan Wajah 3.2.2 Data Flow Diagram Level 0

Berikut merupakan Data Flow Diagram Level 0 saat melakukan proses Pengenalan Wajah Manusia yang tergambar pada Gambar 3.19

Pengguna 1.Input Citra melalui Webcam Citra 2.Preprocessing 4.Klasifikasi 5.Melakukan Pengenalan Wajah Data Wajah Data Wajah Preprocessing Data Wajah Data Wajah Data Keputusan Data Keputusan text Admin Data Wajah 3.LDA

Data wajah Preprocessing

Data Proyeksi Matriks Data Proyeksi Matriks

Data Proyeksi Matriks

Data Jarak Minimal Data Resize

Gambar 3.19 Data flow Diagram level 0 Sistem Pengenalan wajah Penjelasan gambar :

1. Citra berasal dari Pengambilan gambar dari Webcam kemudian disimpan dalam suatu folder dengan satu orang pengguna yang akan dikenali diambil beberapa posse agar dalam penggenalan suatu wajah lebih akurat.

(31)

2. Lalu admin Memasukkan data identitas pada saat klasifikasi dan melakukan Preprocessing Wajah yang telah diambil lalu melakukan Preprocessing dengan tiga tahap yaitu :

a. Gambar diubah ke dalam bentuk GrayScale b. Gambar Ukurannya diresize

c. Gambar Yang telah di resize lalu mengalami Cropping

3. Gambar yang telah mengalami Preprocessing lalu akan diproses dengan Metode Linear Discriminant Analysis agar dapat mencari nilai Eigen atau ciri yang akan dicari.

4. Kemudian dari eigen tersebut membentuk suatu data eigen yang akan diklasifikasi

5. Setelah diklasifikasi maka ciri seseorang tersebut akan dikenali. 3.2.3 Data Flow Diagram Level 1 Proses 2.0 (Preprocessing)

Berikut merupakan Data Flow Diagram Level 1 Proses 2.0 (Training) saat melakukan proses Pengenalan Wajah Manusia yang tergambar pada Gambar 3.20: 2.1 Rgb to Grey 2.2 Cropping 2.3 Resize Admin

Data Wajah GREYSCALE

Data Preprocessing Data Resize Pengguna Data Wajah Data Wajah Data Wajah Data Wajah

Data wajah Cropping

(32)

Penjelasan Gambar :

Admin melakukan pengolahan terhadap data yang telah input melalui webcam kemudian akan mengalami proses Preprocessing dimana gambar tersebut akan mengalami beberapa tahap yaitu :

a. Rgb to grey yang merubah gambar dari grayscale menjadi dalam bentuk Grayscale atau keabuan

b. Resize yaitu proses dimana setelah diubah menjadi grayscale kemudian ukuran dikecilkan.

c. Setelah ukuran dikecilkan maka gambar melakukan Cropping yaitu pemotongan gambar sehingga background yang tidak perlu dipotong.

Setelah mengalami proses tersebut maka akan diproses memakai linear discriminant analysis dan Diklasifikasi sehingga citra dikenali.

3.2.4 Data Flow Diagram Level 2 Proses 3.0 (LDA)

Berikut merupakan Data Flow Diagram Level 3 Proses 4.0 (Training) saat melakukan proses Pengenalan Wajah Manusia yang tergambar pada Gambar 3.21:

(33)

Penjelasan gambar :

Pertama proses akan mengambil data preprocessing yang kemudian diolah melalu proses ekstraksi fitur menggunakan Linear Discriminant Analysis dimana tahap-tahap sebagai berikut

a. Merubah gambar preprocessing dalam bentuk matriks.

b. Lalu Mencari Matriks Scatter Betwenn atau penyebaran data antar kelas yang berbeda. Bila pada PCA dicari rata-rata seluruh image saja, rnaka pada LDA juga harus dicari lebih dulu rata-rata image yang terdapat dalam satu kelas. c. Lalu mencari matriks Scatter within class atau penyebaran data antar kelas

yang berbeda. Bila pada PCA dicari rata-rata seluruh image saja, rnaka pada LDA juga harus dicari lebih dulu rata-rata image yang terdapat dalam satu kelas.

d. Lalu mencari matrik kovarian dan dari matrik kovarian dicari nilai eigen vector dan eigen value dan diurutkan secara menurun dari nilai tertinggi sampai terbawah

e. Kemudian hasil nilai eigen diproyeksikan terhadap gambar yang akan diuji 3.2.5 Data Flow Diagram Level 3 Proses 4.0 (Training)

Berikut merupakan Data Flow Diagram Level 3 Proses 4.0 (Training) saat melakukan proses Pengenalan Wajah Manusia yang tergambar pada Gambar 3.22:

Data wajah Proyeksi

Matriks Data Wajah

4.1 Hitung Jarak Euclidian 4.2 Mencari Jarak Minimal DATA EUCLIDIAN

Data Jarak MINIMAL Data Keputusan

(34)

Penjelasan gambar :

a. Pertama mencari jarak tetangga terdekat

b. Setelah didapat kemudian mencari jarak minimal

c. Dari data diurutkan dipilih beberapa data yang akan dikomparasi. 3.2.6 Pseudocode Linear Disciminant Analysis

Berikut ini merupakan Pseudocode dari algortima LDA

Gambar 3.23 Pseudo code

Pada Gambar 3.23 menggambarkan bagaimana Linear Discriminant Analysis ini bekerja dari data wajah yang berupa input data matriks dan menghasilkan output berupa proyeksi matriks. Algoritma Menentukan_nilai_matrik_proyeksi_dengan_LDA Deklarasi MatrikVektor,Class1,Class2,MeanClass1,MeanClass2,MeanTotal,SizeC lass1,SizeClass2,CenterClass1,CenterClass2,ScatterWithin,Scatter Between,Covarian,eigenvector,eigenvalue, FinalData, MatrikProyeksi:double Deskripsi Read(MatrikVektor) Class1=MatrikVektor(1:9, :);Class1=MatrikVektor(10:18,:) SizeClass1=size(class1);SizeClass2= size(class2) MeanClass1=mean(Class1);MeanClass2=mean(Class2) MeanTotal= MeanClass1+ MeanClass2

CenterClass1=Class1-(MeanClass1,sizeClass1) CenterClass2=Class1-(MeanClass2,sizeClass2) Sw1= CenterClass1’*CenterClass1 Sw2= CenterClass2’*CenterClass2;ScatterWithin=Sw1+Sw2 Sb1=SizeClass1*(MeanClass1-MeanTotal)’*(MeanClass1-MeanTotal) Sb2=SizeClass2*(MeanClass2-MeanTotal)’*(MeanClass2-MeanTotal) ScatterBetween=Sb1+Sb2 Covarian = Inv(Sw)*Sb [eigvector,eigvalue] = eig(Covarian) [i,indeks] = sort(eigenvalue) FinalData = eigenvector(:,indeks) MatrikProyeksi = ZeroMean * FinalData Output(MatrikProyeksi)

(35)

3.3 Database

Pada penelitian ini, tidak menggunakan tool database yang biasa digunakan untuk pembuatan aplikasi, misalnya dengan MySql, PostgreSql ataupun dengan Oracle. Karena aplikasi yang dibangun pada skripsi ini hanya sebagai contoh dari implementasi metode LDA yang merupakan pokok bahasan utama dari skripsi ini.

Cara penyimpanan yang digunakan adalah dengan menggunakan matriks yang disimpan pada file dengan ekstensi .mat yang kemudian file tersebut disimpan pada folder project. Data yang didapat disimpan pada matriks yang dibuat dengan menggunakan aplikasi MATLAB 2012.

Gambar

Tabel 3.1 Software Requirement Specification
Gambar 3.1 Arsitektur Sistem Pengenalan wajah  Di dalam arsitektur sistem terdapat beberapa tahap yaitu :
Gambar 3.2 Arsitektur aplikasi Sistem Pengenalan wajah
Gambar  3.3  merupakan  flowchart  dari  algortima  LDA  dari  awal  inputan  berupa  matrik vektor hingga menghasilkan matrik proyeksi
+7

Referensi

Dokumen terkait

penggalian, pekerjaan pemotongan dan pembongkaran tiang pancang, pekerjaan bekisting, pekerjaan penyemprotan anti rayap, pembuatan lantai kerja, pemasangan tulangan pile

Bagi pemilik UMKM terutama yang berada diwilayah Kecamatan Kaliwates Kabupaten Jember sebaiknya meningkatkan pengetahuan akuntansi yang dimiliki agar dapat

Teknik tes yang dilakukan sebanyak dua kali yaitu sebelum eksperimen (pre-test) dan sesudah eksperimen (post-test). Desain atau pola yang dilakukan dalam penelitian ini adalah

Jika program ini memiliki visual yang baik dan kreatif, tentunya akan menarik minat anak-anak sekaligus dapat menyampaikan materi dengan tepat pada anak-anak. Maka yang akan

Turbin ini digunakan pada PLTA (Pembangkit Listrik Tenaga Air) dengan tinggi terjun sedang, yaitu antara 20-400meter, Turbin Francis digunakan untuk

Dalam hal ini, manajer bisa saja sebagai pihak pertama yang langsung terlibat dalam konflik tersebut, dan bisa saja sebagai pihak pertama yang langsung terlibat dalam

Waktu persiapan penerimaan komuni pertama ini juga merupakan peluang emas untuk menanamkan dasar-dasar kekatolikan pada anak, seperti menghafalkan doa-doa pokok

Enhancer. Cabai merupakan komoditas sayuran yang memiliki nilai ekonomis tinggi dan dapat tumbuh diberbagai jenis tanah, dengan ketingian tempat 1-1200 mdpl. Masalah utama