diff --git a/Modules/Applications/AppClassification/app/otbKMeansClassification.cxx b/Modules/Applications/AppClassification/app/otbKMeansClassification.cxx
index 41bbc998ce2e7c04d0b749ac16cd56dc9de4212e..d26d606d459800f6de3db0b662aeec5fde42fa71 100644
--- a/Modules/Applications/AppClassification/app/otbKMeansClassification.cxx
+++ b/Modules/Applications/AppClassification/app/otbKMeansClassification.cxx
@@ -81,13 +81,18 @@ protected:
     SetDefaultParameterInt("maxit", 1000);
     MandatoryOff("maxit");
     
-    AddParameter(ParameterType_String, "inmeans", "Maximum number of iterations");
-    SetParameterDescription("inmeans", "Maximum number of iterations for the learning step.");
-    MandatoryOff("inmeans");
+    AddParameter( ParameterType_Group, "inmeans", "Input centroids parameters" );
+    SetParameterDescription( "inmeans", 
+    "Group of parameters for used defined input centroids." );
+
+    AddParameter(ParameterType_InputFilename, "inmeans.in", "input centroids");
+    SetParameterDescription("inmeans.in", "Input text file containing centroid posistions.");
+    MandatoryOff("inmeans.in");
     
-    AddParameter(ParameterType_Bool, "normalizeinmeans", "Number of classes");
-    SetParameterDescription("normalizeinmeans", "Number of modes, which will be used to generate class membership.");
-    SetDefaultParameterInt("normalizeinmeans", true);
+    AddParameter(ParameterType_Bool, "inmeans.normalize", "Normalize input centroids");
+    SetParameterDescription("inmeans.normalize", "Normalize input centroids using the image statistics"
+    " computed during the execution of the application");
+    SetDefaultParameterInt("inmeans.normalize", true);
 
     AddParameter(ParameterType_OutputFilename, "outmeans", "Centroid filename");
     SetParameterDescription("outmeans", "Output text file containing centroid positions");
@@ -256,11 +261,11 @@ protected:
                                                         GetParameterInt("maxit"));
     GetInternalApplication("training")->SetParameterInt("classifier.sharkkm.k",
                                                         GetParameterInt("nc"));
-    if(IsParameterEnabled("inmeans") && HasValue("inmeans"))
+    if(IsParameterEnabled("inmeans.in") && HasValue("inmeans.in"))
     {
       GetInternalApplication("training")->SetParameterString("classifier.sharkkm.centroids",
-                                                        GetParameterString("inmeans"));
-      if(GetParameterInt("normalizeinmeans"))
+                                                        GetParameterString("inmeans.in"));
+      if(GetParameterInt("inmeans.normalize"))
         GetInternalApplication("training")->SetParameterString("classifier.sharkkm.centroidstats",
                                               GetInternalApplication("imgstats")->GetParameterString("out"));
     }
diff --git a/Modules/Applications/AppClassification/include/otbTrainSharkKMeans.hxx b/Modules/Applications/AppClassification/include/otbTrainSharkKMeans.hxx
index 86cd23e5193ec94a2f0abec18324879a5dc241de..12641430e54f77625d5912e2d6da7b1f84082f7b 100644
--- a/Modules/Applications/AppClassification/include/otbTrainSharkKMeans.hxx
+++ b/Modules/Applications/AppClassification/include/otbTrainSharkKMeans.hxx
@@ -45,16 +45,18 @@ void LearningApplicationBase<TInputValue, TOutputValue>::InitSharkKMeansParams()
   SetParameterInt("classifier.sharkkm.k", 2);
   SetParameterDescription("classifier.sharkkm.k", "The number of classes used for the kmeans algorithm. Default set to 2 class");
   SetMinimumParameterIntValue("classifier.sharkkm.k", 2);
-  
+
+  // Input centroids
+  AddParameter(ParameterType_InputFilename, "classifier.sharkkm.centroids", "input centroids");
+  SetParameterDescription("classifier.sharkkm.centroids", "Text file containing input centroids.");
+  MandatoryOff("classifier.sharkkm.centroids");
+
+  // Centroid statistics
   AddParameter(ParameterType_InputFilename, "classifier.sharkkm.centroidstats", "Statistics file");
   SetParameterDescription("classifier.sharkkm.centroidstats", "A XML file containing mean and standard deviation to center"
-    "and reduce the centroids before classification, produced by ComputeImagesStatistics application.");
+    "and reduce the centroids before the KMeans algorithm, produced by ComputeImagesStatistics application.");
   MandatoryOff("classifier.sharkkm.centroidstats");
   
-  // Number of classes
-  AddParameter(ParameterType_InputFilename, "classifier.sharkkm.centroids", "Number of classes for the kmeans algorithm");
-  SetParameterDescription("classifier.sharkkm.centroids", "The number of classes used for the kmeans algorithm. Default set to 2 class");
-  MandatoryOff("classifier.sharkkm.centroids");
 }
 
 template<class TInputValue, class TOutputValue>