• Aucun résultat trouvé

6.3 Génération et renforcement d’hypothèses

6.3.2 Renforcement d’hypothèses

Les hypothèses générées par l’étape précédente sont renforcées à cette étape de manière à infirmer ou confirmer l’objet sous-jacent. Pour ce faire, une certaine précision sur le premier jet d’hypothèse est néces-saire pour que le procédé ne diverge pas. Aussi, comme notre procédé progresse de manière incrémentale, courbe par courbe et comme les paramètres définissant les transformations sont contrôlés par la méthode de Newton, nous évitons toute divergence de notre modèle.

Néanmoins, la méthode actuellement développée n’exploite pas la méthode ordonnée que nous pré-sentons à la section4.2.4. De ce fait, nous générons trop d’hypothèses dont beaucoup de doublons et comme nous re-explorons le voisinage des courbes possibles à chaque itération, nous n’obtenons pas forcément les mêmes hypothèses. Mais, cette première approche nous permet d’illustrer que le procédé est capable de regrouper des portions de contour appartenant au même objet sous la même hypothèse et de donner une idée de l’objet sous-jacent.

La figure6.9illustre les résultats obtenus pour une feuille donnée à partir d’une portion d’image et la figure6.10montre toutes les hypothèses trouvées dans cette portion d’image.

Sur la figure 6.10 nous pouvons voir que les hypothèses générées permettent d’extraire les objets partiellement occultés.

FIG. 6.9 – Renforcement d’hypothèses – exemple pour une feuille.La figureamontre l’image d’origine, lables courbes extraites, lacl’hypothèse générée et ladles hypothèses renforcées.

FIG. 6.10 – Renforcement d’hypothèses – exemple complet pour la même portion.La figureamontre

toutes les courbes extraites et labprésente toutes les hypothèses générées.

Conclusion et perspectives

Prendre une décision, c’est transformer le doute en incertitude.

81

Le procédé mis en œuvre durant cette thèse, nous permet d’extraire une partie des feuilles contenues dans l’image à la condition que les données extraites de cette image soient valides et exploitables. Comme nous l’avons dit en introduction du chapitre précédent, le procédé est une succession de sous-méthodes, ainsi, il devient de moins en moins fiable lorsque une ou plusieurs des sous-méthodes retournent peu de résultats valides. Aussi, les feuilles se chevauchant ou celles partiellement dégradées peuvent être extraites à la même condition que précédemment.

L’analyse, à posteriori, du travail accompli par rapport aux méthodologies existantes, montre une certaine similitude avec des procédés déjà éprouvés, comme, par exemple, le travail effectué par [Low87]

ou bien [Pop94b]. Néanmoins, l’originalité du travail accompli repose, principalement, sur l’exploitation d’images de scènes naturelles et complexes, sur l’utilisation des courbes de Bézier de degré 2 associée à la génération et au renforcement d’hypothèses et enfin, sur l’agencement de ces étapes. Ce type de méthode basée sur cet agencement est un des moyens les plus efficaces pour venir à bout de ce problème, car il évite des procédés exhaustifs ou des décisions trop affirmées.

Une bibliographie plus approfondie et l’élaboration d’une série de tests pour déterminer les meilleures méthodes à employer pour chacune de ces étapes aurait sûrement pu améliorer la qualité des résultats.

Mais, la vision d’un mammifère supérieur est bien plus complexe que n’importe qu’elle méthode que nous souhaiterions pouvoir mettre en œuvre dans des délais raisonnables et dont les résultats serait, aussi, obtenus dans des délais raisonnables. Ainsi, nous avons surtout chercher à développer un procédé efficace et original se basant sur une méthodologie cohérentes mais avec des sous-méthodes qui pourrait être améliorées.

Si nous considérons le procédé par étape, nous pouvons établir la liste des améliorations et évolutions possibles. L’étape de segmentation repose sur des images dont la qualité de prise de vues peut être gran-dement amélioré par l’utilisation, par exemple, d’un support permettant des prises de vues dans le même plan que le terrain afin de limiter les déformations de perspective, ou bien par l’utilisation d’un dispositif diffusant d’une manière uniforme la lumière sur les plantes, ou encore placer l’appareil plus haut, utiliser un capteur plus précis et un objectif à focale plus longue afin, là aussi, de limiter les déformations de perspec-tive. Aussi, il est évident que l’espace couleur utilisé lors de la segmentation (i.e.RGB) ne correspond pas exactement à nos besoin et qu’un espace plus adapté aurait dû être défini. Nous n’utilisons pas ni calibration des blancs ni calibration par une réglette photographié en même temps que les plantes et définissant les couleurs primaires. De plus, la segmentation ne permet pas d’extraire les informations de contours au sein d’un objet composé de plusieurs autres (comme une plante composée de feuilles) à partir du moment où la couleur de ces objets adjacents est similaire. De cette observation, il parait correct de penser qu’une colla-boration contours-régions peut grandement améliorer cette étape. En effet, un certain nombre de contours séparant des régions adjacentes de couleur similaire peuvent être extraits par des algorithmes connus (i.e.

Canny, Deriche,etc.) alors qu’ils ne sont pas détectés par la segmentation couleur. Ce type de collaboration peut nous permettre de diviser une région plante en un ensemble de régions feuille. Néanmoins, ce type de collaboration n’est pas évidente à mettre en œuvre et n’a pas fait l’objet de recherches pour être intégrée à notre méthode de segmentation. Il pourrait être, aussi, intéressant d’exploiter l’information contenue dans les modèles afin de guider la segmentation, néanmoins ce type d’approche nous ramène aux problèmes liés à la reconnaissance de forme, car il faut être capable de déterminer l’alignement du modèle en fonction d’information disponible en début de segmentation pour guider la segmentation elle-même.

La vectorisation des contours discrets en courbes de Bézier, comme nous l’avons préciser dans la partie bibliographique concernée, peut être améliorée par l’utilisation de méthode plus efficaces pour dé-terminer les points dominants d’un contour discret. Et, cela sans l’utilisation pernicieuse de la pléiade de paramètres de la méthode que nous avons définie, laquelle fonctionne correctement mais nécessite un ajuste-ment précis des paramètres. Néanmoins, l’extraction des points dominants par une autre méthode ne définie pas pour autant les points de contrôle des courbes de Bézier, ce qui nous ramène à l’utilisation de notre automate. Aussi, cet automate, fini, est défini pour approximer un contour discret issu d’un objet organique, comme une feuille de plante, mais se révèle moins efficace sur des images de synthèses. Il pourrait être

nécessaire de l’améliorer afin d’obtenir des résultats plus pertinents dans le cas général et aussi, pour limi-ter l’utilisation des paramètres. Par contre, le choix du degré des courbes de Bézier reste primordial car il limite les possibilités d’appariement, simplifie les calculs et évite, ainsi, de retomber dans une complexité combinatoire.

Un des désavantages de la modélisation employée est qu’elle n’exploite qu’une échelle de représenta-tion pour un modèle de forme et ce qui peut être limitant dans les objets que nous souhaiterions représenter.

Actuellement, il nous est, par exemple, impossible de différencier une feuille d’ortie d’une feuille de ficus.

Une utilisation multi-échelles du modèle pourrait résoudre ce problème, car cela permettrait de représenter différent niveaux de détails pouvant être exploité selon l’échelle à laquelle est observée l’hypothèse. Mais, la modélisation par courbes de Bézier ne serait peut être plus adaptée. La représentation multi-échelles semble être intuitive lorsque nous regardons comment un mammifère supérieur reconnaît un objet lointain se rapprochant. En effet, à partir de cette forme vague, il nous est possible d’émettre un certain nombre d’hypothèses quant à la nature de l’objet en question. Hypothèses se précisant au fur et à mesure que l’objet se rapproche et qu’il est possible d’identifier des détails privilégiant tel ou tel hypothèse. Néanmoins, cette approche n’a pas été intégrée dans notre travail à cause des problèmes liés à cette modélisation et à la mise en place dans notre méthode.

Le problème majeur de la génération d’hypothèse est la définition du point caractéristique. En effet, ce point est la base de la recherche d’un modèle pouvant correspondre et, aussi, est la base de la position, orientation et échelle de ce premier jet d’hypothèse. Le point caractéristique que nous avons défini est va-lable dans le cas que nous avons considéré pendant cette thèse, i.e.les feuilles oblongues. Par contre, la reconnaissance de feuilles rondes, par exemple, n’est pas aisément faisable avec celui-ci, ce que induit le besoin d’un autre type de point caractéristique dont la définition n’est pas forcement ce qu’il y a de plus évident. Les feuilles rondes sont un cas particulier, car dans la littérature, le choix du point caractéristique est souvent un coin (“corner”) dans le cas du traitement d’images contenant des objets manufacturés. Une autre possibilité pour la définition d’un type de point caractéristique revient à interpréter les rapports d’un ensemble d’éléments extraits de l’image dans l’espace. Cette approche permet de passer au delà de l’aspect local à l’objet, que peut avoir tel ou tel élément, pour passer à un aspect local à l’image ou global à l’ob-jet. Ce type d’approche est utilisée, par exemple, par [Low87], et est nommée “perceptual grouping”. Elle permet, dans le cas de [Low87], de grouper certains éléments entre eux selon leur proximité et connexité, et il utilise cette information comme point caractéristique qu’il va rechercher dans ses modèles. Cette re-cherche de rapports entre éléments, s’apparente à la reconnaissance de forme elle-même dans le cas où nous manipulons des objets organiques (sous-entendant des algorithmes gérant cette variabilité de forme) et que les rapports recherchés sont définis à l’avance (sous-entendant une sorte de modèle). Cette approche, ainsi posée, pose un problème de fond car nous sommes revenus à notre problème initial. De cette observation, il peut être intéressant de considérer le problème initial en sous-problèmes eux-mêmes décomposables en sous-problèmes, comme en intelligence artificielle. Nous pouvons, ainsi, considérer des modèles de rapport entre éléments définis pour traiter les éléments les plus basiques (ceux extraits de l’image) puis une autre sé-rie de modèles établissant des rapports possibles entre les rapports obtenus précédemment. Et, ainsi de suite jusqu’à ce que l’agencement des différents sousn-modèles arrivent à définir un modèle de forme assimilable à un objet feuille, par exemple. Cette représentation, rappelle, là encore, la représentation multi-échelle mais peut permettre de définir des modèles pour chaque niveau de détail et permettre la reconnaissance d’objets composés (i.e.pointe de feuille / limbe, feuille, plante, rangée de plantes, champs). Néanmoins, cette vue le l’esprit peut nécessiter un type de modélisation spécifique pour chaque étage de modèle.

L’information extraite de l’image de part son côté discret ne permet aucune ambiguïté, néanmoins les différents étapes appliquées successivement à cette information, ou l’information issue de transformations, induisent une certaine erreur qui peut être associée aux objets manipulés. Cette erreur entraîne, de ce fait, une incertitude qu’il est important de prendre en compte afin d’éviter des prises de décisions hâtives plus applicables à des objets discrets (qui ne sont plus ceux nous manipulons arrivé à un certain niveau de

traite-ment). Pour prendre en compte cette incertitude plusieurs possibilités sont offertes comme, par exemple, la logique floue, les systèmes Bayésien ou la théorie de l’évidence et de l’incertitude. Dans le cadre de notre étude le choix de la logique floue a été pris du fait de la mise en œuvre rapide, la définition possible de règles et des possibilités d’extensions, bien que nous n’utilisons pas d’inférence floue dans notre procédé.

De ce fait, il est concevable d’estimer que des résultats corrects de classification obtenus dans tous les cas, restent possibles mais avec des moyens logiciels et matériels adéquats.

Annexes

Sommaire

8.1 L’environnement graphiqueTraitIm . . . 89

8.2 Espaces couleur . . . 90

8.2.1 Caractéristique de différents espaces de couleurs . . . 90

8.2.2 Mesure dans les espaces couleur . . . 90

8.3 Les outils généraux développés . . . 94

8.3.1 La structure de graphe . . . 94

8.3.2 La structure de table de hachage . . . 94

8.3.2.1 Rappel . . . 94

8.3.2.2 Fonction de hachage. . . 96

8.3.3 La structure de gestion de la mémoire . . . 97

8.3.3.1 Cas pour les objets “classiques”. . . 97

8.3.3.2 Cas pour les objets paramétrés . . . 98

8.3.4 Intégration de ces structures . . . 98

87

8.1 L’environnement graphique TraitIm

Cet environnement a été conçu et développé par Gilles Rabatel pour répondre à des besoins de re-présentation, stockage et traitement d’images dans différents contextes (prototypes embarqués, UC à faible espace mémoire, mode texte,etc.). L’ensemble est basé sur une structure d’image simple permettant d’ef-fectuer des actions basiques comme l’écriture et la lecture de pixels. Cette base a ensuite été dérivée et intégrée pour faire partie d’un environnement graphique (sous Windows) liant la visualisation de plusieurs images et l’incorporation de librairies de traitement d’image (développées pour cet environnement). Ces li-brairies reprennent des outils essentiels comme l’extraction de contours (Deriche, Laplace), la morphologie mathématique, des fonctions sur les objets binaires,etc..

Cet outil a été créé sous l’IDE Borland 5 et une bonne partie de son code dépendait directement des fonctionnalités spécifiques de la librairie graphique OWL de Borland. Du fait que Borland ne maintient plus ce produit et les librairies qui en découlent, il a fallu opérer des transformations de fond pour minimiser ce qui devait être dépendant de l’environnement OWL. Ainsi, une organisation a émergée comportant une DLL

‘graphique’ spécifique à un gestionnaire de fenêtres (OWL), une interface ‘client’ pour utiliser cette DLL de manière transparente et des structures de bases comme la représentation d’une image ou comme le modèle de DLL utilisateur.

La DLL ‘graphique’ comporte l’ensemble des fonctions nécessaire à l’environnementTraitImcomme la création d’une fenêtre image, l’ouverture d’un fichier image, la gestion de paramètres, la gestion du menu dynamique (permettant l’intégration de nouvelles DLL outils),etc.. Cette forme permet de ne pas se limiter à OWL et de s’adapter au type de la plate-forme (Windows, Linux,etc.) en redéfinissant chaque fonction avec une librairie compatible avec le système ou bien en utilisant une librairie multi-plateforme comme Fox, GTK, ou autre. L’utilisation avec Java a été envisagée mais la compatibilité entre le C++ et Java, à travers les JNI, reste à être bien étudié.

La migration versVisual C++et création de cette nouvelle organisation a demandé un certain nombre de semaines mais était nécessaire pour pouvoir travailler rapidement et tester facilement les méthodes conçues. L’utilisation d’autres environnements1 n’a pas été retenue car la migration de l’existant était plus importante à long terme (plusieurs développements sous TraitIm ont déjà vu le jour depuis une dizaine d’année). De plus le besoin d’efficacité et de confort nous a maintenus dans le choix du langage de pro-grammation C++.

Notes sur le travail fait :

• interface ‘client’ pour l’utilisation de la DLL Winuti32 (basée sur OWL).

• retouche et des mises en forme des différents fichiers ‘client’.

• homogénéisation en terme de define, include, type de variables, ...

• retouches divers et variées (delete [], verif NULL,etc.).

• ... je ne sais plus ... ... ok ok j’aurais dû noter ...

1MathLab, Optimas, package Java JAI, ...

Documents relatifs