machine learning - What features to use from character candidates -
i partially implemented the stroke width transform algorithm. implementation ugly, works
my implementation gives me many candidates (i utilize rules filter them). still have many non-character candidates. want utilize neural network (or ml algorithm) filter them.
what feature should utilize classifier?
i can extract mean / std (of sw value of component) , width / height.
example:
red rectangles character candidates (implementation doesn't observe light-on-dark characters, bad detection of "land rover" normal) swt image after component filtering
neural networks , other techniques such svm not used filter inputs, instead used classify input. difference filtering discard input based on whether match or not imposed rules, doesn't require training (more handful of thresholds). /trained/ classifier, on other hand, assigns class given input, means need adequately train classifier expected classes negative samples. approaches vary if want former or later, features utilize in former might useful doing later too.
some basic pre-processing whatever path take involves first getting clearer component, mean removing extraneous white dots within components nowadays in illustration given. after that, lot of options available. basic width , height measurements can used filter components sure not match expect, there no need classify either. considering skeleton of connected components, obtain end points , branch points, form 2 features. euler number one, and, in fact, there way many possible features extracted list them here. characteristic of these mentioned features scale, rotation, , translation invariant. means need features distinguish, example, 9 6, centroids of holes in skeleton 1 such illustration (just take care because direct extraction of feature isn't invariant anything).
note simple features can help in separating entire character set. instance, euler number = 0, 'a', 'd', 'o', 'p', 'q', 'r', '0', '4', '6', or '9', supposing ascii alphanum, well-behaved font, , pre-processing of input.
lastly, there quite decent amount of papers more info , different approaches beyond swt. instance, t-hog recent 1 of them which, according published results, marginally improve swt.
edit: resuming , extending:
if want utilize machine learning, need handful of labeled info can separate training , testing. if objective distinguishing between "this character" "this not character", , later class not adequately described (i.e., have few examples of not character, or cannot characterize kind of input can receive), one-class svm option.
for features extracted individual characters, mentioned before, there many of them , many approaches it. paper "feature extraction methods character recognition -- survey" (1995, not recent @ all) discusses of them (it mentions expected minimum size of training data, sure read it), i'm including part of contents here.
probably features extract character (both grayscale , binary image):
hu, reiss, flusser, suk, bamieh, de figueiredo moments (all geometric moments invariants based on improvements of initial work hu @ "visual pattern recognition moment invariants"); zernike momentsgood features extract skeletonized characters:
number of t-joints; number of x-joints; number of bend points; number of endpoints; number of crossings axis placing origin in shape's centroid; number of semi-circlesfourier descriptors can applied in either skeleton, binary representation, or graph representation of character discussed in mentioned paper.
machine-learning computer-vision neural-network
No comments:
Post a Comment