Get Adobe Flash player

Few hour ago, I was reading some papers to increase my understanding on (SVM).  I came across the term and I was reminded of challenge I had when I was working on image segmentation of medium to long milled rice grains for quality evaluation. Although there are some published papers that deal with this problem (e.g. “” and “Separation and identification of touching kernels and dockage components in digital images“), they were able to solve only those touching grains with circular-like objects.

So I thought, using convex hull to define the initial boundary of an active contour could be an interesting idea.  But it looks like somebody has already done it – see An unsupervised GVF snake approach for white blood cell segmentation based on nucleus.

I installed the new internet browser from Google – ! Try it for yourselves and you’ll be surprised by its simplicity and speed.  The best feature that I like the most is the incognito mode – websites you visit does not show up in your web history. Very useful for internet users who value their privacy highly.

Google claims that Chrome is more stable, faster (especially for web applications), secure, clean/efficient UI, and open source. It is a new kind of browser that runs tab windows in separate separate processes much like a windows operating system runs your applications.

For more information, go to their site at http://www.google.com/chrome/ and read the full features with corresponding video demonstration.  A that explains Google Chrome in easy-to-understand  english is also available. Highly recommended!

Support Vector Machine or simply SVM is a machine learning algorithm for data regression and classification.  I have adopted it for use in my project in milled rice kernel classification according to the following categories:

  • Chalky
  • Sound/Good
  • Damaged
  • Red
  • Paddy
  • Discolored

My goal is to share how to build a model, apply this classifier to your test data to determine its accuracy, and finally, implement the model as an application.  The library called LibSVM has made my work a lot simpler.  Why reinvent the wheel?  Here’s how you do it:

  1. Acquire the image.  This could be accomplished by various methods.  You can use scanner, digital camera, or video camera.
  2. Pre-process the captured image.  The goal is to ensure that unimportant objects are discarded, and enhance your region of interests to prevent lost of features.
  3. Extract features (Morphological & Color), one set for training and another set for testing.
  4. You may need to scale your data, especially if the value of some features are a lot  larger than the other.
  5. Train and build the SVM model.  You may need to find the optimal parameters (the penalty, C and kernel parameter, gamma).  This may take a while depending on the type of SVM and kernel you choose.
  6. If you are satisfied with the prediction accuracy of your model, then apply it to your test data, or real data.
  7. Build your application.

Simple, eh?

Technorati Tags: ,,,,

We are currently doing research in people counting.  The goal is to develop an algorithm that would solve the problem of occlusion. More info later….

Prior to the previous post, I also finished a paper entitled “Automatic milled rice quality evaluation” that’s about to appear in one international conference proceedings.  The idea is to build a low-cost, efficient, and reliable alternative for the milled rice quality evaluation.  As you know, some rice quality standards require the grading factors or defectives in terms weight (grams) , making this problem a very challenging and interesting one!  Read on, some results are discussed in the succeeding paragraphs.

This is the block diagram of the milled rice quality evaluation system, comprised of 6 different stages.

automatic milled rice evaluation framework

Read the rest of this entry »