351 de produits industriels par vision master...

30
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

Upload: trinhduong

Post on 10-Sep-2018

215 views

Category:

Documents


0 download

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

9

Satimage

Phlox

10

11

12

13

14

15

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…)