Contrôle de flacons par vision industrielle Le but du TP est d effectuer le contrôle de flacons après leur remplissage, leur bouchonnage et leur étiquetage. Le développement de cette application de vision est effectuée avec le système Vision Pro de Cognex. Un compte-rendu de TP doit être remis au professeur à la fin de la séance. Une note de TP sera attribuée en fonction des quatre critères suivants : autonomie, participation, travail réalisé (qualité des résultats obtenus), compte-rendu. Le compte-rendu devra faire apparaître les points suivants : une introduction, une réponse justifiée à chaque question, une conclusion. 1
1 L application L application consiste à contrôler par vision industrielle le bouchon, le contenant, le contenu et l étiquette d un flacon. La figure 1 représente l image d un flacon avec son étiquette et son bouchon. Figure 1 Flacon à contrôler Les flacons sont en déplacement sur un convoyeur. Le passage d un flacon devant la caméra est détecté par un capteur à contact. Deux voyants (vert et rouge) sont disponibles pour avertir l opérateur si nécessaire. L ensemble du système est placé dans une caisse à l abri de l éclairage ambiant et est relié à un PC. Le contrôle des flacons consiste d abord à vérifier le type, la présence et la position du bouchon. Ensuite, il faut vérifier que le diamètre moyen du flacon est égale à 49 mm, que la couleur du flacon est convenable et que le niveau du liquide est correct. Enfin il faudra réaliser un contrôle sur l étiquette, à savoir sa présence, sa position et son orientation ainsi que son contenu (présence et qualité du logo et des inscriptions, vérification des dates et des numéros de lots, lecture du code barre). Les objets étant en mouvement, une caméra progressive à obturateur électronique a été choisi. Le système d éclairage est constitué d un éclairage à Led de forme rectangulaire et disposé en rétroéclairage associé à un spot à Led disposé en frontal afin de lire le contenu de l étiquette. 2 Le système de vision industrielle VISIONPRO (Cognex) 2.1 Présentation du matériel Le système VisionPro est bâti autour d une architecture PC et d une carte d acquisition et de traitement d images (voir figure 2). TP de Vision Industrielle 2
Figure 2 Carte d acquisition et de traitement d images Vision Pro La carte d acquisition utilisée est la carte MVS-8504. La caméra utilisée dans ce système est une caméra progressive SONY XC-HR70 monochrome de résolution 1024 768. 2.2 Présentation du logiciel L application Vision est développée via le logiciel de configuration QuickStart qui est un outil de programmation de l ensemble du système de vision. Ce logiciel permet de paramétrer toutes les fonctionnalités de la carte MVS-8504. L environnement de développement se décompose en une fenêtre principale séparée en deux parties (voir figure 3) : une zone d édition des outils permettant de placer, ouvrir et lier les outils, une zone d affichage de l image et des graphiques. TP de Vision Industrielle 3
Figure 3 Le logiciel QuickStart Le développement de l application se fait donc en déclarant et en configurant, sur une image de référence, les outils adéquats. Ces outils sont accessibles en cliquant sur le bouton (voir figure 4). Figure 4 La boîte à outils Pour insérer un outil, il suffit de le glisser depuis la boîte à outil vers l éditeur ou de double-cliquer sur l outil désiré. Il se trouvera alors inséré en dernière position dans l éditeur. Tous les outils possèdent des entrées et des sorties appelés terminal de types diverses qu il est possible de relier en cliquant sur un terminal et en la glissant vers le terminal à relier. La figure 5 montre le résultat d une liaison (en bleu) entre deux outils ainsi que l affichage de l image avec ses graphiques associés. TP de Vision Industrielle 4
Figure 5 Liaison des outils et affichage des images et graphiques Pour paramétrer un outil, il suffit de double-cliquer sur l outil créé et une nouvelle fenêtre sera ouverte. Cette fenêtre est constituée d une barre d outils, d onglets donnant accès à différentes rubriques de configuration et une zone d affichage des images et des graphiques. Pour exécuter les outils déclarés dans l éditeur, il faut cliquer sur le bouton. 3 Travail à effectuer Les outils qui vont être mis en oeuvre concernent : l acquisition des images, l analyse du bouchon, l analyse du flacon, l analyse de l étiquette. Le flacon portant le numéro 8 est le flacon considéré sans défauts et il devra être choisi de préférence pour configurer les outils. 3.1 Acquisition Dans un premier temps, les paramètres d acquisition seront ajustés. Ensuite une séquence de 10 images enregistrées sera utilisée par la suite. 3.1.1 Configuration de l acquisition La configuration de l acquisition est réalisée avec l outil CogAcqFifoTool (voir figure 6). TP de Vision Industrielle 5
Figure 6 Outil CogAcqFifoTool La fenêtre de cet outil comporte cinq onglets : Settings : configuration de la carte et de la caméra, Strobe & Trigger : configuration des entrées (trigger) et des sorties (strobe) de déclenchement, Region : définition d une région d intérêt, Lookup Table : définition d une table de correspondance, Misc : divers. Attention, lorsque l acquisition des images est déclenchée sur une entrée externe (trigger), toute acquisition demandée par cette entrée entraîne la mise en mémoire de l image acquise dans la carte d acquisition même si le programme n est pas en cours d exécution. Pour vider la mémoire image, il suffit d activer le bouton Flush Fifo. Question 1 Après avoir ouvert QuickStart, créer un nouveau projet qui sera enregistré dans le répertoire E:\. Les noms des projets VisionPro portent l extension.vpp. Indiquer sur votre compte-rendu le nom et l emplacement du projet. Modifier les paramètres Video Format, Exposure, Timeout de l onglet Settings et les paramètres de l onglet Strobe & Trigger de l outil CogAcqFifoTool afin d obtenir l acquisition d une image de bonne qualité sur un front (à sens unique) du signal du capteur. Indiquer sur votre compte-rendu les valeurs des paramètres modifiés. l outil de traitement d image CogIPOneImageTool permet différentes opérations sur une image acquise comme la rotation, la convolution, l améliration,... Question 2 En utilisant l outil CogIPOneImageTool, appliquer un pré-traitement permettant d obtenir l image dans le même sens que le flacon. Enregistrer votre projet et le fermer. TP de Vision Industrielle 6
REMARQUE : LE RÉGLAGE DE L ÉCLAIRAGE ET DE L OBJECTIF NE DE- VRA EN AUCUN CAS ÊTRE MODIFIE PAR LES ÉTUDIANTS! 3.1.2 Utilisation d une séquence d images Une fois l acquisition configurée, il est intéressant de pouvoir acquérir les images des 10 flacons de la maquette sous forme d une séquence. Cette séquence peut être construite à l aide de l outil CogImageFileTool (voir figure 7). Figure 7 Outil CogImageFileTool Une séquence de 11 flacons a déjà été enregistrée sous «E:\Sequence.idb». Cette séquence contient un flacon sans défaut et 10 autres flacons, chacun possédant un type de défaut. L intérêt de travailler sur une séquence d images est d étudier la faisabilité de l application avant d installer le système en-ligne puis de mettre au point le programme hors-ligne sans perturber la ligne de production. Question 3 Créer un nouveau projet et ajouter l outil CogImageFileTool. Quitter le mode enregistrement et ouvrir le fichier de séquence «E:\Sequence.idb» déjà enregistré. Visualiser l acquisition des images des flacons (une onzième image a été insérée en dévissant légèrement le bouchon du bon flacon). Indiquer sur votre compte-rendu le nom et l emplacement de ce nouveau projet. Dans la suite du TP, les images seront ouvertes avec l outil CogImageFileTool. 3.2 Détection et analyse du bouchon 3.2.1 Détection du bouchon La détection du bouchon est effectuée grâce à l outil CogPMAlignTool (voir figure 8). TP de Vision Industrielle 7
Figure 8 Outil CogPMAlignTool C est un outil de reconnaissance des formes basé sur la recherche des caractéristiques géométriques d un objet. Il se configure en deux étapes : une étape d apprentissage du modèle d un objet à rechercher, ici le bouchon, et une étape de recherche de cet objet. Pour chaque image traitée, le modèle est mis en correspondance en tout point de l image et pour toute orientation et un score de ressemblance est calculé. Lorsque la ressemblance entre le modèle et le contenu de l image est forte alors le score est proche de 1. La fenêtre de cet outil comporte donc six onglets : Train Params : réglage des paramètres d apprentissage, Train Region & Origin : choix de la région d apprentissage et de l origine du repère associé au modèle, Run Params : réglage des paramètres de recherche, Search Region : définition d une zone de recherche dans l image, Graphics : choix des graphiques à afficher dans les fenêtres d affichage, Results : visualisation des résultats. L acquisition d une image d apprentissage est réalisée grâce au bouton Grab Train Image de l onglet Train Params. La région définissant le modèle et son origine sont ensuite déterminées en modifiant les paramètres de l onglet Train Region & Origin ou/et en déplaçant et dimensionnant cette fenêtre dans l image d apprentissage de la zone d affichage. Il est possible de masquer une partie du modèle qui pourrait être différente d une image à l autre. L apprentissage du modèle est enfin effectué en cliquant sur le bouton Train de l onglet Train Params. Question 4 Acquérir une image d apprentissage et réaliser l apprentissage du modèle d un bouchon. Placer l origine du repère associé au modèle au centre de celui-ci. Indiquer sur votre compte-rendu les valeurs des paramètres modifiés. Les paramètres de reconnaissance sont réglés dans l onglet Run Params. Dans un premier temps, on souhaite assurer une détection du bouchon quelque soit son type, sa position, son orientation et sa présence. Pour cela, le seuil de ressemblance sera fixé à une valeur très faible et une légère tolérance en rotation sera autorisée pour ne pas affecter le score de ressemblance. TP de Vision Industrielle 8
Question 5 Régler les paramètres et les tolérances de reconnaissance de telle sorte à assurer une détection des bouchons. Tester le résultat sur l image d apprentissage (score proche de 1) puis sur les dix autres images de la séquence. Ajuster votre modèle pour séparer les flacons avec présence correcte du bouchon des autres flacons grâce au score de ressemblance et commenter les résultats. Pour chaque image, indiquer sur votre compte-rendu les valeurs du score de ressemblance et les coordonnées du bouchon retrouvé sous forme d un tableau. Sans modifier la valeur du seuil de ressemblance, indiquer sur votre compte-rendu la valeur que vous choisiriez pour séparer les flacons avec présence correcte du bouchon des autres flacons. 3.2.2 Exploitation des résultats L opération précédente a permis de localiser les bouchons de type correct dans l image et de déterminer un score de ressemblance à chaque modèle retrouvé dans l image. Comme on suppose que le flacon ne peut se déplacer en hauteur, lorsque le bouchon est correctement vissé alors sa position en hauteur est relativement la même. L analyse de ces données peut être effectuée grâce à l outil CogDataAnalysisTool (voir figure 9). Figure 9 Outil CogDataAnalysisTool La fenêtre de cet outil comporte deux onglets : Settings : spécification de la valeur nominale, du seuil de rejet bas, du seuil de rejet haut, du seuil d avertissement bas et du seuil d avertissement haut, Results : visualisation des résultats. Il est possible d ajouter à cet outil autant d entrée (Channel) que l on souhaite et de les renommer. Attention, pour exploiter une nouvelle entrée, il faut ajouter la variable Current.Value correspondante grâce à l action Add Terminal dans le menu contextuel de l outil. TP de Vision Industrielle 9
Question 6 Configurer l outil CogDataAnalysisTool afin d analyser les scores de ressemblance de l outil de reconnaissance des formes précédent. Après avoir déterminé la valeur nominale de la position en hauteur du bouchon, insérer une nouvelle entrée à l outil CogDataAnalysisTool pour analyser cette position. Ajuster les seuils sur les 11 images de la séquence afin que l outil détecte les bouchons de type correct ainsi que les bouchons correctement vissés. Indiquer dans votre compte-rendu les valeurs des paramètres modifiés. 3.3 Analyse du Flacon Le flacons apparaissant toujours au même endroit dans l image, les outils mis en place pour leurs analyses seront positionnés par rapport au repère de cette image. 3.3.1 Couleur du flacon Afin de mesurer les niveaux de gris moyens correspondant au verre du flacon, il est possible d utiliser l outil CogHistogramTool (voir figure 10). Figure 10 Outil CogHistogramTool Cet outil permet de déterminer l histogramme d une image ou d une zone de l image ainsi que d autres paramètres statistiques liés à cet histogramme comme la moyenne, l écart-type,... La fenêtre de cet outil comporte trois onglets : Settings / Region : définition de la région d intérêt, Graphics : choix des graphiques à afficher dans les fenêtres d affichage, Results : visualisation des résultats. TP de Vision Industrielle 10
Question 7 Après avoir défini une région de forme circulaire située sur le flacon, observer l histogramme de cette zone ainsi que les résultats correspondant. Pour chaque image de la séquence, indiquer sur votre compte-rendu, sous forme d un tableau, la valeur moyenne des niveaux de gris calculée dans la région définie. Ajouter une donnée à l outil CogDataAnalysisTool afin d afficher le résultat de la mesure précédente et détecter les flacons de mauvaise couleur. Indiquer dans votre compte-rendu les valeurs des paramètres modifiés et représenter graphiquement l outil dans l image. 3.3.2 Niveau du liquide Afin de mesurer le niveau du liquide, le bord du liquide doit être détecté grâce à l outil CogCaliperTool (voir figure 11). Figure 11 Outil CogCaliperTool Cet outil permet de détecter les bords d objets contenus dans l image en analysant les variations des niveaux de gris des pixels contenus dans une fenêtre dont le sens indique la direction d analyse des transitions. La fenêtre de cet outil comporte cinq onglets : Settings : choix du mode de détection et ajustement des seuils de détection, Region : définition de la région d intérêt, Scoring : élaboration de la loi de calcul du score, Graphics : choix des graphiques à afficher dans les fenêtres d affichage, Results : visualisation des résultats. TP de Vision Industrielle 11
Question 8 Utiliser l outil CogCaliperTool pour détecter le niveau du liquide. Pour chaque image de la séquence, indiquer sur votre compte-rendu, sous forme d un tableau, la valeur de la position verticale du contour détecté. Ajouter une donnée à l outil CogDataAnalysisTool afin d afficher le résultat de la mesure précédente et détecter les flacons ayant un mauvais niveau de liquide. Indiquer dans votre compte-rendu les valeurs des paramètres modifiés et représenter graphiquement l outil dans l image. 3.4 Analyse de l étiquette Afin d analyser le contenu de l étiquette et lire la référence du flacon pour l identifier, il est d abord nécessaire de détecter celle-ci quelque soit sa position et son orientation sur le flacon. 3.4.1 Détection de l étiquette Question 9 Détecter l étiquette en utilisant l outil CogPMAlignTool avec comme modèle le texte en haut de l étiquette, le logo ou un autre élément de l étiquette et de telle sorte que ce modèle soit toujours retrouvé quelque soit la qualité, la position ou l orientation de celui-ci. Pour chaque image de la séquence, indiquer sur votre compte-rendu, sous forme d un tableau, la valeur de l orientation de l étiquette ainsi le score de ressemblance. Ajouter une donnée à l outil CogDataAnalysisTool afin d afficher le score de ressemblance. Ajouter une donnée à l outil CogDataAnalysisTool afin d afficher la mesure de l orientation de l étiquette et détecter les étiquettes mal positionnées. Indiquer dans votre compte-rendu les valeurs des paramètres modifiés et le modèle utilisé. 3.4.2 Création d un repère lié à l étiquette Avant d effectuer la lecture du code barre imprimée sur l étiquette, il est nécessaire de déterminer un repère lié à cette étiquette puisqu elle peut bouger en translation et en rotation. Le texte ou le logo étant parfaitement localisés grâce à l outil CogPMAlignTool, c est le repère du texte ou du logo qui va permettre de créer un repère lié à l étiquette. Pour créer ce repère, on utilise l outil CogFixtureTool (voir figure 12). TP de Vision Industrielle 12
Figure 12 Outil CogFixtureTool La fenêtre de cet outil comporte deux onglets : Settings : spécification des paramètres de la transformation géométrique liée au changement de repère. Graphics : choix des graphiques à afficher dans les fenêtres d affichage. Question 10 Relier les sorties nécessaires de l outil CogPMAlignTool aux entrées de l outil CogFixtureTool, réaliser un test sur la séquence d images et observer les résultats. Que constate-t-on? 3.4.3 Lecture du code barre L outil permettant de lire différents types de code à barres est l outil CogBarcodeTool (voir figure 13). TP de Vision Industrielle 13
Figure 13 Outil CogBarcodeTool La fenêtre de cet outil comporte quatre onglets : Settings : spécification des types de codes barres à rechercher et paramétrage de l algortihme de recherche, Region : définition de la région d intérêt, Graphics : choix des graphiques à afficher dans les fenêtres d affichage, Results : visualisation des résultats. Question 11 Configurer l outil CogBarcodeTool afin de lire le code barre sur l étiquette des flacons. Déterminer le type de code qui est utilisé ici et sélectionner uniquement celui-ci pour la suite. Ajouter une donnée à l outil CogDataAnalysisTool afin d afficher le résultat de la lecture du code barre et détecter le flacon avec un mauvais code barre. Indiquer sur votre compte-rendu les valeurs des paramètres modifiés et les valeurs des codes barres qui sont lues. TP de Vision Industrielle 14