Full text: Technical Commission III (B3)

(such as the acceptance rate of each kernel) and is used through 
the following member function that modifies the current configu- 
ration in place (preventing useless copies), performing one itera- 
tion of algorithm 1. 
International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume XXXIX-B3, 2012 
XXII ISPRS Congress, 25 August — 01 September 2012, Melbourne, Australia 
  
  
template«typename Configuration 
void sampler::operator()(Configuration &c, double temp); 
  
  
The Configuration type and its Modif ication associated type 
is highly problem dependent, section 2.2 will detail them in the 
MPP context. The sampler does only access them through the 
Kernels, the reference Density and the evaluation of the energy 
difference AU they offer. 
3.2.1 Density Strategy This strategy provides the reference 
distribution, by exposing a double pdf. ratio(const Configuration&, 
const Modification&) member function that evaluates the distribu- 
tion ratio r( X;) /v(X:), where X, is provided as a Configuration 
and X; as a proposed Modification of the current configuration 
X:. The poisson_distribution and uniform_distribution are dis- 
crete probabilities over the set of non-negative integers, which 
are handy as basic blocks to build a Density. Discrete distribu- 
tions expose the following member functions: 
  
  
double pdf_ratio(int nO, int nl) const, 
deuble pdf(int n) const; // FDF ovaination 
int operater()() const; 
  
  
    
  
   
  
   
    
   
   
   
   
   
   
3.2.2 Acceptance Strategy Itencodes how the simulated an- 
nealing temperature 7 is used to introduce the energy bias (through 
the AU term) into the reference PDF, R.. denoting the Green 
ratio of the reference process. metropolis acceptance is the most 
common choice, using the unnormalized target distribution Te T. 
Other acceptance rules depart from the formulation of a well- 
defined target distribution (Salamon et al., 2002). 
  
Available Acceptance Models, c(x) is x clamped to [0, 1] 
  
metropolis acceptance Fe 7 
szu hartley acceptance Rx (1 + eT) 
  
= 7 
franz_hoffmann_acceptance Re (c (1 = js ar) 
U 
1 if Rx. T. JA, 
0 otherwise 
tsallis tsariolo acceptance Res (c (1 PE (1 E 57)) T 
A 
dueck scheuer acceptance 
  
3.2.3 KernelStrategy Pairs of reversible kernels are provided 
together using the following class, the forward and backward ker- 
nel being defined by swaping roles of views, of variates and in- 
versing the Transform: 
  
  
    
    
  
   
template«typename ViewO, typename Viewl, 
ty ame Variate0, ty jame Variatel, 
typename Transform» class kernel; 
  
Transform Concept Transformations encode the bijective dif- 
ferentiable mapping T; between spaces of equal dimensions. They 
are thus used to describe the bijection applied during a kernel pro- 
posal. Transformations must provide apply, inverse and abs_jacobian 
functions, which are used respectively in the forward kernel, the 
backward kernel and in the Green ratio computation. 
  
Available Transform Models 
linear_transform AX 
affine transform A.X + B 
diagonal linear transform diag(a1 ve an). X 
diagonal_affine_transform diag(a1 x s). X +B 
  
  
3.3 MPP Concepts 
3.3.1 MPP Configurations MPPs are commonly used to 
drive a stochastic exploration in a optimization context where the 
objective function, hereafter called an Energy is composed as 
the sum of per-object unary terms and per-pair of objects binary 
terms. For efficiency reasons, Configurations are thus tightly 
coupled with Energies in this library. A Configuration is a 
wrapper around a container of objects. The library offers vector - 
configuration and graph configuration Configuration models. 
The former is based on a simple sta::vector while the latter em- 
beds a boost::graph that allows the caching of unary and non-zero 
binary energy terms, speeding-up AU computations. 
The only requirement on the object type is that it is able to provide 
an iterator over a parameterisation vector. Multi-Marked Point 
Processes (i.e. processes of heterogeneous object types) are sup- 
ported by supplying a boost::variant over the types of objects as 
the object template argument of the configuration. In this context, 
all library functions that handle explicitly the objects have them 
first dispatched through the boost::variant dispatching function so 
that functors like Energies are boost::variant-agnostic. 
3.3.2 MPP Energies The library currently supports energies 
that are defined as sums of unary (U1) and binary (Uz) energies: 
UX)-»,Uu(- », Um» Q 
z€X, z,yJ€ Xt,mrxy 
  
Available Energy Models (Tournaire et al., 2010) 
constant energy (unary and binary) 
image gradient unary energy Integrated vector flow 
intersection area binary energy Area of intersection 
Available Operator Energy Models 
negate energy« L9 — Eo 
pius energy« Eo, E» Eo +Eı 
minus_energy< Fo,F1 > Eo e FA 
multiplies_energy< Fo,F1 > Eo.F1 
divides energy« Fo,F1 > Eo/ FA 
modulus energy- Eo, EA Eo96 EA 
  
  
  
  
  
   
   
  
    
   
  
  
  
  
   
A kernel is used to propose atomic moves to explore the configu- 
ration space. 
Variate Concept It provides the distribution ¢; that samples 
a fixed-length vector and evaluates its probability density. 
View Concept It encodes the combinatorial aspects of the ker- 
nel and the function 1); that extract an iterator over 6 values when 
applied forwards and constructs the new configuration based on 
the vector (6^, u^) resulting from the Transform when applied 
backwards. 
  
By overloading the C++ operators, the operator Energy models 
allow to build an energy such as U2(x, y) = 100—area(xNy) by 
intuitively writing the code 100—intersection_area_binary_energy(), 
resulting in a binary energy of type: 
minus_energy<constant_energy,intersection_area_binary_energy> 
3.3.3 MPP Density The reference MPP distribution is de- 
fined using the class marked point process::direct sampler, which 
combines a discrete distribution (section 3.2.1) for each object 
type, probabilizing the number of objects and a uniform object 
sampler that is used to get independent object samples. 
    
   
  
  
  
  
  
   
  
  
   
    
   
    
   
  
  
  
  
  
  
   
  
  
  
    
   
   
  
   
  
  
   
  
   
   
  
  
	        
Waiting...

Note to user

Dear user,

In response to current developments in the web technology used by the Goobi viewer, the software no longer supports your browser.

Please use one of the following browsers to display this page correctly.

Thank you.