0% ont trouvé ce document utile (0 vote)
3 vues6 pages

Détection de pièces pour aveugles

Le projet présenté par Samar Hamraoui et Yassine Hattay vise à développer une solution technologique pour aider les personnes aveugles à détecter et différencier les pièces de monnaie à l'aide d'une carte Raspberry Pi et d'un serveur utilisant l'algorithme YOLO. Le processus implique la capture d'images des pièces, leur envoi à un serveur pour analyse et la restitution des résultats via un haut-parleur. Des défis liés à la précision du modèle ont été identifiés, avec des suggestions pour améliorer ses performances par l'augmentation et l'équilibrage des données.

Transféré par

saaharhamraoui
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues6 pages

Détection de pièces pour aveugles

Le projet présenté par Samar Hamraoui et Yassine Hattay vise à développer une solution technologique pour aider les personnes aveugles à détecter et différencier les pièces de monnaie à l'aide d'une carte Raspberry Pi et d'un serveur utilisant l'algorithme YOLO. Le processus implique la capture d'images des pièces, leur envoi à un serveur pour analyse et la restitution des résultats via un haut-parleur. Des défis liés à la précision du modèle ont été identifiés, avec des suggestions pour améliorer ses performances par l'augmentation et l'équilibrage des données.

Transféré par

saaharhamraoui
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Slide1

samar :bonjour, je m'appelle samar hamraoui


yassine : bonjour, je m'appelle yassine hattay , notre projet porte sur la
détection des pièces monnaies pour les aveugles

Slide 3
plan:
la présentation est divisée en 3 grands chapitres
tout d'abord le contexte du projet, ensuite l'analyse
et enfin la réalisation.

Slide 4
Contexte:
Commençons par le premier chapitre
on va voir la problématique puis la solution

Slide 5
Problématique:
Les personnes aveugles rencontrent souvent des difficultés lorsqu'il s'agit de
différencier les différentes valeurs de pièces, ce peut être un défi pour eux, ce
qui peut entraîner des erreurs et une dépendance à l'égard des autres. Il est
donc essentiel de développer des solutions technologiques pour les aider à
résoudre ce problème.

Slide 6
solution:
Notre solution à ce problème consiste à utiliser une carte
'RaspberryPi' pour prendre une photo des pièces et l'envoyer à un
serveur qui détecte et reconnaît ces pièces , puis envoie les
résultats à la carte.

Slide 7
Analyse du solution:
En passant à la partie d'analyse

Slide 8
La question posé donc
Comment l'utilisateur déclenche-t-il l'envoi de l'image et la réception des
résultats et comment le processus se déroule-t-il en détail ?
Slide 9
Carte
L'utilisateur clique d'abord sur un bouton, ce qui provoque l'exécution d'une
méthode python. et ce code doit être placé en tant que processus
d'arrière-plan afin qu'il puisse être exécuté lorsque le bouton est cliqué et
chaque fois que la carte est redémarrée. Cette méthode demande à la carte
de prendre une photo à l'aide d'un appareil photo connecté à la carte, puis elle
envoie les données à un serveur, et à l'aide des résultats du ce dernier , la
carte calcule la somme des pièces et l'annonce sur un haut-parleur connecté.

👍
Slide 10
Ces étapes sont contrôlées par python qui fonctionne de ce maniére :

1-Importation des bibliothèques nécessaires, telles que requests, picamera,


[Link], et pyttsx3.

2-Configuration de la caméra pour une résolution de 1080x720 pixels.

3-Configuration des broches GPIO pour la Raspberry Pi, en particulier la


broche à laquelle le bouton est connecté.

4-Définition d'une fonction de rappel qui sera exécutée chaque fois que le
bouton est pressé. À l'intérieur de cette fonction, une image est capturée,
envoyée via une requête POST à l’URL de serveur, et une synthèse vocale est
réalisée en fonction de la réponse reçue.

5-Détection d'événement sur la broche du bouton, de sorte que la fonction de


rappel soit exécutée lorsque le bouton est pressé.
Slide 11
Serveur
Et que se passe-t-il du côté du serveur ? entre l'étape 3 et l'étape 4
Lorsque le serveur reçoit l'image, il détecte les types des pièces et le
nombre de chaque type à l'aide de l'apprentissage profond en utilisant
l'algorithme YOLO , puis il envoie le résultat en format json à la carte.
Slide 12
le code python du serveur fonctionne comme suit:

1-Importation des bibliothèques : argparse, json, torch, Flask et Popen .

2-Configuration de l'application Flask : Une instance de l'application


Flask est créée.

3-Définition des routes :


il y’a deux routes
a- Route d'index ('/'): Lorsque la route racine est accédée en utilisant la
méthode GET, le modèle '[Link]' est rendu.

b- Route de détection d'objets lorsque la route racine est accédée en


utilisant la méthode POST : les actions suivantes sont déclenchés

● Le fichier image est extrait de la requête envoyer par la carte à


l’aide de la méthode POST.

● L'image est enregistrée en tant que fichier temporaire.

● La détection d'objets YOLOv7 est effectuée en exécutant un


script Python qui s’appel '[Link]' .

● puis Les résultats de la détection sont stockés dans un fichier


JSON.

● Le fichier JSON est chargé et les numéros de classe sont


extraits.

● ensuite Les nombres de classes sont envoyés sous forme de


réponse JSON à l'aide de jsonify.
4- enfin dans la Fonction principale :
● Un analyseur d'arguments est défini pour spécifier le numéro de
port lors de l'exécution du script.
● Le modèle YOLOv7 est chargé et mis en mode évaluation.
● L'application Flask est exécutée avec l'hôte et le port spécifiés.

Slide 13

Réalisation:
Dans le dernier chapitre nommé Réalisation, nous examinerons les
choix matériels et logiciels ,le choix du modèle, la préparation de
l'ensemble des données et l'entraînement du modèle.

Choix matériel et logiciel:


Slide 14
Carte: en raison de la disponibilité de ressources en ligne et de
tutoriels, la carte Raspberry paraissait être un bon choix pour ce
projet .
Slide 15
serveur : Pourquoi utiliser un serveur ? En utilisant un serveur, nous
pouvons fournir les informations nécessaires à l'utilisateur dans un
temps raisonnable à l'aide d'un modèle d'apprentissage profond qui
serait sinon plus lent et moins précis dans une carte raspberry.

Slide 16

modèle :ce modèle est basé sur L'algorithme YOLO (You Only Look Once)
,c’est un algorithme de détection d'objets réputé pour sa rapidité, sa précision
et sa polyvalence .
YOLO est reconnu pour sa vitesse en temps réel. Grâce à son architecture
optimisée et à l'utilisation de techniques telles que les réseaux de neurones
convolutifs, YOLO peut détecter et localiser des objets dans une image à une
vitesse élevée.
Cet algorithme a besoin des photos et des fichiers avec l'extension ‘.txt’ qui
contiennent les informations nécessaires pour former un modèle.

préparation de données:
Slide 17
Maintenant Pour la préparation des donnés :
Nous avons obtenu nos données d'un autre groupe du même projet
avec des fichiers avec l'extension ‘.xml’ pour chaque photo, nous avons donc
dû préparer un script python qui transforme ces fichiers avec l'extension ‘.xml’
en fichiers avec l’extension ‘.txt’ et transforme leur contenu à une format
utilisable par l'algorithme yolo qui sera utilisé sur le serveur pour la détection
des pièces de monnaie .

Slide 18
Nous avons utilisé le logiciel LabelImg qui crée des fichiers ‘.txt’ des objets
encadrés dans l'image ce qui facilite grandement le travail d'étiquetage des
images et nous aide à changer le contenu de certains fichiers texte et ajouter
des classes supplémentaires.

Slide 19
ensuite
Entrainement du modèle:
Les données étant prêtes à être utilisées pour l'entraînement du
modèle
A chaque fois,nous avons continué à expérimenter avec
différents paramètres du modèle et en changeant le nombre
d'itérations et la résolution de l'image pour essayer d'obtenir le
modèle optimal
, à l'aide de Pytorch, un ‘framework’ d'apprentissage
automatique open source.
Slide 20
Clôture
Pour cette dernière partie, nous souhaitons présenter un problème que nous
avons rencontré concernant le modèle
Slide 21
Problème:
Ce modèle détecte parfois des types des pièces incorrects
Comme vous le voyez dans cet exemple

Slide 22
comment le rendre plus performant:
On met trois méthodes pour cela
1-Augmentation des données : Collectez et générez plus d'images de pièces
de monnaie dans diverses orientations, éclairages et contextes pour améliorer
la diversité des données d'entraînement.

2-Équilibrage des données : Assurez-vous que le jeu de données contient une


quantité équilibrée d'exemples pour chaque classe de pièce de monnaie, afin
d'éviter un déséquilibre qui pourrait affecter les performances du modèle.

3-Ensembles de modèles : Entraînez plusieurs modèles YOLO avec des


initialisations aléatoires différentes, puis fusionnez leurs prédictions pour
obtenir une prédiction plus précise.

Slide 23
Merci pour votre attention et n'hésitez pas a posez vos questions ,

Vous aimerez peut-être aussi