Vous êtes sur la page 1sur 63

Table des matières

Dédicaces................................................................................................................................................i
Remerciements......................................................................................................................................ii
Les acronymes.....................................................................................................................................vi
Introduction Générale...........................................................................................................................1
Chapitre Ⅰ : Contexte Général de Projet ...........................................................................................
Ⅰ.1 Introduction....................................................................................................................................2
Ⅰ.2 Présentation de l’entreprise...........................................................................................................2
Ⅰ.2.1 Les différents services de la société........................................................................................2
Ⅰ.2.1.1 Le service Méthode/Process.............................................................................................2
Ⅰ.2.1.2 Le service Logistique........................................................................................................2
Ⅰ.2.1.3 Le service Financier..........................................................................................................2
Ⅰ.2.1.4 Le service Achats.............................................................................................................2
Ⅰ.2.1.5 Le service Industrialisation..............................................................................................2
Ⅰ.2.2 Les filiales de Sagemcom.........................................................................................................3
Ⅰ.2.3 Les unités de fabrication de Sagemcom.................................................................................3
Ⅰ.3 Présentation du projet....................................................................................................................4
Ⅰ.3.1 Les compteurs électriques de Sagem......................................................................................4
Ⅰ.3.2 Etude de l’existant...................................................................................................................5
Ⅰ.3.3 Problématique..........................................................................................................................6
Ⅰ.3.4 La solution proposée................................................................................................................7
Ⅰ.3.4.1 Architecture générale de la solution proposée................................................................7
Ⅰ.3.5 Spécification des besoins.........................................................................................................8
Ⅰ.3.5.1 Besoins fonctionnelles.......................................................................................................8
Ⅰ.3.5.2 Besoins non fonctionnelles................................................................................................8
Ⅰ.4 Conclusion.......................................................................................................................................8
Chapitre 2 : Spécifications des besoins..............................................................................................
Matériels et logiciels...........................................................................................................................
Ⅱ.1 Introduction...................................................................................................................................9
Ⅱ.2 Spécifications des besoins matériels.............................................................................................9
Ⅱ.2.1 Plateformes de commande.....................................................................................................9
Ⅱ.2.2 Caméra SVS-VISTEK.........................................................................................................10
Ⅱ.2.3 Communication compteur-ordinateur................................................................................10
Ⅱ.2.4 IoLogik E1214.......................................................................................................................11
Ⅱ.2.4.1 ioSearch..........................................................................................................................12
Ⅱ.3 Spécifications des besoins logiciels.............................................................................................13
Ⅱ.3.1 Environnement de développement......................................................................................14
Ⅱ.3.2 Langage de programmation................................................................................................14
Ⅱ.3.2.1 Langage Python.............................................................................................................14
Ⅱ.3.3 OpenCV.................................................................................................................................14
Ⅱ.3.4 Les Frameworks utilisées pour la réalisation du projet....................................................15
Ⅱ.3.4.1 Généralité.......................................................................................................................15
Ⅱ.3.4.2 les différents Frameworks existants.............................................................................15
Ⅱ.3.4.3 Le choix du framework.................................................................................................16
Ⅱ.3.5 le choix de l’outil pour la conception de l’interface Graphique (GUI).............................16
Ⅱ.3.5.1 La librairie QT..............................................................................................................16
Ⅱ.3.5.2 PYQT.............................................................................................................................16
Ⅱ.3.5.3 Qt Designer....................................................................................................................17
Ⅱ.4 Conclusion...................................................................................................................................17
Chapitre 3 : Réalisation de la phase d’inspection .............................................................................
III.1 Introduction................................................................................................................................18
III.2 Les anomalies à détecter............................................................................................................18
III.3 Test des Leds..............................................................................................................................18
III.3.1 Détection de couleur...........................................................................................................18
III.3.2 Description du flux de détection de couleur......................................................................18
III.3.3 Pré-traitement.....................................................................................................................19
III.3.4 Le système de couleur HSV................................................................................................20
III.3.5 Les Masks............................................................................................................................20
III.3.6 Opérations au niveau du bit...............................................................................................21
III.3.7 test et résultats obtenus......................................................................................................21
III.4 Test de l’afficheur LCD.............................................................................................................22
III.4.1 Apprentissage supervisé.....................................................................................................22
III.4.1.1 Classification................................................................................................................22
III.4.1.2 La régression................................................................................................................22
III.4.2 Les étapes de la partie d’apprentissage supervisé.............................................................22
III.4.2.1 Le type du problème....................................................................................................23
III.4.2.2 La Préparation des données........................................................................................23
III.4.2.3 Séparation train- test...................................................................................................26
III.4.2.4Apprentissage du modèle..............................................................................................26
III.4.2.5 Mesure de performance...............................................................................................28
III.4.2.6 Réglage du modèle.......................................................................................................31
III.4.2.7 Evaluation du modèle..................................................................................................33
III.5 Problèmes rencontrés................................................................................................................34
III.6 Conclusion..................................................................................................................................34
Chapitre 4 : Conception et réalisation...............................................................................................
De l’interface de test ..........................................................................................................................
IV.1 Introduction...............................................................................................................................36
IV.2 Description du fonctionnement de process du test..................................................................36
IV.2.1 Diagramme de cas d’utilisation général............................................................................36
IV.2.2 Diagramme de séquences général......................................................................................37
IV.3 Logigramme d’organisation des étapes d’un scénario de test............................................38
IV.4 Communication et commande compteur.................................................................................39
IV.5 Interface graphique...................................................................................................................40
IV.5.1 Etapes de réalisation............................................................................................................40
IV.5.1.1 QT Designer..................................................................................................................40
IV.5.1.2 Conversion en script python.......................................................................................41
IV.5.1.2.1 création de l’exécutable................................................................................................41
IV.6 Implémentation et test...............................................................................................................42
IV.6.1 Résultats des tests de Leds visualisés sur l’interface........................................................42
IV.6.1.1 Résultats des tests de l’afficheur LCD visualisées sur l’interface................................43
IV.7 Simulation..............................................................................................................................43
IV. 8 Génération du rapport..............................................................................................................46
IV.9 Conclusion..................................................................................................................................46
Conclusion générale............................................................................................................................47
Références bibliographiques..............................................................................................................48
Dédicaces

C’est avec un grand plaisir que je dédie ce modeste travail à :


Ma mère :
Quoi que je fasse ou je dise, je ne serai point te remercier comme il
se doit, Ton affection me couvre, ta bienveillance me guide et ta
présence à mes côtés a été toujours ma source de force pour affronter
les obstacles de la vie

Mon père :
Aucune dédicace ne saurait exprimer l’amour, l’estime et le respect
que j’ai toujours eu pour toi. Ce modeste travail est le fruit de tous les
sacrifices que tu as déployés pour mon éducation et ma formation.

Mon très cher frère :


Pour son appui et son encouragement.

Ma chère grand-mère :
Je te dois ce que je suis aujourd’hui et ce que je serai demain.

Tous mes amis :


Merci pour votre amour et vos encouragements.

i
Remerciements

C’est avec une profonde reconnaissance et considération particulière


que je remercie mon encadrant M. Khlifi Mohamed à sa sollicitude, sa
patience et sa coopération le long de cette période. Je lui remercie
pour ses orientations et remarques, son suivi et le temps qu’il nous a
consacré.
Mon remerciement s’adresse également à M.Dridi Hassen aussi pour
sa patience et pour le temps qu’il a consacré à m’apporter les outils
méthodologiques indispensables à la conduite de cette recherche.
Ma sincère reconnaissance s’adresse aussi à toute l’équipe de service
test qui m’ont aidé tout au long de mon stage et qui ont contribué à ce
projet de fin d’études par leurs orientations, leurs précieux conseils
ainsi que le temps qui m’ont consacré.
Mon remerciement s’adresse également à Madame Majdoub Nesrine
et Mr Ladhari Taoufik pour leurs disponibilités et leur encadrement
tout au long du projet de fin d’études leurs aide précieux et leurs
conseils très utiles qui ont éclairé le chemin de mon travail.
Aussi un grand remercîment à tous nos enseignants de l’École
Nationale d’Ingénieurs de Monastir pour leur collaboration et leur
soutien durant nos études.
Enfin, je remercie les membres du jury tout en espérant qu’ils trouvent
dans ce travail les qualités de clarté et de motivation qu’ils attendent.

ii
Liste des figures

FigureⅠ. 1 : local du SAGEMCOM Ben Arous - borj ghorbel ...............................................................2


FigureⅠ. 2 : Les filiales de Sagemcom dans le monde ............................................................................3
FigureⅠ. 3: Les pourcentages de production de Sagemcom ....................................................................4
FigureⅠ. 4 : exemple d'un compteur de SAGEMCOM ...........................................................................4
FigureⅠ. 5 : exemple d'un poste de vision ..............................................................................................5
FigureⅠ. 6 : architecture générale de la solution proposée .....................................................................7

Figure Ⅱ. 1: le pc industriel ACP-2020-ADVANTECH--------------------------------------------9


Figure Ⅱ. 2 : La caméra SVS-VISTEK modèle eco655CVGE------------------------------------10
Figure Ⅱ. 3 : Moxa-nport-5210 10
Figure Ⅱ. 4 : Le lecteur de port optique OPTO 11
Figure Ⅱ. 5 : Le modèle Iologik E1214 12
Figure Ⅱ. 6: Fenêtre principale du IoSearch 13
Figure Ⅱ. 7 : Les outils logiciels utilisées pour la réalisation du projet---------------------------13

Figure III. 2 : flux de la détection de couleur........................................................................................19


Figure III. 3 : test de détection de couleur verte...................................................................................21
Figure III. 4 : test de détection de couleur verte et orange....................................................................21
Figure III. 5 : Boîte englobante montrant les coordonnées x1, y1, x2, y2, largeur (w) et hauteur (h)...24
Figure III. 6: Segmentation sémantique des images du jeu de données Cityscapes...............................24
Figure III. 7: Annotation cuboïde 3D sur l'image................................................................................24
Figure III. 8: Exemples d'annotations de points clés à partir du jeu de données COCO........................25
Figure III. 9: Annotation de ligne sur route..........................................................................................25
Figure III. 10: exemple 1 de mesure de performance............................................................................29
Figure III. 11: exemple 2 de mesure de performance............................................................................29
Figure III. 12: exemple 3 de mesure de performance............................................................................30
Figure III. 13 : exemple 4 de mesure de performance...........................................................................30
Figure III. 14 : exemple 5 de mesures de performance.........................................................................31
Figure III. 16: essai avec dropout.........................................................................................................32
Figure III. 17: affichage correct sur le LCD.........................................................................................33
Figure III. 18: exemple des tests de l'afficheur LCD............................................................................34

Figure IV. 1 : Diagramme de cas d’utilisation......................................................................................36


Figure IV. 2: Les échanges entre l’opérateur et le poste vision.............................................................37
Figure IV. 3: Diagramme de séquences "poste vision "........................................................................38
Figure IV. 4: logigramme des étapes d'un scénario de test...................................................................39
Figure IV. 5: interface graphique du test..............................................................................................40
Figure IV. 6 : visualisation du test de la led CPL sur l’interface...........................................................42
Figure IV. 7 : visualisation de test de la led MTR sur l'interface..........................................................43
Figure IV. 8 : visualisation du test du LCD sur l'interface....................................................................43
Figure IV. 9 : visualisation du test d'un compteur défaillant sur l'interface...........................................44

iii
Figure IV. 10 : visualisation d'un test de compteur réussi sur l'interface..............................................45
Figure IV. 11 : visualisation d'un test de compteur défaillant sur l'interface........................................45
Figure IV. 12: aperçu du rapport généré à la fin du test........................................................................46

iv
Liste des

Tableau Ⅰ. 1 : Les composants d’un compteur électrique ..........................................................5


Tableau Ⅰ. 2 : Calcul du TRG .....................................................................................................6
Tableau Ⅰ. 3 : Calcul du FPY ......................................................................................................6

Tableau Ⅱ. 1: Caractéristiques du Pc industriel ACP-2020........................................................9


Tableau Ⅱ. 2 : Caractéristiques du caméra SVS - VISTEK modèle eco655CVGE..................10
Tableau Ⅱ. 3 : Caractéristiques du NPORT 5210.....................................................................11
Tableau Ⅱ. 4: Caractéristiques du port OPTO..........................................................................11
Tableau Ⅱ. 5 : Caractéristiques du module iologik E1214.......................................................12

Tableau IV. 2: liste des commandes du compteur....................................................................40

v
Les

CPL : compteur porteur de ligne


DCY : Départ Cycle
EDF : Électricité de France
FPY : first pass yeld
IDE : Integrated development environment
LCD : liquid cristal display
MTR : métrologique
RAM : Random Access Memory
TRG : taux de rendement global
UF : Unité de Fabrication
UML : Unified Modeling language
SARL : Société à Responsabilité Limitée
SPEC : spécification des tests
STEG : société tunisienne d’électricité et de Gaz

v
Introduction Générale

De nos jours, la vision industrielle, qui ne cesse d’accroître en termes de performance et de


qualité de service, représente un vrai « challenge » pour les industries modernes afin d’offrir
des produits et services de haute valeur et être concurrentiel sur le marché.
Ainsi que nous vivons dans une société où les nouvelles technologies et les systèmes
informatisés ont rendu facile la production et la diffusion d’informations, la vision constitue
dans l’industrie un moyen de contrôle qualité automatisé qui nous facilite la prise de
décision afin de garantir la fiabilité de produit et la satisfaction du client.

La vision par machine fait référence à de nombreuses technologies, produits logiciels et


matériels, systèmes intégrés, actions, méthodes et compétences, elle est caractérisée par un
faible coût, une précision acceptable, une grande robustesse, une grande fiabilité, et une
grande stabilité mécanique et thermique.

Au sein de cete problématique, notre projet intitulé « Conception et réalisation d’un testeur
des compteurs électriques » vise à proposer une solution à ces problèmes de manière à
répondre le mieux possible aux besoins et au cahier des charges proposé par la société
Sagemcom.
Le processus de test et la machine poste vision représentent le centre d’intérêt de notre projet.
En effet, notre tâche consiste essentiellement à améliorer tout le processus de test actuel pour
avoir une meilleure qualité de test et une meilleure performance.

Outre l’introduction générale, ce rapport comprend quatre chapitres, le premier chapitre est
destiné pour la présentation du contexte du projet, l’identification des besoins fonctionnels et
non fonctionnels ainsi que la présentation de la solution proposée.
Le deuxième chapitre est consacré à la spécification des besoins matériels et logiciels.
Le troisième chapitre détaille les différentes étapes suivis pour la réalisation de la partie
d’inspection.
Le dernier chapitre présente la dernière partie destinée à la réalisation de l’interface graphique
de test.
Finalement nous clôturons ce rapport par une conclusion générale et quelques perspectives.

1
Chapitre Ⅰ : Contexte Général de Projet
E.N.I. Chapitre 1: Contexte général de

Ⅰ.1 Introduction
Ce premier chapitre est dédié dans une première partie pour la présentation de l’entreprise
d’accueil SAGEMCOM , ses différents services et son domaine d’activité. Dans une
deuxième partie, nous exposons la problématique pour finaliser avec la présentation du travail
demandé.

Ⅰ.2 Présentation de l’entreprise


Ce projet a été réalisé au sein d’une filiale du groupe Sagem : Sagemcom Ben Arous – Borj
ghorbel (figure Ⅰ.1 ) . Ce dernier est un groupe européen de premier plan sur le marché des
terminaux communicants, créé à Paris en 1925 par Marcel Môme. En 2008, Sagem
Communications est né d’où provient l’appellation "Sagemcom". Cette entreprise concentre
son expertise en matière de solutions de télécommunication et d’énergie permettant la
fourniture de systèmes connectés personnalisés pour les services publics, les opérateurs de
télécommunications et des opérateurs de services dans le monde entier.

FigureⅠ.1 : local du SAGEMCOM Ben Arous - borj ghorbel

Ⅰ.2.1 Les différents services de la société


Ⅰ.2.1.1 Le service Méthode/Process
Il est chargé de la proposition d'axes d’amélioration de la qualité, de la productivité, ainsi que
l'optimisation de l'exploitation des moyens de production.
Ⅰ.2.1.2 Le service Logistique
Il gère les besoins de l'entreprise en matières premières et en production. Il assure également
des actions externes avec les clients, les fournisseurs et la douane : import et export.
Ⅰ.2.1.3 Le service Financier
Ce service englobe le contrôle de gestion, la comptabilité et l’informatique. Il représente le
correspondant SAP à SAGEMCOM.
Ⅰ.2.1.4 Le service Achats
Assure les achats de production ainsi que les divers besoins des services de l'entreprise.
Ⅰ.2.1.5 Le service Industrialisation
Il a pour mission d'assurer le passage de la phase prototype à la phase mise en production

2
E.N.I. Chapitre 1: Contexte général de

Ⅰ.2.2 Les filiales de Sagemcom


Sagemcom dispose d’un siège social en France et de nombreuses filiales en Europe, Afrique,
Amérique du Nord, Amérique du Sud, Asie et Océanie. (figure Ⅰ.2 ) .

FigureⅠ.2 : Les filiales de Sagemcom dans le monde

Le chiffre d’affaires total de ces filiales s’élève à 2,1 milliards d’euros. L’effectif de 5 500
personnes est réparti dans plus de 50 pays. Sagemcom est rentable depuis sa création en 2008
et 31% de ses employés sont actionnaires. Elle conçoit, fabrique et expédie plus de 40
millions de terminaux dans le monde chaque année. Sagem est créée en Tunisie en Décembre
2002. C’est une Société SARL, elle est totalement exportatrice et non résidente. Elle est
implantée dans la banlieue Sud de Tunis (Ben Arous). Parmi les filiales énumérées dans la
figure ci-dessus
, nous trouvons STC notre organisme d’accueil.
Ⅰ.2.3 Les unités de fabrication de Sagemcom
Cette entreprise fabrique une large gamme de produits en grandes et moyennes séries. Les
Unités de Fabrication (UF) au sein de cette entreprise assurent la réalisation du programme de
production en termes de qualité, coûts et délais. Sagemcom compte actuellement quatre unités
de fabrication (figure ).
• UF Décodeurs
• UF Compteurs (Terminaux Énergétique)
• UF Terminaux Hauts débit
• UF Fast et PLT

3
E.N.I. Chapitre 1: Contexte général de

FigureⅠ. 3: Les pourcentages de production de Sagemcom

Ⅰ.3 Présentation du projet


Notre projet s’est déroulé au sein de l’UF compteurs. Cette unité de fabrication réalise des
compteurs électroniques pour le compte de l’Électricité de France (EDF) et la Société
Tunisienne d’Électricité et de Gaz (STEG)
Ⅰ.3.1 Les compteurs électriques de Sagem
Les compteurs électriques sont des appareils pour mesurer l’énergie électrique consommée
dans un endroit. Cette énergie est mesurée en kilowatt heure (kWh) calculée en fonction du
temps et de la puissance instantanée. Cette énergie sert à facturer la consommation d’énergie
de chaque foyer. Cette consommation dépend de la puissance des appareils utilisés et du
temps pendant lequel ils sont utilisés. Le compteur renseigne alors sur les différents tarifs
souscrits (heures creuses / heures pleines), sur la puissance absorbée, la puissance disponible
et sur la puissance instantanée, sur les intensités par phase et sur l’intensité maximale atteinte.
Cependant le pôle ENERGIE de Sagemcom présente une diversité de produits du compteur .
Un exemple d’un compteur de Sagem X16 sur lequel nous allons travailler est représenté par
la figure Ⅰ. 2 :

FigureⅠ. 4 : exemple d'un compteur de SAGEMCOM

Les différents composants du compteur de Sagemcom sont illustrés dans le tableau suivant :

4
E.N.I. Chapitre 1: Contexte général de

Tableau Ⅰ. 1 : Les composants d’un compteur électrique


REF Désignation Fonction
1 Led CPL Effectuer la télérelève

2 Led MTR Vérifier le fonctionnement correct des mesures résultant du compteur


électrique
3 Bouton Manipuler les affichages : date, temps etc …
4 Flag Permet la communication avec le protocole CEI 62056-21 entre différents
types de compteurs d’électricité et un dispositif de lecture qui possède un
port RS-232.
5 Port Sert à lire et à partager les informations
6 Breakers Sert à alimenter le compteur

Ⅰ.3.2 Etude de l’existant


Un ensemble de tests prennent lieu afin de s’assurer du bon fonctionnement des compteurs
électriques avant l’emballage et l’export.
Les postes de vision alors ont pour but l’inspection des aspects visuels des compteurs
électriques dans le but de vérifier la conformité des produits, détecter et déterminer les
anomalies du produit si elles existent.
Les postes sont conçus par Sagemcom pour tester les différents modèles des compteurs
électriques (T210/T211/S210/S211 ..).
La figure Ⅰ.6 présente un exemple de poste de vision :

FigureⅠ. 5 : exemple d'un poste de vision

Le poste est devisé en deux parties : une partie bas de la baie qui contient les instruments et une
partie haute de la baie qui est destiné pour le posage des compteurs à tester.
Ce poste consiste en une machine de test automatique. Elle se base sur le logiciel Vision
Builder pour l’automatisation de l’inspection et LabVIEW pour gérer les instruments.

5
E.N.I. Chapitre 1: Contexte général de

Ⅰ.3.3 Problématique
L’industrie électronique n’a pas cessé de se développer durant les dernières décennies afin
d’améliorer la qualité de leurs produits et conserver un avantage concurrentiel sur le marché
mondial. Dans ce cadre, « SAGEMCOM » a fixé des objectifs pour le développement durable
tout en respectant les exigences de ces clients et des normes mondiales.
Dans les réseaux électriques actuels, pour limiter les risques d’avoir des produits non
conformes avec certaines anomalies, les postes de vision jouent un rôle majeur dans le
contrôle des compteurs.
Suite à une observation et étude de déroulement actuel de la phase de test, deux calculs sont
effectuées au sein du service : le calcul du taux TRG (tableau Ⅰ.2) qui représente le taux de
rendement global ainsi que le rendement du premier passage FPY (tableau Ⅰ.3) .
 La formule utilisée pour calculer le taux TRG :
TRG = le rapport temps de production sur le temps d’ouverture.
 La formule utilisée pour calculer le rendement FPY :
FPY = le nombre des unités testés non défaillants par rapport au nombre des unités
testées.

Tableau Ⅰ. 2 : Calcul du TRG

Tableau Ⅰ. 3 : Calcul du FPY

D’après les tableaux et l’étude faite, nous avons remarqué que :


- Il y a une perte considérable de temps pendant le déroulement de la phase de test
(tableau Ⅰ. 2)
- Nous avons constaté qu’il y a des défaillances au niveau de la programmation au
niveau de l’inspection engendrant ainsi des résultats erronés comme illustré dans Le
tableau (Ⅰ. 3).
- À la détection d’une anomalie, le technicien consulte l’image pour localiser le défaut
et dans ce cas les compteurs en défaut sont retestées ce qui implique aussi une autre
perte de temps.

6
E.N.I. Chapitre 1: Contexte général de

- En plus le logiciel Vision Builder n’est pas open source et gourmand en ressources
(processeur et RAM). Pour développer une inspection automatisée, Sagemcom a
besoin d’acheter la licence qui coûte € 2 450,00.
Ⅰ.3.4 La solution proposée
Afin d’optimiser la performance de la procédure de test, de réduire les pertes de temps pour
améliorer la cadence de production , nous avons proposé au service TEST et industrialisation
de SAGEMCOM un nouveau processus de test automatisé programmé en langage Python ,
pour les deux parties : inspection et instrumentation afin de développer une interface
permettant le déroulement des cycles de tests sans l’intégration de la partie LABVIEW
existante ni de la partie d’instrumentation Vision Builder .
Cette solution va permettre de garantir une meilleure fiabilité et d’augmenter les
performances des postes de vision, une réduction du temps d’intervention, ainsi qu’un gain en
termes de coût en se passant de Vision Builder dont la licence coute cher.
Ⅰ.3.4.1 Architecture générale de la solution proposée
L’architecture générale de la solution proposée, donnée par la figure Ⅰ.7, se décompose en
trois parties :

FigureⅠ. 6 : architecture générale de la solution proposée

Notre système peut se décomposer en 3 parties :


- La première partie qui représente la partie d’inspection visuelle correspondante au test
des deux Leds métrologique, CPL et le test de l’afficheur LCD.
- La deuxième partie représente la partie d’affichage des informations du test sur une
interface graphique :
Si le test est bon pour les deux leds et l’afficheur donc le test du compteur est
« SUCCEED »
Sinon le test est « FAILED ».
- La troisième partie représente la génération d’un rapport contenant toutes les
informations du process du test.

7
E.N.I. Chapitre 1: Contexte général de

Ⅰ.3.5 Spécification des besoins


L’élaboration de l’analyse fonctionnelle est une étape primordiale pour un projet. Elle permet
de recenser les grandes fonctionnalités d’un système tout en exprimant les besoins de
l’utilisateur.
Dans ce qui suit, nous présenterons cette analyse, et nous décrirons les fonctionnalités jugées
les plus importantes.
Ⅰ.3.5.1 Besoins fonctionnelles
Le système devra assurer :
- L’acquisition et lancement du flux vidéo ;
- La commande du compteur : Allumer les Leds et afficher les pixels de l’afficheur LCD ;
- Le test de couleur des Leds MTR et CPL ;
- La prédiction de l’état de l’afficheur ;
- L’affichage des données extraites dans une interface ;
- Un rapport à la fin du test spécifique au compteur étudié doit être délivré contenant
tous les détails du processus de test y compris le défaut au cas d’un test erroné.
Ⅰ.3.5.2 Besoins non fonctionnelles
Les besoins non fonctionnels sont :
- La fiabilité : Probabilité d’erreur doit être la plus faible possible ;
- L’utilisabilité : Interface facile à utiliser, ergonomiques et adaptées à l'utilisateur ;
- La maintenabilité : L’application doit identifier les erreurs ;
- L’efficacité : Le temps de réponse doit être faible ;
- La portabilité : L’application doit être exécutable sur n’importe quel ordinateur ;
- L’extensibilité : pouvoir modifier ou ajouter des fonctionnalités.

Ⅰ.4 Conclusion
Dans ce chapitre, nous avons présenté en premier lieu l’entreprise d'accueil Sagemcom. Nous
avons aussi présenté les compteurs électriques objet de notre projet. Par la suite, nous avons
étalé la problématique cernée suite à une étude de l’existant et nous avons préciser une
description brève de la solution proposée. Dans le chapitre suivant, nous allons procéder à la
spécification des besoins matériels et logiciels.

8
Chapitre 2 : Spécifications des besoins
Matériels et logiciels
E.N.I. Chapitre 2 : spécifications des besoins logiciels et

Ⅱ.1 Introduction
Afin de concevoir une solution adéquate garantissant le besoin technique déjà exprimé, il est
nécessaire de détailler les exigences matérielles et logicielles et de donner une étude complète
visant à comprendre les interactions entre les composants et le programme développé. Nous
entamons ce chapitre qui présente les ressources matérielles et logicielles exploitées pour
l’implémentation de notre solution.

Ⅱ.2 Spécifications des besoins matériels


Dans cette partie nous allons détailler les différents éléments matériels déjà existantes dans le
poste de vision utilisé par SAGEMCOM. Le choix technologique du matériel ce n’est pas
notre intérêt, notre rôle consiste seulement à bien étudier le matériel pour bien l’exploiter
après à la phase de l’implémentation et test.
Ⅱ.2.1 Plateformes de commande
La commande du poste de vision est assurée par le Pc industriel ACP-2020 de la marque
ADVANTECH présenté par la figure Ⅱ. 1 :

Figure Ⅱ. 1: le pc industriel ACP-2020-ADVANTECH

Ce dernier est très puissant en synthèse de l’information et facile à utiliser. Ce pc a les


caractéristiques suivantes [B1] :

Tableau Ⅱ. 1: Caractéristiques du Pc industriel ACP-2020


Processeur Intel CORE i7
Dimensions 482 x 88 x 398 mm
Température de fonctionnement 0°C à 40°C

9
E.N.I. Chapitre 2 : spécifications des besoins logiciels et

Ⅱ.2.2 Caméra SVS-VISTEK


La caméra SVS-VISTEK modèle eco655CVGE (figure Ⅱ. 2 ) , est l’une des plus petites
caméras dans le monde, séduit par son design extrêmement compact et offre le meilleur
rapport qualité-prix. Elle est petite, robuste, adaptée à l'usine, fabriquée avec précision, sûre à
connecter, offre un contrôleur LED et est prête pour l'API et fiable [B2].

Figure Ⅱ. 2 : La caméra SVS-VISTEK modèle eco655CVGE

Ses caractéristiques sont présentées dans le tableau suivant [B2] :

Tableau Ⅱ. 2 : Caractéristiques du caméra SVS - VISTEK modèle eco655CVGE


Résolution 2448 x 2050 px
Dimensions 38 x 38 x 33 mm
Pixel size 3.45 x 3.45 µm
Poids 85g

Ⅱ.2.3 Communication compteur-ordinateur


Pour interfacer le PC et le compteur, nous avons besoin d’un port série ’Nport 5210’ présenté
par la figure Ⅱ. 3 :

Figure Ⅱ. 3 : Moxa-nport-5210

1
E.N.I. Chapitre 2 : spécifications des besoins logiciels et

Le Nport 5210 se branche directement sur l’ordinateur via un port Ethernet. Ce port joue le
rôle de l’intermédiaire entre l’ordinateur et le port optique pour envoyer les commandes au
compteur via l’interface VISA ("Virtual Instrument Software Architecture"). Ces commandes
sont mises au SPEC (spécification de test") par l’équipe URD ("Unité de recherche et de
développement")
Ce port a les caractéristiques techniques suivantes [B3] :

Tableau Ⅱ. 3 : Caractéristiques du NPORT 5210


Interface Série
Rapidité 10/100 Mbps
Communication Série
Alimentation 325 mA, 12 V ou 190 mA, 24 V
Température 0°c à 55°c
de fonctionnement

En plus du port série, nous avons besoin aussi d’un lecteur de port optique (figure Ⅱ. 4)
Le lecteur de port optique OPTO permet la communication avec le protocole CEI 62056-21
entre différents types de compteurs d’électricité et un dispositif de lecture qui possède un port
RS-232.

Figure Ⅱ. 4 : Le lecteur de port optique OPTO

Ce lecteur OPTO possède les caractéristiques mentionnées dans le tableaux ci-dessous [B4]:
Tableau Ⅱ. 4: Caractéristiques du port OPTO
Poids 100 g
Communication RS-232
Dimensions 32 x 24 mm
Force de maintien magnétique 15N
Débit binaire 19200bit/s
Longueur de câble 1.8 m

Ⅱ.2.4 IoLogik E1214


Le ioLogik E1214 (figure Ⅱ. 5) est un module mixte d’entrées et sorties numériques. Le
bouton poussoir (DCY), sera connecté et contrôlé par ce module.

1
E.N.I. Chapitre 2 : spécifications des besoins logiciels et

Le déclenchement du test a travers le bouton DCY et l’allumage de LED du poste dépendent


des entrées reçues par l’ioLogik.

Figure Ⅱ. 5 : Le modèle Iologik E1214

Ses caractéristiques techniques sont résumées dans le tableau suivant [B5] :


Tableau Ⅱ. 5 : Caractéristiques du module Iologik E1214
I/O 6 entrées + 6 sorties TOR
Ports Ethernet 2 Ports switch Ethernet 10/100 BaseT/TX
RJ45

Protocole de communication ModBus/TCP


Alimentation 24v
Ⅱ.2.4.1 ioSearch :
ioSearch Moxa , est un outil logiciel spécifique aux modules iologik E1200 qui permet de
déterminer le module spécifique sur un réseau[B5] .
ioSearch offre ses fonctionnalités :
 Rechercher et localiser les unités ioLogik E1200 ;
 Configurer les adresses IP ;
 Exporter les fichiers de configuration à partir de plusieurs unités ioLogik E1200 ;
 Importer des fichiers de configuration à partir de plusieurs unités ioLogik E1200
(même modèle) ;
 Réinitialisation aux valeurs par défaut pour plusieurs unités ioLogik E1200 ;
 Activez la fonction EtherNet/IP pour plusieurs unités ioLogik E1200.

1
E.N.I. Chapitre 2 : spécifications des besoins logiciels et

1.Titre
2.barre de menus
3.lien rapide
4.paneau de navigation
5.fenetre principale
Figure Ⅱ. 6: Fenêtre principale du IoSearch

Ⅱ.3 Spécifications des besoins logiciels


Pour développer et implémenter notre système, nous avons besoin des outils logiciels dans
cette partie. Nous allons préciser l’environnement de développement choisi, le langage de
programmation ainsi que certains autres outils logiciels utilisées (figure Ⅱ. 7 ) :

Figure Ⅱ. 8 : Les outils logiciels utilisées pour la réalisation du projet

1
E.N.I. Chapitre 2 : spécifications des besoins logiciels et

Ⅱ.3.1 Environnement de développement

Pycharm, considéré comme le meilleur environnement de développement intégré


IDE python pour les développeurs, développé par JetBrains, une société de logiciels
tchèque, qui fournit tous les outils pour Python en un seul endroit. Il possède de nombreuses
fonctionnalités de productivité : la vérification des erreurs lors des déplacements,
l'achèvement de code intelligent, la navigation de projet sans effort et les corrections rapides
des erreurs [B6]. Il dispose aussi d'un éditeur de code intelligent qui offre le meilleur support
de sa catégorie. il fonctionne sous Windows , Linux , et Mac OS.
Ⅱ.3.2 Langage de programmation
Un langage de programmation est une notation conventionnelle destinée à formuler
des algorithmes et produire des programmes informatiques qui les appliquent. D'une manière
similaire à une langue naturelle, un langage de programmation est composé d'un alphabet,
d'un vocabulaire, de règles de grammaire, de significations, mais aussi d'un environnement de
traduction censé rendre sa syntaxe compréhensible par la machine
Ⅱ.3.2.1 Langage Python

Python est le langage de programmation open source le plus employé par les
informaticiens. Ce langage s’est propulsé en tête de la gestion d’infrastructure,
d’analyse de données ou dans le domaine du développement de logiciels. En
effet,
parmi ses qualités, Python permet notamment aux développeurs de se concentrer sur ce qu’ils font
plutôt que sur la manière dont ils le font. Il a libéré les développeurs des contraintes de formes qui
occupaient leur temps avec les langages plus anciens. Ainsi, développer du code avec Python est
plus rapide qu’avec d’autres langages.
Les principales utilisations de Python par les développeurs sont :
 La programmation d’applications ;
 La création de services web ;
 La génération de code.
Nous avons utilisé python pour la programmation de tout le projet : la programmation de la
partie inspection, la partie automatisation ainsi que pour la réalisation de la partie interface
graphique.

Ⅱ.3.3 OpenCV

OpenCV (Open Source Computer Vision) est une bibliothèque Open Source,
développée par intel pour résoudre les problèmes de la vision par ordinateur ("computer
vision") qui propose plus de 2500 algorithmes pour le traitement d’images et le machine
learning.
Elle a été créer pour proposer une infrastructure commune aux projets de vision par ordinateur
avec une considération importante pour l’efficacité de calcul et les applications temps réel.
Nous allons donc utiliser la bibliothèque OpenCV en programmant en Python pour la mise en
place des fonctions de base du traitement d’images.

1
E.N.I. Chapitre 2 : spécifications des besoins logiciels et

Ⅱ.3.4 Les Frameworks utilisées pour la réalisation du projet


Ⅱ.3.4.1 Généralité
En informatique, le mot Framework désigne l’ensemble des outils ou bien des composants
logiciels, aussi connu par la structure logicielle qui est la fondation des logiciels
informatiques. Le Framework est nécessaire pour la simplification du travail des
développeurs. Cette partie est destiné à détailler le choix du frameWork utilisé dans la partie
de test de l’afficheur LCD.
Ⅱ.3.4.2 les différents Frameworks existants
Il existe des différents Frameworks liés au langage de programmation python par la suite nous
allons citer les plus connus et discuter leurs points forts afin de choisir le framework qu’on va
travailler avec.
Ⅱ.3.4.2.1 Tensorflow
C’est l’un des frameworks les plus connus en apprentissage profond, Adaptable pour
différents langages : python, C++ et disponible pour ordinateurs et Mobile. Utilisé dans les
applications de reconnaissance vocale / image, classification etc.
TensorFlow est l'un des Frameworks d'apprentissage en profondeur les plus préférés car il est
basé sur Python, pris en charge par Google, et est livré avec une documentation et des
procédures pas à pas de premier ordre pour nous guider.
Ses points forts sont [B7] :
 Prise en charge robuste de plusieurs GPU ;

 Visualisation de graphes et files d'attente ;


 Excellente documentation et support de la communauté.

Ⅱ.3.4.2.2 PYTORCH
Ce framework utilise CUDA avec des bibliothèques C / C ++ pour le traitement Ces dernières
années, PyTorch a connu un niveau élevé d'adoption au sein de la communauté des cadres
d'apprentissage en profondeur et est considéré comme un concurrent de TensorFlow.
PyTorch est essentiellement un portage vers le framework d'apprentissage en profondeur
Torch utilisé pour construire des réseaux de neurones profonds et exécuter des calculs
tensoriels élevés en termes de complexité.
Ses points forts sont [B7] :

 Excellent en prototypage rapide ;


 Prise en charge solide des GPU car des programmes parallèles peuvent être implémentés
sur plusieurs GPU ;
 Fournit une interface plus propre et est plus facile à utiliser ;

 Facilite l'échange de données avec des bibliothèques externes.

1
E.N.I. Chapitre 2 : spécifications des besoins logiciels et

Ⅱ.3.4.2.3 KÉRAS
Écrit en Python, la bibliothèque de réseaux de neurones Keras prend en charge les réseaux
convolutifs et récurrents capables de fonctionner sur TensorFlow. Comme l'interface
TensorFlow est un peu difficile et peut être complexe pour les nouveaux utilisateurs, le cadre
d'apprentissage en profondeur Keras a été conçu pour fournir une interface simpliste pour un
prototypage rapide en construisant des réseaux de neurones actifs qui peuvent fonctionner
avec TensorFlow.
Le format d'interface Keras est devenu un standard dans le monde du développement de
l'apprentissage en profondeur. C'est pourquoi, il est possible d'utiliser Keras en tant que
module de Tensorflow. Cela facilite le développement et réduit les différences entre ces deux
frameworks. Il combine également les avantages de l'utilisation de chacun d'eux.
Les points forts de keras sont [B7] :
 API facile à comprendre et cohérentes ;
 S'intègre parfaitement au flux de travail TensorFlow. ;

 Prend en charge plusieurs backends d'apprentissage en profondeur ;


 Prise en charge intégrée de la formation distribuée et du parallélisme multi-GPU.
Ⅱ.3.4.3 Le choix du framework
L'utilisation principale de Keras est la classification, la génération et la synthèse de texte, le
balisage, la traduction ainsi que la reconnaissance vocale, etc . donc il est parfaitement
adéquat aux taches de notre projet. en plus il est Disponible pour le langage python avec une
documentation bien déterminée et il combine les avantages d’utilisation du Tensorflow .
Donc et KERAS c’est le meilleur choix à aboutir.
Ⅱ.3.5 le choix de l’outil pour la conception de l’interface Graphique (GUI)
Ⅱ.3.5.1 La librairie QT
Qt [S6] est une bibliothèque logicielle offrant essentiellement des composants d'interface
graphique (communément appelés widgets), mais également d'autres composants non-
graphiques permettant entre autres l'accès aux données, les connexions réseaux, la gestion des
files d'exécution, etc. Elle a été développée en C++ par la société Trolltech et est disponible
pour de multiples environnements Unix utilisant X11 (dont Linux), Windows et Mac OS. Qt
est un toolkit qui présente de nombreux avantages.
Ⅱ.3.5.2 PYQT

PyQt[B8] est un module qui permet de lier le langage Python avec la bibliothèque Qt.
Il permet ainsi de créer des interfaces graphiques en python. Une extension de
QtDesigner (utilitaire graphique de création d'interfaces Qt) permet de gérer le code
python
d'interfaces graphiques. PyQt dispose de tous les avantages liés à Qt.

1
E.N.I. Chapitre 2 : spécifications des besoins logiciels et

 Pourquoi PyQt ?
PyQt fournit de nombreuses classes, méthodes et widgets. Cela permet de créer une
application de bureau riche. On peut ajouter tous types de boutons (push, radio, check), des
images, interagir avec des bases de données et bien plus encore [B8].
Ⅱ.3.5.3 Qt Designer

Qt Designer permet également de prévisualiser les interfaces graphiques en


utilisant différents styles et résolutions, de connecter des signaux et des slots, de
créer des menus et des barres d'outils, etc. Qt Designer est indépendant de la plate-
forme et du langage de programmation. Il ne produit pas de code dans un langage de
programmation particulier, mais il crée des .ui fichiers. Ces fichiers sont des XML fichiers
avec des descriptions détaillées sur la façon de générer des interfaces graphiques basées sur
Qt. on peut traduire le contenu des .ui fichiers en code Python avec pyuic5, qui est un outil en
ligne de commande fourni avec PyQt. Ensuite, vous pouvez utiliser ce code Python dans vos
applications GUI. Vous pouvez également lire les fichiers .ui directement et charger leur
contenu pour générer l'interface graphique associée.
Il existe plusieurs façons d'obtenir et d'installer Qt Designer en fonction de la plateforme
actuelle. Pour notre cas, il faut exécuter les commandes suivantes à partir du terminal ou de la
ligne de commande : pip install pyqt5
La figure Ⅱ. 8 représente l’interface principale du Qt Designer [B9] :

Figure Ⅱ. 8 : interface principale du Qt Designer


Ⅱ.4 Conclusion
Dans ce chapitre, nous avons détaillé les besoins matériels et identifié les langages et les
plateformes choisies pour la programmation de la solution. Le chapitre suivant portera sur
l’étude de la phase de l’inspection.

1
Chapitre 3 : Réalisation de la phase d’inspection
E.N.I. Chapitre 3 : Réalisation de la phase

III.1 Introduction

Dans ce chapitre, nous expliquons les démarches suivies pour la réalisation de la phase
d’inspection.
Dans une première partie nous allons citer les anomalies qui doivent être détectées au niveau
du compteur électrique, puis dans une deuxième partie nous allons détailler les méthodes
choisies pour chaque test.

III.2 Les anomalies à détecter


Notre produit à détecter est d’un compteur électrique qui est utilisé pour la facturation, afin
d’assurer une facture de consommation correcte, nous avons trois tests à effectuer :
 Test de la Led métrologique MTR : Ce type de Led est utilisé pour vérifier le
fonctionnement correct des mesures résultant du compteur électrique. Son but est de
vérifier l’erreur métrologique du compteur.
 Test de la Led CPL : Ce Led peut avoir trois différents couleurs : Vert : indique que la
communication CPL est établit.
 Test de l’afficheur LCD : Cette partie est responsable de l’affichage. : il faut bien
s’assurer de la présence de tous les pixels. Cette anomalie peut être originaire d’une
discontinuité d’alimentation ou des pins soudés.

III.3 Test des Leds


Afin de tester le bon fonctionnement des leds MTR et CPL, il faut que ces dernières
s’allument correctement, c’est-à-dire il faut bien visualiser les deux couleurs : orange et verte
correspondantes chacune à la Led MTR et CPL.
La méthode qu’on va utiliser pour ce type de test est la méthode de détection de couleur.
III.3.1 Détection de couleur
Le processus de détection des couleurs est surtout demandé en vision par ordinateur. Un
algorithme de détection de couleur identifie les pixels d'une image qui correspondent à une
couleur ou une gamme de couleurs spécifiée. La couleur des pixels détectés peut ensuite être
modifiée pour les distinguer du reste de l'image. Ce processus peut être facilement effectué à
l'aide d'Open CV.
III.3.2 Description du flux de détection de couleur
Afin de faciliter la description du flux de détection de couleur, les étapes du flux sont
données par le schéma synoptique (figure III. 1 )

1
E.N.I. Chapitre 3 : Réalisation de la phase

Figure III. 2 : flux de la détection de couleur

Etape 1 présente la capture Vidéo par la caméra ;


Etape 2 consiste à lire le flux Vidéo ;
Etape 3 nécessite la conversion de l’image Frame de l’espace BGR vers l’espace de couleur
calorimétrique HSV ;
Etape 4 est définit par le choix des gammes de couleurs pour créer les masques correspondants ;
Etape 5 nécessite l’application de la méthode betwise_and entre l’image frame et le masque
pour détecter la couleur spécifique et éliminer les autres couleurs ;
Finalement l’étape 6 présente la détection des couleurs.
III.3.3 Pré-traitement
La première étape du traitement d’images est le pré-traitement qui vise à améliorer les
caractéristiques d’une image de manière que le traitement effectué par la suite nous donne les
résultats attendus et ce peut importe les conditions d’éclairages et de la taille de l’image
passée en entrée. Nous avons donc essayé de réaliser un pré-traitement qui nous permettra de
faire ressortir les couleurs. Pour cela, nous faisons dans un premier temps une correction de la
luminosité de l’image en passant par l’image HSV.

1
E.N.I. Chapitre 3 : Réalisation de la phase

La conversion se fait à l’aide de la fonction suivante :

Cv2.cvtColor(frame,
III.3.4 Le système de couleur HSV cv2.COLOR_BGR2HSV
Le système HSV (Teinte, saturation, valeur) est un mode de coloration des images qui se
révèle souvent plus efficace que le système classique RGB (Red, Green, Blue)
• La teinte (Hue) se lit sur un cercle : elle est codée par un angle entre 0 et 360°. En fixant la
saturation et la luminosité (Value) à leurs valeurs maximales, on a les correspondances
suivantes :
• La saturation se lit sur le rayon du cercle : elle est codée par un nombre entre 0 et 1 (ou par
un pourcentage). La saturation traduit la vivacité de la couleur. Les fortes valeurs
correspondent à des couleurs vives, les valeurs intermédiaires à des tons pastels. Aux très
faibles valeurs, on n'a plus que du gris plus ou moins foncé suivant la luminosité.
• La luminosité (Value) se lit sur la coordonnée verticale : tout comme la saturation, elle
s'exprime par un nombre entre 0 et 1. En augmentant la luminosité, on va du noir vers la
couleur spécifiée par H.
Pourquoi on utilise l’espace HSV :
Contrairement au BGR, le HSV sépare la luminosité, ou l’intensité de l’image, de la
chrominance ou des informations de couleur. Ceci est très utile dans de nombreuses
applications. En vision par ordinateur, nous souhaitons souvent séparer les composants
couleur de l'intensité pour différentes raisons, telles que la robustesse aux changements
d'éclairage ou la suppression des ombres. Cependant, le HSV est l’un des nombreux espaces
colorimétriques qui séparent la couleur de l’intensité.
III.3.5 Les Masks
La détection des couleurs se repose sur des intervalles de couleurs que nous avons mis et qui
sont configurables :
Pour la led CPL il faut que le testeur détecte une lumière verte définie par les intervalles
suivants :

Min[102,
Max [50, 255,
52, 72]
255]

Pour le deuxième test de la Led MTR, il faut détecter la couleur orange qui est définie par les
intervalles suivants :

Max[10,
Min [25,100,
255,20]
255]

2
E.N.I. Chapitre 3 : Réalisation de la phase

III.3.6 Opérations au niveau du bit


Dans le but de manipuler les images et pour faire l’extraction des parties essentielles des
images, nous utilisons les opérateurs au niveau du bit (Bitwise).
Pour utiliser l’opérateur au niveau du bit Et (Bitwise_and) on utilise la fonction suivante de
OpenCv :

cv2.bitwise_and (source1, source2, Mask)


Entre chaque image frame et chaque Mask, nous appliquons l’opérateur au niveau du bit pour
pouvoir détecter uniquement cette couleur particulière.

III.3.7 test et résultats obtenus

La figure (III. 2) montre le test de la Led CPL verte, on a bien réussi à détecter la couleur verte.

Figure III. 3 : test de détection de couleur verte

La figure (III. 3) montre qu’on a réussi le test des deux Leds MTR et CPL, on a bien détecter à
la fois la couleur orange et la couleur verte.

Figure III. 4 : test de détection de couleur verte et orange

2
E.N.I. Chapitre 3 : Réalisation de la phase

III.4 Test de l’afficheur LCD


Le test de l’afficheur LCD du compteur électrique nécessite la vérification de la présence de
tous les pixels sur l’écran afin d’obtenir un affichage juste.
A partir des images déjà prises durant des anciens tests au sein de l’entreprise, nous pouvons
déterminer les différents cas où il y’a eu une absence de certains pixels sur certaines régions
de l’afficheur par rapport aux images ou l’affichage est correcte.
La meilleure méthode qu’on va utiliser pour s’assurer du bon fonctionnement de l’afficheur
est l’apprentissage supervisé.
III.4.1 Apprentissage supervisé
L'apprentissage supervisé [B10], dans le contexte de l'intelligence artificielle (IA) et de
l'apprentissage automatique, est le paradigme d’apprentissage le plus populaire en Machine
Learning et en Deep Learning il est un système qui fournit à la fois les données en entrée et les
données attendues en sortie. Les données en entrée et en sortie sont étiquetées en vue de leur
classification, afin d'établir une base d'apprentissage pour le traitement ultérieur des données
cela consiste à superviser l’apprentissage de la machine en lui montrant des exemples (des
données) de la tâche qu’elle doit réalisée. Généralement, l’apprentissage supervisé est effectué
dans le contexte de :
 La classification.
 La régression.
III.4.1.1 Classification
Le problème de classification survient lorsque nous attribuons une classe à des objets. En effet,
la variable de sortie attribut une catégorie : par exemple un couleur : « Rouge » ou « Vert » ou
«Bleu», aussi «pièce ok» ou «pièce ko»
Nous pouvons citer quelques exemples dans différents secteurs afin de mieux comprendre :
 Dans le secteur bancaire, la détection de la fraude par carte de crédit.
 La détection des courriers électroniques suspects.
 Dans le domaine de la médecine, la prédiction si le patient a une maladie particulière
ou non.
 Dans le domaine industriel, nous pouvons déterminer si une pièce est défectueuse ou
non.
III.4.1.2 La régression
Le problème de régression se pose lorsque nous attribuons une valeur mathématique au lieu
d’une classe, d’où la variable de sortie peut être une valeur réelle
En mathématique, la régression est une méthode de statistique utilisé afin d’analyser les
données. Nous pouvons citer comme exemple :
 le prix de vente
 le poids d’un objet
 la probabilité de tomber en panne pour une machine
III.4.2 Les étapes de la partie d’apprentissage supervisé
Pour répondre à un problème d’apprentissage supervisé il faut tout d’abord suivre les étapes
suivantes :

2
E.N.I. Chapitre 3 : Réalisation de la phase

1/ quel est le type du problème ?


2/ quelles sont les données ?
3/ séparation train- test
4/ apprentissage du modèle
5/ mesure de performance
6/ réglage du modèle
7/ validation du modèle
III.4.2.1 Le type du problème
A partir des images données, nous pouvons distinguer que les images sont divisées en deux
catégories : les images de l’afficheur dans le cas « OK » et dans le cas contraire « KO ».
Avec :
 OK qui correspond au cas de présence de tous les pixels au niveau de l’afficheur
 KO qui correspond au cas de présence d’un défaut au niveau de l’afficheur

 Il s’agit donc d’un problème de classification : nous attribuons une classe a


chaquecas d’afficheur : afficheur OK / afficheur KO
III.4.2.2 La Préparation des données
III.4.2.2.1 Collecte des données
Notre base de données est une base qui contient des images déjà prises par la société durant des
anciens process de test effectuées.
III.4.2.2.2Découverte et évaluation des données
Une phase importante lorsque la base est déjà prête et collectée, permettant ainsi de mieux
connaître, de bien évaluer la qualité et à bien choisir les traitements nécessaires a appliquer.
III.4.2.2.3 Annotation des données
L’étiquetage des données d’entrées est une tâche importante dans des applications
d’apprentissage supervisées, car la qualité des données d’entrainement et le bon étiquetage de
ces données permettent de déterminer la qualité et l’efficacité du modèle choisi. Le modèle
que nous allons choisir regarde les exemples déjà annotées, puis donne des résultats qui
dépendent des étiquettes introduites à la phase d’apprentissage . Cette étape prend beaucoup
de temps et du travail manuel.
Puisque la base des données fournit par l’entreprise n’est pas étiquetée nous allons donc
passer par le processus d’annotation des données. Pour pouvoir choisir la bonne méthode pour
annoter les données, il faut savoir qu’il existe plusieurs méthodes :
III.4.2.2.3.1 Les boites englobantes
C’est le type d’annotation le plus utilisé dans les tâches de détection et localisation des objets.
Il s’agit des boîtes rectangulaires qui définissent l’emplacement des objets cibles déterminés
par les coordonnées x et y du coin supérieur gauche et les coordonnées x et y du coin inférieur

2
E.N.I. Chapitre 3 : Réalisation de la phase

droit du rectangle . Les boîtes englobantes sont représentées soit par (x1,y1) et (x2,y2) soit par
(x1,y1) et w et h respectivement la largeur et la hauteur de la boîte (figure III. 4) .

Figure III. 5 : Boîte englobante montrant les coordonnées x1, y1, x2, y2, largeur (w) et hauteur (h)

III.4.2.2.3.2segmentation polygonale
Au lieu d’utiliser des boites rectangulaires, cette méthode consiste a utiliser des polygones
complexes pour définir la forme, et le lieu de l’objet avec précision.
III.4.2.2.3.3 segmentation sémantique
Cette méthode est utilisée dans les cas ou le contexte environnemental est très important. Son
principe est basé sur l’annotation par pixel. Chaque est affecté à une classe et à une
signification sémantique (figure III. 5 )

Figure III. 6: Segmentation sémantique des images du jeu de données Cityscapes

III.4.2.2.3.4 Cuboïdes 3D
Avec cette méthode on obtient une représentation 3D de l’objet. Cette méthode permet de
relever des informations sur le volume et la position du l’objet dans l’espace (figure III. 6)
.

Figure III. 7: Annotation cuboïde 3D sur l'image

III.4.2.2.3.5 les points clés et les points repères


Cette technique est utilisée dans les tâches de détection des visage, les expressions faciales, les
émotions, les poses et des différentes parties du corps humain (figure III. 7) .

2
E.N.I. Chapitre 3 : Réalisation de la phase

Figure III. 8: Exemples d'annotations de points clés à partir du jeu de données COCO

III.4.2.2.3.6 lignes et splines


Utilisé dans la détection et la reconnaissance de voie, ce type d’annotation se base sur
l’utilisation des lignes et de splines dans l’annotation des données (figure III. 8 ) .

Figure III. 9: Annotation de ligne sur route

 Ci-dessous quelques exemples des images déjà annotées manuellement


Pour la classe OK

Pour la classe KO

2
E.N.I. Chapitre 3 : Réalisation de la phase

III.4.2.3 Séparation train- test


On commence par la division des données en 3 répertoires :
 Train, pour l’entraînement du modèle
 Validation, pour vérifier la performance du modèle

 Test, pour tester le modèle


Chacun de ces fichiers contient un répertoire LCD_OK et un répertoire LCD_KO. Cela
permet de savoir directement à quel étiquette (LCD_OK ou LCD_KO) une image fait
référence.
III.4.2.4 Apprentissage du modèle
III.4.2.4.1 Choix du modèle
Le choix du modèle d’apprentissage profond dépend toujours de la tâche qu’on va travailler.
Le CNN est considéré comme un des algorithmes les plus performants d’apprentissage
profond, utilisées dans les tâches de reconnaissance et de classification comme notre cas
d’application. Le CNN prend en entrée des images en couleur ou bien en niveau de gris.
L’architecture des CNN est composée de deux parties: une partie convolutive et une partie
classification[B14]

 Une partie convolutive : Son objectif final est d’extraire des caractéristiques propres à
chaque image en les compressant de façon à réduire leur taille initiale. En résumé, l’image
fournie en entrée passe à travers une succession de filtres, créant par la même occasion de
nouvelles images appelées cartes de convolutions. Enfin, les cartes de convolutions obtenues
sont concaténées dans un vecteur de caractéristiques appelé code CNN.

 Une partie classification : Le code CNN obtenu en sortie de la partie convolutive est fourni
en entrée dans une deuxième partie, constituée de couches entièrement connectées appelées
perceptron multicouche.

a/ Couche de Convolution :
Les couches de convolution analyse l’image par zone. Elles se focalisent sur chaque partie de
la donnée. Grâce à ces couches de convolution le modelé est capable d’extraire des
caractéristiques.
Trouvant des caractéristiques approximatives qui se ressemblent à peu près dans 2 images

2
E.N.I. Chapitre 3 : Réalisation de la phase
différentes, le CNN est bien meilleur à détecter des similitudes que par une comparaison
entière

2
E.N.I. Chapitre 3 : Réalisation de la phase

image à image. Chaque caractéristique est une mini-image, un petit tableau de valeurs en 2
dimensions. Les caractéristiques rassemblent les aspects les plus communs des images quand
on lui présente une nouvelle image, le CNN ne sait pas exactement si les caractéristiques
seront présentes dans l’image ou où elles pourraient être, il cherche donc à les trouver dans
toute l’image et dans n’importe quelle position.
En calculant dans toute l’image si une caractéristique est présente, on applique un filtrage. Les
mathématiques utilisées pour réaliser cette opération sont appelés une convolution, de laquelle
les réseaux de neurones à convolution tiennent leur nom. Cette méthode est bien plus efficace
que l’approche classique pour deux principales raisons :

 Moins d’erreur dans l’apprentissage car le modèle n’apprend pas des images mais des
caractéristiques, des motifs
 Plus de précision dans la détection, car le modèle doit justement reconnaître des
caractéristiques, des motifs
Une première couche de convolution apprendra les petits motifs, une deuxième couche de
convolution apprendra des motifs plus importants constitués des caractéristiques des
premières couches, etc. Notre base de données contient des images à plusieurs caractéristiques
et détails c’est pourquoi on a besoin de plus que deux couches de convolution pour bien
extraire les détails.
 Deux couches à 64 filtres de taille (3 ,3)
 Deux autres couches à 128 chacun de taille (3,3)
Cela permet au modèle d’apprendre efficacement des concepts de plus en plus complexes et
abstraits. Cette couche produit ce qu’on appelle des feature-maps possédant chacune des
caractéristiques différentes de l’image.
b/ Maxpooling :
Après avoir utilisé une couche Conv2D, on obtient des features-maps contenant des
caractéristiques correspondantes aux images, il faut donc de réduire le résultat obtenu pour
réduire les calculs énormes. Ceci se fait par la couche Maxpooling.
Le MaxPooling est aussi une couche de convolution. Il extrait des motifs, la valeur la plus
importante ou la valeur max de chaque motif des feature-maps. Il garde seulement les
informations importantes pour réduire la dimension de chacune de ces feature-maps. Cela
permet au modèle de Deep Learning de :

 Gagner en précision en gardant seulement les données pertinentes ;


 Gagner en rapidité, l’apprentissage du modèle se fait bien plus vite car la donnée est de plus
en plus petite pour notre cas, on a utilisé des filtres de taille (2,2) ;
c/ Flatten :
Puisque la couche de convolution retourne un 3D-tensor, un tenseur à 3 dimensions, ce ne
peut donc pas être la couche finale.

2
E.N.I. Chapitre 3 : Réalisation de la phase

On utilise alors une couche appelée Flatten qui permet d’aplatir le tenseur, de réduire sa
dimension. Elle prend en entrée un 3D-tensor (vecteur) et retourne un 1D-tensor (vecteur)
C’est une opération simple mais essentielle. La couche Flatten permet d’établir une connexion
entre les couches de convolution et les couches de base du Deep Learning.
III.4.2.5 Mesure de performance
Les courbes d’apprentissage sont utilisées pour le diagnostic et la mesure de performance des
algorithmes d’apprentissage.
Les modèles d’apprentissage sont évalués sur l’ensemble des données d’entrainement et aussi
sur l’ensemble des données de test.
Après chaque mise à jour, pendant l'entraînement et le test, des tracés des performances
mesurés peuvent être créés pour montrer les courbes d'apprentissage
 Courbes d’apprentissage d'entraînement qui seront présentées par la suite en
couleur bleue : courbe d'apprentissage calculée à partir de l'ensemble de données
d'entraînement qui donne une idée de la qualité de l'apprentissage du modèle [B12] .
 Courbes d'apprentissage de test qui seront présentés par la suite en couleur orange :
courbe d'apprentissage calculée à partir d'un ensemble de données de test qui donne
une idée de l'efficacité de la généralisation du modèle [B12].
Dans certains cas, il est également courant de créer des courbes d'apprentissage pour plusieurs
indicateurs. Par exemple, dans le cas de problèmes de classification, le modèle peut être
optimisé en fonction de la perte, et les méthodes suivantes peuvent être utilisées pour évaluer
la précision de la classification.
Dans ce cas, deux graphiques sont créés, un pour la courbe d'apprentissage de chaque
indicateur, et chaque graphique peut afficher deux courbes d'apprentissage, une pour les
ensembles de données d'apprentissage et de test.
 Courbe d'apprentissage d’erreur (Error) : la courbe d'apprentissage calculée en
fonction de l'indice (comme la perte) des paramètres optimisés du modèle.
 Courbe d'apprentissage de précision (Accuracy) : courbe d'apprentissage calculée
sur la base des indicateurs (tels que la précision) du modèle d'évaluation et de
sélection.
Les paramètres d’entrainement ne sont pas fixes, on doit essayer différentes valeurs et
comparer les résultats pour pouvoir choisir les meilleurs paramètres les deux principaux
paramètres sur lesquelles on va travailler sont la taille du lot (batchsize) et le nombre
d’époques (epochs).
 Qu’est-ce qu’un lot :
La taille du lot est un hyperparamètre qui définit le nombre d'échantillons à traiter avant de
mettre à jour les paramètres du modèle interne [B15].
 Qu’est-ce que le nombre d’époques :
Le nombre d'époques est un hyperparamètre qui définit le nombre de fois que l'algorithme
d'apprentissage fonctionnera à travers l'ensemble de données d’entraînement [B15].
On va essayer par la suite de varier les deux hyperparamètres : la taille du lot (Batchsize) et le
nombre d’époques (epochs), de comparer les résultats ainsi on va fixer les paramètres en
2
E.N.I. Chapitre 3 : Réalisation de la phase
choisissant les paramètres qui donne les meilleurs résultats.

3
E.N.I. Chapitre 3 : Réalisation de la phase

Pour ces paramètres fixés (figure III.10) on peut voir d’après la courbe d’apprentissage
d’erreur correspondante à l’entrainement (train error) que l’erreur d’entrainement reste stable
quel que soit l’entrainement, et continue à diminuer jusqu’à la fin de l’entrainement. On peut
donc dire qu’il s’agit d’un modèle sous ajusté c’est-à-dire que le modèle n'a pas apprendre
l'ensemble de données d'apprentissage.

Test accuracy = 0.389 Test loss = 0.699

Figure III. 10: exemple 1 de mesure de performance

D’après les courbes présentées par la figure III. 11, on peut distinguer que la précision a
augmenté de 0.38 à 0.82. Mais pour l’erreur n’a pas évolué donc le modèle est encore sous
ajusté.

Test accuracy = 0.824 Test loss = 0.646

Figure III. 11: exemple 2 de mesure de performance

3
E.N.I. Chapitre 3 : Réalisation de la phase

D’après les courbes présentées par la figure III.12, on peut distinguer que la perte diminue
jusqu'à un point de stabilité, validation diminue jusqu'à un point de stabilité et présente un
écart plus ou moins faible avec la perte d'entraînement.

Test accuracy = 0.989


Test loss = 0.292

Figure III. 12: exemple 3 de mesure de performance

D’après les courbes présentées par la figure III.13 on peut distinguer que :
- Le tracé de la perte d'entraînement diminue jusqu'à un point de stabilité.
- Le tracé de la perte de validation diminue jusqu'à un point de stabilité et présente un
écart très faible avec la perte d'entraînement

Test accuracy =
0.989 Test loss =
0.04

Figure III. 13 : exemple 4 de mesure de performance

3
E.N.I. Chapitre 3 : Réalisation de la phase

La même interprétation pour les courbes présentées sur la figure III.14 que pour celle
présentées par les courbes de la figure III.13, mais on peut voir que les résultats de précision
est de perte sont meilleurs pour la figure III.13.

Test accuracy = 0.974 Test loss = 0.21

Figure III. 14 : exemple 5 de mesures de performance

Nous pouvons conclure alors que les performances sont bonnes pour les paramètres fixes :
batch size = 5 et le nombre d’epochs = 100
Les paramètres à considérer sont alors :
 batch size = 5
 epochs = 100
Un bon ajustement est identifié par une perte d'apprentissage et de validation qui diminue
jusqu'à un point de stabilité avec un écart minimal entre les deux valeurs de perte finales ce
qui est le cas pour le modèle aux paramètres déjà fixées
Notre modèle donc, n’est pas sur ajusté c’est-à-dire que sur les données d’entraînement, le
modèle est de plus en plus performant de même sur les données de validation.

III.4.2.6 Réglage du modèle


Dans le but de plus améliorer le modèle nous essayons toujours à contourner le surajustement
du modèle (overfitting) pour le faire, nous allons choisir la méthode Dropout.
Dropout :
Le modèle ne verra jamais deux fois la même donnée mais certaines images qu’il voit sont
fortement similaires. Les données sont corrélées car elles proviennent d’un petit nombre
d’images de base.

3
E.N.I. Chapitre 3 : Réalisation de la phase

Avec la Data Augmentation on ne peut pas produire de nouvelles informations, on peut


seulement remanier, remixer des informations existantes. Dans un modèle de Deep Learning,
chaque couche du réseau apprend lors de la phase d’entraînement du modèle.
Lors de cet entraînement, des poids sont associés aux neurones de chaque couche. Ces poids
représentent l’apprentissage du modèle. Plus ils sont élevés, plus le neurone a d’influence sur
la donnée. L’idée du Dropout est de supprimer aléatoirement certains de ces neurones et donc
supprimer les poids associés. Cela peut paraître paradoxale mais cette technique permet
d’améliorer l’apprentissage du modèle. En écartant certains neurones lors de l’apprentissage,
les autres neurones sont contraints de se surpasser pour que la couche donne de bons résultats.
En fait, on ajoute du bruit pendant l’apprentissage du modèle ce qui a pour effet de
contraindre les neurones restant à être plus robuste et donc plus performant. Le réseau de
neurones s’adapte à la situation ! Le Dropout est une couche à part entière.
L’idée est de l’utiliser après avoir configuré les couches convolutionnelles (MaxPooling2D et
Flatten) (figure III. 15)

Test accuracy = 0.989 Test loss = 0.02

Figure III. 16: essai avec dropout

3
E.N.I. Chapitre 3 : Réalisation de la phase

L’architecture du notre modèle est résumé par la figure III. 16 :

Figure III.16: architecture du modèle CNN utilisé

Après l’utilisation de la méthode Dropout, les performances du modèle sont devenues plus
performantes, ce qui montre l’efficacité de cette méthode sur notre modèle. Il nous reste
maintenant que l’évaluation de notre modèle.
III.4.2.7 Evaluation du modèle
On doit récupérer tous les pixels sur l’écran de l’afficheur comme l’indique la figure III.17
pour pouvoir dire que le LCD est OK.

Figure III. 17: affichage correct sur le LCD

La figure III. 18 montre quelques tests de l’afficheur LCD, comparés à l’état OK on peut bien
détecter les défauts pour les cas défaillants.

3
E.N.I. Chapitre 3 : Réalisation de la phase

Figure III. 18: exemple des tests de l'afficheur LCD

III.5 Problèmes rencontrés


Durant la période de réalisation de ce projet on a rencontré quelques difficultés :
- Des difficultés lors de la réalisation de la partie test d’afficheur : choix du modèle
d’apprentissage et le développement de l’algorithme correspondant pour avoir un bon
résultat à la fin
- Au début de la réalisation de la phase d’inspection on a voulu essayer plusieurs
modèles, comparer les résultats afin de choisir le meilleur, mais malheureusement
nous n’avons pas eu suffisamment du temps et puisque le modèle testé a donné un bon
résultat on l’a adopté pour notre projet.
- Des problèmes lors de l’automatisation du système nous avons pu les surmonter en se
référant à des tutoriels.

III.6 Conclusion
Ce chapitre décrit les différents aspects de la réalisation de la première phase de notre travail :
la phase d’inspection, nous avons détaillé en premier lieu les anomalies qu’on doit détecter
lors du process du test, dans une deuxième partie nous avons expliqué le choix pour le test des
Leds et nous avons clôturé par la démarche suivie pour le test du l’afficheur LCD ainsi que les
problèmes rencontrés. Dans le chapitre suivant nous entamons la dernière partie du notre
projet qui est la phase de conception et développement de l’interface de test.

3
Chapitre 4 : Conception et réalisation
De l’interface de test
E.N.I. Chapitre 4 : Conception et réalisation de l’interface de

IV.1 Introduction
Nous clôturons notre rapport par ce dernier chapitre au cours duquel nous décrivons les
différentes phases de la réalisation de l’interface graphique de test.
Afin de mieux comprendre le fonctionnement de l’application, nous avons essayé au niveau
de cette partie d’expliquer les technologies choisies et les étapes effectuées

IV.2 Description du fonctionnement de process du test


IV.2.1 Diagramme de cas d’utilisation général
La première étape UML pour analyser un système est le diagramme de cas d’utilisation. Dans
ce qui suit, nous le présentons sur la figure IV.1 pour analyser, organiser les besoins et
recenser les grandes fonctionnalités de notre système.

Poste Vision

Figure IV. 1 : Diagramme de cas d’utilisation

3
E.N.I. Chapitre 4 : Conception et réalisation de l’interface de

L’opérateur chargé de l’opération de test met le compteur à tester en place, il appui sur le
bouton départ cycle pour lancer le test.
Une fois le bouton est appuyé, l’interface s’affiche sur l’écran du poste, le compteur est
commandé (envoi des commandes spécifiques à chaque élément à tester) : la Led CPL et la
Led MTR s’allument en plus de l’affichage des pixels sur l’afficheur LCD.
Le test des 3 éléments est effectué et affiché sur l’interface indiquant ainsi l’état final du
compteur en se référant aux résultats des test de ses éléments.
A la fin du test, un rapport contenant toutes les informations est généré.
IV.2.2 Diagramme de séquences général
Dans cette partie, nous exploitons les diagrammes de séquences pour modéliser les différents
échanges entre les différents acteurs du système selon un ordre chronologique.
Le digramme de séquence des échanges entre l’opérateur et le poste vision, figure IV.2, nous
permet de mettre en ordre chronologique les différentes actions de l’opérateur durant le
processus de test.

Figure IV. 2: Les échanges entre l’opérateur et le poste vision

Le diagramme de séquences des échanges qui se déroulent dans le système (figure IV.3) est une

3
E.N.I. Chapitre 4 : Conception et réalisation de l’interface de

Démonstration du déroulement des différentes phases d’un test dans un poste vision.

Figure IV. 3: Diagramme de séquences "poste vision "

IV.3 Logigramme d’organisation des étapes d’un scénario de test


Le logigramme illustré par la figure IV.4 présente un scénario général d’un test vision.
Après le démarrage du test la caméra commence à capturer, ensuite le compteur reçoit un
ensemble de commandes pour allumer les Leds et pour afficher tous les pixels sur l’écran LCD.
Une fois les Leds sont allumées, et l’écran LCD est commandé, le poste teste le
fonctionnement des éléments.
Si le test d’un élément est réussi, on visualise sur la zone correspondante au test de cet élément
une couleur verte indiquant le cas OK pour ce test.
Si le test d’un élément n’est pas réussi, on visualise sur la zone correspondante au test de cet
élément une couleur rouge indiquant le cas KO pour ce test.
A la fin, un rapport de test est généré contenant tous les détails.

3
E.N.I. Chapitre 4 : Conception et réalisation de l’interface de

Figure IV. 4: logigramme des étapes d'un scénario de test

IV.4 Communication et commande compteur


CEI 61107 ou actuellement CEI 62056-21[B16], est une norme internationale pour lire les
compteurs de services publics. Elle est conçue pour fonctionner sur n'importe quel support, y
compris l'Internet.
A chaque phase de test le poste vision envoie une commande au compteur en ASCII via un
port optique. Les supports physiques sont généralement soit une lumière modulée, envoyée
avec une LED et reçue avec une photodiode,

3
E.N.I. Chapitre 4 : Conception et réalisation de l’interface de

Ces commandes sont mises au SPEC (spécification de test") par l’équipe URD ("Unité de
recherche et de développement")
Le tableau résume un ensemble de commandes dont nous avons besoin :

Tableau IV. 1: liste des commandes du compteur

Fonction Commande envoyée


LED_MTR_OFF MS 0 0
LED_MTR_ON Ms 0 1
LED_CPL_ON MT 2 1
LED_CPL_OFF MT 2 0
LCD_ON MV 1
LCD_OFF MV 2

IV.5 Interface graphique


IV.5.1Etapes de réalisation
IV.5.1.1 QT Designer
La première étape qu’on a effectuée pendant la phase de réalisation de notre interface, est la
disposition des différents éléments manuellement, à l’aide du logiciel Qt Designer, qui permet
de créer rapidement l'interface graphique.
Notre interface doit bien être correspondante à l’enchainement déjà expliqué précédemment,
la figure IV.5 résume les différentes parties de notre interface réalisée à l’aide du Qt Designer
:

Figure IV. 5: interface graphique du test

4
E.N.I. Chapitre 4 : Conception et réalisation de l’interface de

L’interface de l’IHM définit l’état du poste avant le démarrage d’un test. Elle comprend 7
parties qui sont :
— Partie 1 : Logo de l’entreprise et le nom de la machine ;
— Partie 2 : Les messages affichés par le poste vision ;
— Partie 3 : affichage de la date et temps en temps réel ;
— Partie 4 : la zone correspondante à l’affichage du flux vidéo capturé par la caméra ;
— Partie 5 : la zone correspondante à la visualisation des résultats des test des Leds et de
l’afficheur ainsi le résultat final du compteur ;
— Partie 6 : la zone correspondante à l’affichage du nombre de compteurs testés, le nombre
des compteurs défaillants et le nombre des compteurs non défaillants ;
— Partie 7 : la zone correspondante a l’affichage du taux de FPY calculé à chaque phase de
test d’un nouveau compteur.
Le premier fichier généré par Qt Designer est un fichier « .ui »
IV.5.1.2 Conversion en script python
La conversion de l’interface utilisateur décrite dans le fichier .ui créer par Qt Designer doit être
traduite en un script python.
1/ Dans le chemin d’accès du répertoire où trouve le fichier.ui on tape la commande cmd
2/ Dans l’invité de commande on tape la commande : pyuic5 -x GUI.ui -o GUI.py

le fichier .py s’affiche ainsi dans le répertoire contenant le fichier .ui


3/ Le fichier .py résume tous les widgets et les composants placées manuellement dans l’IDE
QT Designer sous forme d’un code python
IV.5.1.2.1 création de l’exécutable
Nous allons utiliser Pyinstaller pour générer un exécutable pour nos fichiers Python.
PyInstaller lit un script Python et analyse le code pour découvrir tous les autres modules et
bibliothèques dont le script a besoin pour s'exécuter. Ensuite, il collecte des copies de tous ces
fichiers, y compris l'interpréteur Python actif et les met avec notre script dans un seul dossier,
ou éventuellement dans un seul fichier exécutable.

4
E.N.I. Chapitre 4 : Conception et réalisation de l’interface de

 Importer Pyinstaller

 Pour créer l’exécutable on tape cette commande

 Nous pouvons maintenant voir le fichier exécutable

IV.6 Implémentation et test


Une fois nous avons terminé la partie programmation et automatisation du process du test,
ainsi que la réalisation de l’interface graphique el l’exécution de notre application de bureau,
nous pouvons maintenant achever la dernière partie qui consiste à implémenter notre
algorithme pour visualiser les résultats finaux.
IV.6.1 Résultats des tests de Leds visualisés sur l’interface
Dans cette dernière partie nous allons essayer de visualiser quelques résultats de test de
quelques afficheurs.
Pour la zone correspondante aux tests :
- si le carreau correspondant au test d’un élément précis se colore en vert cela veut dire
que le test est réussi : « SUCCEED » ;
- si le carreau correspondant au test d’un élément précis se colore en vert cela veut dire
que le test n’est pas réussi « FAIL » .
La figure IV.6 montre le résultat du test de la Led CPL après l’envoi de commande
correspondante pour allumer la Led verte. La zone du test de cette Led est colorée en vert ce
qui veut dire que nous avons bien détecter la couleur verte, alors ce premier test est réussi.

Figure IV. 6 : visualisation du test de la Led CPL sur l’interface

La figure IV.7 montre le résultat du test de la Led MTR , après l’envoi de commande
correspondante pour allumer la Led orange. La zone correspondante au test de cette Led est
colorée en Rouge ce qui veut dire que nous n’avons pas détecter la couleur orange alors ce test
n’est pas réussi .

4
E.N.I. Chapitre 4 : Conception et réalisation de l’interface de

Figure IV. 7 : visualisation de test de la led MTR sur l'interface

IV.6.1.1 Résultats des tests de l’afficheur LCD visualisées sur l’interface


La figure 46 montre le résultat du test de l’afficheur, après l’envoi de la commande
correspondante. Pour la commande de l’afficheur la zone correspondante au test de cet
élément est colorée en vert ce qui veut dire que nous avons pu détecter la présence de tous les
pixels sur l’afficheur donc ce test est réussi.

Figure IV. 8 : visualisation du test du LCD sur l'interface

IV.7 Simulation
Pour la phase de simulation, et à cause de plusieurs facteurs liées à la société et à la situation
sanitaire, nous n’avons pas pu tester la solution sur le testeur de vision déjà existant, c’est
pourquoi nous avons essayé de préparer un dispositif semblable au testeur à l’aide des
composants suivants :
- Une camera HIKVISION FULL HD DS-U12[B17]:
 Une interface avec l’ordinateur : USB ;
 FULL HD CMOS ;

4
E.N.I. Chapitre 4 : Conception et réalisation de l’interface de

 Résolution vidéo : (1920x1080@30 pfs) ;


 Photos : jusqu'à 2.0 mégapixels.

- Module Iologik E1214


- Bouton poussoir
- Boite d’alimentation 24v
- Pc HP Intel(R) Core (TM) i7-10750H CPU @ 2.60GHz 2.59 GHz - 8,00 Go RAM
- Lecteur du port optique
- Compteur électrique X16
Ce dispositif n’est pas totalement parfait, il manque la Led d’éclairage du poste mais on a essayé
d’effectuer un test préliminaire pour connaître les résultats obtenus.
Après l’envoi des commandes au compteur, la figure IV.9 montre un résultat du test de ce
compteur « FAIL » car le deux tests des éléments : Led MTR et l’afficheur ne sont pas réussis

Figure IV. 9 : visualisation du test d'un compteur défaillant sur l'interface

La figure IV.10 montre un résultat réussi « SUCCEED » de ce compteur puisque tous les
tests de ces éléments sont réussis.

4
E.N.I. Chapitre 4 : Conception et réalisation de l’interface de

Figure IV. 10 : visualisation d'un test de compteur réussi sur l'interface

Une fois on a commandé le compteur, l’afficheur LCD n’a pas affiché les pixels donc il y’a un
défaut au niveau de cet élément, le résultat de test du compteur est « FAIL » puisque le test du
LCD n’est pas réussi

Figure IV. 11 : visualisation d'un test de compteur défaillant sur l'interface

4
E.N.I. Chapitre 4 : Conception et réalisation de l’interface de

IV. 8 Génération du rapport


Les résultats des tests des compteurs seront sauvegardés dans un rapport "Excel" contenant
tous les détails de l’opération du test spécifique à chaque compteur comme le montre la figure
IV.12
 Numéro de série du compteur testé
 Date et heure du test
 Résultats des tests de chaque élément du compteur
 Résultat final du compteur
Ce rapport est appelé "LOG" dans le monde industriel. La génération du rapport se base sur la
bibliothèque "xlwt"

Figure IV. 12: aperçu du rapport généré à la fin du test

IV.9 Conclusion
Dans ce dernier chapitre, nous avons expliqué le scénario d’un process de test dans un premier
lieu. Nous avons ensuite détaillé la partie de conception de l’interface graphique. A la fin,
nous avons évalué notre nouveau processus de test en se basant sur certains tests effectués.

4
Conclusion générale

Ce rapport présente notre projet de fin d’études réalisé au sein de la société Sagemcom.
Nous avons contribué, au cours de ce travail au développement d’un testeur de vision des
compteurs électriques, qui va contribuer à automatiser ces tests, puisque le processus de test
existant est fastidieux et long, par conséquence le but essentiel de ce projet est d’améliorer du
process existant.
En effet, les améliorations se présentent dans le gain du temps, la précision et la réduction des
coûts.
Nous avons développé une interface facile à manipuler et adaptée à l’utilisateur. Tout le
process du test est développé en langage python donc nous n’avons pas besoin du logiciel «
Vision Builder » qui coute cher, en plus cette application réalisée est plus rapide et permettant
d’effectuer tous les tests en un seul coup au lieu de tester chaque élément séparément.
Aussi, au lieu de retourner aux captures générées lors des tests pour identifier les défaillances
existantes, le rapport généré par le nouveau système contient tous les détails y compris les
anomalies si elles existent.
De plus, notre système est extensible et modulaire. L’enrichissement du programme par la
modification des fonctions et l’intégration de nouvelles fonctions est facile.
Ce projet était une bonne occasion pour nous afin d’apprendre des nouvelles méthodologies de
programmation, et aussi pour acquérir des multiples connaissances, tels que les fondamentaux
de l’industrie et la technologie d’intégration des systèmes informatiques dans une entreprise.
Cette expérience nous a également fait découvrir le monde professionnel et de développer nos
compétences d’un point de vue relationnel et surtout en matière de communication et de
coopération au sein d’une équipe.
Il est à signaler également que ce travail va construire le noyau d'un futur projet que
Sagemcom souhaite réaliser. Ce Projet futur consiste à tester automatiquement les compteurs
électriques, ainsi que déterminer les anomalies si elles existent pour l’amélioration du cycle
de production au sein de l’entreprise.

4
Références bibliographiques

[B1]https://advdownload.advantech.com/productfile/PIS/ACP-2020/file/ACP-
2020_DS(060721)20210610175907.pdf ; [consulté le 23/04/2021]
[B2]https://www.svs-vistek.com/en/industrial-cameras/svs-camera-
detail.php?id=eco655CVGE [consulté le 23/04/2021]
[B3] https ://moxa.ru/files/manuals-nport [consulté le 23/04/2021]
[B4] http://www.meter-test-equipment.com/fr/p/lecteur-de-port-optique-opto/
[consulté le 23/04/2021]
[B5]https://www.moxa.com/Moxa/media/PDIM/S100000327/moxa-iologik-e1200-series-
manual-v15.2.pdf [consulté le 23/04/2021]
[B6] https://geekflare.com/fr/best-python-ide/ [consulté le 02/03/2021]
[B7] https://www.netguru.com/blog/deep-learning-frameworks-comparison
[consulté le 15/03/2021]
[B8] https://fr.wikibooks.org/wiki/PyQt/Pr%C3%A9sentation_de_la_librairie
[consulté le 20/06/2021]
[B9] https://realpython.com/qt-designer-python/ [consulté le 15/06/2021]
[B10 ] : https://www.lemagit.fr/definition/Apprentissage-supervise [consulté le 02/03/2021]
[B11 ] https://inside-machinelearning.com/cnn-couche-de-convolution/ [consulté le
10/03/2021]
[B12] https://machinelearningmastery.com/learning-curves-for-diagnosing-machine-learning-
model-performance/[consulté le 02/04/2021]
[B13] https://machinelearningmastery.com/difference-between-a-batch-and-an-epoch/
[consulté le 02/04/2021]
[B14] : https://inside-machinelearning.com/cnn-couche-de-convolution/[consulté le
01/04/2021]
[B15]: https://machinelearningmastery.com/difference-between-a-batch-and-an-epoch/
[consulté le 02/04/2021]
[B16] CEI 62056-21 [consulté le 18/07/2021]
[B17] http://micromedia.tn/webcam/1052-webcam-hikvision-full-hd-ds-u12.html
[consulté le 05/08/2021]

Vous aimerez peut-être aussi