11 - Feature Extraction and Matching
11 - Feature Extraction and Matching
PENGAMPU
Fridy Mandita, S.Kom., M.Sc Andrey Kartika Widhy H., S.Kom., M.Kom.
Feature Descriptors
Kelebihan local features
Locality
• Fitur bersifat lokal sehingga robus terhadap kemacetan dan kekacauan
Quantity
• ratusan atau ribuan dalam satu gambar
• Distinctiveness:
• dapat membedakan database obyek yang besar
• Efficiency
• kinerja real-time dapat dicapai
Kelebihan local features
Fitur points dapat digunakan untuk:
• Image alignment (e.g., mosaics)
• 3D reconstruction
• Motion tracking
• Object recognition
• Indexing and database retrieval
• Robot navigation
• … dll
Bagaimana fitur yang baik
“flat” region: tidak ada “edge”: Tidak ada perubahan di “corner”: berubah secara
perubahan di segala arah sepanjang garis tepi signifikan di segala arah
Harris corner detection: prinsip
• Misalkan untuk menggeser jendela W sebesar (u, v)
• bagaimana piksel dalam W berubah?
• bandingkan setiap piksel sebelum dan sesudah dengan
menggunakan ukuran perbedaan kuadrat (SSD)
• Error SSD E(u, v) didefinisikan
W
Corner detection:
Corner detection:
W
Matriks momen kedua
• Bentuk permukaan E(u,v) secara lokal didekati dengan bentuk
kuadrat.
E(u,v)
v
u
Horizontal edge:
E(u,v)
v
u
Vertical edge:
Secara Umum Corner detection
H dapat divisualisasikan sebagai sebuah ellipse dengan
panjang axis ditentukan dengan eigenvalues dari H dan
sudut ditentukan oleh eigenvectors dari H
xmax
2. Jika titik yang terdeteksi = 120 titik dan ukuran blok=11x11, maka ukuran vektor adalah
120x121
Implementasi Block descriptor in Matlab
Implementasi Block descriptor in Matlab
Feature matching
Jika diberikan sebuah fitur dalam citra I1, bagaimana
memperoleh pencocokan paling baik dalam citra I2?
1. Definisikan fungsi jarak yang membandingkan dua
deskriptor
2. Test semua fitur dalam I2, temukan fitur dengan jarak
paling kecil
Feature distance
Bagaimana mendefinisikan difference antara dua fitur f1, f2?
• Pendekatan sederhana: L2 distance, ||f1 - f2 ||
• dapat memberikan skor bagus untuk pencocokan yang ambigu (salah)
f1 f2
I1 I2
Feature distance
• Pendekatan yang lebih baik : ratio distance = ||f1 - f2 || / || f1 - f2’ ||
• f2 adalah SSD (Sum of squared differences) terbaik yang cocok ke f1 dalam I2
• f2’ adalah SSD terbaik kedua yang cocok ke f1 dalam I2
• Hasilnya akan memberikan nilai besar untuk pencocokan ambigu
f1 f2' f2
I1 I2
Feature matching example
58 matches
Implementasi Feature Matching di Matlab
Implementasi Feature Matching di Matlab
Implementasi Feature Matching di Matlab
Evaluating the results
Bagaimana kita mengukur kinerja pencocok fitur (feature matcher) ?
50
75
200
feature distance
True/false positives
Bagaimana kita mengukur kinerja pencocok fitur (feature matcher) ?
50
true match
75
200
false match
0.7
true
# true positives positive
# matching features (positives)
rate
“recall”
0.7
true
# true positives positive
# matching features (positives)
rate
“recall”