Monday, October 31, 2016

Local Binary Pattern untuk Texture Feature Recognition

Tulisan ini berkaitan erat mengenai teknik untuk mencari ciri fitur atas sebuah gambar. Kita mengenal gambar texture 2D yang dicirikan sebagai berikut :
  1. spatial structure (pattern)
  2. contrast (‘amount’ of texture)

Local Binary Pattern untuk Texture Feature Recognition : Pengertian Dasar

Sampai pada akhirnya mencari literatur mengenai Local Binary Pattern
Ojala T, Pietikäinen M & Harwood D (1996) A comparative study of texture measures with classification based on feature distributions. Pattern Recognition 29:51-59.
An example of computing  LBP and C in a 3x3 neighborhood:


Local Binary Pattern untuk Texture Feature Recognition : Uji Coba pada Citra Digital

Penulis menggunakan LBP untuk mencoba mencari perbedaan kedua gambar berikut

Local Binary Pattern untuk Texture Feature Recognition : Ploting Histogram

Hasil ploting histogram menghasilkan berikut:
Line merah merupakan plant
Line hijau merupakan stone

Dari plot diatas, sedikit mendapati ciri fitur menggunakan hasil histogram nya, penulis menggunakan nilai radius = 3 dan jumlah point = 12

Friday, October 14, 2016

Digital Signal Recognition with Fast Forier Transform - FFT

Sebelum memasuki pengolahan sinyal tingkat lanjut, ada baiknya anda mengerti kegunaan FFT.
Ketika 2 buahnya sinyal dengan frekuensi yang berbeda yaitu 3 dan 5 yang mempunyai time periode yang sama digabung menjadi satu

Visualisasi Sinyal Sederhana

 Menjadi berikut
 

Ubah domain Waktu ke Frekuensi 

Akan menjadi cukup sulit untuk mengetahui bahwa gelombang diatas terdiri dari 2 frekuensi yang berbeda, untuk itu kita harus mengubah domain waktu ke domain frekuensi. Seperti contoh berikut

 

Cari Peak nya

Terlihat bahwa terdapat 2 peak dengan nilai 3 dan 5. Akan tetapi dalam dunia nyata, tidak sebersih plot sinyal diatas, dikarenakan adanya noise, dalam hal ini, kita akan menggunakan Additve White Gaussian Noise. Seperti sinyal berikut

Noise sendiri merupakan hal yang umum terjadi ketika kita bekerja menggunakan peralatan elektronika http://www.softscients.web.id/2016/07/apa-itu-additve-white-gaussian-noise_4.html
Kita akan coba plot kan lagi menggunakan FFT untuk mengetahui sebuah sinyal diatas.

Dalam domain frekuensi akan menjadi sangat jelas mendapatkan profile sebuah sinyal!
(anda bisa membaca peak detection in plot di keyword google)

Implementasi

Penulis menggunakan FFT untuk mengurai sebuah data rekaman dari piano, Sinyal berikut merupakan data rekaman WAV format untuk nada D,E,G,D,E,G


Ketika pianis memencet tuts untuk chord diatas, kemudian direkam dalam bentuk WAV Format.
SEPARASI SINYAL
Anda bisa melihat pada plot diatas terdiri dari 6 sinyal yang berurutan, yang masing-masing chord terdiri dari 3 nada, (1 chord terdiri dari 3 nada), yang artinya bahwa tiap chord terdiri dari 3 sinyal yang berbeda. Dalam teknik seperasi sinyal diatas, penulis menggunakan teknik sebagai berikut
1.    Blocking dengan ukuran M = 1000 dan N = 500
2.    Window Hamming
3.    Powering, dan
4.    Threholding
(ada baiknya anda membaca pengolahan sinyal di www.softscients.web.id)

 Setelah didapatkan powering, maka kita akan melakukan croping tiap block.

Penulis menggunakn mark merah sebagai penanda awal sinyal dan hijau sebagai akhir sebuah sinyal.


Penulis sengaja coloring untuk memperjelas antara sinyal dan garis biru merupakan noise (atau kondisi dimana tuts piano tidak ditekan - idle).

Digital Signal Recognition with Fast Forier Transform

Berikut hasil penerapan FFT pada sinyal ke satu

 Dan selanjutnya




 Ini membuktikan bahwa FFT sangat berguna untuk mengurai sebuah sinyal.

Catatan:
  1. Penulis menggunakan banyak sekali library untuk kegiatan riset diatas yaitu Python, numpy, wavio, matplotlib, pyside
  2. Informasi lebih lanjut ke www.softscients.web.id
  3. IDE – Integrated Develop Environment yang penulis sarankan yaitu Spyder

Sunday, October 2, 2016

Filter Gabbor

Kita bisa menggunakan function di opencv yaitu 
cv2.getGaborKernel(ksize, sigma, theta, lambda, gamma, psi, ktype)

ksize adalah ukuran dimensi yang dihasilkan
sigma adalah standar deviasi dari Gaussian
theta adalah arah orientasi
lambda adalah panjang gelombang faktor sinus dari persaman diatas
gamma adalah ratio spasial rentang nilai  0 – 1, semakin mendekati 1 maka semakin bulat!
psi adalah pase
ktype jenis type data yang digunakan
ini adalah visualisasi gabbor filter