FR 2685514 A1 19930625 FR 9116101 A 19911224 PROCEDE ET DISPOSITIF DE VERIFICATION DE L'ORIENTATION D'UN COMPOSANT ELECTRONIQUE AVANT PLACEMENT SUR UNE CARTE ELECTRONIQUE. L'invention se rapporte au domaine de l'inspection industrielle par traitement d'images et concerne un procédé et un dispositif de vérification de l'orientation d'un composant électronique avant placement sur une carte électronique par une machine d'assemblage. L'invention peut notamment être appliquée au contrôle, par la vision, de l'assemblage automatique de cartes électroniques. Un processus d'assemblage automatisé peut se décomposer en trois étapes, ces trois étapes étant la saisie du composant par une pipette, l'alignement mécanique du composant relativement à la carte, et le placement du composant sur la carte. Les composants proviennent d'un dispositif de stockage et arrivent par l'intermédiaire d'un dispositif d'alimentation (rails, ruban, tige, plateau, etc.). Le dispositif de stockage est généralement un plateau carré ou rectangulaire contenant plusieurs composants disposés côte à côte. Les composants étant généralement de forme carrée ou rectangulaire, leur orientation peut être erronée de 11/2, 1f, ou 3/2 dans le dispositif de stockage. A défaut de vérification, cette erreur d'orientation se conserve jusqu'au placement, et le composant est soudé sur la carte dans une orientation incorrecte. Actuellement, il est connu d'effectuer une vérification globale au niveau du dispositif de stockage ou du dispositif d'alimentation. Par exemple, la vérification peut être effectuée au niveau de l'orientation du plateau au moyen d'une caméra ou par lecture d'un code barre. Cependant, la vérification globale ne permet pas de détecter une erreur d'orientation d'un ou plusieurs composants à l'intérieur du dispositif de stockage ou du dispositif d'alimentation. L'invention concerne un procédé de vérification de l'orientation d'un composant électronique utilisant une approche différente consistant à détecter un marqueur disposé en un coin du composant. Pour cela, un premier réseau de neurones, du type réseau de Kohonen, est utilisé pour effectuer une approximation de la forme du composant par une courbe mono-dimensionnelle et en déduire la position des quatre coins du composant. Un deuxième réseau de neurones, du type Perceptron Multi-Couches, est utilisé pour effectuer une classification des coins du composant, reconnaître le coin comportant le marqueur et en déduire l'orientation du composant. Les avantages du procédé sont une mise en oeuvre très aisée car il fonctionne par apprentissage ; il permet de détecter toute erreur d'orientation d'un composant électronique, même si elle n'est pas multiple de 11/2 ; il est robuste vis-à-vis de variations de l'éclairage et du contraste, et vis-à-vis de la présence de bruit sur les images. Selon l'invention, le procédé de vérification de l'orientation d'un composant électronique, comportant quatre côtés sur lesquels sont fixées des pattes de connexion et quatre coins sur l'un desquels est placé un marqueur, est caractérisé en ce qu'il comporte - une première phase consistant à réaliser un seuillage adaptatif d'une image du composant électronique pour obtenir une image binaire, - une deuxième phase consistant à utiliser un réseau de neurones de Kohonen pour effectuer une approximation de la forme du composant électronique, et en déduire la position des quatre coins du compostant, - une troisième phase consistant à utiliser un Perceptron Multi-Couches pour attribuer une classe d'appartenance, parmi deux classes possibles, et un coefficient de confiance aux coins du composant, les deux classes possibles correspondant respectivement à la présence et à l'absence d'un marqueur sur le coin considéré, - une quatrième phase consistant à décider sur quel coin est placé le marqueur et à en déduire l'orientation du composant. L'invention concerne également un dispositif de mise en oeuvre du procédé, selon l'invention. D'autres particularités et avantages de l'invention apparaîtront clairement dans la description suivante donnée à titre d'exemple non limitatif, et faite en regard des figures annexées qui représentent - la figure I : un exemple d'image d'un composant électronique, - la figure 2 un organigramme du procédé, selon l'invention, - la figure 3 : un organigramme de recherche des quatre coins du composant, selon l'invention, - la figure 4 : un exemple de structure d'un réseau de Kohonen, - la figure 5 : un organigramme de la phase d'apprentissage d'un réseau de Kohonen, selon l'invention, - la figure 6 : un exemple d'évolution du réseau de Kohonen pendant la phase d'apprentissage, selon l'invention, - la figure 7 un exemple de classification des neurones du réseau de Kohonen suivant l'orientation des segments les liant aux neurones voisins, selon l'invention, - la figure 8 : un exemple de modèle de neurone utilisé dans un Perceptron Multi-Couches, selon l'invention, - la figure 9 : un exemple de Perceptron Multi-Couches, - la figure 10 : un organigramme de la phase d'apprentissage dlun Perceptron Multi-Couches, selon l'invention, - la figure 11. : un exemple de dispositif pour la mise en oeuvre du procédé, selon l'invention. La figure 1 représente un exemple d'image d'un composant électronique. Ce composant est de forme rectangulaire et comporte des pattes de connexion sur ses quatre côtés. Les quatre coins du rectangle sont visibles et l'un de ces coins est coupé. Le coin coupé permet de repérer la patte nO 1 du composant électronique. Etant donné que la plupart des composants électroniques comportent un coin coupé pour repérer la patte nO 1, le coin coupé peut être utilisé comme marqueur pour vérifier l'orientation du composant électronique. Mais tout autre marqueur peut être utilisé, notamment, la plupart des composants étant identifiés par des caractères imprimés sur le dessus, il est possible de vérifier l'orientation du composant par l'acquisition d'une image du composant vu de dessus, et en déterminant l'orientation des caractères imprimés ; Cependant le fait d'exploiter l'orientation des caractères imprimés, suppose que le composant était correctement orienté pendant le processus de marquage ; c'est pourquoi dans le mode de réalisation préféré de l'invention, le marqueur considéré est le coin coupé. La figure 2 représente un organigramme du procédé, selon l'invention. I1 s'agit de détecter un marqueur disposé sur le composant, pour vérifier l'orientation du composant électronique. Le marqueur choisi est le coin coupé repérant la patte de connexion nb i de la plupart des composants électroniques. Ce choix permet de détecter des erreurs d'orientation du composant multiples de 11/2. Le procédé comporte une première phase 10 dans laquelle est effectué un feuillage adaptatif d'une image du composant, appelée image source, afin d'obtenir une image binaire où les pattes de connexion sont par exemple au niveau 1. Pour effectuer ce seufflage, il n'est pas possible de choisir une valeur de seuil constante car le résultat serait dépendant de la luminosité et du contraste de l'image. C'est pourquoi la valeur de seuil est calculée de façon à obtenir un pourcentage donné de points image dont le niveau est situé au-dessus de la valeur de seuil. Le pourcentage peut être, par exemple, choisi de l'ordre de 1 i . La deuxième phase 20 du procédé consiste à rechercher la position des quatre coins du composant. La figure 3 représente un organigramme de recherche de la position des quatre coins du composant. Dans une étape 21, les coordonnées du centre de gravité de chaque patte de connexion sont calculées. Pour cela, l'image binaire du composant obtenue après seuillage est améliorée en effectuant une dilatation suivie d'une érosion pour réduire les effets dus au bruit. Une dilatation consiste à augmenter la surface des zones blanches de l'image binaire afin de supprimer les trous correspondant à des tâches noires dispersées dans ces zones blanches, ces tâches noires étant dues au bruit. Une érosion consiste à diminuer la surface des zones blanches ainsi débruitées pour rétablir leur surface initiale. Les zones connexes sont alors recherchées dans l'image améliorée en utilisant, de façon connue, un algorithme classique de recherche des zones connexes. Normalement chaque zone connexe correspond à une patte de connexion, mais en présence d'un fort niveau de bruit, d'autres zones connexes peuvent être détectées. Etant donné que la surface moyenne, notée S, de chaque patte de connexion est connue, a priori, les zones connexes ayant une surface inférieure au tiers de la surface S sont supprimées car elles sont certainement dues au bruit. Les coordonnées du centre de gravité de chaque zone connexe sont alors calculées. Dans une étape 22, un réseau neuronal du type "réseau de Kohonen" est utilisé pour effectuer une approximation de la forme du composant par une courbe mono-dimensionnelle. La figure 4 représente un exemple de réseau de Kohonen à deux dimensions. Un réseau de Kohonen comporte une couche de neurones tels que tous les neurones reçoivent les mêmes valeurs d'entrées provenant de données externes au réseau. A l'intérieur de cette couche, chaque neurone intéragit latéralement de façon complexe avec les neurones plus proches voisins. La notion de voisinage dépend de la distance entre les neurones. A chaque connexion neuronale liant une entrée xi à un neurone j est affecté un coefficient Wi; appelé poids de la ij connexion neuronale. Chaque neurone j est caractérisé par un vecteur de poids WX de composantes WIj > ..., Wu; , où K est le nombre d'entrées du réseau de neurones. En réponse à un vecteur d'entrée x de coordonnées x1, ... XK, la valeur de sortie Y; du neurone j est telle que: Le réseau de neurones utilisé pour effectuer une approximation de la forme du composant est un réseau de Kohonen à une dimension, organisé en anneau, c'est-8-dire que tous les neurones comportent le même nombre de neurones voisins. Le réseau comporte deux entrées et un nombre de neurones N égal au nombre de zones connexes détectées dans l'étape 21. Le nombre de neurones N peut être choisi inférieur au nombre de zones connexes mais doit être suffisant pour que l'approximation de la forme du composant ne soit pas trop grossière. Le nombre de zones connexes est normalement égal au nombre de pattes de connexion. A chaque neurone j est affecté deux poids correspondant aux connexions neuronales entre le neurone j et les deux entrées. Pendant une phase d'apprentissage, le réseau de neurones est alimenté par les coordonnées des centres de gravité des zones connexes détectées dans l'étape 21 ; ces centres de gravité constituent une base d'apprentissage et sont considérés les uns après les autres dans un ordre aléatoire et éventuellement plusieurs fois. Les poids des connexions neuronales sont ajustés par approches successives à partir d'une valeur de départ choisie arbitrairement, jusqu'à ce que leurs valeurs donne une approximation de la forme du composant. Outre les connexions entre un neurone 3 et les deux entrées e1, e2, la définition d'un rayon de voisinage V du neurone j permet aux neurones appartenant à ce voisinage d'apprendre en même temps. Ce rayon de voisinage est choisi élevé au début des itérations afin que beaucoup de neurones apprennent en même temps et diminue en cours d'apprentissage de façon à faciliter la différenciation des neurones lorsque le nombre d'itérations augmente. Pour cette phase d'apprentissage, l'algorithme d'auto-organisation du réseau de neurones utilisé est l'algorithme de Kohonen dont l'organigramme est représenté sur la figure 5. Dans une première étape 50 est effectuée l'initialisation du réseau ; les poids Wi des connexions neuronales entre un neurone j et les deux entrées e1, e2 sont initialisés pour chacun des neurones. Par exemple, les valeurs initiales des poids peuvent être choisies de façon à ce que le réseau soit une approximation d'un cercle centré sur le barycentre des centres de gravité constituant la base d'apprentissage, le rayon du cercle étant égal à une fraction, par exemple un dixième, de l'écart type des barycentres des zones connexes. Dans une deuxième étape 51, à un rang d'itération t donné, les coordonnées du barycentre d'une zone connexe sont extraites aléatoirement de la base d'apprentissage et présentées aux entrées e1, e2 du réseau de neurones. Dans une troisième étape 52, les valeurs de sortie Y3 des neurones j sont calculées à l'aide de l'équation (1). Dans une quatrième étape 53, il y a détermination du neurone vainqueur. Ce neurone vainqueur est tel que sa valeur de sortie Yi est minimale. Dans une cinquième étape 54, les poids des connexions neuronales du neurone vainqueur et des neurones compris dans le voisinage du neurone vainqueur sont modifiés conformément à l'équation (2) suivante #Wj = &alpha;jk(t).[x - Wj] (2) où les coefficients 0( jk(t) permettent de définir un rayon de voisinage du neurone vainqueur qui décroît quand le rang t de l'itération augmente et qui dépend de la distance d(j, k) entre les neurones du réseau et le neurone vainqueur. Pour un réseau à une dimension organisé en anneau, d(j,k) = min (|j-k|, iN-j+ki). L'expression (3) suivante, correspond à un exemple de choix des coefficients i jk(t) qui évoluent suivant une gaussienne. Dans cette expression, jo est une constante appelée vitesse d'apprentissage et Tt est l'écart type de la gaussienne. (3) &alpha;jk(t) = 0 jk o L'écart type #t de la gaussienne décroît t exponentiellement quand le rang t de l'itération augmente conformément à l'expression (4) suivante, dans laquelle T est le nombre d'itérations total Tous les neurones se trouvant dans le rayon de voisinage V du neurone vainqueur vont modifier la valeur de leurs poids de façon à se rapprocher des valeurs d'entrées. Un test est effectué dans une étape 55 pour contrôler si toutes les coordonnées des barycentres des zones connexes ont été présentées au réseau de neurones et si le nombre d'itérations maximal T est atteint. Si le test est négatif, le rang de l'itération est incrémenté et les étapes 51 à 55 sont de nouveau mises en oeuvre avec de nouvelles coordonnées extraites aléatoirement de la base d'apprentissage. Si le test est positif, et le nombre d'itérations maximal T est atteint, le processus d'auto-organisation est terminé et les poids des connexions neuronales sont sauvegardés dans une étape 56. Le réseau de neurones est alors dans une configuration qui approxime la forme du composant. A titre d'exemple, les différents paramètres intervenant pendant la phase d'apprentissage peuvent prendre les valeurs suivantes = 0,2; T = 100 ; O = N/10 ; f T- = 0,2. o o La figure 6 représente un exemple d'évolution du réseau de Kohonen pendant la phase d'apprentissage pour des rangs d'itération de plus en plus élevés. La première forme représentant un cercle correspond à l'initialisation du réseau de Kohonen. Sur cette figure, les rangs d'itération ne sont pas tous représentés. Cependant, cette figure montre que deux neurones voisins évoluent en cours d'apprentissage en restant voisins jusqu' définir en fin d'apprentissage une courbe mono-dimensionnelle approximant la forme du composant électronique. Dans une étape 23 de la deuxième phase du procédé, est effectuée une classification automatique des neurones configurés dans l'étape 22. Quatre classes sont définies, chaque classe étant associée à l'un des quatre côtés du composant. Par exemple, si un neurone est de classe 2, cela signifie que la valeur de ses poids correspond à un point situé sur le deuxième côté du composant. La numérotation des classes n'a pas d'importance mais il faut que des neurones correspondant à des côtés du composant différents aient des classes différentes. Une cinquième classe notée "-1" désigne les neurones qui ne peuvent pas être associés à l'une des quatre classes précédentes. Les neurones appartenant à cette classe ne sont pas considérés dans la suite du traitement. La classification des neurones est effectué de la façon suivante L'orientation des segments reliant deux neurones successifs est calculée et l'histogramme angulaire de cette orientation modulo 11/2 est construit. La valeur maximale de cet histogramme angulaire donne l'orientation 0 du composant modulo n/2. Cette orientation 8 est exprimée dans l'intervalle [0, 11/2 [. Chaque segment reliant un neurone n aux neurones n-l et n+1, est alors considéré individuellement pour rechercher s'il existe un nombre entier k dont les valeurs peuvent être 1, 2, 3, 4, tel que l'orientation des segments reliant le neurone n au neurone n-1 et reliant le neurone n au neurone n+1 est proche, par exemple à + 10 degrés près, de l'orientation + + (k-l) 11/2. Si c'est le cas, le neurone n est placé dans la classe k, sinon le neurone n est placé dans la classe -1. La figure 7 représente un exemple de classification des neurones suivant l'orientation des segments le liant aux neurones voisins. Sur cette figure, l'angle ( F ) est représenté sur un cercle de rayon unité. Lorsque les segments liant le neurone n aux neurones n-1 et n+1 ont des valeurs d'orientation - égales à (k-1) 11/2 + 10 degrés, le neurone n est classé dans la classe 1, 2, 3, ou 4 selon la valeur de k. Dans les autres cas, correspondant aux zones hachurées de la figure 6, les neurones sont de classe (-1). Les cinq classes de neurones étant ainsi obtenues, dans une étape 24 de la deuxième phase du procédé, est effectuée une approximation, au sens des moindres carrés, de chaque classe de neurones différents de la classe (-1) de façon à obtenir quatre segments de droite correspondant aux quatre côtés du composant. Puis, dans une étape 25, est effectué le calcul des quatre intersections des segments de droites, ces quatre intersections correspondant aux quatre coins du composant électronique. La troisième phase 30 du procédé consiste à effectuer la classification de chaque coin du composant électronique, en utilisant un réseau de neurones particulièrement bien adapté à cette tâche, à savoir un Perceptron Multi-Couches. Dans cette classification, deux classes sont considérées ; la première classe, notée classe 1, est celle des coins coupés ; la deuxième classe, notée classe (-1) est celle des coins non coupés. La figure 8 représente un schéma synoptique d'un neurone utilisé dans un Perceptron Multi-Couches, selon l'invention. Un neurone J peut être modéllsé å l'aide d'un sommateur pondéré, 70, associé à un dispositif de calcul d'une fonction, 71. Les valeurs aux entrées 01, 02, ..., Oj..., O n du sommateur pondéré, 10, sont multipllées par des coefficients de pondération respectivement Wlj , W2; ... > Wi . Wnj puis additionnées pour former une valeur intermédiaire X. appelée potentiel du neurone J à laquelle est appliqué un calcul de fonction correspondant, F(XI), qui fournit la valeur de la sortie O; de ce neurone J. La fonction F(X;) est de préférence, une fonction non linéaire tangente hyperbolique. Oj = F(X;) = th(Xj/2) Cette fonction tangente hyperbolique permet d'obtenir une valeur de sortie i qui tend vers +1 ou -1 lorsque les valeurs intermédiaires Xi augmentent en valeur absolue. La figure 9 représente un exemple de Perceptron Multi-Couches. Ce réseau de neurones est organisé en plusieurs niveaux, les sorties d'un niveau constituant les entrées du niveau suivant. Ce réseau comporte trois niveaux comportant respectivement N1, N2, N3 neurones. Les neurones du premier niveau n'effectuent aucun traitement et transmettent simplement la valeur e i qui leur est présentée. Les premier et deuxième niveaux comportent en outre un neurone seuil NS qui n'est pas connecté aux entrées et qui permet d'ajouter un degré de liberté supplémentaire dans la masse d'informations que constituent les poids synaptiques du réseau de neurones. Ce degré de liberté supplémentaire permet au réseau d'apprendre plus facilement et plus vite. Dans le cas de la classification de chaque coin du composant électronique, autour de chaque coin est définie une fenêtre d'analyse de dimension 32 x 32 points, par exemple. Chaque fenêtre d'analyse est réduite à une taille de 16 x 16 points en faisant une moyenne des luminances sur des blocs de 2 x 2 points. De cette façon, pour chaque fenêtre d'analyse, 256 valeurs de luminances sont considérées. Ces valeurs vont être présentées aux entrées du Perceptron Multi-Couches. Le Perceptron Multi-Couches comporte donc 256 neurones d'entrée destinés à recevoir les 256 valeurs de luminances et 2 neurones de sortie correspondant aux deux classes de coin possibles. Pour pouvoir reconnaître le coin du composant qui possède le marqueur, ce marqueur étant par exemple le coin coupé du compostant, le Perceptron Multi-Couches doit avoir préalablement appris à réaliser cette tâche. Pour cela, une base d'apprentissage comportant des exemples d'images de composants électroniques est constituée. Etant donné que le Perceptron Multi-Couches comporte 256 neurones en entrée, quelques milliers d'exemples d'images sont nécessaires pour effectuer un bon apprentissage. Ces images peuvent être obtenues indépendamment les unes des autres, mais il est moins coûteux d'effectuer une seule acquisition d'image du composant électronique et de créer des images additionnelles en changeant la luminance moyenne de l'image acquise (décentrage), en modifiant le contraste, en effectuant une rotation angulaire et en ajoutant un bruit gaussien. Par exemple, la création d'une image nouvelle peut consister à changer le niveau de gris 1 de chaque point (x, y) de l'image acquise en un niveau de gris différent 1' (x > y) obtenu par une combinaison des différentes modifications citées ci-dessus ; not;amment, la luminance 1 de chaque point de l'image acquise peut être remplacée par une luminance 1' telle que 1' = contraste . (l-l)+l+décentrage, où 1 est la luminance moyenne de l'image acquise, ce changement de luminance étant suivi par une rotation de l'image puis par l'ajout d'un bruit gaussien. Chaque image additionnelle ainsi créée donne lieu à quatre exemples nouveaux correspondant à chacun des coins du composant représenté sur cette image. La base d'exemples étant constituée, la phase d'apprentissage du Perceptron Multi-Couches peut commencer. Pour chaque image de la base d'exemples les phases 1 et 2 du procédé sont mises en oeuvre et les 256 valeurs de luminance caractérisant le contenu des fenêtres d'analyse des quatre coins de chaque composant sont sauvegardées pour chaque image. La position des coins de l'image acquise est repérée par l'opérateur et la transformation de cette image pour créer les images additionnelles est connue. Par conséquent, la position des coins du composant représenté sur chaque image de la base d'exemples est connue, ainsi que la classe de chaque coin. Pendant la phase d'apprentissage, le réseau de neurones apprend à reconnaître les deux classes de coin correspondant respectivement au coin marqué et au coin non marqué. Pour cela, on génère automatiquement à chaque exemple, les valeurs que doivent avoir ses sorties suivant la classe du coin exemple présenté en entrée. La classe du coin marqué peut être notée, par exemple, la classe +1 et correspondre à des valeurs de sortie (-1, +1). La classe du coin non marqué peut être notée, par exemple, la classe -1 et correspondre à des valeurs de sortie (+1 > -I). Pendant la phase d'apprentissage, le réseau de neurones ajuste les coefficients de pondération à partir de valeurs de départ arbitraires, par approches successives, en utilisant tous les exemples de la base d'apprentissage, éventuellement plusieurs fois, et dans un ordre quelconque aléatoire. A l'issue de la phase d'apprentissage une classe de coin donnée correspond à l'obtention d'un coefficient de pondération aussi proche de 1 que possible sur la sortie du réseau caractéristique de cette classe, et aussi proche de -1 que possible sur l'autre sortie, et ce pour chacune des deux classes de coin possibles. La phase d'apprentissage est effectuée de la manière suivante décrite ci-après en référence à la figure 10. L'algorithme d'apprentissage utilisé est l'algorithme de rétropropagation. Dans une étape d'initialisation 91, les coefficients de pondération Wij sont tout d'abord initialisés en utilisant une loi de probabilité P(Wij) uniforme dans un intervalle -M, +M. Pour les neurones d'un niveau donné, la valeur de M est choisie égale å 1/ tw, où Q est le nombre de neurones du niveau inférieur. L'apprentissage consiste alors en la modification des coefficients de pondération W, cette modification des coefficients se déroulant de la façon suivante : à un rang d'itération k donné, dans une étape 92, un exemple est extrait parmi la base d'apprentissage et les 256 valeurs de luminance caractérisant le coin correspondant à cet exemple sont appliquées aux entrées du réseau de neurones. Les sorties correspondantes du réseau sont alors calculées, dans une étape 93. Cet exemple étant caractéristique d'une classe donnée devra donner en fin d'apprentissage, en sortie du neurone associé à cette classe, un coefficient égal à +1 ou voisin de +1, la sortie du deuxième neurone du dernier niveau donnant une valeur négative aussi proche de -1 que possible. Une fonction d'erreur est calculée dans une étape 94 en comparant les valeurs de sortie O du réseau aux valeurs de sortie désirées. L'erreur sur la sortie, notée Ej, par rapport à la sortie désirée est mesurée par la valeur 1/2 (O,S,)2 L'erreur de sortie totale E est la somme des erreurs E;i ainsi calculées pour l'ensemble des deux sorties. Dans une étape 95 le calcul des poids, ou coefficients de pondération est effectué. Les valeurs des coefficients de pondération sont modifiées en tenant compte des modifications des coefficients de pondération effectuées au rang d'itération précédent, k-1, ces valeurs étant pondérées par un coefficient de filtrage ss, et de la dérivée de la fonction d'erreur pondérée par une valeur d'un paramètre mètre dit "vitesse d'apprentissage", de la manière suivante Cette modification des coefficients de pondération permet de faire varier les valeurs des poids Wij en fonction inverse du gradient d'erreur, tout en tenant compte des variations effectuées à l'itération précédente, c'est-à-dire en effectuant un filtrage passe-bas qui permet d'éviter des oscillations pour conserver la valeur moyenne de la variation du coefficient de pondération. Ces coefficients étant modifiés, le rang de l'itération est incrémenté dans l'étape 96, un test est effectué, dans une étape 97, pour voir si tous les exemples ont été présentés au réseau de neurones, sinon un nouvel exemple est présenté aux entrées du réseau de neurones et la même opération est effectuée plusieurs fois à partir de tous les exemples disponibles ; puis lorsque tous les exemples ont été présentés au moins une fois, un test est effectué dans une étape 98, afin de voir si tous l Les paramètres d'apprentissage v)et de filtrage ss sont choisis par I'opérateur, par exemple il pourra choisir r)= 0,005 et ss = 0,985. Lorsque la phase d'apprentissage est terminée, le réseau de neurones est capable de reconnaître à quelle classe appartient un coin d'un composant représenté sur une image nouvelle n'appartenant pas à la base d'apprentissage, son état est sauvegardé dans une étape 99, c'est-à-dire que les coefficients de pondération sont gelés et sauvegardés et le réseau de neurones peut être utilisé à des fins de classification des coins d'un composant électronique. En phase de classification, une image nouvelle d'un composant électronique est traitée selon les phases 10 et 20 du procédé et les 256 valeurs de luminance caractérisant un coin du composant sont présentés aux entrées du Perceptron Multi-Couches. Le neurone du dernier niveau dont la valeur de sortie est la plus élevée détermine la classe à laquelle appartient le coin du composant. Une mesure de confiance est attribuée à cette classification. Cette mesure de confiance est définie par l'écart, en valeur absolue, entre la valeur de sortie la plus forte et la valeur de sortie la plus faible de la façon suivante confiance = i sortie la plus forte - autre sortie cette mesure de confiance a une valeur comprise entre 0 et 1. Cette opération de classification est effectuée pour chaque coin d'un composant électronique représenté sur une image donnée. Enfin dans une quatrième et dernière phase 40 du procédé, le résultat de la classification effectuée dans la phase 30 est utilisé et interprété pour décider de la position du coin marqué qui dans l'exemple de mise en oeuvre préféré de l'invention, correspond au coin coupé. Dans cette quatrième phase, à chaque coin est attribué une valeur C définie de la façon suivante C = confiance x classe. La position du coin coupé est obtenue pour une valeur de C maximum. Une valeur de confiance est attribuée à cette position ; cette valeur de confiance est définie comme la moitié de la différence entre la valeur de C maximale et la plus forte valeur de C obtenue avec les trois autres coins. La position du coin coupé étant ainsi déterminé, l'orientation du composant est connue. I1 est alors possible de changer cette orientation avant d'effectuer le placement du composant sur une carte électronique au cas où son orientation serait erronée. La figure il représente un exemple de dispositif pour la mise en oeuvre du procédé, selon l'invention. Le dispositif comporte des moyens d'acquisition, 110, d'une image d'un composant à inspecter qui délivrent en sortie une image numérique du composant. Cette image numérique est traitée par des moyens de seufflage adaptatif, 111, de façon a obtenir une image binaire. Des opérateurs morphologiques, 112, améliorent l'image binarisée qui est ensuite utilisée par des moyens de détection de zones connexes, 113, de façon à en extraire l'ensemble des centres de gravité des zones connexes. Cet ensemble des centres de gravité est alors présenté en entrée d'un réseau de Kohonen, 114 > pour effectuer une approximation de la forme du composant. A partir de cette approximation, des moyens de calcul géométrique, 115, déterminent les coordonnées des coins du composant, ainsi que l'orientation du composant modulo 11/2. Des moyens d'extraction de fenêtres d'analyse, 116, reçoivent en entrée l'image numérique et les coordonnées des coins du composant, définissent des fenêtres d'analyse autour de chaque coin du composant et délivrent en sortie le contenu des fenêtres d'analyse. Pour chaque fenêtre d'analyse, ce contenu est présenté sur les entrées d'un Perceptron Multi-Couches, 117, dont les poids des connexions neuronales ont été préalablement fixés à partir d'une base d'exemples, 120, et grâce à des moyens d'apprentissage, 121. Le Perceptron Multi-Couches, 117, délivre en sortie la classe de chaque coin du compostant, chaque classe étant associée à un coefficient de confiance. En fonction des valeurs reçues en entrée, le Perceptron Multi-Couches prend une décision sur la classe du coin correspondant à la fenêtre d'analyse considérée. A chaque décision est attribuée un coefficient de confiance. Les décisions élémentaires correspondant à chaque coin du composant sont alors transmises à des moyens de fusion des décisions élémentaires, 118, qui déterminent la position du coin coupé. L'orientation du composant modulo n/2 déterminée par les moyens de calcul géométrique, 115, et la position du coin coupé déterminée par les moyens de fusion des décisions élémentaires, 118 > sont alors utilisées par des moyens de calcul géométrique 9 119, pour en déduire l'orientation du composant. La présente invention n'est pas limitée au mode de réalisation précisément décrit, notamment lors de l'apprentissage des neurones du réseau de Kohonen, les coefficients D(jk(t) permettant de définir un rayon de voisinage peuvent avoir une expression différente d'une gaussienne, il suffit que leur valeur décroisse quand le rang de l'itération augmente et quand la distance entre les neurones et le neurone vainqueur augmente. De même, lors de la classification des coins du composant électronique, la dimension des fenêtres d'analyses considérées autour de chaque coin peut être différente de la dimension 32 x 32 points choisie dans l'exemple décrit. Cependant, le nombre d'entrées du Perceptron Multi-Couches doit être égal au nombre de valeurs de luminance contenues dans la fenêtre d'analyse considérée, après un sous-échantillonnage éventuel. REVENDICATIONS 1 - Procédé de vérification de l'orientation d'un composant électronique comportant quatre côtés sur lesquels sont fixées des pattes de connexion et quatre coins sur l'un desquels est placé un marqueur, caractérisé en ce qu'il comporte - une première phase (10) consistant à réaliser un seuillage adaptatif d'une image du composant électronique pour obtenir une image binaire, - une deuxième phase (20) consistant à utiliser un réseau de neurones de Kohonen pour effectuer une approximation de la forme du composant électronique, et en déduire la position des quatre coins du composant, - une troisième phase (30) consistant à utiliser un Perceptron Multi-Couches pour attribuer une classe d'appartenance, parmi deux classes possibles, et un coefficient de confiance aux coins du composant, les deux classes possibles correspondant respectivement à la présence et à l'absence d'un marqueur sur le coin considéré, - une quatrième phase (40) consistant à décider sur quel coin est placé le marqueur et à en déduire l'orientation du composant. 2 - Procédé selon la revendication 1, caractérisé en ce que la deuxième phase comporte - une étape 21 consistant à détecter des zones connexes dans l'image binaire, et à calculer les coordonnées du centre de gravité de chaque zone connexe, - une étape 22, consistant à présenter successivement les coordonnées du centre de gravité des zones connexes sur deux entrées d'un réseau de neurones de Kohonen qui par approches successives, modifie la valeur de ses poids de connexions neuronales jusqu'à ce que leurs valeurs donne une approximation de la forme du composant électronique, - une étape 23, consistant à attribuer une classe d'appartenance aux neurones du réseau de Kohonen parmi quatre classes possibles associées aux quatre côtés du composant, - une étape 24, consistant à effectuer une approximation, au sens des moindres carrés, de chaque classe de neurones de façon à obtenir quatre segments de droite correspondant aux quatre côtés du composant, - une étape 25, consistant à calculer les quatre intersections des segments de droite, ces quatre intersections correspondant aux quatre coins du composant. 3 - Procédé selon la revendication 2, caractérisé en ce que la classification d'un coin du composant électronique consiste - à définir une fenêtre d'analyse autour du coin considéré et à en extraire les valeurs de luminance des points de l'image qu'elle contient, - à présenter les valeurs de luminance extraites de la fenêtre d'analyse aux entrées d'un Perceptron Multi-Couches ayant préalablement appris, à partir d'exemples appartenant à une base d'apprentissage, à reconnaître les coins d'un composant électronique dans une image, - suivant les valeurs de sortie du Perceptron Multi-Couches, à attribuer une classe d'appartenance au coin considéré parmi les deux classes possibles, - à attribuer une mesure de confiance à la classification effectuée, cette mesure de confiance étant définie comme la moitié de l'écart, en valeur absolue, entre la valeur de sortie la plus forte et la valeur de sortie la plus faible du Perceptron Multi-Couches. 4 - Procédé selon la revendication 3, caractérisé en ce que, par convention, la classe des coins marqués est notée +1 et la classe des coins non marqués est notée -1, > et en ce que la position du coin marqué se trouve dans la fenêtre d'analyse pour laquelle le produit de la classe associée à cette fenêtre par la confiance associée à cette fenêtre est le plus élevé. 5 - Procédé selon la revendication 3, caractérisé en ce que les exemples appartenant à la base d'apprentissage du Perceptron Multi-Couches sont obtenus en faisant l'acquisition d'une seule image du composant électronique sur laquelle est indiquée la position du marqueur, et en créant des images additionnelles en décentrant l'image acquise, en modifiant son contraste, en effectuant des rotations angulaires, en ajoutant un bruit gaussien et en effectuant des combinaisons de ces différentes modifications. 6 - Dispositif pour la mise en oeuvre du procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte - des moyens d'acquisition (110) d'une image d'un composant électronique, - des moyens de seuillage adaptatif (111) pour binariser l'image, - des opérateurs morphologiques (112) pour améliorer l'image binarisée, - des moyens de détection des zones connexes (113), pour extraire de l'image un ensemble de points correspondant aux centres de gravité des zones connexes, - un réseau de Kohonen pour effectuer une approximation de la forme du composant électronique à partir des coordonnées des centres de gravité des zones connexes, - des moyens de calcul géométrique (115) pour déterminer les coordonnées des coins du composant ainsi que l'orientation du composant modulo 1T/2, - des moyens d'extraction de fenêtres d'analyse (116) autour de chaque coin du composant, - un Perceptron Multi-Couches ayant des poids de connexions neuronales préalablement fixés à partir d'une base d'exemples (120) et de moyens d'apprentissage (121), pour attribuer une classe et un coefficient de confiance à chaque coin du composant en fonction du contenu de la fenêtre d'analyse correspondante, - des moyens de fusion des décisions élémentaires (118) pour déterminer la position du coin coupé, - des moyens de calcul géométrique (119) pour déterminer l'orientation du composant à partir de la position du coin coupé et de son orientation modulo 1f/2.