Brevet FR2903200A1 — publié le 20080104

STABILISATION HYBRIDE D'IMAGES POUR CAMERA VIDEO L'invention concerne la stabilisation d'une séquence d'images acquises par un dispositif d'observation d'un système d'imagerie tel qu'une caméra vidéo, soumis à des mouvements ou des vibrations involontaires. Le dispositif d'observation fonctionne typiquement à des longueurs d'onde du domaine du visible ou de l'infrarouge. Une première solution concerne les caméras vidéo embarquées sur une plate-forme terrestre, navale ou aérienne qui sont en général montées sur une monture orientable, par exemple du type théodolite ou encore dans un viseur à miroir à deux axes orientables. Des asservissements assurent la stabilisation de la ligne de visée en exploitant les informations d'un gyroscope ou de gyromètres solidaires de la caméra. Une autre solution a trait aux caméras légères portables du type caméscope ou jumelle (intensifiée ou infrarouge) qui sont orientées et stabilisées manuellement par l'observateur mais restent soumises aux mouvements erratiques résiduels de ce dernier. Des solutions pour stabiliser la ligne de visée de la caméra sont mises en oeuvre en associant deux capteurs gyrométriques solidaires du boîtier de la caméra à un composant opto-mécanique déviateur du type prisme à angle variable ou lentille excentrée par des actionneurs inclus dans l'objectif de la caméra. On parle dans ces deux cas de stabilisation a priori . D'autres solutions font appel au traitement d'image pour recaler entre elles les images successives d'une séquence vidéo. On parle dans ce cas de stabilisation électronique a posteriori . Un exemple de stabilisation a posteriori est décrit dans le brevet FR 2 828 315: on extrait des images acquises des images basse fréquence qui sont utilisées pour déterminer par une méthode de flot optique les translations et rotations à appliquer aux images pour les stabiliser. Les méthodes de stabilisation électronique a posteriori ne sont pas utilisables dans le cas d'images présentant une structure de fond uniforme ou une texture répétitive (ciel, forêt ou surface maritime par exemple). Le but de l'invention est de pouvoir utiliser un procédé de stabilisation d'image bas-coût fonctionnant quel que soit le contenu de l'image (contrasté ou non, structuré ou non, ...). 2903200 2 Le principe du procédé de stabilisation d'image selon l'invention est basé sur une combinaison de stabilisation a priori et de stabilisation a posteriori. Il s'agit plus précisément d'utiliser les informations issues d'au 5 moins un capteur gyrométrique solidaire de la caméra pour calculer des décalages approximatifs entre les images successives (stabilisation a priori) puis de calculer des décalages fins entre ces images par un traitement d'images (stabilisation a posteriori) qui utilise ces décalages approximatifs comme initialisation. 10 La première stabilisation approximative est obtenue indépendamment du fond et du contraste des objets dans les images. Cette première stabilisation est obtenue en déterminant l'attitude de la caméra. Plus précisément, l'invention a pour objet un procédé de 15 stabilisation des images d'une scène, acquises au moyen d'un dispositif d'observation d'un système d'imagerie, comportant une étape de traitement numérique d'un flux d'images successives. Il est principalement caractérisé en ce qu'il comporte une étape d'acquisition de mesures gyrométriques au moyen d'au moins un capteur gyrométrique solidaire du dispositif 20 d'observation, d'utilisation de ces mesures gyrométriques pour déterminer des décalages dits approximatifs subis entre images successives, et en ce que l'étape de traitement d'image comprend une sous-étape d'utilisation des décalages approximatifs et du flux d'images acquises pour déterminer des décalages dits fins subis entre images successives. 25 L'avantage de l'estimation de mouvement hybride est ainsi de permettre la stabilisation de la séquence d'images (du flux d'images) quelle que soit la scène. De préférence, l'étape de traitement d'images comprend une sous-étape d'évaluation des décalages fins en vue de choisir entre les 30 décalages approximatifs et les décalages fins, ceux qui sont à appliquer au flux d'images pour le stabiliser. Selon une caractéristique de l'invention, l'étape de traitement d'images comprend une sous-étape de filtrage temporel des décalages. Avantageusement, l'étape de détermination des décalages fins 35 comprend les étapes consistant à : 2903200 3 a- dézoomer les images successives k fois pour obtenir k flux d'images à résolution réduite, k étant un entier supérieur ou égal à 1, b- calculer des décalages à partir du kième flux d'images à résolution réduite et des décalages approximatifs, 5 c- tant que k est strictement supérieur à 1, itérer le processus suivant : calculer des décalages à partir du (k-1) ième flux d'images à résolution réduite et des décalages précédents, k=k-1, 10 d-calculer les décalages fins à partir des décalages précédents et du flux d'images d'origine. Les calculs de décalage sont obtenus par exemple par corrélation. L'invention a aussi pour objet un dispositif de stabilisation des images d'une scène comportant un dispositif d'observation d'un système 15 d'imagerie et un élément de traitement numérique d'images successives, caractérisé en ce qu'il comprend en outre au moins un capteur gyrométrique solidaire du dispositif d'observation et à l'élément de traitement d'images. Selon une caractéristique de l'invention, l'élément de traitement d'images comprend un microprocesseur apte à mettre en oeuvre des calculs 20 de décalage entre images successives. Selon une autre caractéristique de l'invention, il comprend un premier réseau logique programmable disposé entre le dispositif d'observation et le ou les capteurs gyrométriques d'une part et l'élément de traitement d'images d'autre part, ce réseau logique programmable étant apte 25 à acquérir des mesures gyrométriques des capteurs et un flux d'images du dispositif d'observation et de préférence un autre réseau logique programmable disposé en sortie du microprocesseur et relié au dispositif d'observation et apte à appliquer les décalages fournis par le microprocesseur au flux d'images issues du premier réseau logique 30 programmable. Selon une variante de l'invention, ces réseaux logiques programmables sont regroupés en un seul réseau logique programmable. Ces réseaux logiques programmables sont de préférence des FPGA. 2903200 4 D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description détaillée qui suit, faite à titre d'exemple non limitatif et en référence aux dessins annexés dans lesquels : ^ la figure 1 représente schématiquement un dispositif de 5 stabilisation selon l'invention, ^ la figure 2 représente schématiquement les différentes étapes de l'estimation hybride du procédé selon l'invention, ^ la figure 3 représente schématiquement les différentes étapes du deuxième niveau de recalage de l'estimation hybride. 10 D'une figure à l'autre, les mêmes éléments sont repérés par les mêmes références. Un exemple de dispositif de stabilisation selon l'invention est représenté figure 1. 15 Il comprend une caméra vidéo 1 et deux capteurs gyrométriques 2 solidaires de la caméra. L'image de la caméra comportant des pixels répartis en lignes (axe x) et colonnes (axe y) ; il y a de préférence un capteur pour les lignes de pixels et un autre pour les colonnes. Ces capteurs sont typiquement des MEMS (acronyme de l'expression anglo-saxonne Micro 20 Electro Mechanical System ) réalisés sur silicium. Ils sont reliés à un FPGA 3 (acronyme de l'expression anglo-saxonne Field Programmable Gate Array). On rappelle qu'un FPGA est un réseau prédiffusé de portes logiques programmable par l'utilisateur, utilisé pour une fonction particulière. Le FPGA délivre un flux d'images et un flux de mesures gyrométriques ; ces flux sont 25 synchronisés de manière à ce que le décalage mesuré par les gyromètres soit rapporté à l'image correspondante. Ces flux d'informations sont traités par un microprocesseur 4. Ce traitement des flux d'images et de mesures gyrométriques synchronisés consiste principalement en une estimation de mouvement dite hybride dont le 30 but est de fournir une estimation des mouvements parasites entre images successives. Plus précisément, le microprocesseur 4 calcule les décalages à compenser pour recaler géométriquement les images les unes par rapport aux autres. La stabilisation a pour objet de corriger les mouvements involontaires de la caméra dans l'espace 3D. Une correction parfaite est 35 réalisée par combinaison d'une rotation et de translations suivant les trois 2903200 5 axes (x,y,z). Dans le cadre de la correction de mouvements de vibration de faibles amplitudes et de hautes fréquences, une correction en translation suivant les axes de l'image (axes x et y) est suffisante. En sortie, le microprocesseur 4 fournit à un autre FPGA 5 les 5 décalages calculés. Ce FPGA qui a pour fonction la transformation géométrique du flux d'images acquises, produit alors un flux d'images stabilisées. Selon une variante, on utilise un seul FPGA pour réaliser les fonctions des deux FPGA. Les différentes étapes de l'estimation hybride réalisées par le 10 microprocesseur 4 et illustrées figure 2 sont les suivantes. - Estimation approximative des décalages par les capteurs gyrométriques. Le flux de mesures issu des capteurs gyrométriques possède une fréquence supérieure au flux de la caméra vidéo. Ce flux gyrométrique est filtré temporellement afin de réduire le bruit des capteurs bas-coûts, 15 synchronisé par rapport à l'acquisition des images (i.e. un décalage suivant l'axe x et un décalage suivant l'axe y sont associés à chaque image) et les valeurs angulaires données par les gyromètres sont converties en nombre de pixels en fonction du champ de la caméra. On obtient un décalage dit approximatif c'est-à-dire avec une précision de l'ordre de 4 à 6 pixels pour un 20 champ d'environ 4 , ou de 2 à 3 pixels pour un champ d'environ 8 ; il est destiné à être exploité par le deuxième niveau de recalage (recalage par traitement d'images). - Estimation fine des décalages par traitement d'images : le deuxième niveau de recalage, le recalage fin (d'une précision inférieure à un 25 pixel par exemple), est réalisé par traitement d'images par exemple par corrélation d'images successives deux à deux. Ce deuxième niveau utilise le premier niveau de recalage pour initialiser son estimation, cette initialisation permettant ainsi de gagner en temps de traitement et de fiabiliser la mesure en imposant la cohérence des deux estimations. Ce deuxième niveau de 30 recalage est détaillé plus loin. Cette estimation de décalages peut être vue comme un processus hiérarchique produisant une première estimation approximative par mesures gyrométriques qui est ensuite affinée par traitement d'images éventuellement plusieurs fois, selon des résolutions de plus en plus fines. Ce principe permet 2903200 6 notamment de préserver une faible complexité de calcul pour le processus alors qu'une corrélation simple s'avérerait très coûteuse. - Fusion des estimations de décalages : la troisième étape consiste en la fusion des deux niveaux précédents de décalage de sorte à 5 combiner la précision de l'estimation par traitement d'image et la fiabilité de l'estimation gyrométrique. Le but est ici de fournir la meilleure estimation des mouvements en fonction du contexte : mouvements rapides ou lents, de forte ou faible amplitude, contenu de l'image contrasté ou non, structuré ou non, etc. Pour cela, le traitement de recalage fin intègre un procédé d'auto-évaluation détaillé plus loin et visant à estimer la fiabilité du traitement, par exemple par contrôle du niveau ou de la courbure locale d'un pic de corrélation. Suivant le résultat de cette auto-évaluation, l'un ou l'autre des niveaux de recalage est privilégié : - si l'estimation par traitement d'images n'est pas 15 suffisamment fiable pour cause d'image peu contrastée, de scène présentant une structure inadaptée comme des formes mono-directionnelles, de scène non structurée, de mouvements trop rapides et/ou de trop grandes amplitudes, alors le niveau de recalage approximatif est privilégié, - si l'estimation par traitement d'images est fiable alors le 20 niveau de recalage fin est privilégié. La fiabilité est par exemple définie en fonction d'un seuil minimum sur le résultat de corrélation et d'un seuil minimum sur le gradient de corrélation. L'avantage de l'estimation de mouvement hybride est ainsi de permettre la stabilisation de la séquence d'images (du flux d'images) quelle 25 que soit la scène. - Filtrage des décalages : la dernière étape est le filtrage temporel des différents décalages mesurés dans le temps, dont le but est de séparer les différentes composantes du décalage pour éliminer les décalages qui sont provoqués par des mouvements involontaires et ne conserver que ceux 30 qui résultent de déplacements volontaires de la ligne de visée comme un mouvement de déplacement panoramique par exemple. Les premiers correspondent aux déplacements de faibles amplitudes et de hautes fréquences temporelles alors que les seconds correspondent aux déplacements de grandes amplitudes et de basses fréquences temporelles. 35 2903200 7 On va à présent décrire plus en détail l'étape du deuxième niveau de recalage (recalage fin) en relation avec la figure 3. Cette figure illustre un exemple de réalisation de l'estimation fine des décalages par traitement d'images basé sur le principe de la corrélation multi-résolution : 5 L'image courante lt et l'image précédente 4_1 sont tout d'abord dézoomées, c'est-à-dire subissent une étape de diminution de résolution d'un facteur N. Cette étape comprend pour chaque image It et It_1 deux étapes : un filtrage passe-bas de l'image, 10 un sous-échantillonnage par lequel on ne conserve qu'un pixel sur N pixels suivant les deux axes. Nombre d'implémentations sont possibles pour réaliser un tel dézoom. Dans notre implémentation, on réalise un dézoom d'un facteur 2 par simple moyenne sur des blocs 2x2 soit : 15 (I(2i,2 j) + I(2i +1,2 j) + I(2i,2 j +1) + I(2i + 1,2 j +1)) ID(i,j) = 4 en notant : I l'image pleine résolution (It ou It_1) ID l'image dézoomée, (on notera IDt l'image It dézoomée et IDt_1 20 l'image It_1 dézoomée) i,j les indices de ligne et de colonne des pixels dans l'image. Les images dézoomées IDt et IDt_l sont ensuite corrélées pour fournir une estimation de décalage dite sous-résolue. On peut appliquer plusieurs méthodes pour réaliser la corrélation. 25 On va à présent en décrire une. La corrélation est très consommatrice de puissance de calcul. C'est pourquoi en premier lieu, la corrélation n'est réalisée que sur une fenêtre de taille réduite et centrée respectivement dans les images IDt et IDt-1 ; ces fenêtres correspondent généralement à une zone d'intérêt dans les 30 images. En second lieu, on désigne par corrélation toute fonction permettant de quantifier la similarité entre une image de référence IDt et une image secondaire IDt_1. Pour notre implémentation, on a choisi d'utiliser une fonction de distance (i.e. fonction de dissimilarité) de type métrique de Minkowski, 35 mais on peut en choisir une autre : 8 2903200 N M d(IDt,IDt1)= IDt(i,j)ùIDt-t (i, i) en notant : p l'ordre de la distance, IDt et lDt_1 les deux images à comparer, 5 i et j les indices de ligne et de colonne des pixels dans l'image, N le nombre de lignes de l'image et M le nombre de colonnes. Dans l'implémentation réalisée, on se limite à une métrique d'ordre 1 (p=1). Le principe d'estimation de décalage entre deux images est le 10 suivant. La nappe de corrélation ou nappe de distance noté Nd est construite en déplaçant le support de corrélation de l'image de référence IDt (le support est une fenêtre dans la fenêtre de l'image de référence), sur un horizon de corrélation donné, relativement à l'image secondaire et en 15 calculant, pour chaque position, la distance de Minkowski : N M p l/p Nd (u, v) = E E SDt (i, j) ù SDt-t (i +u, j + v) J=1 pour : - Hy u Hy et -- Hx REVENDICATIONS 1. Procédé de stabilisation des images d'une scène, acquises au moyen d'un dispositif d'observation d'un système d'imagerie, comportant une étape de traitement numérique d'un flux d'images successives, caractérisé en ce qu'il comporte une étape d'acquisition de mesures gyrométriques au moyen d'au moins un capteur gyrométrique solidaire du dispositif d'observation, d'utilisation de ces mesures gyrométriques pour déterminer des décalages dits approximatifs subis entre images successives, et en ce que l'étape de traitement d'image comprend une sous-étape d'utilisation des décalages approximatifs et du flux d'images acquises pour déterminer des décalages dits fins subis entre images successives. 2. Procédé selon la revendication précédente, caractérisé en ce que l'étape de traitement d'images comprend une sous-étape d'évaluation des décalages fins en vue de choisir entre les décalages approximatifs et les décalages fins, ceux qui sont à appliquer au flux d'images pour le stabiliser. 3. Procédé selon l'une des revendications précédentes, caractérisé en 20 ce que l'étape de traitement d'images comprend une sous-étape de filtrage temporel des décalages. 4. Procédé selon l'une des revendications précédentes, caractérisé en ce que l'étape de détermination des décalages fins comprend les 25 étapes consistant à : a- dézoomer les images successives k fois pour obtenir k flux d'images à résolution réduite, k étant un entier supérieur ou égal à 1, b- calculer des décalages à partir du kième flux d'images à résolution réduite et des décalages approximatifs, 30 c- tant que k est strictement supérieur à 1, itérer le processus suivant : calculer des décalages à partir du (k-1) ième flux d'images à résolution réduite et des décalages précédents, k=k-1, 2903200 12 d- calculer les décalages fins à partir des décalages précédents et du flux d'images d'origine. 5. Procédé selon la revendication précédente, caractérisé en ce que 5 k=1. 6. Procédé selon l'une des revendications précédentes, caractérisé en ce que les calculs de décalage sont obtenus par corrélation. 10 7. Dispositif de stabilisation des images d'une scène comportant un dispositif (1) d'observation d'un système d'imagerie et un élément (4) de traitement numérique d'images successives, caractérisé en ce qu'il comprend en outre au moins un capteur gyrométrique (2) solidaire du dispositif d'observation et relié à l'élément (4) de traitement d'images. 15 8. Dispositif selon la revendication précédente, caractérisé en ce que l'élément (4) de traitement d'images comprend un microprocesseur apte à mettre en oeuvre des calculs de décalages entre images successives. 9. Dispositif selon l'une des revendications 7 à 8, caractérisé en ce qu'il comprend un premier réseau logique programmable (3) disposé entre le dispositif d'observation (1) et le ou les capteurs gyrométriques (2) d'une part et l'élément (4) de traitement d'images d'autre part, ce réseau logique programmable (3) étant apte à acquérir des mesures gyrométriques des capteurs et un flux d'images du dispositif d'observation. 10. Dispositif selon l'une des revendications 7 à 9, caractérisé en ce qu'il comprend un autre réseau logique programmable (5) disposé en sortie de l'élément (4) de traitement d'images et relié au dispositif d'observation (1) et apte à appliquer les décalages fournis par l'élément de traitement d'images au flux d'images issues du premier réseau logique programmable. 2903200 13 11. Dispositif selon l'une des revendications 7 à 9, caractérisé en ce qu'il comprend un réseau logique programmable relié au dispositif d'observation (1) et à l'élément (4) de traitement d'images et apte à acquérir des mesures gyrométriques des capteurs et un flux d'images 5 du dispositif d'observation et à appliquer les décalages fournis par l'élément de traitement d'images audit flux d'images. 12. Dispositif selon l'une des revendications 9 à 11, caractérisé en ce que le réseau logique programmable est un FPGA. 10