1. Unsupervised learning digunakan untuk pengelompokkan data tanpa label melalui clustering.
2. K-means clustering dan hierarchical clustering adalah dua pendekatan utama clustering.
3. Pemilihan parameter seperti jumlah cluster pada k-means mempengaruhi akurasi hasil clustering.
Pemanfaatan Stack Untuk Deteksi GerakanTeady Matius
The recoqnition of optically hand movements have to identify whether a movement is in the mobile phase or has reached the status that has been fixed. In this process we need a tool that is capable of storing images captured by the camera to obtain the motion requirements are considered fixed.
Stack is a linear data structure which can be accessed only at the end to enter or generate the data. With the properties of the stack and the regular operation and the entry and exit gates, can be used to assist in the selection process of a sequence of objects.
By using a stack, will be organized method to determining the status of an object captured by the camera in a series of images are considered fixed or
still moving. As part of the computer vision, hand gestures can be processed using the L1-distance measurement metric to get the frame in accordance with the desired phase. In this process, each frame captured by the camera must be distinguished between the phase is changing with the changing phase already, and
taken only the frames that are already changing phase. While the frames for a changing phase is discarded. Stack and the operations that have been compiled will be used to accommodate pixels population matrix features and calculated the distance to the next frames are considered to obtain the same frame with the next frame, as well as ignoring the different frame with the next frame.
Segmentasi Citra Wajah Menggunakan Metode Level SetHadi Santoso
Pengolahan citra digital saat ini semakin mudah dilakukan dengan adanya segmentasi. Level set adalah metode untuk mendeteksi pergerakan kurva yang dapat digunakan untuk melakukan segmentasi citra. Pendekatan yang dilakukan dalam proses segmentasi ada 2 metode, yaitu metode berdasarkan tepi dan metode berdasarkan wilayah. Agar hasil dari kedua metode tersebut dapat maksimal, digunakan model active contour. Active contour merupakan proses pengubahan fungsi level set kedalam bentuk biner, kemudian untuk meregularisasinya digunakan filter gaussian. Pada makalah ini digunakan algoritma segmentasi selektif lokal atau global untuk proses binarization dan dijelaskan mengenai segmentasi menggunakan metode level set berbasis citra wajah manusia. Uji coba dilakukan pada citra wajah berwarna kemudian diubah kedalam citra wajah grayscale. Citra wajah yang digunakan pada proses segmentasi ini sebanyak 20 dari database citra wajah Caltech, dengan ukuran 200 x 150 piksel, aplikasi yang digunakan untuk mengolah data citra wajah yaitu MATLAB 2009a. Dari pengujian yang telah dilakukan, didapatkan hasil 18 citra wajah dapat dideteksi dengan baik dari 20 citra wajah atau unjuk kerja sistem sebesar 90%
SEGMENTASI CITRA DENGAN VARIASI RGB DAN ALGORITMA PERCEPTRONTeady Matius
Proses segmentasi dengan melakukan binarisasi citra untuk memisahkan objek yang akan dikenali pada visi komputer sangat diperlukan untuk menentukan piksel yang akan dijadikan hitam sebagai objek atau dijadikan putih sebagai latar belakang. Proses ini diperlukan untuk memisahkan antara obyek citra dengan latar belakangnya. Seringkali pemisahan obyek dengan melakukan tressholding terhadap citra grayscale akan menghasilkan bercak besar yang sangat mengganggu proses pengenalan dalam visi komputer. Pada proses kali ini, ketiga channel RGB pada model RGB dapat divariasi menjadi enam variasi yaitu R, G, B, RG, RB, GB dan RGB. Jika masing-masing variasi channel RGB tersebut dilakukan tresshold, maka setiap channel akan menghasilkan citra binernya sendiri-sendiri.Pemanfataan perbandingan channel RGB dilakukan dengan memberikan bobot kepada masing-masing variasi channel RGB sehingga setiap variasi channel akan berkontribusi menentukan suatu piksel akan dijadikan hitam atau putih. Dengan memberikan bobot kepada masing-masing variasi channel RGB tersebut akan digunakan untuk menentukan kontribusi masing-masing variasi channel RGB tersebut. Pencarian bobot dilakukan dengan menggunakan algoritma pembelejaran perceptron. Sehingga dapat menghasilkan bobot yang sesuai untuk berbagai kondisi obyek pada citra dan berbagai kondisi pencahayaan. Pemanfaatan perbandingan channel RGB dapat memisahkan objek citra dengan latar belakangnya sesuai dengan kebutuhan objek yang akan dikenali oleh visi komputer. Proses ini mampu mengakomodasi kondisi warna obyek dan kondisi penyinaran obyek yang ditangkap oleh kamera.
Binarisasi Citra Menggunakan Pencocokan PikselTeady Matius
The binarization to separate between object from background of image is necessary. The problem is background of image has variations of color. Its needs process to differentiate object with its background that has varity of color. As the pre-processing of computer vision, the segmentation need be done as simple as possibly that not waiste time dan effort to do that process. Every pixel at the image has value that will produce color at the image. To simplify image recognition process, the color must change to the simple format as the binary image format. By this simplify can be gained object of image by reduce the background. Image binarization process do by matching the pixel between image contain background only with the tested image. The matching needed range of value to decide that the pixel contain of background or containt of object. Pixel matching can be use to separate object and background. This process has been implemented at a simple application sample to trigger the record image automatically when there are object at the image.
Pemanfaatan Stack Untuk Deteksi GerakanTeady Matius
The recoqnition of optically hand movements have to identify whether a movement is in the mobile phase or has reached the status that has been fixed. In this process we need a tool that is capable of storing images captured by the camera to obtain the motion requirements are considered fixed.
Stack is a linear data structure which can be accessed only at the end to enter or generate the data. With the properties of the stack and the regular operation and the entry and exit gates, can be used to assist in the selection process of a sequence of objects.
By using a stack, will be organized method to determining the status of an object captured by the camera in a series of images are considered fixed or
still moving. As part of the computer vision, hand gestures can be processed using the L1-distance measurement metric to get the frame in accordance with the desired phase. In this process, each frame captured by the camera must be distinguished between the phase is changing with the changing phase already, and
taken only the frames that are already changing phase. While the frames for a changing phase is discarded. Stack and the operations that have been compiled will be used to accommodate pixels population matrix features and calculated the distance to the next frames are considered to obtain the same frame with the next frame, as well as ignoring the different frame with the next frame.
Segmentasi Citra Wajah Menggunakan Metode Level SetHadi Santoso
Pengolahan citra digital saat ini semakin mudah dilakukan dengan adanya segmentasi. Level set adalah metode untuk mendeteksi pergerakan kurva yang dapat digunakan untuk melakukan segmentasi citra. Pendekatan yang dilakukan dalam proses segmentasi ada 2 metode, yaitu metode berdasarkan tepi dan metode berdasarkan wilayah. Agar hasil dari kedua metode tersebut dapat maksimal, digunakan model active contour. Active contour merupakan proses pengubahan fungsi level set kedalam bentuk biner, kemudian untuk meregularisasinya digunakan filter gaussian. Pada makalah ini digunakan algoritma segmentasi selektif lokal atau global untuk proses binarization dan dijelaskan mengenai segmentasi menggunakan metode level set berbasis citra wajah manusia. Uji coba dilakukan pada citra wajah berwarna kemudian diubah kedalam citra wajah grayscale. Citra wajah yang digunakan pada proses segmentasi ini sebanyak 20 dari database citra wajah Caltech, dengan ukuran 200 x 150 piksel, aplikasi yang digunakan untuk mengolah data citra wajah yaitu MATLAB 2009a. Dari pengujian yang telah dilakukan, didapatkan hasil 18 citra wajah dapat dideteksi dengan baik dari 20 citra wajah atau unjuk kerja sistem sebesar 90%
SEGMENTASI CITRA DENGAN VARIASI RGB DAN ALGORITMA PERCEPTRONTeady Matius
Proses segmentasi dengan melakukan binarisasi citra untuk memisahkan objek yang akan dikenali pada visi komputer sangat diperlukan untuk menentukan piksel yang akan dijadikan hitam sebagai objek atau dijadikan putih sebagai latar belakang. Proses ini diperlukan untuk memisahkan antara obyek citra dengan latar belakangnya. Seringkali pemisahan obyek dengan melakukan tressholding terhadap citra grayscale akan menghasilkan bercak besar yang sangat mengganggu proses pengenalan dalam visi komputer. Pada proses kali ini, ketiga channel RGB pada model RGB dapat divariasi menjadi enam variasi yaitu R, G, B, RG, RB, GB dan RGB. Jika masing-masing variasi channel RGB tersebut dilakukan tresshold, maka setiap channel akan menghasilkan citra binernya sendiri-sendiri.Pemanfataan perbandingan channel RGB dilakukan dengan memberikan bobot kepada masing-masing variasi channel RGB sehingga setiap variasi channel akan berkontribusi menentukan suatu piksel akan dijadikan hitam atau putih. Dengan memberikan bobot kepada masing-masing variasi channel RGB tersebut akan digunakan untuk menentukan kontribusi masing-masing variasi channel RGB tersebut. Pencarian bobot dilakukan dengan menggunakan algoritma pembelejaran perceptron. Sehingga dapat menghasilkan bobot yang sesuai untuk berbagai kondisi obyek pada citra dan berbagai kondisi pencahayaan. Pemanfaatan perbandingan channel RGB dapat memisahkan objek citra dengan latar belakangnya sesuai dengan kebutuhan objek yang akan dikenali oleh visi komputer. Proses ini mampu mengakomodasi kondisi warna obyek dan kondisi penyinaran obyek yang ditangkap oleh kamera.
Binarisasi Citra Menggunakan Pencocokan PikselTeady Matius
The binarization to separate between object from background of image is necessary. The problem is background of image has variations of color. Its needs process to differentiate object with its background that has varity of color. As the pre-processing of computer vision, the segmentation need be done as simple as possibly that not waiste time dan effort to do that process. Every pixel at the image has value that will produce color at the image. To simplify image recognition process, the color must change to the simple format as the binary image format. By this simplify can be gained object of image by reduce the background. Image binarization process do by matching the pixel between image contain background only with the tested image. The matching needed range of value to decide that the pixel contain of background or containt of object. Pixel matching can be use to separate object and background. This process has been implemented at a simple application sample to trigger the record image automatically when there are object at the image.
2. Machine Vision
LEARNING OUTCOMES
a. Peserta diharapkan memahami pendekatan unsupervised learning dan clustering untuk
mengelompokkan data berdasarkan karakteristik visualnya.
OUTLINE MATERI (Sub-Topic):
1. Unsupervised learning
2. Clustering
3. Machine Vision
ISI MATERI
Unsupervised Learning
Unsupervised learning adalah salah satu bentuk pembelajaran mesin yang mencoba
menarik kesimpulan dari sebuah dataset yang terdiri dari sampel data yang tidak memiliki
label. Metode unsupervised learning yang paling umum adalah analisis cluster, yang
memanfaatkan analisis data eksplanatori untuk menemukan pola/struktur tersembunyi atau
pengelompokkan pada data tidak berlabel. Karena data yang digunakan pada proses
pembelajaran tidak berlabel, maka output dari proses clustering tidak dapat dievaluasi
kebenarannya. Hal tersebut yang membedakan unsupervised learning dari supervised learning.
Beberapa alasan untuk melakukan unsupervised learning, diantaranya:
a. Proses memberi label pada pola dalam jumlah yang banyak membutuhkan waktu
b. Unsupervised learning dapat dilakukan pada data tidak berlabel, selanjutnya kelompok
data dengan berkarakteristik serupa diberi label sesuai dengan pengetahuan dari expert.
Data yang sudah diberi label kemudian dapat digunakan untuk proses training pada
supervised learning.
c. Melakukan ekstraksi fitur (Principal Component Analysis, Independent Component
Analysis, Singular Value Decomposition)
d. Analisis data ekspanatori pada unsupervised learning memberikan gambaran mengenai
struktur dari data.
Unsupervised learning memiliki memiliki relasi yang kuat dengan permasalahan
estimasi densitas pada statistika. Namun, usupervised learning juga dapat dimanfaatkan
untuk penarikan kesimpulan serta memberikan penjelasan tentang karakteristik utama dari
data. Beberapa pendekatan unsupervised learning, yaitu:
e. Clustering (k-means, mixture model, hierarchical clustering)
f. Hidden Markov Models
g. Teknik ekstraksi fitur untuk reduksi dimensi:
- Principal Component Analysis (PCA)
- Independent Component Analysis (ICA)
- Singular Value Decomposition (SVD)
4. Machine Vision
ISI MATERI
Clustering
Cluster analysis atau clustering adalah proses untuk mengelompokkan sekumpulan
obyek sedemikian sehingga obyek-obyek dalam kelompok yang sama (disebut cluster)
memiliki kemiripan yang lebih tinggi dibanding obyek-obyek pada kelompok lain. Clustering
merupakan proses utama dalam data mining, dan merupakan teknik yang secara umum
digunakan dalam analisis data secara statistik, juga digunakan pada banyak bidang seperti
pembelajaran mesin, pengenalan pola, analisis citra, temu kembali informasi, dan
bioinformatik.
Terdapat banyak pendekatan dalam melakukan clustering, masing-masing pendekatan
menggunakan model cluster dan algoritma berbeda. Beberapa model cluster sebagai berikut:
a. Model connectivity: contoh hierarchical clustering yang membangun model berdasarkan
distance connectivity.
b. Model centroid: contoh algoritma k-means yang merepresentasikan setiap cluster dengan
sebuah vektor mean.
c. Model distribusi: memodelkan cluster dengan distribusi statistik seperti distribusi normal
multivariate yang digunakan dalam algoritma Expectation-Maximization.
d. Model densitas: contoh DBSCAN dan OPTICS yang mendefiisikan cluser sebagai
connected dense region pada ruang data.
e. Model subspace: contoh Biclustering (dikenal juga sebagai Co-clustering atau two-mode-
clustering), dimana cluster dimodelkan oleh anggota cluster dan atribut-atribut yang
relevan.
f. Model graph: sebuah clique, yaitu subset dari node pada graph sedemikian sehingga
untuk setiap dua node dalam subset yang terkoneksi oleh sebuah edge dipertimbangkan
sebagai bentuk prototipe dari cluster.
Secara umum algoritma clustering bekerja berdasarkan salah satu dari dua pendekatan
berikut:
a. Iterative squared-error partitioning
b. Agglomerative hierarchical clustering
5. Machine Vision
Squared-Error Partitioning
Berikut algoritma clustering berdasarkan pendekatan squared-error partitioning:
Misalkan suatu data yang terdiri dari n pola akan dikelompokkan menjadi k cluster D1, ..., Dk.
Misalkan ni menyatakan jumlah sampel pada Di, dan misalkan mi adalah nilai rata-rata dari
sampel tersebut:
i
D
x
i
i x
n
m
1
Sum-of-square errors didefinisikan oleh:
k
i D
x
i
e
i
m
x
J
1
2
Untuk setiap cluster Di, mean vector mi atau disebut juga centroid, adalah representasi terbaik
dari semua sampel pada Di.
K-Means Clustering
Algoritma umum untuk iterative squered-error partitioning adalah sebagai berikut:
1. Tentukan jumlah cluster, misal k
2. Inisialisasi centroid dengan cara memilih k sampel secara acak
3. Tentukan keanggotaan tiap sampel ke dalam salah satu cluster dengan cara mencari jarak
terdekat ke centroid.
4. Tentukan centroid baru dengan cara menghitung mean vector dari masing-masing cluster.
5. Lakukan langkah 3 dan 4 hingga nilai optimal dari fungsi obyektif terpenuhi (misal:
hingga ditemukan local minimum atau jumlah iterasi dipenuhi).
6. Sesuaikan jumlah cluster dengan melakukan penggabungan atau pemisahan dari cluster
yang sudah terbentuk dengan cara menghapus cluster dengan jumlah anggotanya sedikit
atau merupakan outlier.
6. Machine Vision
Langkah 1 hingga 5 dikenal sebagai k-means clustering. Gambar berikut memperlihatkan
ilustrasi proses clustering terhadap 30 sampel data kedalam 3 cluster: (a) inisialisasi centroid
secara acak; (b) menentukan keanggotaan setiap cluster; (c) iterasi-1: menentukan centroid
baru dan anggotanya; (d) iterasi-2: menentukan centroid baru dan anggotanya; (e) iterasi-3:
menentukan centroid baru dan anggotanya. Pada iterasi ketiga posisi centroid sama dengan
iterasi kedua, sehingga proses clustering dapat dihentikan karena sudah konvergen.
(a) (b)
(c) (d)
(e)
7. Machine Vision
Proses komputasi K-means clustering sangat efisien dan dapat memberikan hasil yang baik
jika cluster bersifat kompak dan dapat dipisahkan dengan baik pada ruang fitur. Namun
pemilihan jumlah cluster atau nilai k yang tidak optimal akan menghasilkan pengelompokkan
yang tidak akurat. Pemilihan nilai k dapat dilakukan secara empiris maupun berdasarkan
pengetahuan sebelumnya mengenai data.
Hierarchical Clustering
K-means clustering menghasilkan deskripsi data yang bersifat flat, dimana setiap cluster
terpisah pada level yang sama. Pada aplikasi tertentu, sekelompok pola memiliki karakteristik
yang serupa jika dilihat pada level tertentu. Hierarchical clustering berusaha menangkap
pengelompokkan multi level tersebut menggunakan representasi bertingkat/hierarchical.
Berikut karakteristik hierarchical clustering dari data dengan n sampel:
a. Level pertama terdiri dari n cluster, dengan demikian tiap cluster beranggotakan sebuah
sampel.
b. Level kedua terdiri dari n-1 cluster
c. Level ketiga terdiri dari n-2 cluster
d. Dan selanjutnya hingga pada level terakhir (n) terdiri dari satu cluster dengan seluruh
sampel sebagai anggotanya.
Setiap dua sampel pada level tertentu akan dikelompokkan menjadi satu cluster dan akan
tetap akan bergabung sama pada level berikutnya. Hierarchical clustering biasanya
direpresentasikan sebagai tree atau dendogram, yang menunjukkan bagaimana setiap sampel
berkelompok. Berikut algoritma dari Agglomerative Hierarchical Clustering:
1. Tentukan jumlah cluster.
2. Tempatkan tiap sampel pada cluster.
3. Hitung jarak antar setiap cluster.
4. Gabungkan cluster yang memiliki jarak terdekat.
5. Lakukan langkah 3 dan 4 hingga tersisa satu cluster saja.
Berikut beberapa rumus yang umum digunakan untuk mengukur jarak antara dua cluster Di
dan Dj:
8. Machine Vision
j
i
j
i
mean
D
x D
x
j
i
j
i
avg
D
x
D
x
j
i
D
x
D
x
j
i
m
m
D
D
d
x
x
D
D
D
D
d
x
x
D
D
d
x
x
D
D
d
i j
j
i
j
i
)
,
(
#
1
)
,
(
max
)
,
(
min
)
,
(
'
,
,
max
,
min
Gambar berikut memperlihatkan tahapan proses hierarchical clustering terhadap 10
sampel data. Berikut penjelasan dari setiap tahapan tersebut:
(a) Bagi data menjadi 10 cluster yang masing-masing berisi satu sampel data.
(b) Cari dua cluster yang memiliki jarak terdekat kemudian gabungkan cluster tersebut
sehingga jumlah cluster hanya tinggal 9.
(c) Cari dua cluster yang memiliki jarak terdekat dengan menganggap cluster yang
sebelumnya sudah bergabung sebagai sebuah cluster kemudian gabungkan cluster
tersebut sehingga jumlah cluster tinggal 8.
(d) Ulangi langkah (c) hingga tersisa hanya satu cluster saja seperti diperlihatkan pada
gambar (i)
10. Machine Vision
SIMPULAN
1. Salah satu aplikasi utama dari unsupervised learning adalah pengelompokkan data
atau clustering.
2. Selain dapat digunakan untuk pengelompokkan data, unsupervised clustering juga
dapat dimanfaatkan untuk ekstraksi fitur dan reduksi dimensi.
3. Akurasi dari k-means clustering sangat dipengaruhi oleh pemilihan jumlah cluster
awal.
4. Hierarchical clustering memungkinkan pengelompokkan data secara
bertingkat/hierarchical, sehingga karakteristik pengelompokkan data dapat dilihat
pada setiap level-nya.
11. Machine Vision
DAFTAR PUSTAKA
1. Forsyth. (2011). Computer Vision a Modern Approach (2nd
Edition). Prentice Hall.
New Jersey. ISBN-10: 013608592X. ISBN-13: 978-0136085928.
2. Image Segmentation, http://www.kevinroper.org/image-segmentation/
3. A Tutorial on Clustering Algorithms,
http://home.deib.polimi.it/matteucc/Clustering/tutorial_html/index.html
4. Introduction to K-means Clustering, https://www.datascience.com/blog/introduction-
to-k-means-clustering-algorithm-learn-data-science-tutorials
5. Hierarchical Clustering,
http://www.cs.princeton.edu/courses/archive/spr08/cos424/slides/clustering-2.pdf