On Fri, Sep 18, 2009 at 4:10 PM, Benoit Cerrina <benoit...@gmail.com> wrote:
> Hello Matthieu, Taku,
> I am trying to improve the quality of the zinnia recognition and the cpu
> consumption, to do this I would like to study what are the most important
> "features" for Zinnia.
> As a reminder, this is my analysis of how zinnia proceeds to extract a
> vector of features describing a character.
> 1) for each stroke zinnia is extracting the meaningfull stroke pairs.
> Features::getVertex starts with the 2 end points of the stroke to analyze
> (A,B), this 2 end points make up the first meaningfull pair for the stroke.
> Then the intermediary point C which is at the greatest distance from the
> segment is estimated using a distance approximation. If this estimation is
> greater than a predefined threshold the segments (A,C) (C,B) are considered
> to be meaningfull.
> 2) for each meaningfull stroke pair the following feature vector is created
> (in Features::makeBasicFeature)
> 1: length of the segment
> 2: angle of the segment compared to the x axis
> 3,4,5,6: cartesian coordinates of the start and end points of the segment
> (with the origin placed at the center of the kanji and the width/height of
> the kanji being equal to 1)
> 7,8,9,10: polar coordinates of the start end end points (7, 8 are the angles
> 9, 10 the distance)
> 11,12: length of the projection of the segment on the x and y axis
> The weigths assigned to each of those elements are:
> 1,3,4,5,6,9,10 *10
> 2,7,8 *1
> 11,12 *5
> 3) for each segments between strokes (starts at the end of one and finish at
> the start of the next) the same feature vector is extracted
> I am trying to figure out if I can tweak the different weights and remove
> some features to improve accuracy and speed.
> Would you have any suggestions
> Best regards
> Benoit Cerrina