Template
matching adalah sebuah teknik dalam pengolahan citra digital untuk menemukan
bagian-bagian kecil dari gambar yang cocok dengan template gambar. Template
matching merupakan salah satu ide yang digunakan untuk menjelaskan bagaimana
otak kita mengenali kembali bentuk-bentuk atau pola-pola. Template dalam
konteks rekognisi pola menunjuk pada konstruk internal yang jika cocok (match )
dengan stimulus penginderaan mengantar pada rekognisi suatu objek. Atau
pengenalan pola terjadi jika terjadi kesesuaian antara stimulus indera dengan
bentuk mental internal. Gagasan ini mendukung bahwa sejumlah besar template
telah tercipta melalui pengalaman hidup kita. Tiap-tiap template berhubungan
dengan suatu makna tertentu.
Contoh
proses identifikasi bentuk geometri :
Energi cahaya yang terpancar dari suatu bentuk mengena pada retina mata dan
diubah menjadi energi neural yang kemudian dikirim ke otak. Selanjutnya terjadi
pencarian di antara templatetemplate yang ada. Jika sebuah template ditemukan
sesuai (match ) dengan pola tadi, maka subjek dapat mengenal bentuk tersebut.
Setelah kecocokan antara objek dan template terjadi, proses lebih lanjut dan
interpretasi terhadap objek bisa terjadi.
Keunggulan
:
(1) Jelas bahwa untuk mengenal bentuk, huruf atau bentuk-bentuk visual lainnya
diperlukan kontak dengan bentuk-bentuk internal.
(2) Template matching adalah prosedur pengenalan pola yang sederhana yang
didasarkan pada ketepatan konfigurasi informasi penginderaan dengan
“konfigurasi” pada otak. (Contohnya : barcode)
Kelemahan :
Jika perbandingan eksternal objek dgn internal objek 1:1, maka objek yang
berbeda sedikit saja dengan template tidak akan dikenali. Oleh karena itu,
jutaan template yang spesifik perlu dibuat agar cocok dengan berbagai bentuk
geometri yang kita lihat dan kenal. Jika memang penyimpanan memori di otak
seperti ini, otak tentu seharusnya sangat kewalahan dan pencarian informasi
akan memakan waktu, padahal pada kenyataannya tidak demikian.
Template
Matching dapat dibagi antara dua pendekatan, yaitu : pendekatan berbasis fitur
dan pendekatan berbasis template. Pendekatan berbasis fitur menggunakan fitur
pencarian dan template gambar seperti tepi atau sudut, sebagai pembanding
pengukuran matrik untuk menemukan lokasi template matching yang terbagus di
sumber gambar.
Pendekatan Berbasis Fitur
Sebuah pendekatan berbasis fitur dapat dianggap; pendekatan dapat membuktikan
lebih berguna, jika template gambar memiliki fitur yang kuat jika pencocokan di
pencarian gambar bisa diubah dengan cara tertentu. Karena pendekatan ini tidak
mempertimbangkan keseluruhan dari template gambar, komputasi dapat lebih
efisien ketika bekerja dengan sumber gambar beresolusi lebih besar, sebagai
pendekatan alternatif, berbasis template, mungkin memerlukan pencarian titik –
titik yang berpotensi untuk menentukan lokasi pencocokan yang terbaik.
Pendekatan Berbasis Template
Untuk template tanpa fitur yang kuat, atau ketika sebagian
besar template gambar merupakan gambar yang cocok, sebuah pendekatan berbasis
template mungkin efektif. Seperti disebutkan di atas, karena berbasis template,
template matching berpotensi memerlukan sampling dari sejumlah besar poin,
untuk mengurangi jumlah sampling poin dengan mengurangi resolusi pencarian dan
template gambar oleh faktor yang sama dan melakukan operasi pada perampingan
gambar yang dihasilkan (multiresolusi, atau piramida, pengolahan citra),
menyediakan pencarian titik data dalam pencarian gambar sehingga template tidak
harus mempunyai pencarian titik data, atau kombinasi keduanya.
Implementasi
Dalam implementasi sederhana ini, diasumsikan bahwa metode yang dijelaskan di
atas diterapkan pada gambar abu-abu: karena abu-abu digunakan sebagai
intensitas piksel.
minSAD = VALUE_MAX;
// loop through the search image
for ( int x = 0; x <= S_rows - T_rows; x++ ) {
for ( int y = 0; y <= S_cols - T_cols; y++ ) {
SAD = 0.0;
// loop through the template image
for ( int i = 0; i < T_rows; i++ )
for ( int j = 0; j < T_cols; j++ ) {
pixel p_SearchIMG = S[x+i][y+j];
pixel p_TemplateIMG = T[i][j];
SAD += abs( p_SearchIMG.Grey - p_TemplateIMG.Grey );
}
}
// save the best found
position
if ( minSAD > SAD ) {
minSAD = SAD;
// give me
VALUE_MAX
position.bestRow = x;
position.bestCol = y;
position.bestSAD = SAD;
}
}
Tidak ada komentar:
Posting Komentar