Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
otb
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Sébastien Peillet
otb
Commits
67b19129
Commit
67b19129
authored
7 years ago
by
Cédric Traizet
Browse files
Options
Downloads
Patches
Plain Diff
comments added/modified
parent
2c525d93
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
README.md
+25
-0
25 additions, 0 deletions
README.md
app/cbDimensionalityReduction.cxx
+13
-19
13 additions, 19 deletions
app/cbDimensionalityReduction.cxx
with
38 additions
and
19 deletions
README.md
+
25
−
0
View file @
67b19129
This module contains a new dimensionality reduction framework for the Orfeo Toolbox.
The framework is based on Machine learning models and a dimensionality reduction algorithm
can be trained and used using the model class, in the same fashion as Machine Learning Models
for Classification (supervised or unspervised) and Regression.
The algorithms featured in the module are (27/06/2017) :
-
autoencoders and multi layer autoencoders, with several regularization options
-
PCA
-
SOM
Autoencoders and PCA models are using Shark ML library, while SOM model is based on the SOM classes of the OTB.
More specifically, the module contains :
-
Autoencoder models, PCA models and SOM models, with methods for training, serialization and prediction (i.e. reduction)
-
A Dimensionality Reduction Model Factory and a factories for each model, which allow the user to create objects of the model classes
-
A (OTB ImageToImage) filter that can be used to perform dimensionality reduction on an image. This filter supports threading and streaming
-
An application for training the models according to a shapefile
-
An application for using a trained model on a shapefile
-
An application for using a trained model on an image (using the filter)
/!
\
Work In Progress /!
\
This diff is collapsed.
Click to expand it.
app/cbDimensionalityReduction.cxx
+
13
−
19
View file @
67b19129
...
...
@@ -112,33 +112,27 @@ protected:
private
:
void
DoInit
()
ITK_OVERRIDE
{
SetName
(
"
PredictRegress
ion"
);
SetDescription
(
"Performs
a p
red
i
ction of the input image according to a
regress
ion model file."
);
SetName
(
"
DimensionalityReduct
ion"
);
SetDescription
(
"Performs
dimensionality
red
u
ction of the input image according to a
dimensionality reduct
ion model file."
);
// Documentation
SetDocName
(
"
Predict Regress
ion"
);
SetDocLongDescription
(
"This application
p
red
ict output values from
an input"
" image, based on a
regress
ion model file produced by"
" the
TrainRegression
application. Pixels of the "
"output image will contain the
p
red
ict
ed values from"
"the
regression model (single band)
. The input pixels"
SetDocName
(
"
DimensionalityReduct
ion"
);
SetDocLongDescription
(
"This application red
uces the dimension of
an input"
" image, based on a
dimensionality reduct
ion model file produced by"
" the
DimensionalityReductionTrainer
application. Pixels of the "
"output image will contain the red
uc
ed values from"
"the
model
. The input pixels"
" can be optionally centered and reduced according "
"to the statistics file produced by the "
"ComputeImagesStatistics application. An optional "
"input mask can be provided, in which case only "
"input image pixels whose corresponding mask value "
"is greater than 0 will be processed. The remaining"
" of pixels will be given the value 0 in the output"
" image."
);
"ComputeImagesStatistics application. "
);
SetDocLimitations
(
"The input image must contain the feature bands used for"
" the model training
(without the predicted value)
. "
" the model training. "
"If a statistics file was used during training by the "
"TrainRegression, it is mandatory to use the same "
"statistics file for prediction. If an input mask is "
"used, its size must match the input image size."
);
"statistics file for prediction."
);
SetDocAuthors
(
"OTB-Team"
);
SetDocSeeAlso
(
"
TrainRegression
, ComputeImagesStatistics"
);
SetDocSeeAlso
(
"
DimensionalityReductionTrainer
, ComputeImagesStatistics"
);
AddDocTag
(
Tags
::
Learning
);
...
...
@@ -187,7 +181,7 @@ private:
inImage
->
UpdateOutputInformation
();
unsigned
int
nbFeatures
=
inImage
->
GetNumberOfComponentsPerPixel
();
// Load
svm
model
// Load
DR
model
using a factory
otbAppLogINFO
(
"Loading model"
);
m_Model
=
DimensionalityReductionModelFactoryType
::
CreateDimensionalityReductionModel
(
GetParameterString
(
"model"
),
DimensionalityReductionModelFactoryType
::
ReadMode
);
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment