SlideShare a Scribd company logo
1 of 15
Download to read offline
1/15
mulkan syarif October 26, 2021
Pengenalan Huruf dengan PCA
softscients.com/2021/10/26/pengenalan-huruf-dengan-pca/
27 Views
Pengenalan Huruf dengan PCA yang akan kita bahas kali ini yaitu mengenali huruf atau
sering disebut dengan OCR – Optical Character Recognition. Sebelum mengenal lebih
jauh, kita wajib mempelajari terlebih dahulu mengenai PCA – Pricipal Component Analist
bila dialih bahasakan menjadi AKU – Analisis Komponen Utama. Algoritma ini digunakan
untuk mengurangi agar menjadi lebih ringkas secara linear. Beberapa data yang
mempunyai dimensi tinggi seperti sebuah record data mempunyai baris dan kolom
seperti layaknya gambar. Tentu ada kesulitan tersendiri untuk mencari fitur selectionya
alangkah lebih baik dimensi tersebut dikurangi. Pembahasan mengenai PCA bisa kalian
baca disini PCA untuk Reduksi Dimensi
Sinopsis
Pada link diatas akan langsung kalian pahami ketika membaca sub bab Kasus Lain,
Apakah PCA dapat digunakan untuk image processing. Kalian bayangin sendiri
ketika sebuah gambar ukuran 28 x 28 bila kita plotkan tidak akan mungkin bisa! mata
manusia saat ini dan komputer saat ini pun hanya bisa dipahami oleh plot 3 dimensi
dengan sumbu X, Y, dan Z. Oleh sebab itu ukuran 28 x 28 akan direduksi menjadi 3 x 1
saja! Dalam kasus lain, visualisasi juga bisa menggunakan teknik t-SNE T-distributed
Stochastic Neighbor Embedding
Saya akan bahas mengenai Algoritma Pengenalan Huruf dengan PCA secara sekilas
saja ya, secara umum kita butuh 4 langkah saja yaitu
1. pembuatan database
2. training PCA
3. testing PCA
4. pembuatan GUI
Sebelum membahas lebih lanjut, Algoritma Pengenalan Huruf dengan PCA akan
diterapkan pada sebuah gambar yang mengandung huruf sehingga kalian wajib tahu
mengenai dasar-dasar pengolahan citra digital.
Pembuatan Database Pengenalan Huruf dengan PCA
Pengenalan Huruf dengan PCA yang nanti kita buat mempunyai batasan masalah ya!
kalian harus ingat bahwa setiap penelitian itu wajib mempunyai batasan masalah
agar tidak melebar kemana-mana. Berikut batasan masalah yang diterapkan
1. huruf yang digunakan hanya terdiri dari huruf kapital latin tanpa simbol
2. mempunyai ukuran 63 x 63
3. menggunakan beragam jenis font
2/15
See also Pengenalan Wajah dengan Deep Machine Learning
Untuk membuat generator huruf dalam gambar seperti berikut, saya lebih suka
menggunakan bahasa Java karena lebih mudah untuk menentukan jenis Font yang
terinstall di Komputer
Jadi ada total sekitar 3.718 file gambar sehingga dari total A-Z ada 26 karakter@ 143
jenis font yang berbeda. Kalian bisa perhatikan setiap huruf terletak di center/tengah.
Kode java agak panjang, jadi tidak saya tampilkan. Hal yang paling penting disini yaitu
cara memberikan nama untuk setiap record, dengan aturan sebagai berikut xx-xx.jpg
artinya 2 diawal menunjukan no huruf latin. Misalkan 01-185.jpg itu artinya huruf A
Training Database
Training database mengikuti https://softscients.com/2020/11/21/pca-untuk-reduksi-
dimensi/ yang ada di link tersebut. Lebih detailnya dijelaskan dibawah ini akan sangat
panjang sekali, jadi mohon bersabar cara bacanya
#1 persiapan matrix sample
Misalkan ada 3 sample dengan tiap matrix nya mempunyai ukuran 9 baris*3 kolom
seperti berikut
3/15
#2 mengubah matrix menjadi vektor dan menghitung rerata nya
Perhatikan cara menyusun array menjadi vektor
#3 melakukan normalisasi disebut matrix A
Langkah selanjutnya yaitu perhitungan normalisasi sehingga rentang standar deviasi
menjadi nol dengan rumus
4/15
#4 mengitung matrix covariance
Untuk menghitung nya gunakan rumus sebagai berikut
dengan
adalah transpose matrix
#5 mencari nilai eigen_value dan eigen_vektor
Saya tidak akan jelasin mengenai eigen value dan vektor, pokoknya rumus yang
digunakan di Matlab seperti berikut
5/15
[x,alpha] = eig(L);
Oiya jangan kaget kalau hasil diatas mempunyai beda-beda hasil karena eigen adalah
solusi non trivial alias banyak solusi
#6 sorting nilai eigen_vektor berdasarkan eigen_value
Perhatikan dengan seksama!
Nilai eigen_value (alpha) itu yang penting adalah nilai diagonalnya!
Ada urutan warna biru-merah-hijau. Itu adalah urutan secara ascending! Mulai dari nilai
terkecil menuju ke terbesar!
Nah itu harus diubah menjadi menjadi hijau-merah-biru atau urutans secara descending
Maka eigen_vektor pun juga berubah posisi nya! Mengikuti urutan eigen_value! Pada
proses ini yang ada 2 matrix yang sangat penting yaitu matrix rerata dan matrix
eigen_vektor yaitu
See also Tensorflow 2.0 bagian 1
6/15
#7 menghitung eigen_face_tranpose =
Hasil dari
yaitu
7/15
Kemudian di tranpose menjadi Eigen_face_tranpose
#8 menghitung projected_images
n : kolom ke n
Misalkan saja untuk n=1
Eigen_face_tranpose adalah
Maka A(1:end,1) adalah
8/15
Maka bila kedua matrix dikalikan akan menghasilkan
Bila diteruskan untuk n=2,n=3
9/15
Matrix projected_images ini lah yang yang dinamakan teknik reduksi dimensi! Ukuran nya
menjadi 3baris*3kolom saja. Misalkan citra semula berukuran 9 baris * 3 kolom * 3 record
kemudian di vektor baris kan menjadi 27 baris * 3 kolom dapat di ekstrak menjadi 3 baris
* 3 kolom dinamakan projected_images digunakan sebagai matrix input/ciri fitur
Testing Algoritma Pengenalan Huruf dengan PCA
Bagaimana proses jika ada data yang lain? Semisalnya untuk proses testing? Misalkan
kita ingin meng input kan angka 4. Bagaimana angka ‘4’ dapat direduksi ‘secara
sendirian?
Ubah ke matrix to vektor seperti point 2, kita beri nama VektorSample
10/15
Kemudian
11/15
Kemudian menghitung
INGAT BAHWA A punya kolom hanya 1 saja
EigenFaceTranpose adalah
A adalah
12/15
Hasil
adalah
Ternyata matrix angka 4 dapat direduksi menjadi
Hitung Jarak Kemiripan
Untuk menghitung jarak kemiripan, maka kalian bisa menggunakan eucleid antara
13/15
dengan
dicari nilai terkecil.
Aplikasi Pengenalan Huruf dengan PCA
Pembuatan aplikasi pengenalan huruf dengan PCA dapat kita buat menggunakan Matlab
berbasis GUI. Untuk bekerja dengan gambar, maka pengetahuan tentang Image
Processing wajib kalian pelajari terlebi dahulu. Cukup gunakan toolbox di Matlab saja
untuk mempermudah pengolahan tersebut.
Operasi Blob
Operasi blob berupa operasi morfologi yang didalam untuk mengetahui properties
sebuah objek dalam mode binary (hitam putih), dimana putih adalah gambar
objek/foreground dan hitam adalah background. Berikut kode yang kita gunakan
I = imread(lokasi_file);
if ndims(I)==3
gray = rgb2gray(I);
else
gray = I;
end
bw = ~im2bw(gray);
bw = bwareaopen(bw,100);
H = regionprops(bw,'Image','Centroid'); %%operasi blob
Dari kode diatas beberapa operasi pendahuluan yaitu
1. mengubah trucolor menjadi grayscale
2. mengubah ke binary/black white
3. membersihkan noise/ukuran objek kurang dari 100 pixel
4. menerapkan operasi blob yaitu image, dan centroid nya
14/15
See also Belajar yuk, algoritma zoning untuk recognition character
Operasi PCA
Selanjutnya variable H yang merupakan struct akan dilooping satu-persatu dan dilakukan
operasi PCA
posisixy = [];
for i = 1 : size(H,1)
gambar = H(i).Image;
bw = im2bw(gambar);
bw = cropingcitra(bw);
bw = imresize(bw,[40,30]);
hasil_ekstraksi = matrix2vector(bw);
T = hasil_ekstraksi';
[value,index]= recognitionpca(T,rerata,projected_images,eigen_face_transpose);
[x,y,z] = fileparts(DATA.resume_data_vektor.nama_file{index});
text(H(i).Centroid(1),H(i).Centroid(2),[
huruf(str2num(y(1:2)))],'FontSize',15,'Color','r')
end
didalam function diatas ada function cropingcitra() yang digunakan untuk memastikan
ukurannya agar sesuai dengan dataset pelatihan. Sedangkan untuk operasi pengenalan
menggunakan function recognitionpca(). Berikut tampilkan GUI Pengenalan Huruf
dengan PCA
15/15
Download Source Code
Download

More Related Content

What's hot

Algoritma Pemrograman
Algoritma PemrogramanAlgoritma Pemrograman
Algoritma PemrogramanIfan Ok
 
Asep java-01-konsep-oop-050608
Asep java-01-konsep-oop-050608Asep java-01-konsep-oop-050608
Asep java-01-konsep-oop-050608Jamil Jamil
 
Dasar pemrograman pascal
Dasar pemrograman pascalDasar pemrograman pascal
Dasar pemrograman pascalSimon Patabang
 
Praktikum pemrograman modul i
Praktikum pemrograman modul iPraktikum pemrograman modul i
Praktikum pemrograman modul iyohaneswahyuusd13
 
3. variabel-tipe-data-dan-operator-pada-vb.net
3. variabel-tipe-data-dan-operator-pada-vb.net 3. variabel-tipe-data-dan-operator-pada-vb.net
3. variabel-tipe-data-dan-operator-pada-vb.net Aris Saputro
 
Tutorial matlab
Tutorial matlabTutorial matlab
Tutorial matlabNur Lely
 
Tugas pak joko kamis, 20 nov 2014
Tugas pak joko kamis, 20 nov 2014Tugas pak joko kamis, 20 nov 2014
Tugas pak joko kamis, 20 nov 2014Kholis October's
 
Pemrograman visual - tipe data variabel dan operator
Pemrograman visual - tipe data variabel dan operatorPemrograman visual - tipe data variabel dan operator
Pemrograman visual - tipe data variabel dan operatorDeka M Wildan
 
Dasar dasar algoritma - 3 kontrol-1
Dasar dasar algoritma - 3  kontrol-1Dasar dasar algoritma - 3  kontrol-1
Dasar dasar algoritma - 3 kontrol-1Rachmat Narendra
 
Variabel, Tipe Data dan Operator - Pemrograman I
Variabel, Tipe Data dan Operator - Pemrograman IVariabel, Tipe Data dan Operator - Pemrograman I
Variabel, Tipe Data dan Operator - Pemrograman IIfan Ok
 
Bab 3. pengenalan algoritma
Bab 3. pengenalan algoritmaBab 3. pengenalan algoritma
Bab 3. pengenalan algoritmaArif Punk Street
 

What's hot (16)

Algoritma Pemrograman
Algoritma PemrogramanAlgoritma Pemrograman
Algoritma Pemrograman
 
Asep java-01-konsep-oop-050608
Asep java-01-konsep-oop-050608Asep java-01-konsep-oop-050608
Asep java-01-konsep-oop-050608
 
Dasar pemrograman pascal
Dasar pemrograman pascalDasar pemrograman pascal
Dasar pemrograman pascal
 
Dasar matlab
Dasar matlabDasar matlab
Dasar matlab
 
Praktikum pemrograman modul i
Praktikum pemrograman modul iPraktikum pemrograman modul i
Praktikum pemrograman modul i
 
3. variabel-tipe-data-dan-operator-pada-vb.net
3. variabel-tipe-data-dan-operator-pada-vb.net 3. variabel-tipe-data-dan-operator-pada-vb.net
3. variabel-tipe-data-dan-operator-pada-vb.net
 
Tutorial matlab .pdf
Tutorial matlab .pdfTutorial matlab .pdf
Tutorial matlab .pdf
 
Tutorial matlab
Tutorial matlabTutorial matlab
Tutorial matlab
 
Tugas pak joko kamis, 20 nov 2014
Tugas pak joko kamis, 20 nov 2014Tugas pak joko kamis, 20 nov 2014
Tugas pak joko kamis, 20 nov 2014
 
Pemrograman visual - tipe data variabel dan operator
Pemrograman visual - tipe data variabel dan operatorPemrograman visual - tipe data variabel dan operator
Pemrograman visual - tipe data variabel dan operator
 
Diktat MatLab
Diktat MatLabDiktat MatLab
Diktat MatLab
 
Dasar dasar algoritma - 1
Dasar dasar algoritma - 1Dasar dasar algoritma - 1
Dasar dasar algoritma - 1
 
Gambar php
Gambar phpGambar php
Gambar php
 
Dasar dasar algoritma - 3 kontrol-1
Dasar dasar algoritma - 3  kontrol-1Dasar dasar algoritma - 3  kontrol-1
Dasar dasar algoritma - 3 kontrol-1
 
Variabel, Tipe Data dan Operator - Pemrograman I
Variabel, Tipe Data dan Operator - Pemrograman IVariabel, Tipe Data dan Operator - Pemrograman I
Variabel, Tipe Data dan Operator - Pemrograman I
 
Bab 3. pengenalan algoritma
Bab 3. pengenalan algoritmaBab 3. pengenalan algoritma
Bab 3. pengenalan algoritma
 

Similar to pengenalan huruf dengan pca

Similar to pengenalan huruf dengan pca (20)

Operasi dasar matlab job 1
Operasi dasar matlab job 1Operasi dasar matlab job 1
Operasi dasar matlab job 1
 
Dasar matlab
Dasar matlabDasar matlab
Dasar matlab
 
Matlab 1
Matlab 1Matlab 1
Matlab 1
 
setup widget dan work directory matlab
setup widget dan work directory matlabsetup widget dan work directory matlab
setup widget dan work directory matlab
 
pengantar metode numerik
 pengantar metode numerik pengantar metode numerik
pengantar metode numerik
 
Praktik matlab
Praktik matlabPraktik matlab
Praktik matlab
 
Matlab
MatlabMatlab
Matlab
 
Matlab
MatlabMatlab
Matlab
 
Matlab
MatlabMatlab
Matlab
 
Cepat mahir dengan matlab
Cepat mahir dengan matlabCepat mahir dengan matlab
Cepat mahir dengan matlab
 
Bab i pendahuluan
Bab i pendahuluanBab i pendahuluan
Bab i pendahuluan
 
Vb
VbVb
Vb
 
Panduan matlab
Panduan matlabPanduan matlab
Panduan matlab
 
Mat lab
Mat labMat lab
Mat lab
 
modul algoritma Bab 1
modul algoritma Bab 1modul algoritma Bab 1
modul algoritma Bab 1
 
membuat grafis dengan PHP
membuat grafis dengan PHPmembuat grafis dengan PHP
membuat grafis dengan PHP
 
Matlab
MatlabMatlab
Matlab
 
Logika pemrograman hand out
Logika pemrograman hand outLogika pemrograman hand out
Logika pemrograman hand out
 
Tutorialmatlab bahasa indonesia
Tutorialmatlab bahasa indonesiaTutorialmatlab bahasa indonesia
Tutorialmatlab bahasa indonesia
 
Tutorial matlab libre
Tutorial matlab libreTutorial matlab libre
Tutorial matlab libre
 

More from softscients

belajar statistik
belajar statistikbelajar statistik
belajar statistiksoftscients
 
neural network training dan particle swarm optimization
neural network training dan particle swarm optimizationneural network training dan particle swarm optimization
neural network training dan particle swarm optimizationsoftscients
 
pengolahan sinyal digital dengan matlab
pengolahan sinyal digital dengan matlabpengolahan sinyal digital dengan matlab
pengolahan sinyal digital dengan matlabsoftscients
 
pengolahan citra digital dengan java
pengolahan citra digital dengan javapengolahan citra digital dengan java
pengolahan citra digital dengan javasoftscients
 
tutorial algoritma genetika bagian 1
tutorial algoritma genetika bagian 1tutorial algoritma genetika bagian 1
tutorial algoritma genetika bagian 1softscients
 
penjelasan konsep oop object oriented programming
penjelasan konsep oop object oriented programmingpenjelasan konsep oop object oriented programming
penjelasan konsep oop object oriented programmingsoftscients
 
cara membuat aplikasi gui di matlab
cara membuat aplikasi gui di matlabcara membuat aplikasi gui di matlab
cara membuat aplikasi gui di matlabsoftscients
 
Belajar Pemrograman Matlab
Belajar Pemrograman MatlabBelajar Pemrograman Matlab
Belajar Pemrograman Matlabsoftscients
 
konversi warna dengan matlab
konversi warna dengan matlabkonversi warna dengan matlab
konversi warna dengan matlabsoftscients
 
scikit-learn cheat sheet untuk data science
scikit-learn cheat sheet untuk data sciencescikit-learn cheat sheet untuk data science
scikit-learn cheat sheet untuk data sciencesoftscients
 
kriptografi metode hill cipher
kriptografi metode hill cipherkriptografi metode hill cipher
kriptografi metode hill ciphersoftscients
 
mengapa customer churn rate penting
mengapa customer churn rate pentingmengapa customer churn rate penting
mengapa customer churn rate pentingsoftscients
 
cara hitung manual uji normalitas dengan uji kolmogorov-smirnov
 cara hitung manual uji normalitas dengan uji kolmogorov-smirnov cara hitung manual uji normalitas dengan uji kolmogorov-smirnov
cara hitung manual uji normalitas dengan uji kolmogorov-smirnovsoftscients
 
steganografi gambar dan teks
steganografi gambar dan tekssteganografi gambar dan teks
steganografi gambar dan tekssoftscients
 

More from softscients (14)

belajar statistik
belajar statistikbelajar statistik
belajar statistik
 
neural network training dan particle swarm optimization
neural network training dan particle swarm optimizationneural network training dan particle swarm optimization
neural network training dan particle swarm optimization
 
pengolahan sinyal digital dengan matlab
pengolahan sinyal digital dengan matlabpengolahan sinyal digital dengan matlab
pengolahan sinyal digital dengan matlab
 
pengolahan citra digital dengan java
pengolahan citra digital dengan javapengolahan citra digital dengan java
pengolahan citra digital dengan java
 
tutorial algoritma genetika bagian 1
tutorial algoritma genetika bagian 1tutorial algoritma genetika bagian 1
tutorial algoritma genetika bagian 1
 
penjelasan konsep oop object oriented programming
penjelasan konsep oop object oriented programmingpenjelasan konsep oop object oriented programming
penjelasan konsep oop object oriented programming
 
cara membuat aplikasi gui di matlab
cara membuat aplikasi gui di matlabcara membuat aplikasi gui di matlab
cara membuat aplikasi gui di matlab
 
Belajar Pemrograman Matlab
Belajar Pemrograman MatlabBelajar Pemrograman Matlab
Belajar Pemrograman Matlab
 
konversi warna dengan matlab
konversi warna dengan matlabkonversi warna dengan matlab
konversi warna dengan matlab
 
scikit-learn cheat sheet untuk data science
scikit-learn cheat sheet untuk data sciencescikit-learn cheat sheet untuk data science
scikit-learn cheat sheet untuk data science
 
kriptografi metode hill cipher
kriptografi metode hill cipherkriptografi metode hill cipher
kriptografi metode hill cipher
 
mengapa customer churn rate penting
mengapa customer churn rate pentingmengapa customer churn rate penting
mengapa customer churn rate penting
 
cara hitung manual uji normalitas dengan uji kolmogorov-smirnov
 cara hitung manual uji normalitas dengan uji kolmogorov-smirnov cara hitung manual uji normalitas dengan uji kolmogorov-smirnov
cara hitung manual uji normalitas dengan uji kolmogorov-smirnov
 
steganografi gambar dan teks
steganografi gambar dan tekssteganografi gambar dan teks
steganografi gambar dan teks
 

Recently uploaded

PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxPEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxsukmakarim1998
 
Perumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxPerumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxadimulianta1
 
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfAksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfDimanWr1
 
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..ikayogakinasih12
 
Dinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapDinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapsefrida3
 
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptxPPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptxdpp11tya
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxRezaWahyuni6
 
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxJamhuriIshak
 
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxtugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxmawan5982
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BAbdiera
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggeraksupriadi611
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxssuser35630b
 
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDPPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDNurainiNuraini25
 
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)MustahalMustahal
 
soal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxsoal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxazhari524
 
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikaAtiAnggiSupriyati
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptArkhaRega1
 
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfModul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfSitiJulaeha820399
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAAndiCoc
 
CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7IwanSumantri7
 

Recently uploaded (20)

PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxPEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
 
Perumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxPerumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptx
 
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdfAksi nyata disiplin positif Hj. Hasnani (1).pdf
Aksi nyata disiplin positif Hj. Hasnani (1).pdf
 
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
AKSI NYATA NARKOBA ATAU OBAT TERLARANG..
 
Dinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genapDinamika Hidrosfer geografi kelas X genap
Dinamika Hidrosfer geografi kelas X genap
 
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptxPPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptx
 
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptxBAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
BAHAN SOSIALISASI PPDB SMA-SMK NEGERI DISDIKSU TP. 2024-2025 REVISI.pptx
 
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxtugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggerak
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
 
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDPPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
 
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
 
soal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxsoal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptx
 
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
 
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 pptppt-modul-6-pend-seni-di sd kelompok 2 ppt
ppt-modul-6-pend-seni-di sd kelompok 2 ppt
 
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdfModul 1.2.a.8 Koneksi antar materi 1.2.pdf
Modul 1.2.a.8 Koneksi antar materi 1.2.pdf
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
 
CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7
 

pengenalan huruf dengan pca

  • 1. 1/15 mulkan syarif October 26, 2021 Pengenalan Huruf dengan PCA softscients.com/2021/10/26/pengenalan-huruf-dengan-pca/ 27 Views Pengenalan Huruf dengan PCA yang akan kita bahas kali ini yaitu mengenali huruf atau sering disebut dengan OCR – Optical Character Recognition. Sebelum mengenal lebih jauh, kita wajib mempelajari terlebih dahulu mengenai PCA – Pricipal Component Analist bila dialih bahasakan menjadi AKU – Analisis Komponen Utama. Algoritma ini digunakan untuk mengurangi agar menjadi lebih ringkas secara linear. Beberapa data yang mempunyai dimensi tinggi seperti sebuah record data mempunyai baris dan kolom seperti layaknya gambar. Tentu ada kesulitan tersendiri untuk mencari fitur selectionya alangkah lebih baik dimensi tersebut dikurangi. Pembahasan mengenai PCA bisa kalian baca disini PCA untuk Reduksi Dimensi Sinopsis Pada link diatas akan langsung kalian pahami ketika membaca sub bab Kasus Lain, Apakah PCA dapat digunakan untuk image processing. Kalian bayangin sendiri ketika sebuah gambar ukuran 28 x 28 bila kita plotkan tidak akan mungkin bisa! mata manusia saat ini dan komputer saat ini pun hanya bisa dipahami oleh plot 3 dimensi dengan sumbu X, Y, dan Z. Oleh sebab itu ukuran 28 x 28 akan direduksi menjadi 3 x 1 saja! Dalam kasus lain, visualisasi juga bisa menggunakan teknik t-SNE T-distributed Stochastic Neighbor Embedding Saya akan bahas mengenai Algoritma Pengenalan Huruf dengan PCA secara sekilas saja ya, secara umum kita butuh 4 langkah saja yaitu 1. pembuatan database 2. training PCA 3. testing PCA 4. pembuatan GUI Sebelum membahas lebih lanjut, Algoritma Pengenalan Huruf dengan PCA akan diterapkan pada sebuah gambar yang mengandung huruf sehingga kalian wajib tahu mengenai dasar-dasar pengolahan citra digital. Pembuatan Database Pengenalan Huruf dengan PCA Pengenalan Huruf dengan PCA yang nanti kita buat mempunyai batasan masalah ya! kalian harus ingat bahwa setiap penelitian itu wajib mempunyai batasan masalah agar tidak melebar kemana-mana. Berikut batasan masalah yang diterapkan 1. huruf yang digunakan hanya terdiri dari huruf kapital latin tanpa simbol 2. mempunyai ukuran 63 x 63 3. menggunakan beragam jenis font
  • 2. 2/15 See also Pengenalan Wajah dengan Deep Machine Learning Untuk membuat generator huruf dalam gambar seperti berikut, saya lebih suka menggunakan bahasa Java karena lebih mudah untuk menentukan jenis Font yang terinstall di Komputer Jadi ada total sekitar 3.718 file gambar sehingga dari total A-Z ada 26 karakter@ 143 jenis font yang berbeda. Kalian bisa perhatikan setiap huruf terletak di center/tengah. Kode java agak panjang, jadi tidak saya tampilkan. Hal yang paling penting disini yaitu cara memberikan nama untuk setiap record, dengan aturan sebagai berikut xx-xx.jpg artinya 2 diawal menunjukan no huruf latin. Misalkan 01-185.jpg itu artinya huruf A Training Database Training database mengikuti https://softscients.com/2020/11/21/pca-untuk-reduksi- dimensi/ yang ada di link tersebut. Lebih detailnya dijelaskan dibawah ini akan sangat panjang sekali, jadi mohon bersabar cara bacanya #1 persiapan matrix sample Misalkan ada 3 sample dengan tiap matrix nya mempunyai ukuran 9 baris*3 kolom seperti berikut
  • 3. 3/15 #2 mengubah matrix menjadi vektor dan menghitung rerata nya Perhatikan cara menyusun array menjadi vektor #3 melakukan normalisasi disebut matrix A Langkah selanjutnya yaitu perhitungan normalisasi sehingga rentang standar deviasi menjadi nol dengan rumus
  • 4. 4/15 #4 mengitung matrix covariance Untuk menghitung nya gunakan rumus sebagai berikut dengan adalah transpose matrix #5 mencari nilai eigen_value dan eigen_vektor Saya tidak akan jelasin mengenai eigen value dan vektor, pokoknya rumus yang digunakan di Matlab seperti berikut
  • 5. 5/15 [x,alpha] = eig(L); Oiya jangan kaget kalau hasil diatas mempunyai beda-beda hasil karena eigen adalah solusi non trivial alias banyak solusi #6 sorting nilai eigen_vektor berdasarkan eigen_value Perhatikan dengan seksama! Nilai eigen_value (alpha) itu yang penting adalah nilai diagonalnya! Ada urutan warna biru-merah-hijau. Itu adalah urutan secara ascending! Mulai dari nilai terkecil menuju ke terbesar! Nah itu harus diubah menjadi menjadi hijau-merah-biru atau urutans secara descending Maka eigen_vektor pun juga berubah posisi nya! Mengikuti urutan eigen_value! Pada proses ini yang ada 2 matrix yang sangat penting yaitu matrix rerata dan matrix eigen_vektor yaitu See also Tensorflow 2.0 bagian 1
  • 7. 7/15 Kemudian di tranpose menjadi Eigen_face_tranpose #8 menghitung projected_images n : kolom ke n Misalkan saja untuk n=1 Eigen_face_tranpose adalah Maka A(1:end,1) adalah
  • 8. 8/15 Maka bila kedua matrix dikalikan akan menghasilkan Bila diteruskan untuk n=2,n=3
  • 9. 9/15 Matrix projected_images ini lah yang yang dinamakan teknik reduksi dimensi! Ukuran nya menjadi 3baris*3kolom saja. Misalkan citra semula berukuran 9 baris * 3 kolom * 3 record kemudian di vektor baris kan menjadi 27 baris * 3 kolom dapat di ekstrak menjadi 3 baris * 3 kolom dinamakan projected_images digunakan sebagai matrix input/ciri fitur Testing Algoritma Pengenalan Huruf dengan PCA Bagaimana proses jika ada data yang lain? Semisalnya untuk proses testing? Misalkan kita ingin meng input kan angka 4. Bagaimana angka ‘4’ dapat direduksi ‘secara sendirian? Ubah ke matrix to vektor seperti point 2, kita beri nama VektorSample
  • 11. 11/15 Kemudian menghitung INGAT BAHWA A punya kolom hanya 1 saja EigenFaceTranpose adalah A adalah
  • 12. 12/15 Hasil adalah Ternyata matrix angka 4 dapat direduksi menjadi Hitung Jarak Kemiripan Untuk menghitung jarak kemiripan, maka kalian bisa menggunakan eucleid antara
  • 13. 13/15 dengan dicari nilai terkecil. Aplikasi Pengenalan Huruf dengan PCA Pembuatan aplikasi pengenalan huruf dengan PCA dapat kita buat menggunakan Matlab berbasis GUI. Untuk bekerja dengan gambar, maka pengetahuan tentang Image Processing wajib kalian pelajari terlebi dahulu. Cukup gunakan toolbox di Matlab saja untuk mempermudah pengolahan tersebut. Operasi Blob Operasi blob berupa operasi morfologi yang didalam untuk mengetahui properties sebuah objek dalam mode binary (hitam putih), dimana putih adalah gambar objek/foreground dan hitam adalah background. Berikut kode yang kita gunakan I = imread(lokasi_file); if ndims(I)==3 gray = rgb2gray(I); else gray = I; end bw = ~im2bw(gray); bw = bwareaopen(bw,100); H = regionprops(bw,'Image','Centroid'); %%operasi blob Dari kode diatas beberapa operasi pendahuluan yaitu 1. mengubah trucolor menjadi grayscale 2. mengubah ke binary/black white 3. membersihkan noise/ukuran objek kurang dari 100 pixel 4. menerapkan operasi blob yaitu image, dan centroid nya
  • 14. 14/15 See also Belajar yuk, algoritma zoning untuk recognition character Operasi PCA Selanjutnya variable H yang merupakan struct akan dilooping satu-persatu dan dilakukan operasi PCA posisixy = []; for i = 1 : size(H,1) gambar = H(i).Image; bw = im2bw(gambar); bw = cropingcitra(bw); bw = imresize(bw,[40,30]); hasil_ekstraksi = matrix2vector(bw); T = hasil_ekstraksi'; [value,index]= recognitionpca(T,rerata,projected_images,eigen_face_transpose); [x,y,z] = fileparts(DATA.resume_data_vektor.nama_file{index}); text(H(i).Centroid(1),H(i).Centroid(2),[ huruf(str2num(y(1:2)))],'FontSize',15,'Color','r') end didalam function diatas ada function cropingcitra() yang digunakan untuk memastikan ukurannya agar sesuai dengan dataset pelatihan. Sedangkan untuk operasi pengenalan menggunakan function recognitionpca(). Berikut tampilkan GUI Pengenalan Huruf dengan PCA