Unsupervised KMeans image classification

Brief Description

Unsupervised KMeans image classification

Tags

Learning, Segmentation

Long Description

Performs unsupervised KMeans image classification.KMeansClassification is a composite application, using an existing training and classification application.The SharkKMeans model is used.
KMeansClassification application is only available if OTB is compiled with Shark support(CMake option OTB_USE_SHARK=ON)
The steps of this composite application :
1) ImageEnveloppe : create a shapefile (1 polygon),
2) PolygonClassStatistics : compute the statistics,
3) SampleSelection : select the samples by constant strategy in the shapefile (1000000 samples max),
4) SamplesExtraction : extract the samples descriptors (update of SampleSelection output file),
5) ComputeImagesStatistics : compute images second order statistics,
6) TrainVectorClassifier : train the SharkKMeans model,
7) ImageClassifier : performs the classification of the input image according to a model file.

It's possible to choice random/periodic modes of the SampleSelection application.
If you want keep the temporary files (sample selected, model file, ...), initialize cleanup parameter.
For more information on shark KMeans algorithm [1].

Parameters

Limitations

The application doesn't support NaN in the input image

Authors

OTB-Team

See also

ImageEnveloppe PolygonClassStatistics SampleSelection SamplesExtraction PolygonClassStatistics TrainVectorClassifier ImageClassifier
[1] http://image.diku.dk/shark/sphinx_pages/build/html/rest_sources/tutorials/algorithms/kmeans.html

Example of use