BAB 8 PENCOCOKAN TEMPLATE - [DTETI] …te.ugm.ac.id/.../wp-content/uploads/2010/10/tkpp_bab8.pdfBAB...

25
BAB 8 PENCOCOKAN TEMPLATE Anggun Fitrian Isnawati, 06244-S2 TE Sulistyaningsih, 05912-S2 TE Rintania Elliyati Nuryaningsih, 06245-S2 TE Jurusan Teknik Elektro Teknologi Informasi FT UGM, Yogyakarta 8.1 PENDAHULUAN Pada bab-bab sebelumnya, tugas dan perhatian utama menunjuk pada pola yang tidak dikenal ke salah satu kelas yang mungkin. Permasalahan yang akan selalu ada dalam bab ini adalah sifat yang sedikit berbeda. Anggap saja bahwa satu set referensi pola (template) disediakan bagi kita dan kita harus memutuskan mana salah satu dari pola referensi ini yang tak dikenal (pola pengujian) yang paling cocok. Template ini memungkinkan objek tertentu berada dalam sebuah tempat atau dapat berbentuk string pola, seperti halnya kata pembentuk surat dalam teks tertulis atau kata-kata atau frasa dalam teks lisan. Biasanya, beberapa masalah timbul dalam pengenalan suara, dalam otomasi penggunaan visi robot, dalam estimasi gerakan untuk pengkodean video, dan dalam sistem temu kembali (retrieval) database citra, dan lain sebagainya. Langkah pertama yang mungkin dilakukan untuk pendekatan tugas tersebut adalah untuk menentukan ukuran atau biaya pengukuran jarakatau kesamaanantara pola referensi (yang dikenal) dan pola pengujian (yang tidak dikenal), supaya dapat dilakukan operasi pencocokan atau yang dikenal sebagai pencocokan template. Kita tahu sekarang bahwa setiap pola diekspresikan dalam bentuk vektor atau matriks dengan elemen himpunan dari fitur-fitur yang dipilih. Lalu mengapa tidak digunakan salah satu dari ukuran jarak yang sudah diketahui, yaitu, norma Euclidean atau Frobenius, dan melakukan operasi pencocokan berdasarkan jarak minimum? Pemikiran selanjutnya lebih mengungkapkan bahwa sebuah pendekatan langsung tidak cukup dan dibutuhkan sesuatu yang lebih. Inilah poin penting yang membuat pencocokan template berbeda dan juga menarik. Untuk memahami dengan lebih baik, marilah kita mempertimbangkan masalah pencocokan teks tertulis, yaitu bahwa, untuk mengidentifikasi satu dari satu set kata-kata yang tertulis adalah kata, misalnya, beauty. Namun, karena kesalahan dalam sensor pembacaan pola pengujian tertentu muncul, misalnya seperti beetyatau beaut. Dalam tugas pengenalan suara, jika kata tertentu yang diucapkan oleh pembicara yang sama beberapa kali, maka akan diucapkan berbeda setiap kali. Kadang-kadang akan diucapkan dengan cepat dan pola yang dihasilkan akan berdurasi singkat, kadang-kadang diucapkan dengan lambat sehingga pola yang dihasilkan akan berdurasi lebih lama. Namun dalam semua kasus itu, kata yang diucapkan adalah samaoleh orang yang sama. Dalam penerapan analisis, obyek yang diidentifikasi mungkin berada dalam gambar tertentu namun lokasi dalam gambar tidak diketahui. Dalam sistem temu kembali database citra berbasis konten, query biasanya termasuk bentuk sebuah objek. Bagaimanapun, bentuk yang diberikan oleh pengguna, seringnya, tidak sama persis dengan bentuk benda yang berada dalam database citra. Tujuan utama bab ini adalah untuk menentukan pengukuran yang mengakomodasi karakteristik yang berbeda untuk setiap kategori dari masalah ini. Kita akan mulai dengan permasalahan pencocokan pola string dan akan menuju ke analisis tempat dan kemudian ke masalah pengenalan bentuk. Tugas-tugas, meskipun memiliki tujuan yang sama, membutuhkan alat yang berbeda karena perbedaan alami. 8.2 PENGUKURAN BERDASARKAN TEKNIK PENCARIAN JALUR OPTIMAL Pertama-tama kita fokuskan pada kategori pencocokan template, dimana pola-pola yang terlibat terdiri dari string simbol teridentifikasi atau vektor fitur (pola string). Disini, setiap

Transcript of BAB 8 PENCOCOKAN TEMPLATE - [DTETI] …te.ugm.ac.id/.../wp-content/uploads/2010/10/tkpp_bab8.pdfBAB...

Page 1: BAB 8 PENCOCOKAN TEMPLATE - [DTETI] …te.ugm.ac.id/.../wp-content/uploads/2010/10/tkpp_bab8.pdfBAB 8 PENCOCOKAN TEMPLATE Anggun Fitrian Isnawati, 06244-S2 TE Sulistyaningsih, 05912-S2

BAB 8 PENCOCOKAN TEMPLATE

Anggun Fitrian Isnawati, 06244-S2 TE

Sulistyaningsih, 05912-S2 TE

Rintania Elliyati Nuryaningsih, 06245-S2 TE

Jurusan Teknik Elektro Teknologi Informasi FT UGM,

Yogyakarta

8.1 PENDAHULUAN

Pada bab-bab sebelumnya, tugas dan perhatian utama menunjuk pada pola yang tidak dikenal

ke salah satu kelas yang mungkin. Permasalahan yang akan selalu ada dalam bab ini adalah

sifat yang sedikit berbeda. Anggap saja bahwa satu set referensi pola (template) disediakan

bagi kita dan kita harus memutuskan mana salah satu dari pola referensi ini yang tak dikenal

(pola pengujian) yang paling cocok. Template ini memungkinkan objek tertentu berada dalam

sebuah tempat atau dapat berbentuk string pola, seperti halnya kata pembentuk surat dalam

teks tertulis atau kata-kata atau frasa dalam teks lisan. Biasanya, beberapa masalah timbul

dalam pengenalan suara, dalam otomasi penggunaan visi robot, dalam estimasi gerakan untuk

pengkodean video, dan dalam sistem temu kembali (retrieval) database citra, dan lain

sebagainya. Langkah pertama yang mungkin dilakukan untuk pendekatan tugas tersebut

adalah untuk menentukan ukuran atau biaya pengukuran “jarak” atau “kesamaan” antara pola

referensi (yang dikenal) dan pola pengujian (yang tidak dikenal), supaya dapat dilakukan

operasi pencocokan atau yang dikenal sebagai pencocokan template. Kita tahu sekarang

bahwa setiap pola diekspresikan dalam bentuk vektor atau matriks dengan elemen himpunan

dari fitur-fitur yang dipilih. Lalu mengapa tidak digunakan salah satu dari ukuran jarak yang

sudah diketahui, yaitu, norma Euclidean atau Frobenius, dan melakukan operasi pencocokan

berdasarkan jarak minimum? Pemikiran selanjutnya lebih mengungkapkan bahwa sebuah

pendekatan langsung tidak cukup dan dibutuhkan sesuatu yang lebih. Inilah poin penting

yang membuat pencocokan template berbeda dan juga menarik.

Untuk memahami dengan lebih baik, marilah kita mempertimbangkan masalah

pencocokan teks tertulis, yaitu bahwa, untuk mengidentifikasi satu dari satu set kata-kata

yang tertulis adalah kata, misalnya, “beauty”. Namun, karena kesalahan dalam sensor

pembacaan pola pengujian tertentu muncul, misalnya seperti “beety” atau “beaut”. Dalam

tugas pengenalan suara, jika kata tertentu yang diucapkan oleh pembicara yang sama

beberapa kali, maka akan diucapkan berbeda setiap kali. Kadang-kadang akan diucapkan

dengan cepat dan pola yang dihasilkan akan berdurasi singkat, kadang-kadang diucapkan

dengan lambat sehingga pola yang dihasilkan akan berdurasi lebih lama. Namun dalam

semua kasus itu, kata yang diucapkan adalah “sama” oleh orang yang sama. Dalam

penerapan analisis, obyek yang diidentifikasi mungkin berada dalam gambar tertentu namun

lokasi dalam gambar tidak diketahui. Dalam sistem temu kembali database citra berbasis

konten, query biasanya termasuk bentuk sebuah objek. Bagaimanapun, bentuk yang diberikan

oleh pengguna, seringnya, tidak sama persis dengan bentuk benda yang berada dalam

database citra. Tujuan utama bab ini adalah untuk menentukan pengukuran yang

mengakomodasi karakteristik yang berbeda untuk setiap kategori dari masalah ini.

Kita akan mulai dengan permasalahan pencocokan pola string dan akan menuju ke

analisis tempat dan kemudian ke masalah pengenalan bentuk. Tugas-tugas, meskipun

memiliki tujuan yang sama, membutuhkan alat yang berbeda karena perbedaan alami.

8.2 PENGUKURAN BERDASARKAN TEKNIK PENCARIAN JALUR OPTIMAL

Pertama-tama kita fokuskan pada kategori pencocokan template, dimana pola-pola yang

terlibat terdiri dari string simbol teridentifikasi atau vektor fitur (pola string). Disini, setiap

Page 2: BAB 8 PENCOCOKAN TEMPLATE - [DTETI] …te.ugm.ac.id/.../wp-content/uploads/2010/10/tkpp_bab8.pdfBAB 8 PENCOCOKAN TEMPLATE Anggun Fitrian Isnawati, 06244-S2 TE Sulistyaningsih, 05912-S2

referensi dan pola pengujian direpresentasikan sebagai urutan (string) dari parameter yang

diukur dan salah satunya harus menentukan urutan referensi dari pola pengujian mana yang

paling cocok.

Biarkan r(i), i = 1,2,. . . , I, dan t(j), j = 1,2,. . . , J, menjadi urutan vektor fitur masing-masing

untuk pasangan tertentu dari referensi dan pola pengujian, dimana pada umumnya I ≠ J.

Tujuannya adalah untuk mengembangkan ukuran jarak yang tepat antara dua urutan tersebut.

Untuk tujuan ini, dibentuk grid dua dimensi dengan elemen dari dua urutan tersebut sebagai

titik pada masing-masing sumbu, yaitu string acuan pada absis (sumbu-i) dan satu titik lagi

pada ordinat (sumbu-j). Gambar 8.1 adalah contoh untuk I = 6, J = 5. Setiap titik dari grid

(node) menandai korespondensi antara masing-masing elemen dari dua urutan. Sebagai

contoh node (3,2) memetakan unsur r (3) ke t (2). Setiap node (i, j) dari grid tersebut terkait

dengan biaya, yang merupakan fungsi terdefinisi dengan tepat d (i, j) yang mengukur “jarak”

antara elemen masing- masing dari string, t (j) dan r (i). Jalur A yang melalui grid dari node

awal (i0, j0) ke node yang terakhir (if, jf) adalah set order dari node, dalam bentuk:

Setiap jalur terkait dengan biaya keseluruhan D didefinisikan sebagai:

dimana K adalah jumlah node di sepanjang jalur. Untuk contoh Gambar 8.1, K = 8.

Gambar 8.1 Setiap titik di sepanjang jalur menandai korespondensi antara masing-masing

elemen dari pola pengujian dan referensi.

Page 3: BAB 8 PENCOCOKAN TEMPLATE - [DTETI] …te.ugm.ac.id/.../wp-content/uploads/2010/10/tkpp_bab8.pdfBAB 8 PENCOCOKAN TEMPLATE Anggun Fitrian Isnawati, 06244-S2 TE Sulistyaningsih, 05912-S2

Biaya keseluruhan sampai dengan node (ik, jk) dinotasikan dengan D (ik, jk) dan dengan

konvensi kita asumsikan D (0, 0) = 0 serta d (0, 0) = 0. Jalur dikatakan lengkap jika:

Jarak antara kedua urutan didefinisikan sebagai D minimal dari semua jalur yang mungkin.

Pada saat yang sama, jalur biaya minimum menyelesaikan korespondensi pasangan yang

optimal antara elemen-elemen dari dua urutan, dimana hal ini merupakan bagian penting,

karena dua urutan ini memiliki panjang yang berbeda. Dengan kata lain, prosedur jalur

optimal membuat alignment atau warping dari elemen string pengpengujianan ke elemen-

elemen string referensi, sesuai dengan nilai pencocokan terbaik. Sebelum kita berbicara

tentang prosedur optimasi, kita harus mengetahui bahwa ada beberapa variasi dari skema ini.

Misalnya, seseorang tidak mungkin memaksakan kendala tertentu memiliki jalur yang

lengkap tetapi mungkin dapat mengadopsi lebih lunak kendala-kendala yang dikenal sebagai

kendala-kendala titik akhir (end point constrain). Selain itu, orang bisa mengaitkan biaya

tidak hanya dengan setiap node tetapi juga dengan masing-masing transisi antar node,

membuat transisi lebih mahal daripada yang lain. Dalam beberapa kasus, biaya di sebuah

node (ik, jk) juga tergantung pada transisi spesifik, yaitu, dari yang node (ik-1, jk-1) maka node

(ik, jk) tercapai. Dengan demikian, biaya d sekarang dari bentuk d (ik, jk│ik-1, jk-1) dan biaya

jalur keseluruhan adalah:

Pada beberapa kasus, biaya jalur keseluruhan didefinisikan sebagai perkalian product:

Akhirnya, ada beberapa kasus dimana d dipilih sehingga dibutuhkan biaya maksimal

bukannya minimal. Jelas bahwa pada semua variasi kondisi awal yang tepat harus diadopsi.

Kita kembali ke masalah optimasi itu sendiri. Untuk memperoleh jalur terbaik, harus dicari

semua kemungkinan yang ada dari kombinasi jalur. Namun, ini adalah prosedur komputasi

yang mahal. Algoritma pemrograman dinamis berdasarkan prinsip Bellman merupakan alat

yang kuat yang akan diadopsi untuk mengurangi kompleksitas komputasi.

8.2.1 Prinsip Optimalisasi Bellman dan Pemrograman Dinamis

Biarkan jalur optimal antara node awal (i0, j0) dan node akhir (if, jf) dinotasikan sebagai:

Jika (i, j) adalah note pertengahan antara (i0, j0) dan (if, jf), kita akan menunjukkan kendala

jalur optimal melalui (i, j ) sebagai:

Page 4: BAB 8 PENCOCOKAN TEMPLATE - [DTETI] …te.ugm.ac.id/.../wp-content/uploads/2010/10/tkpp_bab8.pdfBAB 8 PENCOCOKAN TEMPLATE Anggun Fitrian Isnawati, 06244-S2 TE Sulistyaningsih, 05912-S2

Prinsip Bellman menyatakan bahwa [Bell 57]

dimana Ө menunjukkan rangkaian jalur. Dengan kata lain, prinsip Bellman menyatakan

bahwa jalur optimal secara keseluruhan dari (i0, j0) ke (if, jf) melalui (i, j) adalah rangkaian

jalur optimal dari (i0, j0) ke (i, j) dan jalur optimal dari (i, j) ke (if, jf). Konsekuensi dari

prinsip ini adalah bahwa sekali kita berada di (i, j) melalui jalur optimal, maka untuk

mencapai (if, jf) secara optimal kita hanya perlu mencari jalur optimal dari (i, j) ke (if, jf).

Kita dapat menyatakan ini dengan cara yang akan berguna bagi kita di kemudian hari.

Asumsikan bahwa kita berangkat dari (i0, j0) dan biarkan node ke-k dari jalur menjadi (ik, jk).

Tujuannya adalah untuk menghitung biaya minimum yang dibutuhkan untuk mencapai node

berikutnya. Transisi ke (ik, jk) harus diambil dari salah satu node yang mungkin yang

diperbolehkan untuk berada di posisi ke-(k–1) dari jalur (yaitu node (ik-1, jk-1)). Hal ini

penting dilakukan. Untuk setiap node dari grid, kita asumsikan bahwa ada satu set

predecessor (pendahulu) yang diperbolehkan, yang didefinisikan sebagai kendala lokal (local

constrain). Prinsip Bellman mengarah pada:

Memang, biaya minimal keseluruhan untuk mencapai node (ik, jk) merupakan biaya minimum

sampai ke node (ik-1, jk-1) ditambah dengan biaya tambahan transisi dari (ik-1, jk-1) ke (ik, jk).

Selanjutnya, pencarian minimum dibatasi hanya dalam set pendahulu yang diperbolehkan

untuk node (ik, jk). Prosedur ini dilakukan pada semua node dari grid. Namun, dalam banyak

kasus tidak semua node dari grid terlibat, dan pencarian jalur yang optimal terjadi antara

subset dari grid tersebut, yang didefinisikan melalui apa yang disebut sebagai kendala global.

Algoritma yang dihasilkan dikenal sebagai pemrograman dinamis. Persamaan (8.1) harus

dimodifikasi sesuai biaya D yang diberikan dalam bentuk perkalian dan / atau jika

maksimalisasi diperlukan.

Kita fokus pada tugas pencocokan pola string dan melihat bagaimana persamaan

rekursif (8.1) digunakan untuk membangun jalur lengkap yang optimal. Gambar 8.2

mengilustrasikan prosedur. Himpunan node yang terlibat dalam optimisasi (kendala global)

ditandai sebagai titik gelap, dan kendala lokal, mendefinisikan transisi yang diperbolehkan

diantara node-node ini, yang ditunjukkan pada gambar dengan garis tipis. Setelah diputuskan

untuk mencari jalur lengkap dan asumsi D (0,0) = 0, biaya masing-masing D (il, j1) untuk

semua node diperbolehkan yang terlibat dalam langkah k = 1 dihitung melalui (8,1) (dalam

kasus ini hanya ada dua node yang diperbolehkan, (1,1) dan (1,2)). Selanjutnya, biaya dari

(tiga) node pada langkah k = 2 dihitung dan prosedur ini diulang sampai kita mencapai node

terakhir (I, J). Urutan transisi menuju D minimum (I, J) dari node terakhir menentukan jalur

biaya minimum, dinotasikan dengan garis tebal. Korespondensi node optimal, antara pola

referensi dan pola pengujian, kemudian dapat terurai dengan cara menarik kembali jalur yang

optimal. Pada contoh gambar 8.2, masing-masing langkah k dari rekursi hanya melibatkan

node-node dengan koordinat absis yang sama, yang mencerminkan kendala lokal yang

diadopsi. Umumnya, hal ini tidak diperlukan dan topologi yang terlibat lebih dapat

digunakan. Namun, filosofi pencarian minimum tetap sama. Dalam sekuel, kita akan

menerapkan prosedur di dua wilayah aplikasi populer yang berbeda.

Page 5: BAB 8 PENCOCOKAN TEMPLATE - [DTETI] …te.ugm.ac.id/.../wp-content/uploads/2010/10/tkpp_bab8.pdfBAB 8 PENCOCOKAN TEMPLATE Anggun Fitrian Isnawati, 06244-S2 TE Sulistyaningsih, 05912-S2

8.2.2 Jarak Edit

Pada bagian ini terkait dengan pola yang terdiri dari set order simbol. Misalnya, jika simbol

ini merupakan huruf, maka polanya adalah kata-kata dari teks tertulis. Masalah-masalah akan

muncul dalam pengeditan otomatis dan aplikasi mendapatkan teks kembali. Contoh lain dari

string simbol terjadi dalam pengenalan pola struktural.

Gambar 8.2 Jalur optimal yang dibangun dengan pencarian diantara semua jalur yang

diperbolehkan, sebagaimana yang didefinisikan oleh kendala lokal dan global

Setelah simbol dari pola (pengujian) telah diidentifikasi, misalnya, melalui perangkat

pembaca, tugas selanjutnya adalah mengenali pola, mencari yang paling cocok terhadap satu

set pola referensi. Ukuran yang akan diadopsi untuk prosedur pencocokan seharusnya

memperhitungkan kesalahan yang muncul, yang mungkin terjadi selama tahap identifikasi

simbol.

Simbol yang teridentifikasi dengan salah (misalnya, “befuty” bukan “beauty”)

Penyisipan kesalahan (misalnya, “bearuty”)

Penghapusan kesalahan (misalnya, “beuty”)

Jelas, kombinasi dari kesalahan ini juga mungkin terjadi. Untuk prosedur pencocokan kita

akan mengadopsi filosofi di balik apa yang disebut sebagai variational similarity. Dengan

kata lain, kesamaan diantara dua pola yang didasarkan pada “biaya” terkait dengan

mengkonversi satu pola ke pola yang lain. Jika pola tersebut mempunyai panjang yang sama,

maka biaya secara langsung berhubungan dengan jumlah simbol yang harus diubah sehingga

dihasilkan pola yang lain. Yang lebih menarik lagi ketika dua pola tidak mempunyai panjang

yang sama. Dalam kasus ini, simbol harus dihapus maupun disisipkan pada tempat-tempat

tertentu dari string pengujian. Lokasi dimana penghapusan atau penyisipan dilakukan

mengisyaratkan sebuah kesejajaran optimal (warping) di antara simbol dari dua pola. Jarak

Page 6: BAB 8 PENCOCOKAN TEMPLATE - [DTETI] …te.ugm.ac.id/.../wp-content/uploads/2010/10/tkpp_bab8.pdfBAB 8 PENCOCOKAN TEMPLATE Anggun Fitrian Isnawati, 06244-S2 TE Sulistyaningsih, 05912-S2

edit [Dome 64, Leven 66] antara dua pola string A dan B, dinotasikan D (A, B), didefinisikan

sebagai jumlah total minimum dari perubahan C, penyisipan I, dan penghapusan R yang

dibutuhkan untuk mengubah pola A menjadi pola B,

dimana j berjalan di atas semua kombinasi yang mungkin dari variasi simbol untuk

mendapatkan B dari A. Untuk menguraikan sedikit, perlu diketahui bahwa ada lebih dari satu

cara untuk mengubah, katakanlah, “beuty” ke “beauty”. Sebagai contoh, dapat disisipkan “a”

setelah “e” atau mengubah “u” ke “a” dan kemudian menyisipkan “u”.

Kita akan menggunakan metodologi pemrograman dinamis untuk menghitung nilai

minimum yang diperlukan dalam (8.2). Untuk tujuan ini, kita membentuk grid dengan

menempatkan simbol dari pola referensi ke dalam sumbu absis dan pola pengujian ke dalam

sumbu ordinat. Gambar 8.3 menunjukkan prosedur melalui empat contoh. Seperti yang telah

ditunjukkan sebelumnya, langkah pertama pada prosedur pencarian jalur optimal melalui

teknik pemrograman dinamis adalah untuk menyatakan kendala transisi node yang ditentukan

oleh masalah. Untuk kasus ini, diadopsi beberapa kendala berikut.

Biaya D (0, 0) dari node (0, 0) adalah nol.

Dicari sebuah jalur lengkap.

Setiap node (i, j) dapat dicapai hanya melalui tiga pendahulunya yang diperbolehkan,

yaitu,

sebagaimana diindikasikan pada bagian bawah Gambar 8.3.

Biaya yang terkait dengan tiga transisi di atas adalah:

1. Transisi Diagonal:

Artinya, biaya transisi akan bernilai nol jika simbol yang sesuai dengan node (i, j) adalah

sama dan akan bernilai satu jika berbeda, sehingga perubahan simbol telah terjadi.

2. Transisi horisontal dan vertikal

Yang dimaksud dengan transisi horisontal adalah bahwa transisi dimana mereka berusaha

menyelaraskan dua string dengan menyisipkan sebuah simbol; lihat Gambar 8.3a. Jadi,

mereka menambah biaya, karena menyiratkan ketidakcocokan lokal. Demikian pula,

transisi vertikal menambah biaya karena menyiratkan penghapusan, Gambar 8.3c.

Page 7: BAB 8 PENCOCOKAN TEMPLATE - [DTETI] …te.ugm.ac.id/.../wp-content/uploads/2010/10/tkpp_bab8.pdfBAB 8 PENCOCOKAN TEMPLATE Anggun Fitrian Isnawati, 06244-S2 TE Sulistyaningsih, 05912-S2

Gambar 8.3 Komputasi dari jarak edit dengan (a) penyisipan, (b) perubahan, (c)

penghapusan, dan (d) persamaan. Kendala lokal ditunjukkan pada pojok kanan bawah.

Adanya kendala-kendala dan jarak (8.2) pada prosedur pemrograman dinamis

menghasilkan algoritma berikut:

Algoritma untuk Komputasi Jarak Edit

D (0,0) = 0

For I = 1 to I

D (i, 0) = D (i-1,0) + 1

End { For }

For j = 1 to J

D (0, j) = D (0, j-1) + 1

End { For }

Page 8: BAB 8 PENCOCOKAN TEMPLATE - [DTETI] …te.ugm.ac.id/.../wp-content/uploads/2010/10/tkpp_bab8.pdfBAB 8 PENCOCOKAN TEMPLATE Anggun Fitrian Isnawati, 06244-S2 TE Sulistyaningsih, 05912-S2

For i = 1 to I

For j = 1 to J

*c1 = D (i-1, j-1) + d (i, j│i-1, j-1)

*c2 = D (i-1, j) + 1

*c3 = D (i, j-1) + 1

*D (i, j) = min (c1, c2, c3)

End { For }

End { For }

D (A,B) = D (I,J)

Dengan kata lain, pertama-tama kita menghitung biaya minimum untuk mencapai setiap

node dari grid, dimulai dari (0.0), dan jalur optimal (lengkap) selanjutnya akan dibangun.

Gambar 8.3 menunjukkan masing-masing jalur biaya minimum dan jarak Edit yang

dihasilkan untuk setiap kasus. Pastikan bahwa jalur lain yang dicontohkan pada Gambar 8.3

menghasilkan biaya yang lebih tinggi. Sebuah generalisasi dari jarak Edit memungkinkan

untuk menggabung, membelah dan mensubstitusi dua-huruf dalam konteks pengenalan

tulisan tangan yang diberikan dalam [Seni 96].

8.2.3 Pembelokan Waktu Dinamis dalam Pengenalan Suara

Pada bagian ini, kami menyoroti penerapan teknik pemrograman dinamis dalam pengenalan

suara. Kami akan fokus pada bentuk yang lebih sederhana dari tugas, yang dikenal sebagai

pengenalan kata terisolasi atau diskrit (isolated word recognition/ IWR). Artinya, kita akan

mengasumsikan bahwa teks lisan terdiri dari kata-kata diskrit, terisolasi dengan baik dengan

periode diam yang cukup. Dalam tugas ini, cukup mudah untuk memutuskan dimana, kapan,

satu kata selesai dan dimana satu kata dimulai. Ini bukanlah, bagaimanapun, kasus pada

sistem pengenalan suara kontinyu (continuous speech recognition/ CSR) yang lebih

kompleks, dimana pembicara berbicara dengan cara alami dan batas-batas temporal antara

kata-kata tidak terdefinisikan dengan baik. Dalam kasus terakhir, diperlukan skema yang

lebih rumit (misalnya [Silv 90, Desh 99. Neg 99]). Ketika kata-kata diucapkan oleh

pembicara tunggal dan tujuan dari sistem pengenalan ini adalah untuk mengenali kata-kata

yang diucapkan oleh orang tersebut, maka tugas pengenalan dikenal sebagai pengenalan

bergantung pada pembicara (speaker-dependent recognition). Tugas yang lebih kompleks

lagi adalah pengenalan yang tidak bergantung pada pembicara (speaker-independent

recognition). Dalam kasus terakhir, sistem harus dilatih menggunakan sejumlah pembicara

dan sistem harus mampu menggeneralisasi dan mengenali kata-kata yang diucapkan oleh

orang-orang di luar populasi pelatihan.

Pada dasarnya, setiap sistem IWR merupakan seperangkat pola referensi yang dikenal

dan sebuah ukuran jarak (ingat catatan kaki dalam Bagian 8.2). Pengenalan dari pola

pengujian yang tidak diketahui dicapai dengan pencarian pencocokan terbaik antara pola

pengujian dan pola referensi masing-masing, berdasarkan ukuran yang diadopsi.

Page 9: BAB 8 PENCOCOKAN TEMPLATE - [DTETI] …te.ugm.ac.id/.../wp-content/uploads/2010/10/tkpp_bab8.pdfBAB 8 PENCOCOKAN TEMPLATE Anggun Fitrian Isnawati, 06244-S2 TE Sulistyaningsih, 05912-S2

Gambar 8.4 Plot (a) urutan waktu sesuai dengan kata "love" dan (b) besarnya DFT, dalam

dB, untuk salah satu frame-nya.

Gambar 8.4a dan 8.5a menunjukkan plot dari dua urutan waktu akibat sampling dari

kata “love”, kata yang diucapkan dua kali oleh pembicara yang sama. Sampel diambil pada

output mikrofon di tingkat sampling 22050 Hz. Meskipun sulit untuk menggambarkan

perbedaan, ini dapat segera terlihat. Selain itu, dua kata yang diucapkan merupakan durasi

yang berbeda. Tanda panah menunjukkan (kira-kira) interval di mana segmen diucapkan

kebohongan. Interval luar panah sesuai dengan periode diam. Secara khusus, urutan pada

Gambar 8.5a adalah panjang 0,4 detik, dan urutan pada Gambar 8.4a adalah panjang 0,45

detik. Selain itu,

Page 10: BAB 8 PENCOCOKAN TEMPLATE - [DTETI] …te.ugm.ac.id/.../wp-content/uploads/2010/10/tkpp_bab8.pdfBAB 8 PENCOCOKAN TEMPLATE Anggun Fitrian Isnawati, 06244-S2 TE Sulistyaningsih, 05912-S2

Gambar 8.5 Plot waktu urutan yang dihasilkan dari kata-kata (a)”love” dan (b) “kiss” yang

diucapkan oleh pembicara yang sama.

penting untuk mengatakan bahwa ini bukan hasil dari skala waktu linear sederhana.

Sebaliknya, pemetaan nonlinier yang tinggi sangat diperlukan untuk mendapatkan

pencocokan antara dua kata-kata yang “sama” yang diucapkan oleh orang yang sama.

Sebagai perbandingan, Gambar 8.5b menunjukkan plot urutan waktu berhubungan dengan

kata lain, “kiss”, yang dituturkan oleh pembicara yang sama.

Kami akan mempergunakan teknik pemrograman dinamis untuk mengungkap

pemetaan nonlinier (warping) yang dibutuhkan untuk mencapai pencocokan yang optimal

antara pola pengujian dan pola referensi. Untuk tujuan ini, kita harus terlebih dahulu

mengungkapkan kata-kata yang diucapkan sebagai rangkaian (string) dari vektor fitur yang

sesuai, r (i), i = 1,..., I , untuk pola referensi dan t (j), j = 1,. . . , J, untuk pola pengujian. Jelas,

ada lebih dari satu cara untuk memilih vektor fitur. Kami akan fokus pada fitur transformasi

Fourier.

Page 11: BAB 8 PENCOCOKAN TEMPLATE - [DTETI] …te.ugm.ac.id/.../wp-content/uploads/2010/10/tkpp_bab8.pdfBAB 8 PENCOCOKAN TEMPLATE Anggun Fitrian Isnawati, 06244-S2 TE Sulistyaningsih, 05912-S2

Gambar 8.6 Frame overlap berturutan untuk perhitungan vektor fitur DFT

Setiap urutan waktu yang terlibat dibagi ke dalam frame waktu overlap berturut-turut. Dalam

kasus ini, setiap frame dipilih menjadi tf = 512 panjang sampel dan overlap antara frame

yang berurutan untuk t0 = 100 sampel, seperti terlihat pada Gambar 8.6. Jumlah frame yang

dihasilkan untuk segmen bicara yang ditunjukkan pada Gambar 8.4a adalah I = 24, dan untuk

dua yang lain masing-masing adalah J = 21 (Gambar 8.5a) dan J = 23 (Gambar 8.5b). Kami

berasumsi bahwa yang lebih awal adalah pola referensi dan dua terakhir adalah pola

pengujian. Dengan xi(n), n = 0,..., 511, menjadi sampel untuk frame ke-i dari pola referensi,

dengan i = 1, ...., I. DFT yang sesuai diberikan sebagai:

Gambar 8.4b menunjukkan besarnya koefisien DFT untuk salah satu dari frame I dari pola

referensi. Plot adalah salah satu tipikal untuk segmen bicara. Magnitud dari koefisien DFT

yang lebih tinggi sangat kecil dengan sedikit kontribusi untuk sinyal. Hal ini membenarkan

penggunaan koefisien DFT l pertama sebagai fitur, dimana biasanya l << tf. Dalam kasus ini

nilai l = 50 dianggap cukup. Dengan demikian, urutan vektor menjadi:

Vektor fitur t (j), untuk masing-masing pola pengujian, dibentuk dalam cara yang sama.

Pemilihan koefisien DFT sebagai fitur hanyalah salah satu dari berbagai kemungkinan yang

telah diusulkan dan digunakan selama bertahun-tahun. Alternatif lainnya termasuk parameter

dari pemodelan AR dari segmen bicara, koefisien ceptral (kebalikan DFT dari logaritma

magnitud koefisien DFT), dan sebagainya (misalnya, [Davi 80, Dell 931]). Setelah

menyelesaikan preprocessing dan seleksi fitur, referensi dan pengujian pola dinyatakan

sebagai (derajat) urutan vektor fitur r (i) dan t (j). Tujuannya jadi menghitung yang paling

cocok antara frame dari pola pengujian dan pola referensi. Artinya, pola pengujian akan

diregangkan dalam waktu (satu frame pengujian disesuaikan dengan lebih dari satu frame

pola referensi) atau dikompresi dalam waktu (lebih dari satu frame pengujian disesuaikan

dengan satu frame pola referensi). Ini deretan yang optimal dari vektor di dua pola string

yang akan berlangsung melalui prosedur pemrograman dinamis. Untuk tujuan ini, pertama

Page 12: BAB 8 PENCOCOKAN TEMPLATE - [DTETI] …te.ugm.ac.id/.../wp-content/uploads/2010/10/tkpp_bab8.pdfBAB 8 PENCOCOKAN TEMPLATE Anggun Fitrian Isnawati, 06244-S2 TE Sulistyaningsih, 05912-S2

kita menemukan vektor dari string acuan di sepanjang absis tersebut dan dari pola pengujian

sepanjang ordinat tersebut. Kemudian, berikut ini harus ditentukan:

Kendala Global

Kendala Lokal

Kendala Titik Akhir

Biaya d untuk transisi

Berbagai asumsi bisa diadopsi untuk masing-masing, yang mengarah ke hasil yang berbeda

dengan manfaat relatif. Dalam sekuel, kita akan fokus pada beberapa kasus yang banyak

digunakan secara luas.

Kendala Titik Akhir. Dalam contoh kita kita akan mencari jalur lengkap yang optimal yang

dimulai pada (0, 0) dan berakhir di (I, J) dan transisi pertama adalah node (1, 1). Dengan

demikian, secara implisit diasumsikan bahwa titik akhir segmen bicara (misal r(l), t(1) dan

r(I), t(J)) cocok ke tingkat yang tepat. Ini bisa menjadi hasil vektor (masing-masing) dari

periode diam sebelum dan sesudah segmen bicara. Sebuah variasi yang sederhana dari hasil

jalur kendala lengkap jika akhir titik jalur tidak ditentukan apriori dan diasumsikan berada

dalam jarak Є dari titik (1, 1) dan (I, J), dan diserahkan kepada algoritma pengoptimalan

untuk menemukannya.

Kendala Global. Kendala global mendefinisikan wilayah node yang mencari jalur yang

optimal. Node luar wilayah ini tidak dicari. Pada dasarnya, kendala global menentukan

keseluruhan peregangan atau kompresi yang diperbolehkan untuk prosedur pencocokan.

Sebagai contoh ditunjukkan pada Gambar 8.7. Mereka dikenal sebagai kendala Itakura dan

menerapkan faktor maksimal 2 untuk setiap ekspansi atau kompresi pengujian sehubungan

dengan pola referensi. Yang diijinkan node kemudian berada di dalam jajaran genjang yang

ditunjukkan pada Gambar 8.7 oleh garis lurus. Garis putus-putus sesuai dengan kendala

global yang sama saat titik akhir kendala, disebutkan sebelumnya, yang diadopsi. Perhatikan

dari gambar, jalur di seberang atau kompres jajaran genjang atau memperluas frame yang

sesuai interval dengan faktor 2, dan ini adalah faktor maksimum yang mungkin tercapai. Ini

biasanya kendala wajar, dan pada saat yang sama mengurangi jumlah node yang akan dicari

untuk jalur yang optimal secara substansial. Jika I ≈ J, maka tidak sulit untuk menunjukkan

bahwa jumlah titik grid untuk dicari berkurang sekitar sepertiga (1/3).

Page 13: BAB 8 PENCOCOKAN TEMPLATE - [DTETI] …te.ugm.ac.id/.../wp-content/uploads/2010/10/tkpp_bab8.pdfBAB 8 PENCOCOKAN TEMPLATE Anggun Fitrian Isnawati, 06244-S2 TE Sulistyaningsih, 05912-S2

Gambar 8.7 Kendala Global Itakura. Faktor kompresi/ekspansi maksimum adalah 2, dan

menentukan kemiringan segmen garis batas.

Kendala lokal. Kendala ini mendefinisikan set pendahulu dan yang diijinkan transisi

ke node grid tertentu. Pada dasarnya, mereka memberi batasan untuk tingkat maksimum

ekspansi/kompresi transisi berurutan dapat mencapai. Dengan sifatnya bahwa setiap kendala

lokal harus memenuhi monotonisitas. Artinya,

Dengan kata lain, semua pendahulu dari node terletak ke kiri dan selatannya. Ini menjamin

bahwa pengoperasian pencocokan mengikuti evolusi waktu alami dan menghindari sesuatu

yang membingungkan, misalnya, kata "from" dengan kata "form".

Dua contoh jalur nonmonotonic diperlihatkan pada Gambar 8.8. Satu set kendala

lokal, yang dikenal sebagai kendala Itakura [Itak 75], ditampilkan pada Gambar 8.9. Tingkat

ekspansi(kompresi) maksimum dicapai melalui jalur lokal diukur oleh kemiringan yang

terkait, yang didefinisikan sebagai rasio maksimum dari perubahan total Δi, dalam arah ke-i,

untuk perubahan total Δj, dalam arah ke-j, lebih dari jalur lokal. Kemiringan untuk kendala

Itakura adalah 2, dan merupakan hasil dari (berulang) transisi dari tipe (i-1, j-2) untuk (i, j).

Karakteristik penting lain dari kendala Itakura adalah bahwa transisi horisontal

diperbolehkan, namun tidak secara berturut-turut, dan ini ditunjukkan oleh panah

menyeberang. Jadi, kendala Itakura tidak memperbolehkan jalur panjang horisontal, sesuai

dengan kemiringan ∞. Akhirnya, kendala ini memungkinkan jalur untuk melewati paling

banyak satu vektor fitur dalam pola pengujian.

Page 14: BAB 8 PENCOCOKAN TEMPLATE - [DTETI] …te.ugm.ac.id/.../wp-content/uploads/2010/10/tkpp_bab8.pdfBAB 8 PENCOCOKAN TEMPLATE Anggun Fitrian Isnawati, 06244-S2 TE Sulistyaningsih, 05912-S2

Gambar 8.8 Contoh jalur nonmonotonic. Jalur tersebut tidak diperbolehkan dan tidak

dianggap dalam pencarian optimal.

string, yaitu, satu di posisi j-1 dari sumbu ordinat, dan jalur melompat dari (i-1, j-2) ke (i, j).

Sebaliknya, vektor fitur dalam string referensi tidak dilewati dan semua mengambil bagian

dalam jalur yang optimal. Kendala tersebut dikenal sebagai asimetris.

Sejumlah kendala lokal alternatif juga telah disarankan dan digunakan dalam praktek.

Gambar 8.10 menunjukkan empat jenis kendala dipertimbangkan oleh Sakoe dan Chiba

[Sako 78]. Untuk tipe dalam Gambar 8.10a tidak ada batasan pada tingkat ekspansi/kompresi,

karena transisi horisontal atau vertikal yang berurutan dapat terjadi,

Gambar 8.9 Kendala Itakura lokal. Dua transisi horisontal yang berurutan tidak

diperbolehkan.

Page 15: BAB 8 PENCOCOKAN TEMPLATE - [DTETI] …te.ugm.ac.id/.../wp-content/uploads/2010/10/tkpp_bab8.pdfBAB 8 PENCOCOKAN TEMPLATE Anggun Fitrian Isnawati, 06244-S2 TE Sulistyaningsih, 05912-S2

Gambar 8.10 Kendala lokal Sakoe dan Chiba

sampai salah satu berada di luar kawasan yang ditetapkan oleh kendala global. Sebaliknya, di

Gambar 8.10b transisi horisontal (vertikal) diperbolehkan hanya setelah transisi diagonal dan

di Gambar 8.10d setelah dua transisi diagonal berturut-turut. Dalam Gambar 8.10c, paling

banyak dua berturut-turut transisi horisontal (vertikal) diperbolehkan hanya setelah satu

transisi diagonal. Kemiringan untuk setiap kendala dalam Gambar 8.10a, b, c dan d masing-

masing adalah ∞, 2, 3, dan 3/2, (Permasalahan 8.2). Untuk lebih rinci dari topik tersebut

pembaca yang tertarik dapat berkonsultasi [Dell 93, Silv 90, Myer 80].

Biaya. Umumnya menggunakan biaya, yang akan kami adopsi disini, adalah jarak

Euclidean antara r (ik) dan t (jk), sesuai dengan node (ik, jk), yaitu,

Dalam hal ini, kami mengasumsikan bahwa tidak ada biaya yang berkaitan dengan transisi ke

node tertentu, dan biaya tergantung sepenuhnya pada vektor fitur yang sesuai dengan masing-

masing node. Biaya lain-lain juga telah disarankan dan digunakan [Gray 76, Gray 80]. Baru-

baru ini ([Pikr 02], [Pikr 03]) menggunakan biaya yang dihitung untuk kesalahan yang paling

sering terjadi (misalnya, gaya pemain yang berbeda) dalam konteks pengenalan musik.

Akhirnya, harus dinyatakan bahwa sering kali dilakukan sebuah normalisasi dari biaya

keseluruhan D. Hal ini untuk mengkompensasi perbedaan pada panjang jalur, menawarkan

kesempatan yang “sama” untuk mereka semua. Sebuah pilihan yang logis adalah dengan

membagi biaya keseluruhan D dengan panjang setiap jalur [Myer 80].

Page 16: BAB 8 PENCOCOKAN TEMPLATE - [DTETI] …te.ugm.ac.id/.../wp-content/uploads/2010/10/tkpp_bab8.pdfBAB 8 PENCOCOKAN TEMPLATE Anggun Fitrian Isnawati, 06244-S2 TE Sulistyaningsih, 05912-S2

Keseluruhan biaya yang dihasilkan untuk dua pola pengujian pada Gambar 8.5,

melawan pola referensi dari Gambar 8.4, dengan menggunakan kendala Itakura, masing-

masing adalah D=11,473 dan D=25,155. Dengan demikian, biaya keseluruhan untuk kata

“love” lebih rendah daripada biaya keseluruhan untuk kata "kiss", dan prosedur kami telah

mengakui kata yang diucapkan benar. Biaya normalisasi keseluruhan yang dihasilkan setelah

membagi dengan jumlah node di sepanjang jalur masing-masing adalah 0,221 dan 0,559.

8.3 UKURAN BERDASARKAN KORELASI

Tugas utama yang akan dibahas pada bagian ini dapat diringkas sebagai berikut: "Diberikan

blok data rekaman, cari apakah sebuah pola (referensi) spesifik dikenal terkandung dalam

blok dan dimana lokasinya". Jenis aplikasi ini ditemukan dalam analisis tempat, ketika kita

ingin mencari benda tertentu di gambar. Masalah tersebut muncul dalam banyak aplikasi,

seperti deteksi target, visi robot, dan pengkodean video. Sebagai contoh, dalam pengkodean

video langkah utama adalah dari estimasi gerak, yaitu, proses menemukan piksel yang sesuai

(diantaranya, objek yang sama-sama pindah) di antara frame gambar berturut-turut pada

waktu yang berbeda. Langkah ini kemudian diikuti oleh tahap kompensasi gerak, yang

mengkompensasi untuk perpindahan objek bergerak dari satu frame ke frame yang lain.

Tahap berikutnya kemudian mengkodekan perbedaan frame:

dimana r (i, j, t) adalah tingkat abu-abu pixel dari frame gambar pada waktu t dan r (i-m, t-n,

t-1) nilai-nilai pixel yang sesuai di lokasi ruang i-m, j-n dari frame sebelumnya pada waktu t-

1. Dengan cara ini, kita mengkodekan hanya information baru yang terkandung pada frame

terakhir, untuk menghindari redundansi.

Asumsikan bahwa kita diberi pola referensi yang dinyatakan sebagai sebuah M x N

array gambar r (i, j), i = 0,..., M-1, j = 0,..., N-1, dan I x J array gambar t (i, j), i = 0,..., I-1, j =

0, ... , J-1, di mana M ≤ I, N ≤ J. Tujuannya adalah untuk mengembangkan ukuran untuk

mendeteksi sebuah M x N subimage N dalam t(i, j) yang paling cocok pola referensi r (i, j).

Untuk tujuan ini, gambar referensi r (i, j) adalah ditumpangkan pada gambar pengujian dan

diterjemahkan ke semua posisi yang mungkin (m,n) di dalamnya. Untuk setiap titik (m,n),

tidak cocok antara r (i. j) dan M x N subimage t (i, j) dihitung menurut:

Pencocokan template dilakukan dengan pencarian lokasi (m,n) untuk D (m,n) minimum. Mari

kita bentuk komputasi ini menjadi bentuk yang lebih menarik.

Persamaan (8.4) adalah setara dengan:

Page 17: BAB 8 PENCOCOKAN TEMPLATE - [DTETI] …te.ugm.ac.id/.../wp-content/uploads/2010/10/tkpp_bab8.pdfBAB 8 PENCOCOKAN TEMPLATE Anggun Fitrian Isnawati, 06244-S2 TE Sulistyaningsih, 05912-S2

Peubah acak yang kedua adalah konstanta untuk pola referensi yang diberikan. Dengan

asumsi bahwa yang pertama tidak merubah banyak pada gambar, yaitu, tidak ada banyak

variasi dari tingkat piksel abu-abu di atas gambar pengujian, nilai minimum D (m, n) telah

tercapai ketika:

bernilai maksimum untuk semua lokasi yang mungkin (m, n). Kuantitas c (m,n) tidak dihitung

melainkan dari urutan cross-korelasi antara t (i, j) dan r (i, j) yang dihitung pada titik (m,n).

Dalam kasus yang asumsi tingkat variasi abu-abu kecil tidak valid, ukuran ini sangat sensitif

terhadap variasi tingkat keabuan dalam t(i, j). Dalam kasus seperti koefisien cross korelasi,

didefinisikan sebagai:

adalah ukuran yang lebih tepat. Di sini cN (m,n) adalah versi normal c (m, n) dan variasi pada

t(i, j) cenderung untuk pembatalan. Perlu diingat kembali ketidaksamaan Cauchy-Schwarz :

Kesamaan terjadi jika dan hanya jika:

dengan α menjadi konstanta yang berubah-ubah. Oleh karena itu, cN (m,n), selalu kurang dari

satu dan mencapai nilai maksimum satu hanya jika subimage (pengujian) adalah sama (dalam

faktor skala) sebagai pola referensi.

Dalam diskusi kami sejauh ini, kami telah mengasumsikan bahwa pola referensi hanya

diterjemahkan dalam t (i, j) dan tidak ada rotasi atau penskalaan yang terlibat. Dalam aplikasi

seperti pengkodean video, hal ini adalah asumsi yang valid dan telah diadopsi di standar

pengkodean video [Bhas 95]. Namun, hal ini tidak selalu terjadi dan teknik harus

dimodifikasi. Salah satu cara adalah untuk menggambarkan referensi dan pengujian subimage

dalam hal saat invarian dan mengukur kesamaan dengan menggunakan korelasi yang

melibatkan peristiwa-peristiwa ini [Hall 79] (Permasalahan 8.4). Rotasi dan teknik skala

invarian lainnya, menggunakan kombinasi transformasi Fourier dan Mellin, seperti yang

digambarkan dalam [Scha 89]. Teknik ini mencoba untuk mengeksploitasi translasi invarian

dari magnitude transformasi Fourier (sudah dibahas dalam Bab 7) dan skala invarian

transformasi Mellin ([Ravi 95], Permasalahan 8.5). Jalur lain, yang tentu saja permintaan

sumber daya komputasi yang tinggi, adalah memiliki satu set referensi template yang

menyimpang (misalnya, diputar dan diskalakan) untuk menutup segala kemungkinan.

Korelasi yang cocok kemudian akan mengungkapkan manakah yang paling cocok antara pola

pengujian dan salah satu referensi template. Sebuah teknik komputasi yang lebih menarik

menggunakan transformasi Karhunen-Lobve [Ueno 97]. Ide utamanya adalah bahwa template

yang diputar sangat berkorelasi, dan masing-masingnya dapat didekati dengan proyeksinya

ke sebuah dimensi ruang eigen yang lebih rendah, dengan menggunakan eigenvector yang

Page 18: BAB 8 PENCOCOKAN TEMPLATE - [DTETI] …te.ugm.ac.id/.../wp-content/uploads/2010/10/tkpp_bab8.pdfBAB 8 PENCOCOKAN TEMPLATE Anggun Fitrian Isnawati, 06244-S2 TE Sulistyaningsih, 05912-S2

paling signifikan dari matriks korelasinya. Pencocokan pola yang tidak diketahui dengan

template dari orientasi yang tepat dilakukan di dalam ruang dimensi yang lebih rendah, yang

mengarah pada simpanan komputasi yang besar.

Contoh 8.1. Citra t (i, j) pada Gambar 8.11a berisi dua benda, obeng dan palu. Yang terakhir

adalah objek yang kita ingin cari pada citra. Citra referensi akan ditampilkan di sudut kanan

atas Gambar 8.11a. Daerah bertitik menunjukkan posisi umum(n, m) citra referensi bila

ditumpangkan pada citra yang diuji. Gambar 8.11b menunjukkan cross-correlation c (m, n)

antara kedua citra. Kami telah amati bahwa maksimum (hitam) terjadi pada posisi (13, 66),

yaitu, dimana palu terletak di t (i, j).

Gambar 8.11 Contoh dari (a) referensi dan citra pengujian dan (b) korelasi antara keduanya.

Pertimbangan Komputasional

Dalam beberapa kasus, lebih efisien untuk menghitung cross-correlation dengan

menggunakan transformasi Fourier. Ingatlah bahwa dalam domain frekuensi (8.6)

dapat ditulis sebagai

dimana T(k,l), R(k,l) merupakan transformasi DFT dari t (i, j) dan r (i, j), masing-

masing, dengan notasi “*”yang menunjukkan konjugasi kompleks. Tentu saja, untuk

menuliskan (8.8) kedua citra memiliki ukuran yang sama. Jika tidak, kasus biasanya,

sejumlah nol harus ditambahkan untuk memperpanjang citra yang berukuran lebih

kecil. c(m, n) diperoleh melalui invers DFT dari C(k, I). Dengan mempertimbangkan

efisiensi komputasi FFT, prosedur ini dapat mengakibatkan penghematan

ketergantungan, tentu saja, pada ukuran relatif dari M, N dan I, J.

Sebuah beban komputasi utama dalam pencocokan berbasis korelasi template adalah

pencarian atas piksel t (i, j) untuk mencari korelasi maksimum. Biasanya, pencarian

dibatasi dalam kotak [p-, p] x [-p, p] yang berpusat pada titik (x, y) di t (i, j). Sebagai

contoh, dalam video coding, jika blok M x N yang berpusat pada posisi (x,y) dalam

frame waktu t - 1, maka frame saat ini yang dicari dalam (x±p, y±p). Nilai p

tergantung pada aplikasi. Untuk siaran TV, p = 15 telah mencukupi. Untuk acara

olahraga (dengan pergerakan tinggi) lebih tepat menggunakan p = 63. Dengan

demikian, pencarian lengkap untuk maksimum dari c(m, n), didefinisikan dalam (8.6),

akan membutuhkan sejumlah penambahan dan perkalian yang proporsional dengan

Page 19: BAB 8 PENCOCOKAN TEMPLATE - [DTETI] …te.ugm.ac.id/.../wp-content/uploads/2010/10/tkpp_bab8.pdfBAB 8 PENCOCOKAN TEMPLATE Anggun Fitrian Isnawati, 06244-S2 TE Sulistyaningsih, 05912-S2

(2p+1)2

M N. Hal ini menyebabkan penambahan sejumlah besar operasi. Dengan

demikian, dalam prakteknya, teknik pencarian heuristic suboptimal biasanya

digunakan, walaupun hal ini tidak menjamin mencari maksimal, tetapi mengurangi

jumlah operasi yang diperlukan secara substansial. Ada dua arah utama. Salah satunya

adalah untuk mengurangi poin pencarian dan yang lainnya adalah untuk mengurangi

ukuran citra yang terlibat.

Pencarian Logaritmis Dua-Dimensi

Pencarian logaritmis Gambar 8.12 menunjukkan bahwa area pencarian persegi [-p,p] x

[-p,p] untuk kasus p = 7. Pusat persegi diasumsikan pada titik (0, 0). Perhitungan cross-

correlation pertama kali dilakukan pada pusat serta delapan titik yang terletak perimeter

di dalam daerah [-p/2, p/ 2] x [-p/2, p/2] (p/2 dibulatkan ke suatu integer). Titik-titik ini

ditandai dengan bujursangkar. Jarak antara titik-titik ini dl = 4 pixel, yaitu dimana dl = 2k-1

dan k = [log2 p], dimana R.1 menunjukkan pembulatan ke integer pertama yang lebih

besar. Untuk p = 7, k = 3 dan dl = 4. Kami akan menunjukkan prosedur melalui contoh.

Mari kita berasumsi bahwa nilai cross-correlation terbesar dihasilkan pada posisi (-4, 0)

(persegi berbayang). Kemudian kita anggap ini titik sebagai pusat persegi panjang ukuran

[-p/4,p/4]x[-p/4,p/4] ([-2,2] x [-2,2] dalam kasus ini) dan menghitung korelasi pada

delapan poin pada garis keliling tersebut.

Gambar 8.12 Pencarian logaritmis untuk menemukan titik cross-correlation maksimum.

Titik-titik ini dinotasikan dengan lingkaran dan jarak antar titik kini d2 = dl/2(2). Proses ini

diulang dan kemudian perhitungan dilakukan pada delapan titik (berlian) pada garis keliling

persegi panjang ukuran [-1, 1] x [-1,1] yang berpusat di titik optimum (dari langkah

sebelumnya) lingkaran berbayang. Jarak antara titik-titik berlian adalah d3 = 1. Berlian

berbayang yang sesuai dengan titik dengan cross-correlation maksimum dan proses

kemudian dihentikan. Jumlah komputasi sekarang telah direduksi menjadi MN(8k+1)

operasi, hal ini merupakan penghematan besar dibandingkan dengan pencarian lengkap.

Page 20: BAB 8 PENCOCOKAN TEMPLATE - [DTETI] …te.ugm.ac.id/.../wp-content/uploads/2010/10/tkpp_bab8.pdfBAB 8 PENCOCOKAN TEMPLATE Anggun Fitrian Isnawati, 06244-S2 TE Sulistyaningsih, 05912-S2

Varian dari pencarian logaritmis dua dimensi adalah dengan mencari i dan j yang

arahnya independen. Titik yang koordinatnya merupakan nilai terbaik yang dihasilkan oleh i

dan j menjadi asal baru dari sistem koordinat, dan pencarian diulangi dalam i baru, arah j,

dengan jarak yang lebih kecil d. Proses ini diulang sampai jaraknya menjadi satu.

Pencarian Hirarkis

Teknik ini dikembangkan dari konsep multiresolusi pada Bab 6. Mari kita ambil contoh lagi.

Langkah 1: Sebuah blok referensi, katakanlah, 16 x 16 diberikan dan daerah pencarian

diasumsikan merupakan persegi [-p, p]x [-p, p], berpusat pada titik (x, y) pada citra

pengujian. Kita lihat versi citra level 0. Kedua blok referensi dan citra pengujian

ditapis low- pass dan di-subsample dengan 2, sehingga memberikan hasil pada level 1

versinya. Jumlah total pixel dalam versi level 1 telah dikurangi oleh 4. Versi level 1

pada gilirannya ditapis low-pass dan disub-sampel, hingga versi level 2. Secara

umum, proses ini dapat dilanjutkan.

Langkah 2: Pada level 2 pencarian untuk maksimum berlangsung dengan 4 x 4 versi

low-pass blok referensi. Area pencarian pada level 2 versi low-pass dari citra

pengujian merupakan persegi panjang [-p/4, p/4] x[-p/4, p/4] yang berpusat di (x/4,

y/4). Baik pencarian penuh atau logaritmisk dapat digunakan. Ambil (x1, y1)

merupakan koordinat optimal, sehubungan dengan (x/4, y/4).

Langkah 3: Pada level 1, pencarian maksimal dilakukan dengan menggunakan

menyesuaikan blok referensi versi 8 x 8. Daerah pencarian, dalam versi 1 tingkat citra

pengujian, merupakan persegi panjang dengan ukuran [- 1,1 ] x [-1,1] yang berpusat

di (x/2 + 2x1, y/2 + 2yl), yaitu total sembilan piksel. Hal ini karena delapan pixel di

perimeter daerah ini tidak dilibatkan pada level 2, terkait dengan subsampling (lihat

Gambar 6.16 dari Bab 6). Titik pusat juga harus dimasukkan untuk dapat diperoleh

perbandingan yang adil di level ini untuk mencari maksimal. Ambil maksimum

terjadi pada (x2, y2) dengan (x/2, y/2).

Langkah 4: Pada level 0 pencarian dilakukan dengan menggunakan template referensi

asli, di dalam area dengan ukuran [-1,1]x[-1,1] yang berpusat di (x+2x2, y+2y2) pada

citra pengujian. Lokasi maksimum ini merupakan yang terakhir dan proses

dihentikan.

Penghematan komputasi dengan metode ini tergantung pada jumlah level, serta jenis

pencarian yang diadopsi pada tingkat tertinggi (Permasalahan 8.5). Secara umum, metode

hirarkis sangat efisien dari sudut pandang komputasi. Hal ini diperoleh dengan

mengorbankan kebutuhan memori yang meningkat, karena berbagai versi citra yang harus

disimpan. Salah satu kelemahan metode ini adalah bahwa jika benda-benda kecil

hadir dalam template, mereka mungkin menghilang pada citra dengan resolusi terendah

karena subsampling tersebut. Selanjutnya, metode ini tidak dapat menjamin untuk

menemukan kecocokan global terbaik. Dalam [Alkh 01] sebuah filosofi alternatif yang

disarankan menghasilkan kecocokan global terbaik. Penghematan komputasi yang dicapai

dengan pemangkasan jumlah calon kecocokan terbaik pada suatu level, dengan menggunakan

hasil pada tingkat yang lebih tinggi dan nilai ambang batas terpilih yang lebih tepat.

Metode Sequential

Sejumlah teknik lainnya juga telah disarankan. Sebagai contoh, metode pencarian sequential

dengan menghitung varian dari (8.4) secara langsung. Secara khusus, tentukan

Page 21: BAB 8 PENCOCOKAN TEMPLATE - [DTETI] …te.ugm.ac.id/.../wp-content/uploads/2010/10/tkpp_bab8.pdfBAB 8 PENCOCOKAN TEMPLATE Anggun Fitrian Isnawati, 06244-S2 TE Sulistyaningsih, 05912-S2

Dengan demikian, kesalahan dihitung di daerah jendela yang lebih kecil dan secara berurutan

meningkat, untuk p, q = 1,2,. . . dan p ≤ M, q ≤ N. Perhitungan berhenti ketika Dpq (m, n)

menjadi lebih besar daripada ambang batas yang telah ditentukan. Kemudian perhitungan

mulai dari arah yang berbeda (m, n). Dari sinilah penghematan dicapai, karena untuk posisi

yang buruk hanya membutuhkan sejumlah kecil perhitungan.

8.4 MODEL TEMPLATE YANG DAPAT DI DEFORMASI

Pada bagian sebelumnya kita dianggap sebagai masalah mencari pola referensi yang dikenal

(template) dalam citra pengujian. Kita berasumsi bahwa template dan objek, yang berada

dalam citra, adalah identik. Satu-satunya perbedaan yang diperbolehkan untuk masuk ke

dalam diskusi kita yang dikenakan oleh orientasi yang berbeda dan/ atau scaling. Namun, ada

banyak masalah di mana kita tahu sebuah priori yang template-nya tersedia dan objek yang

kita cari dalam citra tersebut tidak mungkin terlihat sama persis. Hal ini mungkin karena

kondisi pencitraan yang berbeda-beda, keadaan macet (oklusi), dan segmentasi citra yang

tidak sempurna. Selanjutnya, dalam suatu sistem basisdata berbasis isi pengambilan citra,

pengguna dapat memberikan sketsa bentuk objek yang akan diambil pada sistem. Jelas,

sketsa tidak akan sama persis dengan objek yang berhubungan dalam database citra. Tujuan

kami dalam bagian ini adalah untuk memungkinkan prosedur pencocokan template untuk

menjelaskan penyimpangan antara template referensi dan pola pengujian yang sesuai pada

citra. Dalam diskusi kita, kita akan mengasumsikan bahwa template referensi yang tersedia

dalam bentuk larik citra yang berisi informasi batas citra obyek (kontur). Artinya, kita akan

fokus pada informasi bentuk saja. Ekstensi menggabungkan informasi lebih lanjut, misalnya,

tekstur, juga mungkin.

Mari kita tunjukkan referensi array template citra sebagai r (i, j). Hal ini juga dikenal

sebagai prototipe. Ide dasar dibalik prosedur deformable template matching sederhana:

merusak prototipe dan memproduksi varian cacat yang diubah tersebut. Dari sudut pandang

matematis sebuah deformasi terdiri dari penerapan sebuah parameter transformasi Tξ pada

r(i,j) untuk menghasilkan T versi terdeformasi Tξ ([r (i, j)]. Nilai-nilai yang berbeda dari

parameter vektor ξ mengacu pada versi yang berbeda. Dari kumpulan varian prototype yang

terdeformasi bisa dihasilkan, akan ada satu pasangan yang “terbaik” sesuai dengan pola

pengujian. Kebaikan kecocokan diukur dengan biaya, yang akan kita sebut sebagai

pencocokan energi Em (ξ). Jelas, tujuannya adalah untuk memilih ξ (sehingga Em(ξ)) adalah

minimum. Namun, hal ini tidaklah cukup. Jika, misalnya, set parameter optimal adalah

sedemikian rupa sehingga sesuai template terdeformasi telah berubah bentuk sedemikian rupa

sehingga sedikit menyisakan kemiripan dengan prototipe asli, maka metode tersebut akan

tidak bermakna. Jadi, satu lagi istilah yang harus diperhitungkan dalam proses optimisasi. Hal

ini adalah mengukur biaya ”deformasi” yang prototipe perlukan untuk menjalani agar sesuai

dengan pola pengujian. Kita akan sebut istilah biaya ini sebagai deformasi energi Ed (ξ).

Kemudian parameter vektor yang optimal dihitung, sehingga

Dengan kata lain, orang bisa berpikir dari kurva batas prototipe dibuat dengan karet.

Kemudian dengan bantuan pensil kita merusak bentuk kurva karet untuk mencocokan dengan

pola pengujian. Semakin kita merusak bentuk bentuk prototipe, semakin tinggi pula energi

yang kita harus keluarkan untuk itu. Energi, dihitung dengan Ed (ξ), tergantung pada bentuk

Page 22: BAB 8 PENCOCOKAN TEMPLATE - [DTETI] …te.ugm.ac.id/.../wp-content/uploads/2010/10/tkpp_bab8.pdfBAB 8 PENCOCOKAN TEMPLATE Anggun Fitrian Isnawati, 06244-S2 TE Sulistyaningsih, 05912-S2

prototipe. Artinya, itu adalah properti intrinsik prototipe dan hal ini adalah alasan bahwa hal

itu juga dikenal sebagai energi internal. Istilah lain energi, Em (ξ), tergantung pada data input

(citra pengujian) dan kita biasa menyebutnya sebagai eksternal energi. Parameter vektor yang

optimal ξ dipilih sehingga tawar-menawar terbaik antara kedua istilah energi tercapai.

Kadangkala, faktor pembobotan C digunakan untuk memberikan preferensi untuk salah satu

dari dua syarat dan ξ dihitung sehingga

Oleh karena itu, untuk menerapkan prosedur di atas dalam satu praktek harus memiliki

pembuangan bahan sebagai berikut:

Sebuah prototipe

Sebuah prosedur transformasi untuk merusak prototipe

Jangka waktu dua fungsi energi

Pemilihan Prototipe

Hal ini seharusnya dipilih dengan cermat sehingga merupakan perwakilan (khas) dari

berbagai instansi di mana obyek ini diharapkan muncul dalam praktek. Di satu sisi, prototipe

harus menyandikan karakteristik “bentuk utama” yang sesuai “kelas bentuk”.

Transformasi Deformasi

Ini terdiri dari satu set operasi parametrik. Ambil (x, y) menjadi koordinat (kontinu) sebuah

titik dalam sebuah citra 2D. Tanpa kehilangan keumuman, kita anggap bahwa citra

didefinisikan dalam persegi [0,1]x[0,1]. Kemudian setiap titik (x,y) adalah dipetakan

menggunakan suatu fungsi pemetaan kontinyu, sebagai

Untuk array citra diskrit sebuah langkah kuantisasi diperlukan setelah transformasi. Fungsi

yang berbeda dapat digunakan untuk melakukan pemetaan di atas. Sebuah set yang telah

berhasil digunakan dalam praktek adalah ([Amit 91])

Page 23: BAB 8 PENCOCOKAN TEMPLATE - [DTETI] …te.ugm.ac.id/.../wp-content/uploads/2010/10/tkpp_bab8.pdfBAB 8 PENCOCOKAN TEMPLATE Anggun Fitrian Isnawati, 06244-S2 TE Sulistyaningsih, 05912-S2

Gambar 8.13 (a) Suatu pola referensi, (b) kontur yang digunakan sebagai prototipe, dan (c),

(d), (e) tiga dari varian yang cacat.

untuk nilai terpilih yang tepat dari M, N. Konstanta normalisasi αMN dapat diambil sebagai

Fungsi dasar lain bisa juga digunakan, seperti splines atau wavelet. Gambar 8.13

menunjukkan prototipe untuk sebuah objek dan tiga versi cacat yang diperoleh untuk kasus

paling sederhana dari model transformasi dalam (8.13)-(8.16),yaitu M = N = 1.

Energi Internal

Ini harus minimum untuk tanpa deformasi, yaitu untuk ξ = 0. Sebuah pilihan yang masuk

akal, berkaitan dengan fungsi transformasi dipertimbangkan di atas, adalah

Energi Eksternal

Di sini sekali lagi beberapa pilihan yang mungkin, mengukur kebaikan kesesuaian antara pola

pengujian dan masing-masing varian template cacat. Sebagai contoh, untuk posisi tertentu,

orientasi, dan skala template cacat, istilah energi ini dapat diukur dalam hal jarak setiap titik

Page 24: BAB 8 PENCOCOKAN TEMPLATE - [DTETI] …te.ugm.ac.id/.../wp-content/uploads/2010/10/tkpp_bab8.pdfBAB 8 PENCOCOKAN TEMPLATE Anggun Fitrian Isnawati, 06244-S2 TE Sulistyaningsih, 05912-S2

di kontur template terdeformasi dari titik terdekat dalam kontur citra pengujian, I. Salah satu

cara untuk mencapai tujuan ini adalah melalui fungsi energi sebagai berikut:

dimana θ adalah parameter vektor yang menentukan posisi, orientasi, dan skala dan Nd

jumlah piksel kontur dari template yang cacat, dan

Dimana ρ konstan dan (δi, δj) adalah perpindahan dari piksel (i, j) dari template terdeformasi

dari titik terdekat pada citra pengujian. Pada [Jain 96] arah informasi juga dimasukkan ke

dalam biaya.

Keterangan Satu dapat tiba di (8,10) dengan cara yang lebih sistematis melalui argumen

probabilistik, yaitu, dengan berusaha untuk memaksimalkan kepadatan aposteriori

probabilitas (ξ,θ) diberikan array citra pengujian, yaitu,

dimana aturan Bayes sudah bekerja. Dalam kerangka ini, (8,17) menghasilkan jika

kita menganggap bahwa berbagai parameter , adalah statistik independen dan

terdistribusi normal, misalnya, p (ξ) = N (0, σ2). Varian yang lebih tinggi dari σ

2 lebih

lebar dari kisaran nilai-nilai yang terjadi dengan probabilitas tinggi. Untuk

mendapatkan (8,18) - (8.19) model

diadopsi, di mana a adalah konstan ternormalisasi [Jain 96].

Biaya dalam (8.10) adalah fungsi nonlinier dan meminimalkan yang dapat dicapai

melalui skema optimasi nonlinier. Selain kompleksitas, utama menggambar-kembali

adalah bahaya di mana-mana bahwa algoritma akan terjebak dalam minimum lokal.

Dalam [Jain 96] sebuah prosedur telah disampaikan bahwa membangun dengan

metodologi turunan gradien (Lampiran C) Idenya adalah untuk mengadopsi

pendekatan multi resolusi iteratif dan menggunakan nilai ρ yang lebih besar dalam

(8.19) untuk level kasar dan nilai yang lebih kecil untuk yang lebih halus. Prosedur ini

tampaknya membantu algoritma untuk menghindari minimum lokal, dengan biaya

komputasi yang terjangkau.

Metodologi yang kita dijelaskan dalam bagian ini mnerupakan milik kelas yang lebih

umum dari teknik deformable template matching, yang dibangun di sekitar prototipe

yang tersedia. Ini bukan hanya jalur yang tersedia. Kelas lain dari model yang

terdeformasi berasal dari deskripsi analitik dari bentuk prototipe, dengan

menggunakan satu set parameter bentuk geometris, misalnya, elips atau kurva

parabola. Untuk mempelajari isu-isu yang lebih dalam pembaca bisa merujuk pada

artikel review [Jain 98, McIn 96, Cheu 02] dan referensi di dalamnya. [Widr 73, Fisc

Page 25: BAB 8 PENCOCOKAN TEMPLATE - [DTETI] …te.ugm.ac.id/.../wp-content/uploads/2010/10/tkpp_bab8.pdfBAB 8 PENCOCOKAN TEMPLATE Anggun Fitrian Isnawati, 06244-S2 TE Sulistyaningsih, 05912-S2

73] tampaknya merupakan upaya pertama memperkenalkan konsep model deformable

dalam visi komputer.

Dalam konteks pengenalan pola, diberikan pola pengujian yang tidak diketahui, kita

berusaha untuk melihat yang mana dari dari satu set prototipe yang berbeda yang

dikenal oleh pencocokan terbaik. Untuk masing-masing prototipe, cacat varian

terbaik dipilih berdasarkan pada biaya energi minimum. Prototipe yang menang

adalah yang terbaik adalah yang cacat hasil varian dalam keseluruhan biaya energi

minimum.