[GRASS-dev] Object-based image classification in GRASS
Moritz Lennert
mlennert at club.worldonline.be
Thu Jan 9 02:13:14 PST 2014
Dear Pietro,
On 07/01/14 18:33, Pietro Zambelli wrote:
> Dear all,
>
> Some news about the machine learning classification of image segments.
Thanks for the great work !!!
Just a few questions/comments:
> 3. v.stats [r58637] => Extract statistics from a vector map
> (statistics about shape and about raster maps).
> v.stats internally use (in grass-addons):
> - v.area.stats [r58636] => extract some statistics about
> the shape (in grass-addons);
Looking at the code of v.area.stats, I don't understand what it does
differently than v.to.db, except that it outputs all indicators in one
go. I think it would be better to avoid module inflation and maybe
either make v.area.stats into a script that calls v.to.db several times
to collect the different variables, or modify v.to.db to allow
upload/output of several variables at once (see [1]).
> - v.to.rast => re-convert the vector to a raster map using the
> vector categories to be sure that there is a correspondence
> between vector and raster categories (zones).
> - r.univar2 [r58439] => extract some general statistics from
> raster using the zones (consume much less memory than
> r.univar, and compute more general statistics like:
> skewness, kurtosis, and mode (in grass-addons);
What is the difference between your r.univar2 and the original r.univar
? Couldn't your modifications be merged directly into r.univar ?
>
> 4. v.class.ml [r58638] => classify a vector map, at the moment
> only a supervisionate classification is tested/supported.
> To select the segment that must use for training the different
> machine-learning techniques you can define a training
> map using the g.gui.iclass.
> The v.class.ml module can:
> - extract the training,
> - balance and scale the training set;
> - optimize the training set;
> - test several machine learning techniques;
> - explore the SVC domain;
> - export the accuracy of different ML to a csv file;
> - find and export the optimum training set,
> - classify the vector map using several ML techniques and
> export to a new layer of the vector map with the results
> of the classification;
> - export the classification results to several raster maps,
> the vector map coming from a segment raster map is too
> big to be exported to a shape file (the limit for a shape file
> is 4Gb [0]).
Wow, this looks great ! I'll test this as soon as possible.
> The module accept as input a python file with a list of custom
> classifiers defined by the user, and support both:
> scikit-learn[1] and mlpy[2] libraries.
>
> Known Issues:
> * not all the classifiers are working (but I hope to be able to fix this
> during the next weeks);
> * so far, only a supervised classification is supported.
What would be needed to make unsupervised classification work ?
Moritz
[1] https://trac.osgeo.org/grass/ticket/2123
More information about the grass-dev
mailing list