Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
IMAGE RESTORATION METHOD
Document Type and Number:
WIPO Patent Application WO/2019/081587
Kind Code:
A1
Abstract:
The invention relates to a method for restoring images from a sequence of images, comprising, when applied to a first image from the image sequence: estimating (41) an information item representative of global motion of a background of the first image with respect to a second image; compensating (42) for the global background motion in the second image, so as to obtain a registered version of the second image, known as the registered second image; obtaining (43) a contour of an object in the first image by applying a segmentation method using the registered second image; using the contour of the object thus obtained to estimate (44) an information item representative of global motion of the object; and applying (45) an image restoration method to the first image using the estimated information items representative of the global background motion and of the global motion of the object.

Inventors:
RIAZ ANUM (FR)
WOISELLE ARNAUD (FR)
BUDIN JOËL (FR)
Application Number:
PCT/EP2018/079174
Publication Date:
May 02, 2019
Filing Date:
October 24, 2018
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SAFRAN ELECTRONICS & DEFENSE (FR)
International Classes:
G06T5/00; G06T7/149
Foreign References:
US8588551B22013-11-19
Other References:
MATSUSHITA Y ET AL: "Full-Frame Video Stabilization", PROCEEDINGS / 2005 IEEE COMPUTER SOCIETY CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION, CVPR 2005 : [20 - 25 JUNE 2005, SAN DIEGO, CA], IEEE, PISCATAWAY, NJ, USA, vol. 1, 20 June 2005 (2005-06-20), pages 50 - 57, XP010817414, ISBN: 978-0-7695-2372-9, DOI: 10.1109/CVPR.2005.166
RUXIN WANG ET AL: "Recent Progress in Image Deblurring", 24 September 2014 (2014-09-24), XP055485738, Retrieved from the Internet [retrieved on 20180619]
A. HOOVER: "Lecture notes: Active contours", 22 August 2017 (2017-08-22), XP055486620, Retrieved from the Internet [retrieved on 20180621]
STEVE MANN; ROSALING W. PICARD: "video Orbits of the Projective Group : a simple approach to featureless estimation of parameters", IEEE TR. ON IMAGE PROCESSING, vol. 6, no. 9, September 1997 (1997-09-01), XP011026210
MICHAEL KASS; ANDREW WITKIN; DEMETRI TERZOPOULOS: "International Journal of Computer Vision", 1987, KLUWER ACADEMIC PUBLISHERS, article "snakes : Active Contour Models", pages: 321 - 331
Attorney, Agent or Firm:
LE GUEN MAILLET 728 (FR)
Download PDF:
Claims:
REVENDICATIONS

1) Procédé de restauration d'images d'une séquence d'images, caractérisé en ce que le procédé comprend lorsqu'il est appliqué à une première image de la séquence d'images :

estimer (41) une information représentative d'un mouvement global d'un arrière- plan de la première image par rapport à une deuxième image ;

compenser (42) le mouvement global de Γ arrière-plan dans la deuxième image en utilisant ladite information représentative du mouvement global de l'arrière-plan afin d'obtenir une version recalée de la deuxième image, dite deuxième image recalée ; obtenir (43) un contour d'un objet de la première image en appliquant un procédé de segmentation,

ledit procédé de segmentation étant itératif et comprenant, lors d'une itération, une modification (435) d'un contour de l'objet dans la première image obtenue lors d'une itération précédente dudit procédé de segmentation, dit contour précédent, de sorte à obtenir un contour de l'objet dans la première image, dit contour courant, tel qu'un coût du contour courant soit inférieur à un coût du contour précédent, un contour final de l'objet étant obtenu lorsqu'une condition prédéfinie d'arrêt dudit procédé de segmentation est remplie (433),

le coût d'un contour de l'objet dans la première image étant une somme

(4323) entre une première valeur représentative d'une énergie interne audit contour et une seconde valeur représentative d'une énergie externe audit contour, l'énergie externe audit contour étant fonction d'au moins une énergie dépendante d'un mouvement global de l'objet entre la première image et la seconde image recalée et d'une énergie, dite énergie de contour, correspondant à une somme de valeurs de modules de gradient calculées pour des pixels d'un deuxième ensemble de pixels appartenant au contour courant de l'objet ;

une valeur représentative de l'énergie dépendante d'un mouvement global de l'objet entre la première image et la seconde image étant calculée sous forme d'une somme de différences entre des valeurs représentatives de pixels d'un premier ensemble de pixels de la première image appartenant au contour courant et des valeurs représentatives de pixels situés aux mêmes positions spatiales que les pixels du premier ensemble de pixels dans la seconde image ; utiliser le contour de l'objet ainsi obtenu pour estimer (44) une information représentative d'un mouvement global de l'objet ; et,

appliquer (45) à la première image une méthode de restauration d'images permettant de remplacer, pour au moins chaque pixel de la première image correspondant à l'objet, chaque composante dudit pixel par une composante calculée à en utilisant une composante d'un pixel d'au moins la deuxième image mis en correspondance avec ledit pixel de la première image en utilisant les informations représentatives du mouvement global de l'arrière-plan et du mouvement global de l'objet estimées.

2) Procédé selon la revendication 1 , caractérisé en ce que pour calculer la valeur représentative de l'énergie interne au contour courant, une dérivée première locale et une dérivée seconde locale du contour sont calculées pour des pixels d'un troisième ensemble de pixels de l'image courante appartenant au contour courant de l'objet, ladite valeur représentative de l'énergie interne étant fonction desdites dérivées calculées.

3) Procédé selon la revendication 2, caractérisé en ce que les premier, deuxième et troisième ensembles de pixels sont identiques, et chaque ensemble comprend au moins une sous-partie des pixels de l'image courante appartenant au contour courant de l'objet.

4) Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que lors d'une première itération dudit procédé, un contour initial de l'objet dans l'image courante est obtenu (431) à partir d'un contour final obtenu lors d'une application du procédé de segmentation à l'image de référence ou d'un contour spécifié par un opérateur dans l'image de référence.

5) Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que lors de chaque estimation d'une information représentative d'un mouvement global, une information représentative de la forme et de la position de l'objet est obtenue, ladite information représentative de la forme et de la position de l'objet étant utilisée pour masquer des pixels ne devant pas être pris en compte dans ladite estimation. 6) Procédé selon la revendication 5, caractérisé en ce que suite à l'estimation de ladite information représentative du mouvement global de l'objet, dite première information, un filtrage est appliqué à ladite première information afin de garantir des variations régulières du mouvement de l'objet entre deux images successives de la séquence d'images, ledit filtrage comprenant les étapes suivantes :

déterminer (800) une première matrice permettant d'estimer un mouvement de l'objet dans un référentiel centré sur un barycentre de l'objet dans la première image recalée et une deuxième matrice permettant d'estimer un mouvement de l'objet dans un référentiel centré sur un barycentre de l'objet dans la deuxième image recalée ;

utiliser la première et la deuxième matrices pour calculer (801) une information représentative du mouvement de l'objet dans ledit référentiel, dite seconde information, à partir de ladite première information ;

utiliser la seconde information pour obtenir (802) une troisième matrice représentative de composantes de translation du mouvement de l'objet ;

utiliser la seconde information et la troisième matrice pour obtenir (803) une quatrième matrice représentative de composantes du mouvement de l'objet autres que les composantes de translation ;

obtenir (804) une version filtrée de la troisième matrice, dite troisième matrice filtrée courante, en calculant une somme pondérée entre la troisième matrice et une troisième matrice filtrée précédente obtenue lors de la mise en œuvre dudit procédé sur la deuxième image ;

obtenir (805) une version filtrée de la quatrième matrice, dite quatrième matrice filtrée courante, en calculant une somme pondérée entre la quatrième matrice et une quatrième matrice filtrée précédente obtenue lors de la mise en œuvre du procédé sur la deuxième image ; et,

obtenir une information représentative d'un mouvement global filtré de l'objet en utilisant la première et la deuxième matrices, la troisième matrice filtrée courante et la quatrième matrice filtrée courante. 7) Procédé selon la revendication 6, caractérisé en ce que la seconde information est calculée de la manière suivante :

dH bjet = v-i dHObjet v^

où Vk est la première matrice, Vk_ est la deuxième matrice, dH°bjetla première information et dH°bjet la seconde information. 8) Procédé selon la revendication 7, caractérisé en ce que la troisième matrice est calculée de la manière suivante :

Hl = ApproxT(Vk 1. dH°bjet. Vk_1)

où Hk est la troisième matrice et ApproxTÇX) est une approximation en translation d'une matrice homographique X.

9) Procédé selon la revendication 8, caractérisé en ce que la quatrième matrice est calculée de la manière suivante :

où Hk est la quatrième matrice.

10) Procédé selon la revendication 9, caractérisé en ce que la troisième matrice filtrée courante est calculée de la manière suivante :

Hk<PtU = a. H FtU + - «)Hk<

où Hk est la troisième matrice filtrée courante, Hk_1 est la troisième matrice filtrée précédente obtenue lors de la mise en œuvre dudit procédé sur la deuxième image et a est une constante prédéfinie comprise entre « 0 » et « 1 ».

1 1) Procédé selon la revendication 10, caractérisé en ce que la quatrième matrice filtrée courante est calculée de la manière suivante :

Filt

ff£ = /? - / + (l - /?)H£

Filt

où Hk est la quatrième matrice filtrée courante, / est une matrice identité et β est une constante prédéfinie comprise entre « 0 » et « 1 ».

12) Procédé selon les revendications 10 et 1 1 , caractérisé en ce que l'information représentative d'un mouvement global filtré de l'objet est calculée de la manière suivante :

13) Dispositif de restauration d'images d'une séquence d'images, caractérisé en ce que le dispositif comprend lorsqu'il est appliqué à une première image de la séquence d'images : des moyens d'estimation pour estimer (41) une information représentative d'un mouvement global d'un arrière-plan de la première image par rapport à une deuxième image ;

des moyens de compensation de mouvement pour compenser (42) le mouvement global de l'arrière-plan dans la deuxième image en utilisant ladite information représentative du mouvement global de l'arrière-plan afin d'obtenir une version recalée de la deuxième image, dite deuxième image recalée ;

des moyens d'obtention de contours pour obtenir (43) un contour d'un objet de la première image en utilisant des moyens de segmentation,

lesdits moyens de segmentation comprenant :

des moyens de modification pour modifier (435) un contour de l'objet dans la première image obtenue lors d'une application précédente dudit procédé de segmentation, dit contour précédent, de sorte à obtenir un contour de l'objet dans la première image, dit contour courant, tel qu'un coût du contour courant soit inférieur à un coût du contour précédent, un contour final de l'objet étant obtenu lorsqu'une condition prédéfinie d'arrêt des modifications du contour est remplie (433), le coût d'un contour de l'objet dans la première image étant une somme (4323) entre une première valeur représentative d'une énergie interne audit contour et une seconde valeur représentative d'une énergie externe audit contour, l'énergie externe audit contour étant fonction d'au moins une énergie dépendante d'un mouvement global de l'objet entre la première image et la seconde image recalée et d'une énergie, dite énergie de contour, correspondant à une somme de valeurs de modules de gradient calculées pour des pixels d'un deuxième ensemble de pixels appartenant au contour courant de l'objet ; une valeur représentative de l'énergie dépendante d'un mouvement global de l'objet entre la première image et la seconde image étant calculée sous forme d'une somme de différences entre des valeurs représentatives de pixels d'un premier ensemble de pixels de la première image appartenant au contour courant et des valeurs représentatives de pixels situés aux mêmes positions spatiales que les pixels du premier ensemble de pixels dans la seconde image ;

des moyens d'estimation de mouvement utilisant le contour de l'objet ainsi obtenu pour estimer (44) une information représentative d'un mouvement global de l'objet ; et,

des moyens d'application d'une méthode de restauration d'image pour appliquer (45) à la première image une méthode de restauration d'images permettant de remplacer, pour au moins chaque pixel de la première image correspondant à l'objet, chaque composante dudit pixel par une composante calculée à en utilisant une composante d'un pixel d'au moins la deuxième image mis en correspondance avec ledit pixel de la première image en utilisant les informations représentatives du mouvement global de l'arrière-plan et du mouvement global de l'objet estimées.

14) Programme d'ordinateur, caractérisé en ce qu'il comprend des instructions pour mettre en œuvre, par un dispositif (52), le procédé selon l'une quelconque des revendications 1 à 12, lorsque ledit programme est exécuté par un processeur (521) dudit dispositif (52).

15) Moyens de stockage, caractérisés en ce qu'ils stockent un programme d'ordinateur comprenant des instructions pour mettre en œuvre, par un dispositif (52), le procédé selon l'une quelconque des revendications 1 à 12, lorsque ledit programme est exécuté par un processeur (521) dudit dispositif (52).

Description:
PROCEDE DE RESTAURATION D'IMAGES

L'invention concerne un procédé de restauration d'images d'une séquence d'images, et un dispositif mettant en œuvre ledit procédé.

Certaines applications utilisant des images ou des séquences d'images nécessitent une très haute qualité d'images. C'est le cas par exemple d'applications de surveillance où une faible qualité d'images peut entraîner de mauvaises interprétations d'une image et, par exemple, des déclenchements de fausses alarmes. La restauration d'images consiste à améliorer une qualité d'une image en lui appliquant diverses techniques de traitement d'images telles que des techniques de réduction ou de suppression de bruit, d'amélioration de contours, d'amélioration de contraste, ...

Une image d'une séquence d'images (i.e. d'une séquence vidéo), est un cas particulier d'image puisque cette image est généralement proche visuellement d'images temporellement voisines dans la séquence d'images. Un dispositif d'acquisition de séquences d'images, tel qu'une caméra vidéo, possède en effet généralement une fréquence d'acquisition d'images suffisamment élevée pour que des corrélations temporelles subsistent entre des images successives d'une séquence d'images. Utilisées à bon escient, ces corrélations temporelles peuvent permettre à une image de bénéficier d'améliorations apportées à une ou plusieurs images voisines grâce à des méthodes de restauration d'images. Toutefois, identifier des corrélations temporelles existant entre des images n'est pas toujours une tâche facile. C'est notamment le cas lorsqu'une séquence d'images représente au moins un objet en mouvement sur un fond lui-même en mouvement, le fond pouvant alors être considéré comme un objet. En effet, afin de pouvoir bénéficier efficacement des corrélations temporelles existant entre deux images, il est souhaitable de prendre en compte les mouvements de l'objet et les mouvements du fond. Des méthodes connues de restauration d'images comportant des objets en mouvement comprennent une phase d'analyse de mouvement. Cette phase d'analyse de mouvement permet de mettre en correspondance des pixels corrélés entre deux images. Une amélioration apportée à un premier pixel d'une première image peut alors bénéficier à un second pixel d'une seconde image corrélé avec le premier pixel. La phase d'analyse de mouvement utilise généralement des techniques de flot optique comprenant une estimation d'un champ dense de mouvement dans lequel chaque pixel (ou au moins un sous-ensemble de pixels) d'une image à restaurer est associé, par un vecteur de mouvement, à un pixel d'une image de référence par rapport à laquelle le mouvement est déterminé. Ces techniques de restauration d'images sont considérées comme insuffisamment fiables pour permettre une restauration d'images de qualité. De plus, une estimation d'un champ dense de mouvement a un coût calculatoire important. Un tel coût calculatoire n'est pas compatible avec certains systèmes embarqués ou portables susceptibles de mettre en œuvre des méthodes de restauration d'images, telles que des caméras vidéo, des jumelles numériques, des lunettes à réalité augmentée, ... On préfère donc en général remplacer, lors de la phase d'analyse de mouvement, les techniques d'estimation d'un champ dense de mouvement par des techniques d'analyse de mouvement ayant un coût calculatoire moins élevé, telle que les techniques d'estimation de mouvement global. Les techniques d'estimation de mouvement global sont particulièrement efficaces lorsqu'une hypothèse de stationnarité des scènes représentées par la séquence d'images est vérifiée.

Par ailleurs, suite à l'analyse de mouvement, une même méthode de restauration d'images est généralement appliquée à chaque pixel de l'image à restaurer. Or, tous les pixels d'une image n'ont pas un intérêt égal. Il est courant en effet qu'une image représente un objet et un fond. Obtenir un rendu visuel détaillé de l'objet est utile, par exemple, lorsque l'objet doit être identifié précisément, alors que, dans le meilleur des cas, le fond n'est utile que pour situer l'objet dans un contexte. Il est connu des méthodes de restauration d'images dans lesquelles la phase d'analyse de mouvement est suivie d'une segmentation de l'image. La segmentation de l'image permet de diviser l'image en sous-parties homogènes suivant un critère prédéfini. Connaissant les sous-parties constituant l'image, il est possible d'appliquer un traitement d'images plus ou moins efficace (et donc plus ou moins complexe) en fonction de l'intérêt de chaque sous- partie. Lorsque la segmentation suit une estimation d'un champ dense de mouvement, cette segmentation peut s'appuyer sur le champ dense obtenu pour diviser l'image en sous-parties homogènes au sens du mouvement. Cette méthode de segmentation peut toutefois donner des résultats approximatifs, notamment lorsque le champ dense de mouvement est bruité.

D'autres procédés de segmentation existent comme par exemple les procédés de segmentation basés contours actifs. Toutefois, ces procédés sont généralement destinés à des images fixes et, lorsqu'ils sont appliqués à des images d'une séquence d'images, ils utilisent peu (ou pas) les corrélations temporelles existant entre les images. Il est souhaitable de pallier ces inconvénients de l'état de la technique.

Il est notamment souhaitable de proposer un procédé et un dispositif de restauration d'images adapté aux images comprenant des objets en mouvement. Il est souhaitable de plus que ce procédé et ce dispositif soient adaptés aux images où le fond de l'image est lui-même en mouvement. Il est enfin souhaitable que ledit procédé ait un coût calculatoire faible et puisse être mis en œuvre par un système ayant de faibles capacités calculatoires tel qu'un système embarqué ou portable.

Selon un premier aspect de l'invention, l'invention concerne un procédé de restauration d'images d'une séquence d'images comprenant, lorsqu'il est appliqué à une première image de la séquence d'images :

estimer une information représentative d'un mouvement global d'un arrière-plan de la première image par rapport à une deuxième image ;

compenser le mouvement global de F arrière-plan dans la deuxième image en utilisant ladite information représentative du mouvement global de l'arrière-plan afin d'obtenir une version recalée de la deuxième image, dite deuxième image recalée ; obtenir un contour d'un objet de la première image en appliquant un procédé de segmentation, ledit procédé de segmentation étant itératif et comprenant, lors d'une itération, une modification d'un contour de l'objet dans la première image obtenue lors d'une itération précédente dudit procédé de segmentation, dit contour précédent, de sorte à obtenir un contour de l'objet dans la première image, dit contour courant, tel qu'un coût du contour courant soit inférieur à un coût du contour précédent, un contour final de l'objet étant obtenu lorsqu'une condition prédéfinie d'arrêt dudit procédé de segmentation est remplie, le coût d'un contour de l'objet dans la première image étant une somme entre une première valeur représentative d'une énergie interne audit contour et une seconde valeur représentative d'une énergie externe audit contour, l'énergie externe audit contour étant fonction d'au moins une énergie dépendante d'un mouvement global de l'objet entre la première image et la seconde image recalée et d'une énergie, dite énergie de contour, correspondant à une somme de valeurs de modules de gradient calculées pour des pixels d'un deuxième ensemble de pixels appartenant au contour courant de l'objet ; une valeur représentative de l'énergie dépendante d'un mouvement global de l'objet entre la première image et la seconde image étant calculée sous forme d'une somme de différences entre des valeurs représentatives de pixels d'un premier ensemble de pixels de la première image appartenant au contour courant et des valeurs représentatives de pixels situés aux mêmes positions spatiales que les pixels du premier ensemble de pixels dans la seconde image ;

utiliser le contour de l'objet ainsi obtenu pour estimer une information représentative d'un mouvement global de l'objet; et,

appliquer à la première image une méthode de restauration d'images utilisant les informations représentatives du mouvement global de l'arrière-plan et du mouvement global de l'objet estimées.

Utiliser une énergie externe intégrant une énergie dépendante d'un mouvement global de l'objet permet de prendre en compte le mouvement de l'objet dans la segmentation du contour de l'objet. On tire ainsi profit des corrélations existant entre deux images pour améliorer la segmentation.

Dans un mode de réalisation, pour calculer la valeur représentative de l'énergie interne au contour courant, une dérivée première locale et une dérivée seconde locale du contour sont calculées pour des pixels d'un troisième ensemble de pixels de l'image courante appartenant au contour courant de l'objet, ladite valeur représentative de l'énergie interne étant fonction desdites dérivées calculées.

Dans un mode de réalisation, les premier, deuxième et troisième ensembles de pixels sont identiques, et chaque ensemble comprend au moins une sous-partie des pixels de l'image courante appartenant au contour courant de l'objet.

Dans un mode de réalisation, lors d'une première itération dudit procédé, un contour initial de l'objet dans l'image courante est obtenu à partir d'un contour final obtenu lors d'une application du procédé de segmentation à l'image de référence ou d'un contour spécifié par un opérateur dans l'image de référence.

Dans un mode de réalisation, lors de chaque estimation d'une information représentative d'un mouvement global, une information représentative de la forme et de la position de l'objet est obtenue, ladite information représentative de la forme et de la position de l'objet étant utilisée pour masquer des pixels ne devant pas être pris en compte dans ladite estimation.

Dans un mode de réalisation, suite à l'estimation de ladite information représentative du mouvement global de l'objet, dite première information, un filtrage est appliqué à ladite première information afin de garantir des variations régulières du mouvement de l'objet entre deux images successives de la séquence d'images, ledit filtrage comprenant les étapes suivantes : déterminer une première matrice permettant d'estimer un mouvement de l'objet dans un référentiel centré sur un barycentre de l'objet dans la première image et une deuxième matrice permettant d'estimer un mouvement de l'objet dans un référentiel centré sur un barycentre de l'objet dans la deuxième image recalée ; utiliser la première et la deuxième matrices pour calculer une information représentative du mouvement de l'objet, dite seconde information, à partir de ladite première information; utiliser la seconde information pour obtenir une troisième matrice représentative de composantes de translation du mouvement de l'objet ; utiliser la seconde information et la troisième matrice pour obtenir une quatrième matrice représentative de composantes du mouvement de l'objet autres que les composantes de translation ; obtenir une version filtrée de la troisième matrice, dite troisième matrice filtrée, en calculant une somme pondérée entre la troisième matrice et une troisième matrice filtrée obtenue lors de la mise en œuvre dudit procédé sur la deuxième image ; obtenir une version filtrée de la quatrième matrice, dite quatrième matrice filtrée, en calculant une somme pondérée entre la quatrième matrice et une quatrième matrice filtrée obtenue lors de la mise en œuvre du procédé sur la deuxième image ; et, obtenir une information représentative d'un mouvement global filtré de l'objet en utilisant la première et la deuxième matrices, la troisième matrice filtrée et la quatrième matrice filtrée.

Dans un mode de réalisation, la seconde information est calculée de la manière suivante :

dH k ° biet = V k ~ dH° biet . V k _

où V k est la première matrice, V k _ est la deuxième matrice, dH° bjet la première information et dH° bjet la seconde information.

Dans un mode de réalisation, la troisième matrice est calculée de la manière suivante :

où H est la troisième matrice et

ApproxT(X) est une approximation en translation de la matrice homographique

X.

Dans un mode de réalisation, la quatrième matrice est calculée de la manière suivante :

où H^ est la quatrième matrice.

Dans un mode de réalisation, la troisième matrice filtrée est calculée de la manière suivante : où H est la troisième matrice filtrée, est la troisième matrice filtrée obtenue lors de la mise en œuvre dudit procédé sur la deuxième image et est une constante prédéfinie comprise entre « 0 » et « 1 ».

Dans un mode de réalisation, la quatrième matrice filtrée est calculée de la manière suivante :

Filt

ff£ = /?. / + (l - /?)H£

Filt

où H k est la quatrième matrice filtrée, / est une matrice identité et β est une constante prédéfinie comprise entre « 0 » et « 1 ».

Dans un mode de réalisation, l'information représentative d'un mouvement global filtré de l'objet est calculée de la manière suivante :

Selon un deuxième aspect de l'invention, l'invention concerne un dispositif de restauration d'images d'une séquence d'images comprenant :

des moyens d'estimation pour estimer une information représentative d'un mouvement global d'un arrière-plan d'une première image de la séquence d'images par rapport à une deuxième image de la séquence d'images ;

des moyens de compensation de mouvement pour compenser le mouvement global de l'arrière-plan dans la deuxième image en utilisant ladite information représentative du mouvement global de l'arrière-plan afin d'obtenir une version recalée de la deuxième image, dite deuxième image recalée ;

des moyens d'obtention permettant d'obtenir un contour d'un objet dans la première image recalée, comprenant des moyens de modification d'un contour de l'objet dans la première image obtenue lors d'une itération précédente, dit contour précédent, permettant d'obtenir un contour de l'objet dans la première image, dit contour courant, tel qu'un coût du contour courant soit inférieur à un coût du contour précédent, un contour final de l'objet étant obtenu lorsqu'une condition prédéfinie d'arrêt est remplie, le coût d'un contour de l'objet dans la première image étant une somme entre une première valeur représentative d'une énergie interne audit contour et une seconde valeur représentative d'une énergie externe audit contour, l'énergie externe audit contour étant fonction d'au moins une énergie dépendante d'un mouvement global de l'objet entre la première image et la seconde image recalée et d'une énergie, dite énergie de contour, correspondant à une somme de valeurs de modules de gradient calculées pour des pixels d'un deuxième ensemble de pixels appartenant au contour courant de l'objet ; une valeur représentative de l'énergie dépendante d'un mouvement global de l'objet entre la première image et la seconde image étant calculée sous forme d'une somme de différences entre des valeurs représentatives de pixels d'un premier ensemble de pixels de la première image appartenant au contour courant et des valeurs représentatives de pixels situés aux mêmes positions spatiales que les pixels du premier ensemble de pixels dans la seconde image ;

des moyens d'estimation de mouvement utilisant le contour de l'objet dans la première image pour estimer une information représentative d'un mouvement global de l'objet entre la première image et la deuxième image ; et,

des moyens de restauration d'images utilisant les informations représentatives du mouvement global de l'arrière-plan et du mouvement global de l'objet estiméesSelon un troisième aspect de l'invention, l'invention concerne un programme d'ordinateur, comprenant des instructions pour mettre en œuvre, par un dispositif, le procédé selon le premier aspect, lorsque ledit programme est exécuté par un processeur dudit dispositif.

Selon un quatrième aspect de l'invention, l'invention concerne des moyens de stockage, stockant un programme d'ordinateur comprenant des instructions pour mettre en œuvre, par un dispositif, le procédé selon le premier aspect, lorsque ledit programme est exécuté par un processeur dudit dispositif.

Les caractéristiques de l'invention mentionnées ci-dessus, ainsi que d'autres, apparaîtront plus clairement à la lecture de la description suivante d'un exemple de réalisation, ladite description étant faite en relation avec les dessins joints, parmi lesquels :

- la Fig. 1 illustre schématiquement un exemple de contexte dans lequel l'invention peut être mise en œuvre ;

- la Fig. 2 illustre schématiquement un exemple d'image contenant un objet et un fond ;

- la Fig. 3 illustre schématiquement un exemple d'architecture matérielle d'un module de traitement compris dans un système d'acquisition d'images ;

- la Fig. 4 illustre schématiquement un procédé de restauration d'images selon l'invention ;

- la Fig. 5 illustre schématiquement un procédé de segmentation d'images selon l'invention ;

- la Fig. 6 illustre schématiquement un procédé de calcul d'un coût d'un contour d'un objet compris dans le procédé de segmentation selon l'invention ; - la Fig. 7 illustre schématiquement un procédé d'estimation de mouvement global ; et,

- la Fig. 8 illustre schématiquement un procédé de filtrage de mouvement. L'invention est décrite par la suite dans un contexte où un système de visualisation comprend un dispositif d'acquisition d'images, un module de traitement et un dispositif de visualisation d'images. L'invention peut toutefois être mise en œuvre dans un contexte où le dispositif d'acquisition d'images, le module de traitement et le dispositif d'affichage sont séparés et distants géographiquement. Dans ce cas, le dispositif d'acquisition d'images, le module de traitement et le dispositif de visualisation d'images comprennent des moyens de communication pour communiquer entre eux.

Par ailleurs, le procédé selon l'invention s'appuie sur un procédé de segmentation basé contours actifs basé contours. Nous montrons par la suite que d'autres types de procédés de segmentation basés contours actifs peuvent être utilisés tels que par exemple, les procédés de segmentation basés contours actifs basés région, les procédés de segmentation basés contours actifs implicites basés ensembles de niveaux (« level sets » en terminologie anglo-saxonne),...

De plus, les images utilisées dans le cadre de l'invention sont essentiellement des images monochromes où chaque pixel d'une image ne possède qu'une composante. L'invention peut toutefois être appliquée à des images multi-composantes dans lesquelles chaque pixel d'une image possède une pluralité de composantes.

La Fig. 1 illustre schématiquement un exemple de contexte dans lequel l'invention peut être mise en œuvre.

Dans la Fig. 1, une scène 1 est observée par un système de visualisation 5 suivant un champ optique 3. La scène 1 comprend un objet 4. Le système de visualisation 5 comprend un dispositif d'acquisition d'images 51, un module de traitement 52 apte à mettre en œuvre un procédé de restauration d'images et une méthode de segmentation selon l'invention et un dispositif de visualisation d'images 53. Le dispositif d'acquisition d'images 51 comprend un ensemble optique et un capteur d'images tel que par exemple un capteur CCD (« Charge-Coupled Device » en terminologie anglo- saxonne, dispositif à transfert de charge) ou un capteur CMOS (« Complementarity metal-oxide-semiconductor », en terminologie anglo-saxonne, semi-conducteur métal- oxyde complémentaire). Le capteur d'images fournit une séquence d'images 2 représentatives de la scène 1 selon une fréquence temporelle prédéfinie F (par exemple de F = 25 à 50 images par secondes) au module de traitement 52. Après traitement par le module de traitement 52, le module de traitement 52 fournit des images améliorées au dispositif de visualisation d'images 53. Le dispositif de visualisation d'images 53 est par exemple un écran.

Dans un mode de réalisation, les images fournies par le dispositif d'acquisition d'images 51 sont des images monochromes.

Dans un mode de réalisation, les images fournies par le dispositif de visualisation d'images 51 sont des images multi-composantes.

La Fig. 2 illustre schématiquement un exemple d'image contenant un objet et un fond.

L'exemple décrit en relation avec la Fig. 2 représente une image 2 fournie par le système de visualisation 5. On retrouve dans l'image 2, l'objet 4 (ici un véhicule) se déplaçant sur un fond (ici un paysage). On peut imaginer que le système de visualisation 5 est mobile de sorte que le fond possède un mouvement.

La Fig. 3 illustre schématiquement un exemple d'architecture matérielle du module de traitement 52 compris dans le système de visualisation 5.

Selon l'exemple d'architecture matérielle représenté à la Fig. 3, le module de traitement 52 comprend alors, reliés par un bus de communication 520 : un processeur ou CPU (« Central Processing Unit » en anglais) 521 ; une mémoire vive RAM (« Random Access Memory » en anglais) 522 ; une mémoire morte ROM (« Read Only Memory » en anglais) 523 ; une unité de stockage telle qu'un disque dur ou un lecteur de support de stockage, tel qu'un lecteur de cartes SD (« Secure Digital » en anglais) 524 ; au moins une interface de communication 525 permettant au module de traitement 52 de communiquer avec le dispositif d'acquisition d'images 51 et/ou le dispositif de visualisation d'images 53.

Dans un mode de réalisation dans lequel le dispositif d'acquisition d'images 51, le module de traitement 52 et dispositif de visualisation 53 sont séparés et distants, le dispositif d'acquisition d'images 51 et le dispositif de visualisation 53 comprennent aussi une interface de communication pouvant communiquer avec l'interface de communication 525 par l'intermédiaire d'un réseau tel qu'un réseau sans fils.

Le processeur 521 est capable d'exécuter des instructions chargées dans la RAM

522 à partir de la ROM 523, d'une mémoire externe (non représentée), d'un support de stockage (tel qu'une carte SD), ou d'un réseau de communication. Lorsque le module de traitement 52 est mis sous tension, le processeur 521 est capable de lire de la RAM 522 des instructions et de les exécuter. Ces instructions forment un programme d'ordinateur causant la mise en œuvre, par le processeur 521, de tout ou partie du procédé décrit ci-après en relation avec les Figs. 4 à 8.

Le procédé décrit ci-après en relation avec les Figs. 4 à 8 peut être implémenté sous forme logicielle par exécution d'un ensemble d'instructions par une machine programmable, par exemple un DSP (« Digital Signal Processor » en anglais),un microcontrôleur ou un GPU (processeur graphique, « Graphics Processing Unit » en terminologie anglo-saxonne), ou être implémenté sous forme matérielle par une machine ou un composant dédié, par exemple un FPGA (« Field-Programmable Gâte Array » en anglais) ou un ASIC (« Application-Specific Integrated Circuit » en anglais).

La Fig. 4 illustre schématiquement un procédé de restauration d'images selon l'invention.

Le procédé décrit en relation avec la Fig. 4 est un procédé itératif, mis en œuvre par le module de traitement 52 sur chaque image d'une séquence d'images fournie par le dispositif d'acquisition d'images 51, excepté la première image de la séquence d'images. Par la suite, nous appelons image courante, une image en cours de traitement par le module de traitement 52 et nous notons l'image courante I k , où k représente un indice d'une image. L'indice k indique que l'image I k apparaît dans la séquence d'images à un instant T 0 + k. τ. T 0 correspond au début de la séquence d'images (et donc à la première image de la séquence) et τ = -. Soit I k - 1 , une image, dite image précédente, précédant immédiatement l'image courante l k dans la séquence d'images fournie par le dispositif d'acquisition d'images 51.

Dans une étape 41, le module de traitement 52 estime une information représentative d'un mouvement global d'un arrière-plan de l'image courante I k (ou mouvement du fond) par rapport à l'image précédente / ¾ _]_. L'image précédente / ¾ ·_ ! est alors une image de référence pour l'image courante I k pour l'estimation de l'information représentative du mouvement du fond. Cette étape est mise en œuvre par une méthode d'estimation de mouvement global. Une estimation de mouvement global fait l'hypothèse qu'un ensemble de pixels d'une même image est animé d'un même mouvement. Ce mouvement peut être simple, tel qu'un mouvement de translation ou de rotation, ou complexe représenté, par exemple, par une transformation affine ou une homographie. Une homographie est une transformation de coordonnées projective à huit paramètres. Dans un mode de réalisation, le module de traitement considère que le mouvement du fond entre deux images successives de la séquence d'images est représenté par une homographie. Soit (x,y) des coordonnées d'un pixel pFond a ar t enan au fond dans l'image courante I k et (x ',y ') des coordonnées du même pixel P f c °i d appartenant au fond dans l'image précédente / ¾ _ ! . L'estimation de mouvement global mise en œuvre lors de l'étape 41 consiste à déterminer les huit paramètres d'une homographie permettant de transformer les coordonnées (x ',y ') de chaque pixel Ρζ ° d dans l'image précédente / ¾ ·_ ! en coordonnées (x,y) d'un pixel ρζ οηά dans l'image courante l k . En déterminant les huit paramètres de l'homographie, on détermine une information représentative d'un mouvement global du fond entre l'image précédente / fe--1 et l'image courante l k . Nous notons dH[ ond l'homographie représentative du mouvement global du fond entre l'image précédente / fe--1 et l'image

Dans une étape 42, le module de traitement 52 compense le mouvement du fond dans l'image précédente / ¾ ·_ ! afin d'obtenir une image précédente recalée Pour ce faire, le module de traitement 52 applique l'homographie dH[ ond trouvée lors de l'étape 41 à l'ensemble des pixels de l'image précédente / ¾ _]_ .

Dans une étape 43, le module de traitement 52 obtient un contour C de l'objet 4 en appliquant un procédé de segmentation à l'image courante I k . Nous décrivons par la suite en relation avec les Figs. 5 et 6 un procédé de segmentation selon l'invention.

Dans une étape 44, le module de traitement 52 estime une information représentative d'un mouvement global de l'objet 4, entre l'image courante et une image précédente. Comme lors de l'étape 41 , le module de traitement 52 considère que le mouvement global de l'objet 4 est représenté par une homographie, notée dH° bjet . Dans un mode de réalisation, l'homographie dH° bjet représentative du mouvement global de l'objet 4 est obtenue en utilisant l'image courante / fe et l'image précédente / fe--1 et en prenant en compte le mouvement du fond dH[ ond mesuré lors de l'étape 41. Soit (x,y) des coordonnées d'un pixel p° bj et appartenant à l'objet 4 dans l'image courante I k et (x ',y ") des coordonnées du même pixel P k ° b ( et appartenant à l'objet 4 dans l'image précédente / ¾ _ ! . L'estimation de mouvement global mise en œuvre lors de l'étape 44 comprend une détermination des huit paramètres d'une homographie dH k esuree permettant de transformer les coordonnées (x,y) de chaque pixel p° bj et dans l'image courante I k en coordonnées (x ',y ') du pixel P k ° b ( et dans l'image précédente / ¾ _]_ . On peut écrire :

d H Mesurée = dH ^jet ^ dH Fond

L'homographie dH° bjet représentative est alors obtenue de la manière suivante : dH Objet = ^mesurée ^ dH Fond ^-1

Dans un mode de réalisation, l'homographie dH° bjet représentative du mouvement global de l'objet 4 est mesurée entre une image recalée et une image non recalée, ce qui permet de ne pas faire intervenir l'homographie dH[ ond . Par exemple, l'homographie dH k bjet est mesurée entre l'image précédente recalée et l'image courante I k .

Dans une étape 45, le module de traitement 52 applique une méthode de restauration d'images à l'image courante I k . Dans un mode de réalisation, la méthode de restauration d'images appliquée utilise les informations représentatives du mouvement global du fond et les informations représentatives du mouvement global de l'objet 4 estimées lors des étapes 41 et 44 pour mettre en correspondance les pixels de l'image courante l k et les pixels de l'image précédente / ¾ _]_. Soit P k un pixel de l'image courante l k et P k _ 1 un pixel de l'image précédente / ¾ ·_ ! mis en correspondance avec le pixel P k en utilisant les homographies dH[ ond et dH° bjet . Le pixel P k (respectivement le pixel P fe _i) possède un nombre entier positif non nul N c de composantes C^ k (respectivement c fe_1 ), i e [1; N C ] . Dans ce mode de réalisation, la valeur C^ k de chaque composante de chaque pixel P k de l'image I k est remplacée par une somme pondérée calculée de la manière suivante :

Pk = w k . c^ + w k _ . c^

1 w k + w k _

où W k et W k _ sont des valeurs de pondération prédéfinie. Par exemple, les pondérations W k et W k _ peuvent être telles que W k ≤ W k _ .

Dans un mode de réalisation, la méthode de restauration d'images appliquée utilise une fenêtre d'images comprenant un nombre Nj d'images précédant l'image courante I k . Les pixels de chacune des images sont mis en correspondance en utilisant les informations représentatives du mouvement du fond et du mouvement de l'objet 4 obtenues pour chacune des images de la fenêtre d'images.

Dans ce mode de réalisation, la valeur C^ k de chaque composante de chaque pixel P k de l'image I k est remplacée par une somme pondérée calculée de la manière suivante : i

où chaque Wj est une valeur de pondération prédéfinie. On note que la méthode de restauration utilisant une pondération impliquant deux images est un cas particulier de la méthode de restauration basée sur une fenêtre d'images où N, = 2.

Dans un mode de réalisation, seuls les pixels de l'image courante I k appartenant à l'objet 4 sont restaurés.

Dans un mode de réalisation, plusieurs méthodes de restauration sont utilisées en fonction de l'objet auquel appartient chaque pixel de l'image I k . Une première méthode de restauration est appliquée aux pixels appartenant au fond de l'image courante I k et une seconde méthode de restauration est appliquée aux pixels appartenant à l'objet 4 dans l'image courante I k . La première méthode de restauration est par exemple la méthode de restauration utilisant une fenêtre d'images dans laquelle la fenêtre d'images comprend deux images. La seconde méthode de restauration est par exemple la méthode de restauration utilisant une fenêtre d'images dans laquelle la fenêtre d'images comprend cinq images.

La Fig. 7 illustre schématiquement un procédé d'estimation de mouvement global.

Le procédé de la Fig. 7 est appliqué par le module de traitement 52 lors de l'étape 41 pour déterminer le mouvement global du fond (i.e. l'homographie dH[ ond ) et lors de l'étape 44 pour déterminer le mouvement global de l'objet 4 (i.e. l'homographie dH° bjet ).

Lors de l'étape 41, seul le mouvement des pixels correspondant au fond est recherché. Le mouvement des pixels correspondant à l'objet 4 ne doit pas être pris en compte.

Dans une étape 410, le module de traitement obtient une position et une forme de l'objet 4 dans l'image I k .

Dans un mode de réalisation, la forme et la position de l'objet 4 dans l'image I k sont données par une liste ordonnée de pixels, appelés points de contrôle, appartenant à un contour C de l'objet 4. La liste ordonnée de points de contrôle peut comprendre tous les pixels appartenant au contour C de l'objet 4 ou un sous-ensemble de pixels du contour C permettant d'obtenir une bonne approximation du contour C. Un parcours de la liste ordonnée de points de contrôle permet d'obtenir le contour C.

Dans un mode de réalisation, lors de l'étape 410, le module de traitement 52 fait une hypothèse de mouvement faible de l'objet 4 entre deux images successives de la séquence d'images. Comme dit plus haut, le procédé décrit en relation avec la Fig. 4 est itératif de sorte que lorsque l'image courante I k est en cours de traitement par ce procédé, l'image précédente / ¾ ·_ ! a déjà été traitée par ce procédé. La position et la forme de l'objet 4 dans l'image / ¾ ·_ ! sont donc connues. En s'appuyant sur l'hypothèse de mouvement faible, le module de traitement 52 considère que la forme et la position de l'objet 4 dans l'image I k sont identiques à la forme et la position de l'objet 4 dans l'image / ¾ _]_ . Le module de traitement 52 réutilise donc la liste ordonnée de points de contrôle de l'image / ¾ ·_ ! pour définir le contour C dans l'image I k .

La première image de la séquence I k=0 est un cas particulier puisque cette image n'est précédée d'aucune autre image. Dans un mode de réalisation, la position et la forme de l'objet 4 dans la première image / 0 de la séquence d'images sont données par un opérateur. Pour ce faire, l'opérateur peut détourer l'objet 4 à l'aide d'un dispositif de pointage, tel qu'une souris, sur le dispositif d'affichage 53, qui dans ce cas est un écran tactile. Le fond de la première image est considéré comme ayant un mouvement nul. Par conséquent le mouvement du fond n'a pas à être compensé pour la première image de la séquence. Le procédé décrit en relation avec la Fig. 4 n'est pas appliqué à la première image / 0 de la séquence, mais cette image / 0 est utilisée dans ce procédé pour déterminer le mouvement du fond et le mouvement de l'objet 4 entre cette image / 0 et l'image I k=1 qui la suit dans la séquence d'images.

Dans une étape 41 1 , la position et la forme de l'objet dans l'image courante I k étant connues, le module de traitement masque chaque pixel de l'image courante I k appartenant à l'objet 4, i.e. le module de traitement masque chaque pixel appartenant au contour ou interne au contour de l'objet 4. Dans un mode de réalisation, le module de traitement 52 associe chaque pixel de l'image courante I k à une première valeur de masque lorsque ledit pixel est masqué et à une seconde valeur de masque lorsque ledit pixel n'est pas masqué. La première valeur de masque est par exemple la valeur « 1 » et la seconde valeur de masque est par exemple la valeur « 0 ».

Dans une étape 412, le module de traitement 52 estime le mouvement global du fond entre l'image courante I k et l'image précédente / fe--1 (i.e. le module de traitement 52 estime l'homographie dH[ ond ). Lors de cette estimation seuls les pixels de l'image I k non masqués (i.e. les pixels associés à la deuxième valeur de masque) sont pris en compte. De plus, seuls les pixels de l'image précédente / ¾ ·_ ! non masqués sont pris en compte, en utilisant le masque obtenu lors de l'application de la méthode décrite en relation avec la Fig. 4 à l'image précédente / ¾ _ ! . Dans un mode de réalisation, la détermination des huit paramètres de l'homographie dH[ ond utilise la méthode d'ajustement projectif (« projective fit » en terminologie anglo-saxonne) ou la méthode des flux projectifs (« projective flow » en terminologie anglo-saxonne) décrite dans l'article « Orbite vidéo du groupe projectif : une approche simple de l'estimation sans caractéristiques des paramètres (« video Orbits of the Projective Group : a simple approach to featureless estimation of parameters » en terminologie anglo-saxonne) », Steve Mann and Rosaling W. Picard, IEEE Tr. On Image Processing, Vol. 6, N°. 9, September 1997.

Lors de l'étape 44, seul le mouvement des pixels correspondant à l'objet 4 est recherché. Le mouvement des pixels correspondant au fond ne doit pas être pris en compte.

Lors de l'étape 44, le module de traitement met en œuvre l'étape 410 d'obtention de la position et de la forme de l'objet 4. La position et la forme de l'objet 4 dans l'image courante I k sont obtenues grâce au résultat de l'étape 43

Lors de l'étape 411, le module de traitement 52 masque chaque pixel de l'image courante I k . appartenant au fond, i.e. n'appartenant pas à l'objet 4.

Lors de l'étape 412, le module de traitement 52 estime le mouvement de l'objet entre l'image courante I k et l'image précédente / fe--1 {i.e. le module de traitement estime l'homographie dH e uree puis en déduit l'homographie dH° bjet ). Lors de cette estimation seuls les pixels de l'image courante I k et de l'image précédente / ¾ ·_ ! non masqués sont pris en compte. De nouveau, la détermination des huit paramètres de l'homographie dH e uree utilise la méthode d'ajustement projectif ou la méthode des flux projectifs.

Dans un mode de réalisation, lors de la mise en œuvre de l'étape 410 lors de l'étape 41, le module de traitement 52 fait une hypothèse de mouvement continu de l'objet 4 dans la séquence d'images. L'hypothèse de mouvement continu implique que le mouvement de l'objet 4 entre l'image courante I k et l'image précédente / fe--1 est le même que le mouvement de l'objet 4 entre l'image précédente / fe--1 et une image / fe _ 2 précédent l'image précédente / ¾ _ ! . Le procédé décrit en relation avec la Fig. 4 étant itératif, lors du traitement de l'image courante I k , le mouvement de l'objet 4 entre l'image précédente / fe--1 et l'image précédente / fe _ 2 est connu. Par ailleurs la position et la forme de l'objet 4 dans l'image précédente / ¾ ·_ ! sont elles aussi connues. La position et la forme de l'objet 4 dans l'image courante I k peuvent donc être trouvées en utilisant une homographie dH l e . uree = άΗζ 1 * άΗ°^ { représentant le mouvement de l'objet 4 entre l'image précédente / fe--1 et l'image précédente I k - 2 - L'homographie ^mesur é e Q ^ une combinaison d'une homographie άΗζ représentative du mouvement du fond entre l'image précédente / ¾ ·_ ! et l'image précédente / fe _ 2 et d'une homographie dH^^ représentative du mouvement de l'objet 4 entre l'image précédente / ¾ ·_ ! et l'image précédente / fe _ 2 . L'homographie dH^ uree est appliquée à l'objet 4 dans l'image précédente / ¾ _ ! . Plus précisément l'homographie dH [ uree est appliquée aux points de contrôle de la liste ordonnée de points de contrôle représentant le contour de l'objet 4 dans l'image précédente / fe--1 afin d'obtenir la liste ordonnée de points de contrôle représentant le contour de l'objet 4 dans l'image I k . L'hypothèse de mouvement continu est applicable lors de la mise en œuvre de l'étape 410 lors de l'étape 44.

Dans un mode de réalisation, pour prendre en compte que les hypothèses de mouvement faible et de mouvement continu ne permettent d'obtenir qu'une approximation de la forme et la position de l'objet 4 dans l'image courante l k , une dilatation est appliquée au contour de l'objet 4 dans l'image courante l k . La dilatation est obtenue par exemple en utilisant une méthode de morphologie mathématique.

Dans d'autres modes de réalisation, d'autres méthodes d'estimation des paramètres d'une homographie connues peuvent être utilisées.

Dans d'autres modes de réalisation, le module de traitement considère que le mouvement entre deux images successives de la séquence d'images est représenté par d'autres modèles de mouvement telles qu'une translation, une rotation, une transformation affine ou une transformation bilinéaire.

Dans un mode de réalisation, préalablement à chaque estimation de mouvement global (du fond ou de l'objet 4), chaque image impliquée dans l'estimation de mouvement global est interpolée au demi, au quart ou au huitième de pixel. De cette manière, la précision de l'estimation de mouvement global est améliorée.

La méthode d'ajustement projectif (respectivement la méthode des flux projectifs) consiste à trouver parmi un ensemble de paramètres d'un modèle de mouvement (ici les 8 paramètres d'une homographie), les paramètres du modèle de mouvement minimisant une métrique représentative d'une erreur entre un mouvement réel d'un objet dans une image et un mouvement de l'objet représenté par le modèle de mouvement. Dans la méthode d'ajustement projectif (respectivement la méthode des flux projectifs), chaque combinaison possible de paramètres du modèle de mouvement est testée. Une telle méthode exhaustive de recherche des paramètres du modèle de mouvement peut avoir un coût calculatoire important. Il est possible de réduire le coût calculatoire de la méthode d'ajustement projectif (respectivement la méthode des flux projectifs) en utilisant, par exemple, un algorithme de descente de gradient plutôt qu'une recherche exhaustive. Toutefois, un problème connu des méthodes de descente de gradient est que, lorsque la métrique à minimiser possède plusieurs minimums locaux, la méthode de descente de gradient peut converger vers un minimum local qui n'est pas un minimum global, i.e. qui n'est pas la valeur minimale que peut prendre la métrique. Une méthode permettant d'assurer une convergence rapide vers le minimum global de la métrique consiste à initialiser la méthode de descente de gradient avec une valeur proche du minimum global recherché. Dans un mode de réalisation, la recherche exhaustive des paramètres du modèle de mouvement de la méthode d'ajustement projectif (respectivement la méthode des flux projectifs) est remplacée par une méthode de descente de gradient lors de la mise en œuvre de l'étape 412 lors des étapes 41 et 44.

Lors de la mise en œuvre de l'étape 41 sur l'image I k , la méthode de descente de gradient est initialisée à une valeur dH£°™ d représentative du mouvement du fond trouvé pour l'image / ¾ _]_. Plus précisément, les huit paramètres de l'homographie dH f e°i d représentative du mouvement du fond entre l'image précédente / ¾ ·_ ! et l'image précédente / fe _ 2 sont utilisés pour initialiser les huit paramètres de l'homographie dH[ ond représentative du mouvement du fond entre l'image courante I k et l'image précédente / ¾ ·_ ! dans la méthode de descente de gradient.

De même, lors de la mise en œuvre de l'étape 44 sur l'image I k , la méthode de descente de gradient est initialisée à une valeur (dH^j et * dH[ ond ) . Plus précisément, les huit paramètres de l'homographie (dH°^{ et * dH£ orid )sont utilisés pour initialiser les huit paramètres de l'homographie dH e uree représentative du mouvement de l'objet 4 mesuré entre l'image courante l k et l'image précédente / fe--1 dans la méthode de descente de gradient. L'homographie dH° bjet est ensuite déduite de l'homographie dH mesurée et de l'homographie dH[ ond .

Dans un mode de réalisation, suite à l'estimation de l'information représentative du mouvement de l'objet 4 entre l'image courante I k et l'image précédente recalée / fe--1 (i.e. suite à l'estimation des huit paramètres de l'homographie dH° bjet ), l'information représentative du mouvement estimé est filtrée afin de garantir des variations régulières du mouvement de l'objet entre deux images successives de la séquence d'images. La méthode décrite en relation avec la Fig. 4 est particulièrement efficace lorsqu'une hypothèse de mouvement inertiel de l'objet 4 est vérifiée. Lorsque les informations de mouvement estimées de l'objet 4 sont trop variables, il est préférable de corriger ces informations afin qu'elles se rapprochent d'informations de mouvement compatibles avec l'hypothèse de mouvement inertiel. La Fig. 8 décrit un procédé de filtrage de mouvement permettant de corriger des informations de mouvement. Le procédé décrit en relation avec la Fig. 4 n'utilise alors plus les informations de mouvement estimées mais les informations de mouvement estimées corrigées.

La Fig. 8 illustre schématiquement un procédé de filtrage de mouvement.

Le procédé décrit en relation avec la Fig. 8 permet de garantir des variations régulières du mouvement de l'objet 4 entre deux images successives de la séquence d'images.

Dans une étape 800, le module de traitement 52 détermine une matrice de passage V k (respectivement une matrice de passage V ]i _ 1 ) permettant d'estimer un mouvement de l'objet dans un référentiel centré sur un barycentre de l'objet 4 dans l'image courante l k (respectivement dans l'image précédente recalée

où (x , ) (respectivement s coordonnées du barycentre de l'objet 4 dans l'image courante l k (respectivement dans l'image précédente recalée

.Objet

Dans une étape 801, le module de traitement 52 calcule une information dH } représentative du mouvement de l'objet 4 dans le référentiel centré sur le barycentre de l'objet 4.

Les coefficient efficients qui ne sont pas utilisés par la suite du fait d'une approximation mise en œuvre lors d'une étape suivante 802.

Dans l'étape 802, le module de traitement 52 obtient une matrice H£ représentative de composantes de translation du mouvement de l'objet 4 entre l'image courante I k et l'image précédente recalée (représenté par l'homographie dH° bjet ) dans le référentiel centré sur le barycentre de l'objet 4 de la manière suivante :

où T x et T y sont des paramètres d'une translation et ApproxT(X) est une approximation en translation de la matrice homographique X.

Dans une étape 803, le module de traitement 52 obtient une matrice H k représentative de composantes du mouvement de l'objet 4 entre l'image courante l k et l'image précédente recalée autres que les composantes de translation de la manière suivante :

Les composantes du mouvement de l'objet 4 autres que les composantes de translation peuvent être par exemple des composantes de rotation, de zoom, etc.

Dans une étape 804, le module de traitement 52 filtre les composantes de translation du mouvement de l'objet 4 entre l'image courante l k et l'image précédente recalée comme suit :

Hi Filt = a. H Filt + {_l - a)Hi

Filt

où H f c_ ! est une matrice représentative des composantes de translation filtrées du mouvement de l'objet 4 entre l'image précédente / fe--1 et l'image précédente recalée et a es t une constante prédéfinie comprise entre « 0 » et « 1 ». Dans un mode de réalisation, a = 0.8.

Dans une étape 805, le module de traitement 52 filtre les composantes du mouvement de l'objet 4 entre l'image courante l k et l'image précédente recalée /£î¾ autres que les composantes de translation de la manière suivante :

Hk = β. Ι + 0. - β Η

Filt

où H k est une matrice représentative des composantes filtrées du mouvement de l'objet 4 autres que les composantes de translation, / est une matrice identité de taille 3 x 3 et β est une constante prédéfinie comprise entre « 0 » et « 1 ». Dans un mode de réalisation β = 0.5.

Dans une étape 806, le module de traitement 52 détermine une information

Ob iet^^^

dH k représentative du mouvement global filtré de l'objet 4 de la manière suivante :

Dans le mode de réalisation dans lequel le mouvement estimé est filtré afin de garantir des variations faibles du mouvement de l'objet entre deux images successives de la séquence d'images, le mouvement global filtré de l'objet 4 représenté par Ob iet

l'homographie filtrée dH k remplace le mouvement global de l'objet 4 représenté par l'homographie dH° bjet lors de la restauration de l'image courante I k .

La Fig. 5 illustre schématiquement un procédé de segmentation d'images selon l'invention.

Le procédé décrit en relation avec la Fig. 5 est mis en œuvre lors de l'étape 43.

Dans un mode de réalisation, le procédé de segmentation d'images mis en œuvre lors de l'étape 43 est un procédé de segmentation basé contours actifs. Un principe des procédés de segmentation basés contours actifs est de définir un contour initial au voisinage d'un objet puis de modifier itérativement ce contour pour qu'il épouse au mieux la forme de l'objet. A chaque itération, le contour de l'objet obtenu lors d'une itération précédente, dit contour précédent, est modifié de sorte à obtenir un contour de l'objet, dit contour courant, tel qu'un coût du contour courant soit inférieur à un coût du contour précédent. Dans les procédés de segmentation basés contours actifs, le coût d'un contour est fonction d'une énergie interne et d'une énergie externe du contour. Nous donnons par la suite des exemples de méthodes de calcul de valeurs représentatives d'une énergie interne et d'une énergie externe d'un contour. Un contour final de l'objet est obtenu lorsqu'une condition prédéfinie d'arrêt du procédé de segmentation basé contours actifs est remplie. Une condition d'arrêt peut par exemple être un nombre maximum d'itérations ou une obtention d'un écart entre deux coûts de contours obtenus dans deux itérations successives inférieures à un seuil prédéfini. On note que plus le contour initial est proche du contour réel de l'objet, plus le procédé de segmentation basé contours actifs converge rapidement vers un contour proche du contour réel de l'objet. Un choix judicieux d'une position et d'une forme du contour initial permet donc d'améliorer des performances du procédé de segmentation basé contours actifs. Dans un mode de réalisation le procédé de segmentation basé contours actifs est basé contour.

Dans une étape 431 , le module de traitement 52 obtient un contour C initial de l'objet 4 dans l'image courante l k .

Dans un mode de réalisation, lors de l'étape 431 , le module de traitement fait l'hypothèse de mouvement faible de l'objet 4 entre l'image courante l k et l'image précédente / ¾ _]_ . Dans ce cas, comme lors de la mise en œuvre de l'étape 41 1 lors de l'étape 44, le module de traitement 52 réutilise la liste ordonnée de points de contrôle déterminée lors de la mise en œuvre du procédé décrit en relation avec la Fig. 4 sur l'image précédente / fe--1 pour obtenir le contour C initial de l'objet dans l'image courante/ fe .

Dans une étape 432, le module de traitement 52 calcule un coût du contour courant C en appliquant un procédé que nous décrivons par la suite en relation avec la Fig. 6. Lors de la première itération du procédé de segmentation basé contours actifs décrit en relation avec la Fig. 5, le contour courant C est le contour C initial.

Dans une étape 433, le module de traitement 52 vérifie si une condition d'arrêt du procédé de segmentation basé contours actifs est remplie. Dans un mode de réalisation, ledit procédé itératif s'arrête lorsqu'un nombre d'itérations du procédé de segmentation basé contours actifs atteint un nombre d'itérations maximal.

Lorsque la condition d'arrêt est remplie, le procédé de segmentation basé contours actifs prend fin lors de l'étape 434 et le module de traitement 52 met en œuvre l'étape 44 déjà expliquée.

Lorsque la condition d'arrêt n'est pas remplie, le module de traitement 52 met en œuvre une étape 435. Lors de l'étape 435, le module de traitement 52 met en œuvre une procédure de raffinement du contour C de l'objet 4 obtenu lors de l'itération précédente du procédé de segmentation basé contour actif. Lors de l'étape 435, le module de traitement 52 modifie le contour C de l'objet 4 obtenu lors de l'itération précédente du procédé de segmentation basé contour actif, dit contour précédent, de sorte à obtenir un contour C de l'objet, dit contour courant, tel qu'un coût du contour courant soit inférieur à un coût du contour précédent. La modification du contour C utilise, par exemple, une méthode décrite dans l'article « snakes : Active Contour Models » Michael Kass, Andrew Witkin, Demetri Terzopoulos, International Journal of Computer Vision, 321- 331 (1988), 1987 Kluwer Académie Publishers, Boston.

L'étape 435 est suivie de l'étape 432.

Dans un mode de réalisation, lors de l'étape 431, le module de traitement fait l'hypothèse de mouvement continu de l'objet 4 entre l'image courante I k et l'image précédente / ¾ _]_. Dans ce cas, le module de traitement 52 déplace les points de contrôle de la liste ordonnée de points de contrôle pour obtenir le contour C initial de l'objet 4 dans l'image courante l k . Ces points de contrôle, déterminée lors de la mise en œuvre du procédé décrit en relation avec la Fig. 4 sur l'image précédente / fc _ l 5 sont déplacés du mouvement de l'objet 4 représenté par l'homographie άΗ°^ { * dH[ ond .

Dans un mode de réalisation, les points de contrôle de la liste ordonnée de points de contrôle sont déplacés du mouvement filtré de l'objet 4 représenté par l'homographie F ή Ob i ' et

dH * dH k _ 1 pour obtenir le contour C initial de l'objet 4 dans l'image courante I k .

La Fig. 6 illustre schématiquement un procédé de calcul d'un coût d'un contour d'un objet compris dans le procédé de segmentation selon l'invention.

Le procédé décrit en relation avec la Fig. 6 est mis en œuvre lors de l'étape 432. Dans une étape 4321 , le module de traitement 52 calcule une énergie interne E int du contour C de la manière suivante :

où a et b sont des constantes prédéfinies égales par exemple à la valeur « 0.01 », N est un nombre de points de contrôle dans la liste de points de contrôle représentant la courbe C, PC i est le z ' -ème point de contrôle de la liste de points de contrôle représentant la courbe C dans l'image courante I k , C P ' C . est une dérivée première locale de la courbe C dans l'image courante I k calculée au niveau du point de contrôle PC et Cp C . est une dérivée seconde locale de la courbe C dans l'image courante I k calculée au niveau du point de contrôle PC t .

Dans une étape 4322, le module de traitement 52 calcule une énergie externe E ext du contour C de la manière suivante :

^ext ~ ~ ( edge E e dge W mvt . E mvt

où W edge et W mvt sont des constantes prédéfinies par exemple égales à la valeur « 1 ». E edge est une énergie, dite énergie de contour, calculée sur une image de module de gradient i^ rad obtenue à partir de l'image courante I k :

Eedge = ^ /f" >Q

i=l

où I^ rad (PCi) est une valeur de module de gradient de l'image }^ rad correspondant à la position du point de contrôle PC t .

On note que différentes méthodes de calcul d'une image de module de gradient sont applicables ici. Pour obtenir l'image de de module gradient i^ rad 0 n peut par exemple appliquer à chaque pixel de l'image I k :

• une combinaison linéaire de pixels adjacents dudit pixel, chaque pixel adjacent étant pondéré par un poids, la somme desdits poids étant égale à zéro, puis calculer l'amplitude (i.e. le module) de cette combinaison linéaire ;

• un filtre de Sobel ; • un filtre de Canny ;

Dans un mode de réalisation, l'image }^ rad n'est pas calculée, et les valeurs de module de gradient utilisés dans le calcul de l'énergie de contour E edge sont calculées uniquement aux positions des N points de contrôle PC t .

E mvt est une énergie dépendante du mouvement de l'objet 4 entre l'image courante / fe et l'image recalée précédente :

Emvt = k iP i) - r k i c i (PCi) \

=1

où I k (PC [ ) est une valeur d'un pixel de l'image courante I k correspondant au point de contrôle PC i et (PC;) est une valeur d'un pixel de l'image l k e situé à la même position que le pixel de l'image I k correspondant au point de contrôle PC t .

Dans une étape 4323, le module de traitement 52 calcule le coût J du contour courant C de la manière suivante :

On constate donc que le mouvement de l'objet 4 est pris en compte dans le procédé de segmentation selon l'invention ce qui permet d'obtenir une meilleure segmentation de l'objet. La minimisation du coût J permet de maximiser E mvt et E edge sur les points de contrôle du contour, afin de favoriser les zones à forts gradients spatiaux et/ou temporels.

Le principe de l'invention reste le même dans le cas d'une utilisation d'un autre type de procédés de segmentation basés contours actifs que les procédés de segmentation basés contours actifs basé contour. Chaque procédé de segmentation basé contours actifs comprend une estimation d'une énergie externe E ext . Toutefois, les procédés de segmentation basés contours actifs étant adaptés à des images fixes, ils ne prennent pas en compte les mouvements dans une séquence d'images lors de la segmentation. L'invention permet de prendre en compte ces mouvements en intégrant une énergie représentative du mouvement dans l'estimation de l'énergie externe E ext . Ce principe s'applique aux énergies externes E ext calculées dans le cadre des procédés de segmentation basés contours actifs basés régions et des procédés de segmentation basés contours actifs basés ensembles de niveaux.

Jusque-là nous avons considéré des images ne comprenant qu'un objet. L'invention s'applique lorsque les images de la séquence d'images comprennent une pluralité d'objets. Lors des étapes 41 et 42, chaque objet est masqué lors de l'estimation et la compensation du mouvement du fond dans une image. Les étapes 43, 44 et 45 sont mises en œuvre indépendamment sur chaque objet.

Par ailleurs, jusque-là, nous avons considéré que l'objet 4 était rigide et que par conséquent la forme apparente de l'objet était approximativement constante. Dans un cas réel, suivant les mouvements de l'objet et/ou de la caméra, l'objet peut être vu selon des angles de vue différents ce qui peut provoquer des déformations dans la forme apparente de l'objet. Dans un mode de réalisation, lorsqu'une variation de la forme de l'objet sur une pluralité d'images successives de la séquence d'images dépasse un seuil prédéfini, le module de traitement 52 considère que l'objet apparaissant dans les images a changé. Dans ce cas, lorsque le module de traitement 52 détecte un changement d'objet, il considère qu'une nouvelle séquence d'images démarre et invite l'opérateur à détourer à nouveau l'objet. Dans un autre mode de réalisation, le module de traitement 52 applique le procédé de segmentation décrit en relation avec la Fig. 5 quelles que soient les variations de la forme de l'objet, sans demander d'intervention d'un opérateur.

Dans un mode de réalisation, lorsque les images fournies par le dispositif d'acquisition d'images sont des images multi-composantes, le module de traitement 52 applique le procédé de restauration décrit en relation avec la Fig. 4 à chaque composante indépendamment. Chaque composante peut ensuite être affichée indépendamment ou en combinaison avec une ou plusieurs autres composantes sur le dispositif de visualisation 53.

Dans un mode de réalisation, lorsque les images fournies par le dispositif d'acquisition d'images sont des images multi-composantes, le module de traitement 52 applique le procédé de restauration décrit en relation avec la Fig. 4 à au moins une des composantes, ou à au moins une composante calculée à partir des composantes disponibles dans les images. Seule l'étape de restauration 45 est appliquée à chaque composante indépendamment en utilisant les informations représentatives du mouvement du fond et du mouvement de l'objet 4 obtenues lors des étapes précédentes. Chaque composante peut ensuite être affichée indépendamment ou en combinaison avec une ou plusieurs autres composantes sur le dispositif de visualisation 53. Par exemple, lorsque les images multi-composantes comprennent une composante de luminance et deux composantes de chrominance, le procédé de restauration décrit en relation avec la Fig. 4 est appliqué uniquement à la composante de luminance, l'étape de restauration 45 étant appliquée aux trois composantes.




 
Previous Patent: PREPARATION OF DEOXYCHOLIC ACID

Next Patent: COMPONENT CARRIER