FR 2669429 A1 19920522 FR 9014419 A 19901120 CONTROLE OPTIQUE AU VOL Le contrôle optique d'objets fabriqués en grande série en vue aussi bien d'en décider l'acceptation ou le rejet que de surveiller le niveau de qualité général d'une fabrication enveloppe certains contrôles dimensionnels mais surtout des contrôles d'aspect; ceux-ci révéleront l'état de surface et plus précisément ses anomalies et même, pour les objets transparents, voire translucides, d'éventuels défauts internes. C'est pourquoi ce contrôle est très employé dans l'industrie du verre et en particulier du verre creux, soit pour l'inspection fine de zones délimitées susceptibles de porter des défauts spécifiques, notamment des glaçures, et l'on recourt alors volontiers à des faisceaux lumineux orientés, plus ou moins étroits, soit sur la plus grande partie possible de la paroi pour la détection de défauts plus variés: inclusions, défauts de pâte, d'épaisseur, adhérences Il faut dans ce cas étudier une image de l'objet en déplacement avec ou sans rotation, formée le plus souvent par transparence en éclairage diffus. Il est alors nécessaire d'analyser en temps réel donc à très haute cadence le signal fourni par un dispositif optoélectronique placé le long d'un transporteur et associant à un émetteur adéquat un récepteur travaillant en coordonnées cartésiennes rectangulaires, donc souvent désormais construit autour d'une caméra matricielle (CCD: charge coupled device) équipée d'un réseau de cellules saisissant une image globale quasi instantanée Cette image n'est à priori pas uniforme, même sur un objet sans défauts et, quelle que soit la méthode d'analyse choisie, devra, si l'on veut en tirer des informations suffisantes, être comparée par des organes d'analyse de l'image puis de décision à un modèle constitué par une table de critères déduite de l'expérience L'ensemble est asservi à un microcalculateur. Une des difficultés est alors que plus la cadence de contrôle s'accélère, plus il devient difficile de manipuler les objets Une solution répandue consiste à transporter ceux-ci debout sur des convoyeurs à tablier horizontal, généralement rectilignes, avec l'aide de courroies latérales pour les placer, au besoin en les faisant tourner s'il s'agit de bouteilles circulaires Mais il reste difficile d'observer l'image dans une position uniforme, même en synchronisant son acquisition sur le passage de l'objet. L'invention se fixe alors pour premier objectif de fournir des machines de contrôle optique équipées d'un dispositif apte à restituer en position fixe, devant une grille d'analyse cartésienne, toute image instantanée obtenue en position variable sur leur récepteur Elle vise donc à proposer pour ces machines un dispositif convertisseur électronique d'application générale, apte, par insertion entre la caméra et l'analyseur, à transposer en temps réel à des cadences de 36 000 articles à l'heure et plus le signal électronique numérisé issu de cette caméra: ce dispositif sera capable au minimum de recaler chaque image en une fraction du temps de lecture vidéo, non seulement en translation dans la direction du convoyeur mais au moins aussi en translation perpendiculaire et en rotation. Recevant ses données de la caméra pour les transmettre à l'analyseur d'image, le convertisseur caractéristique de l'invention groupe, en liaison avec l'unité centrale de calcul qui pilote la machine et les circuits de l'analyseur, plusieurs unités spécialisées, à savoir une unité de localisation, une unité graphique, une unité de transposition, qui seront décrites ci-dessous à travers leurs fonctions principales respectives dans le cadre du contrôle du fond d'un récipient en verre. Cet exemple, choisi par mesure de clarté, sera accompagné d'indications sur quelques transpositions faciles à d'autres cas Les dessins auxquels sa description se réfère montrent schématiquement: figure 1, la structure possible d'un poste de contrôle, figure 2, l'image reçue sur la caméra, figure 3, la forme des signaux de lignes, figure 4, un organigramme de fonctionnement, figure 5, l'image stockée par la mémoire initiale, figure 6, l'image type d'une bouteille sans défaut. Usuellement, comme le montre la figure 1 mais sans obligation absolue à cet égard, on ménage entre deux tronçons successifs la, lb d'un convoyeur à tablier horizontal 1, sous un émetteur lumineux 2, un intervalle couvert par deux courroies latérales antagonistes 3; l'image du fond, obtenue par observation selon l'axe vertical du récipient B, une bouteille entraînée en translation à intervalles aussi faibles que possible par ces deux courroies, se forme sur la surface sensible d'une caméra 4, commodément constituée par exemple d'un réseau 5 à 384 x 288 mailles carrées, dont le champ utile E est disposé en longueur dans la direction du convoyeur. Qu'elle soit circulaire ou non, directe ou indirecte, et même fournie par le fond "plat" (en vérité peu concave) d'une bouteille sans défauts, cette image ESl, schématisée sur la figure 2, ne présente pas une luminosité uniforme: il peut exister non seulement des différences d'épaisseur ou d'éclairement mais aussi des perturbations systématiques, zones Sl de nervuration destinée au refroidissement du talon, 52, 53 d'écriture en clair ou codée: usine, numéro de moule, repère M d'orientation, par exemple pour le collage des étiquettes etc; ces diverses zones exigent des critères de sévérité et même des traitements différents. Comme le montre d'abord la figure 3, le signal vidéo S fourni ligne après ligne par la caméra est d'abord numérisé par un convertisseur (ADC = analogic-digital converter) en une série de digits Z à 28 = 256 niveaux de gris, traduisant les éclairements moyens de chaque maille, usuellement adressés dans une mémoire cible pour alimenter un analyseur adéquat comparant l'image obtenue à la table de critères définie par le protocole de contrôle, cette dernière pouvant être assimilée à une image type. D'autre part l'image se présente en principe sous une dimension constante car elle est prise à distances fixes sur le dispositif optique, mais sera saisie sur le réseau 5 dans une position quelque peu variable à l'intérieur du champ disponible E; en outre, même si elle n'est pas circulaire, la bouteille se présente a priori en orientation inconnue. C'est cette double difficulté qu'il faut vaincre pour comparer son image à la grille d'analyse que forme le modèle, si l'on veut éviter par exemple que toute marque locale ne neutralise toute une couronne sur le fond. Pour ne pas en encombrer la lecture, la figure 4 donne, du fonctionnement prévu par l'invention, un schéma réduit à la circulation des informations obtenues à partir du signal Z issu du convertisseur 6, en liaison avec l'unité centrale 7 (CPU = central process unit) de la machine de contrôle. Ici le signal Z n'est pas stocké directement dans la mémoire cible 8 pour alimenter l'analyseur 9, de principe connu en soi et qui n'a donc pas à être spécialement décrit, mais tout d'abord converti en un signal W par un dispositif électronique de conversion 10 que pilote également l'unité centrale 7; c'est pourquoi il est d'abord stocké en une quadruple image lZl sur une matrice EXYl correspondant au dessin de la surface sensible, dans les quatre plans mémoires parallèles lia, lb, lic, lld d'une mémoire initiale 11 (RAM = random access memory de 1 M-octet). Sonmmé sur l'ensemble de l'image, un histogramme des niveaux de gris fera systématiquement apparaître deux populations, celle des teintes très claires qui correspond au fond lumineux, celle des teintes plus foncées, susceptible de porter certains pics significatifs d'anomalies l 2669429 systématiques ou accidentelles, mais qui traduit en tout état de cause la présence de l'objet; ceci permet de trouver un seuil S conduisant du signal Z à un signal z binaire noir ( 0) et blanc ( 1), qui fournira la silhouette lzl de l'objet, en l'occurrence celle du fond de la bouteille. Travaillant en flot de données et apte à effectuer d'abord le traitement ci-dessus sur le signal reçu en Z 1 c'est l'unité de localisation 12 qui somme ensuite, ligne j après ligne j et colonne i par colonne i de la matrice EXYl, selon le schéma de la figure 5, à partir du signal Z 2 réextrait de sa mémoire vidéo 12 a, les quantités respectives j nj et i ni, o nj et ni sont les nombres respectifs de noirs du signal z dans la ligne ou la colonne correspondante; aux facteurs près des nombres de rangées de la matrice, les sommes I et J ainsi obtenues ne sont autres que les coordonnées du centre de gravité G de la silhouette, point indépendant du système de coordonnées choisi c'est-à-dire, dans le cas présent, de l'orientation de la bouteille sur son transporteur: inscrites dans une matrice ELl, elles fourniront inversement la translation L-1 à imposer à l'image pour amener ce centre au point origine choisi O d'une matrice cible lUVl, en référence à laquelle se feront ensuite les calculs d'analyse d'image propres à caractériser la bouteille par rapport à l'image type lTl. On notera que, lors de cette phase opératoire, il est possible d'utiliser la mémoire 8, encore libre, en tant que mémoire 12 a. Il est à noter aussi que pour se fixer un centre on pourrait, sur un objet à double symétrie, remplacer la recherche du centre de gravité G par celle du point médian; le calcul correspondant est plus simple mais ce gain compense mal la perte de souplesse qu'entraine un tel choix. Le renseignement ci-dessus est aussitôt transmis par l'unité centrale 7 à l'unité graphique 13, qui l'utilise pour autoriser dans la mémoire 11, le long du cercle C, centré sur G et de rayon r connu d'avance, en fait parallèlement dans les quatre plans lia à 11 d sur les quatre quadrants Ca à Cd (fonctions monotones), la lecture Z 3 par l'analyseur 9 du profil lumineux de l'image lZl mise en mémoire; l'analyseur y détectera un écart ou une séquence spécifiques d'intensité, caractéristiques d'un repère angulaire M préexistant ou spécifiquement prévu à cette fin sur le fond, en particulier une perle faisant loupe devant l'émetteur. Dès l'identification des coordonnées P et Q de ce repère dans la matrice lXYl, l'unité centrale 7 fournit les coefficients directeurs, cosinus et sinus, p = (P-I)/r et q = (Q-J)/r de la direction du point de repère: inscrits dans une matrice lRl, ils détermineront à l'inverse la rotation R-1 nécessaire pour amener son image sur l'un des axes du plan cible, l'axe des U par exemple. Translation L 1 puis rotation R-1 de l'ensemble de l'image lZl amèneraient celle-ci en regard de l'image type lTl d'un fond sans défaut pour permettre d'en effectuer l'analyse par toute méthode jugée convenable. En pratique l'algorithme voulu, en l'occurrence la matrice de déplacement lDl, inverse du produit matriciel ELllRl, permettra, selon le schéma de la figure 6, de remonter de la matrice lUVl à la matrice lXYl donc à l'image obtenue sur la caméra, pour déterminer à quels éléments de cette dernière correspond l'intensité de signal W qui caractérisera un pixel (U,V,W) de la matrice cible, ou mieux à quels pixels (X,Y,Z) de la matrice initiale se référer pour calculer W, et de quelle façon On opère en coordonnées homogènes au moyen de matrices 3 x 3. L'unité centrale 7 effectue le calcul de la matrice lDl et la transmet à l'unité de transposition 14 pour celui de W Si l'on admet que W soit la représentation directe de l'éclairement de l'image, une méthode possible de détermination de la valeur à lui attribuer serait le report pur et simple de la valeur Z du pixel le plus proche, voire de celui correspondant aux valeurs entières par défaut de X' et Y'; en effet les coordonnées X' et Y' du point initial correspondant à ce pixel cible ne seront qu'exceptionnellement des nombres entiers Les circuits utilisés sont aptes à l'emploi de méthodes plus précises, mais elles sont plus complexes; compte tenu des contraintes de temps, celle préférée sera celle, relativement simple, de l'interpolation bilinéaire entre les quatre pixels voisins, au prorata de l'inverse de leurs écarts de coordonnées. Si l'on suppose qu'à un certain pixel A (U,V) de la matrice cible corresponde un point initial A' (X' = X+x, Y' = Y+y) o X, Y représentent les parties entières des coordonnées, x et y leurs parties fractionnaires, ce point se trouve à l'intérieur du carré formé par les centres des quatre cases (X,Y), (X,Y+ 1), (X+ 1,Y), (X+ 1,Y+ 1); si les luminosités respectives de celles-ci sont Z O o, Z 01, Z 10, Z 11, il sera attribué à A' donc à A une luminosité Z' = ( 1-x)( 1-y) Z O O + ( 1- x)y ZO + x( 1-y) Z 1 O + xy Z 11 = W. A titre d'exemple arbitraire exposé en numération décimale, en supposant qu'au pixel A de la matrice cible corresponde, à l'intérieur du carré formé par les centres des quatre cases: (Xo = 8, Yo = -3) de luminosité 137, (Xo = 8, Yi = -4) de luminosité 145, (X 1 = 9, Yo = -3) de luminosité 123, (X 1 = 9, Yi = -4) de luminosité 111, un point initial A' de coordonnées X' = 8,37 et Y' = -3,48, il lui sera attribué des coefficients multiplicateurs respectifs: kx = 0,63 et 0,37, ky = 0,52 et 0,48, soit une luminosité W égale à Z' = 0,63 x 0,52 x 137 + 0,63 x 0,48 x 145 + 0,37 x 0,52 x 123 + 0,37 x 0,48 x 111 = 132. Le calcul à effectuer consistera donc à rechercher case après case du domaine utile de la matrice cible les coordonnées du point initial, à partir de leurs parties entières les luminosités des quatre pixels initiaux qui l'encadrent et de leurs parties fractionnaires les quatre coefficients multiplicateurs, k, pour effectuer la sommation ci-dessus. L'unité de transposition 14 comprend essentiellement ici deux circuits transposeurs de données 14 x et 14 y (IRS = Image resampling sequencer) effectuant ce calcul par une série d'itérations linéaires, et un multiplicateur-accumulateur 15 (MAC). Objet après objet, l'unité centrale 7 calcule la matrice lDI, dont les coefficients sont stockés dans les mémoires tampons de chacun des deux transposeurs 14 x et 14 y Ceux-ci élaborent respectivement à partir de ces coefficients, pour chaque couple U,V du champ utile les valeurs X' et Y'; ils sélectionnent leurs parties entières X et Y pour prélever en parallèle les quatre valeurs Z correspondantes dans les quatre plans de la mémoire initiale 11, et leurs parties fractionnaires x et y pour stocker les coefficients d'interpolation k correspondants dans une mémoire tampon 16 Le multiplicateur-accumulateur 15 effectue le calcul de Z' = W qu'il transfère dans la mémoire cible 8 dont les données serviront alors seulement à alimenter l'analyseur 9 Il est à noter que celui-ci pourrait extraire directement certaines de ses données des valeurs Z O o Z 11 ici encore on risquerait de perdre en souplesse d'utilisation. Les principaux organes effectivement utilisés pour construire le dispositif ont été les suivants: unité centrale 7: microprocesseur 68070 de Philips RTC, unité de localisation 12: asics HISTO de Imapply International, unité graphique 13: QPDM AM 95 C 60 de Advanced Micro-Devices, transposeurs 14 x et 14 y:TMC 2301 de TRW, multiplicateur-accumulateur 15 TMC 2210 de TRW. mémoires 8 et 11: RAM de 29 x 29 cases ( 1 M-octet). A l'intérieur d'une période de contrôle de 100 ms environ par exemple, un tel dispositif est aujourd'hui capable de recaler une image en moins de 15 ms soit moins de 20 % du temps de cycle, avec un rendu suffisant, sur la trame d'une mémoire matricielle de 512 x 512 cases, et même agrandir ou rétrécir l'image Il est aussi à noter que sous certaines conditions de cadence ses organes, qui peuvent au demeurant être complétés de circuits auxiliaires, permettent d'affiner ou de compliquer le traitement de l'image lZl comme l'expliquent leurs notices d'emploi: c'est ainsi que, dans le cas d'un contrôle des parois latérales, il est possible de donner de la paroi une image EWl développée en modifiant l'échelle de la seule coordonnée U On pourrait même, par exemple pour le contrôle d'un fond piqué, mais avec adjonction d'une matrice de conversion, dilater de façon variable autour du point G les deux coordonnées U et V. Eventuellement enfin certaines des unités décrites ci-dessus peuvent jouer pendant le reste du cycle des rôles différents en liaison avec l'unité centrale et les organes d'analyse d'image: c'est ainsi qu'il y a intérêt à utiliser en tant qu'unité graphique 13 celle destinée à piloter les traitements divers à effectuer sur l'image finale lWl dans les différentes zones de l'image type ETl, zones mortes Tl, T 2, N, de lecture d'un code alphanumérique T 3, de recherche de défauts localisés F avec des sensibilités diverses T 4, T 5, de mesures d'épaisseur Revendications 1 Machine de contrôle d'objets en mouvement éventuellement munis d'un repère angulaire, associant le long d'un transporteur un dispositif optoélectronique comprenant un émetteur et un récepteur travaillant en coordonnées cartésiennes rectangulaires suivi d'un analyseur d'images, asservie à un microcalculateur et caractérisée en ce qu'elle est en outre équipée d'un convertisseur électronique ( 10) apte à restituer en position fixe devant la grille d'analyse cartésienne ETl de l'analyseur ( 9) toute image instantanée (ESl) obtenue sur le récepteur. 2 Machine de contrôle optique selon la revendication 1, caractérisée en ce que ledit dispositif est apte à transformer l'image aussi bien en la déformant qu'en simple similitude. 3 Machine de contrôle optique selon la revendication 1, caractérisée en ce que la transformation se réduit à un déplacement bidimensionnel. 4 Machine selon l'une des revendications 1 à 3, pour contrôler le fond de récipients, comprenant sur un même axe vertical, entre deux tronçons successifs (la, lb) d'un convoyeur à tablier horizontal ( 1), en regard d'un intervalle couvert par deux courroies latérales antagonistes ( 3) entraînant les récipients faiblement espacés, un émetteur lumineux ( 2) associé à une caméra matricielle ( 4). Dispositif de conversion électronique pour une machine selon l'une des revendications 1 à 4, apte, par insertion entre le récepteur et la mémoire cible ( 8) qui alimente l'analyseur, à transposer en temps réel le signal fourni par le récepteur ( 4) puis numérisé, caractérisé en ce qu'il groupe, en liaison avec l'unité centrale de calcul ( 6) qui pilote la machine, une unité de localisation ( 12) déterminant le centre (G) de l'image observée, une unité graphique ( 13) autorisant éventuellement l'analyseur à rechercher le repère angulaire (M) à partir des valeurs (Z) du signal stockées dans une mémoire auxiliaire initiale ( 11), l'unité centrale ( 7) calculant alors l'algorithme de transformation (lDl) qui amènerait la grille ETl sur l'image (lSl), une unité de transposition ( 14) effectuant point par point la transformation et calculant par interpolation, à partir des valeurs initiales (Z), la valeur (W) de signal converti à affecter inversement aux cases successives (U,V) de la grille. 6 Dispositif de conversionselonla revendication 5,caractérisé en ce que l'unité de localisation ( 12) est apte à fournir l'histogramme des intensités du signal lumineux (Z), à élaborer à partir d'un seuil trouvé sur cet histogramme un signal binaire (z) fournissant la silhouette (Ezl) de l'objet, à calculer à partir de la position du centre de celle- ci sur la matrice initiale (EXYl) la translation (L) à imposer à l'image (ESl) pour amener ce centre au point origine ( 0) choisi sur la mémoire cible. 7 Dispositif selon la revendication 6, caractérisé en ce que l'unité de localisation détermine la position du centre de l'image en calculant les coordonnées du centre de gravité de la silhouette ou, éventuellement, sur un objet à double symétrie, celles du point médian. 8 Dispositif selon la revendication 6, caractérisé en ce que, pour recaler l'image, l'unité graphique ( 13) autorise la recherche d'une séquence caractéristique d'un repère (M) par l'analyseur sur le profil lumineux de cette image le long d'une ligne de repérage prédéterminée de la matrice (EXYl). 9 Dispositif selon la revendication 8, caractérisé en ce que, pour déterminer la rotation (R) à imposer à l'image, l'unité graphique autorise la recherche le long d'une ligne de repérage constituée des quatre quadrants d'un cercle (C) centré sur la silhouette (lzl). Dispositif selon la revendication 5, caractérisé en ce que l'unité de transposition ( 14) comprend essentiellement deux transposeurs de données ( 14 x, 14 y) alimentant un multiplicateur-accumulateur ( 15). 11 Dispositif selon la revendication 10, caractérisé en ce que l'unité de transposition ( 14) fait élaborer la valeur (W) du signal converti, par son multiplicateur-accumulateur, case après case du domaine utile de la matrice cible (lUVl), par interpolation bilinéaire entre les intensités du signal (Z) propres aux quatre pixels voisins du point initial correspondant, à partir des parties entières (X,Y) et des parties fractionnaires (x,y) de ses coordonnées. 12 Dispositif selon la revendication 11, caractérisé en ce que la mémoire initiale ( 11) comprend plusieurs plans mémoires explorés en parallèle par les divers organes. 13 Dispositif selon l'une des revendications 9 à 12, caractérisé en ce que l'unité de transposition opère en coordonnées homogènes pour recaler l'image produit des deux matrices de rotation (lRl) et de translation (ELl). 14 Dispositif selon la revendication 5, caractérisé en ce que son temps opératoire ne dépasse pas 20 % de la durée du cycle d'examen et qu'au cours de celui-ci, certaines unités ( 8, 13) sont utilisées tour à tour dans des rôles différents.