• Accueil
  • Blog
  • Comment construire des applications adaptatives de traitement de signaux ?

Comment construire des applications adaptatives de traitement de signaux ?

Comment construire des applications adaptatives de traitement de signaux ?

S. Sochacki, PhD in Computer Science

 

A2D, ZA Les Minimes, 1 rue de la Trinquette, 17000 La Rochelle, FRANCE

.

.

1.Le cadre général de la reconnaissance de formes

La vision industrielle est l’application de la vision assistée par ordinateur aux domaines industriels de production et de recherche. Les productions de masse à haute cadence, le souci constant d’amélioration de la Qualité et la recherche de gain économique poussent de plus en plus les industriels à automatiser les moyens de production. La vision industrielle est une réponse à ces préoccupations pour les opérations de contrôles de la production. En effet les machines de vision industrielle permettent un contrôle à haute cadence et assurent une bonne répétabilité (à la différence d’un opérateur humain, une machine n’est jamais fatiguée et ses critères de décision ne varient pas). Une autre utilisation est la gestion des flux d’objets. Par exemple la lecture optique d’un code à barres ou d’une adresse postale sur un colis pour l’orienter dans un centre de tri. Ou encore le tri de pommes par couleurs différentes avant emballage. Cela peut enfin être un moyen de guidage pour un système mobile autonome (comme un robot ou un drone) lorsque ses mouvements ne peuvent pas être déterminés par avance, comme la préhension d’objets sur un tapis roulant. Une caméra est alors embarquée sur la tête du robot et permet le positionnement de celui-ci au point désiré.

.

Cette discipline s’appuie essentiellement sur la reconnaissance de formes ou de caractères. Or, une image est un objet qui contient une grande quantité d’informations (formes, couleurs etc.) selon le niveau d’analyse : l’image par elle-même, chacun de ses objets ou chacun de ses pixels. Dans notre optique d’instrumentation d’une partie de la vision humaine, nous sommes amenés à nous poser la question de l’automatisation des traitements de l’image. Il existe aujourd’hui un grand nombre d’opérations informatiques applicables à une image. Le problème est que celles-ci sont dépendantes du but recherché ; rehausser un contraste ne mettra pas en jeu les mêmes actions que l’extraction des contours des objets. Il en va de même pour l’extraction des formes contenues dans l’image ou bien encore, tout simplement, le débruitage de celle-ci. Le choix des opérateurs, ainsi que leur séquencement vont donc dépendre des données disponibles ainsi que du but recherché.

.

Ces questions ne se posent pas uniquement dans le cadre de la reconnaissance de formes et de caractères : toute application de vision artificielle pose ces interrogations. Il existe en effet bon nombre de méthodes, d’approches, d’algorithmes etc. qui permettent aux experts de ce domaine de développer des applications spécifiques à un problème ou un champ d’application. L’inconvénient est qu’étant donné la complexité de l’objet image, et la spécificité des applications, il faut, la plupart du temps, pour chaque nouveau problème redévelopper une application entière.

2.Concevoir des applications de traitement d’images sous forme de chaine de traitements

Nos travaux se fondent sur l’hypothèse selon laquelle toute application de traitement d’image peut être représentée comme une chaîne d’opérateurs unitaires. Parmi ces opérateurs nous retrouvons toutes les étapes de pré-traitement (correction de l’illumination de l’image, de son orientation, de son échelle etc.), de débruitage (image couleur, niveaux de gris ou noir et blanc), de concentration des données dites utiles (seuillage, binarisation etc.), de segmentation, de calculs d’attributs sur les éléments issus de la segmentation le plus souvent suivies d’une étape de classification et de décision. Le débruitage est représenté en dehors des opérations de pré-traitement étant donné sa nature complexe. En effet, il est tout à fait possible d’enchaîner les opérations (débruitage d’une image couleur, conversion de l’image en niveaux de gris, débruitage d’une image en niveaux de gris, binarisation, débruitage d’une image binaire), ou de corriger différentes origines de bruit (bruit lié au document lui-même, bruit lié au système de numérisation…).

A diagram of a diagram Description automatically generated
Figure 2‑1 – Représentation d’une application de traitement d’image

Ainsi que nous l’avons énoncé, il faut dans la majorité des cas, développer intégralement une nouvelle application de traitement d’image pour chaque nouveau problème qui se pose, ce qui implique de refaire les enchaînements, avec de nouveaux opérateurs. Dans ce cas, certes les traitements sont différents, mais ils représentent fonctionnellement le même rôle ; un calcul d’attributs via les moments de Zernike se fera dans exactement le même but que via les moments de Fourier. Il en va de même pour les moyens techniques de réaliser un débruitage (qu’importe la méthode, le but est d’enlever le bruit), une classification (qu’importe la méthode, le but est d’attribuer une classe aux attributs) etc. Si le schéma fonctionnel reste le même, pouvons-nous imaginer fournir au système des ensembles d’opérateurs, sortes de boîtes à outils par étape de la chaîne de traitements ? Ainsi, un système d’analyse des sorties des opérateurs et de bouclage entre les étapes apporterait une chaîne de traitements dynamique et adaptative, résolvant ainsi nombre de contraintes.

.

Notre hypothèse principale est que toute chaîne de traitement d’images devrait fonctionner de façon bouclée. La question principale portant dès lors sur le critère de sortie de la boucle de traitement. Selon un tel formalisme, le critère de bouclage doit porter sur les informations issues du traitement, soit la décision d’étiquetage typiquement. Face à cette question, il nous apparaît évident que pour justifier le bouclage, la qualité de la décision doit être estimée pour servir de critère. En s’arrêtant à cette question, les solutions sont nombreuses pour produire à la fois décision et estimation de la qualité de celle-ci, mais notre raisonnement induit que la qualité de la décision est liée à la qualité des données, la qualité des valeurs qui caractérisent ces données et la qualité des systèmes de décision ou d’étiquetage intermédiaires. Dès lors, rien n’interdit la mise en œuvre de différents niveaux de bouclage pour obtenir un système tel que décrit par Fayyad [1] [2] dans ses travaux donnant lieu aux bases du ”Data Mining” et du ”Knowledge Discovery in Databases” (KDD), illustré par la Figure 2‑2.

A diagram of a process flow Description automatically generated
Figure 2‑2 – Les étapes de l’extraction de la connaissance selon Fayyad

.

Le modèle de Fayyad, adapté à notre problème, peut être représenté par la figure suivante.

Figure 2‑3 – Chaîne de traitement linéaire simple

.

Or, si l’approche totale de Fayyad est intellectuellement séduisante, elle paraît concrètement comme très difficile à mettre en œuvre du fait de l’aspect fortement non linéaire des différents traitements. À l’opposé d’un système de traitement complètement automatique dans sa gestion interne, Régis Clouard [3] s’appuie sur la forte dépendance à l’expert pour la production d’une chaîne de traitement d’images.

.

Selon lui, cette discipline a atteint une certaine apogée, étant données les méthodes développées mais manque actuellement de modélisations génériques et d’outils de construction automatique d’applications, d’où le recours quasi systématique aux experts en traitement d’images. Dans son modèle, la complexité de l’analyse réside dans le fait que les applications de traitement d’images sont toujours dédiées, et d’autre part que le choix des opérations est souvent si ce n’est toujours soumis aux choix de l’expert en traitement d’images. Sous ces deux contraintes, la production du système de traitement d’images réside dans la collaboration fine entre l’expert de l’application et l’expert en traitement d’images, mais induit deux problèmes :

 Un système dédié peut se révéler très performant dans le cadre d’un domaine ou d’une application bien précise, mais il est souvent très difficile, voire impossible, de reprendre le même système et de l’adapter à une autre application (aspect objectif et dépendance au cadre applicatif)
 La suite d’opérations choisie par un expert peut être fondamentalement différente de celle qu’aurait choisie un autre expert mais les résultats peuvent être similaires.

.

Ces problèmes sont typiques des chaînes de décision linéaires. Bien évidemment, nos objectifs sont de remédier à ces problèmes en autorisant des bouclages intermédiaires (aspect ”feedback” classique de l’automatique), une remise en cause d’un choix d’opérateurs dans la boucle (aspect non linéaire), ou encore d’essayer une autre combinaison d’opérateurs si le temps restant imposé par l’application le permet. Du fait de la nécessité de boucler sur n’importe quelle étape de la chaîne, à n’importe quel moment, notre approche sera donc forcément dynamique et non linéaire.

.

Même si d’un point de vue conceptuel cette chaîne non linéaire et ses bouclages semble apporter des réponses à notre cahier des charges, sa réalisation semble très complexe ; comment faire en sorte que le système ”décide” de revenir sur un traitement pour en essayer un autre ? La littérature apporte des bases à partir de méthodes de type statistique, théorie de la décision, logique floue ou encore théorie de l’évidence. Cette dernière a l’avantage de prendre en compte une incertitude établie au préalable, c’est à dire un formalisme intégrant le manque d’information ou son incomplétude.

.

Dès lors le cadre formel de notre travail est établi et implique la sélection dynamique des opérateurs de calcul. Comme indiqué précédemment, les règles de sélection ou de bouclage doivent être établies à partir de critères qualité estimés au moment du calcul de l’attribut et au moment de la prise de décision (Figure 2‑4).

A diagram of a complex Description automatically generated
Figure 2‑4 – Chaîne de traitement intégrant la précision des attributs

L’approche la plus classique dans la conception d’une application de traitement d’image, et de choisir une fois pour toutes, a priori, une seule méthode de classification. Or, il nous semble plus intéressant en termes de performance (nombre moyen de bonnes classification) de combiner les méthodes de classification, permettant ainsi de compenser les erreurs de chacune des méthodes. Il existe plusieurs façons d’aborder la combinaison de classifieurs, dont une dynamique, à partir du calcul de la précision locale de chaque classifieur. La précision locale d’un classifieur, telle que définie par Woods [4] et Giacinto [5], est une mesure sur la décision locale de cet opérateur. Il est possible d’intégrer cette mesure en cours de traitement. De cette manière, nous obtenons une chaîne de traitements schématisée par la Figure 2‑5.

A diagram of a process Description automatically generated
Figure 2‑5 – Chaîne de traitement intégrant la précision des attributs et de la classification

Que ce soit pour le calcul des attributs, ou la classification, la décision de garder, ou non, le résultat d’un traitement, se prend à partir d’une mesure de la qualité des données issues de ce traitement. L’impact de ces données sur la décision finale, est essentiellement lié à sa qualité, à sa précision.

Références

[1]

U. Fayyad, G. Pietetsky-Shapiro and P. Smyth, « Knowledge discovery and data mining : towards a unifying framework, » in Proceedings of the 2nd International Conference on Knowledge Discovery and Data Mining, 1996.

[2]

U. Fayyad, G. Pietetsky-Shapiro and P. Smyth, « From Data Mining to Knowledge Discovery in Databases, » AI Magazine, vol. 17, no. 3, pp. 37-54, 1996.

[3]

R. Clouard, « Raisonnement incrémental et opportuniste appliqué à la construction dynamique de plans de traitement d’images, » 1994.

[4]

K. Woods, W. P. Kegelmeyer and K. Bowyer, « Combination of multiple classifiers using local accuracy estimates, » in IEEE Trans. on Pattern Analysis and Machine Intelligence, 1997.

[5]

G. Giacinto and F. Roli, « Adaptive selection of image classifiers, » in ICIAP ’97, Lectures Notes in Computer Science, 1997.

.

.