Get Adobe Flash player

Posts Tagged ‘SVM’

Milled rice software caliper This is an application for counting milled rice grains, determining the count of headrice, broken, and brewers. Using these grade factors, the caliper software (as I call it) is able to estimate the total weight in terms of percentage. Weight estimation of rice grain is performed using linear regression and support vector machines (SVM). It uses AForge library from AForge.NET for various image processing task.

I did this software for Bureau of Post-harvest Research Extension (BPRE) and indirectly, to National Food Authority (NFA) for the purpose of quickly determining the grain size of milled rice.

The demo and initial version of the caliper software is available for download here:

To use the software, simply install the application, then open the sample image included in the installation (“bigas.bmp”), then that’s it!  You can try it for other similar problems, like corn, barley, etc.  Please give me feedback if problems arises.  For any questions, you may email me at {vlad_crasher at yahoo point com}.

UPDATE: Yesterday (September 15, 2008), they told me that the test was successful!  The classification result did matched with the manual methods performed by human inspector.

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: ,,,,

This article presents a method for weight estimation and classification of milled rice kernels using supervised learning algorithm. Shape descriptors are used as geometric features for determining the grade factors such as headrice, broken kernel, and brewer. Color histogram is extracted from milled rice image to obtain 24 color features in RGB and Cielab color spaces. A support vector machines (SVM) is adopted for addressing the classification and regression problem in milled rice quality evaluation. We built a support vector regression (SVR) model for estimating rice kernel weight and support vector classifier (SVC) for rice defectives.

Results showed that in real data, the performance of SVR is better than linear regression (LR) with a mean square error (MSE), mean absolute error (MAE) and correlation coefficient of 0.078, 0.21 and 99.4%, respectively. For classification of rice defectives using SVC, the accuracy is 98.9% outperforming the general regression neural network (GRNN) model.