For digit recognition, we use Support Vector Machine (SVM) as a learning machine to perform multi-class classification.
The way SVM works is to map vectors into an N-dimensional space and use an (N-1)-dimensional hyperplane as a decision plane to classify data. The task of SVM modeling is to find the optimal hyperplane that separates different class membership.
Let's take a look at a simple schematic example where every object either belongs to GREEN or RED.
SVM finds the line defining the boundary between the two types. Then, it can classify a new object by looking at on which side of the line it falls.
However, it is unlikely that we can always have a linear dividing boundary. Rather than fitting nonlinear curves to the data, we can map each object into a different space via a kernel function where a linear dividing hyperplane is feasible.
The concept of the kernel mapping function is so powerful that SVM can perform separation with very complex boundaries. The kernel function we use in this project is radial basis function (RBF).
Svm working principles
Vectorize each instance into an array of features (attributes).
Model with training data to find optimal dividing hyperplane with maximal margin.
Use SVM to map all the objects into a different space via a kernel function (see Figure 3 for examples).
Classify new object according to its position with respect to hyperplane.
Errors in training are allowed while the goal of training is to maximize the margin and minimize errors. Namely, find the solution to optimization problem in Figure 4, where x is the attribute, y is the object label, ξ is the error and φ is the mapping function.
Methods and running routines
Collect the matrices obtained from the Image Processing section and label each of the instances.
Select a reasonable amount as the training set, and the rest as the testing set, with a balanced choice for each of the instances.
Feed the training set into the SVM-train process to generate a model. This calculation takes time, but it only needs to be done once.
Now we're ready to make predictions to a given license plate! An input of labeled data will give us the accuracy of this algorithm; an unlabeled instance can also be fed in to see the prediction.
The SVM library we used is available at: http://www.csie.ntu.edu.tw/~cjlin/libsvm
Receive real-time job alerts and never miss the right job again
Source:
OpenStax, Elec 301 group project- license plate extraction (lipe). OpenStax CNX. Dec 16, 2009 Download for free at http://cnx.org/content/col11145/1.2
Google Play and the Google Play logo are trademarks of Google Inc.
Notification Switch
Would you like to follow the 'Elec 301 group project- license plate extraction (lipe)' conversation and receive update notifications?