Newsletter Developpez.com

Inscrivez-vous gratuitement au Club pour recevoir
la newsletter hebdomadaire des développeurs et IT pro

Les Bases du Traitement d'Image

Article I : Introduction

Ce document, premier article d'une série de six, est un cours intitulé : « Les Bases du Traitement d'Image et de la Vision Industrielle et Robotique ». Adapté à un large public, grâce à une pédagogie novatrice pour la discipline, ce cours présente un certain nombre d'opérateurs dits de bas niveau :

  • histogrammes, opérateurs de visualisation,
  • opérateurs de seuillage,
  • opérateurs linéaires agissant sur un voisinage 3x3 centré,
  • opérateurs de lissage d'image,
  • opérateurs de morphologie mathématique,
  • opérateurs de calcul de gradients, et d'affinage des contours.

Enfin, le dernier article traite de l'implantation en Langage C des opérateurs présentés dans l'Environnement Logiciel de Traitement d'Image EdEnviTI.

Article lu   fois.

L'auteur

Profil Pro

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. Introduction

En Imagerie, dans le cadre professionnel on peut être amené à :

  • superviser des applications, en tant que donneur d'ordres,
  • concevoir et réaliser des applications, à partir d'opérateurs existants (utilisation d'une bibliothèque),
  • concevoir et réaliser des opérateurs de traitement d'image ou de vision, en tant que développeur, de manière à maîtriser l'application dans sa totalité.

Ainsi, après avoir analysé ces trois différents besoins professionnels, le but de cette série d'articles est d'y répondre. Elle s'adresse à un large public : du donneur d'ordres au développeur, à partir du niveau premier cycle universitaire (IUT / BTS), avec des connaissances moyennes en programmation (Langage C).

La pédagogie utilisée pour le domaine de l'imagerie est novatrice :

  • adaptée à une formation professionalisante : BTS / IUT / École d'Ingénieur,
  • niveau requis réduit en mathématique : présentation algorithmique des opérateurs permettant une meilleure compréhension.

Cette série comporte 6 articles :

  1. Introduction (ce présent article),
  2. Visualisation des Images et Opérateurs Simples,
  3. Introduction aux Différents Types de Segmentation,
  4. Première Chaîne Complète de Segmentation,
  5. Segmentation en Contours,
  6. l'Environnement Logiciel de Traitement d'Image EdEnviTI : Principe et Programmation.

Elle est extraite de l'ouvrage « Les Bases du Traitement d'Image et de la Vision Robotique et Industrielle » (édition Lulu.com), réalisé dans le cadre du projet Européen sur l'enseignement de la Mécatronique à niveau Bachelor (BAC + 3) : EDUMEC, formalisant une expérience d'une petite trentaine d'années d'enseignement du Traitement d'Image.

II. Que peut-on être amené à faire ?

Le but de cette série d'articles est de répondre à un besoin « professionnel » en matière de Traitement d'Image ou de Vision par Ordinateur. La première question à se poser est donc : Que peut-on être amené à faire en situation professionnelle : stage ou embauche ?

Nous distinguons trois différents types de besoins professionnels, que nous classons par ordre d'implication croissante et non de difficulté. À notre humble avis, compte tenu de notre expérience, et du fait que les opérateurs ne sont pas « génériques », il est quasiment plus difficile de « manager » correctement une application sans trop vouloir s'investir que de la réaliser soi-même.

Ainsi, dans un cadre professionnel on peut être amené à :

  • superviser des applications,
  • concevoir et réaliser des applications,
  • concevoir et réaliser des opérateurs de traitement d'image, ou de vision par ordinateur.

Superviser des Applications signifie être capable de formaliser le besoin, par exemple en réalisant le Cahier des Charges de l'application, ainsi que le Cahier de Recette associé. Pour ce faire, il faut certes bien connaître son application, mais également en termes de traitement d'image, il faut savoir ce qu'il est possible de faire, avec quelles difficultés de manière à piloter efficacement la sous-traitance. La recette d'un système de vision nécessite de savoir expertiser les résultats : les résultats doivent être en conformité avec l'attente.

Supposons que vous soyez le responsable d'un site de production. Vous devez être capable de superviser la fourniture du système de Contrôle de la Qualité par Vision installé en bout de chaîne(1). Cette expertise est relativement simple, car elle n'est pas au niveau des traitements, mais de leurs résultats : la détection des pièces non conformes.

Concevoir et Réaliser des Applications signifie être capable de mettre en œuvre une bibliothèque de traitement d'image ou de vision :

  • soit commerciale : LabView, MatLab, Khoros, Cognex, Scorpio, Omron, Adept, etc.,
  • soit gratuite : OpenCV(2), CLEOPATRE(3) et EdVision (4) (5).

On appelle Opérateur tout traitement qu'il soit « élémentaire », ou plus évolué, c'est-à-dire, composé de traitements élémentaires. La mise en œuvre peut être simplifiée grâce à une interface graphique. L'enchaînement des opérateurs de base (de la bibliothèque) est alors réalisé d'un simple clic de souris. Aucun développement logiciel n'est requis. Dans le cas où une telle interface n'existe pas, il faut être capable de développer quelques lignes de langage informatique, généralement en langage C ou C++ pour réaliser le traitement souhaité à partir de l'appel des fonctions correspondantes aux opérateurs de base.

Dans les deux cas, en plus de l'expertise des résultats précédemment mentionnée, l'expertise des traitements est nécessaire. Celle-ci consiste à connaître le principe et les propriétés des opérateurs de base à combiner pour réaliser l'application, ainsi que leur effet sur les images. L'expertise des traitements est également nécessaire, notamment pour le réglage correct des paramètres de contrôles des opérateurs.

Il ne faut pas négliger la difficulté d'obtenir une telle expertise. En effet, citons deux exemples le prouvant :

  • Dans le cadre de l'application « RoboCup » décrite ci-dessous, nous avons réalisé une interface graphique « semi-automatique » (i.e. incluant les résultats d'une segmentation) pour aider l'opérateur à la sélection correcte des zones d'intérêt des objets de l'image. Ces zones permettent le calcul automatique des valeurs de seuils ou en d'autres termes : des paramètres de contrôle des opérateurs. Le développement de cette interface nous a pris plus de temps que le développement des traitements de vision embarqués à l'intérieur du robot.
  • Une chaîne algorithmique de détection de contours, ou de régions, comporte de nombreux paramètres à régler, chacun contrôlant une partie des traitements. Leur réglage doit s'effectuer dans un ordre précis, étape par étape de l'algorithme, car les paramètres ont de l'influence les uns sur les autres. La connaissance des opérateurs simplifie grandement la difficulté des réglages : elle est quasiment nécessaire.

Par expérience, il s'avère que les bibliothèques comportent des opérateurs généraux, qui ne satisfont pas en totalité les besoins de l'application que vous développez. Il est à notre avis plus judicieux d'améliorer l'opérateur de base ou d'en créer un nouveau, plutôt que de conserver un opérateur ne donnant pas entière satisfaction et d'ajouter un traitement ultérieur pour améliorer ses résultats. Il est impératif d'extraire la bonne information à bas niveau.

Si votre bibliothèque est fournie en « Source Ouvert », le code source est fourni(6) et il est possible (mais difficile, à notre avis) de modifier certains opérateurs pour satisfaire les besoins spécifiques à votre application. Sinon, il faudra développer un ou plusieurs nouveaux opérateurs.

Concevoir et Réaliser des Opérateurs signifie être capable de comprendre le problème, puis de trouver un algorithme qui puisse le résoudre, et enfin d'implanter cet algorithme en langage informatique, C ou C++. Les bibliothèques fournissent généralement un environnement de programmation contenant les structures de données, les accès à ces données, et les fonctionnalités de base, ce qui facilite la programmation.

En conclusion, nous qualifierons les trois niveaux requis pour répondre aux besoins professionnels précédents(7) :

  • Connaissance, pour superviser des applications. Il faut avoir une idée correcte du domaine, savoir spécifier le besoin et qualifier les résultats en termes d'imagerie.
  • Expertise pour concevoir et réaliser des applications. Il faut savoir utiliser l'existant, et réaliser ses applications en fonctions des briques logicielles de base(8).
  • Maîtrise pour concevoir et réaliser des opérateurs de traitement d'image, ou de vision par ordinateur, et donc maîtriser en grande partie l'ensemble des traitements composant une application.

III. Objectifs pédagogiques de la série d'articles et du livre

Deux principaux objectifs pédagogiques ont guidé la rédaction du livre, et par conséquent de la série d'articles. Le premier est de répondre aux besoins professionnels énoncés au paragraphe précédent. Le second objectif est d'écrire un ouvrage pédagogique, d'un niveau « École d'Ingénieurs / Master » (BAC + 5), mais accessible à un niveau IUT / BTS (BAC + 2). Il doit être accessible à un grand nombre de développeurs de la communauté « Developpez.com ».

Ainsi, nous limiterons volontairement la présentation mathématique des opérateurs, que l'on trouve dans les ouvrages classiques, pour la remplacer par une présentation plus intuitive et pratique, basée sur l'algorithmie, plus accessible à un niveau BAC + 2.

Cette manière d'aborder l'enseignement du Traitement d'Image résulte d'une petite trentaine d'années d'expérience, aussi bien en école d'ingénieurs (ENSTA, ENSIETA en début de carrière, l'EFREI, l'EPF puis l'ISTY aujourd'hui) qu'en département Génie Électrique et Informatique Industrielle pendant 15 ans au département GEII de l'IUT de Villetaneuse (Université Paris XIII), ainsi qu'en Licence Professionnelle LP « Robotique » du département Génie Mécanique et Productique GMP de l'IUT de Saint Denis (Université Paris XIII), et en enseignements « Teaching Staff » Erasmus devant les « graduats » (équivalent Bachelor) en informatique de la Haute École de la Province de Liège HEPL (à Seraing, Belgique). Elle correspond tout à fait à une optique « industrielle » :

J'ai une application précise en « traitement d'image / vision » :

Comment la concevoir et la réaliser ?

Le paragraphe ci-dessous, intitulé Applications donnera une vue globale d'un certain nombre d'applications faisant appel au traitement d'image ou à la vision. Il permet d'avoir une idée des potentialités de l'imagerie.

De manière à permettre une lecture synthétique de l'ouvrage, en fonction des besoins professionnels précédemment évoqués, nous diviserons l'ouvrage en trois parties :

  • Cours : cette partie couvre l'ensemble du contenu de l'ouvrage, elle présente l'ensemble des opérateurs de manière synthétique : principe, algorithme, présentation et commentaires des résultats. Elle répondra aux exigences du niveau « Connaissance », et même au-delà.
  • Approfondissements et Exercices : cette partie détaille les algorithmes de certains opérateurs : de la conception à la réalisation, du cahier des charges à l'algorithme. Des exercices avec des éléments de correction sont présentés afin de comprendre plus simplement certains algorithmes complexes tels que la Décomposition en Composantes Connexes, etc. Elle répondra aux exigences du niveau « Expertise ».
  • Programmation : cette partie présentera l'implantation en Langage C, dans l'environnement logiciel de traitement d'image EdEnviTI, des opérateurs présentés dans la partie Cours, puis détaillés dans la partie Approfondissement. Elle répondra aux exigences du niveau « Maîtrise ».

La série d'Articles contient l'intégralité de la partie Cours, ainsi que les éléments relatifs à l'environnement logiciel de Traitement d'Image EdEnviTi des parties Approfondissement et Exercices et Programmation. Les logiciels des bibliothèques EdEnviTI, et EdVision, c'est-à-dire l'ensemble des codes sources en Langage C, programmés dans l'environnement logiciel EdEnviTI et des opérateurs décrits dans la partie Cours sont disponibles sur le site web Developpez.com.

En revanche, les algorithmes complets ainsi que les détails de leur conception, et les explications détaillées des codes sources ne sont accessibles que dans l'ouvrage (cf. Figure n° 1), disponible sur le site web d'autoédition : Lulu.com.

Image non disponible
Figure n°1 : Ouvrage

IV. Tentative de définition

IV-A. Les trois niveaux référencés

Le Traitement d'Image est constitué d'un ensemble de traitements que nous appellerons Opérateurs permettant d'extraire de l'information d'une ou de plusieurs images. Cette information peut prendre les trois formes suivantes :

  • une image, par exemple pour l'amélioration de la visualisation : on parlera alors de traitement de Bas Niveau,
  • de valeurs numériques, éventuellement associées à une image, par exemple l'extraction de segments de contours, les valeurs numériques étant les coordonnées des points extrémités. On parlera de traitement de Niveau Intermédiaire,
  • de valeurs symboliques, ou de décisions : par exemple :

    • un cercle, une droite, ou un objet prédéfini ont été reconnus dans l'image,
    • une pièce manufacturée a été reconnue conforme : le préhenseur du bras de robot, ou du robot delta va prendre la pièce sur le tapis roulant et la stocker,
    • un char a été reconnu : le tir va être effectué.

On parlera de traitement de Haut Niveau.

IV-B. Le Traitement d'Image n'est pas

Ainsi, le traitement d'image n'est pas la « Synthèse d'Image ». La synthèse d'image consiste à générer des images par ordinateur (du générique d'émissions télé, au film d'animation tel que Toys Story de Pixar et Walt Disney et bien d'autres…), à partir de modèles de scènes. Les objets sont modélisés de manière géométrique (surfacique) : par facettes planes et radiométrique (couleur, état de surface). La physique de la propagation de la lumière est également utilisée.

Image non disponible
Figure n°2 : Dualité : Analyse - Synthèse

Une des facettes du Traitement ou de l'Analyse d'Image est exactement le contraire (cf. figure n° 2). À partir d'une image réelle, le traitement d'image vise à en comprendre le contenu. Ainsi, de par cette réciprocité, l'analyse d'image et la synthèse d'image sont des disciplines scientifiques dites « duales ». Le meilleur moyen pour l'analyse d'image de comprendre une scène peut être dans certaines applications de tenter d'en déduire une modélisation, comparable à celle utilisée en synthèse d'image.

Le traitement ou l'analyse d'image n'est pas limité à la Retouche d'Image au sens des logiciels tels que Photoshop d'Adobe ou son concurrent du monde libre : The GIMP. Les graphistes sont des artistes. Ils utilisent de tels logiciels pour faire des compositions d'images, pour retoucher les images par ordinateur : augmenter les contrastes, raviver les couleurs, les filtrer (par exemple faire un flou artistique pour adoucir un visage, enlever le bruit), etc. Pour ce faire, ils emploient des traitements développés par les traiteurs d'image. Nous détaillerons le principe puis programmerons de tels filtres au cours de ce livre. Il est anecdotique de remarquer une différence de vocabulaire entre le graphiste qui nommera l'opérateur par l'effet qu'il produit sur une image (ex. : flou) et le traiteur d'image par son principe (ex. : moyen).

Mais il serait dangereux d'assimiler retouche d'image et analyse d'image, ou plus exactement la vision par ordinateur. La retouche d'image constitue en quelque sorte la partie visible de l'iceberg ! Le traitement d'image est beaucoup plus vaste : son étendue est bien résumée par la maxime « du Pixel à son Interprétation ». Le Pixel (contraction anglo-saxonne de Picture Element) est l'information élémentaire : le niveau de gris en imagerie N\&B ou 3 valeurs : Rouge, Vert et Bleu (RVB) en imagerie couleur, par point de l'image. L'interprétation peut aller jusqu'à la prise de décision : par exemple dans le cas de moins en moins futuriste d'une conduite totalement autonome, le système de vision reconnaît que le feu est vert, le véhicule peut donc franchir l'intersection. La vision par ordinateur s'étend donc des premiers filtrages employés pour améliorer la qualité de l'image (ex. : réduction du bruit, rehaussement des contrastes), jusqu'à la reconnaissance de la situation dans laquelle le système se trouve, en passant bien évidemment par l'extraction d'indices pertinents permettant la reconnaissance (les primitives images).

V. Applications

V-A. Les domaines applicatifs

Les exemples et domaines d'applications du traitement d'image sont très nombreux. Les deux principaux domaines, qui ont permis au Traitement d'Image de se développer sont :

  • le domaine militaire :

    • missiles en tous genres (autodirecteur (courte portée), de croisière (longue portée), etc.),
    • le renseignement (télédétection à partir d'images satellite dont la précision peut aller aujourd'hui jusqu'à quelques centimètres, ou aériennes, la photo-interprétation),
    • les simulateurs « réels » (de vol avion, de char, etc.),
  • le domaine médical :

    • angiographie,
    • radiographie,
    • échographie,
    • scanner,
    • IRM, etc.

Mais, une multitude d'applications apparaissent dans des domaines divers allant :

  • du domaine industriel :

    • le contrôle de la qualité des produits en bout de chaîne (état de surface, dimensionnement, forme, couleur, présence des comprimés par exemple dans l'industrie pharmaceutique),
    • le contrôle non destructif,
    • les manipulations automatiques par des robots (« pick and place » : récupération sur un tapis roulant pour mise en sachet ou dans un conteneur) y compris dans l'industrie alimentaire en plus du contrôle de la composition, de la fraîcheur, etc.
  • allant jusqu'au domaine du multimédia :

    • la compression / décompression pour la transmission d'Images ou le stockage,
    • l'amélioration de la qualité,
    • la TV haute définition (Standard MPEG4),
    • la TV en relief,
    • le coloriage des dessins animés, des vieux films N&B,
    • le remplacement des panneaux publicitaires dans des retransmissions sportives,
    • le suivi optimal automatique du porteur de balle dans un jeu tel que le football américain,
    • le tatouage d'image (pour prouver l'authenticité des documents, ainsi que leur appartenance),
    • la recherche d'images par le contenu dans des banques d'images,
    • la recherche de plan de rupture entre deux scènes dans une vidéo (pour le codage MPEG 4 par exemple),
    • la vidéo-conférence : reconnaissance des éléments pertinents d'un visage pour la modélisation adaptée à la transmission d'images (MPEG 4),

en passant par de nombreux domaines dont :

  • l'imagerie civile satellitaire et aérienne :

    • la météorologie : les prévisions à partir des images du satellite Météosat en estimant les déplacements futurs des fronts nuageux,
    • la cartographie,
    • diverses études sur la répartition des sols : emprise des villes, désertification, évolution des embouchures de fleuves (Mont-Saint-Michel, Venise), déforestation, etc.
    • l'aménagement du territoire : la reconstruction de modèles numériques de terrain (altitude en fonction de la position) permet de générer des vues synthétiques d'un paysage dans lequel on pourra inclure des éléments futurs tels que lignes à haute tension, barrages, routes, autoroutes.
  • la reconnaissance de caractères, de documents :

    • le photocopieur intelligent, capable d'analyser le document et de séparer zones de texte, de dessins et graphiques, d'images et de les traiter différemment, de déterminer les directions principales et ainsi de pouvoir redresser la copie d'un original posé de travers,
    • l'archivage de documents renseignés tels que les documents à remplir de la Sécurité Sociale ou des Caisses d'Allocations Familiales : comprend le contenu, et met à jour le dossier dans la base de données,
    • le tri automatique du courrier postal,
    • la reconnaissance automatique des plaques d'immatriculation de véhicules : fonction qui équipe les radars automatiques qui se généralisent aujourd'hui sur nos routes et autoroutes,
  • la robotique mobile et autonome militaire :

    • le robot aidant le fantassin sur le champ de bataille, par exemple pour le transport de charges lourdes (« robot mule ») et l'inspection du dessous des véhicules à la recherche d'engins explosifs,
    • mais également civile : robot (le même !) aidant le sauveteur dans des décombres, ou l'ouvrier agricole dans les champs lors de la récolte(9),
    • les robots sans pilote : « martien », avion (drone), sous-marin,
  • la conduite assistée(10) par ordinateur, à la conduite automatique :

    • suivi de routes,
    • reconnaissance des panneaux (signalisation verticale),
    • reconnaissance des voies de circulation (signalisation horizontale), le positionnement latéral (la bonne file) et longitudinal (distance par rapport au véhicule précédent) du véhicule sur la chaussée,
    • la détection d'obstacles,
    • détection de piétons, de cyclistes, de présence dans les angles morts,
    • détection de l'endormissement du conducteur, l'assistance au parking, caméra de recul,
  • la régularisation de flux par le biais de comptage et suivi d'objets :

    • automobiles : temps de parcours, indication de vitesse ou de proximité par rapport au véhicule précédent,
    • personnes : réduction des files d'attente,
  • la surveillance de sites ou locaux stratégiques, protection de données :

    • éléments biométriques : empreintes, iris, visage pour la reconnaissance de personnes autorisées, la validation d'identité et la détection d'intrus,
    • la vidéoprotection : détection automatique de situation à problèmes,
    • la thermographie infrarouge (nécessite le recalage d'images des domaines du visible et infrarouge thermique ainsi que du plan cadastral) pour évaluer l'isolation des toitures des habitations individuelles, collectives, des bâtiments publics, et de l'isolation des canalisations d'eau chaude, servant aux chauffages collectifs par chaudière classique ou géothermie.
    • l'Interaction Homme Robot : comment le robot peut-il comprendre l'homme dans le cadre d'une interaction non verbale, dans le cadre de la robotique de service, d'assistance ou de compagnie :

    et enfin la reconnaissance d'objets pour de multiples applications :

    • la recherche de mines et d'explosifs dans le cadre de la robotique militaire,
    • la recherche d'un verre, d'une bouteille, d'une boîte de médicaments dans le cadre de la robotique d'assistance à personne à mobilité réduite,
    • la reconnaissance de panneaux routiers dans le cadre de la conduite assistée ou automatique.

V-B. Quelques mots sur les applications

Pour un missile de poursuite ou AutoDirecteur (missile de courte portée), le rôle du système de vision est d'acquérir la cible (alors ponctuelle dans l'image et localisée à quelques kilomètres) puis de la poursuivre jusqu'à sa destruction (la cible remplit alors l'image entière).

Pour un missile de croisière, le rôle du système de vision est de permettre la localisation du missile au cours de son vol. Pour ce faire, en cours du vol, le missile va comparer ce qu'il voit à des instants précis, à ce qu'il devrait voir s'il était sur sa trajectoire nominale. À ces instants choisis, des formes caractéristiques du relief ou « Amers » (ex. : carrefours entre routes, jonctions et échangeurs d'autoroutes, ponts sur une rivière, ou sur une voie de chemin de fer) sont visibles. La comparaison entre ce que le missile voit et ce qu'il devrait voir va lui permettre de se recaler, en déduisant où il est, par rapport à où il devrait être. Par exemple si ce que voit le missile est plus gros que ce qu'il devrait voir, le système de navigation en déduit logiquement qu'il est trop bas. Dans le cas d'un vol à haute altitude, les éléments du relief sont écrasés. Le recalage peut être fait plus simplement à partir de la modélisation mathématique de la transformation 2D, par exemple une similitude composée d'une rotation, d'une translation et d'un changement d'échelle.

Pour le renseignement, le logiciel de traitement d'image devra améliorer la visibilité de l'opérateur. Les opérations de débruitage, de zoom, de rehaussement des contrastes et d'ajout de hautes fréquences sont primordiales. Ces mêmes fonctions permettent au pilote de chasse de déterminer plus facilement son objectif (11).

L'angiographie permet l'étude des vaisseaux sanguins d'un patient. En 2D, deux images sont prises : avant et après une injection de produit de contraste dans les veines du patient. Il faut en un premier temps recaler les deux images, car le patient a bougé entre les deux instants. Ensuite, seuls les pixels représentant les vaisseaux sanguins ont changé notablement d'aspect entre les deux images, du fait de l'injection du produit de contraste.

En échographie, le traitement d'image permet d'améliorer la visualisation, ainsi que d'effectuer des mesures précises sur une image « gelée » : dimension de la boîte crânienne, taille d'un os par exemple du fémur sur un fœtus, ou suivre une forme tout au long d'une séquence, par exemple la paroi cardiaque pour vérifier le bon fonctionnement du cœur.

En imagerie scanner, le but est d'obtenir la forme 3D de l'organe à partir d'un ensemble d'images 2D qui sont en réalité les coupes virtuelles de cet organe (12) à des cotes différentes. Le traitement d'image permet de détecter la forme 2D de l'organe dans chacune des coupes, puis de trouver des correspondances entre points situés sur un même méridien, c'est-à-dire « l'un au-dessus de l'autre dans la forme 3D ». Ainsi, un modèle 3D « fil de fer » (ou par facettes) de l'organe 3D est obtenu. La synthèse d'image permet de le visualiser grâce à des techniques d'ombrage et de rendu, pour le présenter de manière réaliste au médecin qui réalise l'examen.

Le traitement d'image peut rendre « semi-automatique » et donc notablement améliorer la rapidité (et donc la productivité) du graphiste pour le coloriage de dessins animés, de vieux films (par exemple : la vache et le prisonnier, le jour le plus long,etc.). Pour cela, deux techniques différentes sont utilisées :

  • La première permet l'obtention d'un partitionnement en zones homogènes de l'image (i.e. de niveau de gris constant) appelées Régions. Elle est appelée « Segmentation en Régions ». Elle est appliquée sur chaque image.
  • La seconde permet le suivi (ou « Tracking » dans le jargon militaire) d'une image à la suivante de régions sur des critères d'invariance de forme et/ou de niveau de gris.

Lorsqu'une région à colorier apparaît pour la première fois à l'écran, c'est le graphiste qui détermine la couleur ainsi que la texture à appliquer. C'est le système qui colorie la région dans l'image où elle a été désignée, mais également sur toutes les images suivantes de la séquence où elle reste visible, assurant l'homogénéité de la couleur sur l'ensemble de la région et d'une image à l'autre ce qui confère une qualité de coloriage bien meilleure qu'à la main !Sans logiciel de traitement d'image, le graphiste devrait colorier individuellement tous les pixels de toutes les images. Imaginez le travail pour une simple minute de séquence à 25 Hz pour une image « Full HD » de résolution 1920 colonnes x 1080 lignes.

Le remplacement de panneaux publicitaires dans des séquences d'images sportives n'est pas un problème simple pour le traitement d'image. Non seulement il faut reconnaître automatiquement et suivre le panneau, mais également gérer le passage d'éléments en premier plan : joueurs de foot, rugby, basket, skieurs, cyclistes, automobiles telles que formule 1, ainsi que des ombres portées éventuelles… Imaginez qu'après une mauvaise gestion le panneau soit synthétisé en premier plan, ce qui aura pour conséquence la disparition du joueur derrière le panneau, ou que l'ombre portée d'un joueur, lors d'une retransmission de nuit ou en plein soleil, s'arrête au panneau. De même, imaginez la synthèse d'un panneau classique, pour un éclairage moyen, alors que le panneau remplacé est en plein soleil, ou à l'inverse peu éclairé un jour de pluie…

Le tatouage d'images consiste à ajouter une marque invisible à l'œil dans l'image. Cette marque relevée par logiciel doit être présente dans toute l'image, indélébile par toutes transformations géométriques : zoom, translation, rotation et photométriques. Un tatouage est comme un copyright : il permet au propriétaire d'éviter toute utilisation frauduleuse de son image. Il permet également d'authentifier un document réel d'un photomontage : la marque doit être la même sur toute l'image.

Le traitement d'image peut permettre la Conduite Assistée par Ordinateur. Son rôle est de détecter un panneau (signalisation verticale) lorsqu'il est loin, de le suivre et de le reconnaître dès que possible pour en informer le conducteur.

La Détection Automatique des Panneaux de Limitation de Vitesse permet aujourd'hui aux équipementiers automobiles de proposer un Limitateur de Vitesse Intelligent. La Détection des marquages au sol (signalisation horizontale) permet de proposer un avertisseur de franchissement de lignes continues. Le traitement d'image permet également la détection des obstacles, des piétons et des cyclistes. Il n'y a qu'un pas, et il sera vite franchi pour passer de la Conduite Assistée à la Conduite Autonome (cf. l'Urban Challenge de la DARPA en 2007 : réaliser un parcours urbain de 6 heures, en respectant le code de la route par des véhicules du commerce, autonomes(13)).

Dans le cadre de la robotique militaire (cf. le Plan d'Études Amont : Technologies essentielles d'Autonomie pour les RObots Terrestres PEA TAROT de la DGA et ayant pour Maître d'œuvre Industriel Thales, auquel nous avons contribué), l'homme reste dans la boucle de contrôle du robot, qui est un véhicule instrumenté. L'homme ne téléopère plus le robot : il le supervise, ce qui est bien moins contraignant. Grâce à la vision, le robot est doté d'une semi-autonomie. Il est capable par exemple de détecter automatiquement puis de suivre un autre véhicule, comme d'aller dans la direction d'un amer : arbre, bosquet, clocher, château d'eau,etc.

Dans le cadre de la compétition internationale de robotique ElRob, dans sa version militaire MElRob(14) , l'épreuve dite de la « mule » consiste à faire suivre un fantassin à pied par le robot portant une charge lourde. Le robot de l'ISTY a été doté des fonctionnalités développées pour TAROT.

Pour de nombreuses applications qui nécessitent :

  • la reconnaissance d'un objet par rapport à une base de données préalablement apprise,
  • la poursuite d'un objet au cours du temps dans les images de la séquence,
  • la reconnaissance d'un même objet sur plusieurs images provenant d'images :

    • successives de coupes scanner (application médicale),
    • d'une même scène selon différents points de vue, pour réaliser une modélisation 3D,

l'objet pouvant représenter une partie ou toute la scène, les méthodes utilisées sont similaires. Elles dépendent des contraintes visuelles de l'application, et non du domaine applicatif proprement dit : militaire, médical, industriel ou autre. Elles consistent à extraire des informations de l'image : c'est-à-dire d'effectuer une segmentation en :

  • points d'intérêt, généralement points anguleux des contours,
  • contours de l'objet,
  • régions, zones homogènes en couleur, ou texture,

puis de retrouver les correspondances entre les informations d'un même objet dans les différentes images.

V-C. Une application ludique en Robotique Mobile et Autonome

Nous allons présenter une application complète de robotique mobile à laquelle nous avons eu la chance de participer depuis son démarrage en 1998 jusqu'en 2005, avec le Robot AIBO de SONY, puis à partir de 2009 avec le robot NAO de la société française Aldebaran Robotics. Il s'agit de la compétition internationale de robotique : la RoboCup (www.robocup.org) en catégorie « Legged League », avec les robots AIBO puis « Humanoid Standard Platform » avec les robots NAO.

La figure n° 3 présente les différentes versions du robot AIBO(15) avec lesquelles nous avons travaillé : du prototype aux trois différentes versions commercialisées successivement de 1999 à 2003, ainsi que le robot NAO.

Image non disponible
Figure n°3 : Différentes versions du robot AIBO, et robot NAO

Le principe de l'application est simple : il suffit de faire jouer les robots, de manière totalement autonome, en équipe au Football. Créée par des chercheurs en Intelligence Artificielle(16), la compétition a pour objectif de comparer sur un exemple robotique concret les différents algorithmes des équipes de recherche. L'environnement est connu a priori. Il est constitué des joueurs des deux équipes, de la balle et des éléments du terrain : deux buts de couleurs différentes, ainsi que six balises visuelles situées au bord du terrain (cf. figure n° 4). Mais, cet environnement est dynamique, la balle et les joueurs bougent sur le terrain.

L'objectif scientifique est de se rapprocher de plus en plus du jeu réel, en fonction des progrès des équipes. Ainsi, les balises visuelles présentes lors des premières éditions de la compétition pour aider les équipes ont aujourd'hui disparu. De même, les buts sont devenus identiques, constitués de deux poteaux, d'une barre transversale de couleur blanche, ainsi que d'un filet, comme dans le jeu réel, mais à l'échelle des robots.

Image non disponible
Figure n°4 : Les comportements de jeu

Un certain nombre de comportements de type « Réflexe » ont été mis au point par P. Blazevic et V.Hugel en 1999. Ils sont codés dans l'Automate à États de la figure n° 5 : un comportement est traduit par un état. Les transitions entre les états sont déclenchées par la reconnaissance d'éléments de jeu : balle, buts, balises, par la vision.

Image non disponible
Figure n°5 : Automate à états et transitions entre états

Les états sont les suivants (cf. figures n° 4 et 5) :

  • Recherche de Balle : la balle est l'élément essentiel du jeu : elle est à rechercher en priorité.
  • Balle Suivie : la balle est suivie, aucun autre élément visuel n'a été détecté. Le robot avance en direction de la balle.
  • Pousse la Balle dans le Camp Adverse : le robot est au « milieu » du terrain. Il voit la balle et une balise de centre de terrain (cf. comportement (3) de la Figure n° 4). Aller directement à la balle et la pousser ne garantit pas de la pousser dans la bonne direction(17). La trajectoire du robot est alors incurvée de manière à garantir que la balle soit poussée dans le camp adverse.
  • Attaque Directe du But : le robot voit la balle et uniquement le but adverse (cf. comportement (1)). Il pousse directement la balle dans le but.
  • Attaque du But de Côté : le robot voit la balle, le but adverse, et une balise de « coin » (cf. comportement (2)). L'attaque directe précédente ne permet pas de rentrer la balle dans le but. Pour résoudre ce problème, la trajectoire du robot est alors incurvée.
  • Défense en Corner : le robot voit la balle, son propre but et une balise de coin (cf. comportement (4)). Proche de l'état « pousse la balle dans le camp adverse », le robot incurve sa trajectoire pour dégager la balle de son but.
  • Tourne autour de la Balle : la situation est plus délicate : le robot voit la balle et uniquement son propre but (cf. comportement (5)). Il ne faut surtout pas la pousser, mais la contourner pour la dégager(18).

La Figure n° 6 récapitule les comportements, leur référence, et les éléments visuels les déclenchant.

Image non disponible
Figure n°6 : Les Comportements

Les éléments visuels sont détectés de la manière suivante :

  1. Classification couleur des pixels en imagerie YUV(19),
  2. Détection des taches colorées(20),
  3. Reconnaissance des éléments visuels :

    1. Balle : la plus « grosse » tache orange. Attention, d'autres éléments parasites de couleur orange peuvent apparaître !?!
    2. Buts : taches de couleur bleue ou jaune. Attention, un but peut être composé de plusieurs taches distinctes, compte tenu des joueurs sur le terrain pouvant le masquer en partie. Il faut alors viser le trou, c'est-à-dire la tache de la taille la plus importante.
    3. Balises : deux taches l'une au-dessus de l'autre, dont l'une est de couleur rose.

Bien que le principe paraisse simple, l'éclairage des terrains de compétition (projecteurs de théâtre), bien trop puissant a généré de nombreux problèmes : reflets, éblouissements, ombres portées. Ces problèmes se sont traduits par des confusions entre les couleurs qu'il a fallu repérer par des procédures de plus haut niveau de détection des incohérences : les fameuses Sanity Checks introduites par nos collègues australiens de l'University of New South Wales UNSW de Sydney.

En effet, confondre les couleurs jaune et orange a par exemple pour effet que les robots voient la balle dans le but jaune. On comprend ainsi pourquoi, lors de certains matchs les robots se dirigeaient puis restaient (jusqu'à ce que les arbitres les enlèvent) dans le but jaune, sans aucune raison. À l'œil, le but est bien de couleur jaune, la balle est bien de couleur orange. Comme nous pouvons le constater sur la figure n° 7, il n'en est pas de même pour le robot(21) sur les images du terrain de la Cité des Sciences à la Villette en 1998.

Image non disponible
Figure n°7 : Quelques problèmes… en images !

V-D. Deux exemples de techniques

Deux techniques vont être succinctement évoquées ici :

  • la compression / décompression d'image,
  • l'amélioration de la qualité.

V-D-1. Compression / Décompression

On utilise principalement ces techniques pour la transmission et le stockage d'images, car elles permettent de réduire le volume de données. Leur principe exploite deux redondances : spatiale et temporelle. En effet, il y a redondance spatiale lorsque le niveau de gris (ou la couleur) de toute une partie de l'image est le même : il est alors inutile de transmettre ou de stocker tous les pixels de même valeur. C'est par exemple le principe du codage dit par plage. Il y a redondance temporelle lorsque dans la transmission d'une séquence d'images il n'y a pas, ou, très peu de différences entre le niveau de gris d'un même pixel dans deux ou plusieurs images consécutives. Il n'y a donc pas besoin de transmettre toutes les valeurs dans le temps du pixel. Pour être plus précis, on peut se contenter de transmettre simplement la différence avec l'image précédente.

Il existe des algorithmes de compression avec ou sans perte. Sans perte signifie que l'image restituée, après compression - décompression, est identique à l'image initiale. Avec perte signifie que l'image est différente. Dans la pratique, il faut un taux de compression suffisamment élevé pour que l'on se rende compte à l'œil des différences entre l'image initiale et l'image restituée.

V-D-2. Amélioration de la Qualité

Celle-ci peut être réalisée à diverses finalités : artistique (retouche d'image), pour faciliter le travail d'un opérateur humain (téléopération, photo-interprétation), ou augmenter la fiabilité et la robustesse des traitements dans le cadre d'un système automatique. Il vaut mieux, bien évidemment lorsque c'est possible, agir au niveau même du capteur ou de la chaîne d'acquisition et de l'éclairage, c'est-à-dire avant les traitements numériques. Il est plus facile de régler correctement l'iris et la focale de la caméra ou d'ajouter un projecteur plutôt que de traiter l'image après. Mais, la plupart du temps, les capteurs étant ce qu'ils sont, avec leurs imperfections, l'amélioration incombe donc au traitement d'image. Par exemple pour des images sous-marines, la diffusion du milieu ambiant (i.e. l'eau) fait que l'image d'un point lumineux est une tache, et il n'y a aucune possibilité de réglage. Il en est de même pour l'image de l'ampoule d'un lampadaire, de nuit sous la pluie.

De nombreux traitements peuvent être envisagés, dépendant bien évidemment du défaut à corriger. Le plus simple, du moins à comprendre, est le rehaussement des contrastes (cf. Article n° 2 : Visualisation des Images et Opérateurs Simples), également appelé étalement de la dynamique (des niveaux de gris pour une image noir et blanc ou des couleurs). Par exemple, lorsqu'une image noire et blanc comprend très peu de niveaux de gris et que ceux-ci sont très proches, elle manque de contraste : elle est « pâlichonne », et notre œil distingue très mal les détails. Une simple augmentation des contrastes permet de remédier à ce problème : de nombreux détails, précédemment invisibles, apparaissent alors. Remarquons qu'un tel traitement ne crée pas d'information : celle-ci est présente dans l'image originale. En revanche il présente l'information de manière à ce que notre œil la voie. Ce traitement ne devrait, en principe, pas avoir d'intérêt pour un traitement automatique, car les paramètres de contrôle s'adaptent.

Toujours pour aider l'opérateur humain, il est possible de lui présenter une image zoomée, c'est-à-dire ayant subi un ré-échantillonnage spatial, de manière à rendre certains petits détails, présents dans l'image, visibles. De nouveaux pixels sont générés, à partir de ceux de l'image originale, par interpolation. De même que pour le rehaussement des contrastes, ce traitement ne crée pas d'information, il la présente de manière plus adéquate à notre œil, qui comme tout instrument optique est limité par son pouvoir de résolution.

Les images numériques sont souvent « bruitées ». Définir le bruit est relativement complexe, mais on peut simplement en formuler l'approche très intuitive suivante. Supposons une surface dans l'espace, de couleur mate et homogène, d'état de surface identique sur toute son étendue, et éclairée de manière homogène. Les niveaux de gris des pixels de sa projection dans l'image 2D numérisée devraient être constants, or ils ne le sont pas à cause du bruit. L'aspect visuel sur l'image de cette surface est alors « granuleux ». L'origine du bruit est difficile à identifier clairement. Le bruit se « cumule » tout au long du processus amenant à la formation de l'image : des éléments physiques de la scène (l'état de surface du matériau, de l'éclairage non rigoureusement homogène, du milieu de propagation pour les images prises en extérieur (brouillard)), du capteur (dispersion des caractéristiques, fluctuation en fonctions de la température, du temps, etc. des divers éléments photosensibles constituant le capteur), de la chaîne d'acquisition : amplification du signal analogique (bruit d'électronique) et numérisation (bruit de quantification).

Des études ont été réalisées pour modéliser les diverses sources de bruit précédemment évoquées. Ainsi, il est possible, à partir d'images d'excellente qualité, d'obtenir des images « bruitées à souhait ». Ceci est très pratique pour mettre au point les algorithmes de traitement, à partir des spécifications des défauts. N'oublions pas que lorsque l'on crée un système guidé par la vision, ou utilisant la vision (par exemple missiles ou satellites), les capteurs sont développés en même temps que les algorithmes qui seront embarqués et qui vont traiter les images délivrées par ces capteurs. Les images réelles « bruitées » du capteur ne sont donc évidemment pas disponibles : elles le seront une fois le système lancé et opérationnel !

Le bruit contenu dans les images peut induire de nombreuses erreurs sur les informations extraites par les traitements automatiques, c'est pour cela qu'il est impératif d'en réduire l'effet, par des « prétraitements ».

Enfin, le dernier type de défaut que nous mentionnerons est le flou, bien connu des photographes. Nous ne proposerons pas dans ce livre d'algorithme de défloutage d'image, car ceux-ci sont trop complexes. On distingue deux origines, et donc deux types de flou différents :

  • le flou de défocalisation,
  • le flou de bougé.

Le flou de défocalisation est dû à un mauvais réglage en distance (mise au point) de la caméra ou de l'appareil photo. L'image (au sens de l'optique géométrique) de l'objet ne se forme pas sur la pellicule ou le CCD, mais en avant ou en arrière. Ainsi, à un objet ponctuel de la scène, correspond une tache dans l'image, ce qui génère cet effet de flou. Le système visuel humain se sert de cet effet, en plus de la stéréovision binoculaire (vision 3D à partir des deux yeux) pour évaluer les distances. Des études ont été menées en ce sens, pour obtenir les distances des objets à partir d'une seule caméra, en mesurant le flou dans l'image défocalisée.

C'est d'ailleurs l'un des principes de mise au point possible, apparu en 1986 sur des appareils de marque Canon et Nikon. Son intérêt est, contrairement à la télémétrie par infrarouge, de ne pas être mis en défaut par la traversée d'une vitre, ou par l'absorption du rayonnement par l'eau, ce qui pénalise les prises de vues pour des environnements de mer, lac, rivière ou piscine.

Le flou de bougé est dû à un mauvais réglage en vitesse de la caméra ou de l'appareil photo. En fait, le déplacement de l'objet est trop rapide par rapport au temps de prise de vue (trop long !). Ainsi, l'objet n'est pas fixe durant la prise de vue, ce qui se traduit dans l'image par un effet de « filé ». Le filé peut être un effet artistique recherché, mais sera très gênant pour un traitement d'image automatique ultérieur !

Pour saisir certains phénomènes très rapides, il existe des caméras rapides dépassant et de loin la cadence vidéo de 25 images par seconde (PAL / SECAM) ou de 30 images par seconde (NTSC), allant même jusqu'à 1000 images / seconde pour filmer des déformations au cours du temps par exemple lors de « crash tests » réalisés par les constructeurs automobiles.

VI. Autour du Traitement d'Image

VI-A. Comment obtenir une image ?

Les moyens pour obtenir une image numérique sont aujourd'hui nombreux :

  • appareil photo numérique, ou smartphone,
  • caméra vidéo numérique,
  • scanner à partir d'un document papier,
  • Internet, etc.

Il est loin le temps de « Lenna », personne qui n'a jamais fait de traitement d'image, car elle était l'une des « Playmates » de l'année 1972 du magazine Playboy, dont tout chercheur en traitement d'image connaît le nom ! En effet, seuls quelques laboratoires fortunés de l'époque possédaient un scanner. Les débuts d'Internet et l'entraide entre chercheurs ont favorisé d'une part la diffusion, et d'autre part la popularité de certaines images, dont celle de Lenna qui est de loin la plus célèbre (cf. Figure n° 8).

En effet, même aujourd'hui, de nombreux résultats de recherche sont présentés sur cette image dans les actes des conférences ou les journaux scientifiques. Outre le côté esthétique du visage, l'utilisation de cette image est très certainement liée aux détails du chapeau notamment les plumes qui révèlent toute dégradation.

Image non disponible
Figure n°8 : La fameuse image de « Lenna »

VI-B. Formats d'image et logiciels de traitement

Il existe un certain nombre de formats d'images. Un fichier image comporte l'entête de l'image : c'est-à-dire des informations sur l'image : sa résolution, son type : N&B ou Couleur, ainsi que l'information contenue par les pixels.

Certains formats sont non comprimés, c'est-à-dire que le fichier image a une taille plus importante que tous les octets de l'image, car il comporte en plus l'entête. C'est le cas par exemple des formats PGM et PPM que nous utiliserons dans cet ouvrage. Les formats BMP, PNG et TIFF acceptent également le stockage avec compression.

D'autres formats sont comprimés : la taille du fichier est plus petite. Un même format peut accepter plusieurs possibilités de non-compression, ou de compression. Deux types de compression sont possibles :

  • sans perte : à l'issue de la décompression, l'image sera restituée à l'identique. C'est le cas, par exemple des formats BMP, PNG, GIF, TIFF.
  • avec perte : à l'issue de la décompression, l'image sera légèrement dégradée. C'est le cas, par exemple des formats JPEG, JPEG-2000 TIFF.

La compression obtenue est plus importante avec un algorithme avec perte. La dégradation n'est généralement pas visible à l'œil, sauf pour des taux de compression importants. Ces algorithmes tirent profit des imperfections de l'œil.

Un certain nombre de logiciels permettent de visualiser, changer de format, traiter (traitement de bas niveau) les images : par exemple :

  • IrfanView : gratuit, sous Windows,
  • the GIMP : libre : i.e. gratuit et en Open Source, multiplateforme, concurrent libre de « Photoshop »,
  • Paint Shop Pro, commercial sous Windows,
  • Photoshop, également commercial et sous Windows.

D'autres permettent des traitements automatiques :

  • la bibliothèque traitement d'image de MatLab, de LabView (National Instrument),
  • les bibliothèques de vision industrielle : OMRON, ADEPT, COGNEX, SCORPIO, IMASYS, MATROX, etc.
  • les bibliothèques libres de vision : OpenCV et nos modestes contributions : CLEOPATRE(22), EDUMEC.

VI-C. Choix des caméras

Il faut faire attention aux modes d'acquisition, en termes de fréquence, mais également de codage : RVB, YUV (Y : luminance, U et V chrominances rouge et bleue), sans ou avec compression des informations de chrominance. Une image codée YUV est présentée dans le second article.

La caméra dont les modes d'acquisition sont présentés figure n° 9 a les caractéristiques suivantes :

  • fait l'acquisition d'une image en résolution VGA en codage RVB à la cadence maximale de 15 images par seconde,
  • les autres modes sont codés en YUV, avec compression des composantes de chrominance :1/2: pour le format 4:2:2 et 1/4 pour le format 4:1:1.
  • le format YUV non comprimé 4:4:4 est possible pour la résolution 160x120, avec une cadence de 30 images par seconde.

Il n'est pas nécessaire d'avoir une caméra permettant l'acquisition VGA à 30 Hz si l'ordinateur n'a pas la puissance de calcul suffisante pour traiter l'image à la cadence souhaitée !

Image non disponible
Figure n°9 : Différents Modes d'Acquisition

La figure n° 10 aide au choix de l'objectif en monture C en fonction de l'application. Pour éviter les distorsions, il faut prendre la focale la plus longue possible. Le tableau, obtenu sur le site web du fabricant Unibrain : www.unibrain.com est très pratique. Il indique en fonction de la distance focale choisie la dimension de la scène pour deux distances : 50 cm et 5 m qui correspondent par exemple à deux types d'applications courantes : respectivement :

  • le contrôle qualité : caméra en « douche » au-dessus du tapis roulant,
  • la robotique mobile et autonome : le robot mobile se déplaçant dans son environnement.
Image non disponible
Figure n°10 : Choix de l'Objectif

VII. Conclusion et suite des articles

Cette longue, mais nécessaire, introduction nous a permis d'appréhender :

  • le Traitement d'Image et la Vision Industrielle et Robotique dans un contexte professionnel,
  • de manière non exhaustive les différents domaines applicatifs et quelques applications.

Ne vous inquiétez pas, nous rentrerons dans le vif du sujet, c'est-à-dire la présentation des opérateurs, ainsi qu'une initiation à leur programmation dès le prochain article.

VII-A. Contenu de la série d'articles

Pour cette première série d'articles, limitée à l'enseignement au niveau Bachelor, seuls les opérateurs simples, de bas niveau seront présentés, tels que :

  • histogrammes, opérateurs de visualisation,
  • opérateurs de seuillage,
  • opérateurs linéaires agissant sur un voisinage 3x3 centré,
  • opérateurs de lissage d'image,
  • opérateurs de morphologie mathématique,
  • opérateurs de calcul de gradients, et d'affinage des contours.

Le second article, intitulé Visualisation des Images et Opérateurs Simples, expose des généralités sur les opérateurs, puis les principes d'un certain nombre d'opérateurs de visualisation.

Le troisième article, intitulé Introduction aux Différents Types de Segmentation est un article plus court, dont l'objectif est d'introduire les segmentations qui seront abordées pour la plupart lors d'une seconde série d'articles, à un niveau ingénieur ou master. Nous en profitons pour présenter les résultats de nos travaux de recherche, ainsi que ceux de nos doctorants.

Le quatrième article, intitulé Première Chaîne Complète de Segmentation est très instructif, car il présente l'utilisation de la vision(23) dans des applications robotiques.

Le cinquième article, intitulé Segmentation en Contours présente la notion de contour, les différentes étapes constituant une segmentation en contours, puis le principe des trois premières(24) : le calcul du gradient, le seuillage sur la norme du gradient, et l'affinage.

Enfin, le sixième et dernier article de cette première série, intitulé l'Environnement Logiciel de Traitement d'Image EdEnviTI : Principe et Programmation, présentera l'environnement, et son utilisation pour la programmation d'opérateurs.

VIII. Remerciements

Je tiens à remercier chaleureusement l'ensemble du Comité de Rédaction de « Developpez.com », et tout particulièrement Francis Walter pour ses précieux conseils et encouragements, Claude Leloup pour sa minutieuse relecture orthographique et typologique, Djibril et f-leb pour leur aide à la mise en forme et utilisation des divers outils d'écriture. Merci à tous pour votre professionalisme, votre réactivité et votre confiance. Cela a été un plaisir de travailler avec vous.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   


Cette mission a été confiée à un apprenti de l'ISTY dont j'étais le tuteur enseignant.
OpenCV, CV pour Computer Vision est un logiciel libre, basé sur la bibliothèque logicielle IPL Intel Processing Librairy. OpenCV est couramment utilisé dans le monde de la recherche, et fait l'objet d'un certain nombre d'ouvrages.
Bibliothèque que nous avons développée dans le cadre du projet RNTL, labellisé en 2001 : « CLEOPATRE » : Atelier de développement et de vérification d'une bibliothèque de Composants Logiciels sur Étagères Ouverts Pour les Applications Temps-Réel Embarquées, fournissant un certain nombre d'opérateurs en version temporellement optimisée. Nous en profitons pour remercier Mme le Professeur Maryline Silly Chetto, Chef du Projet.
Bibliothèque que nous avons développée pour le projet EDUMEC, fournie avec cet ouvrage.
L'environnement de traitement d'image EdEnviTI développé dans le cadre du projet EDUMEC est une mise à jour en version anglaise incorporant également quelques corrections de l'environnement CLEOPATRE. Les opérateurs de la bibliothèque EdVision sont en revanche différents de ceux de CLEOPATRE. En effet, les opérateurs d'EdVision, intégralement décrits, sont fournis en source ouvert avec l'ouvrage cité, implantés en version « pédagogique », c'est-à-dire non temporellement optimisée.
C'est le cas des bibliothèques CLEOPATRE (Projet RNTL) et EDUMEC.
Le niveau « Maîtrise » inclut le niveau « Expertise », qui inclut de même le niveau « Connaissance ».
C'est à ce niveau que conduisent les ouvrages traitant de la bibliothèque OpenCV.
Voir les Robots de la société de Clermont-Ferrand EFFIDENCE.
De plus en plus d'équipements d'aide à la conduite, créés par les équipementiers automobiles figurent au catalogue des constructeurs.
cf. visite du laboratoire d'imagerie de Thales TOSA.
Sinon il s'agirait d'une autopsie !
D'après Wikipedia http://fr.wikipedia.org/wiki/DARPA8Grand\Challenge : La semaine précédant le concours, des épreuves de sélection ont été organisées pour les 35 véhicules engagés. Durant cette qualification, les véhicules devaient notamment s'arrêter à des stops, effectuer des manœuvres de parking ou circuler au milieu d'un trafic de voitures conduites par des humains. Finalement, onze équipes ont réussi ces qualifications pour concourir à l'épreuve finale. Parmi elles, six ont réussi à franchir la ligne d'arrivée, mais seulement quatre dans le temps imparti de 6 heures.
Mentionnons le Prix de l'Innovation obtenu lors de l'édition 2012 qui s'est déroulée à Thune en Suisse par l'équipe des apprentis du Département Mécatronique de l'ISTY. Merci à S. Hay, S. Poulet, L. Josselin et G. Richard pour leur exploit : d'avoir été classé devant l'équipe d'un grand laboratoire CNRS de robotique français…
C'est avec la première version commercialisée que nous avons gagné l'édition 1999 de la Robocup en catégorie « Leagged League » à Stockholm. Ceci nous a permis de jouer les « vedettes » à la première AIBO Expo de Tokyo la même année. Pendant ces trois jours, les 3000 premiers exemplaires destinés au marché japonais ont été vendus sur Internet en 20 minutes.
Manuela Veloso Carnegie Mellon, Masahiro Fujita SONY et Hiroaki Kitano.
C'est pourtant ce que faisaient les autres équipes.
État codé durant une longue nuit de travail, suite à des buts marqués dans notre propre camp !
En utilisant le classifieur SONY.
Traduction de la terminologie anglo-saxonne « Blob Detection » que nous appelons pompeusement en France sous le vocable mathématique de « Composantes Connexes ».
Prototype de AIBO.
Pas si modestes que cela en fait, en termes d'opérateurs performants !
Et non du seul Traitement d'Image, car les opérateurs sont très rapides.
Exposées au niveau Bachelor.

  

Copyright © 2016 Patrick Bonnin. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.