Skip to content

Regression refactoring : Train images regression

Cédric Traizet requested to merge train_images_regression into develop

Summary

Introduce a new application for training a regression image from triplets of features image, predictor images and vector data containing polygons

The application TrainRegression is now deprecated (replaced by TrainVectorRegression and TrainImagesRegression)

Rationale

This MR is part of the regression refactoring described in issue #1799 (closed).

The new TrainImagesRegression application is a composite application that takes as input :

  • io.il : a list of input features images
  • io.ip : a list of input predictor images
  • io.vd : a list of vector data files containing polygons that will be used to generate training samples (optional, the image extent is used if it is not provided)
  • io.valid : a list of vector data files contain polygons that will be used to generate validation samples (optional, the training samples will be split to create the validation set if it is not provided)
  • sample.nt : the number of training samples (if not set, all available samples are used)
  • sample.nv : the number of validation samples (if not set, all available samples are used)
  • sample.ratio : ratio between training and validation sample used to split the training data if no validation data is provided
  • io.imstats : image statistics used to normalize the training/validation samples.
  • classifier : the regression algorithm to be used (+ associated algorithm parameters)

and outputs :

  • io.out : a regression model
  • io.mse : the mse computed using the regression model on the validation set (mse between ground truth extracted from the predictor images and the predicted values), if no validation data is set, the training data is used instead.

Implementation Details

This application is a composite application that use:

  • VectorDataSetField : adds a class field containing the same class for all polygons of the input training/validation data (we need this for the sampling framework)
  • PolygonClassStatistic : part of the sampling framework
  • MultiImageSamplingRate : part of the sampling framework
  • SampleSelection : part of the sampling framework
  • SampleExtraction : part of the sampling framework
  • TrainVectorRegression : train the model from sampled data, see !488 (merged)

Copyright

The copyright owner is CNES and has signed the ORFEO ToolBox Contributor License Agreement.


Check before merging:

  • All discussions are resolved
  • At least 2 👍 votes from core developers, no 👎 vote.
  • The feature branch is (reasonably) up-to-date with the base branch
  • Dashboard is green
  • Copyright owner has signed the ORFEO ToolBox Contributor License Agreement
  • Optionally, run git diff develop... -U0 --no-color | clang-format-diff.py -p1 -i on latest changes and commit
Edited by Cédric Traizet

Merge request reports