WO1999062030A1 - Procede de simplification d'image et application dudit procede a la segmentation et au codage d'images - Google Patents

Procede de simplification d'image et application dudit procede a la segmentation et au codage d'images Download PDF

Info

Publication number
WO1999062030A1
WO1999062030A1 PCT/FR1999/001264 FR9901264W WO9962030A1 WO 1999062030 A1 WO1999062030 A1 WO 1999062030A1 FR 9901264 W FR9901264 W FR 9901264W WO 9962030 A1 WO9962030 A1 WO 9962030A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
value
leveling
pixels
pixel
Prior art date
Application number
PCT/FR1999/001264
Other languages
English (en)
Inventor
Fernand Meyer
Original Assignee
Association Pour La Recherche Et Le Developpement Des Methodes Et Processus Industriels
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Association Pour La Recherche Et Le Developpement Des Methodes Et Processus Industriels filed Critical Association Pour La Recherche Et Le Developpement Des Methodes Et Processus Industriels
Priority to DE69911956T priority Critical patent/DE69911956T2/de
Priority to EP99920941A priority patent/EP1080448B1/fr
Publication of WO1999062030A1 publication Critical patent/WO1999062030A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration by the use of local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/39Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability involving multiple description coding [MDC], i.e. with separate layers being structured as independently decodable descriptions of input picture data

Definitions

  • the present invention relates to the methods of constructing a simplified representation making it possible to represent an original image, which will be called the reference image f, constituted by a matrix of pixels to each of which is assigned at least one radiometric value f (x)
  • each pixel has a radiometric value g (x).
  • This additional step can be constituted by a segmentation of the image, consisting in isolating, by defining the outline, certain objects which appear in the image.
  • Another application consists in compressing the image for transmission or storage, for example by an algorithm such as JPEG for still images or MPEG for image sequences.
  • the coding algorithm By applying the coding algorithm to the simplified image g rather than to the image f, the image can be represented by less data than by direct coding of f.
  • the simplification methods mention may be made, in the linear domain, of convolutions (in particular by Gaussian nuclei) and, in the non-linear domain, morphological filters, in particular sequential alternating filters.
  • the present invention aims to provide an image simplification process responding better than earlier known ⁇ the requirements of practice, particularly by providing a simplified image having a uniform appearance in areas where the simplified image g is significantly different from f. It also aims to provide a method making it possible to provide an image giving a segmentation or coding algorithm greater efficiency than when this algorithm is applied to the original image f.
  • the invention notably proposes a method of constructing a simplified representation g of an original image, which will be called the reference image f, by using a predetermined marker image g, the images being each represented by a matrix of pixels to each of which is assigned at least one radiometric value, according to which the value g (x) of each pixel is deduced from the simplified image of the image f: - in the regions where g is less than a function ⁇ f deducted from f and less than or equal to f, by increasing g by the minimum amount which makes it possible to constitute a plateau in any connected particle where g ⁇ f, except in the zones where the increase in g is limited by the corresponding value of ⁇ f, which is locally lower than the value of the plateau.
  • the functions ⁇ and ⁇ can be dual or not. They can be constituted by an arithmetic and / or morphological function.
  • FIG. 6 is intended to give a tangible indication of the results obtained by the invention in the case of a particularly simple leveling algorithm, the final result being thus represented.
  • the original image is represented by a continuous curve f (as opposed to the quantized and discrete representation of Figures 1 and 3).
  • the image g is a filtered representation of f.
  • the simplified image or leveling g is obtained by an algorithm giving rise to trays of constant level.
  • On any connected particle of f: - or g ⁇ f, g is obtained by increasing g until it reaches the highest level of g in the particle or reaches f;
  • g is obtained by decreasing g until it reaches the lowest level of g in the particle or reaches f.
  • This marker image can be produced manually and then be drawn in the form of a curve or a surface which erases the irregularities of the curve or of the surface representative of an image h which can be deduced from the reference image f . More often, the marker image g will be deduced from the reference image f by a known filtering method, such as one of those mentioned above.
  • the marker image g can be constructed from an image h, equal or not to the image f, by applying to h a filtering, a smoothing or a representation in the form of a mosaic image; h may be an image of the scene represented in f, but taken from a different angle; h can be an image preceding image f in the case of a sequence of images (video sequence or film).
  • a 3D volume is thus constituted by juxtaposition of the successive images of a video sequence along a time axis, to which a 3D leveling is applied using a marker image obtained in the 3D volume.
  • the image g presents related zones of very regular or "flat" appearance.
  • ⁇ image g are localized with the same precision as in image f, do not undergo displacement and are not blurred, the leveling treats symmetrically the white details on a black background and the black details on a white background, unlike what's going on with conventional algorithms. Consequently, levelings for color images are produced without degradation by applying the process to the various components of a color image. However, the result depends significantly on the color representation space, whether it is of the RGB or HLS type or any other color space. Another disadvantage is that you have to build a marker and perform leveling separately for each color channel, which can constitute too much computational volume for certain applications. For this reason, it may be advantageous to use a single leveling instead of three separate levels.
  • a leveling of the vector image will be obtained by applying a leveling to each isolation component. This has two drawbacks: on the one hand a quantity of computation too heavy for certain applications, and on the other hand a result depending on the frame chosen to represent the vectors.
  • One solution consists in applying a leveling to a scalar image obtained by scalar product between the initial vector image and a reference vector image.
  • the reference vector image can for example contain in each pixel a constant vector chosen on the axis going from black to white.
  • a first advantage is that a higher degree of compression can be obtained.
  • decoding the image g is more pleasant to look at than the image coming from the coding and decoding of the image f, on which the bidi ensional transform coding blocks become visible at high compression rates.
  • the image restored after coding has losses, but the visual effect of the degradation is weaker when the invention is implemented, even at low bit rates.
  • this optimum leveling will be that which contains the objects of interest, but no unnecessary details.
  • the leveling level will be chosen at the input of the coder which produces the bit rate closest to the availability of this coder.
  • g (x) is notably less than f (x) when g (x) ⁇ f (x), where ⁇ denotes a neighborhood transformation rf ⁇ f.
  • g (x) is notably superior af (x) when g (x)> ⁇ f (x), ⁇ being a transformation ⁇ e neighborhood ⁇ which at each point of f produces a value ⁇ f (x)> f (x).
  • the transformation can be the identical transformation
  • ⁇ f ⁇ f and ⁇ f ⁇ f, Y denoting an opening of the function f and ⁇ a closing of f.
  • Obtaining a leveling is generally carried out by an iteration which is completed when the representation has plates. This involves defining:
  • the mechanism for changing the value of g can be as follows: if g is an image not satisfying the previous criterion in a pixel x, we define a new value g 1 (x), whose role will be given later, by a criterion which can be:
  • a plateau is characterized by the fact that, in any pixel y of
  • n ⁇ v ⁇ (f, g) the sub-leveling obtained by taking f as the reference image and g as the image of the marker.
  • niv + (f, g) the overhang obtained by taking f as the reference image and g as the marker image.
  • the functions ⁇ and ⁇ are the "identical" function
  • Recursive transformations can be applied, not according to the scanning order of the pixel matrix, but by defining a processing order according to the value of the pixels.
  • We will treat the pixels for which g (x) is significantly less than f (x) in the order of decreasing values of g (x) and the pixels for which the image g (x) is significantly greater than the image f (x) in the order of increasing values of g (x). You can also use to manage the processing order of pixels in hierarchical queues.
  • a plate of the image g is an area in which there exist between any pair of pixels
  • is any expansion verifying ⁇ g (x)> g (x) and ⁇ is any erosion satisfying ⁇ g (x) __ g (x).
  • the method is applicable to a color image for which several radiometric values are assigned to each pixel.
  • a leveling of a color image can be obtained by independently constructing a leveling of each of its components.
  • the method is applicable whatever the mode of representation adopted, in particular RGB, YUV and HLS (color, level and saturation).
  • FIG. 1 shows an example of application of the leveling method to an image f limited to one line
  • FIG. 2 shows the successive stages of leveling and segmentation of a fixed two-dimensional image
  • FIG. 3 shows schematically the steps of segmenting an image belonging to a sequence
  • - Figures 4 and 5 show examples of segmentation choices advantageously usable after leveling
  • - Figure 6 is a diagram showing a leveling performed on a one-dimensional image in the case of a particularly simple leveling algorithm, the final result being thus represented;
  • FIG. 7A and 7B show two stages of a pseudo-scalar vector leveling.
  • ⁇ and e represent respectively the expansion (the value of the central point is replaced by the maximum value in its vicinity) and erosion (the value of the central point is replaced by the minimum value in its neighborhood) elementary.
  • Line A shows a line of a reference image f, in bold lines, and a marker image, in fine lines with hatched subgraph.
  • Each pixel (a, b, cu) is associated with a radiometric value ranging from 1 to 8.
  • the radiometric value of image f at pixel d is equal to 6 and that of image g at the same pixel d is equal to 4.
  • the marker image g will be transformed into g, leveling of f.
  • the radiometric value of the erode eg (respectively of the dilate ⁇ g) in each pixel x is equal to the minimum value
  • the two neighbors of k are pixels j and 1; g takes the value 6 at pixels and k and the value 4 at pixel 1.
  • the value taken by eg at pixel k will be the smallest of the 3 values, i.e. 4 (line B).
  • the dilated ⁇ g on the other hand will take the largest of the three values, ie 6 (line C).
  • a first iteration of the transformation of f into leveling g of f is carried out.
  • the radiometric values of f and g are compared.
  • Line E shows the leveling g of f, obtained at convergence. The result depends on both f and g. It has much larger flat areas than f. However, the transitions of g faithfully follow those of f.
  • the segmentation of an image f consists in isolating certain objects represented in the image f, by contouring them or else by assigning to all of their pixels the same label value. For this, many segmentation algorithms have been published.
  • a leveling is substituted for the original image before segmentation, whatever the segmentation algorithm chosen.
  • the double property of leveling (simplifying the image by generating trays while preserving the contours of the remaining objects) makes this substitution particularly interesting: it will be easier for the segmentation algorithm chosen to extract the contours of the zones d interest in the leveled image than in the initial image.
  • Figures 2 and 3 illustrate two typical situations of segmentation: the segmentation of objects in a still image, the tracking of objects in a sequence. In both cases, different gray values are shown schematically by different hatching modes, to allow the reproduction of the figures.
  • Figures 2A-2C illustrate the segmentation problem. We want to find the outline of the turtle with a given segmentation algorithm.
  • This resulting image has much less detail than the original image, but its contours are perfectly ideal.
  • lines A and B in FIG. 3 represent the turtle at time t and time t + 1, in steady state: the image is segmented at time t and the contours represented on line C are obtained.
  • a leveling of this image is constructed from a marker image g derived from the segmentation mask of the image at time t.
  • the initial image seen inside a band of given width extending on either side of the contours of the mask can be taken as a marker image g. segmentation of the image t and sufficiently wide to contain the contours that one seeks to detect in the image at time t + 1.
  • the rest of the marker image takes a constant value. The leveling applied to this marker will present the interesting contours in the image t + 1 with high contrast, and those which are further away will appear to have little contrast.
  • segmentation by selection of flat areas and watershed (figure 4)
  • Line A shows the result of a leveling of an image (not shown) to be segmented.
  • Line B shows the result of the search for all flat areas.
  • Line C shows the selection of the three flat areas of surface greater than 2 pixels.
  • the flat areas not selected then form part of an area of indeterminacy, inside ⁇ e which is calculated a gradient image from the initial image (line D).
  • the associated watershed is constructed on the gradient image 1; the three markers are thus extended to obtain the final partition, constituting the result of the segmentation (line E).
  • Segmentation by detection of flat areas and region fusion (figure 5) A second way of segmenting, complementary to the previous one, also takes the leveling plates as the starting point of the segmentation.
  • Line A represents the starting image.
  • Each border line has a height equal to the average contrast between the plates situated on either side of this border. So the tray made up of pixels
  • each plate is indicated a figure, expressing the importance of the plate. For this one can choose for example the surface of the plate, or this a measure of the contrast along its borders or even a combination of these two measures. This is what is done here, where the product of the surface of the plate is assigned to each plate by the value of the lowest contrast measured along its borders: for example the plate (k, l) has a border with the plateau (j) of height 1 and a border with the plateau (m) of height 2 while its surface is 2 pixels; it is assigned a measurement equal to 2, equal to the product of the surface 2 by the contrast measurement 1.
  • the segmentation will be done by successive mergers between adjacent plateaus.
  • the weakest measurement plate is absorbed at each stage by one of its neighboring plates; after absorption, the measurement of the newly formed plateau is recalculated and a new fusion is carried out.
  • the successive fusion steps are illustrated on lines C to H.
  • each fusion step reduces the number of regions by 1.
  • the starting point was a detection of homogeneous zones on a leveling image.
  • the following detection method can in particular be used.
  • two pixels p and q belong to the same homogeneous region of an image g if there exists between the pixels p and q a continuous path, consisting of adjacent pixels on the pixel matrix, such that, between any pair ( a, b) of neighboring points on this path, a homogeneity criterion is verified.
  • This criterion of homogeneity can be expressed in the form of a symmetrical binary relation.
  • the invention proposes replacing the image to be encoded with a simplified version consisting of a leveling or a certain number of details have been "erased” voluntarily while preserving as much as possible the perceptual quality of the image. Leveling reduces the bit rate required to code the image but at the same time preserves the contours of the remaining structures and good visual quality of the images.
  • each region of the segmentation is replaced by a different leveling: the strongest levelings being applied to the areas of low interest, the areas of high interest (such as faces) being replaced by leveling very close to the original image, or even by the original image itself.
  • This property can be used to control the bit rate of an image sequence encoder. We will choose for each image the leveling at the input of the encoder producing the number of bits closest to the target that we had set.
  • Sequence coders work in two modes: mtra mode and mter mode.
  • mtra mode the starting image is encoded.
  • mode inter we try to predict the current image from knowledge of the previous images and we will only code the prediction error. In this case, leveling can also be applied to the prediction errors.
  • the reference vector image is a constant image, the value of which at all points is a constant vector v.
  • the method is carried out in four stages, with the notations of FIGS. 7A and 7B.
  • the marker image g can be obtained either by scalar product between a vector marker image with the reference vector image v, or it can be constructed by one of the conventional methods from the scalar image.
  • Step 4 Reverse projection in the starting vector space The resulting vector image g 'will be obtained by

Abstract

L'invention concerne un procédé de construction d'une représentation simplifiée, nivellement ĝ d'une image d'origine f au moyen d'une image marqueur g. Une valeur radiométrique étant affectée à chaque pixel d'image (A) la valeur ĝ(x) en chaque pixel est déduite, dans les régions où g est inférieure à une fonction θf, déduite de f, par augmentation (B, C) de g du montant minimum permettant de former un plateau dans toute particule connexe où g∫θf, sauf dans les zones où l'augmentation de g est limitée par la valeur de θ, localement inférieure à la valeur du plateau, et, dans les régions où g est supérieure à une fonction zf, déduite de f, par diminution (C, D) de g du montant minimum permettant de constituer un plateau dans toute particule connexe où g≥zf, sauf dans les zones où la diminution de g est limitée par la valeur de zf, localement supérieure à la valeur du plateau. Les transformations θ et z vérifient les conditions θf≤f et z≥f. Application au traitement d'images en couleurs, notamment la segmentation ou la compression d'images.

Description

PROCEDE DE SIMPLIFICATION D'IMAGE ET APPLICATION DU DIT ' PROCEDE A LA SEGMENTATION ET AU CODAGE D'IMAGES
La présente invention concerne les procédés de construction d'une représentation simplifiée permettant de représenter une image d'origine, qu'on qualifiera d'image de référence f, constituée par une matrice de pixels à chacun desquels est affectée au moins une valeur radiométrique f (x)
A
(luminance ou chrominance) par une image simplifiée g dont
/s chaque pixel a une valeur radiométrique g(x) .
Il existe déjà de nombreux procédés de simplification d'image. Ils constituent souvent une étape préliminaire avant une étape supplémentaire.
Cette étape supplémentaire peut être constituée par une segmentation de l'image, consistant à isoler, en en définissant le contour, certains objets qui apparaissent dans 1 ' image . Une autre application consiste à comprimer l'image en vue de sa transmission ou de son stockage, par exemple par un algorithme tel que JPEG pour les images fixes ou MPEG pour les séquences d'image. En appliquant l'algorithme de codage à l'image simplifiée g plutôt qu'à l'image f, on peut représenter l'image par moins de données que par codage direct de f. Parmi les procédés de simplification, on peut citer, dans le domaine linéaire, les convolutions (en particulier par des noyaux gaussiens) et, dans le domaine non linéaire, les filtres morphologiques, en particulier les filtres alternés séquentiels.
Ces opérateurs connus ont des inconvénients. Dans certains cas, ils déplacent les contours ou les rendent flous et/ou ils ne traitent pas de manière symé¬ trique les détails blancs et les détails noirs . Les zones où l'image simplifiée g diffère notablement de f ne constituent pas des plateaux, c'est-à-dire des zones connexes où l'image g présente un caractère de régularité. En conséquence, l'effet de la simplication est limité.
La présente invention vise à fournir un procédé de simplification d'image répondant mieux que ceux antérieure¬ ment connus aux exigences de la pratique, notamment en fournissant une image simplifiée présentant un aspect régulier dans les zones où l'image simplifiée g est notablement différente de f. Elle vise également à fournir un procédé permettant de fournir une image donnant à un algorithme de segmentation ou de codage une efficacité plus grande que lorsque cet algorithme est appliqué à l'image d'origine f.
Dans ce but, l'invention propose notamment un procédé de construction d'une représentation simplifiée g d'une image d'origine, qu'on qualifiera d'image de référence f, par utilisation d'une image marqueur prédéterminée g, les images étant représentées chacune par une matrice de pixels à chacun desquels est affectée au moins une valeur radiomé- trique, suivant lequel on déduit la valeur g(x) de chaque pixel de l'image simplifiée de l'image f : - dans les régions où g est inférieure à une fonction ηf déduite de f et inférieure ou égale à f, par augmentation de g du montant minimum qui permet de constituer un plateau dans toute particule connexe où g<ηf, sauf dans les zones où l'augmentation de g est limitée par la valeur correspondante de ηf , qui est localement inférieure à la valeur du plateau .
- et dans les régions où g est supérieure à une fonction ζf, déduite de f et supérieure ou égale à f, par diminution de g du montant minimum qui permet de constituer un plateau dans toute particule connexe où g>ζf, sauf dans les zones ou la diminution de g est limitée par la valeur correspondante de ζf, qui est localement supérieure à la valeur du plateau, η et ζ étant des fonctions prédéterminées de f.
Les fonctions η et ζ peuvent être duales ou non. Elles peuvent être constituées par une fonction arithmétique et/ou morphologique. La figure 6 est destinée a donner une indication tangible de résultats obtenus par l'invention dans le cas d'un algorithme de nivellement particulièrement simple, le résultat final étant ainsi représenté.
Sur cette figure, l'image d'origine est représentée par une courbe continue f (par opposition à la représentation quantifiée et discrète des figures 1 et 3) . L'image g est une représentation filtrée de f. L'image simplifiée ou nivellement g est obtenue par un algorithme donnant naissance a des plateaux de niveau constant. Sur toute particule connexe de f : - ou g<f, g est obtenu en augmentant g jusqu'à ce qu'il atteigne le niveau le plus élevé de g dans la particule ou atteigne f ;
- ou g>f, g est obtenu en diminuant g usqu'à ce qu'il atteigne le niveau le plus bas de g dans la particule ou atteigne f.
Plusieurs possibilités de choix d'une image marqueur existent .
Cette image marqueur peut être élaborée manuellement et être alors dessinée sous forme d'une courbe ou d'une surface qui gomme les irrégularités de la courbe ou de la surface représentative d'une image h qui peut être déduite de l'image de référence f. Plus souvent, l'image marqueur g sera déduite de l'image de référence f par un procédé connu de filtrage, tel que l'un de ceux mentionnés plus haut. Par exemple, l'image marqueur g peut être construite à partir d'une image h, égale ou non à l'image f, en appliquant à h un filtrage, un lissage ou une représentation sous forme d'image mosaïque ; h peut être une image de la scène représentée dans f, mais pris sous un angle différent ; h peut être une image précédant l'image f dans le cas d'une séquence d'images (séquence vidéo ou film) .
Le procédé suivant l'invention permet d'obtenir une représentation simplifiée qu'on peut qualifier de "nivelle-
Λ ment", g ayant un aspect très régulier.
Dans le cas d'une séquence d'images successives présen- tant un degré de corrélation élevé, par exemple dans le cas de la vidéo ou du cinéma, on peut utiliser un masque de segmentation produit à partir de l'image d'ordre n comme image marqueur g pour produire un nivellement de 1 ' image n+1. Pour assurer une meilleure stabilité de l'image lorsqu'on visualise les résultats du traitement de la séquence, on peut avoir avantage à traiter les images successives de la séquence comme autant de coupes d'un volume tri-dimensionnel dont le temps constituerait la troisième dimension. On construit alors des marqueurs et on procède au nivellement associé sur le volume 3D ainsi constitué selon une des méthodes exposées dans la présente demande .
On constitue ainsi un volume 3D par juxtaposition des images successives d'une séquence vidéo le long d'un axe temporel, auquel on applique un nivellement 3D utilisant une image marqueur obtenue dans le volume 3D.
Dans le cas des images couleurs, on obtient des nivelle- ents aux couleurs plus vives et plus fidèles à l'original si on prend comme images marqueurs les résultats de filtres médians vectoriels, par exemple celui décrit dans l'article de J. Astola, P. Haavisto, Y. Neuvo : "Vector Médian Filters, Proceedings of the IEEE", vol. 78, n° 4, pages 678- 689, avril 1990, auquel on pourra se reporter.
Quel que soit le mode de réalisation adopté, l'image g présente des zones connexes d'aspect très régulier ou "pla-
A teaux" dans toutes les zones où l'image g est notablement différente de f. Les contours des objets présents dans
Λ l'image g sont localises avec la même précision que dans l'image f, ne subissent pas de déplacements et ne sont pas rendus flous, le nivellement traite symétriquement les détails blancs sur fond noir et les détails noirs sur fond blanc, contrairement à ce qui se passe pour les algorithmes classiques. En conséquence, on produit sans dégradation des nivellements pour les images couleur en appliquant le procédé aux différents composants d'une image couleur. Cependant, le résultat dépend sensiblement de l'espace de représentation des couleurs, qu'il soit du type RGB ou HLS ou tout autre espace couleur. Un autre inconvénient est de devoir construire un marqueur et réaliser un nivellement séparément pour chaque canal couleur, ce qui peut constituer un volume de calcul trop important pour certaines applica- tions. Pour cette raison, on peut avoir intérêt à recourir à un nivellement unique à la place de trois nivellements séparés. Pour ce faire, on remplace l'image couleur vectorielle par une image numérique dont la valeur en chaque point est une fonction connue des trois couleurs en ce point, par exemple par un produit scalaire avec un vecteur de référence, produisant ainsi une image à teintes de gris unique. Par la suite, il ne sera fait référence qu'à ce cas particulier peur simplifier la description. Un nivellement unique sera appliqué à cette image scalaire et le résultat sera projeté dans l'espace couleur initial. Cette procédure peut être appelée nivellement pseudo-scalaire. Elle peut être détaillée comme suit.
Lorsqu' on dispose de plusieurs valeurs radiometπques en chaque pixel, comme c'est le cas d'une image couleur ou de l'image d'un champ de vitesses, on parle d'image vecto¬ rielle. On obtiendra un nivellement de l'image vectorielle en appliquant un nivellement a chaque composante isolement. Cela a deux inconvénients : d'une part une quantité de calcul trop lourde pour certaines applications, et d'autre part un résultat dépendant du repère choisi pour représenter les vecteurs. Une solution consiste a appliquer un nivellement a une image scalaire obtenue par produit scalaire entre 1' image vectorielle de départ et une image vectorielle de référence. Dans le cas d'une image couleur, l'image vectorielle de référence peut par exemple contenir en chaque pixel un vecteur constant choisi sur l'axe allant du noir au blanc. Dans le cas d'un champ de vitesses, on pourra prendre par exemple en chaque pixel le vecteur vitesse moyen. On obtient ainsi une image scalaire a laquelle on peut appliquer ur nivellement ordinaire. Le résultat de ce nivellement est ensuite projeté dans l'espace vectoriel de départ, de manière a retrouver un champ de vecteurs qui présente plus de zones plates que le champ de vecteurs de départ.
L'application d'un algorithme de segmentation a g plutôt qu'a f permet d'obtenir facilement les contours des objets
A présents dans g, ce qui n'aurait pas ete le cas dans f. Un premier avantage est qu'un degré de compression plus eleve peut être obtenu. L'image résultant du codage de compression
A, puis au décodage de l'image g est par ailleurs plus agréable a regarder que l'image provenant du codage et du décodage de l'image f, sur laquelle les blocs de codage par transformée bidi ensionnelle deviennent visibles aux taux de compression élevés Dans les deux cas, l'image restituée après codage présente des pertes, mais l'effet visuel de la dégradation est plus faible en cas de mise en oeuvre de l'invention, même aux faibles débits.
Plus l'image marqueur g choisie est éloignée de l'image f, plus le nivellement est régulier. Cela permet de construire des familles d'images simplifiées allant du plus proche au plus grossier, parmi lesquelles on peut choisir, par exemple en fonction des disponibilités de stockage ou de transport en cas de compression ultérieure. On peut egale- ment produire des nivellements en cascade, tout nouveau nivellement d'une représentation simplifiée g étant aussi un nivellement de f.
On peut alors choisir dans la famille le nivellement le plus approprie. Dans le cas de la segmentation, ce nivellement optimum sera celui qui contient les objets d'intérêt, mais pas de détails inutiles .
Dans le cas du codage, on choisira celui des nivellements a l'entrée du codeur qui produit le débit le plus proche des disponibilités de ce codeur.
Dans tous les cas, on peut considérer que le procède part d'un couple d'une image f de référence et d'une image marqueur g, qu'on veut transformer le moins possible pour en déduire une image simplifiée g, qu'on peut qualifier de nivellement de f.
Par la suite, on sera amené a utiliser les termes "notablement inférieur" et "notablement supérieur" .
On dira que g(x) est notablement inférieur à f(x) lorsque g(x) < ηf(x), où η désigne une tranformation de voisi- nage rf≤f.
De façon similaire, on dira que g(x) est notablement supérieur a f(x) lorsque g(x)>ζf(x), ζ étant une transformation αe voisinage ζ qui en chaque point de f produit une valeur ζ f (x) > f ( x) .
Parmi les cas particuliers importants, on peut citer les suivants .
La transformation peut être la transformation identique,
Figure imgf000010_0001
Dans ce cas l'expression "g(x) est notablement inférieure a f (x) " signifie simplement que g(x) est inférieur a f(x) au sens ordinaire.
On peut également adopter ζf=f+λ et ηf=f-λ, λ désignant une valeur constante. Par exemple si λ=5, l'expression "g(x) est notablement inférieur a f(x)" signifie que g(x)<f(x)-5.
Au lieu d'utiliser des fonctions arithmétiques, on peut utiliser des fonctions morphologiques, par exemple ζf≈φf et ηf=γf, Y désignant une ouverture de la fonction f et φ une fermeture de f.
Des fonctions arithmétiques et morphologiques peuvent être combinées, par exemple en adoptant ζf-φf+λ et ηf=γf-λ.
L'obtenticn d'un nivellement s'effectue généralement par une itération qu'on achevé lorsque la représentation présente des plateaux. Cela implique de définir :
- un mécanisme pour changer la valeur de g, étroitement associe a la caracterisation des plateaux vers lesquels doit tendre g,
- l'ordre des pixels selon lequel on va transformer g, - un critère d'arrêt permettant de reconnaître que l'i age obtenue g(x) est bien un nivellement de f.
Plusieurs approches sont possibles. Mais on peut définir un algorithme permettant, de proche en proche, de transfor-
.A mer une image g quelconque en un nivellement g de f, construit a l'aide de deux transformations de voisinage α et β, vérifiant, pour tout pixel x et toute fonction g, αg (x) >g (x) et 3g(x)≤g(x). De telles transformations seront définies plus loin. Le critère d'arrêt, c'est-à-dire la condition qu'on
Λ estime suffisante pour que l'image obtenue g(x) soit un nivellement de f peut être :
A - en tout pixel où l'image g(x) est notablement înfe-
Λ rieure a l'image f, c'est-à-dire lorsque g(x)<ηf(x), l'image
Λ A Λ Λ g(x) vérifie g(x)= inf (αg(x) , ηf (x) ) =αg (x) Ληf (x) , inf désignant le minimum ;
- en tout pixel où l'image g est notablement supérieure
Λ A a l'image f, c'est-à-dire lorsque g(x)>ζf(x), l'image g vérifie g(x)= sup (β'g (x) , ζf (x) ) =βg (x) Vζf (x)
Le mécanisme pour changer la valeur de g peut être le suivant : si g est une image ne vérifiant pas le critère précédent en un pixel x , on définit une nouvelle valeur g1(x), dont le rôle sera donné plus loin, par un critère qui peut être :
A
1. S g(x,< inf ( g (x) , ηf (x) ) =αg (x) Ληf (x) , on définit une nouvelle valeur g1 (x) égale iinnff ((ααgg ((xx)) ,, nnff ((xx)) )) ==αgg ((xx)) ΛΛηηff ((xx)) .. CCeettttee nouvelle valeur est plus grande que l'ancienne valeur g(x
2. Si g(x;> sup (βg (x) , ζf (x) ) =β (x) Vζf (x) , on définit une nouvelle valeur g1 (x) égale
A Λ ssuupp ((ββgg((xx)) ,, ζζff ((xx)) ))==ββgg((xx)) VVζζff ((xx)) .. CCeettttee nouvelle valeur est plus petite que l'ancienne valeur g(x)
3. Si aucune des conditions précédentes n'est vérifiée, on affecte a g1(x) l'ancienne valeur g(x) . α et β sont deux transformations de voisinage, qui peuvent être αe différents types, comme on le verra plus loin. Utilisation de transformations auxiliaires :
Il existe un cas particulier qui simplifie les critères 1 et 2 ci-dessus : si ζf=ηf=f, l'algorithme pr cèdent est équivalent au suivant : si g (x) ≠ (f (x) Vβg (x) ) Λ αg(x),, on remplace g(x) par (f(x)Vβg(x)) Λ αg(x).
Dans ce cas (f (x) Vβg (x) ) Λ αg (x) = (f (x) Λ αg (x) ) Vβg (x) ) . On peut caractériser les plateaux de la façon suivante :
Λ dans toute particule connexe de pixels ou g(x)<ηf(x), un plateau est caractérise par le fait que, en tout pixel y de
A Λ ce plateai, on a g(y)=αg(y) . Et dans toute particule connexe de pixels ou g(x)>ζf(x), un plateau est caractérise par le
A fa t que, en tout pixel y de ce plateau, on a g(y)=βg(y) . On peut définir deux transformations auxiliaires, appelées sous-nivellement et sur-nivellement, grâce auxquelles on peut réaliser des nivellements rapides.
(a) Construction des sous-nivellements
On ootiendra un sous-nivellement, également appelé ouverture par reconstruction, en modifiant le mécanisme pour construire la nouvelle valeur de g1 (x) de la façon suivante :
• on garde le critère 1 décrit ci-dessus,
• αans tous les autres cas, on affecte a g1 (x) la valeur de f (x) .
Pour affecter g1 (x) , on utilisera les mêmes stratégies que celles qui sont décrites pour les nivellements, a savoir une des stratégies d' affectation de g1 (x) décrites plus loin. On notera nιv~(f,g) le sous-nivellement obtenu en prenant f comme image de référence et g comme image mar- σueur . (b) Construction des sur-nivellements
De manière symétrique, on obtiendra un sur-nivellement, également appelé fermeture par reconstruction, en modifiant le mécanisme pour construire la nouvelle valeur de g1 (x) de la façon suivante :
• on garde le critère 2 décrit ci-dessus,
• dans tous les autres cas, on affecte à g1 (x) la valeur de f (x) .
Pour affecter g1 (x) , on utilisera une des stratégies décrites pour les nivellements plus loin. De la même façon, on obtiendra après convergence un sur-nivellement ou fermeture par reconstruction. On notera niv+(f,g) le surnivellement obtenu en prenant f comme image de référence et g comme image marqueur .
(c) Construction des nivellements à l'aide des sous- nivellements et sur-nivellements
Ces transformations sont plus simples à mettre en oeuvre que les nivellements complets, car elles s'appuient sur un critère unique, alors que le nivellement complet en utilise deux. De plus, le résultat ne dépend pas de l'ordre du balayage . On peut cependant obtenir un nivellement complet en mettant en oeuvre un sur-nivellement suivi d'un sous- nivellement : niv1(f,g) = (niv+ (niv~ (f, g) , g) , ce qui signifie que pour le sur-nivellement, on prend l'image niv~(f,g) comme référence et l'image g comme marqueur, ou bien alternativement un sous-nivellement suivi d'un sur-nivellement : niv2(f,g) = (niv" (niv+ (f, g) , g) , ce qui signifie que pour le sous-nivellement, on prend l'image niv+(f,g) comme référence et l'image g comme marqueur. Dans le cas très fréquent où les fonctions ζ et η sont la fonction "identique", les nivellements niv1 et niv2 sont identiques .
Plusieurs stratégies sont possibles pour affecter g1(x). Deux d'entre elles sont les suivantes :
1. On examine tous les pixels de l'image et on calcule leur nouvelle valeur. On obtient ainsi une nouvelle image g1.
- Si g-(x)=g(x), l'image obtenue est un nivellement de f (x) et on peut arrêter le traitement ;
- si g:(x) *= g(x), on remplace l'image g par l'image g1-
Ce faisant on a effectué la première passe d'un traite¬ ment parallèle. Le résultat ne dépend pas de l'ordre de traitement des pixels si on attend, pour remplacer l'image g par l'image g1, que tous les pixels aient été traités (transformation parallèle) .
2. Dès que la nouvelle valeur gx(x) est connue pour un pixel x, on remplace l'ancienne valeur g(x) par cette nouvelle valeur. Cette nouvelle valeur sert au calcul des nouvelles valeurs des points adjacents. Ce procédé, où 1 ' image g est modifiée après le calcul de tout nouveau pixel, peut être appelé recursif ou séquentiel. Le résultat dépend alors de l'ordre de traitement des pixels. Plusieurs stratégies permettent d'atteindre plus ou moins rapidement la convergence vers le nivellement.
1. On peut effectuer des transformations parallèles successives jusqu'à ce qu'une nouvelle passe d'un traitement parallèle ne modifie plus l'image : on a alors atteint la convergence.
2. On peut effectuer des transformations récursives successives et le résultat dépendra alors de l'ordre de balayage. On obtiendra une vitesse de convergence plus rapide en alternant les balayages de 1 ' image : un balayage de haut en bas et de gauche à droite, suivi d'un balayage de bas en haut et de droite à gauche. Le traitement des zones sombres et des zones claires sera symétrique si on applique ces transformations récursives, non pas à l'image initiale mais a l'image obtenue après une passe de traitement parallèle : αans ce cas, pour les nivellements les plus courants, l'ordre de balayage n'influera plus sur le résultat .
3. On peut appliquer les transformations récursives, non pas selon l'ordre de balayage de la matrice des pixels, mais en définissant un ordre de traitement selon la valeur des pixels. On traitera les pixels pour lesquels g(x) est notablement inférieur à f (x) dans l'ordre des valeurs décroissantes de g(x) et les pixels pour lesquels l'image g(x) est notablement supérieure à l'image f (x) dans l'ordre des valeurs croissantes de g(x) . On peut également utiliser pour gérer l'ordre de traitement des pixels des files d'attente hiérarchiques.
Comme précédemment, si on tient a ce que le traitement des zones sorαores et des zones claires soit symétrique, on applique ces transformations récursives, non pas à l'image initiale, mais à l'image obtenue après une passe de traitement parallèle.
Les deux transformations de voisinage α et β déjà A mentionnées doivent vérifier, pour tout pixel x, αg(x)>g(x) et
A A βg(x)≤g(x) . On peut en particulier adopter :
1. αg=δg et βg=eg, où δ et e représentent respectivement la dilatation (la valeur du point central est remplacée par la valeur maximale dans son voisinage) et l'érosion (la valeur du point central est remplacée par la valeur minimale dans son voisinage) élémentaires. Dans ce cas, pour ηf = ζf = f,dans toute particule
A _A connexe sur laquelle g<f l'image g est plate. De même,
A, dans toute particule connexe sur laquelle g>f 1 ' image g est plate. De plus, toute zone plate pour l'image f sera
A encore plate pour l'image g. Par contre si pour deux
A pixels voisins a et b l'image g présente la transition
Λ A g(a)>g(b), alors l'image f présente une transition plus forte qui encadre la transition de g: f (a)>g(a)>g(b)>f (b) Ceci signifie que les contours de tous les objets présents dans g(x) sont localisés avec la même précision que dans l'image de référence f (x) .
2. αg=gV(δg-λ) et βg=gΛ(eg+λ), où λ est un seuil de valeur constante.
Pour ce nivellement, un plateau de l'image g est une zone dans laquelle il existe entre tout couple de pixels
(x,y) un chemin (x=a0, al r a2, .... , an=y) tel que les pixels ai et al1. soient voisins sur la trame et que la valeur absolue de la différence des niveaux radiomé- triques |g (a1-:) -g (a | soit inférieure au seuil λ.
3. α est une dilatation quelconque vérifiant αg(x)>g(x) et β est une érosion quelconque vérifiant βg(x)__g(x) . 4. αg=gVδγg et βg=gΛeφg, où Y est une ouverture et φ une fermeture .
5. αg=gV(δγg-λ) et βg=gΛ (eφg+λ) , où y est une ouverture et φ une fermeture et où λ est une valeur constante.
Le procédé est applicable à une image en couleurs pour laquelle on affecte plusieurs valeurs radiométriques à chaque pixel. On peut obtenir un nivellement d'une image en couleurs en construisant indépendamment un nivellement de chacune de ses composantes. Le procédé est applicable quel que soit le mode de représentation adopté, notamment RGB, YUV et HLS (couleur, niveau et saturation) .
L'invention sera mieux comprise à la lecture de la description qui suit de modes particuliers d'exécution, donnés à titre d'exemples. La description se réfère aux dessins qui l'accompagnent, dans lesquels :
- la figure 1 montre un exemple d'application du procédé de nivellement à une image f limitée à une ligne ;
- la figure 2 montre les étapes successives du nivelle- ment et de segmentation d'une image bidimensionnelle fixe ;
- la figure 3 montre schématiquement les étapes de segmentation d'une image appartenant à une séquence ;
- les figures 4 et 5 montrent des exemples de choix de segmentation avantageusement utilisables après nivellement ; - la figure 6 est un schéma montrant un nivellement effectué sur une image à une seule dimension dans le cas d'un algorithme de nivellement particulièrement simple, le résultat final étant ainsi représenté ;
- les figures 7A et 7B montrent deux étapes d'un nivellement vectoriel pseudo-scalaire.
Les étapes montrées en figure 1 illustrent 1 ' algorithme de construction pas a pas d'un nivellement simple caracté¬
- ηf=f et ζf≈f αg=δg et βg=eg, où δ et e représentent respectivement la dilatation (la valeur du point central est remplacée par la valeur maximale dans son voisinage) et l'érosion (la valeur du point central est remplacée par la valeur minimale dans son voisinage) élémentaires.
La ligne A montre une ligne d'une image de référence f, en traits gras, et une image marqueur, en traits fins avec sous-graphe hachuré. A chaque pixel (a, b, c.u) est associée une valeur radiométrique allant de 1 à 8. Par exemple la valeur radiométrique de l'image f au pixel d est égale a 6 et celle de l'image g au même pixel d est égale à 4. L'image marqueur g va être transformée en g, nivellement de f.
Dans une première phase, on construit, a partir de l'image g :
- eg, image érodée de g, et
- δg, image dilatée de g.
La valeur radiométrique de l'érode eg (respectivement du dilate δg) en chaque pixel x est égale a la valeur minimale
(respectivement maximale) des valeurs prises par g au pixel x ou en l'un des pixels voisins de x sur la matrice des pixels. Par exemple au pixel k, les deux voisins de k sont les pixels j et 1 ; g prend la valeur 6 aux pixels et k et la valeur 4 au pixel 1. La valeur prise par eg au pixel k sera la plus petite des 3 valeurs, soit 4 (ligne B) .
Le dilaté δg par contre prendra la plus grande des trois valeurs, soit 6 (ligne C) .
On effectue une première itération de la transformation de f en nivellement g de f. En chaque pixel x, on compare les valeurs radiométriques de f et de g.
- Si g(x)<f(x), on choisit entre les deux valeurs de δg(x) et f (x) celle qui est la plus petite : δg(x)Λf(x) ; - de manière symétrique, si g(x)>f(x), on choisit entre les deux valeurs de eg(x) et f (x) celle qui est la plus grande :eg(x) Vf (x) . Par exemple : g(e)<f(e) : on choisit pour nouvelle valeur de g(e) la plus petite des deux valeurs de δg(e) = 4 et f(e)=β, soit 4. g(i)>f(i) : on choisit pour nouvelle valeur de g(i) la plus grande des deux valeurs de eg(i)=4 et f(i)=2, soit 4. g(g)>f(g) : on choisit pour nouvelle valeur de g (g) la plus grande des deux valeurs de eg(g)=2 et f(g)=3, soit 3. On obtient ainsi la représentation donnée par la ligne D.
A partir de là, on effectue de nouvelles passes pour arriver à la convergence. En appliquant les passes suivantes au résultat de la première passe parallèle, l'ordre et le choix d'un mode parallèle ou séquentiel n'a plus d'influence sur le résultat final.
La ligne E montre le nivellement g de f, obtenu à convergence. Le résultat dépend à la fois de f et de g . Il présente des zones plates beaucoup plus importantes que f. Cependant les transitions de g suivent fidèlement celles de f.
APPLICATION A LA SEGMENTATION
La segmentation d'une image f consiste à isoler certains objets représentés dans l'image f, en les contourant ou bien en affectant à tous leurs pixels une même valeur d'étiquette . Pour ceci, de nombreux algorithmes de segmentation ont ete publies.
Suivant un des aspects de l'invention, on substitue un nivellement a l'image d'origine avant segmentation, quel que soit l'algorithme de segmentation choisi. La double proprié- te des nivellements (simplifier l'image en générant des plateaux tout en préservant les contours des objets restants) rend cette substitution particulièrement intéressante : il sera plue facile à l'algorithme de segmentation choisi d'extraire les contours des zones d'intérêt dans l'image nivelée que dans l'image initiale.
Les figures 2 et 3 illustrent deux situations typiques de segmentation : la segmentation d'objets dans une image fixe, le suivi d'objets dans une séquence. Dans les deux cas, des valeurs de gris différentes sont schématisées par des modes de hachures différents, pour permettre la reproduction des figures .
Cas d'une image fixe
Les figures 2A-2C illustrent le problème de segmen- tation. On veut trouver le contour de la tortue avec un algorithme de segmentation donne.
Une image simplifiée de l'image de départ a l'aide d'un filtre alterne séquentiel donne la figure 2B ou les détails ont ete gommes, mais les contours de la tortue n'ont pas ete préserves .
En utilisant cette image simplifiée comme image marqueur pour un nivellement, on obtient l'image de la figure 2C.
Cette image résultante comporte beaucoup moins de détails que l'image de départ, mais ses contours sont parfaitement idèles .
Cas d'une séquence
Cette situation se rencontre fréquemment lorsqu'on veut segmenter une séquence video, dans laquelle on veut suivre une zone ou un objet d'intérêt. Dans les illustrations suivantes, les lignes A et B de la figure 3 représentent la tortue aux t_emps t et t+1, en régime permanent : on a segmente l'image au temps t et obtenu les contours represen- tes a la ligne C. Pour simplifier la segmentation dans l'image t+1, on construit un nivellement de cette image a partir d'une image marqueur g dérivée du masque de segmentation de l'image au temps t.
S'il s'agit de segmenter des objets sombres sur fond clair, par exemple, on peut prendre le masque de segmentation lui-même dans lequel on a mis une valeur sombre représentative des objets a segmenter. C'est ce qui est représente ici. Pour traiter des objets clairs sur fond sombre, on reprend le même traitement après avoir inverse l'échelle des niveaux de gris. L'image de la ligne C a servi d'image marqueur pour produire un nivellement de l'image au temps t+1, représentée à la ligne B. Le résultat du nivelle¬ ment se trouve à la ligne D.
En présence d'un fond présentant des zones sombres et claires, on peut prendre comme image marqueur g l'image initiale vue à l'intérieur d'une bande de largeur donnée s 'étendant de part et d'autre des contours du masque de segmentation de l'image t et suffisamment large pour contenir les contours qu'on cherche à détecter dans l'image au temps t+1. Le reste de l'image marqueur prend une valeur constante. Le nivellement appliqué a ce marqueur va présenter les contours intéressants dans l'image t+1 vec un grand contraste, et ceux qui en sont plus éloignés vont apparaître peu contrastés.
Exemples de chaîne de segmentation avantageuse
Apres avoir remplacé l'image f qu'on cherche a segmenter par un de ses nivellements g, on peut employer n'importe quel algorithme de segmentation. Mais on peut également tirer parti de la présence de plateaux étendus dans l'image nivelée pour aider la segmentation. Les deux chaînes de segmentation suivantes sont des exemples de telles chaînes. Segmentation par sélection de zones plates et ligne de partage des eaux (figure 4) La ligne A montre le résultat d'un nivellement d'une image (non représentée) à segmenter. La ligne B montre le résultat de la recherche de toutes les zones plates . La ligne C montre la sélection des trois zones plates de surface supérieure à 2 pixels . Les zones plates non sélec- tionnées font alors partie d'une zone d'indétermination, à l'intérieur αe laquelle on calcule une image gradient a partir de l'image initiale (ligne D) . En utilisant les trois zones plates sélectionnées comme marqueurs, on construit la ligne de partage des eaux associée sur l'image gradient 1 ; on étend ainsi les trois marqueurs pour obtenir la partition finale, constituant le résultat de la segmentation (ligne E) .
Segmentation par détection de zones plates et fusion de région (figure 5) Une deuxième manière de segmenter, complémentaire de la précédente, prend également les plateaux d'un nivellement comme point de départ de la segmentation. La ligne A représente l'image de départ. On détecte tous les plateaux dans cette image. Chaque ligne frontière y a une hauteur égale au contraste moyen entre les plateaux situés de part et d'autre de cette frontière. Ainsi le plateau constitué des pixels
(a,b,c,d) et le plateau constitué par le pixel (e) sont sépares par up_e frontière de hauteur 1. Au-dessus de chaque plateau est indique un chiffre, exprimant l'importance du plateau. Pour cela on peut choisir par exemple la surface du plateau, ou cien une mesure du contraste le long de ses frontières ou bien encore une combinaison de ces deux mesures. C'est ce qui est fait ici, où est affecté à chaque plateau le produit de la surface du plateau par la valeur du plus faible contraste mesuré le long de ses frontières : par exemple le plateau (k,l) a une frontière avec le plateau (j) de hauteur 1 et une frontière avec le plateau (m) de hauteur 2 alors que sa surface est de 2 pixels ; on lui affecte une mesure égale a 2, égale au produit de la surface 2 par la mesure de contraste 1. La segmentation se fera par fusions successives entre plateaux adjacents. Le plateau de mesure la plus faible est absorbé à chaque étape par un de ses plateaux voisins ; après absorption, on recalcule la mesure du plateau nouvel- lement formé et on procède à une nouvelle fusion. Les étapes de fusion successives sont illustrées sur les lignes C à H. Par exemple le résultat de la fusion 4 a produit 4 régions (ligne F) . Ces régions de plus faible valeur ont une valeur de 4 ; une de ces régions va être absorbée par l'autre région de valeur 4 pour former une nouvelle région de surface 8 bordée par deux frontières de contraste 2 ; la nouvelle région a ainsi une valuation de 8x2=16. Ainsi chaque étape de fusion réduit-elle le nombre de régions de 1.
Extraction des zones plates à partir d'un nivellement
Dans les deux modes de segmentation ci-dessus, le point de départ a été une détection de zones homogènes sur une image de nivellements . Pour détecter ces zones homogènes, on peut notamment utiliser la méthode de détection suivante. On considère que deux pixels p et q appartiennent à la même région homogène d'une image g s'il existe entre les pixels p et q un chemin continu, constitué de pixels adjacents sur la matrice de pixels, tel que, entre tout couple (a,b) de points voisins sur ce chemin, un critère d'homogénéité soit vérifié. Ce critère d'homogénéité peut s'exprimer sous forme d'une relation binaire symétrique. Une liste non limitative de telles relations binaires symétriques est la suivante : g ( a ) =g (b )
|g(a)-g(b) <μ où ,μ est une valeur constante prédétermi¬ née ψg(a)=g(a) et ψg(b)=g(b) où ψ est une transformation de voisinage. g(a)<φg(b) et g(b)<φg(a) où φ est une fermeture morphologique γg(a)≤g(b) et γg(b)<g(a) où y est une ouverture morphologique Deux critères d'homogénéité peuvent être réunis pour produire un nouveau critère au moyen de conjonctions logiques telles que "et", "ou", "ou exclusif".
Construction d'une image gradient Dans les deux schémas de segmentation proposés on a construit une image gradient. Pour ce faire, on peut utiliser des techniques connues. Il peut être cependant avantageux d'utiliser les deux opérateurs α et β qui ont été utilisés pour construire le nivellement ayant produit l'image αe départ de la segmentation. On construira l'image gradient par soustraction de l'image β de l'image α : α-β.
APPLICATION AU CODAGE
Pour faciliter la transmission ou le stockage d'images et de séquences d'images, il est souvent indispensable de les comprimer en les soumettant à des algorithmes de compression qui sont des algorithmes avec pertes. L'image décodée n'est pas identique à l'image originale ; elle peut même être plus ou moins fortement dégradée selon les taux de compression qui ont été atteints. Le défaut le plus visible s'appelle effet de blocs : on voit apparaître dans l'image des discontinuités le long des blocs de codage. A débit constant, les défauts sont d'autant plus visibles que 1 ' image de départ était plus riche en détails . Plutôt que de voir se dégrader l'image de manière déplaisante et sans contrôle, l'invention propose de remplacer l'image à encoder par une version simplifiée constituée par un nivellement ou on a "gommé" un certain nombre de détails de manière volontaire tout en préservant le plus possible la qualité perceptuelle αe l'image. Le nivellement réduit le débit nécessaire pour coder l'image mais en même temps préserve les contours αes structures restantes et une bonne qualité visuelle des images .
En utilisant les techniques de segmentation exposées dans la section précédente, on peut construire des images composites dans lesquelles chaque région de la segmentation est remplacée par un nivellement différent : les nivellements les plus forts étant appliques aux zones de faible intérêt, les zones de fort intérêt (telles que les visages) étant remplacées par des nivellements très proches de l'image originale, voire par l'image originale elle-même. On a vu comment produire des familles de nivellements allant du plus tenu au plus grossier. On peut se servir de cette propriété pour réguler le débit d'un codeur de séquences d'images. On choisira pour chaque image le nivellement a l'entrée du codeur produisant le nombre de bits le plus proche de l'cojectif qu'on s'était fixé.
Les codeurs de séquences, notamment MPEG, travaillent en deux modes : le mode mtra et le mode mter. Dans le mode mtra, c'est l'image de départ qui est encodée . Dans le mode inter, on essaie de prédire l'image courante à partir de la connaissance des images précédentes et on ne codera que l'erreur de prédiction. Dans ce cas, on peut également appliquer des nivellements aux erreurs de prédiction.
CAS DU NIVELLEMENT UNIOUE PSEUDO-SCALAIRE D' IMAGES EN COULEURS
Comme indiqué plus haut, on peut effectuer un nivellement unique e remplaçant l'image en couleurs par un produit scalaire avec un vecteur de référence. On donnera maintenant un exemple d' application du nivellement vectoriel pseudoscalaire à des images en couleurs. L'image vectorielle de référence est une image constante, dont la valeur en tout point est un vecteur constant v. Le procédé est exécuté en quatre étapes, avec les notations des figures 7A et 7B.
Etape 1 : Projection
On prend "le produit scalaire entre l'image vectorielle f de départ et le vecteur fixe v : f = f.v
Etape 2 : Génération de marqueur
A
L' image marqueur g peut être obtenue, soit par produit scalaire entre une image marqueur vectorielle avec l' image vectorielle de référence v, ou bien on peut la construire par un des procédés classiqueô à partir de l'image scalaire
A _ -P_ .
Etape 3 : Nivellement scalaire
Λ A
Les images f et g étant toutes deux des images scalai- res, en peut leur appliquer un nivellement scalaire ordi-
A -* naire : g' = Nivellement (f,g) .
Etape 4 : Projection inverse dans l'espace vectoriel de départ L' image vectorielle résultante g' sera obtenue en
A effectuant la projection inverse de l'image scalaire g' dans l'espace vectoriel de départ. Ceci peut se faire de plusieurs manières. Celle qui va être décrite permet d'obtenir un résultat très semblable quel que soit le choix de l'espace de couleur.
Si représente le vecteur dont l'origine représente la teinte noire et l'extrémité la teinte blanche, on effectue la projection inverse suivante :
A —£_ _^. __»
• si g' > f. alors l'extrémité de g' est prise sur f-w
-*, →* Λ de manière que g.v = g' (figure 7A) ;
• si g' < f, alors l'extrémité de g' est prise sur f de manière à ce que g' .v = g' (figure 7B) .

Claims

REVENDICATIONS
1. Procédé de construction d'une représentation simpli¬ fiée ou nivellement g d'une image d'origine par utilisation d'une image marqueur g, chaque image étant constituée par une matrice de pixels à chacun desquels est affectée au moins une valeur radiométrique (luminance ou chrommance) , suivant lequel on déduit la valeur g(x) en chaque pixel :
- dans les régions où g est inférieure à une fonction ηf déduite de f, par augmentation de g du montant minimum qui permet de constituer un plateau dans toute particule connexe ou g<ηf, sauf dans les zones ou l'augmentation de g est limitée par la valeur correspondante de ηf, qui est localement inférieure à la valeur du plateau ;
- et dans les régions où g est supérieure à une fonction ζf, déduite de f, par diminution de g du montant minimum qui permet de constituer un plateau dans toute particule connexe ou g>ζf, sauf dans les zones où la diminution de g est limitée par la valeur correspondante de ζf, qui est localement supérieure à la valeur du plateau, les transformations η et ζ vérifiant les conditions ηf≤f et ζf≥f.
2. Procède selon la revendication 1, caractérisé en ce que les transformations η et ζ sont choisies dans la liste suivante :
- ζf=ηf=f - ζf=f+λ et ηf=f-λ, où λ désigne une valeur constante
- ζf=φf et ηf=γf , où Y désigne une ouverture de la fonction f et φ une fermeture de f
- ζf=φf+λ et ηf=γf-λ, où y désigne une ouverture de la fonction f et φ une fermeture, alors que λ désigne une valeur constante.
3. Procédé selon la revendication 1, caractérisé en ce qu'on calcule une nouvelle valeur de g à l'aide de deux transformations de voisinage :
- si g(x)< inf (αg(x) ηf (x) ) =αg(x) Ληf (x) , on définit une nou- velle valeur g1(x) égale à mf (αg (x) , ηf (x) ) =αg (x) Ληf (x) ;
- si g(x)> sup (βg (x) , ζf (x) ) =βg (x) Vζf (x) , on définit une nouvelle valeur g1 (x) égale à sup (βg(x) , ζf (x) )=βg(x)Vζf (x) ;
- si aucune des conditions précédentes n'est vérifiée, on affecte à g1(x) l'ancienne valeur g(x), α et β repondant à une des définitions suivantes :
- αg=δg et βg=eg, où δ et e représentent respectivement la dilatation et l'érosion,
- αg=gV(δg-λ) et βg=gΛ(eg+λ), où λ est une valeur constante, - αg=gVδγg et βg=gΛeφg, où γ est une ouverture et φ une fermeture,
- αg=gV(δγg-λ et βg=gΛ (eφg+λ) , où y est une ouverture et φ une fermeture, et λ est une valeur constante.
4. Procédé selon la revendication 3, caractérisé en ce qu'on examine tous les pixels de l'image et on calcule leur nouvelle valeur pour obtenir une nouvelle image g1(x) et
- si g1 (x) = g(x), on arrête le traitement ; - si g-(x) ≈ g(x) , on remplace l'image g(x) par l'image g1 (x ) pour effectuer une passe d'un traitement parallèle.
5. Procédé selon la revendication 3, caractérisé en ce que, dès que la nouvelle valeur g1(x) est connue pour un pixel x, on remplace l'ancienne valeur g(x) par cette nouvelle valeur et on l'utilise pour le calcul des nouvelles valeurs des points adjacents.
6. Procédé selon la revendication 5, caractérisé en ce qu'on calcule la nouvelle valeur g1(x) dans un ordre prédéterminé sur la matrice des pixels, indépendant de la valeur de la fonction g, éventuellement par des balayages successifs de l'image tels que deux balayages successifs se fassent dans l'ordre inverse l'un de l'autre et ce jusqu'à l'obtention d"une image qu'un balayage supplémentaire laisse inchangé .
7. Procédé selon la revendication 5, dans lequel on effectue le calcul de la nouvelle valeur g1(x) selon un ordre de traitement dépendant de la valeur des pixels en traitant les pixels pour lesquels g<ηf dans l'ordre des valeurs décroissantes de g(x) et les pixels pour lesquels g>ζf dans l'ordre des valeurs croissantes de g(x).
8. Procédé selon la revendication 1, selon lequel on effectue le nivellement d'une image vectorielle ou couleur, pour laquelle plusieurs valeurs radiométriques sont affectées à chaque pixel en tant que composantes en construisant indépendamment un nivellement de chacune de ses composantes.
9. Procédé selon la revendication 1, appliqué à des images vectorielles ou des images couleur, selon lequel on effectue un nivellement vectoriel dans lequel le marqueur est produit à l'aide d'un filtre médian vectoriel.
10. Procédé selon la revendication 1, appliqué à des séquences d'images, selon lequel on constitue un volume 3D par juxtaposition des images successives d'une séquence vidéo le long d'un axe temporel, auquel on applique un nivellement 3D utilisant une image marqueur obtenue dans le volume 32 .
11. Procédé selon la revendication 1, dans lequel l'image marqueur g est construite à partir d'une image h, égale ou non à l'image f, en appliquant à h un filtrage, un lissage ou une représentation sous forme d'image mosaique.
12. Procédé selon la revendication 11, dans lequel :
- h est une image de la scène représentée dans f, mais prise sous un angle.- différent ; ou
- h est une image précédant l'image f dans une séquence d' images .
13. Procédé de segmentation, destiné au contourage d'objets présents dans l'image f, dans lequel on applique un algorithme de contourage à une représentation simplifiée obtenue conformément à l'une quelconque des revendications l à 12.
14. Procédé selon la revendication 13, dans lequel le procédé de contourage extrait d'abord les plateaux de g, en caractérisant un plateau par le respect des conditions :
- dans toute particule connexe de pixels où g(x)<ηf(x), en tout pixel y on a g(y)=αg(y) et dans toute particule connexe de pixels ou g(x)>ζf(x), en tout pixel y on a g(y)=βg(y) ; ou
- il existe un chemin continu entre tout couple de pixels, adjacents sur la matrice de pixels, tel que, entre tout couple de pixels voisins sur ce chemin une relation de similitude binaire symétrique so t vérifiée.
15. Proceαe selon la revendication 14, selon lequel on sélectionne les plateaux les plus significatifs de g, au sens d'un critère de surface minimum ou de produit de la surface du plateau par un paramètre tel que le gradient moyen sur le contour du plateau ou le gradient le plus bas rencontre sur le contour, les zones restantes étant affectées a une valeur particulière.
16. Procède selon la revendication 15, selon lequel on fait croître les plateaux sélectionnes, par absorptions successives de pixels voisins sur la matrice de pixels et de valeur radiométrique proche, jusqu'à ce que tout pixel soit affecte a un « e ces plateaux, par exemple en calculant la ligne de partage des eaux d'une image gradient.
17. Proceαe selon la revendication 13, dans lequel on réduit les plateaux détectes dans l'image g par fusions progressives αe plateaux voisins et de valeurs radiometπ- ques semblables, en déterminant pour chaque plateau un critère tel que sa surface, ou le produit de la surface du plateau par un paramètre tel que le gradient moyen sur le contour au plateau ou le gradient le plus bas rencontre sur le contour, et en ordonnant les fusions de manière que, a tout moment, ce soit le plateau de valuation la plus faible qui soit absorbe par un des plateaux voisins.
18. Proceαe de transmission ou de stockage d'images f sous forme dégradée, caractérisé en ce qu'on applique un algorithme de compression à des images dans lesquelles tout ou partie a été remplacé par un nivellement obtenu conformément a l'une quelconque des revendications 1 à 11 à partir des images f.
19. Procédé suivant la revendication 12, caractérise en ce qu'on effectue le nivellement a partir d'une fonction g choisie, parmi une famille de fonctions g disponibles, en fonction du débit disponible pour la transmission ou du volume de données admissible pour stocker l'image.
20. Procède selon la revendication 1, caractérise en ce qu'on déduit la valeur g(x) en deux étapes, une de sous- nivellement nιv~(f,g), ne produisant des plateaux que dans les régions où g est inférieure à la fonction ηf, et une autre de sur-nivellement nιv+(f,g), ne produisant des plateaux que dans les régions où g est supérieure a la fonction ζf, le nivellement complet étant alors obtenu en faisant suivre un sous-nivellement et un sur-nivellement :
1 niv (f,g) = niv (niv (f,g),g) ou alternativement en faisant suivre un sur-nivellement et un sous-nivellement : niv 2 (f,g) = niv (niv (f,g),g).
21. Procédé selon la revendication 1, appliqué a des images vectorielles, notamment couleur, selon lequel on applique un nivellement ordinaire à une image scalaire numérique dont la valeur en chaque point est une fonction connue des trois couleurs en ce point, par exemple obtenue par produit scalaire entre l'image vectorielle de départ et une image vectorielle de référence, et on projette le résultat de ce nivellement dans l'espace vectoriel de départ, de manière à retrouver un champ de vecteurs qui présente plus de zones plates que le champ de vecteurs de départ .
PCT/FR1999/001264 1998-05-29 1999-05-28 Procede de simplification d'image et application dudit procede a la segmentation et au codage d'images WO1999062030A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE69911956T DE69911956T2 (de) 1998-05-29 1999-05-28 Verfahren zur vereinfachung eines bildes zum benutzen in einem bildsegmentations- und -codierungsverfahren
EP99920941A EP1080448B1 (fr) 1998-05-29 1999-05-28 Procede de simplification d'image et application dudit procede a la segmentation et au codage d'images

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR98/06854 1998-05-29
FR9806854A FR2779256B1 (fr) 1998-05-29 1998-05-29 Procede de simplification d'image et application du dit procede a la segmentation et au codage d'images

Publications (1)

Publication Number Publication Date
WO1999062030A1 true WO1999062030A1 (fr) 1999-12-02

Family

ID=9526898

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR1999/001264 WO1999062030A1 (fr) 1998-05-29 1999-05-28 Procede de simplification d'image et application dudit procede a la segmentation et au codage d'images

Country Status (4)

Country Link
EP (1) EP1080448B1 (fr)
DE (1) DE69911956T2 (fr)
FR (1) FR2779256B1 (fr)
WO (1) WO1999062030A1 (fr)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0383269A2 (fr) * 1989-02-14 1990-08-22 Adler Research Associates Techniques de traitement d'image adaptatif par région
WO1991003795A1 (fr) * 1989-08-28 1991-03-21 Eastman Kodak Company Reduction au moyen de la luminance et de la chrominance du bruit d'une image numerique, basee sur la methode d'approximation planaire de chevauchement
EP0440166A2 (fr) * 1990-01-29 1991-08-07 Fuji Photo Film Co., Ltd. Méthode de compression de gammes dynamiques d'images
US5450502A (en) * 1993-10-07 1995-09-12 Xerox Corporation Image-dependent luminance enhancement

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0383269A2 (fr) * 1989-02-14 1990-08-22 Adler Research Associates Techniques de traitement d'image adaptatif par région
WO1991003795A1 (fr) * 1989-08-28 1991-03-21 Eastman Kodak Company Reduction au moyen de la luminance et de la chrominance du bruit d'une image numerique, basee sur la methode d'approximation planaire de chevauchement
EP0440166A2 (fr) * 1990-01-29 1991-08-07 Fuji Photo Film Co., Ltd. Méthode de compression de gammes dynamiques d'images
US5450502A (en) * 1993-10-07 1995-09-12 Xerox Corporation Image-dependent luminance enhancement

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ASTOLA J ET AL: "VECTOR MEDIAN FILTERS", PROCEEDINGS OF THE IEEE, vol. 78, no. 4, 1 April 1990 (1990-04-01), pages 678 - 689, XP000138458, ISSN: 0018-9219 *

Also Published As

Publication number Publication date
EP1080448A1 (fr) 2001-03-07
EP1080448B1 (fr) 2003-10-08
DE69911956D1 (de) 2003-11-13
FR2779256B1 (fr) 2000-08-18
DE69911956T2 (de) 2004-08-12
FR2779256A1 (fr) 1999-12-03

Similar Documents

Publication Publication Date Title
EP0542744B1 (fr) Procede et dispositif d&#39;incrustation d&#39;images video couleur auto-adaptatif
EP1523731B1 (fr) Procede de traitement d&#39;une image acquise au moyen d&#39;un guide compose d&#39;une pluralite de fibres optiques
Goyal et al. Fast and enhanced algorithm for exemplar based image inpainting
EP0547696B1 (fr) Système de transmission et/ou stockage de signaux correspondant à des images texturées
EP1292921B1 (fr) Raffinement d&#39;un maillage triangulaire en trois dimensions
EP1299859A1 (fr) Estimateur de mouvement pour le codage et le decodage de sequences d&#39;images
EP2380352B1 (fr) Procédé d&#39;encodage par segmentation d&#39;une image
FR3073999A1 (fr) Compression intelligente de contenus video graines
EP1116185B1 (fr) Methode de compression et de codage d&#39;un reseau maille tridimensionnel
FR2674349A1 (fr) Procede de traitement d&#39;images par files d&#39;attente hierarchisees.
FR2684829A1 (fr) Methodes de synthese de signaux de texture et de transmission et/ou stockage de tels signaux, ainsi que dispositifs et systemes pour leur mise en óoeuvre.
FR2628276A1 (fr) Procede de reduction de debit d&#39;une sequence de donnees d&#39;assistance a la reconstitution d&#39;une image electronique a partir d&#39;un signal sous-echantillonne
EP1080448B1 (fr) Procede de simplification d&#39;image et application dudit procede a la segmentation et au codage d&#39;images
FR2559979A1 (fr) Procede de condensation d&#39;un signal d&#39;image
FR2628864A1 (fr) Procede de segmentation d&#39;un champ de vecteurs vitesse, notamment de vitesses de deplacement de points d&#39;une image dans une sequence d&#39;images
Hintze et al. Shadow patching: Guided image completion for shadow removal
FR2822330A1 (fr) Procede de codage par blocs, de type mpeg, dans lequel on affecte une resolution a chaque bloc
FR2755564A1 (fr) Procede et dispositif de codage de donnees d&#39;images
EP0542335B1 (fr) Dispositif d&#39;estimation de mouvement entre images animées subdivisées en blocs bidimensionnels d&#39;éléments d&#39;image
FR3139260A1 (fr) Lissage hors boucle de codage d’une frontière entre deux zones d’image
Jacumin Variational methods for PDE-based image and video compression
FR2978579A1 (fr) Procede de codage d&#39;une image apres redimensionnement par suppression de pixels
FR2774244A1 (fr) Procede de conversion de la representation d&#39;une image video entre deux systemes de codage
EP4078959A1 (fr) Procede d&#39;encodage d&#39;une image numerique en vue de sa compression
FR2727543A1 (fr) Procede de generation d&#39;images intermediaires par interpolation

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 1999920941

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1999920941

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1999920941

Country of ref document: EP