Vous êtes sur la page 1sur 60

UNIVERSIT DE SOUSSE ECOLE NATIONAL DINGENIEURS DE SOUSSE (ENISo) PROJET DE FIN DETUDE ELECTRONIQUE INDUSTRIELLE OPTION : CONCEPTION DES

SYSTEMES E LECTRONIQUE (2me promotion) CONCEPTION ET REALISATION DUN OUTIL DINSPECTION OPTIQUE COMPLEMENT TEST labor par : SALEM BEN AICHA Nizar Anis Encadr par : Mr.KAANICHE Khaled (ENISo) Mr. JEMMALI Saber (ENISo) Mr. DOUKALI Mohamed (SAGEM) Mr.BARKANA Abdelhafidh (SAGEM) Anne universitaire : 2008/2009

Ddicaces Parce que cest elle qui ma soutenu, encourag et aid tout au long de mes tudes et de m a vie en gnral, je ddie ce travail ma famille. Je ddie ce mmoire lme de mes deux surs Nawel et Nayla que je noublierai jamais. mon pre Mohamed Taher pour son grand amour et ses sacrifices. ma mre Nafissa que j e laime beaucoup. ma chre fiance Sassia pour son amour et son aide. Cest ma famille que je dois toutes mes russites et toute ma vie, cest elle lorigine de tous les beaux moments que jai vcus. NIZAR

Ddicaces ANIS

Rsum Les machines de vision ont pris une grande importance dans lindustrie de nos jour s vu la bonne qualit dinspection quelles fournissent aux industriels, base sur lacqui sition des images par une camra normale/ Intelligente et de haute rsolution. Le pr ojet tait propos dans le cadre de raliser une application dont le principe est celu i de la machine de vision mais avec des mthodes et des moyens plus simples. Pour cela, on a dvelopp sur le visual C++ une application qui se prsente en une interfac e utilisateur permettant la connexion dune camra, avec sortie USB, un ordinateur p rsentant une bonne capacit de mmoire ensuite la configurer et prendre une image pou r la carte de rfrence ainsi que les cartes de tests par suite. Cette application ra lise une inspection, sur les composants slectionns par loprateur, base sur le calcul du nombre des pixels dont les valeurs de rouge R , vert G et bleu B de ces pixels sont situes chacun dans une zone bien dfinie et dont les bords de lintervalle sont comprises entre 0 et 255 . Ce calcul se fait pour la carte rfrence ainsi que la ca rte tester, ensuite on fait la comparaison avec des seuils bien dtermins pour vrifi er si le composant est absent,dcal ,orienter ou bon chaque fois ou bien la zone sle ctionne est vide au cas o loprateur a mal slectionn le composant. Le rsultat de lappl tion sera un rapport qui prsente le rsultat de linspection en spcifiant le nombre de s composants inspects et le taux pour chaque type de dfaut et de plus un fichier t exte dans le rpertoire de lapplication va contenir, chaque fois quand fait linspect ion, la liste des composants inspects. Mots-cls : machines de vision

Abstract The machine vision have assumed great importance in industry today because of th e good quality of inspection that they provide to manufacturers, based on the ac quisition of images by a camera normal / Intelligence and high resolution. The p roject was proposed in part to make an application that has the same principle a s the machine vision, but with simpler methods and ways. This was why we develop ed on visual C + + is an application that presents a user interface for connecti ng a camera with USB output to a computer, whose memory has a big capacity, and then configure it to take an image for Reference card and for cards to be tested then. This application carries out an inspection on the components selected by the operator, based on calculating the number of pixels whose values in red "R", green "G" and blue "B" are located in each zone well defined so that the edges of the interval range from "0" and "255". This calculation is done for the refer ence card and the tested card, then the comparison is done with determined thres holds to check if the component is missing, or shifted right each time, or the s elected area is empty if l operator has selected the wrong component. The resul t of the application will be a report which presents the results of the inspecti on, specifying the number of components inspected and the rate for each type of defect and also a text file in the application directory that will contain, each time the inspection is done, the list of components inspected.

REMERCIEMENTS Quil nous soit permis dexprimer nos sincres remerciements toutes les personnes qui nont pas manqu de nous donner aide et collaboration pour llaboration de ce projet. n ous remercions spcifiquement : - Monsieur Sabeur Jemmali pour son encadrement att entionn, ses encouragements et ses prcieux conseils et suggestions. - Monsieur Kha led Kaaniche pour la confiance quil nous a tmoign, sa grande disponibilit et pour le s solutions quil a mis notre disposition. -Monsieur le chef service test Sagem Tu nisie Communication usine 1, Monsieur Mohamed Doukali qui nousa bien accueilli da ns son honorable service et pour les moyens quil a mis notre disposition pour men er ce travail. -Monsieur Abdelhafidh Barkana pour son encadrement attentionn, ses prcieux conseils et suggestions. nous remercions les membres du jury qui ont bie n voulu accepter de valoriser ce travail. Nous adressons nos remerciements tous les enseignants du lENISo qui nous ont donn tous les bases ncessaires pour llaboratio n de ce travail Nous tenons remercier Madame la directrice de lENISo, Madame Najw a Essokri Ben Amara pour ses encouragements et ses prcieux conseils. Que toutes l es personnes de Sagem Tunisie Communication reoivent lexpression de notre gratitud e pour leur aide. Je remercie galement Messieurs Hasen Makki pour ses prcieux cons eils ainsi que tous les membres du dpartement lectronique industrielle de lENISo. E n esprant tre digne de vos confiances Soyez assurs de mes considrations Nizar et Anis

Table des matires Remerciements................................................................... ..................................................... Rsum (arable, franais et angl ais) (mots cls compris)........................................ Table des matires Liste des figures Liste des tableaux hine de vision.. III. Evolution des systmes de vision industriels. III ion IV. Cahier des charges et problmatique IV.1. Introduction Chapitre 2 : dveloppement de cahier de charge IIIIntroduction : Architecture de la machine : II-1. Conception : II-2. Etapes di nspection : Systme de commande (hors ligne/en ligne): III-1.Guide dtude des modes d e marches et darrts(GEMMA) : III-2.GRAFCET du conduit : III-3.GRAFCET du fonctionn ement normal : Choix de la camra et lclairage : IV-1. Choix de la camra: IV-2. Choix de la carte dacquisition : IV-3. Choix de lclairage : Algorithmes de traitement : V-1. Techniques de segmentation : V-2. Techniques de prtraitement : IIIIVV-

Chapitre 3 : Dveloppement de logiciel daide la dcision I. II. III. IV. V. Introduction : Conception du logiciel : Dcision : Communicatio n camra-logiciel et acquisition de limage : Prparation des caractristiques de carte inspecter : V-1. Introduction : V-2. Le fi chier RS-274X : VI. Chargement du fichier Gerber : 1- Transformation de fichier Gerber : a- Prsentation de GC-Power Station : graphique code power station b- Eta pes suivre : 2- Nettoyage du fichier Gerber : a- Prsentation de CAMCAD: b- Etapes suivre : VII. Les bibliothques utilises : 1- SDL : VIII.

Phase de programmation : 1234Superposition Fichier Gerber-Image rfrence : Slection et sauvegarde des composa nts : Inspection des composants par analyse et traitement dimages : Rsultat de tes t et tolrance. 5- Fonctions principales du programme : 6- Interface g IX. I. II. III. Conclusion Test Etude de performance.. Avantage Chapitre 4 : test et tude de performance Conclusion Bibliographie Annexes

Table des figures Figure 1. Fonctionnement dun systme vision ....................................... ............................... 17 Figure 2. Aperu de l outil d inspection raliser .................................................................. 21 Figure 3. Ligne de production typique ................................................... ................................ 23 Figure 4. Dialogue oprateur machine ......... .......................................................................... 23 Fi gure 5. Etats de la machine et modes de fonctionnement ......................... .......................... 24 Figure 6. Grafcet du conduit...................... ............................................................................. 24 Figure 7. Grafcet du fonctionnement normal .................................... ..................................... 25 Figure 8. Exemples des camras utiliser . ............................................................................ 26 Figure 9. Exemples d clairage ................................................... ............................................ 27 Figure 10. Panneau de leds conu . ................................................................................ .......... 28 Figure 11. Etapes d importation d un fichier par GC Power station ........................................ 34 Figure 12. Importation du fichier et son ouverture.................................................................. 35 Figure 13. Export du fichier RS-274 ........................................ ...... Erreur ! Signet non dfini. Figure 14. Ouverture du fichier pour le nettoye r par CAMCAD ............................................ 36 Figure 15. Image SD L d une carte lectronique ....................................................... ............... 37 Figure 16. Interface de l application Max-Vision ............ ........................................................ 46 Figure 17. Inetrface gnrale de l application ......................................................... ................ 47 Figure 18. Affichage du composant inspecter ................ ...................................................... 48 Figure 19. Inspection des composants slectionns ........................................................ ........ 49 Figure 20. Rapport gnr aprs l inspection ............................... ........................................... 49

Introduction gnrale

Rcemment, il sest apparu dans lindustrie le concept de vision industrielle qui sagit en fait dune application de contrle non destructif de processus de fabrication. C ette application est principalement constitue d une camra avec objectif pour la pr ise d images des produits sur les lignes de production, d un clairage spcifique po ur mettre en vidence les dfauts, d un ordinateur de visualisation et de traitement des images li un automatisme d jection. Dans ce sens, SAGEM sest orient vers lintrod uction de ce concept dans ses lignes de production mais linconvnient tait le cot lev d ne machine de vision, qui de nos jours est arrive un stade dvolution assez dvelopp vu e les recherches et les investissements que font les chercheurs et les industrie ls pour amliorer la qualit dinspection afin damliorer par suite la qualit de leurs pro duits industriels. En se basant sur ses donnes et pour des raisons de cots comme o n a vu, vient lide de ce projet qui avait comme but de raliser un petit exemplaire dun outil de vision qui a pour rle de faire linspection sur les cartes produites da ns les lignes de production SAGEM et qui peut tre dvelopper long terme pour arrive r au stade dune machine de vision. En ce qui suit, je prsente en premier lieu la s ituation du systme de vision dans lindustrie ainsi que son importance, en second l ieu, je passe aux spcifications techniques et conception de loutil dinspection dans le cadre de mon projet, ensuite, les tapes de dveloppement de lapplication dinspect ion et finalement ltape test, validation et tude de performances de lapplication.

PREMIER CHAPITRE Systme de vision dans Lindustrie Lindustrie

IIntroduction : Le contrle de la qualit dans l industrie fait appel des techniques scientifiques p our garantie la bonne qualit d un produit ou d un service. Les techniques de cont rles varient d un produit l autre, mais les principes de base restent les mmes. Da ns ce contexte, on sintresse un aspect du contrle qualit qui est la vision industrie lle. La vision industrielle est une rponse ces proccupations pour les oprations de contrles de la production. En effet les machines de vision industrielle permetten t un contrle de la production haute cadence et assurent une bonne rptabilit du contrl e ( la diffrence d un oprateur, une machine n est jamais fatigue et ses critres de dci sion ne varient pas). Elle est dfinie selon l UKIVA comme tant l application des t echniques de vision artificielle des problmatiques de production . Son premier obj et est d essayer de reproduire le plus fidlement possible la perception visuelle humaine au moyen d un capteur optique associ un systme de traitement de donnes : le couple camra-ordinateur. Dans ce contexte, vient la dfinition de la vision industr ielle comme tant la construction des machines aptes traiter un ensemble connu de tches visuelles. La vision industrielle stricto sensu concerne les problmatiques d e production. Il s agira de souvent de problmes de contrle qualit ou de guidage, da ns le cadre d une automatisation d une chane de production. IIContrle de la qualit dans lindustrie :

II-1- Dfinition : Le contrle qualit est un aspect de la gestion de la qualit. Il est une opration destine dterminer, avec des moyens appropris, si le produit (y compris , services, documents, code source) contrl est conforme ou non ses spcifications ou exigences prtablies et incluant une dcision d acceptation, de rejet ou de retouche . Un contrle est dfini par un certains nombre de paramtres La frquence de contrle : s ystmatique, par prlvement la ou les caractristiques des produits qui doivent tre cont rl. la mthode de contrle : par mesure, par comparaison, par apprciation (contrle visue l par exemple). les moyens de contrle utiliser : appareil de mesure, rfrentiel l en tit qui ralise le contrle : personnel de fabrication (autocontrle4), personnel spcial is, personnel d encadrement, machine (automatisation du contrle). Pour choisir les caractristiques d un contrle, il faut tenir compte des contraintes techniques (cr iticit de la caractristique contrler, prcision ncessaire de lappareil de mesure, qual fication du personnel effectuant le contrle etc) mais galement des contraintes cono miques. L aspect conomique joue sur la nature du contrle, les moyens engager et su r les caractristiques contrler. Il faut choisir en priorit, les caractristiques ayan t une influence sur la scurit, la fonctionnalit du produit.

II-2- La vision Industrielle : II-2-1. Principe : La vision industrielle consist e prendre une ou plusieurs images de lobjet contrler ou visualiser. Les images son t obtenues grce une ou plusieurs camras. Ensuite les images sont numrises pour tre ut ilisables par un logiciel de traitement dimage le plus souvent ddi au contrle considr. Le traitement de limage ayant t ralis une dcision est prise par rapport des critres inis et une action est effectue. Il existe plusieurs types de vision : Vision 2D : Appele la vision classique , la vision dans un plan est la plus rpandue et la mie ux maitrise sur le march aujourd hui. On peut trouver des camras 2D en niveaux de g ris ou en couleur. Ces camras peuvent tre linaires ou matricielle. Vision 3D : La v ision en trois dimensions est une technique en plein dveloppement technologique e t en plein essor. Le principe peut tre rsum de faon simpliste comme suit. Un faiscea u laser (rouge le plus souvent) est projet sur l objet contrler, une camra matricie lle place environ 45 par rapport au plan (laser; objet) prend une photo de la trac e laser sur l objet. Des calculs gomtriques bass sur le principe de triangulation p ermettent, en tudiant la courbure de la trace laser, de modliser l objet considr en 3D. Vision thermique : Base sur la dtection des zones de dfaut (paroi plus mince) is sues de la diffrence de temprature des zones dun objet. Ces zones ne peuvent pas tre dtectes avec une camra classique. Vision Rayon X : Parfois il est ncessaire d effec tuer un contrle non destructif d un produit cest pour a on utilise une machine de v ision intgrant un rayon X. II-2-2. Types de Systmes de vision : On distingue entre deux types de systmes de vision: les systmes gnriques les systmes spcialiss Les p rs sont gnralement constitus d un PC et d une carte d acquisition et utilisent des camras matricielles. Les seconds ont gnralement recours des hardwares spcifiques (ca rtes DSP, par exemple) et des capteurs spciaux (camras linaires, capteurs IR, etc.) II-2-3. Constitution dun systme de vision : Un systme de vision industriel est hab ituellement constitu de l assemblage des constituants lists ci-dessous: Une ou plu sieurs camras numriques ou analogiques (noir et blanc ou couleur) munies d un obje ctif adapt aux conditions de prise d image, savoir distance et taille de l objet prendre en image. Un systme dclairage continu ou stroboscopique. Une carte interfac e entre l ordinateur et la camra pour numriser les images (aussi connu sous le nom de "frame grabber" en anglais et "carte d acquisition vido" en franais). Aujourdhu i de plus en plus de camras ont la possibilit de numriser l image

immdiatement, ce qui permet de les brancher directement sur un bus de communicati on (TCP-IP, USB, IEEE-1394 etc). Une unit de calcul, souvent un micro-ordinateur ou un systme avec processeur embarqu, (comme un DSP). Un logiciel de traitement dim age. Un senseur de synchronisation (souvent optique ou magntique, ou des encodeur s) qui dclenche la camra lorsque lobjet passe dans son champ de vision. Un systme d entre/sortie digitales, ou un systme de communication protocole (c..d. connexion rsea u ou RS-232 ou plus souvent RS-485 pour les longues distances) pour transmettre les donnes entre les diffrents organes. Un ensemble mcanique permettant de mouvoir les objets, les camras ou dautres organes. II-2-4. Avantages et Inconvnients dune ma chine de vision : Les systmes de vision industrielle prsentent plusieurs avantages : - Le contrle est prcis (mesures gomtriques, quantit,..) - La meure est rptitive et bjective - Le temps de calcul est rapide - Il n y a aucune fatigue - Le systme s adapte des environnements difficiles - Le contrle intgre des connaissances d exper ts - La vision industrielle permet de gagner sur : le cot des matriaux, le cot de t ravail, Il prsente nanmoins des inconvnients : - Le systme est optimis pour une appli cation - L volution et la flexibilit du systme sont limites - Le systme est sensible aux changements des conditions d environnement IIIEvolution des systmes de vision industriels : III-1. Introduction : Dans la pratique industrielle, la mise en place d un systme de vision commence par une srie de choix : la dfinition du systme optique (objecti fs, camra, carte d acquisition) permet d optimiser la rsolution de la camra la tail le de l objet observ ; la dfinition de l clairage permet de rduire le contexte de vi sion des quivalents mathmatiques simples ; la dfinition des algorithmes permet la rd uction et l interprtation ; enfin, la dfinition du mode de communication du systme de vision permet de btir un rseau plus ou moins complexe, en fonction des tches att endues. Fondamentalement, la vision industrielle comporte donc deux squences, l u ne o l on acquiert l image, l autre o cette image est utilise pour un traitement ap plicatif command par un logiciel : contrle, mesure, automatisme L acquisition de l image repose sur le prtraitement. La qualit de l clairage et de l objectif, la fine sse du capteur, le positionnement de l objet, la vitesse et l intgrit de transmiss ion des signaux, la puissance de la carte d acquisition, l interfaage direct avec l automatisme environnant sont les caractristiques dominantes du traitement hard ware. Un systme de vision standard

Les premiers systmes de vision sont apparus dans les annes 80. A cette poque les ma chines de vision taient $30.000 et $40.000 donc vu ce cot un peu lev, les socits ont ssay deffectuer leurs propres systmes de vision. En bref, les premiers prototypes d e systmes de vision industrielle sont essentiellement gloire, un peu plus intelli gent comparateurs optiques. En effet, les entreprises avaient besoin de systmes q ui peuvent suivre l volution des capacits de production. Presque simultanment l volu tion de la technologie de la puce du processeur, les tches des capacits de product ion de machines de vision ont t largies. elles ont assum un rle sans cesse croissant pour la dtection de dfauts, la prsence ou l absence, les mesures gomtriques de base, une partie de calibrage et / ou de tri, de la couleur en ligne et la reconnaissa nce du contrle statistique du processus. Comme les besoins de la production augme ntent jour aprs jour, en fait, la sophistication des systmes de vision et de logic iels devient donc de plus en plus demande. La ncessit de la grande vitesse, la prcis ion ainsi que les mesures de vision quantifiables pour aboutir la bonne dcision, est vidente. Par rapport aux autres technologies, les machines de vision sont les seuls outils qui peuvent tenir la production et / ou de la mesure de certaines caractristiques requises. Pour le secteur de la production, l tat de l art-machine intgre des systmes de vision rapide et de haute rsolution avec des camras CCD frame grabbers intelligents qui permettent plusieurs types de traitement d image. Ces systmes combinent des optiques afin de permettre la rsolution la plus belle possi ble. Lorientation vers les camras intelligentes et les pc bass sur la vision la nor me, a assure une amlioration spectaculaire au niveau de la facilit dutilisation et d e la puissance de traitement. Finalement, les derniers progrs se concrtisent dans lutilisation plus large de vision 3-D et 3-D camras intelligentes en particulier a insi que lapparition d autres applications qui impliquent l objet de rayons X ou de l imagerie infrarouge, et plus intgre des socits fournissant des solutions de vis ion et de mouvement.

comprend donc d abord une camra. La qualit des images qu elle capte dpend du nombre de pixels, de la distance, de l environnement extrieur. Un systme de vision peut se prsenter sous la forme de plusieurs architectures matrielles. La premire compren d un PC :Le systme de vision est alors compos d une camra, d un cble, d une carte d acquisition, d un programme informatique. Le second type d architecture, avec ca pteur de vision, se dveloppe depuis les annes 2000. L interprtation des images est effectue dans une camra intelligente qui embarque toute la puissance de calcul ind ispensable. Cette runion dans un mme botier de la partie acquisition et de celle tr aitement d image tend diminuer les cots, l encombrement, les temps de transmissio n IV2. Historique :

III-3. Etapes de fonctionnement dun systme de vision : Illumination Acquisition de limage Systme de machine de vision Scne Image numrique 2D Description de limage Feedback Figure 1. Fonctionnement dun systme vision

Les phases dun systme de vision se rpartissent de la manire suivante : Phase dacquisi tion : concerne l extraction de l image sous une forme numrique. Eclairages, opti ques, camras et cartes d acquisition sont ncessaires pour cette tape. Il s agit d u ne tape importante car, bien ralise, l acquisition permet de simplifier les tapes de traitement et d analyse. Phase du traitement : Souvent appele prtraitement, le tr aitement regroupe un ensemble de techniques destines amliorer la qualit de l image. Une premire tape, appele restauration, vise corriger les dformations gomtriques, pro oques par l optique et la camra, et les variations d clairage. Une seconde tape, app ele amlioration, vise rduire le bruit et augmenter les caractristiques de l objet co ntenant les informations souhaites. Phase de lanalyse : elle a pour but l extracti on de l information caractristique contenue dans une image. Elle recourt diverses techniques telles que celles de segmentation (seuillage, dtection de frontire, et c.). Phase dinterprtation : Sur base des caractristiques extraites telles que celle s des positions, orientations, types,etc, on dgage la liste des dfauts dtects lors de linspection. VCahier de charge et problmatique : IV-1. Introduction : Lactivit principale de la chane de sous-traitance Sagem Tunisie Communication est l a production des cartes lectroniques, pour cela elle dispose dune dizaine de ligne s de production : des lignes CMS, des lignes vagues et des lignes dintgration.

Comme chaque procdure de production et dans le but de garantir la bonne qualit ain si qutre conforme ce que ses clients attendent delle, Sagem dispose dune phase trs im portante lors de la production qui est la phase du test. En effet, il existe deu x types de test qui sont : le test In Situ et le test fonctionnel servant respec tivement tester certains composants de la carte ou la fonctionnalit de toute la c arte mise en tension. Le problme dans ces deux types de test que parfois on ne di spose pas des outils ncessaires pour accder certains types de composants vu leurs tailles ou leurs positionnements do la ncessit davoir un outil dinspection qui nous pe rmet avoir les donnes ncessaires sur ces composants l afin de vrifier leurs critres. IV-2. Intrt du projet: Dans le but dassurer une meilleure qualit de ces produits, SA GEM a quip certains de ces lignes de production par des machines de vision afin dac complir le test ncessaire de certains composants. Cependant, ces machines qui son t assez performantes cotent trs cher do vient lide dessayer de raliser une machine de sion. Mais vu que la ralisation dune telle machine nest pas assez simple et ncessite un intervalle de temps assez important et des grands investissements alors le p rojet sest rduit la conception de machine de vision ,son architecture et son fonct ionnement automatique ainsi la ralisation dun outil dinspection assurant certaines fonctionnalits de test des composants lectroniques sur les cartes de test. Dans ce qui suit, on aura un aperu sur la machine de vision, ses avantages, ses inconvnie nts ainsi que ses tapes ensuite on va sintresser prsenter le travail demand dans ce p rojet. IV-3. Cahier de charge : Dans le cadre de ce projet, il tait demand de ralis er un outil dinspection des composants lectroniques sur les cartes de test. Cet ou til dinspection doit nous permettre de : Vrifier la prsence des composants Vrifier l eurs positions ainsi que leurs orientations Vrifier si cest le bon composant ou pa s partir de son image La vrification va se faire par rapport une carte rfrence appe le aussi carte de calibration qui va tre notre rfrence pour vrifier les critres ind au dessus. Pour arriver raliser ces tapes indiques au dessus, on a besoin de sintres ser certains points qui sont : Comprendre les fichiers CAO (les caractristiques d es composants indiques dedans) et pouvoir lire et extraire les donnes ncessaires ut iliser. Composant rfrence+coordonnes + dimension + orientation + caractre Indiquer l e nombre des classes pour les niveaux qui forment limage du composant La phase re connaissance avec apprentissage (comment enrichir la base) La phase de la valida tion de lajout des donnes Mthode de seuillage utiliser et comment calculer le centr e de gravit dun composant partir de limage trait La partie dveloppement de la mthode e traitement et analyse dimage ainsi que la ralisation des interfaces va se faire sur le Visual C++ pour des raisons qui sont :

Les logiciels tels que le vision builder et le LabView ncessitent des licences qu i sont trs couteuses. On doit prsenter une version 0 pour un comit qui doit valider le projet donc il faut que loutil informatique utiliser est gratuit. La partie ra lisation est dpendante de la capacit dinvestissement du cot service test VIConclusion :

Le contrle de la qualit donc a connu une dviation importante aprs lintgration des syst es de vision dans lindustrie ce qui a permis damliorer la qualit des cartes produite s et de performer de plus en plus les lignes de production. On va voir dans ce q ui est suit les diffrentes tapes de conception et de programmation du projet.

DEUXIME CHAPITRE Spcifications techniques Et Conception

VIIntroduction : La machine de vision est un domaine sans cesse croissant de la recherche qui tra ite lanalyse et le traitement des donnes de limage. Elle joue un rle cl dans le dvelop pement des systmes intelligents. La recherche sur la vision industrielle met lacce nt sur les mthodes et les systmes pour analyser les images ainsi que les squences di mages. Lobjectif dans la vision industrielle de nos jours est de dvelopper des nou velles approches, qui fournissent les principales reprsentations et qui sont robu stes lgard des changements dans lenvironnement et sont de calcul efficace. VII- Architecture de la machine : II-1. Architecture : L organisation d un processus de vision par ordinateur est la suivante : Acquisi tion d une scne Traitement de l image numrique brute Analyse de l image corrige Int erprtation / Dcision Pour cela et afin de concevoir une machine de vision nous som mes obligs de respecter certains critres pour garder le professionnalisme, donc no tre machine contient : Une camra numrique Un bloc dclairage Un micro ordinateur Un a utomate programmable industrielle Un bloc dalimentation Pupitre de commande Deux convoyeurs On a utilis loutil SOLID WORKS pour dvelopper notre modle (voir annexe) Figure 2. Aperu de l outil d inspection raliser

II-2. Conception : Lors de la conception de notre outil dinspection, cinq tapes doivent nanmoins tre re spectes: La dfinition du cahier des charges L tude de faisabilit le choix de la camra La conception de l clairage La conception logicielle Les tests Dans notre cas, l e cahier de charge est dfini dj dans le chapitre 1, ce qui va permet de prciser les critres visuels, en traduisant les paramtres humains et physiques en normes et mes ures. Les exigences de la qualit seront ainsi quantifies. L clairage est fondamenta l car il permet de fiabiliser et de simplifier les tapes de traitement et d analy se. Une fois conu l clairage, le capteur peut tre choisi. Trois grands critres inter viennent : la nature du capteur (qui dtermine sa sensibilit dans les diffrentes zon es du spectre), son type (linaire ou matriciel) et sa couleur (monochrome ou coul eur). Une fois ces quatre tapes acheves, le choix des algorithmes et leur implmenta tion peut tre mene bien. L implmentation est suivie par une phase de tests, d autan t plus critique que lapplication influe sur le bon fonctionnement d une chane de p roduction, par exemple. Le processus se termine par la mise en production. II-3. Etapes dinspection : Donc, on dfinit par suite la procdure dinspection qui contient les tapes suivantes s uivre: Prendre une carte de rfrence dfinir les composants inspecter de la part de lo prateur Faire lacquisition des images de la carte de test inspecter Traitement des images Lanalyse de ces images Dterminer les erreurs au niveau des paramtres inspec ter en les comparant ceux de rfrence enregistrs dans une base de donnes contenant de s diffrents types de composants ainsi que leurs critres Afficher ces erreurs laide dune interface qui permet linteraction de loprateur avec lapplication faite

VIII- Systme de commande (hors ligne/en ligne): Pour automatiser la machine on doit respecter la structure de la chaine de produ ction, la ligne CMS traite des cartes vierges, ranges dans des racks, et a pour rl e dinsrer les composants CMS. Elle est compose dun dpileur, dune machine de srigraphie (MPM) et de quatre machines de posage : deux de type FUJI CP6 et deux UNIVERSAL GSM. A ces deux dernires machines sont associs deux PTF. La ligne CMS comporte au total trois convoyeurs permettant la liaison entre les diffrentes machines.A la f in du cycle on trouve un four, des postes de retouche et un

empileur. A noter quau milieu de la ligne on trouve un convoyeur portillon. Le fo nctionnement de ces machines est cadenc par un temps de pose. Notre machine doit t re install lentr de four, le cadence est bien respecter car le install temps de pass age dune carte dans la machine est infrieur une minute ce qui est suffisant pour g arder le bon fonctionnement. Figure 3. Ligne de production typique III-1.Guide dtude des modes de marches et darrts(GEMMA) : Guide Le Gemma (Guide d tude des modes de marches et d arrts dfinit les diffrentes Guide d arrts) procdures de marche et d arrt. C est un outil de description graphique qui dcrit le dialogue entre l oprateur et la machine. rateur Il aide la conduite de la machine, sa maintenance ainsi qu son volution. Comme pour le Grafcet, le Gemma n e prsume pas de la technologie de commande. Dialogue PC-PO. Dialogue oprateur PO. oprateur-machine : Figure 4. Dialogue oprateur machine

A laide de Gemma on va spcifier les diffrents tats de machine et les liaisons entre les modes de fonctionnement. Figure 5. Etats de la machine et modes de fonctionnement III-2.GRAFCET du conduit : Le Grafcet dcrit le dialogue entre la partie commande et la partie oprative et dfin it le fonctionnement automatique. Figure 6. Grafcet du conduit

III-3.GRAFCET du fonctionnement normal : Figure 7.Grafcet du fonctionnement normal IXChoix de la camra et lclairage : IV-1. Choix de la camra: Suivant le produit inspecter, nous choisissons la camra : Linaire ou matricielle? Analogique ou numrique? Monochrome ou couleur (Mono ou tri-CCD)? Les camras linaire s/ matricielles : Ces camras fonctionnent sur le mme principe quun scanner ou un fa x. Une camra linaire est constitue dune seule range de capteurs. Cest le mouvement rel atif de la scne par rapport la camra qui va reconstituer une image par balayage. C es capteurs permettent datteindre des vitesses et des rsolutions leves (plus de 8000 pixels sur une seule ligne). Les camras analogiques/numriques : Le choix entre un e camra analogique et une camra numrique repose sur un compromis entre le cot et les performances. Les camras numriques permettent datteindre des vitesses dacquisition l eves, des images trs prcises et un excellent rapport signal/bruit. Les camras analog iques sont bases sur une technologie prouve et sont donc plus rpandues et moins chres . Les camras Monochrome ou couleur : Deux technologies sont utilises dans les camra s couleur : Mono-CCD: des masques colors placs devant chaque capteur CCD servent sp arer les composantes RVB.

Tri-CCD: Pour chaque pixel de limage, trois capteurs spci ques chaque composante son t sollicits. La lumire est diffracte travers un prisme qui oriente chaque composant e vers le capteur associ. Dans le cadre de notre projet, on a choisi les camras su ivantes vue leurs capacits au niveau de la rsolution et la possibilit de taux de rpo nse rapide. Nom SONY XCL5005 Type Rsolution 1/1.8" Sony 2456x 2056 CCD Frame RATE 15fps Interface Gigabit Ethernet standard IEEE802.3ab, 1Gbps Image Digital outp ut RGB each 8bit PROCILCA GE2040C CCD 2048 2048 15 fps Gigabit Mono8, Ethernet - Bayer8, IEEE 802.3 - Bayer16, 1000baseT RGB24, CameraL ink, Color IEEE 1394a, GigE Princeton Instruments EC16000 CCD 36mm 24mm 4872 x 3248 x 3fps Tableau 1.les caracteristique des camras utiliser -SONY XCL5005- PROCILCAGE2040CFigure 8. Exemples des camras utiliser IV-2. Choix de leclairage: Limage qui arrive au capteur de la camra rsulte de lintera ction de la lumire avec la scne observe. Pour minimiser les traitements logiciels, il est intressant dobtenir un clairage distribu de faon parfaitement uniforme et homo gne. Malheureusement, il est trs difficile en pratique dassurer cette uniformit, et la constance de lintensit au cours du temps. De plus, des effets tels que les ombr es portes, qui occultent une partie de la scne, ou les re ets, qui blouissent le capt eur, dtruisent par

endroit le signal. Ces dfauts sont dautant plus vrais que le champ de vue de la ca mra est important. Lclairage est un lment dterminant dans un systme de contrle par vi n industrielle. En fonction de la technique dclairage employe, on pourra faire ress ortir certains dfauts. En fait, il y a deux types dclairage : Diascopique ou Rtro-cla irage : Dans ce cas la camra et lclairage sont de part et dautre du produit inspecte r. Le rtro-clairage permet de mettre en vidence le contour dun objet, son ombre. pisc opique : Dans cette con guration la camra et lclairage sont du mme cot par rapport au p roduit inspecter. En fonction du type de dfaut que lon veut faire ressortir, on tr ouve distingue alors diffrentes stratgies dclairage. Pour notre outil dinspection, lcl irage quon va utiliser sagit dun projecteur leds blanches haute luminosit puisqu une rgulation de courant est effectue pour l ensemble des leds, ce qui leur garantie une luminosit gale. On a deux solutions la premire est dacheter un bloc dclairage et l a deuxime est de concevoir notre propre bloc dclairage. 1re solution: On peut utilis er des sources dclairage comme les blocs dclairage par des Leds : Figure 9. Exemples d clairage 2me solution : On va concevoir notre panneau de leds il est constitu de plusieurs branches de leds montes en srie. Toutes les branches sont montes en parallle, mais a u travers de transistors monts en miroir de courant : le courant qui circule dans le circuit collecteur de chacun est quasiment le mme que celui qui circule dans le transistor Q3, voici le schma :

Figure 10. Panneau de leds conu Le schma peut tre dcompos en deux parties : celle de gauche avec les transistors Q1 et Q2 monts en gnrateur de courant constant, et cell e de droite avec toutes les branches de leds et les transistors restants. Le gnrat eur de courant constant : Le courant qui circule dans la led D1 dpend de la valeu r de la rsistance R1, rsistance qui voit ses bornes une tension constante voisine de 0,7V. Si la rsistance R1 vaut 39 ohms, cela conduit avoir un courant de quelqu es 18 20 mA dans cette rsistance, dans la led D1 et dans le transistor Q3. La led D1 n est pas indispensable, mais elle permet de s assurer en un coup d il qu il circule un courant "normal" dans le gnrateur de courant constant. Alimentation : L alimentation est de 24V, mais une valeur comprise entre 22V et 26V convient pa rfaitement. La valeur de cette tension a t dtermine par le type et le nombre de leds en srie. Il s agit ici de leds blanches haute luminosit prsentant une chute de ten sion de 3,6V chacune, la mise en srie de cinq modles identiques implique une tensi on minimale de 5 x 3,6V, soit 18V. L usage d une tension d alimentation de 18V n est pas possible car aucune marge ne serait possible pour la rgulation de couran t par les transistors insrs dans chaque branche.

TROISIME CHAPITRE Dveloppement de logiciel daide la dcision

IIntroduction :

Les logiciels daide la dcision sont des systmes qui permettent dvaluer diffrentes sit ations, soit en tenant compte des ressources disponibles ou du temps allou. Dans le cas de la vision industrielle, les logiciels dinspection dans lindustrie sont b ass sur des algorithmes de traitement dimage qui varient selon linspection quon veut faire. Dans notre cas, loutil dinspection quon veut raliser sera bas sur des algorit hmes de traitement dimage de la carte de test qui diffrent selon les scnarios dinspe ction dsirs (dtection dabsence/ Prsence des composants, dcalage, vrification si cest bon composant ou pas,.). IIDcision : Un des avantages de travailler dans un milieu industrielle est quon mtrise bien le s conditions de travail, eclairage, produits, cadence etc. ce qui nous laisse dter miner la qualit de limage qui peut nous donner un bon rsultat travers des algorithm es bien dtermins et par consquence la meilleure dcision. Lorsquon est capable disoler les objets de leur contexte, on peut dcrire leur forme, leur taille, leur couleur , .... Cest notamment le cas de la recherche de dfauts de surface, quils soient con trasts, colors ou en relief, ... On peut galement faire des tudes statistiques de la rpartition des valeurs associes. Par comparaison des paramtres mesurs avec des vale urs de rfrence, on peut ainsi classer les objets individuels ou populations dchantil lons en catgories pr-d nies pour arriver la bonne dcision et par suite faire une meill eure distinction selon les critres mis en jeu. Il faut cependant mettre en vidence limportance du traitement en couleur qui est plus exigeant de nombreux points de vue. Il requiert en particulier que lon se proccupe de la stabilit des couleurs et de la dlit de leur mesure. IIIConception du logiciel :

Dans le dveloppement logiciel on distingue un mode de fonctionnement hors-ligne, durant lequel un oprateur prpare la tche dinspection en spci ant le type de cartes tra ter, en ajustant des paramtres de fonctionnement et en prsentant ventuellement des images-chantillons de rfrence (ce que lon appelle lapprentissage). Ensuite, le foncti onnement en ligne, la cadence relle, sans intervention de loprateur, peut prendre p lace. Lacquisition des images est synchronise avec le dplacement des cartes, et cha que anomalie dtecte sera affiche par suite sur lcran comme tant une erreur survenue. IVCommunication camra-logiciel et acquisition de limage : Le principe dinspection dans cet outil de vision est de faire le test sur des ima ges qui sont acquises instantanment, cela implique quon doit connecter la camra au logiciel quon veut raliser. Pour cela, on a dfinit une classe Cwebcam de la manire s uivante :

La fonction de la capture de la camra est : void capture (int type), cest une fonc tion qui capte une image de la camra et l enregistre sous format BMP. Cette fonct ion contient dabord une partie qui dtermine les donnes du bitmap, tel que sa taille , en fonction des paramtres de limage par laquelle elle est capture. Ensuite, on fa it une cration dune image bitmap et on rcupre les pixels de lautre dans celle-ci et s elon la valeur de type on fait le garde de limage acquise comme tant une rfrence ou test. Dans linterface principal Menu , on fait appel la fonction connect () pour vr ifier si la camra est bien connecte ou non, ensuite on appelle la fonction Affiche Webcam() pour que limage vu par la camra serait affich lcran. Aprs la fonction captur ( int type) va nous permettre de prendre des images pour la rfrence pour une vale ur de la variable type quand celle-ci gale 0 et des images de test si cette valeu r est gale 1. Sil ny a pas de camra connecte, un message derreur sera affich. VPrparation des caractristiques de carte inspecter : V-1. Les donnes Gerber : Les donnes Gerber sont des simples, moyens gnriques de tran sfert des informations de circuit imprim une grande varit de dispositifs lectronique s qui convertissent les donnes des uvres d art de PCB produits par un photoplotter . Il s agit d une format standard former par des coordonnes X, Y complts par des co mmandes qui dterminent les cas o l image PCB commence, quelle forme elle prendra, et o elle finit. En plus des coordonnes, les donnes Gerber contiennent des informat ions d ouverture, qui dfinissent les formes et tailles des lignes, des trous, et d autres caractristiques.

Le Format Gerber tendu, qui est galement appel RS-274X, englobe galement la liste de l ouverture de l en-tte du fichier de donnes Gerber et permet donc de transmettre des fichiers d un systme un autre sans avoir besoin de rouverture de la table d e ntre. V-2. Le fichier RS-274X : RS-274X prend en charge certains paramtres des cod es de donnes (codes G) et des codes d ouverture (codes D) figurant dans le RS-274 D, ainsi que les codes viss comme des paramtres de masse. Les paramtres de masse so nt des paramtres qui dfinissent les caractristiques qui peuvent affectes toute une p arcelle, ou seulement certaines parties de la parcelle, appeles les couches. Les paramtres de masse tendent les capacits du Format Gerber. Un fichier parcelle RS-27 4X est un fichier compos d un certain nombre de blocs de donnes contenant des para mtres et des codes. Chaque bloc de donnes est dlimit par une fin de bloc de caractres , gnralement un astrisque (*). Chaque bloc de donnes contient un ou plusieurs paramtr es ou codes. Par exemple : - Couches : Un ou plusieurs blocs de donnes peuvent tre regroups en une couche d in formation qui dcrit une partie d une image graphique. En contexte RS-274X, une co uche est une composante dinformation nomme de l image compose d un ou de plusieurs blocs de donnes. Chaque couche peut avoir des caractristiques telles que le nom, l a polarit, et le mode d interpolation, qui diffrent d autres couches d information s. En outre, une couche peut tre "limine" de l environnement graphique, et peut tre rpte et / ou pivote individuellement. - Types de donnes: Un fichier RS-274X peut cont enir les types de donnes suivants apparaissant dans lordre gnral suivant : 1- Les pa ramtres RS-274X : Les paramtres RS-274X sont aussi nomms des paramtres de masse ou u n format Gerber. Linclusion de ces paramtres dans le fichier marque la parcelle RS -274X la place du standard RS-274D. 2- Les codes standards RS-274D : Les codes s tandards RS-274D consistent en : Un caractre code fonction comme G codes, D codes , M codes, etc. Les fonctions codes taient les mots des anciennes terminologies. Elles dcrivent comment les donnes des coordonnes qui sont associes avec elles devrai ent tre interprtes (comme une interpolation linaire ou circulaire), comment le compo sant image doit bouger et dautres. Les donnes de coordonnes dfinissent les points ve rs lesquels le composant doit bouger. Les donnes de coordonnes prsentent les adress es des anciennes terminologies. Les coordonnes X, Y dcrivent les positions linaires et les coordonnes I, J dfinissent les arcs. V-3. Les paramtres RS-274X: Les paramtr es RS-274X dfinissent les caractristiques qui sappliquent une parcelle toute entire ou une seule couche en fonction de la position du paramtre dans le

fichier et sil gnre une nouvelle information de la couche dans le fichier. Les para mtres RS-274X sont composs de deux lettres suivies par un ou plusieurs modificateu rs optionnels. Les paramtres RS-274X sont dlimits par un sparateur de paramtre, gnrale ent par un signe (%). Vu que les paramtres sont galement contenus dans un bloc de donnes, ils sont aussi dlimits par une lettre de fin de bloc. Par exemple : Les par amtres RS-274X peuvent tre regroups en fonction de la porte de leurs fonctions dans le fichier. Les groupes doivent apparatre dans le dossier dans l ordre suivant: L es paramtres directifs qui contrlent globalement les traitements des dossiers. Les paramtres image qui fournissent des informations sur l ensemble d une image. Les paramtres daperture qui dcrivent la forme des lignes et des composants tout au lon g du fichier. les paramtres spcifiques des couches qui dcrivent le traitement d un ou de plusieurs couches de donnes. Divers paramtres qui fournissent des capacits qu i ne tombent pas dans l au-dessus de groupes. Les paramtres RS-274X sont gnralement placs au dbut du fichier dans lordre indiqu au dessus. Exemple: *G04 %FSLAX23Y23*% %MOIN*% %OFA0B0*% %SFA1.0B1.0*% %ADD10C, 0.010*% %LNBOXES*% G54D10 X0Y0D02*X5000 Y0D01* X5000Y5000D01*X0Y5000D01*X0Y0D01* X6000Y0*X11000Y0D01* X11000Y5000D01*X6000Y5000D01* X6000Y0D01*D02* M02* VIChargement du fichier Gerber : Avant de charger le fichier gerber dans notre application, pour former les conto urs de la carte lectronique, nous somme oblig de faire des tapes prliminaires afin d e cre le gerber standard RS274X et liminer tous les informations inutile. Par la s uite on va expliquer tous les tapes commenant par le fichier gerber reu daprs le clie nt jusqu le fichier quon va lutiliser.

VI-1. Transformation de fichier Gerber : VI-1-1. Prsentation de GC-Power Station : graphique code power station : Le GC-Power Station est un outil qui nous perme t dintroduire des modifications sur le format standard du fichier Gerber laide dune interface graphique. Il permet aussi dexporter notre fichier en dautres formats e xploitables par dautres logiciels comme le CAMCAD et le Visual Lighter. IV-1-2. E tapes suivre : A laide de loutil GC-Power Station on importe le fichier du client puis on lexporte en format RS27 Figure 11. Etapes d importation d un fichier par GC Power station

Figure 12. Importation du fichier et son ouverture VI-2. Nettoyage du fichier Ge rber : VI-2-1. Prsentation de CAMCAD: CAMCAD est le principal outil d EDA pour tr availler avec la disposition de carte, le schma, et d autres fichiers de donnes de carte. CAMCAD se spcialise dans la lecture, ldition, laugmentation, et la conversio n des donnes des diffrents formats. VI-2-2. Etapes suivre : A laide de loutil CAMCAD on importe le fichier provenant de GC-Power Station qui est en format RS274, on limine les parties inutiles et puis on lexporte en format RS274X.

Figure 13. Ouverture du fichier pour le nettoyer par CAMCAD VII- Les bibliothques SDL : Pour notre projet, nous avons besoin un moyen pour la programmation graphique en C. Lenvironnement de dveloppement Microsoft Visual c++ possde le MFC AppWizard qui permet de programmer des graphiques en C++, mais il ne permet pas de grer des en tits de bas niveau.Pour cela nous avons parcouru la solution de la Bibliothque SDL vu ces avantages par rapport au MFC AppWizard. La SDL, Simple Direct Media Laye r, est une bibliothque destine permettre l accs au matriel graphique pour faire, par exemple, des jeux en plein cran (ou en fentre), et a de manire portable. La SDL peu t notamment fonctionner sous Linux (o elle utilise X11), comme sous Windows (o ell e utilise DirectX). Les principaux avantages de SDL sont qu elle est 100% libre, et surtout multi plateforme (portage sur de nombreux environnements comme Windo ws, Linux, MacOS, BeOS, OpenBSD, etc).

VIII- Phase de programmation : La phase de programmation de logiciel dinspection passe par plusieur tapes plusieu rs qui ont t extraites aprs des propres recherches faites sur les machines de visio n que SAGEM possde plus spcifiquement sur leurs structures et les procdures dinspect ion quelles font. On verra par suite, avec plus de dtails, toutes les tapes de la p hase de programmation. tapes VIII-1. Superposition Fichier Gerber 1. Gerber-Image rfrence : Le Gerber, comme on a vu est un standard mondial pour la conception de , vu, circuits imprims, et le format dchange le plus connu entre les environnements CAD et CAM. Gerber existe en version standard et tendue. Dans cette tape, on a ut ilis les donnes qui se trouvent dans ce type de fichier afin de pourvoir gnrer une i mage de la carte lectronique o les composants sont prsents par des contours. Le but t ait de superpos cette image gnre avec la carte superpos lors de ltape de linspection r nous servir bien slectionner les composants tester ainsi que pouvoir diffrencier les composants qui sont mal placs ou qui sont absents. Figure 14. Image SDL d une carte lectronique

Pour arriver faire cela, on a dfinit deux fonctions : int extractinf (char * fich ier); void plotgerber (SDL_Surface *screen) En effet, la premire fonction extract inf qui prend comme entre le fichier Gerber et qui permet dextraire les informatio ns contenues dans le fichier Gerber. La deuxime fonction plotgerber prend comme e ntre la surface SDL o elle va tracer les formes des composants et de la carte en u tilisant la bibliothque SDL. VIII-2. Slection et sauvegarde des composants : La lo gique du logiciel dinspection est base sur le chargement de limage de rfrence aprs sa capture et de faire la slection des composants tester et lenregistrer comme images spares pour allger les traitements. Donc on avait besoin de dfinir deux fonctions p risimref et prisimtest respectivement pour limage de rfrence et de test mais les zo nes dinspection slectionnes pour limage de rfrence sont automatiquement slectionnes p limage de test : bool prisimeref (SDL_Surface *screen) Void prisimetest (SDL_Sur face *screen) La fonction prend comme entre un paramtre SDL qui est la surface de laffichage. Cette fonction nous permet de se positionner sur lune des extrmits du co mposant, faire sa slection et afficher les informations ncessaires concernant le c omposant slectionn. Cette tape est rptitive selon le nombre de composants quon veut in specter. VII-3. Inspection des composants par analyse et traitement dimages : Dan s cette partie, on prsente ltape principale de linspection qui contient deux phases principales : Slection automatique de la zone dinspection : pour cela, on a utilis la fonction suivante : void prisimetest (SDL_Surface *screen) qui permet de fair e la slection automatique des composants tester selon la slection faite dj dans limag e de rfrence et de les stocker afin de les traiter ensuite. Cette tape ne serait fa ite que si ltat courant de la machine est la prise de limage de test et si le charg ement de cette image est bon. Do la ncessit de dfinir les tats que peuvent prendre lou il dinspection, donc on a dfinit une variable inspetat tel que: //les tats de la ma chine enum inspetat {configuration, priseimref, priseimtest, inspection};

de plus, il y a la variable resultest qui prend les diffrents possibilits des rsult ats sur les tats des composants aprs linspection : //les rsultats d inspection enum resultest {absence, orientation, ok, decalage, zonevide}; Le choix de lalgorithme de traitement utilis pour linspection

1ier algorithme : Les Input de la fonction dinspection sont les images, rfrence et test, acquises du composant quon va les comparer laide de cette fonction. Dans cet te partie, on explique lalgorithme dinspection utilis dans lapplication. En effet, l es tapes sont les suivantes : Initialiser les histogrammes des composants Rouge, Vert et Bleu du pixel pour limage et limage rfrence du composant. Stocker les valeur s du R, G, B du chaque pixel dans un tableau deux dimensions prsentant la matrice de limage test ou rfrence du composant slectionn. Incrmenter les histogrammes, de lim ge rfrence ou test, de chaque composante R, G ou B chaque fois. On calcule la moye nne des trois composantes pour chaque pixel de chaque image afin de dterminer les pixels au niveau du gris de limage On dtermine lhistogramme de ces nouvelles valeu rs de pixels pour le 1/2 de limage du composant et non pas pour la totalit de limag e (le 1/2 contenant le marquage du composant slectionn). Pour la valeur de 0 R 40, 70 G 110 et 55 B 100 qui correspond aux valeurs du composants des pixels de la c arte lectronique, chaque fois que les coordonnes du pixel slectionn pour un couple ( i, j) donn appartiennent ces intervalles la variable npixref, initialise 0 sincrm e par 1. Mme chose faire pour limage de test et on incrmente par suite la variable npixtes par 1. Maintenant, on fait le test : Si les deux valeurs de npixref et n pixtes sont tous les deux suprieures un seuil bien dtermin partir de la taille de li mage, alors la zone slectionne est vide, si non si le npixref est infrieure ce seui l et lautre non, alors le composant et absent. Si non si on compare les deux vale urs npixtes au npixref et si cest npixtes suprieure npixref avec un certain taux a lors le composant normalement est signal dcal. Si non on fait la valeur absolue de la diffrence au niveau du nombre des pixels pour chaque niveau de gris entre les histogrammes de limage rfrence et celle de limage test et si cest suprieur 10 alors o incrmente une variable npixdiff initialise 0 par 1 chaque fois. Si la variable es t suprieure 10 alors le rsultat du test est que le composant est orient. Ensuite, s elon le rsultat du test on affiche, sur linterface principale de linspection et laid e de la bibliothque SDL, le rsultat du test qui sera par suite ajout au rapport dins pection.

Simulation sous Matlab : On montre dans cette partie laide du Logiciel de simulat ion Matlab, les raisons pour lesquelles on a pris les seuils utiliss lors de lappl ication du lalgorithme dinspection. Pour cela, on trace les histogrammes de R, G e t B pour limage du composant rfrence et test pour le cas dun condensateur : Histogra mme R : histogramme R pour la rfrence 600 500 n mr d p e o be e ix ls 400 300 200 100 0 0 50 100 150 200 niv eaux d histogramm e 250 histogram me R pour le test 1500 n mr d p e o be e ix ls 1000 500 0 0 50 100 150 200 niv eaux d histogramm e 250 Figure 15. Histogramme de composant Rouge Daprs la figure prcdente, on constate que pour la deuxime image o le composant est absent, les niveaux de pixels se concentr ent sur la zone infrieure 50 par contre dans le premire histogramme, prsence du com posant, les niveaux sont tals jusqu 250. Histogramme G : histogram e V de la rfrence m 600 500 n mr d p e o be e ix ls 400 300 200 100 0 0 50 100 150 200 niv eaux d histogram e m 250 300 histogram e V du com m posant tester 1400 1200 n mr d p e o be e ix ls 1000 800 600 400 200 0 0 50 100 150 200 niv eaux d histogram e m 250 Figure 16. Histogramme de composant vert

Dans le cas de lhistogramme de G, on voit daprs e entre les histogrammes du composant rfrence et ncrtise spcialement dans la zone entre 70 et 110 as de la composante G est fait. Histogramme B : hist B du composant rfrence 600 nombre de pixels 0 50 100 150 200 250 niv eaux d histogramme 300

cette figure que la diffrence majeur celui du test, dans ce cas, se co do le choix de nos seuils pour le c par niveau 500 400 300 200 100 0

hist B du composant tester 1400 nombre de pixels par niveau 1200 1000 800 600 40 0 200 0 0 50 100 150 200 niv eaux d histogramme 250 Figure 17. Histogramme de composant bleu Pour le cas de la composante B, les seu ils quon a pris pour notre algorithme sont situs dans la zone dlimit par 55 et 100 e t ceci est lisible daprs des deux histogrammes reprsentant la rpartition de la compo sante B sur les pixels pour limage rfrence ainsi que limage test du condensateur. La combinaison de ces trois conditions de seuillage sur les valeurs des trois comp osants R, G et B reprsente la condition utilise dans notre algorithme, qui quand e lle soit vrifie pour un pixel (i, j), le npixref (respectivement le npixtes si on est dans le cas de limage test) va tre incrment. 2me algorithme : Si le milieu dinspec tion nest pas maitris, alors pour viter le problme de changement dclairage et de bruit on va utiliser nos images sous la forme HSV. Cette mthode est base sur la convers ion du limage du RGB au HSV. En effet, une image RGB peut tre reprsente comme tant un e matrice dont chaque couple (i, j) possde trois composantes couleurs qui sont trs dpendantes ce qui implique une difficult au niveau de lextraction des traits carac tristiques.

Alors pour le modle HSV, il y a Sparation de la teinte, de la saturation et de lint ensit ce qui nous fournit une facilit pour faire les traitements ncessaires sur lima ge. Il est parfois prfr quand on travaille avec des matriels, des images numrises ou d utres mdias, dutiliser le modle couleur HSV ou HSL au lieu des autres modles comme l e RGB vu la diffrence dans la faon avec laquelle les modles imite la perception hum aine envers les couleurs. Le format HSV, acronyme de "Hue Saturation Value", est un format qui possde des caractristiques intressantes pour toute application d ana lyse vido. En effet, contrairement au RGB, le HSV est un format dit "naturel" car sa dfinition relve davantage de la conception humaine de la couleur plutt que cell e du RGB qui s applique d abord des dispositifs lectroniques. Cela rend donc le H SV apte par exemple une opration de seuillage des couleurs qui autrement pourrait tre facilement fausse quelque facteur externe. La signification des composants du HSV peuvent s expliquer de cette manire Le hue peut tre dfinie comme le "type" de couleur ou la "teinte". Ex : bleu, rouge, orange La saturation est la "puret" d u ne couleur. Plus sa valeur approche de 0, plus la couleur devient gristre. La (va lue) V est la clart de la couleur. Chacune de ces valeurs est dfinie dans une gamm e dtermine. Par exemple, le hue variera gnralement de 0 360 mais peut tre parfois nor malis entre 0 et 100. Quant S et V, ceux-ci varient de 0 1 ou, exprim en pourcenta ge, de 0 100%. Il est plus facile de comprendre ceci en observant cette reprsenta tion du HSV : Figure 18. schma reprsentatif de HSV Pour faire la conversion du RGB en HSV, il fa llait savoir mathmatiquement comment lexprimer. Pour cela les quations utilises dans notre algorithme pour cette transformation non linaire sont les suivantes : G 60 MAX RGB B H = 60 MAX RGB R 60 MAX RGB MAX RGB MIN S = MAX RGB RGB B MIN R MIN G MIN RGB si MAX RGB RGB = R = G = B + 120 RGB si MAX si MAX RGB (quation. I) + 240 RGB RGB

Dans notre cas, la deuxime mthode de vrification se rsume en tapes qui sont les suiva nts : 1 Tlcharger limage rfrence et stocker les composantes R, G et B de ses pixels dans trois tableaux diffrents deux dimensions. 2 Faire passer un filtre mdian sur les trois composantes R, G et B pour liminer le bruit contenu dans limage acquise et amliorer par suite la qualit de limage laquelle on va faire le traitement. 3 C onvertir en HSV et maintenir juste la composante teinte (H) et afficher limage qu i la correspond. 4 Appliquer un seuillage limage obtenue en utilisant la mthode d e seuillage dOTSU 5 Utiliser limage de la teinte comme un masque quon va le superp oser avec limage tester et on dtecte par suite la diffrence entre le masque et limag e acquise du test. En effet, gnralement le bruit dsigne un phnomne qui "brouille" la perception d un signal, et nous gne. En traitement d image, le bruit est lensemble des pixels qui ont des valeurs aberrantes. Le filtre mdian consiste conformer un pixel avec son voisinage en le remplaant par la mdiane de son voisinage. Il sagit dune opration du filtrage spatiale qui utilise un masque 2D appliqu chaque pixel da ns limage dentre. Appliquer le masque, veut dire le centrer sur un pixel, valuant le s valeurs des pixels couvris et dterminant laquelle entre elles et la v leur mdian e. Celle ci est dtermine en plaant les valeurs des pixels dans lordre croissant et e n slectionnant la valeur centrale. La valeur mdiane obtenue va tre celle du pixel li mage de sortie. Mthode dOTSU : La mthode dOTSU consiste chercher le seuil qui minimi se la variance intra classe, dfinie comme tant la somme des valeurs pondres des deux classes : (quation. II) Les poids i sont les probabilits des deux classes spares par un seuil t et les sont les variances de ces classes. En fait, la minimisation d e la variance intra classe dans la mthode OTSU revient maximiser la variance inte rclasse : Celle ci est exprime en termes de probabilits de classes i et des moyenne s de classes i qui peuvent tre mises jour itrativement. (quation. III) Lalgorithme su ivant dcrit le principe de la mthode dOTSU : 1. 2. 3. 4. Calculer lhistogramme et le s probabilits de chaque niveau dintensit Initialiser les valeurs de i(0) et i(0) Essa yer pas par pas les diffrents seuils possibles maximum dintensit Mise jour de i et i 5. Calculer 6. Le seuil dsir correspond au maximum de

Simulation par Matlab : En prend lexemple dun condensateur et on gnre par Matlab com me ci indiqu limage de la teinte, celle en fonction de la saturation et celle en f onction de la luminance. (A) (B) (C ) (D )

Figure 19. Prsentations des composant HSV La figure en (A) est limage composant en modle RGB et limage (B) est celle reprsente avec la teinte H . (C) est celle de lima e en HSV mais en reprsentant juste la composante (S) et la dernire (D) est celle d e la composante de la luminance (V). Ces deux tests sont prsents dans la fonction suivante: void inspectcomp () qui fait linspection et laffichage des erreurs. Pou r cela, elle fait appel une nouvelle fonction pour laffichage des deux images de composant celle de la rfrence et celle de test superpose : void apply_surface (int x, int y, SDL_Surface* source, SDL_Surface* destination, SDL_Rect* clip = NULL) ; VIII 4. Fonctions principales du programme : Fonction Main de linspection : La fonction principale de linspection est la fonction : int main (int argc, char **a rgv) qui fait appel quelques fonctions quon a dj dfinit : extractinf (char * fichier ); extractcarac (char *fichier) ;

Ensuite on passe linitialisation de la SDL et de la SDL_fft suivit par une tape po ur le chargement des images de test. Par suite, il y avait une boucle gnrale qui u tilise une fonction void calcetat ( ) qui dtermine, selon ltape actuelle de la mach ine, la prochaine tape faire : configuration prise de limage rfrence prise de lim age rfrence prise de limage de test prise de limage de test inspection inspectio n prise de limage de test Do selon ltat actuel de la machine retourne, on passe lta suit qui va faire lappel des fonctions prdfinies dj et qui sont : prisimeref (SDL_Su rface *screen) prisimetest (SDL_Surface *screen) inspectcomp () Fonction du diag nostic: Cest la fonction dg (int argc, char **argv) qui permet de superposer les deux images de la carte de rfrence et celle du test dans la mme fentre. Elles seront affiches rapidement lune la suite de lautre dune faon continue ce qui va nous rendre capable de dtecter les dfauts de la carte lisiblement. Ce ci est fait en utilisan t la bibliothque SDL. Fonction dinitialisation du rapport erreur : Cette fonction fait intervenir une nouvelle structure qui sappelle rapporterreur et qui est dfini e comme suit : struct rapporterreur { char refcart[10]; // rfrence de la carte lon g ncarttester; // nombre des cartes testes long ncartdefect; // nombre des cartes dfectueuses long ndefaux; // nombre des dfauts en gnrale long repartitiondef[3]; // car on a 3 types de dfaut possible }; Ainsi quune autre structure dont le pointeu r du composant courant est initialis la valeur nulle. La structure est dfinie par suit : struct compdef // composant dfectueux { char refcompdef[10]; // rfrence du c omposant dfectueux struct compdef * suivant; // pointeur }; Fonction du remplissa ge du rapport derreur: Le principe est le suivant : chaque fois que le test appli qu sur limage test du composant renvoie une erreur false , le nombre des cartes dfec tueuses dfini dans la structure sincrmente par 1. Par suite, selon la nature de lerr eur, on incrmente par 1 la colonne correspondante lerreur trouve. A la fin, on affi che le nombre des cartes testes ainsi que le nombre des cartes dfectueuses parmi e lles.

Fonction du rapport gnral : Cest la fonction avec laquelle on va afficher le rappor t derreurs de la dernire inspection faite avec notre outil dinspection. Elle ouvre un fichier .txt o toutes les donnes ncessaires de linspection seront affiches Foncti n dcriture dans le rapport : Cette fonction permet chaque nouvelle inspection dajou ter les rsultats des nouvelles inspections faites sur les composants, c est dire elle ajoute au fichier .txt qui existe dj le nom du nouveau composant inspect, sa rf ence, ses coordonnes et finalement le rsultat de linspection ( nature du dfaut). Fon ction Main du rapport : Cest la fonction principale du rapport afficher daprs linter face. Cette fonction fait appel la SDL pour laffichage ainsi qu la bibliothque SDL_t tf pour le choix de la police. A laide des fonctions affiche_text et affiche_enti er, elle affiche lcran le nom de la carte inspecter, le nombre des cartes testes, n ombre des cartes dfectueuses, nombre des dfauts et leurs nombres doccurrence selon leurs types. Ensuite un diagramme montrant le taux des erreurs pour chaque type sera affich cot.

Interface globale : Pour la cration de linterface globale du logiciel, il fallait dabord saisir la fonc tion laide de laquelle on peut crer des fentres : HWND CreationFenetre (HINSTANCE h Instance, HWND parent) Ensuite, on cre la fonction qui est la fonction principale qui fait appel tous les autres dialogues : int APIENTRY WinMain (HINSTANCE hIns tance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdSho ). Ainsi que la fun ction qui gre les messages de dialogue propos : LRESULT CALLBACK Diapropos (HWND Dlg, UINT message, WPARAM Param, LPARAM lParam). En fait, linterface globale du logiciel quon a ralis va tre sous la forme suivante : Au dmarrage il y aura une 1re in terface comportant un bouton pour dmarrer lapplication ou bien un autre bouton pou r avoir une ide sur le constructeur. Figure 21. Interface de l application Max Vision

IX

Ensuite, en cliquant sur le bouton start , une interface gnrale va souvrir et elle e st de cette forme : Figure 20. Inetrface gnrale de l application Cette interface contient droite un bo uton, qui, en cliquant dessous, va nous montrer la page help du logiciel. A gauc he, il y a un ensemble des boutons dont chacune fait appel une fonction dans le logiciel. Ce bouton permet de connecter la camra linterface afin de visualiser les cartes de test. Ce bouton permet de rgler les paramtres de la camra choisie Ce bouton est destin pou r la capture des images pour les cartes tester Ce bouton permet le chargement du fichier gerber pour le traage de lSDL et il permet dindiquer le path pour lenregist rement des composants tests En sappuyant sur ce bouton, un diagnostique rapide va t re fait sur la carte de test en la superposant respectivement avec la carte rfrenc e

Ce bouton nous permet de faire linspection sur les cartes de test en gnrant une aut re interface pour le test Ce bouton permet de gnrer un rapport dinspection ainsi le statistique de celui ci Ce bouton permet de sauvegarder le rapport dinspection d ans un fichier texte Ce bouton gnre laide dutilisation de ce logiciel En sappuyant sur ce bouton on peut quitter lapplication En slectionnant chaque fois un composant tester, les informations concernant ce composant seront affiches dr oite en bas. Ces informations sont extraites du fichier texte contenant les donne s sur les composants se trouvant sur la carte tester. Figure 21. Affichage du composant inspecter Aprs inspection, les formes en SDL des composants defectueux seront traces en roug e alors que les formes des composants inspects sains seront traces en bleu, comme lindique la figure suivante :

Figure 22. Inspection des composants slectionns Ensuite la fin de linspection, un r apport sera gnr sous cette forme : Figure 23. Rapport gnr aprs l inspection

Conclusion : Dans ce chapitre, on a prsent les diffrentes tapes ncessaires pour raliser notre logic iel dinspection en commenant par la connexion de la camra au logiciel, lacquisition de limage de test, ensuite passant par le chargement du fichier Gerber et la gnrati on de limage SDL partir de ce fichier et finalement finissant par linspection et l a gnration du rapport derreurs dinspection.

QUATRIMECHAPITRE Test Et tude de performance

Introduction : Le cycle de vie d un logiciel (en anglais soft are life cycle), dsigne toutes les tapes du dveloppement d un logiciel, de sa conception sa disparition. L objectif d un tel dcoupage est de permettre de dfinir des jalons intermdiaires permettant la validation du dveloppement logiciel, c est dire la conformit du logiciel avec les besoins exprims, et la vrification du processus de dveloppement, c est dire l adqua tion des mthodes mises en uvre. [Cycle de vie dun logiciel http] Dans ce chapitre, on va voir la procdure de validation de test ainsi que la validation de linspectio n et on va finir par tudier la performance de ce logiciel dinspection afin de pouv oir dterminer ses points de force ainsi que prciser les limites de son utilisation .

Test et validation :

Afin de tester les performances du logiciel dinspection, on doit raliser des essai s, par suite la stratgie adopte a t la suivante : on ralise des tests de faon systmati ue et les enregistre pour comparer les rsultats trouvs pour les mmes cartes de test et les mmes composants slectionns. Pour cela les critres de choix des tests sont le s suivants: couvrir les fonctionnalits du logiciel se placer autant que possible dans les conditions dutilisation relle identifier des catgories de risque structure du programme branchements et priphriques erreurs de calculs Afin dassurer un bon f onctionnement de loutil dinspection, certains conditions pour la ralisation des tes ts sont indispensables, comme nous avons indiqu prcdemment dans le deuxime chapitre : le choix de lclairage et de la camra de linspection. Ces conditions assurent une b onne qualit des images acquises et par suite une performance meilleure au niveau de linspection faite ce qui va rduire le taux derreur concernant linspection. Dans n otre cas, vu labsence de financement pour acqurir le matriel ncessaire pour notre ma chine dinspection, on tait oblig de prendre nos images de test avec une camra qui nes t pas vraiment professionnelle ainsi que dans des conditions qui ne sont favorab les de point de vue : Eclairage : qui nest pas standard pour toutes les images de test acquises. Camra : qui nest pas de rsolution trs importante selon le besoin de notre application. Positionnement : absence de support fixe pour la camra lors de lacquisition de limage ce qui peut influer sur les coordonnes des composants teste r dans limage acquise. Distance dacquisition : qui est la distance sparant la camra et la carte et qui doit tre varie selon les grandeurs de la carte ainsi que le zo om disponible dans la camra. Toutes ces donnes quon a indiqu ont une influence sur l a marge derreur ou de fautes qui peuvent tre commises lors de linspection et des qu elles on doit tenir compte lors de la procdure de test.

II

Donc afin de valider notre application, en se rfrant ce quon a comme moyens disponi bles, on doit refaire la procdure de test pour le mme type de cartes et en slection nant les mmes composants tester plusieurs fois et vrifier sil y a une diffrence entr e les rapports de test gnrs pour chacun. Cette vrification doit se faire de faon qu ch que fois on essaye davoir au maximum les mmes conditions favorables pour lacquisiti on des images.

Etude des performances :

Lvaluation de performance est un lment important dans le dploiement de systmes logicie ls En fait, comme ctait indiqu avant, il y a un ensemble de paramtres qui dterminent la qualit de linspection effectue est ceux ci peuvent sillustrs dans : La qualit de l age acquise qui dpend certainement du type de la camra Lenvironnement de la prise d e limage milieu maitrisable ou non Lalgorithme appliquer lors de linspection Techni ques de traitement Le niveau de perfection de la machine dans le point de vue mca nique et lectrique Ce qui indique que le niveau de performance de la machine ou p lus prcisment de lapplication quon a fait est relatif. En fait, lapplication prsente u ne bonne performance cote : Robustesse Simplicit de lutilisation Compatibilit avec d es diffrents types de camras Prsence dun diagnostic rapide permettant dviter ltape d ction si le dfaut est visible Prsence de deux approches dinspection pour les milieu x maitrisables ou non Mais en contre partie, il y a certainement des limites pou r notre application qui vue la contrainte du temps consacr pour le projet, on na p as arriv les faire : Manque dune prcision fine vu lutilisation dune seule camra pour a capture dimage et donc il y aura des composants qui, vu leurs dimensions, seron t mal dimensionns sur limage de la carte de test. La slection qui se fait manuellem ent : en effet avec une slection automatique des composants, sur la carte rfrence, pour les tester aprs, en se basant sur une base de donnes va acclrer la tache dinspec tion ainsi que la donner plus de prcision. Absence dune marge derreur pour tolrer le passage de certains composants sans quils seront marqus comme errons alors quils so nt tolrables. Amlioration des algorithmes utiliss pour linspection afin dassurer une qualit meilleure ou bien plus rapide des rsultats.

III

Conclusion : Comme on a vu dans ce chapitre, lapplication prsente des avantages diversifis qui l a rendent intressante appliquer sur les lignes de production et amliorer dans laven ir. Mais aussi ltude de performance a montr quelle peut tre meilleure et plus perform ante lavenir avec lintroduction de certains changements comme cest indiqu la dessus et que nous navons pas pu les introduire vu la contrainte de temps consacr pour le projet.

IV

CONCLUSION GENERALE Comme on a vu, la machine vision est la technique avec laquelle les produits san s contact direct sont inspects sur un ou plusieurs points dans laquelle l image c apture peut tre analyse moyennant une camra de haute rsolution. Lapplication dinspection des composants lectroniques sur les cartes de test quon ava it prsent ici est un essai de raliser un petit exemplaire dune machine trs performant e et qui a ncessit des annes de recherche pour quelle arrive ce niveau de prcision et de performance dans lindustrie et avec un cot assez important, qui sappelle la mac hine vision. Durant ce travail, on a essay de raliser au maximum ce qui tait demand dans le cahier de charge avec les moyens disponibles de la part de lentreprise et dans le dlai fix pour le projet. Les nouveauts dans ce domaine est lapparition des camras de vision intelligentes industrielles qui sont devenues une technologie de cl dans l objectif d amlioration de l automatisation de production et du contrle d e qualit L avantage d une camra intelligente est quil ny a pas besoin de matriel supplmentaire ni de pc ainsi on peut envoyer limage analyse vers une ou plusieurs sorties digit ales avec la camra intelligente, et faire retirer automatiquement et directement un produit de la ligne.

Bibliographie Sites Internet : [1] : extrait dun fichier PDF : La vision industrielle selon VisionIndustrielle.O rg [2] : http://fr. ikipedia.org/ iki/Contrle_qualit [3] : http://fr. ikipedia.org / iki/Vision_industrielle [4] : http:// .industrie online.fr/articles magazine /fiche articles.php?id=444 [5] : http:// .maxicours.com/soutien scolaire/mathe matiques appliquees/bac propilotage des systemes de production automatisee/18846 2.html [6] : http:// .trametal.com/PDF/Articles/395_703_1.pdf [7]: Extrait du fichier PDF Gerber RS 274 X format Copyright 1998 Barco Graphics, Gent, Belgium, and Barco Gerber Systems, South Windsor, CT, USA. [8]: http:// .techno scienc e.net/?onglet=glossaire&definition=1484 [10]: http:// .commentcamarche.net/con tents/genie logiciel/cycle de vie.php3 La signification des composants du HSV pe uvent s expliquer de cette manire [Extrait de lAssociation Qubcoise de Robotique Ama teur http:// .aqra.ca]: CHOI DE L4ECLAIRAGE .cs.cf.ac.uk/User bin/M.R.F.Le is/lightidx.cgi http:// .visionindustrielle.org Livres : [3] R.M. HARALICK. Image segmentation techniques. Computer Vision Graphics and I mage Proc ng, pages 100 132, 1985. [4] J.P. COCQUEREZ et S. PHILIPP. Analyse dima ges : ltrage et segmentation. Masson, 1995.

Glossaire Insrer un glossaire des mots techniques utiliss dans le corps de votre document. L e Glossaire est optionnel.

Annexes