WO2006024670A1 - Procede de normalisation et d'amelioration de contraste dans une image delivree par un senseur - Google Patents

Procede de normalisation et d'amelioration de contraste dans une image delivree par un senseur Download PDF

Info

Publication number
WO2006024670A1
WO2006024670A1 PCT/EP2005/054345 EP2005054345W WO2006024670A1 WO 2006024670 A1 WO2006024670 A1 WO 2006024670A1 EP 2005054345 W EP2005054345 W EP 2005054345W WO 2006024670 A1 WO2006024670 A1 WO 2006024670A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
block
blocks
pixel
algorithm
Prior art date
Application number
PCT/EP2005/054345
Other languages
English (en)
Inventor
Romain Delattre
Original Assignee
Thales
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 Thales filed Critical Thales
Publication of WO2006024670A1 publication Critical patent/WO2006024670A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/40Image enhancement or restoration using histogram techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • G06T5/92Dynamic range modification of images or parts thereof based on global image properties

Definitions

  • the present invention relates to a method of improving the contrast in an image delivered by an infrared sensor. It is applied as part of a dynamics reduction processing of an image still called image contrast normalization processing, making it possible to adapt the coding of the pixels of the image to a dynamic of gray levels the display is weaker than that of the sensor that delivers it.
  • a contrast normalization processing is intended to convert a digital image ⁇ x ⁇ of size n * m pixels in which each pixel contains information encoded on p bits into a digital image ⁇ y ⁇ of size n * m pixels wherein each pixel contains q-bit encoded information such that q ⁇ p.
  • This compression is said to be destructive because it leads to removing some of the information contained in the original image.
  • Such an algorithm is necessary to adapt the output dynamics of a sensor to the input dynamics of a computer, a monitor, a recorder or any system allowing the restitution or the recording of the image. .
  • the invention applies in particular to airborne products such as optronic nacelle, viewfinder or drone, which use infrared sensors. These sensors usually generate an image in which the information at each pixel is coded on 13 or 14 bits. For example, on 13 bits, one can thus distinguish 8192 levels of gray.
  • the rendering systems usually accept as input images with a maximum depth of 8 bits, corresponding to the limit of visual perception of the human eye, which can not distinguish more than 256 gray levels.
  • the contrast normalization operation is an operation that becomes more complex as the spectrum of the image to be processed is spread.
  • the term "spread spectrum” means that information is available over the entire range of gray levels that the sensor can detect. For example, a 13-bit sensor has a grayscale range of 8192 values [0-8191]. If the spectrum is spread, it means that the low levels of the range and the High levels of the beach are busy, corresponding to highly contrasting extreme points.
  • the spectrum is such that the minimum gray level in the image is encoded at 200; the maximum gray level is coded at 6000; and a string of gray levels is encoded between these minimum and maximum values.
  • the application of a correspondence table LUT calculated according to the usual techniques of contrast normalization leads to a loss of information which can result in an object coding on a single level, between the level 0 that is made to correspond to the minimum gray level of the image and the level 255 that is made to match the maximum gray level of the image.
  • the LUT will match the level 124 on the display.
  • the contrast normalization algorithm compresses the information contained in an image in a destructive manner. Different techniques of standardization and contrast enhancement in the image have been developed to better manage this necessary loss of information. It is a matter of carrying out the standardization operation, judiciously selecting the information to be translated.
  • the histogram of the Hist ⁇ x ⁇ image is given by all the pOintS .
  • the cumulative histogram Hist c (x) is obtained from the histogram of the image Hist ⁇ x ⁇ , calculating for each level Xi the sum c (X ⁇ ) of the populations of the previous levels and the population on this level. :.
  • FIG 1a there is shown by way of example, a histogram Hist ⁇ x ⁇ of an image ⁇ x ⁇ and in Figure 1b, the histogram cumulated Histc ⁇ x ⁇ corresponding.
  • Known techniques of standardization and contrast enhancement consist in developing a mixed correspondence table, from correspondence tables called linear table and S-table.
  • a linear correspondence table LUTi is simply constructed from the histogram Hist ⁇ x ⁇ taking the minimum gray level (min) and the maximum gray level (max), and determining a GL gain and an offset. The plot of the resulting straight line is shown in Figure 2.
  • a linear LUT correspondence table has the major drawback of not taking into account the distribution of the gray level population: in other words, it is not not interested in the content of the image.
  • a table of correspondence in S LUT 5 is based on the curve obtained with the cumulative histogram Hist c ⁇ x ⁇ .
  • An example of such a table LUT 5 is shown in Figure 3. It is characterized by a linear portion GS slope with at both ends, curved portions to the minimum and maximum levels of the histogram.
  • This table is therefore built on the distribution of gray scale populations in the image. It is favorable to gray levels in large population in the image, typically corresponding to uniform radiometric areas in the image: sky, sea .... at the expense of grayscale not present in the image.
  • the usual techniques also use production parameters that are function of the image ⁇ x ⁇ to be processed, which make it possible to construct an optimized correspondence table LUT m for a given image, notably by using a finer analysis of the histograms and cumulative histogram of the image.
  • an optimization can be obtained from the linear table LUT and / or from the table in S LUT 5 .
  • Such an optimization example is shown in FIG. 4, for information only.
  • the table comes from an S curve, but whose slope Gm has been reduced.
  • the optimization can also relate to the offset, the min and max values, sat saturation value.
  • a method of normalization and contrast enhancement is shown schematically in Figure 5.
  • the image ⁇ x ⁇ delivered by the sensor has a size of nx m pixels. It is applied as input to a digital computer 1.
  • the latter applies a normalization and contrast enhancement algorithm NAC on the image ⁇ x ⁇ .
  • NAC normalization and contrast enhancement algorithm
  • it calculates the histogram and the cumulative histogram of this image according to the previously given formulas, and analyzes the resulting curves.
  • it determines the minimum and maximum gray levels, and constructs a LUT mapping table applicable to the ⁇ x ⁇ image, using state-of-the-art techniques, examples of which have been detailed above.
  • the calculator 1 then applies the correspondence table LUT on the image ⁇ x ⁇ .
  • An image ⁇ y ⁇ of the same size n ⁇ m pixels is obtained as output, but with a reduced dynamic, typically with 8-bit coded pixels.
  • it lacks information that was present in the image ⁇ x ⁇ .
  • the basic idea of the invention for improving the quality of an image degraded by external disturbances is to reduce the areas of glare of the image.
  • This object is achieved by a processing system in which the image is cut into blocks, and a method of normalization and contrast enhancement is applied to each of the blocks of the image.
  • a method of normalization and contrast enhancement is applied to each of the blocks of the image.
  • On each block we have all the coding dynamics of the display. In this way, it is possible to keep all the information present in the image delivered by the sensor, even close to a source of glare, the glare areas being reduced. The image viewed or saved is significantly improved.
  • the image to be processed comprises nxm pixels
  • u and v are determined to cut this image into uxv blocks.
  • Each block therefore has a surface S u , v equal to - x -.
  • the invention proposes to apply it separately to each of the blocks of the image. It is therefore applied uxv times.
  • the histogram and its accumulated histogram are computed, and a look-up table for the block is constructed. It will be understood that since one works on a reduced image surface Su, v and no longer on the entire surface of the image, the histogram obtained is less spread out, which makes it possible to keep the information on each block.
  • An improvement of the invention consists in applying linear filtering, making it possible for each block of the image to take into account the information present in neighboring blocks.
  • the invention relates to an image processing system for reducing the effects of light disturbances in the vicinity of an infrared sensor supplying said images, in which the level of each pixel is coded on p bits, to a display medium or to a display medium.
  • recording in which the level of each pixel is coded on q bits, with q ⁇ p characterized in that it comprises calculation means for applying a method of normalization and contrast enhancement to each image delivered by the sensor , said method comprising applying an algorithm to said image to produce a level map, characterized in that the image to be processed ⁇ x ⁇ is cut into blocks and that said algorithm is applied to each block , to produce a block lookup table.
  • FIGS. 1a and 1b illustrate a histogram of an image and its cumulated histogram
  • FIG. 2 represents a linear correspondence table between the dynamics of a sensor and that of a display
  • FIG. 3 represents a correspondence table in S between the dynamics of a sensor and that of a display
  • FIG. 4 illustrates an exemplary correspondence table optimization
  • - Figure 5 schematically illustrates a method of normalization and contrast enhancement on an image ⁇ x ⁇ delivered by a sensor, according to the state of the art
  • FIG. 6 schematically illustrates a method of standardization and contrast enhancement according to the invention, with a division of the image ⁇ x ⁇ into uxv blocks and the application of the NAC algorithm on the uxv blocks of the image according to the invention;
  • FIG. 7 illustrates an operation of enlarging an image to be processed, to allow the image to be cut into an integer of blocks of size uxv;
  • FIG. 8 illustrates an operation of enlarging an image to be processed, to allow the application of a linear filtering on each of the blocks of the image ⁇ x ⁇ to be processed;
  • FIG. 9 illustrates the selection of a linear filtering zone for a given block of the image to be processed
  • FIG. 10 illustrates the histogram acquisition zones associated with a given block of the image to be processed, enabling the application of a bi-linear filtering
  • FIG. 11 illustrates a distance measurement between a pixel of a block of the image to be processed and the acquisition zones illustrated in FIG. 10;
  • FIG. 12 illustrates an improvement, according to which the bilinear filtering is carried out partially, for the pixels of the block located near the boundaries with the neighboring blocks.
  • FIG. 1 The principle of the invention is shown diagrammatically in FIG. 1
  • the calculation algorithm NAC applies to each block Br of the image, the production steps of a correspondence table LUT r associated.
  • Each of the computed LUT r tables is applied to the block Br, to provide the output image ⁇ y ⁇ of reduced dynamics.
  • the independent processing of the blocks has deleterious effects, essentially at the level of the boundaries between the blocks: one has a checkered effect, corresponding to the cutting of the image.
  • This is due to the independent production mode of the different LUT mapping tables r of the image ⁇ x ⁇ .
  • r the image ⁇ x ⁇ .
  • the method according to the invention causes discontinuities between the histograms of the blocks in the output image.
  • each of the uxv correspondence tables calculated for the image ⁇ x ⁇ contains fewer values than the table computed over the entire image according to the prior art.
  • the histograms calculated by the NAC algorithm on each block are thus more irregular and more sensitive to noise.
  • a first improvement of a method according to the invention comprises a preliminary step of enlarging the image delivered by the sensor, to obtain a division according to an integer number of blocks of predetermined size.
  • ⁇ x ⁇ the image on which we apply a method of cutting and application of the algorithm NAC according to the invention.
  • This image can be the actual image delivered by the sensor, or be a previously enlarged image to obtain an integer number of blocks.
  • the contrast enhancement and normalization method applies a linear filtering for each block of the image to be processed ⁇ x ⁇ , to reduce the visual perception of jumps between blocks, and therefore improve the visual quality of the output image ⁇ y ⁇ .
  • the applied linear filtering makes it possible to take into account the contents of the neighboring blocks in the correspondence table of a block.
  • the linear filtering is performed by the algorithm NAC, in at least one step of the production steps of the tables of correspondence of the blocks of the image to be processed ⁇ x ⁇ .
  • Linear filtering is achieved by applying a matrix mask
  • a mask Mi whose matrix is of size (2n- ⁇ +1) x (2n- ⁇ + 1) blocks: it is defined to reach neither neighboring blocks on each side of the block to be sorted. We must therefore enlarge the image of r ⁇ times the size of a block in all directions.
  • the enlarged image ⁇ x ' ⁇ will have a size equal to (n + 2.ni.tx). (M + 2.ni.tv) pixels.
  • the enlarged image allowing the application of the mask M 1 on the blocks at the edge of image ⁇ x ⁇ therefore has dimensions: (n + 2tx). (M + 2ty) pixels: l
  • the enlargement performed is the size of a block in all directions, as shown in FIG.
  • a first step comprises calculating the magnified image ⁇ x 1 ⁇ , to allow the application of the neighborhood-defining mask Mi, for the application of the linear filtering.
  • the NAC algorithm produces for the uxv By blocks of the real image to be processed ⁇ x ⁇ , uxv correspondence tables LUTij, one by By block.
  • the additional blocks contained in the image ⁇ x ' ⁇ are used in the NAC algorithm, in the definition of the zone of application of the linear filtering, by application of the mask Mi for the blocks at the edge of image.
  • the ZL area of linear filtering application, centered on the By block considered is therefore of dimension 3 x3 blocks.
  • Mi as follows:
  • the selected image area ZL comprises the following blocks B 1 ⁇ 1 , B t _ xt] , B ⁇ , B ⁇ + lJ , B ⁇ J + ⁇ .
  • the area ZL includes blocks of the enlarged image ⁇ x ' ⁇ .
  • This zone ZL is represented in FIG. 9.
  • linear filtering can be performed in the algorithm at the level of the calculation of the histogram.
  • image area ZL comprising the block to be treated and neighboring blocks, selected by the mask Mi.
  • the linear filtering is to linearize the histogram of the Bij / el mitral block to the histograms of the other blocks of the zone ZL
  • the processing algorithm may for example comprise the following steps:
  • a linear filtering step by calculating a histogram of the Bij block from the histograms of the blocks of the image zone ZL; a step of calculating the associated cumulative histogram;
  • the output image ⁇ y ⁇ is obtained by applying the uxv LUTij tables thus produced on the uxv Bij blocks of the image to be processed ⁇ x ⁇ .
  • linear filtering can be performed in the algorithm for determining the minimum gray level and the maximum gray level of the histogram.
  • a minimum gray level the minimum of the gray levels minimums found on the ZL area and as the maximum gray level, the maximum of the maximum gray levels found on the ZL area.
  • the processing algorithm NAC may for example apply the following processing steps: * for each By block of the enlarged image ⁇ x 1 ⁇ :
  • a linear filtering step for example by selecting the minimum of the minimum levels and the maximum of the maximum levels of the blocks of the zone ZL thus selected, to be applied as minimum and maximum levels on the By block considered; a step of producing an associated correspondence table LUTy with the By block considered, using in the production parameters of this table, the so-called minimum and maximum levels thus selected.
  • the output image ⁇ y ⁇ is obtained by applying the uxv tables LUTy thus produced on the uxv blocks Bjj of the image ⁇ x ⁇ to be processed.
  • the linear filtering may be performed in the NAC algorithm at the level of determining the production parameters of the correspondence table as a function of the parameters of the neighboring blocks thus selected. It is then a question of making sure that the block considered produces the same type of curve, like a linear curve, in S, or mixed, with computation parameters: gain, offset ... standardized with respect to the neighboring blocks defined in the ZL area.
  • the processing algorithm NAC may for example apply the following processing steps:
  • a step of calculating the cumulated histogram a step of analyzing histograms and accumulated histograms, to define the production parameters (gains Q, Gs, thresholds, offset, etc.) of the correspondence table;
  • the output image ⁇ y ⁇ is obtained by applying the uxv tables LUTij thus produced on the uxv blocks B 1 J of the image to be processed ⁇ x ⁇ .
  • the slopes GL and / or GS will be the average slopes calculated on the blocks of the zone ZL.
  • linear filtering is applied to the correspondence tables produced by the NAC algorithm.
  • This filtering is thus applied following the NAC algorithm, by means of a matrix filter M 2 , on the correspondence tables calculated for the enlarged image ⁇ x ' ⁇ , the magnification being a function of the size of the filter applied.
  • a linear filtering step comprising the application of the matrix M 2 centered on the block considered to select the image area ZL, and a linear filtering of the correspondence tables of this zone ZL to obtain a linearized correspondence table LUTIjj.
  • the calculation time can be optimized by choosing a filter whose coefficients ak are zero.
  • bilinear filtering is applied, which makes it possible to couple a better method for calculating the histogram to a bilinear interpolation which takes into account a notion of distance.
  • bilinear filtering makes it possible to improve the coherence between the blocks by erasing the transitions between the blocks.
  • a definition of several overlapping acquisition zones that are overlapping with each other is compared with a bilinear interpolation of the correspondence tables calculated on these acquisition zones, applicable on each pixel of the block, as a function of a measure of its distance to each of the acquisition zones.
  • a method thus comprises for each block of the image to be processed, a step of constructing the correspondence table of each acquisition zone, and a bilinear interpolation stage of the correspondence tables, to construct the correspondence table LUTij applicable to the pixels of the By block, taking into account the position of the pixel in the block Bjj:
  • this mask M 3 For each By block of the image ⁇ x ⁇ to be processed, this mask M 3 is applied, positioning it in turn according to the four possible positions of the By block in this mask. For each position of the block in the mask, a corresponding acquisition zone is obtained, ie in the example illustrated in FIG. 10: ZA 1 (block By in the lower right corner) ZA2 (block B, j in the lower corner left), ZA3 (block B, j in the upper right corner) and Z ⁇ 4 (By block in the upper left corner). An overlapping of the histogram acquisition zones for the block in question is thus obtained: the pixels of a block are thus taken into account several times.
  • a 2 x 2 mask is a good compromise between the necessary computation time and the visual quality of the output image.
  • p (x, y) be a pixel of the By block.
  • x is its abscissa and y its ordinate relative to the xoy repository of the block, as shown in Figure 11.
  • the pixel at the top left of the block Bjj has the coordinates (0,0), the pixel at the top right, the coordinates (tx, O), the pixel bottom left, the coordinates (ty, O), and the pixel at the bottom right at the coordinates (tx, ty).
  • the correspondence table that applies is that of the acquisition zone ZA 1 ; for the point p (tx, O), the correspondence table that applies is that of the acquisition zone ZA 2; for the point p (O, ty), the correspondence table that applies is that of the acquisition zone ZA 3 ; and for the point p (tx, ty), the correspondence table that applies is that of the acquisition zone.
  • the distance measurement must be such that the sum of the distances of the pixel to the different acquisition zones is equal to 1.
  • the distance of the pixel (x, y) to the zone ZAi is measured as follows:
  • LUT (x, y) LUT 1 . Di (x, y) + LUT 2 . D 2 (x, y) + LUT 3 D 3 (x, y) + LUT 4 . D 4 (x, y) .
  • LUT ( ⁇ ) LUT ⁇ (tx-x) - (ty - y)
  • LUT (x, y) corresponds to an output gray level resulting from the average of the output gray levels of the different weighted LUTi as a function of a measurement of the pixel distance to different histogram acquisition areas.
  • the size of the acquisition area may be larger than in the example given for illustrative purposes above.
  • the correspondence table will be the one calculated on the block, by application of the NAC algorithm on this block.
  • the bilinear filtering described above is applied. In one example, with blocks of 30x32 pixels, we take a border of width ⁇ L of four pixels.
  • the application of a method of normalization and contrast enhancement according to the invention makes it possible to better visualize details in the image, because of the plurality of correspondence tables corresponding to the plurality of blocks from the cutting of the image to be processed.
  • the image processing system of the sensor applying a method of treatment of normalization and contrast enhancement according to the invention shows a hardening of the algorithm vis-à-vis possible light disturbances near the sensor, which result in effects of light. glare on the image produced by the sensor.
  • Such nuisances may be, for example, a laser attack, a missile departure, a flare, an oil well on fire ...., the ignition of a lighter close to the sensor.
  • a processing system makes it possible to reduce a glare zone very significantly on the image displayed or recorded, after dynamic reduction, making it possible to distinguish details close to the source of this glare, with respect to the algorithms classics.
  • the presence of point and extreme zones in the image disturbs only the locality of the aggression and not the entire image.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

Un système de traitement d'images pour réduire les effets de nuisances lumineuses à proximité d'un senseur infrarouge fournissant les dites images, dans lesquelles le niveau de chaque pixel est codé sur p bits, à un support de visualisation ou d'enregistrement dans lequel le niveau de chaque pixel est codé sur q bits, avec q<p, comprend des moyens de calcul pour appliquer un procédé de normalisation et d'augmentation du contraste à chaque image {x} délivrée par le senseur, ledit procédé comprenant -un découpage de ladite image à traiter {x} en blocs (B i,j), -l'application d'un algorithme (NAC) sur ladite image {x} pour produire une table de correspondance de niveaux (LUT), ledit algorithme étant appliqué sur chaque bloc (B i,j ), pour produire une table de correspondance de niveaux par bloc.

Description

PROCEDE DE NORMALISATION ET D'AMELIORATION DE CONTRASTE DANS UNE IMAGE DELIVREE PAR UN SENSEUR
La présente invention concerne un procédé d'amélioration du contraste dans une image délivrée par un senseur infrarouge. Elle s'applique dans le cadre d'un traitement de réduction de dynamique d'une image appelé encore traitement de normalisation du contraste de l'image, permettant d'adapter le codage des pixels de l'image à une dynamique de niveaux de gris de l'afficheur plus faible que celle du senseur qui la délivre.
Plus précisément, un traitement de normalisation de contraste a pour but de convertir une image numérique {x} de taille n*m pixels dans laquelle chaque pixel contient une information codée sur p bits en une image numérique {y} de taille n*m pixels dans laquelle chaque pixel contient une information codée sur q bits tel que q<p. On réalise ainsi une compression de l'image d'origine {x}. Cette compression est dit destructive, car elle conduit à supprimer une partie de l'information contenue dans l'image d'origine. Un tel algorithme est nécessaire pour adapter la dynamique de sortie d'un senseur à la dynamique d'entrée d'un calculateur, d'un moniteur, d'un enregistreur ou de tout système permettant la restitution ou l'enregistrement de l'image.
L'invention s'applique notamment aux produits aéroportés de type nacelle optronique, viseur ou drône, qui utilisent des senseurs infra-rouge. Ces senseurs génèrent habituellement une image dans laquelle l'information en chaque pixel est codée sur 13 ou 14 bits. Par exemple, sur 13 bits, on peut ainsi distinguer 8192 niveaux de gris. Les systèmes de restitution acceptent habituellement en entrée des images d'une profondeur maximale de 8 bits, correspondant à la limite de perception visuelle de l'œil humain, qui ne peut pas distinguer plus de 256 niveaux de gris.
L'opération de normalisation de contraste est une opération qui devient d'autant plus complexe que le spectre de l'image à traiter est étalé. L'expression "spectre étalé" signifie que l'on a des informations sur toute la plage de niveaux de gris que peut détecter le senseur. Par exemple, un senseur 13 bits a une plage de niveaux de gris de 8192 valeurs [0-8191 ]. Si le spectre est étalé, cela signifie que les niveaux bas de la plage et les niveaux hauts de la plage sont occupés, correspondant à des points extrêmes fortement contrastés.
C'est notamment le cas des images obtenues par les senseurs infra-rouges en bande II, car ils réagissent aux réflexions solaires. Les images obtenues avec ces senseurs sont ainsi fortement contrastées.
L'application des techniques de normalisation de contraste habituelles, à base de tables de correspondance, connues sous l'acronyme anglo-saxon LUT ((.ook-Up Table) conduit alors à une perte d'informations contenues dans l'image fournie par le senseur. Si l'image fournie par le senseur a un spectre étroit, on n'aura pas ce problème de perte d'information. En effet, le spectre étant étroit, avec par exemple 200 niveaux de gris différents codés dans l'image parmi les 8192 valeurs de la plage du senseur, il est aisé de faire correspondre à chacun de ces 200 niveaux de gris, un niveau de gris correspondant choisi dans la plage des 256 niveaux de gris de l'afficheur. Ceci se fait donc sans perte d'informations. C'est ce qui se produit par exemple dans le cas des images issues d'un senseur infra¬ rouge en bande III, avec lequel on n'a pas le problème de la réflexion des rayons solaires. La réduction de dynamique entre le senseur et le système de restitution (afficheur) va essentiellement se traduire par une répartition de luminance différente.
Le cas d'un spectre étalé est différent, puisque l'étalement du spectre conduit à un nombre de niveaux de gris codés en entrée supérieur à ce que permet la dynamique de codage de l'afficheur. Cette réduction de dynamique appliqué sur un spectre étalé conduit donc à une perte d'informations. Par exemple, le spectre est tel que le niveau de gris minimum dans l'image est codé à 200 ; le niveau de gris maximum est codé à 6000 ; et une kyrielle de niveaux de gris est codée entre ces valeurs minimum et maximum. En particulier, si dans l'image fournie par le senseur, on a un objet avec des niveaux de gris proches, par exemple, des niveaux de gris à 400, 401 , 402, correspondant à des détails de cet objet, l'application d'une table de correspondance LUT calculée selon les techniques habituelles de normalisation de contraste conduit à une perte d'information qui peut se traduire par un codage de l'objet sur un seul niveau, compris entre le niveau 0 que l'on fait correspondre au niveau de gris minimum de l'image et le niveau 255 que l'on fait correspondre au niveau de gris maximum de l'image. Par exemple, aux trois niveaux 400, 401 et 402 de l'objet, la LUT fera correspondre le niveau 124 sur l'afficheur. Ainsi l'algorithme de normalisation du contraste opère une compression de l'information contenue dans une image, de façon destructive. Différentes techniques de normalisation et d'amélioration du contraste dans l'image ont ainsi été développées pour gérer au mieux cette nécessaire perte d'information. Il s'agit de réaliser l'opération de normalisation, en sélectionnant de façon judicieuse l'information à traduire.
En d'autres termes, il s'agit de réaliser un choix dans la compression à réaliser. Cette contrainte définit un critère de qualité de l'algorithme : ce dernier doit permettre d'offrir en sortie une image qui doit être la plus intéressante possible, la plus riche et la plus exploitable.
Ces techniques reposent habituellement sur une analyse fine de l'histogramme de l'image délivrée par le senseur (fonction de distribution des niveaux dans l'image) et sur l'histogramme cumulé (fonction de distribution des populations dans l'image), pour calculer la table de correspondance LUT optimale à appliquer.
Soit er, de taille n xm pixels .
Soit
Figure imgf000005_0001
= L niveaux de gris de la dynamique de codage du senseur, où Xo représente le niveau le plus bas, égal 0 et XL-I , le niveau le plus élevé, égal à L-1 (soit 8191 , pour un codage sur p=13 bits).
L'histogramme de l'image est obtenu en calculant la densité p(Xι) de chaque niveau de gris Xi dans les n xm pixels de l'image. Cette densité s'écrit : p(x;)=-^- où n est le nombre de fois où le niveau Xi est trouvé dans nxm l'image. L'histogramme de l'image Hist{x} est donné par l'ensemble des pOintS
Figure imgf000005_0002
.
L'histogramme cumulé Histc(x) est obtenu à partir de l'histogramme de l'image Hist{x}, en calculant pour chaque niveau Xi la somme c(Xι) des populations des niveaux précédents et de la population sur ce niveau : .
Figure imgf000005_0003
Sur la figure 1 a, on a représenté à titre d'exemple, un histogramme Hist{x} d'une image {x} et sur la figure 1 b, l'histogramme cumulé Histc{x} correspondant. Des techniques connues de normalisation et d'amélioration du contraste consistent à élaborer une table de correspondance mixte, à partir de tables de correspondance dites table linéaire et table en S. Une table de correspondance linéaire LUTi se construit simplement à partir de l'histogramme Hist{x} en prenant le niveau de gris minimum (min) et le niveau de gris maximum (max), et en déterminant un gain GL et un offset. Le tracé de la droite qui en résulte est représenté sur la figure 2. Une table de correspondance linéaire LUT a comme défaut majeur de ne pas tenir compte de la répartition des population de niveaux de gris : en d'autres termes, elle ne s'intéresse pas au contenu de l'image. Ainsi, lorsque l'écart entre les niveaux de gris minimum et maximum devient important, ce qui est un cas rencontré dans le domaine des senseurs infrarouge en bande II (dû à l'étalement du spectre), alors on détruit de l'information qui peut aussi bien être du bruit, qu'une information utile, ou un pixel important mais unique : chaque pixel de l'image a autant de chance qu'un autre d'être codé en sortie.
Une table de correspondance en S LUT5, appelée encore table de correspondance égalisée, est basée sur la courbe obtenue avec l'histogramme cumulé Histc{x}. Un exemple d'une telle table LUT5 est représenté sur la figure 3. Elle se caractérise par une portion linéaire de pente GS avec aux deux extrémités, des parties courbes vers les niveaux minimum et maximum de l'histogramme.
Cette table est donc construite sur la répartition des populations de niveaux de gris dans l'image. Elle est favorable aux niveaux de gris en population importante dans l'image, correspondant typiquement à des zones radiométriques uniformes dans l'image : ciel, mer....au détriment des niveaux de gris peu présents dans l'image.
En pratique, les techniques habituelles utilisent en outre des paramètres de production fonction de l'image {x} à traiter, qui permettent de construire une table de correspondance optimisée LUTm pour une image donnée, notamment en utilisant une analyse plus fine des histogramme et histogramme cumulé de l'image.
Dans un exemple, une optimisation peut être obtenue à partir de la table linéaire LUT et/ou de la table en S LUT5. Dans un exemple, on peut linéariser une courbe en S, notamment pour réduire une pente trop importante. De cette façon, on élargit la dynamique de codage disponible dans la zone de l'histogramme contenant beaucoup d'informations. Un tel exemple d'optimisation est représenté sur la figure 4, à titre purement indicatif. La table est issue d'une courbe en S, mais dont la pente Gm a été réduite. L'optimisation peut aussi porter sur l'offset, les valeurs min et max, la valeur de saturation sat.
Un procédé de normalisation et d'amélioration du contraste est représenté schématiquement sur la figure 5. L'image {x} délivrée par le senseur a un taille de nx m pixels. Elle est appliquée en entrée d'un calculateur numérique 1. Ce dernier applique un algorithme NAC de normalisation et d'amélioration du contraste sur l'image {x}. En particulier il calcule l'histogramme et l'histogramme cumulé de cette image selon les formules précédemment données, et analyse les courbes résultantes. Notamment, il détermine les niveaux de gris minimum et maximum, et construit une table de correspondance LUT applicable à l'image {x}, en utilisant les techniques de l'état de l'art, dont des exemples ont été détaillés ci-dessus. Le calculateur 1 applique alors la table de correspondance LUT sur l'image {x}. On obtient en sortie une image {y} de même taille nx m pixels mais de dynamique réduite, typiquement avec des pixels codés sur 8 bits. En pratique, dans l'image {y} obtenue, il manque des informations qui étaient présentes dans l'image {x}.
Si on prend l'exemple d'une vue aérienne d'un ensemble industriel, l'application de ces techniques ne va pas permettre de distinguer des fenêtres, des séparations entre les bâtiments de compter le nombre de personnes dehors ....
Dans certaines applications, en particulier l'analyse de séquences d'image fournies par des senseurs infrarouges, il est nécessaire d'améliorer la perception visuelle des images par un opérateur. Notamment, dans des nuisances lumineuses à proximité du senseur, telles que des départs de tir de missile, des torchères, des reflets solaires, des éblouissements lasers, les images obtenues sont très dégradées, avec des zones d'éblouissement dans les images. Sur l'image visualisée, on ne peut pas distinguer des détails proches de la source d'éblouissement. Pour ces applications, il est nécessaire d'améliorer le procédé de normalisation et d'amélioration du contraste, pour perdre le moins d'information utile possible, même dans le cas de nuisances lumineuses à proximité du senseur. L'invention se propose de résoudre ce problème technique.
L'idée à la base de l'invention pour améliorer la qualité d'une image dégradée par des perturbations extérieures, est de réduire les zones d'éblouissement de l'image.
Ce but est atteint par un système de traitement selon lequel on découpe l'image en blocs, et on applique un procédé de normalisation et d'amélioration de contraste sur chacun des blocs de l'image. Sur chaque bloc, on dispose de toute la dynamique de codage de l'afficheur. De cette façon, il est possible de conserver toute l'information présente dans l'image délivrée par le senseur, même à proximité d'une source d'éblouissement, les zones d'éblouissement étant réduites. L'image visualisée ou enregistrée s'en trouve nettement améliorée.
De manière plus détaillée, si l'image à traiter comprend nxm pixels, on détermine u et v pour découper cette image en uxv blocs. Chaque bloc a donc une surface Su,v égale à — x — . u v Au lieu d'appliquer une unique fois l'algorithme NAC de normalisation et d'amélioration du contraste, l'invention propose de l'appliquer séparément sur chacun des blocs de l'image. Il est donc appliqué uxv fois. Sur chaque bloc, l'histogramme et son histogramme cumulé sont calculés, et une table de correspondance pour le bloc est construite. On comprend que, comme on travaille sur une surface d'image réduite Su,v et non plus sur la surface complète de l'image, l'histogramme obtenu est moins étalé, ce qui permet de conserver l'information sur chaque bloc.
Cette technique a cependant comme inconvénient de générer un effet de damier sur l'image : le quadrillage des blocs est bien visibles. Ceci est dû à l'application de l'algorithme NAC sur les bbcs de façon indépendante. Il en résulte dans l'image de sortie {y}, une discontinuité des histogrammes résultants des différents blocs d'image.
Un perfectionnement de l'invention consiste à appliquer un filtrage linéaire, permettant pour chaque bloc de l'image, de prendre en compte les informations présentes dans des blocs voisins. En appliquant à une image délivrée par un senseur infrarouge, des techniques de normalisation et amélioration de contraste selon l'invention, on obtient en sortie une image de dynamique de codage réduite, qui reste particulièrement riche en information. Si l'image traitée est dégradée par des nuisances lumineuses à proximité du senseur, se traduisant par des zones d'éblouissement dans l'image, ces zones d'éblouissement sont rédutes, en sortent qu'elles ne perturbent alors plus que la localité de l'agression, et non pas l'image toute entière.
L'invention concerne un système de traitement d'images pour réduire les effets de nuisances lumineuses à proximité d'un senseur infrarouge fournissant les dites images, dans lesquelles le niveau de chaque pixel est codé sur p bits, à un support de visualisation ou d'enregistrement dans lequel le niveau de chaque pixel est codé sur q bits, avec q<p, caractérisé en ce qu'il comprend des moyens de calcul pour appliquer un procédé de normalisation et d'augmentation du contraste à chaque image délivrée par le senseur, ledit procédé comprenant l'application d'un algorithme sur ladite image pour produire une table de correspondance de niveaux, caractérisé en ce que l'image à traiter {x} est découpée en blocs et en ce que ledit algorithme est appliqué sur chaque bloc, pour produire une table de correspondance par bloc.
D'autres avantages et caractéristiques de l'invention apparaîtront plus clairement à la lecture de la description qui suit, faite à titre indicatif et non limitatif de l'invention et en référence aux dessins annexés, dans lesquels :
- les figures 1 a et 1 b illustrent un histogramme d'une image et son histogramme cumulé ;
- la figure 2 représente une table de correspondance linéaire entre la dynamique d'un senseur et celle d'un afficheur ;
- la figure 3 représente une table de correspondance en S entre la dynamique d'un senseur et celle d'un afficheur ;
- la figure 4 illustre un exemple d'optimisation de table de correspondance ; - la figure 5 illustre schématiquement un procédé de normalisation et d'amélioration de contraste sur une image {x} délivrée par un senseur, selon l'état de l'art ;
- la figure 6 illustre schématiquement un procédé de normalisation et d'amélioration de contraste selon l'invention, avec un découpage de l'image {x} en uxv blocs et l'application de l'algorithme NAC sur les uxv blocs de l'image selon l'invention ;
- la figure 7 illustre une opération d'agrandissement d'une image à traiter, pour permettre un découpage de l'image en un nombre entier de blocs de taille uxv ;
- la figure 8 illustre une opération d'agrandissement d'une image à traiter, pour permettre l'application d'un filtrage linéaire sur chacun des blocs de l'image {x} à traiter ;
- la figure 9 illustre la sélection d'une zone de filtrage linéaire pour un bloc donné de l'image à traiter ;
- la figure 10 illustre les zones d'acquisition d'histogramme associées à un bloc donné de l'image à traiter, permettant l'application d'un filtrage bi linéaire ;
- la figure 11 illustre une mesure de distance entre un pixel d'un bloc de l'image à traiter et les zones d'acquisition illustrées à la figure 10 ; et
- la figure 12 illustre un perfectionnement, selon lequel le filtrage bilinéaire est réalisé partiellement, pour les pixels du bloc situés à proximité des frontières avec les blocs voisins.
Le principe de l'invention est schématisé sur la figure 6.
L'image {x} délivrée par le senseur est découpée en u x v blocs Br (r=1 à u xv). L'algorithme de calcul NAC applique sur chaque bloc Br de l'image, les étapes de production d'une table de correspondance LUTr associée. Chacune des tables LUTr calculées est appliquée sur le bloc Br, pour fournir l'image de sortie {y} de dynamique réduite. Si on note Br' le bloc obtenue du bloc Br après application de la table LUTr associée, on a en entrée une image à traiter {x}= \J~"* Br , de taille nx m pixels, avec des pixels codés sur p bits. En sortie, on obtient une image {y}= (J^"xv Br , de taille nx m pixels, avec des pixels codés sur q bits, q<p. Le mode d'application de l'algorithme NAC selon l'invention, permet de conserver l'information utile sur chaque bloc, en disposant pour chaque bloc, de la dynamique de codage de l'afficheur. Sur l'image visualisée {y}, on pourra ainsi voir localement, c'est à dire sur les blocs, tous les détails d'un objet donné.
Cependant, le traitement indépendant des blocs entraîne des effets nuisibles, essentiellement au niveau des frontières entre les blocs : on a un effet de damier, correspondant au découpage de l'image. Ceci est dû au mode de production indépendant des différentes tables de correspondance LUTr de l'image {x}. Par exemple, on pourrait se retrouver dans un bloc avec un pixel dont le niveau de gris codé à 2 dans l'image {x} d'origine, serait transcodé à 230 dans l'image de sortie ; et dans un bloc voisin, un pixel dont le niveau de gris serait codé à 200 dans l'image {x} d'origine, et qui serait transcodé à ce même niveau 230 dans l'image de sortie. En pratique, le procédé selon l'invention entraîne des discontinuités entre les histogrammes des blocs dans l'image de sortie.
Ces discontinuités peuvent en outre provoquer un effet de clignotement temporel de l'image, lorsqu'un objet "chaud" se déplace d'un bloc à l'autre : si on reprend l'exemple précédent, l'objet chaud codé à 2, devient froid (transcodé à 230) dans l'image de sortie. Si cet objet est mobile et passe dans le bloc voisin, il va rester chaud dans l'image de sortie.
En outre, chacune des uxv tables de correspondance calculées pour l'image {x} contient moins de valeurs que la table calculée sur toute l'image selon l'art antérieur. Les histogrammes calculés par l'algorithme NAC sur chaque bloc sont ainsi plus irréguliers et plus sensibles au bruit.
Pour améliorer ces différents aspects, des perfectionnements du procédé selon l'invention sont proposés.
Un premier perfectionnement d'un procédé selon l'invention comprend une étape préalable d'agrandissement de l'image délivrée par le senseur, pour obtenir un découpage selon un nombre entiers de blocs de taille prédéterminée. Un tel perfectionnement permet d'atténuer le problème de clignotement temporel, en prenant des blocs de taille suffisante. On a pu déterminer que des dimensions de blocs de l'ordre de 30 x 30 pixels donnaient des résultats optimums. Ainsi, par exemple, pour une image {x} de n= 320 pixels par m= 240 pixels, on prendra des valeurs de u (en x) et v (en y) respectivement de 10 et 8. Les surfaces Su,v des blocs Br sont alors égales à xf— =30
Figure imgf000012_0001
pixels. En fonction de l'image, on pourra ainsi prévoir d'agrandir artificiellement l'image à traiter pour obtenir un nombre entier de blocs de la taille voulue. Si on note {>b} l'image délivrée par le senseur. Un agrandissement artificiel de cette image est obtenu en dupliquant les pixels sur la frontière, pris sur une certaine profondeur : x^ pixels en x et V3 pixels en y. Une image agrandie {x} correspondante est représentée sur la figure 6. Elle a une taille égale à (n+2xa).(m+2ya). X3 et V3 sont choisis pour que l'on puisse découper l'image agrandie {x} en un nombre entiers de blocs de taille prédéterminée - x — pixels.
U V
Dans la suite on note {x} l'image sur laquelle on applique un procédé de découpage et d'application de l'algorithme NAC selon l'invention. Cette image peut être l'image réelle délivrée par le senseur, ou être une image préalablement agrandie pour obtenir un nombre entier de blocs.
Selon un deuxième perfectionnement de l'invention, on prévoit que le procédé de normalisation et d'amélioration du contraste applique un filtrage linéaire pour chaque bloc de l'image à traiter {x}, pour réduire la perception visuelle des sauts entre blocs, et donc améliorer la qualité visuelle de l'image de sortie {y}. Le filtrage linéaire appliqué permet de prendre en compte le contenu des blocs voisins dans la table de correspondance d'un bloc.
Selon un premier mode de réalisation, on prévoit que le filtrage linéaire est réalisé par l'algorithme NAC, dans une étape au moins parmi les étapes de production des tables de correspondance des blocs de l'image à traiter {x}. Le filtrage linéaire est réalisé en appliquant un masque matriciel
M-i. Ce masque permet la sélection de la zone image Z- d'application du filtrage linéaire, pour chaque bloc de l'image {x} à traiter. Cette zone d'application du filtrage linéaire ZL est plus large que le bloc, comprenant le bloc et des blocs voisins. Pour être applicable aux blocs en bord d'image, le filtrage linéaire nécessite d'agrandir l'image sur chaque côté, d'une taille correspondant au nombre de blocs voisins en x et en y pris en compte par le masque M1. On note dans la suite {x'} l'image agrandie en fonction de la taille du filtre appliqué.
Soit un masque Mi dont la matrice est de taille (2n-ι +1 )x ( 2n-ι+1 ) blocs : il est défini pour atteindre ni blocs voisins de chaque côté du bloc à trier. On doit donc agrandir l'image de rπ fois la taille d'un bloc dans toutes les directions. On note tx= - et ty= — les dimensions en x, respectivement en y
U V d'un bloc de l'image.
Au final l'image agrandie {x'} aura donc une taille égale à (n+2.ni.tx).(m+2.ni.tv) pixels.
Dans un exemple, on prend un masque de taille 3x3 blocs, ce qui correspond à un bon compromis entre les résultats obtenus sur la qualité de la perception visuelle de l'image et le temps de calcul supplémentaire. La forme matricielle la plus générale de ce masque est donnée par : al ai
M1 = al α8 a.9
Où ai , a2,...a9 sont des entiers positifs ou négatifs.
On peut par exemple retenir des coefficients de valeurs 0 ou 1 , selon que l'on veut prendre en compte tous les blocs voisins, ou encore les blocs voisins pris selon les diagonales, ou selon les verticales et horizontales par rapport au bloc sur lequel il est centré.
Avec un masque de dimension 3x3, l'image agrandie permettant l'application du masque M1 sur les blocs en bord d'image {x}, a donc pour dimensions : (n+2tx).(m+2ty) pixels : l'agrandissement effectué est de la taille d'un bloc dans toutes les directions, comme représenté sur la figure 8.
Soit donc une image délivrée par un senseur. On découpe cette image en uxv blocs de taille tx et ty. Si nécessaire, on peut agrandir l'image comme vu en relation avec la figure 7, pour obtenir un nombre entier de blocs en x et en y.
Pour simplifier, on suppose que la taille nx m de l'image permet d'obtenir un nombre entier de blocs de taille txxty.
Soit donc {x} cette image à traiter. Une première étape comprend le calcul de l'image agrandie {x1}, pour permettre l'application du masque Mi de définition du voisinage, pour l'application du filtrage linéaire. On a pris dans l'exemple un masque de taille 3x3 blocs. L'image agrandie {x'} comprend ainsi (u+2)x (v+2) blocs Br avec r= 1 à (u+2)x (v+2), que l'on peut encore écrire Br=Bij, avec i=1 à u+2 ; j=1 à v+2 dans le repère x'o'y' (Figure 8). Dans ce repère, les blocs By de l'image à traiter {x} sont ceux donnés par i=2 à u+1 , et j=2 à v+1.
L'algorithme NAC produit pour les uxv blocs By de l'image réelle à traiter {x}, uxv tables de correspondance LUTij, une par bloc By. Les blocs supplémentaires contenus dans l'image {x'} sont utilisés dans l'algorithme NAC, dans la définition de la zone d'application du filtrage linéaire, par application du masque Mi pour les blocs en bord d'image. La zone ZL d'application du filtrage linéaire, centrée sur le bloc By considérée est donc de dimension 3 x3 blocs. Dans un exemple, on définit Mi comme suit :
Figure imgf000014_0001
ce qui revient alors à intégrer dans la zone d'image ZL les deux blocs voisins selon les y et les deux blocs voisins selon les x par rapport au bloc à traiter comme illustré sur la figure 9. Si on applique ce masque Mi sur l'image, centré sur le bloc Br=BUJ de l'image à traiter {x}, où i identifie la position relativement à O'x' dans le découpage de l'image {x'}, (i=2 à u+1 ) et j la position relativement à O'y' (j=2 à v+1 ) comme représenté sur la figure 8, la zone d'image ZL sélectionnée comprend les blocs suivants B1 ^1, Bt_x t] ,B^,Bι+lJ ,BιJ+ι.
On notera que si B1J est un bloc en bord d'image {x}, la zone ZL comprend des blocs de l'image agrandie {x'}.
Cette zone ZL est représentée sur la figure 9. En pratique, on peut envisager différents modes d'application du filtrage linéaire dans les étapes de production des tables de correspondantes de l'algorithme NAC.
On peut notamment, appliquer un filtrage linéaire au niveau du traitement des pixels, dans l'étape de calcul de l'histogramme, au niveau des histogrammes, dans l'étape de détermination des niveaux minimum ou maximum, ou au niveau de l'analyse des histogrammes et histogrammes cumulés, dans l'étape de détermination des paramètres de production de la table de correspondance : gains GL, GS, seuils min et max, offsets....
Dans un premier exemple, le filtrage linéaire peut être effectué dans l'algorithme au niveau du calcul de l'histogramme. Dans cette mise en œuvre, on considère une zone d'image ZL comprenant le bloc à traiter et des blocs voisins, sélectionnés par le masque Mi .
Dans ce cas, le filtrage linéaire revient à linéariser l'histogramme du bloc Bij/elativement aux histogrammes des autres blocs de la zone ZL
L'algorithme de traitement pourra par exemple comprendre les étapes suivantes :
* pour chaque bloc de l'image agrandie {x1} :
- une étape de calcul de l'histogramme ; * puis pour chaque bloc By de l'image à traiter {x} :
- une étape d'application du masque Mi du filtre linéaire, pour sélectionner la zone d'image ZL ;
- une étape de filtrage linéaire, par calcul d'un histogramme du bloc Bij à partir des histogrammes des blocs de la zone d'image ZL; - une étape de calcul de l'histogramme cumulé associé;
- une étape de détermination de la table de correspondance LUTij associée au bloc Bij à partir de ces histogrammes.
L'image de sortie {y} est obtenue en appliquant les uxv tables LUTij ainsi produites sur les uxv blocs Bij de l'image à traiter {x}.
Dans un deuxième exemple, le filtrage linéaire peut être effectué dans l'algorithme au niveau de la détermination du niveau de gris minimum et du niveau de gris maximum de l'histogramme. Dans cette mise en œuvre, pour un bloc donné Bij, on considère l'histogramme de ce bloc et ceux des blocs voisins de la zone Z- sélectionnée par le masque Mi, pour prendre comme niveau de gris minimum, le minimum des niveaux de gris minimums trouvés sur la zone ZL et comme niveau de gris maximum, le maximum des niveaux de gris maximums trouvés sur la zone ZL.
L'algorithme de traitement NAC pourra par exemple appliquer les étapes de traitement suivantes : * pour chacun des blocs By de l'image agrandie {x1} :
- une étape de calcul de l'histogramme et de l'histogramme cumulé en fonction des dimensions du masque Mi de sélection de la zone ZL - une étape de détermination des niveaux de gris minimum et maximum dans chacun de ces histogrammes des blocs de l'image;
* puis pour chacun des blocs By de l'image à traiter {x} :
- une étape d'application du masque Mi de voisinage, le masque étant centré sur le bloc By à traiter, pour sélectionner la zone ZL de filtrage linéaire;
- une étape de filtrage linéaire, par exemple par sélection du minimum des niveaux minimums et du maximum des niveaux maximums des blocs de la zone ZL ainsi sélectionnée, à appliquer comme niveaux minimum et maximum sur le bloc By considéré; - une étape de production d'une table de correspondance associée LUTy au bloc By considéré, en utilisant dans les paramètres de production de cette table, les dits niveaux minimum et maximum ainsi sélectionnés.
L'image de sortie {y} est obtenue en appliquant les uxv tables LUTy ainsi produites sur les uxv blocs Bjj de l'image {x} à traiter.
Selon un troisième exemple, le filtrage linéaire peut être effectué dans l'algorithme NAC au niveau de la détermination des paramètres de production de la table de correspondance en fonction des paramètres des blocs voisins ainsi sélectionnés. Il s'agit alors de faire en sorte que le bloc considéré produise le même type de courbe, comme une courbe linéaire, en S, ou mixte, avec des paramètres de calcul : gain, offset ...uniformisés par rapport aux blocs voisins définis dans la zone ZL.
L'algorithme de traitement NAC pourra par exemple appliquer les étapes de traitement suivantes :
* pour chacun des blocs By de l'image agrandie {x'} :
- une étape de calcul de l'histogramme;
- une étape de calcul de l'histogramme cumulé, - une étape d'analyse des histogrammes et des histogrammes cumulés, pour définir les paramètres de production (gains Q_, Gs, seuils, offset...) de la table de correspondance;
* puis, pour chaque bloc B1 1 de l'image {x} à traiter :
- une étape d'application du masque M du filtrage linéaire, centré sur le bloc Bjj à traiter, pour définir la zone Z- associée à ce bloc.
- une étape de filtrage linéaire des paramètres de production des tables de correspondances des blocs de la zone ZL ainsi sélectionnée, pour produire une table de correspondance LUTij.
L'image de sortie {y} est obtenue en appliquant les uxv tables LUTij ainsi produites sur les uxv blocs B1J de l'image à traiter {x}.
Dans un exemple d'uniformisation possible des paramètres sur la zone ZL, les pentes GL et/ou GS seront les pentes moyennes calculées sur les blocs de la zone ZL.
En pratique l'étape de filtrage linéaire appliquée dans l'algorithme NAC de production des tables de correspondance utilise des techniques classiques, bien connues de l'homme du métier, qui ne posent pas de problèmes particuliers de mise en œuvre pratique. Elles ne seront pas détaillées plus avant.
Au final, on doit obtenir u x v tables de correspondance, une par bloc de l'image à traiter {x}. L'application de ces tables donne une image {y}, dans laquelle l'effet de damier est atténué. En pratique, on a pu constater une amélioration de l'image, qui se traduit par un effet de damier "élargi", en fonction de la taille de la zone de corrélation.
Selon un mode de réalisation préféré de l'invention, on applique le filtrage linéaire aux tables de correspondances produites par l'algorithme NAC. Ce filtrage est donc appliqué à la suite de l'algorithme NAC, au moyen d'un filtre matriciel M2, sur les tables de correspondance calculées pour l'image agrandie {x'}, l'agrandissement étant fonction de la dimension du filtre appliqué.
On applique de préférence un filtre de taille 3x3 blocs, ce qui est un compromis acceptable entre le résultat du filtrage et le temps de calcul nécessaire. Il est bien sûr possible de prendre un filtre de taille supérieure. Il définit une zone d'application du filtrage linéaire ZL de dimension 3x3 blocs, centrée sur le bloc Bjj considérée.
Soit une image {x} à traiter ;
Soit un filtre linéaire M2 de taille 3x3 blocs, d'expression générale :
M2= où ak, k=1 à 9, sont des entiers positifs ou
Figure imgf000018_0001
négatifs ;
Soit l'image agrandie {x'} comme vu précédemment, suivant la taille 3x3 du filtre M2 (figure 7).
Un procédé de normalisation et d'amélioration du contraste selo n ce mode de réalisation de l'invention comprend par exemple les étapes suivantes :
* pour chaque bloc By de l'image agrandie {x'} :
- une étape d'application de l'algorithme NAC pour obtenir une table de correspondance LUTij.
* puis pour chaque bloc By de l'image à traiter {x} :
* - une étape de filtrage linéaire selon l'invention, comprenant l'application de la matrice M2 centrée sur le bloc considéré pour sélectionner la zone d'image ZL, et un filtrage linéaire des tables de correspondance de cette zone ZL pour obtenir une table de correspondance linéarisée LUTIjj.
En pratique, cette table linéarisée est obtenue en appliquant le calcul suivant pour chacun des L=2P niveaux de gris de la dynamique de codage d'entrée de la table :
LUn1 } égal à :
Figure imgf000018_0002
On peut optimiser le temps de calcul en choisissant un filtre dont certains coefficients ak sont nuls.
Par exemple, on peut choisir le filtre défini par M2= La zone ZL
Figure imgf000019_0001
correspondante associée au bloc Bjj est illustrée sur la figure 9.
Ce filtrage linéaire appliqué aux tables de correspondance permet l'obtention d'une image {y} dans laquelle on a une bien meilleure cohérence entre les blocs que dans le premier mode de réalisation de l'invention : l'effet de damier a disparu. On obtient cependant une image bruitée, le filtrage linéaire gommant un peu les effets du traitement de l'image par blocs.
Dans un mode de réalisation perfectionné du filtrage des tables de correspondance, on applique un filtrage bilinéaire, qui permet de coupler un meilleur procédé de calcul de l'histogramme à une interpolation bilinéaire qui prend en compte une notion de distance. En pratique, un tel filtrage bilinéaire permet d'améliorer la cohérence entre les blocs, en gommant les transitions entre les blocs. Selon ce procédé, on couple une définition de plusieurs zones d'acquisition plus larges que le bloc, qui se chevauchent, à une interpolation bilinéaire des tables de correspondance calculées sur ces zones d'acquisition, applicable sur chaque pixel du bloc, en fonction d'une mesure de sa distance à chacune des zones d'acquisition.
Un procédé selon ce mode de réalisation préféré comprend ainsi pour chaque bloc de l'image à traiter, une étape de construction de la table de correspondance de chaque zone d'acquisition, et une étape d'interpolation bilinéaire des tables de correspondance, pour construire la table de correspondance LUTij applicable aux pixels du bloc By, en prenant en compte la position du pixel dans le bloc Bjj :
- L'étape de construction des tables de correspondance. Il s'agit dans cette étape de définir pour chaque bloc Ejj, une pluralité de zones d'acquisition ZA, plus larges que le bloc, qui se chevauchent. De préférence, une zone d'acquisition est plus large d'un nombre entier de blocs. Dans l'exemple représenté sur la figure 10, une zone d'acquisition couvre 2x2=quatre blocs de l'image, sélectionnés par application d'un masque IVb égal à : M3= f J jj.
On agrandit donc l'image à traiter {x1}, pour permettre l'application du masque sur les blocs de l'image {x} situés au bord : dans l'exemple d'un masque M3 de 2 x2 blocs, l'agrandissement est de la taille d'un bloc.
Pour chaque bloc By de l'image {x} à traiter, on applique ce masque M3, en le positionnant tour à tour selon les quatre positions possibles du bloc By dans ce masque. Pour chaque position du bloc dans le masque, on obtient une zone d'acquisition correspondante, soit dans l'exemple illustré sur la figure 10 : ZA 1 (bloc By dans le coin inférieur droit) ZA2 (bloc B,j dans le coin inférieur gauche), ZA3 (bloc B,j dans le coin supérieur droit) et ZΛ4 (bloc By dans le coin supérieur gauche). On obtient ainsi un chevauchement des zones d'acquisition d'histogramme pour le bloc considéré : les pixels d'un bloc sont ainsi pris en compte plusieurs fois.
Un masque de taille 2 x2 est un bon compromis entre le temps de calcul nécessaire et la qualité visuelle de l'image de sortie.
On notera que si le masque est de taille supérieure fxg, on doit considérer f xg zones d'acquisition pour chaque bloc de l'image {x}, correspondant aux f xg positions possibles du bloc dans ce masque.
Sur chaque zone d'acquisition ZAi associée au bloc By de l'image {x}, on calcule les histogrammes Hist(ZAi) et Histc(ZAi), et on construit la table de correspondance associée LUTj.
- L'étape d'interpolation bilinéaire des tables de correspondance, pour construire la table de correspondance LUTy applicable aux pixels du bloc Bjj, en prenant en compte la position du pixel dans le bloc By. On peut décrire cette étape de la façon suivante :
Soit p(x,y) un pixel du bloc By. x est son abscisse et y son ordonnée relativement au référentiel xoy du bloc, comme représenté sur la figure 11.
On note : tx = — etty = — , les dimensions en x et en y d'un bloc de u v l'image.
Dans l'exemple le pixel en haut à gauche du bloc Bjj a ainsi les coordonnées (0,0), le pixel en haut à droite, les coordonnées (tx,O), le pixel en bas à gauche, les coordonnées (ty,O), et le pixel en bas à droite à les coordonnées (tx,ty).
On impose comme contrai nte que pour le point p(0,0), la table de correspondance qui s'applique est celle de la zone d'acquisition ZA1 ; pour le point p(tx,O), la table de correspondance qui s'applique est celle de la zone d'acquisition ZA2 ; pour le point p(O,ty), la table de correspondance qui s'applique est celle de la zone d'acquisition ZA3 ; et pour le point p(tx,ty), la table de correspondance qui s'applique est celle de la zone d'acquisition.
Pour les autres points, on a un mélange des différentes tables dans une proportion qui est fonction de la distance du pixel considéré aux différentes zones d'acquisition.
La mesure de distance doit être telle que la somme des distances du pixel aux différentes zones d'acquisition est égale à 1.
Dans un exemple, pour un masque de taille 2 x2, on mesure la distance du pixel(x,y) à la zone ZAi comme suit :
Di(x,y)= (ft~x)'(θ'~ :y) . Ainsi, plus le pixel considéré est à l'intérieur tx.ty du bloc vers la gauche et vers le bas, moins la contribution de la zone ZA1 sera importante.
De même on a :
D2(x,y)= {x)-{ty ~ y) pour la distance à la zone ZA2 tx.ty
D3(x,y)= {tx ~x)-{y) pour la distance à la zone ZA3, tx.ty
D4(x,y)= ww pour la distance à la zone ZA4, t txx..ttyy
Et on a bien ∑D, =I .
La table de correspondance en chaque point p(x,y) du bloc s'écrit de manière générale : LUT(x,y)= LUT1. Di(x,y) + LUT2. D2(x,y) + LUT3 D3(x,y) + LUT4. D4(x,y) .
soit, dans l'exemple de mesure de distance retenue : LUT(χ ) = LUTι (tx-x)- (ty - y) | LUT2Jx) - (ty - y) | LUT3(tx - x) - (y) | LUT4(x) - (y) tx.ty tx.ty txXy txty
Au niveau de gris du pixel p(x,y) considéré, LUT(x,y) fait correspondre un niveau de gris de sortie issu de la moyenne des niveaux de gris de sortie des différentes LUTi pondérée en fonction d'une mesure de la distance du pixel aux différentes zones d'acquisition d'histogramme.
L'application d'un tel filtrage bilinéaire selon l'invention, fait quasiment disparaître la frontière entre deux blocs consécutifs car les pixels intérieurs passent progressivement d'une table à l'autre : on rentre progressivement à l'intérieur de chaque bloc, des informations issues du voisinage de ce bloc. Au final, l'image de sortie {y} offre une bonne qualité visuelle.
En pratique, la taille de la zone d'acquisition peut être prise plus large que dans l'exemple donné à titre illustratif ci-dessus.
Selon l'invention, on peut limiter l'introduction des informations issues du voisinage, en délimitant une zone d'interpolation limitée ZB, dans le bloc considéré, correspondant au bord, comme représenté sur la figure 12.
Dans la zone intérieure Zi du bloc, on n'a pas d'interpolation. La table de correspondance sera celle calculée sur le bloc, par application de l'algorithme NAC sur ce bloc. Pour la bordure, on applique le filtrage bilinéaire décrit ci-dessus. Dans un exemple, avec des blocs de 30x32 pixels, on prend une bordure de largeur ΔL de quatre pixels.
Ainsi, l'utilisation d'un filtrage bilinéaire à interpolation partielle se traduit pour les pixels de la zone intérieure Z du bloc, par l'application de la table calculée sur le bloc par l'algorithme NAC ; pour les pixels de la zone d'interpolation partielle ZB, par l'application de l'étape de filtrage bilinéaire.
Dans l'image de sortie {y}, on obtient quasiment la disparition des frontières comme précédemment, mais les performances de qualité visuelle à l'intérieur de chaque bloc dues à l'application de l'algorithme NAC sur le bloc sont conservées.
En conclusion, l'application d'un procédé de normalisation et d'augmentation du contraste selon l'invention permet de mieux visualiser des détails dans l'image, du fait de la pluralité de tables de correspondance correspondant à la pluralité des blocs issus du découpage de l'image à traiter.
On obtient un rehaussement du bruit contenu dans l'image, en particulier le bruit des zones uniformes (champ, végétation, ciel..) est amplifié.
Le système de traitement des images du senseur appliquant un procédé de traitement de normalisation et augmentation du contraste selon l'invention, montre un durcissement de l'algorithme vis à vis des nuisances lumineuses éventuelles à proximité du senseur, qui se traduisent par des effets d'éblouissement sur l'image produite par le senseur.
De telles nuisances peuvent être par exemple, une attaque laser, un départ de missile, une torchère, un puit de pétrole en feu...., l'allumage d'un briquet proche du senseur.
Un système de traitement selon l'invention permet de réduire une zone d'éblouissement de façon très significative sur l'image visualisée ou enregistrée, après réduction de dynamique, permettant de distinguer des détails proches de la source de cet éblouissement, par rapport aux algorithmes classiques. En d'autres termes, avec un système de traitement selon l'invention, la présence de zones ponctuelles et extrêmes dans l'image perturbe uniquement la localité de l'agression et non pas l'image toute entière.

Claims

REVENDICATIONS
1. Système de traitement d'images pour réduire les effets de nuisances lumineuses à proximité d'un senseur infrarouge fournissant les dites images, dans lesquelles le niveau de chaque pixel est codé sur p bits, à un support de visualisation ou d'enregistrement dans lequel le niveau de chaque pixel est codé sur q bits, avec q<p, caractérisé en ce qu'il comprend des moyens de calcul pour appliquer un procédé de normalisation et d'augmentation du contraste à chaque image {x} délivrée par le senseur, ledit procédé comprenant
-un découpage de ladite image à traiter {x} en blocs (By), -l'application d'un algorithme (NAC) sur ladite image {x} pour produire une table de correspondance de niveaux (LUT), ledit algorithme étant appliqué sur chaque bloc (By), pour produire une table de correspondance de niveaux par bloc.
2. Système de traitement selon la revendication 1 , caractérisé en ce que ledit procédé comprend une étape préalable d'agrandissement de l'image délivrée par le senseur pour obtenir un découpage de l'image selon un nombre entier de blocs de taille prédéterminée.
3. Système de traitement selon la revendication 1 ou 2, caractérisé en que ledit procédé comprend pour chaque bloc de l'image {x}, l'application d'un filtrage linéaire sur une zone (ZL) comprenant le bloc considéré et des blocs voisins.
4. Système de traitement selon la revendication 3, caractérisé en ce que ladite zone (ZL) d'application du filtrage linéaire est de dimension 3 x3 blocs, centrée sur le bloc considéré.
5. Système de traitement selon la revendication 3 ou 4, caractérisé en ce que ledit filtrage linéaire est appliqué aux tables de correspondance (L-UTy) produites par ledit algorithme pour chacun des blocs de ladite zone (ZL).
6. Système de traitement selon l'une quelconque des revendications 3 à 5, caractérisé en ce que ledit procédé comprend une étape d'agrandissement de l'image {x} à traiter, ledit agrandissement étant réalisé par duplication d'un nombre entier de blocs, ledit nombre étant fonction de la dimension de la zone (ZL) d'application du filtrage linéaire.
7. Système de traitement selon la revendication 1 ou 2, caractérisé en ce que ledit procédé comprend pour chaque bloc de l'image {x}, l'application d'un filtrage bilinéaire.
8. Système de traitement selon la revendication 7, caractérisé en ce que pour chaque bloc de l'image à traiter, l'algorithme (NAC) est appliqué sur une pluralité de zones d'acquisition (ZAi) plus larges que le bloc, et qui se chevauchent, pour fournir en sortie une table de correspondance par zone d'acquisition (ZAi).
9. Système de traitement selon la revendication 8, caractérisé en ce que ledit procédé comprend une étape supplémentaire de production de la table de correspondance du bloc considéré, ladite étape supplémentaire comprenant le calcul, pour chaque pixel du bloc, d'une somme pondérée des niveaux de gris fournis en sortie par chacune des tables, pour le niveau de gris du pixel considéré, ladite pondération étant fonction d'une mesure de distance du pixel à chacune desdites zones d'acquisition.
10. Système de traitement selon la revendication 8, caractérisé en ce que le filtrage bilinéaire est appliqué sur une zone délimitée (ZB) du bloc, et en ce qu'il comprend une étape supplémentaire de production de la table de correspondance du bloc considéré, ladite étape supplémentaire comprenant le calcul, pour chaque pixel d'une zone délimité (ZB) du bloc, d'une somme pondérée des niveaux de gris fournis en sortie par chacune des tables, pour le niveau de gris du pixel considéré, ladite pondération étant fonction d'une mesure de distance du pixel à chacune desdites zones d'acquisition.
1 1. Système de traitement selon l'une quelconque des revendications 8 à 10, caractérisé en ce qu'une zone d'acquisition couvre 2x2 blocs.
12. Système de traitement selon l'une quelconque des revendications 7 à 11 , caractérisé en ce qu'il comprend une étape d'agrandissement de l'image à traiter, ledit agrandissement étant réalisé par duplication d'un nombre entier de blocs, ledit nombre étant fonction de la dimension de la zone d'acquisition (ZAi).
PCT/EP2005/054345 2004-09-03 2005-09-02 Procede de normalisation et d'amelioration de contraste dans une image delivree par un senseur WO2006024670A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0409361A FR2875041B1 (fr) 2004-09-03 2004-09-03 Procede de normalisation et d'amelioration de contraste dans une image delivree par un senseur
FR0409361 2004-09-03

Publications (1)

Publication Number Publication Date
WO2006024670A1 true WO2006024670A1 (fr) 2006-03-09

Family

ID=34950853

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2005/054345 WO2006024670A1 (fr) 2004-09-03 2005-09-02 Procede de normalisation et d'amelioration de contraste dans une image delivree par un senseur

Country Status (2)

Country Link
FR (1) FR2875041B1 (fr)
WO (1) WO2006024670A1 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201002632D0 (en) 2010-02-16 2010-03-31 Im Sense Ltd Method and system for generating enhanced images
KR101594381B1 (ko) * 2011-12-29 2016-02-16 인텔 코포레이션 가중된 룩―업 테이블의 사용에 의한 로컬 콘트라스트 보상의 간소화

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001026054A2 (fr) * 1999-10-01 2001-04-12 Microsoft Corporation Egalisation d'histogramme a adaptation locale

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001026054A2 (fr) * 1999-10-01 2001-04-12 Microsoft Corporation Egalisation d'histogramme a adaptation locale

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KIM J-Y ET AL: "AN ADVANCED CONTRAST ENHANCEMENT USING PARTIALLY OVERLAPPED SUB-BLOCK HISTOGRAM EQUALIZATION", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, IEEE INC. NEW YORK, US, vol. 11, no. 4, April 2001 (2001-04-01), pages 475 - 484, XP001093567, ISSN: 1051-8215 *

Also Published As

Publication number Publication date
FR2875041B1 (fr) 2007-01-26
FR2875041A1 (fr) 2006-03-10

Similar Documents

Publication Publication Date Title
EP1410331B1 (fr) Procede et systeme pour modifier une image numerique en prenant en compte son bruit
EP3221841B1 (fr) Procede et dispositif de filtrage adaptatif temps reel d&#39;images de disparite ou de profondeur bruitees
EP3114831B1 (fr) Débruitage vidéo optimisé pour système multicapteur hétérogène
WO2009022083A2 (fr) Procede de traitement d&#39;objet numerique et systeme associe
EP1523731A1 (fr) Procede de traitement d&#39;une image acquise au moyen d&#39;un guide compose d&#39;une pluralite de fibres optiques
FR2754058A1 (fr) Procede de detection de defauts de surface sur une surface texturee
EP0492724A1 (fr) Procédé d&#39;extraction de mouvement comprenant la formation d&#39;images de différences et un filtrage tridimensionnel
FR2905188A1 (fr) Procede et dispositif de conversion de densites d&#39;image
EP0776136A1 (fr) Procédé de calcul d&#39;une clé de découpe d&#39;un sujet évoluant devant un fond coloré et dispositif mettant en oeuvre ce procédé
EP3608835B1 (fr) Procede de traitement d&#39;images d&#39;empreintes
WO2006024670A1 (fr) Procede de normalisation et d&#39;amelioration de contraste dans une image delivree par un senseur
FR2706211A1 (fr) Procédé de traitement d&#39;images routières et de suivi d&#39;obstacles, et dispositif pour sa mise en Óoeuvre.
FR2924514A1 (fr) Correction de bruit d&#39;image.
EP3579186B1 (fr) Procede et systeme pour la gestion d&#39;une parcelle agricole
EP0843867B1 (fr) Procede de traitement d&#39;une sequence source d&#39;images numeriques bruitees
EP1544793B1 (fr) Procédé et système d&#39;amélioration de la qualité d&#39;images numériques surexposées
WO2019166720A1 (fr) Détection dynamique de lumière parasite dans une image numérique
Huang et al. Single image dehazing via color balancing and quad-decomposition atmospheric light estimation
EP1402474B1 (fr) Procede de zoom
FR2880718A1 (fr) Procede et dispositif de reduction des artefacts d&#39;une image numerique
Upadhyay et al. Real time visibility improvement for underwater video
FR2953050A1 (fr) Procede et dispositif de detection des points de courbure dans une image d&#39;entree
FR3143164A1 (fr) Procédé et système de détection d’objets dans une scène maritime ou terrestre.
EP4066204A1 (fr) Procédé et dispositif de traitement d&#39;images
FR2986641A1 (fr) Procede de detection d&#39;un objet et systeme correspondant

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase