351 de produits industriels par vision master...
TRANSCRIPT
1
Le Contrôle qualité de
produits industriels par vision artificielle
J. Mitéran
Laboratoire Le2i – UMR 5158
Université de Bourgogne
Plan de la présentation
� Introduction Générale– But
– Contraintes
– Le banc de contrôle
� Méthodologie générale
� Le contrôle qualité à travers 3 exemples– Contrôle de filaments
– Contrôle de cathodes
– Contrôle de pièces très réfléchissantes
2
ButAméliorer la qualité des produits
�Améliorer le suivi des processus de fabrication
�Améliorer la sécurité
�Améliorer la répétabilité
�Améliorer les coûts de production
Contraintes principales
�Contrôle temps réel (de quelques minutes par pièce à quelques dizaines de pièces par seconde)
�Dimensions parfois très variées
�Conditions d’éclairage ou d’acquisition parfois difficiles (notamment en métallurgie)
�Embarquabilité - Consommation
3
Moyen : le banc de contrôle
Eclairage
Elément à
contrôler
Capteur-
prétraitements
Acquisition Traitements
Extraction
de
paramètres
Décision
(Mesure ou
action)
HalogèneLEDBacklightContinu, pulsé
Visible ou non
CMOSCCD
Standard ou rapide Visible, IR,UV
NB,
Couleur,multispectraleRésolution standard
ou dédiée
Analogique/ Numérique
Embarquée ou dans un PC
Outils de traitement d’image
(segmentation, contour, …)
Analyse dimensionnelle
Classifieur
(Réseau de neurone,
KppV,SVM)Opérateur de
mesure
Méthodologie
� Etablissement d’un cahier des charges le plus précis possible…– Définition des défauts ou mesures– Définition de la cadence, de la précision , etc.– Echantillonnage et expertise de pièces représentatives
� Mise en œuvre de l’acquisition - Recherche de la meilleure adéquation éclairage-mesure possible
� Recherche des paramètres ou mesures représentatives. Mise en œuvre de méthodes de sélection de ces paramètres
� Choix et mise en oeuvre d’une méthode de classification� Qualification du système à partir de l’échantillon défini au niveau du cahier des charges – révision éventuelle du cahier des charges…
� Mise en place du système sur la ligne de production –Adaptation éventuelle
4
Choix du type d’éclairage
� Pièces petites, opaques, privilégier l’éclairage à LED (puissance, durée de vie)
� Pièces grandes : tubes ou halogène. Attention aux problèmes de fréquence des tubes non continus
� Pièces translucides/transparentes : penser à utiliser les propriétés optiques (polarisation, réfraction, …)
� Pièces réfléchissantes : éclairage spécifique…
� Mesures dimensionnelles : backlight, rétroéclairage
� Penser aux outils permettant de rendre l’éclairage homogène (panneaux réfléchissants, sphère intégratrice) ou au contraire inhomogène si nécessaire (zones masquées, franges, éclairages structurés)
– Ex : le vidéo projecteur est une source interessante d’éclairage structuré. Inconvenient : durée de vie et coût de la lampe (3000 à6000 heures, soit quelques mois en continu, pour 400 euros…)
Disposition de l’élément à observer� Objet fixe ou en mouvement?
– Objet fixe : choisir la vitesse d’obturation permettant d’avoir une profondeur de champ adaptée
– Objet en mouvement : choisir la vitesse d’obturation permettant d’avoir un objet net, et prévoir une acquisition en mode monocoup
� Divers :
– le convoyeur existe-t-il? Sa vitesse? Peut-on arrêter la pièce pour la contrôler? Sous quel angle se présente-t-elle à l’extérieur? Peut-on la bouger? L’environnement est il hostile (projections de produit, encombrement, etc)?
– Est-il possible d’ajouter des éléments améliorant les conditions de prise de vue ( panneaux réfléchissants, masques, éclairages)
– Est-il possible de placer une caméra !
– Combien coute la modification de l’ensemble pour introduire le poste de vision…
5
Choix de la caméraNB : le choix peut être lié aux paramètres/mesures à extraire ensuite!
� Choix du bus/interface– Vidéo composite ou numérique : stable avec une carte d’acquisition– IEEE 1394 : stable – vérifiez la présence d’exemple de programmation– USB 1 : lent– USB 2 : pas encore bien standardisé !
� Choix de la gamme– Webcam : a éviter pour le contrôle de processus industriel, sauf exception
(contrainte de cout, de temps de développement, stabilité du milieu)– Caméra industrielle : sensée être plus fiable, plus robuste. La plus performante
n’est peut être pas nécessaire pour votre application ! Nécessaire si vous contrôlez des objets en mouvement (non entrelacé), ou si l’acquisition doit être synchronisée avec un événement extérieur
� Choix de la taille du capteur– Contrôle dimensionnel : la résolution de la caméra est un facteur critique– Contrôle d’aspect : la résolution est moins critique, mais doit être étudiée. Trop
de détails nuit parfois…– Caméra linéaire (haute résolution pas trop coûteuse) ou matricielle (plus facile à
mettre au point, moins rapide ?)
� Choix de la technologie– Infrarouge? Ultraviolet? Visible? Multispectrale? Couleur classique? Niveau de
gris? Autre (ultra-son?)– Couplage avec d’autres capteurs (son, ultra son…)
Choix de la méthode d’acquisition� Acquisition par carte PCI si
– Vitesse élevée
– Plusieurs caméras sur un même poste
– Besoin de stabilité (couleurs ou luminance)
– Besoin de synchronisation avec l’extérieur (possible aussi en USB industriel)
– Besoin d’adaptation à plusieurs type de caméras
� Acquisition par bus série– Vitesse pas trop élevée
– Driver stables et exemples fournis
– Détermine en même temps le choix de la caméra
6
Moyen : le banc de contrôle
Eclairage
Elément à
contrôler
Capteur-
prétraitements
Acquisition Traitements
Extraction
de
paramètres
Décision
(Mesure ou
action)
HalogèneLEDBacklightContinu, pulsé
Visible ou non
CMOSCCD
Standard ou rapide Visible, IR,UV
NB,
Couleur,multispectraleRésolution standard
ou dédiée
Analogique/ Numérique
Embarquée ou dans un PC
Outils de traitement d’image
(segmentation, contour, …)
Analyse dimensionnelle
Classifieur
(Réseau de neurone,
KppV,SVM)Opérateur de
mesure
Choix des paramètres/mesures� Etre inventif !
– Parfois quelques paramètres simples peuvent suffire, très dépendants du problème àrésoudre
– Ne pas hésiter à tester des voies nouvelles
� Ne pas tout réinventer !– Outils statistiques standards (moyennes, écarts type, etc)
– Opérateurs classiques (Morphologie mathématiques, ondelettes, FFT…)
� Utiliser des méthodes d’analyse de données et de sélection de paramètres reconnues (ACP, Algo. Génétiques, FFS, etc)
7
Choix de la méthode de décision/classification
�Voir le cours de RDF…
�Prendre en compte les contraintes de temps de traitement et d’embarquabilité
�Privilégier les outils existants (Estimation de gaussiennes,Kppv, réseaux de neurones, SVM, Nuées dynamiques) avec un procédé de validation rigoureux
Qualification -Validation
� Prévoir la validation dès l’établissement du cahier des charges
� Prévoir un nombre de tests représentatif de la production
� Processus itératif : éclairage – acquisition – paramètres – décision – validation ->remise en cause de la chaîne (ne pas attendre le dernier moment pour valider…)
� Remise en cause des décisions des experts humains !
8
Les outils pour le codage� Les boites à outil du commerce
– Matlab– Labview-National Instrument
� Affranchissement� Contrôle qualité� Contrôle de billet
– Optimas– Common Vision Blox
� Minos (RDF)� Movie� Quality� Etc !!
– Librairies Intel : IPP� Domaines� Exemples
� Coder soi-même (C++, Java, Visual Basic, …)!– Détenir la propriété intégrale du code– Parfois plus rapide au niveau éxécution, souvent plus lent au développement– Utile si l’on veut concevoir un produit revendable
� Dans les deux cas, prévoir la maintenance après livraison : pérénité de l’outil choisi, des interfaces, etc…
I2i Industrie
16
Contrôle qualité de pièces mécaniques par vision industrielle
Description : Delta Technologies Sud-Ouest (DTSO) participe depuis Novembre 2005 à un projet européen de recherche, dans un partenariat regroupant laboratoires de recherche et PMEs d'Espagne, d'Allemagne et d'Italie. L'objectif de ce projet est de développer un système multisensoriel de contrôle de procédés de formage ou d'emboutissage pour la fabrication de pièces mécaniques. Deux ensembles de capteurs complémentaires seront mis en œuvre : vision industrielle ; capteurs acoustiques et de force. Le stage proposé concerne la partie vision du système de contrôle. Le travail consiste à choisir une chaîne d'acquisition adaptée, et à définir des algorithmes de traitement d'images permettant de détecter les défauts des pièces, tout en prenant en compte les contraintes temps réel des applications visées (les cadences de production peuvent aller jusqu'à 1800 pièces / minute). Ce travail de stage sera couplé et mené en collaboration avec des partenaires européens, notamment espagnols, du projet. Les algorithmes seront implantés en C et C++, dans un environnement de traitement d'images défini antérieurement dans le cadre du projet, en tenant compte des bibliothèques de classes ou de fonctions déjà intégrées dans cet environnement. La langue officielle du projet est l'Anglais. Durée : 6 mois.
Formation requise : dernière année école d'ingénieurs / IUP (M1 ou M2)- Langage C/C++. Traitement d'images. Méthode OMT/UML. Technologies objet. Expérience souhaitée : Windows NT, environnement Microsoft, linux / unix, Visual SourceSafe.Compétences : traitement d'images, développement logiciel, technologies objet Langages : C, C++ Electronique : Méthodes & Outils : OMT/UMLSecteur d'activité : Traitement d'images - C, C++ - Développement objet. Lieu : TOULOUSEDisponibilité : Dès que possiblen°REF : OFS/05/004 ....................................................... REPONDRE
17
Détection de défauts sur des pièces à géométrie complexe par vision à l’aide des SVM
Thèse de S. Bouillant – Le2i site Dijon
Grilles
accélératrices
G2
G1
Badigeon de
cathodeChapeau
Cathode
Filament
~ 2mm
Badigeon de
filament
But : contrôler 10 filaments par seconde
Ensemble filament-cathode Image de l’ensemble du filament
Eclairage- Acquisition
C
A
M
Pièce à contrôler
PC
Eclairage à
LEDs
Détecteur optique
Caméra 1024x1024 – Objectif télécentrique – Eclairage pulsé, à LEDCarte d’acquisition standard PCVision – 11 im/sec maximum
18
Décoloration locale Spires jointives
Bourgeons Badigeons écaillés
Exemples de défauts à détecter
Image originale
Flou Gaussien à l’aide de masques 3x3
Combinaison par des opérateurs logiques.
Seuillage dynamique de Wen Hsiang Tsai et
binarisation.
Croissance itérative des particules A via opérateurs morphologiques critère d’arrêt :
fonction de B
Image B
Image A
Etiquetage et filtrage des particules
Extraction des paramètres
Seuillage dynamique de Wen Hsiang Tsai et
binarisation.
Gradient de Sobel seuillage dynamique de Wen Hsiang
Tsai et binarisation.
Phase de
segmentationPour
l’extraction
des
paramètres
19
A partir de l’image segmentée et étiquetée, on peut
extraire les informations nécessaires à la classification
Extraction de paramètres géométriques
Paramètres extraits (182 au total)
EA2 - dimension 4
Nom du paramètre Taille du vecteur
Nombre de spires détectées - N 1
A = Max(A’i) avec A’i l’aire de la particule Pi 1
Max(S’i) avec S’i la somme des luminances des pixel appartenants à Pi
1
C = Max(A”i) avec A”i l’aire de la particule Qi 1
EB - dimension 27
Nom du paramètre Taille du vecteur
Nb. de spires détectées – N 1
Nb. de pattes détectées – P 1
Aire de chaque spire – Aspire 7
Luminance moyenne par spire – µspire 7
Ecart type de la luminance par spires – σspire 7
Dépassement d’une boite de dimensions données – D
1
Abscisse à l’origine des droites modélisant le corps et les pattes – Bcorps - Bpattes
3
EG - dimension 73
Nom du paramètre Taille du vecteur
Coeff. directeur de la modélisation linéaire des bords et du centre de chaque spire – αGspire - αDspire - αCspire
3x7
Moyenne des distances inter spire - µDIS 6
Ecart type des distances inter spire - σDIS 6
Coeff. directeur des droites modélisant les bords sup. et inf. des pattes – αSpatte - αIpatte
2x2
Distance inter centre de gravité de chaque spire - ∆CDG
6
Différence d’abscisse des points supérieurs de chaque spire - ∆xspire
6
Différence d’ordonnée des points supérieurs de chaque spire - ∆yspire
6
Différence d’abscisse des points inférieur de chaque spire - ∆xspire
6
Différence d’ordonnée des points inférieur de chaque spire - ∆yspire
6
Différence des coefficients directeurs de chaque spire - ∆αspire
6
20
Sélection de paramètres
� Méthode exhaustive : la plupart du temps impossible à mettre en œuvre
� Méthodes déterministes (SFS, SBFS, etc), basées sur une mesure de distance entre classe ou d’erreur de classification et un algorithme de parcours régulier
� Méthodes stochastiques (Algorithmes génétiques, …)
� Méthodes combinées avec la classification, comme le boosting
Avantages : diminution de la taille de l’espaceGain en terme de performances de classification et de vitesse
Inconvénients : risque d’apprentissage « par cœur » et d’ élimination de paramètres a priori efficaces mais statistiquement inutiles
Choix d’un algorithme de classification
� Classification supervisée : définition d’un ensemble de 1600 filaments «bon» et 200 filaments «défectueux»
� Classification peu rapide (10 décisions seulement par seconde)
� Classification dans un espace à dimension élevée, non paramétrique (peu de paramètres à régler) et précise
Un choix logique : les Supports Vector Machine combiné avec un arbre de décision
21
Principe des SVMSéparation de deux classes, {-1;+1}, à l’aide d’un hyperplan qui assure une marge maximale revient à minimiser
1pour 1 +=+≥+⋅ ii ybwx
1pour 1 −=−≤+⋅ ii ybwx
( ) i 01 contrainte la sous 2
2
∀≥−+⋅⋅ by ii wxw
( ) i ∀≥−+⋅⋅ 01by ii wxSoit :
Elément de
classe -1
Elément de
classe +1
w
w
b−
d=2/||w|| La contrainte vient de
SVM Non linéaires - Cas général
� Passage de l'espace de description d à un espace de dimension supérieure où les données sont linéairement séparable : soit un fonction telle où H est un espace de dimension supérieure à d (voir infinie).
� Supposons une fonction K(.;.) telle que : K(xi;xj)=(xi).(xj).
K(x,y) = (x.y+l)p : Classifieur Polynomial
K(x,y) = Exp{-|x-y|²/2σ²} : Classifieur RBF
K(x,y) = Tanh{k.(x.y)-Θ} : PMC
22
Solution
( ) ( )
+⋅= ∑
=
Ns
i
iii bKySgn1
,f xsx α
Même si l’équation de l’hyperplan séparateur n’est pas
accessible dans H , cela n’empêche en rien la
classification, par la fonction de décision :
Les vecteurs supports sont déterminés dans H, par la
même méthode que dans les cas précédents.
Choix du noyau
� Noyau RBF (un seul paramètre)
� Recherche du paramètre optimal
Erreur de classification pour SVM Espace Tot en fonction de γ
0
2
4
6
8
10
12
14
16
18
20
0.00135
0.00473
0.00811
0.01149
0.01486
0.01824
0.02162
0.02500
0.02838
0.03176
0.30000
0.80000
1.30000
1.80000
2.30000
2.80000
3.30000
3.80000
4.30000
4.80000
γ
Erreur en %
FA
ND
( ){ } ( )( ) ( )
opt
1;5 / avec ;
1 20opt
TFA TNDMin Max
d
γ γγ λ λ γ λ γ
∈ = =
23
Apprentissage et décision
� Détermination de l’erreur par validation croisée (CV 10 ou « leave-one-out »)
Pour chaque ( ), y ∈x B�
( ) ( ) ( ) ( )( ). . . 1P B N D =x x x x
NON Oui
La pièce est rejetée ( ), y ′∈x B�
Construction d’un model
M à l’aide des SVM
Pour chaque ( ), y ∈x T�
( ) ( ) ( ) ( )( ). . . 1P B N D =x x x x
Oui
Défaut
Utiliser le modèle M
pour prédire la classe de x
Défaut Bon
Non
Apprentissage Décision
Détermination de l’erreur
�Validation croisée : découpage des ensembles d’apprentissage et de décision en n sous ensembles
�Apprentissage sur n-1 parties, et test sur la nième
�Répéter la procédure ci-dessus n fois
�Cas particulier : le « leave-one-out »adapté à des ensembles de petite taille
24
Résultats
ΛOPT FAR NDR
ARBRE DE DÉCISION COMPLET 0.91 0.50 18.37
Bonne detection (bon)
Bonne detection (mauvais)
Fausse Alarme
Non détection
Contrôle de cathodesThèse de P. Geveaux (Le2i site Le Creusot et Dijon)
� Système d’acquisition
� Contraintes– 10 pièces par seconde
– Images texturées : Segmentation par classification (900ns par décision)
– Décision haut niveau simple
Ring of
L.E.D.
Camera
Piece under
acquisition
25
Définition des défauts
Pieces with bumps Pieces with lack of material
Pieces with smooth surfaces Pieces with hollow knocked surfaces
Segmentation par classification : définition
des pixels d’apprentissage
Defect free areaSmooth surface area
Sélection manuelle des zones de défautsTirage aléatoire dans ces zonesConstruction de bases de données d’apprentissage et de test au niveau pixel
26
Sélection conjointe de l’éclairage et des paramètres de segmentation
Paramètres
choisis a priori
Estimations des probabilités d’erreur pour
chaque paramètre et pour chaque type de
défaut
Systèmes
d’éclairage
disponibles
Caméra
Echantillons
expertisés et
représentatifs
Selection
Selection
Paramètres sélectionnés
Sans défaut
Bourgeons Zone lisse
Manque Creux
image originale Moyenne de luminance Moyenne de gradient Contraste
Moyenne de luminance
Mo
yen
ne d
u
gra
die
nt
de R
ob
ert
s
Moyenne de luminance
Co
ntr
aste
27
Choix de la méthode de classification
� But : décision extrêmement rapide (<100 ns)
� Moyen : Polytope de contrainte ou Hyperrectangles
� Avantage : décision par simples comparateur, aisément parallélisable x1
x2
0 255
255
Exemples de segmentation
image originale Segmentation par Hyperrectangle Segmentation par Parzen
Non détection d’un bourgeon Fausse alarme
Sans défaut
Bourgeon
Zone lisse. Manque
Creux
28
Résultats du contrôle
4.543.63Erreur (%)
4.553.9ND (%)
3.573,57FA (%)
HyperrectangleNoyau de
Parzen
�Défauts � Déviation des rayons lumineux
Zone lumineuse
2: avec défaut
1: sans défaut
image
défautcamera
Eclairage binaire
Zone noire
�Saturation de la camera � Zone blanches isolées dans
les zones sombres
�Surface spéculaire parfaite �R��
I�
n�
Contrôle de pièces très réfléchissantes
(Thèse de R. Seulin – Le2i site IUT Le Creusot)
29
•Nombreuses transitions lumineuses � franges sombres et lumineuses
juxtaposées
•Maîtrise de l’environnement lumineux � tunnel
Objet
CameraTunnel
•Réalisé avec des éclairages diffus et homogènes
Système d’éclairage pour la détection des défauts
N fois
Traitement de la séquence
Translation de l’éclairage
Image intermédiaire
sequence d’images
Post processing
Mesure et classification
capture d’Image
Scratch
Holes
Processus d’éclairage et de détection
30
Tubes
Fluorescents
Diffusant
Camera
Tunnel
d’éclairage
Objet
Prototype
Conclusion
� Chaque problème est différent…� Un éclairage judicieux peut parfois limiter la complexité des traitements
� Le choix de la méthode de classification influe beaucoup sur la souplesse du système– Paramètres à régler– Performances et pouvoir de généralisation– Vitesse de décision, mais aussi d’apprentissage
� La méthodologie de validation doit être très rigoureuse (validation croisée…)