BAB 8 PENCOCOKAN TEMPLATE - Teknik Elektro UGM
BAB 8 PENCOCOKAN TEMPLATE - Teknik Elektro UGM
BAB 8 PENCOCOKAN TEMPLATE - Teknik Elektro UGM
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Biaya keseluruhan sampai dengan node (i k , j k ) dinotasikan dengan D (i k , j k ) dan dengankonvensi 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 yangoptimal antara elemen-elemen dari dua urutan, dimana hal ini merupakan bagian penting,karena dua urutan ini memiliki panjang yang berbeda. Dengan kata lain, prosedur jaluroptimal membuat alignment atau warping dari elemen string pengpengujianan ke elemenelemenstring referensi, sesuai dengan nilai pencocokan terbaik. Sebelum kita berbicaratentang prosedur optimasi, kita harus mengetahui bahwa ada beberapa variasi dari skema ini.Misalnya, seseorang tidak mungkin memaksakan kendala tertentu memiliki jalur yanglengkap tetapi mungkin dapat mengadopsi lebih lunak kendala-kendala yang dikenal sebagaikendala-kendala titik akhir (end point constrain). Selain itu, orang bisa mengaitkan biayatidak hanya dengan setiap node tetapi juga dengan masing-masing transisi antar node,membuat transisi lebih mahal daripada yang lain. Dalam beberapa kasus, biaya di sebuahnode (i k , j k ) juga tergantung pada transisi spesifik, yaitu, dari yang node (i k-1 , j k-1 ) maka node(i k , j k ) tercapai. Dengan demikian, biaya d sekarang dari bentuk d (i k , j k │i k-1 , j k-1 ) dan biayajalur keseluruhan adalah:Pada beberapa kasus, biaya jalur keseluruhan didefinisikan sebagai perkalian product:Akhirnya, ada beberapa kasus dimana d dipilih sehingga dibutuhkan biaya maksimalbukannya minimal. Jelas bahwa pada semua variasi kondisi awal yang tepat harus diadopsi.Kita kembali ke masalah optimasi itu sendiri. Untuk memperoleh jalur terbaik, harus dicarisemua kemungkinan yang ada dari kombinasi jalur. Namun, ini adalah prosedur komputasiyang mahal. Algoritma pemrograman dinamis berdasarkan prinsip Bellman merupakan alatyang kuat yang akan diadopsi untuk mengurangi kompleksitas komputasi.8.2.1 Prinsip Optimalisasi Bellman dan Pemrograman DinamisBiarkan jalur optimal antara node awal (i 0 , j 0 ) dan node akhir (i f , j f ) dinotasikan sebagai:Jika (i, j) adalah note pertengahan antara (i 0 , j 0 ) dan (i f , j f ), kita akan menunjukkan kendalajalur optimal melalui (i, j ) sebagai:
Prinsip Bellman menyatakan bahwa [Bell 57]dimana Ө menunjukkan rangkaian jalur. Dengan kata lain, prinsip Bellman menyatakanbahwa jalur optimal secara keseluruhan dari (i 0 , j 0 ) ke (i f , j f ) melalui (i, j) adalah rangkaianjalur optimal dari (i 0 , j 0 ) ke (i, j) dan jalur optimal dari (i, j) ke (i f , j f ). Konsekuensi dariprinsip ini adalah bahwa sekali kita berada di (i, j) melalui jalur optimal, maka untukmencapai (i f , j f ) secara optimal kita hanya perlu mencari jalur optimal dari (i, j) ke (i f , j f ).Kita dapat menyatakan ini dengan cara yang akan berguna bagi kita di kemudian hari.Asumsikan bahwa kita berangkat dari (i 0 , j 0 ) dan biarkan node ke-k dari jalur menjadi (i k , j k ).Tujuannya adalah untuk menghitung biaya minimum yang dibutuhkan untuk mencapai nodeberikutnya. Transisi ke (i k , j k ) harus diambil dari salah satu node yang mungkin yangdiperbolehkan untuk berada di posisi ke-(k–1) dari jalur (yaitu node (i k-1 , j k-1 )). Hal inipenting dilakukan. Untuk setiap node dari grid, kita asumsikan bahwa ada satu setpredecessor (pendahulu) yang diperbolehkan, yang didefinisikan sebagai kendala lokal (localconstrain). Prinsip Bellman mengarah pada:Memang, biaya minimal keseluruhan untuk mencapai node (i k , j k ) merupakan biaya minimumsampai ke node (i k-1 , j k-1 ) ditambah dengan biaya tambahan transisi dari (i k-1 , j k-1 ) ke (i k , j k ).Selanjutnya, pencarian minimum dibatasi hanya dalam set pendahulu yang diperbolehkanuntuk node (i k , j k ). Prosedur ini dilakukan pada semua node dari grid. Namun, dalam banyakkasus tidak semua node dari grid terlibat, dan pencarian jalur yang optimal terjadi antarasubset dari grid tersebut, yang didefinisikan melalui apa yang disebut sebagai kendala global.Algoritma yang dihasilkan dikenal sebagai pemrograman dinamis. Persamaan (8.1) harusdimodifikasi sesuai biaya D yang diberikan dalam bentuk perkalian dan / atau jikamaksimalisasi diperlukan.Kita fokus pada tugas pencocokan pola string dan melihat bagaimana persamaanrekursif (8.1) digunakan untuk membangun jalur lengkap yang optimal. Gambar 8.2mengilustrasikan prosedur. Himpunan node yang terlibat dalam optimisasi (kendala global)ditandai sebagai titik gelap, dan kendala lokal, mendefinisikan transisi yang diperbolehkandiantara node-node ini, yang ditunjukkan pada gambar dengan garis tipis. Setelah diputuskanuntuk mencari jalur lengkap dan asumsi D (0,0) = 0, biaya masing-masing D (i l , j 1 ) untuksemua node diperbolehkan yang terlibat dalam langkah k = 1 dihitung melalui (8,1) (dalamkasus 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 nodeterakhir (I, J). Urutan transisi menuju D minimum (I, J) dari node terakhir menentukan jalurbiaya minimum, dinotasikan dengan garis tebal. Korespondensi node optimal, antara polareferensi dan pola pengujian, kemudian dapat terurai dengan cara menarik kembali jalur yangoptimal. Pada contoh gambar 8.2, masing-masing langkah k dari rekursi hanya melibatkannode-node dengan koordinat absis yang sama, yang mencerminkan kendala lokal yangdiadopsi. Umumnya, hal ini tidak diperlukan dan topologi yang terlibat lebih dapatdigunakan. Namun, filosofi pencarian minimum tetap sama. Dalam sekuel, kita akanmenerapkan prosedur di dua wilayah aplikasi populer yang berbeda.
8.2.2 Jarak EditPada bagian ini terkait dengan pola yang terdiri dari set order simbol. Misalnya, jika simbolini merupakan huruf, maka polanya adalah kata-kata dari teks tertulis. Masalah-masalah akanmuncul dalam pengeditan otomatis dan aplikasi mendapatkan teks kembali. Contoh lain daristring simbol terjadi dalam pengenalan pola struktural.Gambar 8.2 Jalur optimal yang dibangun dengan pencarian diantara semua jalur yangdiperbolehkan, sebagaimana yang didefinisikan oleh kendala lokal dan globalSetelah simbol dari pola (pengujian) telah diidentifikasi, misalnya, melalui perangkatpembaca, tugas selanjutnya adalah mengenali pola, mencari yang paling cocok terhadap satuset pola referensi. Ukuran yang akan diadopsi untuk prosedur pencocokan seharusnyamemperhitungkan kesalahan yang muncul, yang mungkin terjadi selama tahap identifikasisimbol.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 kitaakan mengadopsi filosofi di balik apa yang disebut sebagai variational similarity. Dengankata lain, kesamaan diantara dua pola yang didasarkan pada “biaya” terkait denganmengkonversi satu pola ke pola yang lain. Jika pola tersebut mempunyai panjang yang sama,maka biaya secara langsung berhubungan dengan jumlah simbol yang harus diubah sehinggadihasilkan pola yang lain. Yang lebih menarik lagi ketika dua pola tidak mempunyai panjangyang sama. Dalam kasus ini, simbol harus dihapus maupun disisipkan pada tempat-tempattertentu dari string pengujian. Lokasi dimana penghapusan atau penyisipan dilakukanmengisyaratkan sebuah kesejajaran optimal (warping) di antara simbol dari dua pola. Jarak
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 dinamismenghasilkan algoritma berikut:Algoritma untuk Komputasi Jarak EditD (0,0) = 0For I = 1 to ID (i, 0) = D (i-1,0) + 1End { For }For j = 1 to JD (0, j) = D (0, j-1) + 1End { For }
Gambar 8.4 Plot (a) urutan waktu sesuai dengan kata "love" dan (b) besarnya DFT, dalamdB, untuk salah satu frame-nya.Gambar 8.4a dan 8.5a menunjukkan plot dari dua urutan waktu akibat sampling darikata “love”, kata yang diucapkan dua kali oleh pembicara yang sama. Sampel diambil padaoutput mikrofon di tingkat sampling 22050 Hz. Meskipun sulit untuk menggambarkanperbedaan, ini dapat segera terlihat. Selain itu, dua kata yang diucapkan merupakan durasiyang berbeda. Tanda panah menunjukkan (kira-kira) interval di mana segmen diucapkankebohongan. Interval luar panah sesuai dengan periode diam. Secara khusus, urutan padaGambar 8.5a adalah panjang 0,4 detik, dan urutan pada Gambar 8.4a adalah panjang 0,45detik. Selain itu,
Gambar 8.6 Frame overlap berturutan untuk perhitungan vektor fitur DFTSetiap urutan waktu yang terlibat dibagi ke dalam frame waktu overlap berturut-turut. Dalamkasus ini, setiap frame dipilih menjadi t f = 512 panjang sampel dan overlap antara frameyang berurutan untuk t 0 = 100 sampel, seperti terlihat pada Gambar 8.6. Jumlah frame yangdihasilkan untuk segmen bicara yang ditunjukkan pada Gambar 8.4a adalah I = 24, dan untukdua yang lain masing-masing adalah J = 21 (Gambar 8.5a) dan J = 23 (Gambar 8.5b). Kamiberasumsi bahwa yang lebih awal adalah pola referensi dan dua terakhir adalah polapengujian. Dengan x i (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 polareferensi. Plot adalah salah satu tipikal untuk segmen bicara. Magnitud dari koefisien DFTyang lebih tinggi sangat kecil dengan sedikit kontribusi untuk sinyal. Hal ini membenarkanpenggunaan koefisien DFT l pertama sebagai fitur, dimana biasanya l
kita menemukan vektor dari string acuan di sepanjang absis tersebut dan dari pola pengujiansepanjang ordinat tersebut. Kemudian, berikut ini harus ditentukan:Kendala GlobalKendala LokalKendala Titik AkhirBiaya d untuk transisiBerbagai asumsi bisa diadopsi untuk masing-masing, yang mengarah ke hasil yang berbedadengan manfaat relatif. Dalam sekuel, kita akan fokus pada beberapa kasus yang banyakdigunakan secara luas.Kendala Titik Akhir. Dalam contoh kita kita akan mencari jalur lengkap yang optimal yangdimulai pada (0, 0) dan berakhir di (I, J) dan transisi pertama adalah node (1, 1). Dengandemikian, secara implisit diasumsikan bahwa titik akhir segmen bicara (misal r(l), t(1) danr(I), t(J)) cocok ke tingkat yang tepat. Ini bisa menjadi hasil vektor (masing-masing) dariperiode diam sebelum dan sesudah segmen bicara. Sebuah variasi yang sederhana dari hasiljalur kendala lengkap jika akhir titik jalur tidak ditentukan apriori dan diasumsikan beradadalam jarak Є dari titik (1, 1) dan (I, J), dan diserahkan kepada algoritma pengoptimalanuntuk menemukannya.Kendala Global. Kendala global mendefinisikan wilayah node yang mencari jalur yangoptimal. Node luar wilayah ini tidak dicari. Pada dasarnya, kendala global menentukankeseluruhan peregangan atau kompresi yang diperbolehkan untuk prosedur pencocokan.Sebagai contoh ditunjukkan pada Gambar 8.7. Mereka dikenal sebagai kendala Itakura danmenerapkan faktor maksimal 2 untuk setiap ekspansi atau kompresi pengujian sehubungandengan pola referensi. Yang diijinkan node kemudian berada di dalam jajaran genjang yangditunjukkan pada Gambar 8.7 oleh garis lurus. Garis putus-putus sesuai dengan kendalaglobal yang sama saat titik akhir kendala, disebutkan sebelumnya, yang diadopsi. Perhatikandari gambar, jalur di seberang atau kompres jajaran genjang atau memperluas frame yangsesuai interval dengan faktor 2, dan ini adalah faktor maksimum yang mungkin tercapai. Inibiasanya kendala wajar, dan pada saat yang sama mengurangi jumlah node yang akan dicariuntuk jalur yang optimal secara substansial. Jika I ≈ J, maka tidak sulit untuk menunjukkanbahwa jumlah titik grid untuk dicari berkurang sekitar sepertiga (1/3).
Gambar 8.7 Kendala Global Itakura. Faktor kompresi/ekspansi maksimum adalah 2, danmenentukan kemiringan segmen garis batas.Kendala lokal. Kendala ini mendefinisikan set pendahulu dan yang diijinkan transisike node grid tertentu. Pada dasarnya, mereka memberi batasan untuk tingkat maksimumekspansi/kompresi transisi berurutan dapat mencapai. Dengan sifatnya bahwa setiap kendalalokal harus memenuhi monotonisitas. Artinya,Dengan kata lain, semua pendahulu dari node terletak ke kiri dan selatannya. Ini menjaminbahwa pengoperasian pencocokan mengikuti evolusi waktu alami dan menghindari sesuatuyang membingungkan, misalnya, kata "from" dengan kata "form".Dua contoh jalur nonmonotonic diperlihatkan pada Gambar 8.8. Satu set kendalalokal, yang dikenal sebagai kendala Itakura [Itak 75], ditampilkan pada Gambar 8.9. Tingkatekspansi(kompresi) maksimum dicapai melalui jalur lokal diukur oleh kemiringan yangterkait, 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 kendalaItakura 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 horisontaldiperbolehkan, namun tidak secara berturut-turut, dan ini ditunjukkan oleh panahmenyeberang. Jadi, kendala Itakura tidak memperbolehkan jalur panjang horisontal, sesuaidengan kemiringan ∞. Akhirnya, kendala ini memungkinkan jalur untuk melewati palingbanyak satu vektor fitur dalam pola pengujian.
Gambar 8.8 Contoh jalur nonmonotonic. Jalur tersebut tidak diperbolehkan dan tidakdianggap 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 bagiandalam 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 tidakdiperbolehkan.
Gambar 8.10 Kendala lokal Sakoe dan Chibasampai salah satu berada di luar kawasan yang ditetapkan oleh kendala global. Sebaliknya, diGambar 8.10b transisi horisontal (vertikal) diperbolehkan hanya setelah transisi diagonal dandi Gambar 8.10d setelah dua transisi diagonal berturut-turut. Dalam Gambar 8.10c, palingbanyak dua berturut-turut transisi horisontal (vertikal) diperbolehkan hanya setelah satutransisi diagonal. Kemiringan untuk setiap kendala dalam Gambar 8.10a, b, c dan d masingmasingadalah ∞, 2, 3, dan 3/2, (Permasalahan 8.2). Untuk lebih rinci dari topik tersebutpembaca yang tertarik dapat berkonsultasi [Dell 93, Silv 90, Myer 80].Biaya. Umumnya menggunakan biaya, yang akan kami adopsi disini, adalah jarakEuclidean antara r (i k ) dan t (j k ), sesuai dengan node (i k , j k ), yaitu,Dalam hal ini, kami mengasumsikan bahwa tidak ada biaya yang berkaitan dengan transisi kenode tertentu, dan biaya tergantung sepenuhnya pada vektor fitur yang sesuai dengan masingmasingnode. Biaya lain-lain juga telah disarankan dan digunakan [Gray 76, Gray 80]. Barubaruini ([Pikr 02], [Pikr 03]) menggunakan biaya yang dihitung untuk kesalahan yang palingsering terjadi (misalnya, gaya pemain yang berbeda) dalam konteks pengenalan musik.Akhirnya, harus dinyatakan bahwa sering kali dilakukan sebuah normalisasi dari biayakeseluruhan D. Hal ini untuk mengkompensasi perbedaan pada panjang jalur, menawarkankesempatan yang “sama” untuk mereka semua. Sebuah pilihan yang logis adalah denganmembagi biaya keseluruhan D dengan panjang setiap jalur [Myer 80].
Keseluruhan biaya yang dihasilkan untuk dua pola pengujian pada Gambar 8.5,melawan pola referensi dari Gambar 8.4, dengan menggunakan kendala Itakura, masingmasingadalah 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 telahmengakui kata yang diucapkan benar. Biaya normalisasi keseluruhan yang dihasilkan setelahmembagi dengan jumlah node di sepanjang jalur masing-masing adalah 0,221 dan 0,559.8.3 UKURAN BERDASARKAN KORELASITugas utama yang akan dibahas pada bagian ini dapat diringkas sebagai berikut: "Diberikanblok data rekaman, cari apakah sebuah pola (referensi) spesifik dikenal terkandung dalamblok dan dimana lokasinya". Jenis aplikasi ini ditemukan dalam analisis tempat, ketika kitaingin mencari benda tertentu di gambar. Masalah tersebut muncul dalam banyak aplikasi,seperti deteksi target, visi robot, dan pengkodean video. Sebagai contoh, dalam pengkodeanvideo langkah utama adalah dari estimasi gerak, yaitu, proses menemukan piksel yang sesuai(diantaranya, objek yang sama-sama pindah) di antara frame gambar berturut-turut padawaktu yang berbeda. Langkah ini kemudian diikuti oleh tahap kompensasi gerak, yangmengkompensasi 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 frameterakhir, untuk menghindari redundansi.Asumsikan bahwa kita diberi pola referensi yang dinyatakan sebagai sebuah M x Narray 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 untukmendeteksi 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 danditerjemahkan 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. Marikita bentuk komputasi ini menjadi bentuk yang lebih menarik.Persamaan (8.4) adalah setara dengan:
Peubah acak yang kedua adalah konstanta untuk pola referensi yang diberikan. Denganasumsi bahwa yang pertama tidak merubah banyak pada gambar, yaitu, tidak ada banyakvariasi dari tingkat piksel abu-abu di atas gambar pengujian, nilai minimum D (m, n) telahtercapai ketika:bernilai maksimum untuk semua lokasi yang mungkin (m, n). Kuantitas c (m,n) tidak dihitungmelainkan 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 sensitifterhadap variasi tingkat keabuan dalam t(i, j). Dalam kasus seperti koefisien cross korelasi,didefinisikan sebagai:adalah ukuran yang lebih tepat. Di sini c N (m,n) adalah versi normal c (m, n) dan variasi padat(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, c N (m,n), selalu kurang darisatu dan mencapai nilai maksimum satu hanya jika subimage (pengujian) adalah sama (dalamfaktor skala) sebagai pola referensi.Dalam diskusi kami sejauh ini, kami telah mengasumsikan bahwa pola referensi hanyaditerjemahkan dalam t (i, j) dan tidak ada rotasi atau penskalaan yang terlibat. Dalam aplikasiseperti pengkodean video, hal ini adalah asumsi yang valid dan telah diadopsi di standarpengkodean video [Bhas 95]. Namun, hal ini tidak selalu terjadi dan teknik harusdimodifikasi. Salah satu cara adalah untuk menggambarkan referensi dan pengujian subimagedalam hal saat invarian dan mengukur kesamaan dengan menggunakan korelasi yangmelibatkan peristiwa-peristiwa ini [Hall 79] (Permasalahan 8.4). Rotasi dan teknik skalainvarian lainnya, menggunakan kombinasi transformasi Fourier dan Mellin, seperti yangdigambarkan dalam [Scha 89]. <strong>Teknik</strong> ini mencoba untuk mengeksploitasi translasi invariandari magnitude transformasi Fourier (sudah dibahas dalam Bab 7) dan skala invariantransformasi Mellin ([Ravi 95], Permasalahan 8.5). Jalur lain, yang tentu saja permintaansumber daya komputasi yang tinggi, adalah memiliki satu set referensi template yangmenyimpang (misalnya, diputar dan diskalakan) untuk menutup segala kemungkinan.Korelasi yang cocok kemudian akan mengungkapkan manakah yang paling cocok antara polapengujian dan salah satu referensi template. Sebuah teknik komputasi yang lebih menarikmenggunakan transformasi Karhunen-Lobve [Ueno 97]. Ide utamanya adalah bahwa templateyang diputar sangat berkorelasi, dan masing-masingnya dapat didekati dengan proyeksinyake sebuah dimensi ruang eigen yang lebih rendah, dengan menggunakan eigenvector yang
paling signifikan dari matriks korelasinya. Pencocokan pola yang tidak diketahui dengantemplate dari orientasi yang tepat dilakukan di dalam ruang dimensi yang lebih rendah, yangmengarah pada simpanan komputasi yang besar.Contoh 8.1. Citra t (i, j) pada Gambar 8.11a berisi dua benda, obeng dan palu. Yang terakhiradalah objek yang kita ingin cari pada citra. Citra referensi akan ditampilkan di sudut kananatas Gambar 8.11a. Daerah bertitik menunjukkan posisi umum(n, m) citra referensi biladitumpangkan 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 denganmenggunakan transformasi Fourier. Ingatlah bahwa dalam domain frekuensi (8.6)dapat ditulis sebagaidimana T(k,l), R(k,l) merupakan transformasi DFT dari t (i, j) dan r (i, j), masingmasing,dengan notasi “ * ”yang menunjukkan konjugasi kompleks. Tentu saja, untukmenuliskan (8.8) kedua citra memiliki ukuran yang sama. Jika tidak, kasus biasanya,sejumlah nol harus ditambahkan untuk memperpanjang citra yang berukuran lebihkecil. c(m, n) diperoleh melalui invers DFT dari C(k, I). Dengan mempertimbangkanefisiensi komputasi FFT, prosedur ini dapat mengakibatkan penghematanketergantungan, tentu saja, pada ukuran relatif dari M, N dan I, J.• Sebuah beban komputasi utama dalam pencocokan berbasis korelasi template adalahpencarian atas piksel t (i, j) untuk mencari korelasi maksimum. Biasanya, pencariandibatasi dalam kotak [p-, p] x [-p, p] yang berpusat pada titik (x, y) di t (i, j). Sebagaicontoh, dalam video coding, jika blok M x N yang berpusat pada posisi (x,y) dalamframe waktu t - 1, maka frame saat ini yang dicari dalam (x±p, y±p). Nilai ptergantung pada aplikasi. Untuk siaran TV, p = 15 telah mencukupi. Untuk acaraolahraga (dengan pergerakan tinggi) lebih tepat menggunakan p = 63. Dengandemikian, pencarian lengkap untuk maksimum dari c(m, n), didefinisikan dalam (8.6),akan membutuhkan sejumlah penambahan dan perkalian yang proporsional dengan
(2p+1) 2 M N. Hal ini menyebabkan penambahan sejumlah besar operasi. Dengandemikian, dalam prakteknya, teknik pencarian heuristic suboptimal biasanyadigunakan, walaupun hal ini tidak menjamin mencari maksimal, tetapi mengurangijumlah operasi yang diperlukan secara substansial. Ada dua arah utama. Salah satunyaadalah untuk mengurangi poin pencarian dan yang lainnya adalah untuk mengurangiukuran citra yang terlibat.Pencarian Logaritmis Dua-DimensiPencarian 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 crosscorrelationpertama kali dilakukan pada pusat serta delapan titik yang terletak perimeterdi dalam daerah [-p/2, p/ 2] x [-p/2, p/2] (p/2 dibulatkan ke suatu integer). Titik-titik iniditandai dengan bujursangkar. Jarak antara titik-titik ini d l = 4 pixel, yaitu dimana d l = 2 k-1dan k = [log 2 p], dimana R.1 menunjukkan pembulatan ke integer pertama yang lebihbesar. 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 padadelapan 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 d 2 = d l /2(2). Proses inidiulang dan kemudian perhitungan dilakukan pada delapan titik (berlian) pada garis kelilingpersegi panjang ukuran [-1, 1] x [-1,1] yang berpusat di titik optimum (dari langkahsebelumnya) lingkaran berbayang. Jarak antara titik-titik berlian adalah d 3 = 1. Berlianberbayang yang sesuai dengan titik dengan cross-correlation maksimum dan proseskemudian dihentikan. Jumlah komputasi sekarang telah direduksi menjadi MN(8k+1)operasi, hal ini merupakan penghematan besar dibandingkan dengan pencarian lengkap.
Varian dari pencarian logaritmis dua dimensi adalah dengan mencari i dan j yangarahnya independen. Titik yang koordinatnya merupakan nilai terbaik yang dihasilkan oleh idan 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<strong>Teknik</strong> 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 pencariandiasumsikan merupakan persegi [-p, p]x [-p, p], berpusat pada titik (x, y) pada citrapengujian. Kita lihat versi citra level 0. Kedua blok referensi dan citra pengujianditapis low- pass dan di-subsample dengan 2, sehingga memberikan hasil pada level 1versinya. Jumlah total pixel dalam versi level 1 telah dikurangi oleh 4. Versi level 1pada gilirannya ditapis low-pass dan disub-sampel, hingga versi level 2. Secaraumum, proses ini dapat dilanjutkan.• Langkah 2: Pada level 2 pencarian untuk maksimum berlangsung dengan 4 x 4 versilow-pass blok referensi. Area pencarian pada level 2 versi low-pass dari citrapengujian 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 (x 1 , y 1 )merupakan koordinat optimal, sehubungan dengan (x/4, y/4).• Langkah 3: Pada level 1, pencarian maksimal dilakukan dengan menggunakanmenyesuaikan blok referensi versi 8 x 8. Daerah pencarian, dalam versi 1 tingkat citrapengujian, merupakan persegi panjang dengan ukuran [- 1,1 ] x [-1,1] yang berpusatdi (x/2 + 2x 1 , y/2 + 2y l ), yaitu total sembilan piksel. Hal ini karena delapan pixel diperimeter daerah ini tidak dilibatkan pada level 2, terkait dengan subsampling (lihatGambar 6.16 dari Bab 6). Titik pusat juga harus dimasukkan untuk dapat diperolehperbandingan yang adil di level ini untuk mencari maksimal. Ambil maksimumterjadi pada (x 2 , y 2 ) dengan (x/2, y/2).• Langkah 4: Pada level 0 pencarian dilakukan dengan menggunakan template referensiasli, di dalam area dengan ukuran [-1,1]x[-1,1] yang berpusat di (x+2x 2 , y+2y 2 ) padacitra pengujian. Lokasi maksimum ini merupakan yang terakhir dan prosesdihentikan.Penghematan komputasi dengan metode ini tergantung pada jumlah level, serta jenispencarian yang diadopsi pada tingkat tertinggi (Permasalahan 8.5). Secara umum, metodehirarkis sangat efisien dari sudut pandang komputasi. Hal ini diperoleh denganmengorbankan kebutuhan memori yang meningkat, karena berbagai versi citra yang harusdisimpan. Salah satu kelemahan metode ini adalah bahwa jika benda-benda kecilhadir dalam template, mereka mungkin menghilang pada citra dengan resolusi terendahkarena subsampling tersebut. Selanjutnya, metode ini tidak dapat menjamin untukmenemukan kecocokan global terbaik. Dalam [Alkh 01] sebuah filosofi alternatif yangdisarankan menghasilkan kecocokan global terbaik. Penghematan komputasi yang dicapaidengan pemangkasan jumlah calon kecocokan terbaik pada suatu level, dengan menggunakanhasil pada tingkat yang lebih tinggi dan nilai ambang batas terpilih yang lebih tepat.Metode SequentialSejumlah teknik lainnya juga telah disarankan. Sebagai contoh, metode pencarian sequentialdengan menghitung varian dari (8.4) secara langsung. Secara khusus, tentukan
Dengan demikian, kesalahan dihitung di daerah jendela yang lebih kecil dan secara berurutanmeningkat, untuk p, q = 1,2,. . . dan p ≤ M, q ≤ N. Perhitungan berhenti ketika D pq (m, n)menjadi lebih besar daripada ambang batas yang telah ditentukan. Kemudian perhitunganmulai dari arah yang berbeda (m, n). Dari sinilah penghematan dicapai, karena untuk posisiyang buruk hanya membutuhkan sejumlah kecil perhitungan.8.4 MODEL <strong>TEMPLATE</strong> YANG DAPAT DI DEFORMASIPada bagian sebelumnya kita dianggap sebagai masalah mencari pola referensi yang dikenal(template) dalam citra pengujian. Kita berasumsi bahwa template dan objek, yang beradadalam citra, adalah identik. Satu-satunya perbedaan yang diperbolehkan untuk masuk kedalam diskusi kita yang dikenakan oleh orientasi yang berbeda dan/ atau scaling. Namun, adabanyak masalah di mana kita tahu sebuah priori yang template-nya tersedia dan objek yangkita cari dalam citra tersebut tidak mungkin terlihat sama persis. Hal ini mungkin karenakondisi pencitraan yang berbeda-beda, keadaan macet (oklusi), dan segmentasi citra yangtidak 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. Tujuankami dalam bagian ini adalah untuk memungkinkan prosedur pencocokan template untukmenjelaskan penyimpangan antara template referensi dan pola pengujian yang sesuai padacitra. Dalam diskusi kita, kita akan mengasumsikan bahwa template referensi yang tersediadalam bentuk larik citra yang berisi informasi batas citra obyek (kontur). Artinya, kita akanfokus 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 dikenalsebagai prototipe. Ide dasar dibalik prosedur deformable template matching sederhana:merusak prototipe dan memproduksi varian cacat yang diubah tersebut. Dari sudut pandangmatematis sebuah deformasi terdiri dari penerapan sebuah parameter transformasi T ξ padar(i,j) untuk menghasilkan T versi terdeformasi T ξ ([r (i, j)]. Nilai-nilai yang berbeda dariparameter vektor ξ mengacu pada versi yang berbeda. Dari kumpulan varian prototype yangterdeformasi bisa dihasilkan, akan ada satu pasangan yang “terbaik” sesuai dengan polapengujian. Kebaikan kecocokan diukur dengan biaya, yang akan kita sebut sebagaipencocokan energi Em (ξ). Jelas, tujuannya adalah untuk memilih ξ (sehingga Em(ξ)) adalahminimum. Namun, hal ini tidaklah cukup. Jika, misalnya, set parameter optimal adalahsedemikian rupa sehingga sesuai template terdeformasi telah berubah bentuk sedemikian rupasehingga sedikit menyisakan kemiripan dengan prototipe asli, maka metode tersebut akantidak bermakna. Jadi, satu lagi istilah yang harus diperhitungkan dalam proses optimisasi. Halini adalah mengukur biaya ”deformasi” yang prototipe perlukan untuk menjalani agar sesuaidengan pola pengujian. Kita akan sebut istilah biaya ini sebagai deformasi energi E d (ξ).Kemudian parameter vektor yang optimal dihitung, sehinggaDengan kata lain, orang bisa berpikir dari kurva batas prototipe dibuat dengan karet.Kemudian dengan bantuan pensil kita merusak bentuk kurva karet untuk mencocokan denganpola pengujian. Semakin kita merusak bentuk bentuk prototipe, semakin tinggi pula energiyang kita harus keluarkan untuk itu. Energi, dihitung dengan E d (ξ), tergantung pada bentuk
prototipe. Artinya, itu adalah properti intrinsik prototipe dan hal ini adalah alasan bahwa halitu juga dikenal sebagai energi internal. Istilah lain energi, Em (ξ), tergantung pada data input(citra pengujian) dan kita biasa menyebutnya sebagai eksternal energi. Parameter vektor yangoptimal ξ dipilih sehingga tawar-menawar terbaik antara kedua istilah energi tercapai.Kadangkala, faktor pembobotan C digunakan untuk memberikan preferensi untuk salah satudari dua syarat dan ξ dihitung sehinggaOleh karena itu, untuk menerapkan prosedur di atas dalam satu praktek harus memilikipembuangan bahan sebagai berikut:• Sebuah prototipe• Sebuah prosedur transformasi untuk merusak prototipe• Jangka waktu dua fungsi energiPemilihan PrototipeHal ini seharusnya dipilih dengan cermat sehingga merupakan perwakilan (khas) dariberbagai instansi di mana obyek ini diharapkan muncul dalam praktek. Di satu sisi, prototipeharus menyandikan karakteristik “bentuk utama” yang sesuai “kelas bentuk”.Transformasi DeformasiIni terdiri dari satu set operasi parametrik. Ambil (x, y) menjadi koordinat (kontinu) sebuahtitik dalam sebuah citra 2D. Tanpa kehilangan keumuman, kita anggap bahwa citradidefinisikan dalam persegi [0,1]x[0,1]. Kemudian setiap titik (x,y) adalah dipetakanmenggunakan suatu fungsi pemetaan kontinyu, sebagaiUntuk array citra diskrit sebuah langkah kuantisasi diperlukan setelah transformasi. Fungsiyang berbeda dapat digunakan untuk melakukan pemetaan di atas. Sebuah set yang telahberhasil digunakan dalam praktek adalah ([Amit 91])
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 sebagaiFungsi dasar lain bisa juga digunakan, seperti splines atau wavelet. Gambar 8.13menunjukkan prototipe untuk sebuah objek dan tiga versi cacat yang diperoleh untuk kasuspaling sederhana dari model transformasi dalam (8.13)-(8.16),yaitu M = N = 1.Energi InternalIni harus minimum untuk tanpa deformasi, yaitu untuk ξ = 0. Sebuah pilihan yang masukakal, berkaitan dengan fungsi transformasi dipertimbangkan di atas, adalahEnergi EksternalDi sini sekali lagi beberapa pilihan yang mungkin, mengukur kebaikan kesesuaian antara polapengujian 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
di kontur template terdeformasi dari titik terdekat dalam kontur citra pengujian, I. Salah satucara untuk mencapai tujuan ini adalah melalui fungsi energi sebagai berikut:dimana θ adalah parameter vektor yang menentukan posisi, orientasi, dan skala dan N djumlah piksel kontur dari template yang cacat, danDimana ρ konstan dan (δ i , δ j ) adalah perpindahan dari piksel (i, j) dari template terdeformasidari titik terdekat pada citra pengujian. Pada [Jain 96] arah informasi juga dimasukkan kedalam biaya.Keterangan• Satu dapat tiba di (8,10) dengan cara yang lebih sistematis melalui argumenprobabilistik, yaitu, dengan berusaha untuk memaksimalkan kepadatan aposterioriprobabilitas (ξ,θ) diberikan array citra pengujian, yaitu,dimana aturan Bayes sudah bekerja. Dalam kerangka ini, (8,17) menghasilkan jikakita menganggap bahwa berbagai parameter,adalah statistik independen danterdistribusi normal, misalnya, p (ξ) = N (0, σ 2 ). Varian yang lebih tinggi dari σ 2 lebihlebar dari kisaran nilai-nilai yang terjadi dengan probabilitas tinggi. Untukmendapatkan (8,18) - (8.19) modeldiadopsi, di mana a adalah konstan ternormalisasi [Jain 96].• Biaya dalam (8.10) adalah fungsi nonlinier dan meminimalkan yang dapat dicapaimelalui skema optimasi nonlinier. Selain kompleksitas, utama menggambar-kembaliadalah bahaya di mana-mana bahwa algoritma akan terjebak dalam minimum lokal.Dalam [Jain 96] sebuah prosedur telah disampaikan bahwa membangun denganmetodologi turunan gradien (Lampiran C) Idenya adalah untuk mengadopsipendekatan 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 initampaknya membantu algoritma untuk menghindari minimum lokal, dengan biayakomputasi yang terjangkau.Metodologi yang kita dijelaskan dalam bagian ini mnerupakan milik kelas yang lebihumum dari teknik deformable template matching, yang dibangun di sekitar prototipeyang tersedia. Ini bukan hanya jalur yang tersedia. Kelas lain dari model yangterdeformasi berasal dari deskripsi analitik dari bentuk prototipe, denganmenggunakan satu set parameter bentuk geometris, misalnya, elips atau kurvaparabola. Untuk mempelajari isu-isu yang lebih dalam pembaca bisa merujuk padaartikel review [Jain 98, McIn 96, Cheu 02] dan referensi di dalamnya. [Widr 73, Fisc
73] tampaknya merupakan upaya pertama memperkenalkan konsep model deformabledalam visi komputer.Dalam konteks pengenalan pola, diberikan pola pengujian yang tidak diketahui, kitaberusaha untuk melihat yang mana dari dari satu set prototipe yang berbeda yangdikenal oleh pencocokan terbaik. Untuk masing-masing prototipe, cacat varianterbaik dipilih berdasarkan pada biaya energi minimum. Prototipe yang menangadalah yang terbaik adalah yang cacat hasil varian dalam keseluruhan biaya energiminimum.