Thursday, August 8, 2013

Vector-valued edge enhancement

Tutorial kali ini adalah tentang image restoration. Dimana kita akan memperbaiki gambar yang kurang optimal, misalnya karena blur atau karena adanya noise, menjadi gambar yang optimal. Berbeda dengan image enhancement yang lain, kali ini kita akan mempergunakan informasi dari color image (vector-valued image) dan local variasi dari structure tensor..

Untuk lebih lengkapnya silahkan download slides dan codenya disini...

Thursday, August 1, 2013

Color edge detector

Tutorial hari ini adalah membuat edge detector, tetapi kali ini menggunakan color image. Berbeda dengan edge detector yang menggunakan grayscale image, edge detector ini lebih sensitive untuk mendeteksi edge...

Untuk penjelasan lebih lanjut silahkan download slide dan code disini...

Wednesday, July 31, 2013

Calculus of Variation computer vision

"Calculus of variation" adalah analisa matematik biasa digunakan dalam ilmu fisika untuk memodelkan perambatan panas, aliran fluida, dan lain lain. Namun, researcher mengaplikasikannya juga kedalam ilmu computer vision. Sebagai contoh, dalam aplikasi image restoration, object segmentation, image inpainting, and image diffusion.

"Calculus of variation" mempunyai bentuk persamaan berupa integral sebagai berikut,

\[
\underset{f: \mathbb{R}^2 \to \mathbb{R}}{\min} \textbf{J}[f] = \int_\Omega \mathcal{L}(x,y,f,f')d\Omega.
\]

Untuk selengkapnya silahkan download disini.

Friday, May 3, 2013

Naive Bayes Classifier

Naive Bayes classifier adalah salah satu metode untuk mengklasifikasi data dengan input berupa features. Berbeda dengan classifier pada umumnya, 'naive' mengasumsikan independent features data. Meskipun assumsi ini tidaklah benar tetapi seringkali metode ini menunjukkan hasil yang cukup baik.

klik disini untuk mendownload penjelasan lebih detailnya.

Wednesday, April 17, 2013

Konek OpenCV ke MATLAB

Seringkali ketika menggunakan MATLAB kita memerlukan library - library lain yang bisa didownload melalui internet. Tapi, library - library tersebut seringkali menggunakan bahasa C/C++. Salah satu library yang sangat populer di dunia computer vision adalah OpenCV. Nahh disini penulis akan memberikan contoh step by step bagaimana mengkoneksikan OpenCV ke MATLAB menggunakan MEX files.

Untuk lebih jelasnya, penulis telah membuat slides dan contoh source code untuk ini, silahkan mencoba,

Slides dan source code

Saturday, March 2, 2013

Kernel Introduction

Dalam bidang ilmu computer science, machine learning, kernel adalah suatu alat untuk melakukan perhitungan di dimensi yang lebih tinggi tanpa harus secara langsung melakukan perhitungan di dimensi tersebut. Hal ini akan bermanfaat tanpa harus melakukan proyeksi dari dimensi rendah ke dimensi tinggi. Sebagai contoh kita mempunyai data nonlinear dalam dua dimensi, dalam dimensi yang lebih tinggi kita akan menemui kalau data tersebut adalah linear. Kernel adalah sebagai penjembatan dari dimensi rendah ke dimensi tinggi.

Saturday, August 11, 2012

Maximally Stable Extremal Regions (MSER)

MSER secara dasar adalah region detector. Pertama kali dikenalkan oleh Jiri Matas pada tahun 2002. Secara dasar perhitungan MSER dimulai dengan melakukan sort ordering pixel - pixel dari intensity rendah ke intensity tinggi atau sebaliknya (misal pada gambar grayscale yang mempunyai intensity {0,...,255}). Intensity ini yang akan dinamakan threshold. Iterasi dimulai dari threshold rendah ke threshold tinggi dan pada masing - masing threshold dilakukan perhitungan area.

Note: threshold yang digunakan tidak hanya pada grayscale melainkan bisa menggunakan channel yang lain misal red, green, blue, hue, saturation, intensity, atau yang lainnya. Bisa juga menggabungkan dua, tiga, atau seluruh channel untuk mendapat hasil yang dinginkan.

Saturday, May 26, 2012

Norm (Mathematics)

Menurut wikipedia 'norm' adalah suatu fungsi yang memberikan ukuran panjang atau size pada semua vektor dalam sebuah vektor space. Sebagai contoh dua dimensi Euclidean norm; Elemen pada vektor space ini biasanya digambarkan dengan sebuah anak panah pada bidang kartesian dua dimensi yang dimulai pada origin (0,0). Panjang pada anak panah ini menunjukkan Euclidean norm. Oleh karena itu, Euclidean norm disebut sebagai 'magnitude' atau besaran dari vektor.

Kadangkala kita membutuhkan suatu nilai skalar untuk mengukur suatu besaran dari vektor atau matrik, maka kita membutuhkan norm.

Norm pada linear algebra banyak dijumpai ketika anda mendesain dengan menggunakan H infinity kontrol. Norm yang digunakan adalah norm-infinity.

Friday, May 18, 2012

Footprint Komponen Generator

Ketika kita menjalankan Cadence Orcad 16.5 seringkali kita kesulitan menemukan footprint komponen tersebut pada library. Banyak user yang mengeluhkan akan hal itu, terutama mereka tidak mau buang - buang waktu untuk membuat footprint komponen secara manual satu per satu dengan detail yang dikatakan standard footprint. Untungnya perusahaan Mentor Graphics (www.mentor.com) membuat software untuk mempermudah dan mengatasi problem tersebut. Software tersebut adalah LP Wizard. Software ini mampu menggenerat footprint komponen yang kebanyakan kita inginkan, kemudian kita bisa meng-eksportnya ke software - software PCB editor (tidak hanya untuk Orcad). Namun sayangnya software ini tidak free.

Thursday, May 17, 2012

Algoritma Recursive Newton Euler Part III

Pada bagian III, penulis akan memberikan contoh simulasi dengan RNE pada robot 6 DOF Puma560 seperti berikut,

Algoritma Recursive Newton Euler Part II

Bagian kedua ini penulis akan menunjukkan bagaimana menggunakan MATLAB untuk melakukan simulasi RNE. Kita akan melakukan simulasi pada robot satu DOF dengan menggunakan MATLAB toolbox yaitu Robotic Toolbox dari P.I. Corke. Anda bisa mendownload MATLAB toolbox ini pada akhir tutorial.  Pada tutorial ini diharapkan robotic toolbox sudah terinstall pada komputer anda. Berikut adalah blok robot satu DOF

Wednesday, May 16, 2012

Algoritma Recursive Newton Euler Part I

Pada tutorial ini penulis akan menjelaskan dengan memberikan contoh cara menggunakan algoritma ini. Algoritma "Recursive Newton Euler" atau RNE banyak digunakan ketika kita membutuhkan algoritma untuk menghitung dinamika sebuah sistem khususnya pada robot manipulator. Perhitungan dinamika akan sangat bermanfaat untuk simulasi sistem dan perencanaan sistem kontrol. 

Friday, May 11, 2012

Simulasi Robot Kinematik

Berikut adalah software untuk arm robot pada beberapa perusahaan terkenal seperti ABB, Fanuc, dll. Software ini free. Langsung saja lihat video dibawah ini.


http://www.parallemic.org/RoKiSim.html

Wednesday, May 9, 2012

Desain Kontrol dengan Kalman Filter Part II


Tutorial berikut adalah lanjutan dari part I. Disini penulis akan memberikan contoh bagaimana mendesain kontrol dengan kalman filter.

Tuesday, May 8, 2012

Desain Kontrol dengan Kalman Filter Part I

Pada tutorial ini penulis akan menunjukkan bagaimana mendesain kontrol dengan menggunakan Kalman Filter. Materi ini masih berhubungan dengan materi "Basic Random Variabel" dan "Stochastic Process dan White Noise". Blok diagram yang kita gunakan untuk Kalman Filter adalah sama dengan dengan blok yang digunakan pada "Desain Kontrol dengan Observer". Yaitu seperti berikut.


Yang berbeda adalah state - space model pada observer diganti dengan metode kalman filter dan regulator gain K dihitung dengan menggunakan optimal kontrol ("Desain Kontrol dengan Optimal Control Part I and Part II").

Monday, May 7, 2012

Desain Kontrol dengan "Optimal Control" Part II


Kali ini penulis akan memberikan contoh bagaimana menerapkan kontrol dengan metode ini. Penulis akan mengambil model dari tutorial sebelumnya ("Desain Kontrol dengan Pole Placement (Part I)") yaitu DC motor model.

Sunday, May 6, 2012

Desain Kontrol dengan "Optimal Control" Part I

Pada tutorial berikut penulis akan menjelaskan bagaimana mendesain kontrol dengan "optimal control". Blok diagram yang digunakan untuk desain ini adalah sama dengan blok diagram pada "Desain Kontrol dengan Pole - Placement (Part I)" yaitu sebagai berikut.


Lalu apa bedanya dengan kontrol ini? Yang membedakan adalah dengan objektif yang diberikan kontrol ini mampu menentukan kontrol yang memerlukan energi paling sedikit. Misal banyak cara untuk mendesain kontrol  DC motor namun dari semua cara banyak yang memerlukan power yang besar, dengan kontrol ini maka dapat ditentukan kontrol mana untuk mendapatkan yang paling sedikit memerlukan energi untuk menggerakkan motor. Dengan kata lain mencari yang "optimal".

Adapun kriteria yang harus dipenuhi adalah sistem harus mempunyai "Controllability" dan "Observability".

Stochastic Process dan White Noise

Tutorial ini masih ada hubungan dengan tutorial sebelumnya "Basic Random Variabel".

"Stochastic Process" yang juga dinamakan "random process" adalah bentuk "non-deterministic" sistem. Sistem ini tidak dapat diketahui secara pasti tapi kita bisa mengetahuinya lewat "probability". Contoh ketika kita melempar koin kita tidak akan tahu secara pasti apakah bagian atas koin ataukah bagian bawah yang akan muncul, tapi kita tahu secara pasti probability = 50%. Karena stochastic process adalah random variabel yang berubah terhadap waktu maka "probability distribution function" atau PDF juga berubah terhadap waktu sebagai berikut,


Saturday, May 5, 2012

Basic Random Variabel

Pada tutorial ini penulis akan menjelaskan dasar - dasar dari random variabel. Dimulai dengan "probability" atau kemungkinan. Dikarenakan random variabel mempunyai nilai yang tidak diketahui (bersifat random) maka biasanya dihitung berdasarkan nilai statistik. Salah satu nilai statistik tersebut adalah "Probability Density Function" p(x) yang didefinikan sebagai berikut,


Ini berarti terdapat kemungkinan x akan muncul antara -infinity (minus tak hingga) dan infinity (tak hingga).

Friday, May 4, 2012

DC Motor Simulink Model

Berikut adalah DC motor model untuk MATLAB simulink yang bisa anda gunakan sebagai template untuk membuat kontrol sistem.