Publications

A static C++ object-oriented programming (SCOOP) paradigmc mixing benefits of traditional OOP and generic programming

Nicolas Burrus · Alexandre Duret-Lutz · Thierry Géraud · David Lesage · Raphaël Poss

Object-oriented and generic programming are both supported in C++. OOP provides high expressiveness whereas GP leads to more efficient programs by avoiding dynamic typing. This paper presents SCOOP, a new paradigm which enables both classical OO design and high performance in C++ by mixing OOP and GP. We show how classical and advanced OO features such as virtual methods, multiple inheritance, argument covariance, virtual types and multimethods can be implemented in a fully statically typed model, hence without run-time overhead.

Multi-band segmentation using morphological clustering and fusion: Application to color image segmentation

Heru Xue · Thierry Géraud · Alexandre Duret-Lutz

In this paper we propose a novel approach for color image segmentation. Our approach is based on segmentation of subsets of bands using mathematical morphology followed by the fusion of the resulting segmentation channels. For color images the band subsets are chosen as RG, RB and GB pairs, whose 2D histograms are processed as projections of a 3D histogram. The segmentations in 2D color spaces are obtained using the watershed algorithm. These 2D segmentations are then combined to obtain a final result using a region split-and-merge process. The CIE L a b color space is used to measure the color distance. Our approach results in improved performance and can be generalized for multi-band segmentation of images such as multi-spectral satellite images information.

Representation and fusion of heterogeneous fuzzy information in the 3D space for model-based structural recognition—application to 3D brain imaging

Isabelle Bloch · Thierry Géraud · Henri Maître

We present a novel approach of model-based pattern recognition where structural information and spatial relationships have a most important role. It is illustrated in the domain of 3D brain structure recognition using an anatomical atlas. Our approach performs simultaneously segmentation and recognition of the scene and the solution of the recognition task is progressive, processing successively different objects, using different of knowledge about the object and about relationships between objects. Therefore the core of the approach is the representation part, and constitutes the main contribution of this paper. We make use of a spatial representation of each piece of information, as a spatial set representing a constraint to be satisfied by the searched object, thanks in particular to fuzzy mathematical operations. Fusion of these constraints allows to, segment and recognize the desired object.

Program templates: Expression templates applied to program evaluation

Francis Maes

The C++ language provides a two-layer execution model: static execution of meta-programs and dynamic execution of resulting programs. The Expression Templates technique takes advantage of this dual execution model through the construction of C++ types expressing simple arithmetic formulas. Our intent is to extend this technique to a whole programming language. The Tiger language is a small, imperative language with types, variables, arrays, records, ow control structures and nested functions. The rst step is to show how to express a Tiger program as a C++ type. The second step concerns operational analysis which is done through the use of meta-programs. Finally an implementation of our Tiger evaluator is proposed. Our technique goes much deeper than the Expression Templates one. It shows how the generative power of C++ meta-programming can be used in order to compile abstract syntax trees of a fully featured programming language.

Document type recognition using evidence theory

Thierry Géraud · Geoffroy Fouquier · Quoc Peyrot · Nicolas Lucas · Franck Signorile

This paper presents a method to recognize the type of a document when a database of models (document types) is given. For instance, when every documents are forms and when we know every different types of forms, we want to be able to assign to an input document its type of form. To that aim, we define each model by a set of characteristics whose nature can vary from one to another. For instance, a characteristic can be having a flower-shaped logo on top-left as well as having about 12pt fonts. This paper does not intent to explain how to extract such knowledge from documents but it describes how to use such information to decide what the type of a given document is when different document types are described by characteristics.

Introducing Vaucanson

Sylvain Lombardy · Raphaël Poss · Yann Régis-Gianas · Jacques Sakarovitch

This paper reports on a new software platform dedicated to the computation with automata and transducers, called Vaucanson, the main feature of which is the capacity of dealing with automata whose labels may belong to various algebraic structures. The paper successively shows how Vaucanson allows to program algorithms on automata in a way which is very close to the mathematical expression of the algorithm, describes some features of the Vaucanson platform, including the fact that the very rich data structure used to implement automata does not weight too much on the performance and finally explains the main issues of the programming design that allow to achieve both genericity and efficiency.

On orthogonal specialization in C++: Dealing with efficiency and algebraic abstraction in Vaucanson

Yann Régis-Gianas · Raphaël Poss

Vaucanson is a C++ generic library for weighted finite state machine manipulation. For the sake of generality, FSM are defined using algebraic structures such as alphabet (for the letters), free monoid (for the words), semiring (for the weights) and series (mapping from words to weights). As usual, what is at stake is to maintain efficiency while providing a high-level layer for the writing of generic algorithms. Yet, one of the particularities of FSM manipulation is the need of a fine grained specialization power on an object which is both an algebraic concept and an intensive computing machine.

Segmentation of curvilinear objects using a watershed-based curve adjacency graph

Thierry Géraud

This paper presents a general framework to segment curvilinear objects in 2D images. A pre-processing step relies on mathematical morphology to obtain a connected line which encloses curvilinear objects. Then, a graph is constructed from this line and a Markovian Random Field is defined to perform objects segmentation. Applications of our framework are numerous: they go from simple surve segmentation to complex road network extraction in satellite images.

Segmentation d’objets curvilignes à l’aide des champs de markov sur un graphe d’adjacence de courbes issu de l’algorithme de la ligne de partage des eaux

Thierry Géraud

This paper presents a general framework to segment curvilinear objects in 2D images. A pre-processing step relies on mathematical morphology to obtain a connected line which encloses curvilinear objects. Then, a graph is constructed from this line and a Markovian Random Field is defined to perform objects segmentation. Applications of our framework are numerous: they go from simple surve segmentation to complex road network extraction in satellite images.

Fast road network extraction in satellite images using mathematical morphology and MRF

Thierry Géraud

This paper presents a fast method to extract road network in satellite images. A pre-processing stage relies on mathematical morphology to obtain a connected line which encloses road network. Then, a graph is constructed from this line and a Markovian Random Field is defined to perform road extraction.