Probability map

Probability maps are rasters containing as bands as class. Each band reprensents the probability of belonging to a given class in [0; 1000] range. Bands are ordered from the lower to the greater integer label.

Parameters involved

Parameter Key

Parameter section

Parameter Type

Default value

Parameter purpose

enable_probability_map

arg_classification

Boolean

False

enable the probability map generation

Parameters compatibility

The probability maps can only be generated if the shark classifier is used during the run.

Warning

if enable_probability_map is True then classifier must be 'sharkrf'

Additionnal outputs

Each classifications will generate it own probability map called PROBAMAP_TT_model_MM_seed_SS.tif in classif output iota2 directory where TT is the tile’s name MM the model’s name and SS the seed number. Once all generated, they are merged under the ProbabilityMap_seed_SS.tif name into the final directory.

Internal choices

In some case, there is many classifier decisions to a given pixel. This section detail internal choices in order to provide a probability map without NoData labels.

Post-classification fusion

By enabling the dempster_shafer_SAR_Opt_fusion parameter flag, iota2 will class each pixels invoking the model built thanks to SAR data and the one built by using optical data. Then, the dempster-shafer is used to attribute the final decision.

Here is the rules to attribute the vector of probability to each pixels

Consider :

\(p\): the pixel of interest

\(ProbaMapSAR\): the probability map provided by the SAR model

\(ProbaMapOpt\): the probability map provided by the optical model

\(ProbaMapOut\): the output probability map

\(DS\): the dempster-shafer choice

\(DS(p)\) in \({0, 1, 2, 3}\)

0 : no decision

1 : choice is both

2 : choice is SAR

3 : choice is Optical

Then :

\(ProbaMapOut(p) = 0\) if \(DS(p) = 0\)

\(ProbaMapOut(p) = ProbaMapSAR(p)\) if \(DS(p) = 2\)

\(ProbaMapOut(p) = ProbaMapOpt(p)\) if \(DS(p) = 3\)

\(ProbaMapOut(p) = ProbaMapOpt(p)\) if \(DS(p) = 1\) and \(max(ProbaMapOpt(p)) > max(ProbaMapSAR(p))\)

\(ProbaMapOut(p) = ProbaMapSAR(p)\) if \(DS(p) = 1\) and \(max(ProbaMapSAR(p)) > max(ProbaMapOpt(p))\)

Too huge regions

Using both parameters classifMode to 'separate' and mode_outside_RegionSplit to an integer value, many models will be built to a given region. Then each models will votes to each pixels inside the region and some fusion rules are involved. Here is the probability maps fusion rule :

the probability of a given class is the mean of all probability provided by each classifier.

Developers corner

Some unittests are involved by probability maps generation

Tests

UnitTests.ClassificationsTests.test_reorder_proba_map

UnitTests.OpticalSARFusionTests.test_compute_probamap_fusion