4.8.4 Fusion of Classifications

Fuses several classifications maps of the same image on the basis of class labels.

Detailed description

This application allows to fuse several classification maps and produces a single more robust classification map. Fusion is done either by mean of Majority Voting, or with the Dempster Shafer combination method on class labels.
-MAJORITY VOTING: for each pixel, the class with the highest number of votes is selected.
-DEMPSTER SHAFER: for each pixel, the class label for which the Belief Function is maximal is selected. This Belief Function is calculated by mean of the Dempster Shafer combination of Masses of Belief, and indicates the belief that each input classification map presents for each label value. Moreover, the Masses of Belief are based on the input confusion matrices of each classification map, either by using the PRECISION or RECALL rates, or the OVERALL ACCURACY, or the KAPPA coefficient. Thus, each input classification map needs to be associated with its corresponding input confusion matrix file for the Dempster Shafer fusion.
-Input pixels with the NODATA label are not handled in the fusion of classification maps. Moreover, pixels for which all the input classifiers are set to NODATA keep this value in the output fused image.
-In case of number of votes equality, the UNDECIDED label is attributed to the pixel.

Parameters

This section describes in details the parameters available for this application. Table 4.118, page 690 presents a summary of these parameters and the parameters keys to be used in command-line and programming languages. Application key is FusionOfClassifications.





Parameter key

Parameter type

Parameter description




il

Input image list

Input classifications

method

Choices

Fusion method

method majorityvoting

Choice

Majority Voting

method dempstershafer

Choice

Dempster Shafer combination

method.dempstershafer.cmfl

Input File name list

Confusion Matrices

method.dempstershafer.mob

Choices

Mass of belief measurement

method.dempstershafer.mob precision

Choice

Precision

method.dempstershafer.mob recall

Choice

Recall

method.dempstershafer.mob accuracy

Choice

Overall Accuracy

method.dempstershafer.mob kappa

Choice

Kappa

nodatalabel

Int

Label for the NoData class

undecidedlabel

Int

Label for the Undecided class

out

Output image

The output classification image

inxml

XML input parameters file

Load otb application from xml file

outxml

XML output parameters file

Save otb application to xml file











Table 4.118: Parameters table for Fusion of Classifications.

Input classifications List of input classification maps to fuse. Labels in each classification image must represent the same class.

Fusion method Selection of the fusion method and its parameters. Available choices are:

Label for the NoData class Label for the NoData class. Such input pixels keep their NoData label in the output image and are not handled in the fusion process. By default, ’nodatalabel = 0’.

Label for the Undecided class Label for the Undecided class. Pixels with more than 1 fused class are marked as Undecided. Please note that the Undecided value must be different from existing labels in the input classifications. By default, ’undecidedlabel = 0’.

The output classification image The output classification image resulting from the fusion of the input classification images.

Load otb application from xml file Load otb application from xml file

Save otb application to xml file Save otb application to xml file

Example

To run this example in command-line, use the following:

otbcli_FusionOfClassifications -il classification1.tif classification2.tif classification3.tif -method dempstershafer -method.dempstershafer.cmfl classification1.csv classification2.csv classification3.csv -method.dempstershafer.mob precision -nodatalabel 0 -undecidedlabel 10 -out classification_fused.tif

To run this example from Python, use the following code snippet:

#!/usr/bin/python 
 
# Import the otb applications package 
import otbApplication 
 
# The following line creates an instance of the FusionOfClassifications application 
FusionOfClassifications = otbApplication.Registry.CreateApplication("FusionOfClassifications") 
 
# The following lines set all the application parameters: 
FusionOfClassifications.SetParameterStringList("il", ['classification1.tif', 'classification2.tif', 'classification3.tif']) 
 
FusionOfClassifications.SetParameterString("method","dempstershafer") 
 
 
FusionOfClassifications.SetParameterString("method.dempstershafer.mob","precision") 
 
FusionOfClassifications.SetParameterInt("nodatalabel", 0) 
 
FusionOfClassifications.SetParameterInt("undecidedlabel", 10) 
 
FusionOfClassifications.SetParameterString("out", "classification_fused.tif") 
 
# The following line execute the application 
FusionOfClassifications.ExecuteAndWriteOutput()

Limitations

None

Authors

This application has been written by OTB-Team.

See also

These additional ressources can be useful for further information: