Algoritma LBP (Local Binary Pattern)

Algoritma LBP (Local Binary Pattern) adalah salah satu algoritma yang dapat digunakan untuk melakukan klasifikasi berdasarkan tekstur gambar. Contoh yang dibahas kali ini adalah mengenai konversi gambar menjadi fitur gambar tersebut.



* Tentukan gambar utama yang digunakan
Kemudian lakukan konversi gambar tersebut menjadi grayscale
Diasumsikan gambar utama yang digunakan adalah
lena



Sebelum masuk kedalam langkah-langkah pembahasan algoritma, ada beberapa konstanta atau parameter yang harus diketahui, yaitu:
* Tentukan default pola yang digunakan untuk menyusun pola biner
Ada 2 kemungkinan cara penyusunan, yaitu
– searah jarum jam (clockwise)
– berlawanan jarum jam (counter-clockwise)

defaultPola = 'clockwise';

* Tentukan default mask atau blok data saat perhitungan lbp
Diasumsikan dalam kasus ini default mask adalah 3
Sehingga titik pusat dari masing-masing blok adalah posisi kedua

defaultMask = 3;
titikPusat = ceil((defaultMask+1)/2);


Langkah-langkah penggunaan algoritma ini adalah

1. Lakukan inisialisasi variabel output

jumlahBaris = size(input,1)-defaultMask+1;
jumlahKolom = size(input,2)-defaultMask+1;
outputLBP = zeros(jumlahBaris, jumlahKolom);

2. Lakukan perulangan untuk masing-masing blok

for i = 1:jumlahBaris
    for j = 1:jumlahKolom
	. . .

2a. Dapatkan blok yang sedang dihitung

mask = input(i:i+defaultMask-1,j:j+defaultMask-1);

2b. Hitung nilai threshold mask dengan perbandingan titik pusat

threshold = mask > mask(titikPusat,titikPusat);

2c. Dapatkan semua koordinat tetangga dari titik pusat menjadi sebuah vektor

lbpOriginal = [threshold(1,1) threshold(1,2) threshold(1,3) threshold(2,3) threshold(3,3) threshold(3,2) threshold(3,1) threshold(2,1)];

2d. Lakukan pembalikan vektor untuk digunakan dalam perhitungan berikutnya

lbpFlip = fliplr(lbpOriginal);

2e. Lakukan konversi angka biner menjadi angka desimal sebagai nilai output dari lbp
Jika pola yand digunakan adalah clockwise, maka lakukan konversi menggunakan vektor original
Jika pola yand digunakan adalah counter-clockwise, maka lakukan konversi menggunakan vektor flip

if (defaultPola=='clockwise')
	v = bi2de(lbpOriginal,2,'left-msb');
else
	v = bi2de(lbpFlip,2,'left-msb');
end

2f. Catat hasil nilai output pada variabel output

outputLBP(i,j) = v;


Hasil akhir adalah: (klik untuk perbesar gambar)

lbp-hasil-akhir


Contoh modul / source code menggunakan Matlab dapat didownload disini:

[sdm_download id=”3317″ fancy=”0″]



Jika membutuhkan jasa kami dalam pembuatan program, keterangan selanjutnya dapat dilihat di Fasilitas dan Harga
Jika ada yang kurang paham dengan langkah-langkah algoritma diatas, silahkan berikan komentar Anda.
Selamat mencoba.

Comments

6 responses to “Algoritma LBP (Local Binary Pattern)”

  1. syamsul Avatar
    syamsul

    assalmualikum, mas untuk coding lbp dengan delphi 7 ada ga? trms

    1. pip Avatar
      pip

      Saya hanya memiliki referensi yang sudah saya bagikan dalam pos ini, dan untuk saat ini belum ada referensi dalam bahasa pemrograman lain.

  2. wahyu esa Avatar
    wahyu esa

    assalmualikum, mas untuk coding lbp dengan android studio ada ga? trms

    1. pip Avatar
      pip

      Mohon maaf saya tidak memiliki contoh lain yang dapat saya bagikan selain yang sudah saya bagikan pada halaman ini.

  3. William Daniel Avatar
    William Daniel

    Kalo saya pakai LBP utk ektstraksi dan LVQ utk metode penelitian, kira2 nyambung ga mas?

    1. pip Avatar
      pip

      Sampai saat ini saya belum pernah mempelajari tentang LVQ sehingga belum dapat menjawab pertanyaan ini.

Leave a Reply

Your email address will not be published. Required fields are marked *