Brevet FR2590702A1 — publié le 19870529

I Procédé de pontage entre éléments de contours dans une image La présente invention concerne un procédé de pontage entre éléments de contours dans une image. Elle s'applique notamment à la reconnaissance des vaisseaux en angiographie numérique mais peut égale- ment s'appliquer à l'analyse des vues aériennes pour la reconnaissance des fleuves et des routes. L'angiographie est un procédé qui permet une analyse visuelle de vaisseaux sanguins. Son principe consiste à radiographier la zone d'obser- vation avant puis après l'injection d'un produit opaque aux rayons X. La différence logarithmique de ces deux images permet, s'il n'y pas eu mouvement entre les deux prises de vue, d'obtenir une image bien contrastée des zones du réseau vasculaire o le produit a diffusé. Le support de l'image est formé en angiographie numérique par une mémoire numérique d'images qui permet une analyse pratiquement en temps réel des zones observées du réseau vasculaire. Seulement les lignes de contour du réseau vasculaire sont restituées de façon discontinue à cause notam- ment des seuils utilisés dans les méthodes d'extraction de contours. Il faut par conséquent déterminer si ces discontinuités sont dues à une absence réelle de contours ou si au contraire elles ne sont pas causées par un minimum local du gradient de luminance. Les procédés connus se basent généralement sur des considéra- tions de proximité ou d'orientation aux extrémités des lignes de contours susceptibles d'être pontées, mais celles-ci sont encore imprécises et ne permettent pas de renseigner avec suffisamment de certitude sur la présence ou sur l'absence réelle des discontinuités dans le réseau vascu- laire. Le but de rinvention est de pallier les inconvénients précités. A cet effet, l'invention a pour objet, un procédé de pontage entre éléments de contours disjoints dans une image, caractérisé par la recher- che d'un chemin optimal de pontage entre les extrémités en regard des éléments de contours disjoints, et consistant: à définir une fenêtre de recherche entre chacune des extrémités en regard des éléments de contours disjoints, à considérer dans la fenêtre les différents points d'image comme des noeuds dans un graphe, à déterminer un coût élémen- taire associé à chaque chemin reliant chaque noeud à ses noeuds voisins à partir des informations d'amplitude et d'orientation de la fonction de luminance utilisée pour détecter les contours, et à déterminer le chemin optimal en suivant à partir des coûts obtenus une ligne pour laquelle le gradient de luminance des points détectés apparaît maximal. L'invention a principalement pour avantage qu'elle permet à la fois d'associer un facteur de confiance à chaque pontage effectué et de favoriser une forme de chemin particulière en agissant sur les fonctions de coûts associées à chaque arc du graphe. D'autres caractéristiques et avantages de l'invention apparaîtront ci-après à l'aide de la description qui va suivre faite en regard des dessins annexés qui représentent: - la figure I une fenêtre de recherche définie à partir de deux extrémités d'un contour à ponter; - les figures 2A et 2B des graphes formés de points d'image disposés à l'intérieur de la fenêtre de recherche; - la figure 3 un organigramme retraçant les étapes du procédé employé par l'invention pour calculer un chemin optimal entre des points du graphe à ponter; - la figure 4 un exemple d'application du procédé de pontage selon l'invention. En imagerie numérique les procédés de détection de contours se déroulent généralement en deux phases de traitement principales, l'une consistant à définir, à partir d'une image numérique o chaque point d'image est codé par exemple sur huit bits, une autre image plus caractéristique des contours recherchés à raide d'un processus de filtrage, l'autre consistant à adopter des seuils pour l'image obtenue et à effectuer des opérations binaires sur rimage ainsi seuillée, pour détecter les zones connexes, les amincir et obtenir des segments par approximation linéaire des contours. Les contours obtenus présentent cependant des discontinuités, et il peut être intéressant de combler celles-ci lorsque Pl'information de contours réelle est manquante ou inexistante. Pour combler une disconti- nuité, un pontage peut par exemple être effectué directement sur l'image binaire en prenant en considération certains critères tels que la longueur de celle-ci et/ou celui des angles formés par les directions des lignes de contour situées de part et d'autre de celle-ci. L'inconvénient de ces procédés est qu'ils exécutent des traite- ments sur des données binaires réduites, et que beaucoup d'informations, qui seraient très utiles pour aider à prendre une décision correcte, sont perdues. Un autre procédé décrit dans l'article du CGIPI pages 169 à 182 de 1972 ayant pour titre "Martelli Edge Detection Using Heuristic Search Methods" se base sur une heuristique de recherche de chemins dans une image de luminance, et permet de détecter des contours dans des zones cd'image déterminées.Le procédé de pontage selon l'invention reprend certains principes du procédé décrit dans cet article. Mais il s'en distingue essentiellement du fait de son adaptation au problème spécifique de pontage de l'invention et par le fait que d'une part, il utilise comme données de départ celles figurant les niveaux de gris de l'image des amplitudes et/ou des orientations des gradients qui sont déjà calculés pour élaborer rimage des contours et qui représentent de ce fait mieux les contours que les données initiales de luminance et que d'autre part, il met en oeuvre un algorithme de recherche connu sous le nom d'algorithme de Moore-Dijkstra qui apparaît le mieux adapté pour amener une solution à un des problèmes spécifiques posés par l'invention, consistant pour recher- cher l'existence d'un contour passant par deux points A et B à ramener ce problème à celui déjà résolu par cet algorithme pour trouver le plus court chemin dans un graphe entre deux sommets. Selon l'invention, si le coût de codage du plus court chemin est inférieur à un seuil donné ce chemin est considéré comme celui correspon- dant au pontage recherché, sinon il n'y a pas de pontage possible entre les deux points. L'espace de recherche est défini de la manière représentée à la figure I o est insèré entre deux points A et B, marquant les extrémités cPd'une discontinuité dans un contour C de l'image, un carré de côté D égal à la distance séparant les points A et B et orienté dans le plan, pour que les points A et B soient disposés sur deux côtés opposés du carré au milieu de ceux-ci. L'espace de recherche F ainsi défini, forme une fenêtre de recherche qui est entrecroisée sur la figure 2A par des lignes et des colonnes, chaque noeud placé à Ilntersection d'une ligne et cd'une colonne représentant un point d'image. Sur la figure 2A la fenêtre carrée de recherche est partagée en trois lignes et trois colonnes et chaque noeud P. ! intérieur à la fenêtre de recherche F est relié à chacun de ses huit voisins Pj par un arc (i,j) auquel est attribué un coût Mi = Cij correspondant au coût associé au passage d'un point Pi à un point voisin Pj. Ceci permet en définissant des coûts caractéristiques pour chaque arc sous-tendu entre deux noeuds voisins de calculer un coût global pour déterminer le plus court chemin pour aller du point A au point B. La recherche du plus court chemin s'effectue en appliquant les enseignements de lalgorithme de "Mooer Dijkstra", de la façon décrite ci- après à l'aide de rorganigramme de la figure 3, appliqué à un graphe représenté par un ensemble de sommets (A, 2,..., N) et un ensemble d'arcs (i, j) affectés d'un coût Cij. L'exécution de cet algorithme commence par une phase d'initialisation et se poursuit par une phase de sélection des points du graphe de coût minimum, suivie cd'une phase de remise à jour des coûts pour chaque point de coût minimum sélectionné à l'intérieur du graphe. La phase d'initialisation représentée en 1 sur la figure 3 fait démarrer la recherche au sommet S = A en considérant également l'ensemble S = (2,..., N) des pixels ou des points d'image restants de la fenêtre. Sur la figure 3 M(A) = 0 désigne le coût associé au point A de départ, Mi = CAi désigne le coût de codage pour parcourir le chemin séparant le point A d'un point i voisin du point A et P(i) un vecteur qui est constitué à chaque point sélectionné du chemin optimal pour permettre de reconstituer ce chemin lorsque toutes les étapes de l'algorithme sont terminées. Durant la phase d'initialisation le vecteur P(i) (prédécesseur de i) est placé égal à P(A) pour désigner le sommet de départ A. La phase de sélection des coûts minimums s'exécute aux étapes 2 à 5. L'étape 2 consiste à choisir le sommet j appartenant à rensemble S tel que le coût M(j) soit égal au minimum des coûts (M(i)) quelque soit le sommet i appartenant à rensemble S. Si le minimum des coûts obtenus fait apparaître que le sommet j de coût minimum correspond au sommet B le processus s'arrête à rétape 4 et le chemin de coût minimum est obtenu à partir du vecteur P(i) Par contre, si le sommet j de coût minimum ne correspond pas au sommet B le processus continue à l'étape 5 par la mise à jour de l'ensemble des sommets S en retirant le sommet j de cet ensemble et en effectuant une remise à jour des coûts à l'étape 6, le coût M. de départ étant mis à jour éventuellement par un coût Mj + Cji égale au coût du point j augmenté du coût Cji du trajet reliant le point i précédent au point j. Cette mise à jour correspondant à la notation sur la figure 3, M(i) - min (M(i), M(j) + Cji), permet d'effectuer à l'étape 7 un test sur le nouveau coût obtenu et si le nouveau coût obtenu est différent du coût M(i) précédent, alors le vecteur Pi est mis à jour pour désigner à l'étape 8, le sommet j comme prédécesseur du sommet i, sinon le traitement retourne à l'exécution de l'étape 2. Les coûts élémentaires Cij dépendent de la méthode d'extraction de gradient retenue ainsi que des contraintes qui sont imposées sur la forme du chemin. Dans l'exemple préféré de réalisation de l'invention, la méthode d'extraction de gradient retenue est dérivée de celle qui est proposée par rarticle de NEVATA et BABU intitulé "Linear picture edges extraction and description" et paru dans le volume n 13 de 1980 de la Revue Computer Graphics and Images Processing. Cette méthode utilise plusieurs masques différents en caractérisant chaque élément de contours par une amplitude et une orientation locale de celui-ci. Elle donne de bons résultats pour les problèmes spécifiques de l'angiographie numérique. Il va cependant de soit, que d'autres méthodes d'extraction de contours four- nissant une image à niveau de gris caractéristique de ces contours pourraient également s'appliquer au procédé de pontage selon l'invention qui vient d'être décrit. Les coûts élémentaires Cij pourront dépendre également des contraintes qui pourront être imposées sur la forme du chemin. Par exemple, dans un premier cas, si l'on cherche à suivre la ligne d'amplitude maximum du gradient pour déterminer la forme du chemin, des coûts élémentaires du type Cij = Max - aj pourront être déterminés o Cij désigne le coût élémentaire pour aller du sommet i au sommet j - Max désigne l'amplitude maximum du gradient dans la fenêtre F - et aj désigne ramplitude du gradient au sommet j. Selon un deuxième cas, pour tenir compte plus spécialement de la forme du chemin, il pourra être profitable d'utiliser l'information (d'orien- tation locale pour faire intervenir dans le coût la forme du chemin désirée. Par exemple, pour favoriser un chemin rectiligne, des coûts élémentaires du type: Cij = Max - aj + I1 Oj - Q moyenl a. ou encore Ci.. = Max - K a j K2.Q pourront être utilisés avec Q =K si Oj = 0 moyen ou Q = |j- 0 moyen si gj différent de Q moyen 2 Dans ces formules Q. désigne l'orientation locale au sommet j et J 0 moyen désigne la moyenne des orientations locales aux sommets A et B. De la même manière, pour définir un contour régulier, sans brusque changement d'orientation, un coût élémentaire du type Cij = Max-aj + K1 0[ j-gil a. ou encore Cij = Max ---K. pourront être utilisés avec j K2.Q Q = si j = i oubienQ= i-0Q. sigjestdifférentdegi. Une fois que le chemin optimal est trouvé, il faut encore décider de son caractère acceptable ou non. Une première voie consiste à ne retenir le chemin que si le coût rapporté au nombre de points du chemin est inférieur à un seuil prédéterminé. Cette méthode est valable mais la détermination du seuil reste délicate. Il apparaît bien préférable de calculer le long d'un chemin L trouvé un critère de qualité relatif de la forme A.xNI r L amax Ai = l'amplitude du gradient au point i du chemin corrigé par i Porientation: (Max - Cij) N = le nombre de points sur le chemin ama = amplitude maximale sur le chemin, points extrémités max compris. Dans ces conditions le pontage sera effectué que si Cr est supérieur à un seuil déterminé exprimé par un pourcentage. L'exemple qui vient d'être donné d'un mode de réalisation préféré de l'invention n'est pas limitatif, il va de soi que d'autres variantes d'exécution sont également possibles qui dépendront pour la plupart de l'approche utilisée pour définir le système de traitement de l'image sans que pour autant celles-ci s'écartent du cadre même de l'invention revendiquée. Dans le cas par exemple, d'une approche qui serait dirigée avec la volonté d'extraire le maximum d'informations de l'image sans tenir compte du résultat des étapes de traitement haut niveau on pourra rechercher par exemple, à ponter toutes les extrémités des lignes de contours qui satisfont certains critères de proximité. Un algorithme correspondant pourra être dans ce cas du type de celui qui est représenté à la figure 4 aux étapes 10 à 13, commençant à Pétape 10 par le recueil des données initiales constituant les images des contours, des amplitudes et des directions du gradient, pour sélectionner à 'Pétape 11 les extrémités des lignes de contour candidates si leurs distances sont inférieures par exemple à un seuil et si elles ont une orientation voisine. Dans ce cas, on pourra appliquer aux extrémités sélectionnées le procédé de pontage qui vient d'être décrit et si le test d'accessibilité est vérifié le pont obtenu sera retenu, ou rejeté dans le cas contraire. On remarquera que cette stratégie peut encore être utilisée de deux manières différentes, soit telle qu'elle ou encore de manière itérative. Dans ce dernier cas on bouchera d'abord les trous de un point, puis de deux points, etc... La méthode la plus intéressante dépendra du type d'image et du temps disponible. D'autres approches pourront également être dirigées non plus à partir des données mais à partir cd'un concept, du type par exemple, connu dans la littérature anglo-saxonne sous la désignation "Top.Down". En effet, la formulation d'une hypothèse sur l'existence d'un objet peut conduire à faire une hypothèse sur la continuité d'un contour. Cette continuité peut par conséquent être vérifiée par le procédé de pontage qui vient cPd'être décrit de manière à confirmer ou infirmer l'hypothèse. Dans ce cas il sera suffisant d'appliquer simplement le procédé selon l'invention aux extrémités désignées A et B et non à toute l'image comme dans l'approche précédente. REVENDICATIONS 1. Procédé de pontage entre les éléments de contours disjoints dans une image, caractérisé par la recherche d'un chemin optimal de pontage entre les extrémités en regard des éléments de contours disjoints, et consistant: à définir une fenêtre de recherche (F) entre chacune des extrémités en regard (A, B) des éléments de contours disjoints, à considérer dans la fenêtre (F) les différents points d'image comme des noeuds dans un graphe, à déterminer (1,..., 8) un coût élémentaire associé à chaque chemin reliant chaque noeud à ses noeuds voisins à partir des informations d'amplitude et/ou d'orientation de la fonction de lumi- nance utilisée pour détecter les contours, et à déterminer le chemin optimal en suivant à partir des coûts obtenus une ligne pour laquelle le gradient de luminance des points détectés apparaît maximal. 2. Procédé de pontage selon la revendication 1, caractérisé en ce que pour suivre une ligne d'amplitude maximale du gradient chaque coût élémentaire Cij pour aller d'un noeud i à un noeud j est défini par une relation du type Cij = Max - aj o Max désigne ramplitude maximum du gradient dans la fenêtre (F) et aj désigne lamplitude du gradient au noeud j. 3. Procédé selon l'une quelconque des revendications 1 et 2, caractérisé en ce que le chemin optimal est également déterminé en fonction de rorientation locale du chemin trouvé en chaque noeud j du graphe pour faire intervenir dans le coût la forme du chemin désiré. 4. Procédé selon la revendication 3, caractérisé en ce que pour favoriser un chemin rectiligne chaque coût élémentaire Cij est défini par une relation du type Cij = Max- aj+ K1 ' j -0moyI ou encore a. Cij = Max- 1K hi K2.Q avecQ= j-Omoy| sijmoyou Q=K2si Qk = moys Qj et 0moy désignant respectivement l'orientation locale au noeud j et 0moy la moyenne des orientations locales aux extrémités A et B. 5. Procédé selon la revendication 3, caractérisé en ce que pour définir un chemin o lorientation locale peut varier progressivement chaque coût élémentaire Cj.. est défini par une relation du type ai C.. = Max - a' 1) K2.Q Si Qj i Q= [Ij-0iI J IP sinon Q -. 6. Procédé selon l'une quelconque des revendications I à 5, caractérisé en ce qu'il consiste lorsqu'un chemin optimal de pontage a été trouvé à effectuer un test (13) d'acceptabilité consistant à retenir le chemin que si le coût rapporté au nombre de points du chemin est inférieur à un seuil prédéterminé. 7. Procédé selon l'une quelconque des revendications I à 5, caractérisé en ce qu'il consiste lorsqu'un chemin optimal de pontage a été trouvé à effectuer un test d'accessibilité en calculant sur le chemin trouvé L un critère de qualité Cr défini par la relation A..Nr C =' 1_ L max avec Ai = amplitude corrigée par l'orientation Ai = Max - Cij du gradient de luminance au point i du chemin N = nombre de points du chemin amax = amplitude maximale du gradient sur le chemin et en effectuant un pontage si Cr est supérieur à un seuil prédéterminé. 8. Utilisation du procédé selon l'une quelconque des revendications I à 7 dans les procédés de recherche de contour dans une image. 9. Utilisation du procédé selon l'une quelconque des revendications I à 8 pour la reconnaissance de vaisseaux en angiographle numérique.