The document discusses implementing Kohonen's self-organizing map (SOM) algorithm to handle missing and erroneous data in time series. It describes the SOM properties and training process. It also provides an example of a MODIS time series over Brittany, France with missing, erroneous, and clean data points to which the modifications would be applied. Finally, it discusses the benefits of implementing the SOM in a generic programming approach.
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Implementing kohonen's som with missing data in OTB
1. Implementing Kohonen’s SOM with
Missing Data in OTB
Gr´goire Mercier and Bassam Abdel Latif
e
Institut Telecom; Telecom Bretagne
CNRS UMR 3192 lab-STICC, team CID
Technopole Brest-Iroise,
CS 83818, F-29238 Brest Cedex 3, France
IGARSS, 2009
2. The Kohonen Map
Properties
Clouds and Shadows in times series
Description
Benefits in Generic Programming
Contents
1 The Kohonen Map
Properties
Description
2 Clouds and Shadows in times series
Modification to deal with missing value
Modification to deal with erroneous value
3 Benefits in Generic Programming
page 2 G Mercier & B Abdel Latif Kohonen map in the OTB
3. The Kohonen Map
Properties
Clouds and Shadows in times series
Description
Benefits in Generic Programming
The Kohonen Map
Properties
Neural network of 1 fully connected layer to be trained by supervized or
unsupervized approaches
Corresponds to a transformation R n
=⇒ R, R 2
or R
3
• Visualization
• Compression
Neurons in their neighborhood give similar response
Self-Organizing Map (SOM)
• Clustering
Often use when neighborhood of a class has significant meaning
• Classification
• Pattern recognition
• Data mining
• ...
page 3 G Mercier & B Abdel Latif Kohonen map in the OTB
4. The Kohonen Map
Properties
Clouds and Shadows in times series
Description
Benefits in Generic Programming
The Kohonen Map
Properties
Neural network of 1 fully connected layer to be trained by supervized or
unsupervized approaches
Corresponds to a transformation R n
=⇒ R, R 2
or R
3
• Visualization
• Compression
Neurons in their neighborhood give similar response
Self-Organizing Map (SOM)
• Clustering
Often use when neighborhood of a class has significant meaning
• Classification
• Pattern recognition
• Data mining
• ...
page 3 G Mercier & B Abdel Latif Kohonen map in the OTB
5. The Kohonen Map
Properties
Clouds and Shadows in times series
Description
Benefits in Generic Programming
The Kohonen Map
Properties
Neural network of 1 fully connected layer to be trained by supervized or
unsupervized approaches
Corresponds to a transformation R n
=⇒ R, R 2
or R
3
• Visualization
• Compression
Neurons in their neighborhood give similar response
Self-Organizing Map (SOM)
• Clustering
Often use when neighborhood of a class has significant meaning
• Classification
• Pattern recognition
• Data mining
• ...
page 3 G Mercier & B Abdel Latif Kohonen map in the OTB
6. The Kohonen Map
Properties
Clouds and Shadows in times series
Description
Benefits in Generic Programming
The Kohonen Map
Properties
Neural network of 1 fully connected layer to be trained by supervized or
unsupervized approaches
Corresponds to a transformation R n
=⇒ R, R 2
or R
3
• Visualization
• Compression
Neurons in their neighborhood give similar response
Self-Organizing Map (SOM)
• Clustering
Often use when neighborhood of a class has significant meaning
• Classification
• Pattern recognition
• Data mining
• ...
page 3 G Mercier & B Abdel Latif Kohonen map in the OTB
7. The Kohonen Map
Properties
Clouds and Shadows in times series
Description
Benefits in Generic Programming
Training Illustration
Neurons random initialization (cm )
Select randomly a training sample x and find the
winning neuron cmx :
x − cmx = min x − cm
m∈{1,...,M}
Update the weight of the winning neuron and of its
neighborhood:
cm (t + 1) = cm (t) + hm,mx (t)[x(t) − cm (t)]
Loop until convergence
page 4 G Mercier & B Abdel Latif Kohonen map in the OTB
8. The Kohonen Map
Properties
Clouds and Shadows in times series
Description
Benefits in Generic Programming
Training Illustration
Neurons random initialization (cm )
Select randomly a training sample x and find the
winning neuron cmx :
x − cmx = min x − cm
m∈{1,...,M}
Update the weight of the winning neuron and of its
neighborhood:
cm (t + 1) = cm (t) + hm,mx (t)[x(t) − cm (t)]
Loop until convergence
page 4 G Mercier & B Abdel Latif Kohonen map in the OTB
9. The Kohonen Map
Properties
Clouds and Shadows in times series
Description
Benefits in Generic Programming
Training Illustration
Neurons random initialization (cm )
Select randomly a training sample x and find the
winning neuron cmx :
x − cmx = min x − cm
m∈{1,...,M}
Update the weight of the winning neuron and of its
neighborhood:
cm (t + 1) = cm (t) + hm,mx (t)[x(t) − cm (t)]
Loop until convergence
page 4 G Mercier & B Abdel Latif Kohonen map in the OTB
10. The Kohonen Map
Properties
Clouds and Shadows in times series
Description
Benefits in Generic Programming
Training Illustration
Neurons random initialization (cm )
Select randomly a training sample x and find the
winning neuron cmx :
x − cmx = min x − cm
m∈{1,...,M}
Update the weight of the winning neuron and of its
neighborhood:
cm (t + 1) = cm (t) + hm,mx (t)[x(t) − cm (t)]
Loop until convergence
page 4 G Mercier & B Abdel Latif Kohonen map in the OTB
11. The Kohonen Map
Properties
Clouds and Shadows in times series
Description
Benefits in Generic Programming
Training Illustration
Neurons random initialization (cm )
Select randomly a training sample x and find the
winning neuron cmx :
x − cmx = min x − cm
m∈{1,...,M}
Update the weight of the winning neuron and of its
neighborhood:
cm (t + 1) = cm (t) + hm,mx (t)[x(t) − cm (t)]
Loop until convergence
page 4 G Mercier & B Abdel Latif Kohonen map in the OTB
12. The Kohonen Map
Properties
Clouds and Shadows in times series
Description
Benefits in Generic Programming
Training Illustration
Neurons random initialization (cm )
Select randomly a training sample x and find the
winning neuron cmx :
x − cmx = min x − cm
m∈{1,...,M}
Update the weight of the winning neuron and of its
neighborhood:
cm (t + 1) = cm (t) + hm,mx (t)[x(t) − cm (t)]
Loop until convergence
page 4 G Mercier & B Abdel Latif Kohonen map in the OTB
13. The Kohonen Map
Modification to deal with missing value
Clouds and Shadows in times series
Modification to deal with erroneous value
Benefits in Generic Programming
Contents
1 The Kohonen Map
Properties
Description
2 Clouds and Shadows in times series
Modification to deal with missing value
Modification to deal with erroneous value
3 Benefits in Generic Programming
page 5 G Mercier & B Abdel Latif Kohonen map in the OTB
14. The Kohonen Map
Modification to deal with missing value
Clouds and Shadows in times series
Modification to deal with erroneous value
Benefits in Generic Programming
Problem: 10 dates in a MODIS time series over Brittany, France
25-nov-2002
5-jan-2003
24-jan-2003
4-feb-2003
22-feb-2003
15-mar-2003
17-mar-2003
19-mar-2003
7-apr-2003
16-apr-2003
MODIS time series (NIR band, 250m resol. 10
dates). Images choosen with a cloud coverage
below 50%, zenithal angle below 20◦ overt center Erroneous data,
of Brittany. clouds
page 6 G Mercier & B Abdel Latif Kohonen map in the OTB
15. The Kohonen Map
Modification to deal with missing value
Clouds and Shadows in times series
Modification to deal with erroneous value
Benefits in Generic Programming
Problem: 10 dates in a MODIS time series over Brittany, France
25-nov-2002
5-jan-2003
24-jan-2003
4-feb-2003
22-feb-2003
15-mar-2003
17-mar-2003
19-mar-2003
7-apr-2003
16-apr-2003
MODIS time series (NIR band, 250m resol. 10
dates). Images choosen with a cloud coverage
below 50%, zenithal angle below 20◦ overt center Erroneous Data,
of Brittany. clouds
page 6 G Mercier & B Abdel Latif Kohonen map in the OTB
16. The Kohonen Map
Modification to deal with missing value
Clouds and Shadows in times series
Modification to deal with erroneous value
Benefits in Generic Programming
Problem: 10 dates in a MODIS time series over Brittany, France
25-nov-2002
5-jan-2003
24-jan-2003
4-feb-2003
22-feb-2003
15-mar-2003
17-mar-2003
19-mar-2003
7-apr-2003
16-apr-2003
MODIS time series (NIR band, 250m resol. 10
dates). Images choosen with a cloud coverage
below 50%, zenithal angle below 20◦ overt center Missing Data, sensor
of Brittany.
page 6 G Mercier & B Abdel Latif Kohonen map in the OTB
17. The Kohonen Map
Modification to deal with missing value
Clouds and Shadows in times series
Modification to deal with erroneous value
Benefits in Generic Programming
Problem: 10 dates in a MODIS time series over Brittany, France
25-nov-2002
5-jan-2003
24-jan-2003
4-feb-2003
22-feb-2003
15-mar-2003
17-mar-2003
19-mar-2003
7-apr-2003
16-apr-2003
MODIS time series (NIR band, 250m resol. 10
dates). Images choosen with a cloud coverage
below 50%, zenithal angle below 20◦ overt center Erroneous Data,
of Brittany. clouds
page 6 G Mercier & B Abdel Latif Kohonen map in the OTB
18. The Kohonen Map
Modification to deal with missing value
Clouds and Shadows in times series
Modification to deal with erroneous value
Benefits in Generic Programming
Problem: 10 dates in a MODIS time series over Brittany, France
25-nov-2002
5-jan-2003
24-jan-2003
4-feb-2003
22-feb-2003
15-mar-2003
17-mar-2003
19-mar-2003
7-apr-2003
16-apr-2003
MODIS time series (NIR band, 250m resol. 10
dates). Images choosen with a cloud coverage
below 50%, zenithal angle below 20◦ overt center Erroneous Data,
of Brittany. clouds
page 6 G Mercier & B Abdel Latif Kohonen map in the OTB
19. The Kohonen Map
Modification to deal with missing value
Clouds and Shadows in times series
Modification to deal with erroneous value
Benefits in Generic Programming
Problem: 10 dates in a MODIS time series over Brittany, France
25-nov-2002
5-jan-2003
24-jan-2003
4-feb-2003
22-feb-2003
15-mar-2003
17-mar-2003
19-mar-2003
7-apr-2003
16-apr-2003
MODIS time series (NIR band, 250m resol. 10
dates). Images choosen with a cloud coverage
below 50%, zenithal angle below 20◦ overt center Clean Data
of Brittany.
page 6 G Mercier & B Abdel Latif Kohonen map in the OTB
20. The Kohonen Map
Modification to deal with missing value
Clouds and Shadows in times series
Modification to deal with erroneous value
Benefits in Generic Programming
Problem: 10 dates in a MODIS time series over Brittany, France
25-nov-2002
5-jan-2003
24-jan-2003
4-feb-2003
22-feb-2003
15-mar-2003
17-mar-2003
19-mar-2003
7-apr-2003
16-apr-2003
MODIS time series (NIR band, 250m resol. 10
dates). Images choosen with a cloud coverage
below 50%, zenithal angle below 20◦ overt center Missing Data, sensor
of Brittany.
page 6 G Mercier & B Abdel Latif Kohonen map in the OTB
21. The Kohonen Map
Modification to deal with missing value
Clouds and Shadows in times series
Modification to deal with erroneous value
Benefits in Generic Programming
Problem: 10 dates in a MODIS time series over Brittany, France
25-nov-2002
5-jan-2003
24-jan-2003
4-feb-2003
22-feb-2003
15-mar-2003
17-mar-2003
19-mar-2003
7-apr-2003
16-apr-2003
MODIS time series (NIR band, 250m resol. 10
dates). Images choosen with a cloud coverage
below 50%, zenithal angle below 20◦ overt center Erroneous Data,
of Brittany. clouds
page 6 G Mercier & B Abdel Latif Kohonen map in the OTB
22. The Kohonen Map
Modification to deal with missing value
Clouds and Shadows in times series
Modification to deal with erroneous value
Benefits in Generic Programming
Problem: 10 dates in a MODIS time series over Brittany, France
25-nov-2002
5-jan-2003
24-jan-2003
4-feb-2003
22-feb-2003
15-mar-2003
17-mar-2003
19-mar-2003
7-apr-2003
16-apr-2003
MODIS time series (NIR band, 250m resol. 10
dates). Images choosen with a cloud coverage
below 50%, zenithal angle below 20◦ overt center Clean Data
of Brittany.
page 6 G Mercier & B Abdel Latif Kohonen map in the OTB
23. The Kohonen Map
Modification to deal with missing value
Clouds and Shadows in times series
Modification to deal with erroneous value
Benefits in Generic Programming
Problem: 10 dates in a MODIS time series over Brittany, France
25-nov-2002
5-jan-2003
24-jan-2003
4-feb-2003
22-feb-2003
15-mar-2003
17-mar-2003
19-mar-2003
7-apr-2003
16-apr-2003
MODIS time series (NIR band, 250m resol. 10
dates). Images choosen with a cloud coverage
below 50%, zenithal angle below 20◦ overt center Erroneous Data,
of Brittany. sensor
page 6 G Mercier & B Abdel Latif Kohonen map in the OTB
24. The Kohonen Map
Modification to deal with missing value
Clouds and Shadows in times series
Modification to deal with erroneous value
Benefits in Generic Programming
From Erroneous to Missing data
Type of errors
Presence of clouds (± thickness)
Presence of shadow
Impulse noise
outliers
Simple Cloud/Shadow Detector
Based on the Box and Whisker technique, rank statistics
let x = {x1 , . . . , xk , . . .} be a time series
˛ ` ´˛
xk is erroneous if ˛xk − α x3/4 − x1/4 ˛ > |x1/2 |, α = 1.5
Neuron definition
x = {NIR1 , . . . , NIRk , . . . , NIR10 }
where NIRi = stands for NIR band of MODIS at time i
page 7 G Mercier & B Abdel Latif Kohonen map in the OTB
25. The Kohonen Map
Modification to deal with missing value
Clouds and Shadows in times series
Modification to deal with erroneous value
Benefits in Generic Programming
From Erroneous to Missing data
Type of errors
Presence of clouds (± thickness)
Presence of shadow
Impulse noise
outliers
Simple Cloud/Shadow Detector
Based on the Box and Whisker technique, rank statistics
let x = {x1 , . . . , xk , . . .} be a time series
˛ ` ´˛
xk is erroneous if ˛xk − α x3/4 − x1/4 ˛ > |x1/2 |, α = 1.5
Neuron definition
x = {NIR1 , . . . , NIRk , . . . , NIR10 }
where NIRi = stands for NIR band of MODIS at time i
page 7 G Mercier & B Abdel Latif Kohonen map in the OTB
26. The Kohonen Map
Modification to deal with missing value
Clouds and Shadows in times series
Modification to deal with erroneous value
Benefits in Generic Programming
From Erroneous to Missing data
Type of errors
Presence of clouds (± thickness)
Presence of shadow
Impulse noise
outliers
Simple Cloud/Shadow Detector
Based on the Box and Whisker technique, rank statistics
let x = {x1 , . . . , xk , . . .} be a time series
˛ ` ´˛
xk is erroneous if ˛xk − α x3/4 − x1/4 ˛ > |x1/2 |, α = 1.5
Neuron definition
x = {NIR1 , . . . , NIRk , . . . , NIR10 }
where NIRi = stands for NIR band of MODIS at time i
page 7 G Mercier & B Abdel Latif Kohonen map in the OTB
27. The Kohonen Map
Modification to deal with missing value
Clouds and Shadows in times series
Modification to deal with erroneous value
Benefits in Generic Programming
Kohonen Map Modification
Deal with missing value
In a series x = {x1 , . . . , xk , . . .}
if xk is missing ⇐⇒ k ∈ Mx
Where Mx is a set that contains indices of missing components
Winning Neuron Evaluation
X “ ”2
2
x − cm = x(j) − cm (j)
j ∈Mx
/
Winning Neuron Update cmx
( h i
cm;k (t) + hm,mx (t) xk − cm;k (t) if k ∈ Mx ,
/
cm;k (t + 1) =
cm;k (t) if k ∈ Mx .
page 8 G Mercier & B Abdel Latif Kohonen map in the OTB
28. The Kohonen Map
Modification to deal with missing value
Clouds and Shadows in times series
Modification to deal with erroneous value
Benefits in Generic Programming
Results
Initial NIR Band Associated neuron value
25-nov-2002 25-nov-2002
page 9 G Mercier & B Abdel Latif Kohonen map in the OTB
29. The Kohonen Map
Modification to deal with missing value
Clouds and Shadows in times series
Modification to deal with erroneous value
Benefits in Generic Programming
Results
Initial NIR Band Associated neuron value
5-jan-2003 5-jan-2003
page 9 G Mercier & B Abdel Latif Kohonen map in the OTB
30. The Kohonen Map
Modification to deal with missing value
Clouds and Shadows in times series
Modification to deal with erroneous value
Benefits in Generic Programming
Results
Initial NIR Band Associated neuron value
24-jan-2003 24-jan-2003
page 9 G Mercier & B Abdel Latif Kohonen map in the OTB
31. The Kohonen Map
Modification to deal with missing value
Clouds and Shadows in times series
Modification to deal with erroneous value
Benefits in Generic Programming
Results
Initial NIR Band Associated neuron value
4-feb-2003 4-feb-2003
page 9 G Mercier & B Abdel Latif Kohonen map in the OTB
32. The Kohonen Map
Modification to deal with missing value
Clouds and Shadows in times series
Modification to deal with erroneous value
Benefits in Generic Programming
Results
Initial NIR Band Associated neuron value
19-mar-2003 19-mar-2003
page 9 G Mercier & B Abdel Latif Kohonen map in the OTB
33. The Kohonen Map
Modification to deal with missing value
Clouds and Shadows in times series
Modification to deal with erroneous value
Benefits in Generic Programming
Results
Initial NIR Band Associated neuron value
16-apr-2003 16-apr-2003
page 9 G Mercier & B Abdel Latif Kohonen map in the OTB
34. The Kohonen Map
Modification to deal with missing value
Clouds and Shadows in times series
Modification to deal with erroneous value
Benefits in Generic Programming
Validation
Comparison with compositing products of MODIS/Terra
Kohonen MOD13Q1 MOD09Q1
CV-MVC through 16 days CV-MVC through 8 days
18-jan-2003 ` 02-feb-2003
a 18-jan-2003 ` 25-jan-2003
a
page 10 G Mercier & B Abdel Latif Kohonen map in the OTB
35. The Kohonen Map
Modification to deal with missing value
Clouds and Shadows in times series
Modification to deal with erroneous value
Benefits in Generic Programming
Appropriated Similarity Measure
Vanishing outiers impact
Euclidean Measure (no detection):
n
X
ED(x, y) = (xi − yi )2
i=1
page 11 G Mercier & B Abdel Latif Kohonen map in the OTB
36. The Kohonen Map
Modification to deal with missing value
Clouds and Shadows in times series
Modification to deal with erroneous value
Benefits in Generic Programming
Appropriated Similarity Measure
Vanishing outiers impact
Euclidean Measure (no detection):
n
X
ED(x, y) = (xi − yi )2
i=1
Euclidean Measure (with missing value):
X
ED(x, y) = (xi − yi )2
i ∈Mx
/
page 11 G Mercier & B Abdel Latif Kohonen map in the OTB
37. The Kohonen Map
Modification to deal with missing value
Clouds and Shadows in times series
Modification to deal with erroneous value
Benefits in Generic Programming
Appropriated Similarity Measure
Vanishing outiers impact
Euclidean Measure (no detection):
n
X
ED(x, y) = (xi − yi )2
i=1
Euclidean Measure (with missing value):
X
ED(x, y) = (xi − yi )2
i ∈Mx
/
Sparse Measure:
n
X
D(x, y) = |xia − yia |b , b > 0, a>0
i=1
page 11 G Mercier & B Abdel Latif Kohonen map in the OTB
38. The Kohonen Map
Modification to deal with missing value
Clouds and Shadows in times series
Modification to deal with erroneous value
Benefits in Generic Programming
How to set parameters a and b
a, b = 1
100 b, a = 1 100
a =0.1
Correct matching %
80
Correct Matching %
80
a=1
60 60
40 40
20
20
0
0 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
0 0.5 1 1.5 2 2.5 3
a or b b
100 Same distribution
0 < a, b < 1.
Correct Matching %
80
fit ≈ 100% when b = 0.1.
60
He
D(x, y) = i |xi − yi |0.1
avy
P
-ta
ile
40 d
20
0
0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
b
page 12 G Mercier & B Abdel Latif Kohonen map in the OTB
39. The Kohonen Map
Modification to deal with missing value
Clouds and Shadows in times series
Modification to deal with erroneous value
Benefits in Generic Programming
Comparison with other distances
pPn
a) Euclidean Distance ED(x, y) = i=1 (xi − yi )2
„ «
−1 <x, y>
b) Spectral Angle SA(x, y) = cos
x y
E(xy−¯¯
xy
c) Spectral Correlation SCorr(x, y) = σx σy
d) Spectral Info Divergence SID(x, y) = D(x y) + D(y x)
|xi − yi |0.1
P
e) Sparse Distance D(x, y) = i
page 13 G Mercier & B Abdel Latif Kohonen map in the OTB
40. The Kohonen Map
Modification to deal with missing value
Clouds and Shadows in times series
Modification to deal with erroneous value
Benefits in Generic Programming
Comparison with other distances
Statistiques des images de diff´rence
e
a) ED b) SA c) SCorr d) SID e) Sparse D
SOM (no outlier detection at training)
µ -.03575 0.03665 0.03606 0.03878 -0.0002
σ .05594 0.13173 0.14953 0.1218 0.01607
SOM (with outlier detection at training)
µ -0.00736 -0.00233 0.00228 -0.00246 -0.00018
σ 0.03516 0.08345 0.09807 0.07718 0.01609
page 13 G Mercier & B Abdel Latif Kohonen map in the OTB
41. The Kohonen Map
Clouds and Shadows in times series
Benefits in Generic Programming
Contents
1 The Kohonen Map
Properties
Description
2 Clouds and Shadows in times series
Modification to deal with missing value
Modification to deal with erroneous value
3 Benefits in Generic Programming
page 14 G Mercier & B Abdel Latif Kohonen map in the OTB
42. The Kohonen Map
Clouds and Shadows in times series
Benefits in Generic Programming
Generic Programming
The OTB code with Kohonen map
Periodic SOM for training
typedef itk::Statistics::EuclideanDistance< VectorType >
DistanceType;
typedef otb::SOMMap< VectorType, DistanceType, Dimension > MapType;
typedef otb::PeriodicSOM< SampleListType, MapType,
LearningBehaviorFunctorType, NeighborhoodBehaviorFunctorType >
SOMType;
SOMType::Pointer som = SOMType::New();
som->SetListSample( sampleList );
som->Set...
som->Update();
page 15 G Mercier & B Abdel Latif Kohonen map in the OTB
43. The Kohonen Map
Clouds and Shadows in times series
Benefits in Generic Programming
Generic Programming
The OTB code with Kohonen map
Periodic SOM for training
SOM for classification
typedef itk::Statistics::EuclideanDistance< VectorType >
DistanceType;
typedef otb::SOMMap< VectorType, DistanceType, Dimension > MapType;
typedef otb::SOMClassifier<SampleType,SOMMapType,LabelPixelType>
ClassifierType;
ClassifierType::Pointer classifier = ClassifierType::New();
classifier->SetSample(sample.GetPointer());
classifier->SetMap(somreader->GetOutput());
classifier->Update();
page 15 G Mercier & B Abdel Latif Kohonen map in the OTB
44. The Kohonen Map
Clouds and Shadows in times series
Benefits in Generic Programming
Generic Programming
The OTB code with Kohonen map
Periodic SOM for training
SOM for classification
SOM for segmentation
typedef itk::Statistics::EuclideanDistance< VectorType >
DistanceType;
typedef otb::SOMMap< VectorType, DistanceType, Dimension > MapType;
typedef otb::SOMbasedImageFilter<SampleType,SOMMapType,LabelPixelType>
FilterType;
FilterType::Pointer filter = FilterType::New();
filter->SetInputImage( inputImage );
filter->SetMap(somReader->GetOutput());
filter->Update();
page 15 G Mercier & B Abdel Latif Kohonen map in the OTB
45. The Kohonen Map
Clouds and Shadows in times series
Benefits in Generic Programming
Generic Programming
The OTB code with Kohonen map for missing value
Periodic SOM for training with erroneous data
typedef itk::Statistics::EuclideanDistance<VectorType>
DistanceType;
typedef otb::SOMMap< VectorType, DistanceType, Dimension > MapType;
typedef otb::PeriodicSOM< SampleListType, MapType,
LearningBehaviorFunctorType, NeighborhoodBehaviorFunctorType >
SOMType;
SOMType::Pointer som = SOMType::New();
som->SetListSample( sampleList );
som->Set...
som->Update();
page 16 G Mercier & B Abdel Latif Kohonen map in the OTB
46. The Kohonen Map
Clouds and Shadows in times series
Benefits in Generic Programming
Generic Programming
The OTB code with Kohonen map for missing value
Periodic SOM for training with erroneous data
typedef otb::Statistics::EuclideanDistanceWithMissingValue<VectorType>
DistanceType;
typedef otb::SOMMap< VectorType, DistanceType, Dimension > MapType;
typedef otb::PeriodicSOM< SampleListType, MapType,
LearningBehaviorFunctorType, NeighborhoodBehaviorFunctorType >
SOMType;
SOMType::Pointer som = SOMType::New();
som->SetListSample( sampleList );
som->Set...
som->Update();
page 16 G Mercier & B Abdel Latif Kohonen map in the OTB
47. The Kohonen Map
Clouds and Shadows in times series
Benefits in Generic Programming
Generic Programming
The OTB code with Kohonen map for missing value
Periodic SOM for training with erroneous data
typedef otb::Statistics::EuclideanDistanceWithMissingValue<VectorType>
DistanceType;
typedef otb::SOMMap< VectorType, DistanceType, Dimension > MapType;
typedef otb::PeriodicSOM< SampleListType, MapType,
LearningBehaviorFunctorType, NeighborhoodBehaviorFunctorType >
SOMType;
typedef otb::BoxAndWhiskerImageFilter<ImageType> CloudFilterType;
SOMType::Pointer som = SOMType::New();
som->SetListSample( sampleList );
som->Set...
som->Update();
page 16 G Mercier & B Abdel Latif Kohonen map in the OTB
48. The Kohonen Map
Clouds and Shadows in times series
Benefits in Generic Programming
Generic Programming
The OTB code with Kohonen map for missing value
Periodic SOM for training with erroneous data
SOM for recovering missing data
typedef otb::Statistics::EuclideanDistanceWithMissingValue<VectorType>
DistanceType;
typedef otb::SOMMap< VectorType, DistanceType, Dimension > MapType;
typedef otb::SOMbasedImageFilter<SampleType,SOMMapType,LabelPixelType>
FilterType;
FilterType::Pointer filter = FilterType::New();
filter->SetInputImage( inputImage );
filter->SetMap(somreader->GetOutput());
filter->Update();
page 16 G Mercier & B Abdel Latif Kohonen map in the OTB
49. The Kohonen Map
Clouds and Shadows in times series
Benefits in Generic Programming
Generic Programming
The OTB code with Kohonen map for missing value
Periodic SOM for training with erroneous data
SOM for recovering missing data
SOM for recovering erroneous data
typedef otb::Statistics::FlexibleDistanceWithMissingValue<VectorType>
DistanceType;
DistanceType::SetAlphaBeta(a,b);
typedef otb::SOMMap< VectorType, DistanceType, Dimension > MapType;
typedef otb::SOMbasedImageFilter<SampleType,SOMMapType,LabelPixelType>
FilterType;
FilterType::Pointer filter = FilterType::New();
filter->SetInputImage( inputImage );
filter->SetMap(somreader->GetOutput());
filter->Update();
page 16 G Mercier & B Abdel Latif Kohonen map in the OTB
50. The Kohonen Map
Clouds and Shadows in times series
Benefits in Generic Programming
Generic Programming
The OTB code with Kohonen map for missing value
Periodic SOM for training with erroneous data
SOM for recovering missing data
SOM for recovering erroneous data
SOM for what particular application?
Set your own distance
Set the neurone type
Set the kohonen map training procedure
Set the Kohonen map way of using...
page 16 G Mercier & B Abdel Latif Kohonen map in the OTB
51. The Kohonen Map
Clouds and Shadows in times series
Benefits in Generic Programming
Implementing Kohonen’s SOM with Missing Data in OTB
Conclusion
Generic tool for using missing and erroneous data
Thematic part validated by the COSTEL for land use purpose
May be adapted for many kind of supervized/unsupervised learning
procedure based on the Kohonen map.
page 17 G Mercier & B Abdel Latif Kohonen map in the OTB
52. The Kohonen Map
Clouds and Shadows in times series
Benefits in Generic Programming
Implementing Kohonen’s SOM with Missing Data in OTB
Conclusion
Generic tool for using missing and erroneous data
Thematic part validated by the COSTEL for land use purpose
May be adapted for many kind of supervized/unsupervised learning
procedure based on the Kohonen map.
Just use it!
page 17 G Mercier & B Abdel Latif Kohonen map in the OTB