Et si l’IA était la solution pour comprendre la langue des signes ?

A presentation at Devoxx France 2023 in April 2023 in Paris, France by Eléa PETTON

Slide 1

Slide 1

Eléa Petton

Slide 2

Slide 2

Eléa Petton Machine Learning Engineer AI Solutions Team @EleaPetton eleapttn Eléa PETTON 2

Slide 3

Slide 3

Au programme Objectifs ASL dataset Test de la première solution Data augmentation Entraînement du modèle d’IA Déploiement de l’app d’IA Test de la seconde solution 3

Slide 4

Slide 4

Objectifs Nous avons une idée géniale ! Détecter la langue des signes avec une IA pour pouvoir la comprendre facilement… 4

Slide 5

Slide 5

ASL dataset American Sign Language Letters Dataset v1 1728 images 26 classes David Lee Roboflow C 0.96 5

Slide 6

Slide 6

ASL dataset A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 6

Slide 7

Slide 7

Object Detection 7

Slide 8

Slide 8

YOLOv7 You Only Look Once Famille d’algorithmes Détection de divers objets dans des images ou vidéos Temps réel Rapide + précis 8

Slide 9

Slide 9

Détecter les lettres de l’ASL avec YOLOv7 W ENTRAÎNEMENT du modèle DÉTECTION en temps réel 0.89 AFFICHAGE des résultats 9

Slide 10

Slide 10

Test de la première solution On la teste cette app ? 10

Slide 11

Slide 11

Quel est le problème ? Mauvaise identification des lettres 11

Slide 12

Slide 12

Quel est le problème ? Mauvaise identification des lettres Faibles précisions 11

Slide 13

Slide 13

Quel est le problème ? Mauvaise identification des lettres Faibles précisions Reconnaissance de faux objets 11

Slide 14

Slide 14

Pourquoi de tels résultats ? Base de données trop petite - 1728 images seulement Manque de diversité dans le jeu de données - peu de variété dans les arrière-plans - luminosité et exposition similaires - même type de mains (même couleur de peau, pas de tatouages ou bagues, …) - pas assez de diversité dans les premiers plans 12

Slide 15

Slide 15

ASL dataset A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 13

Slide 16

Slide 16

model EVALUATION AI AI TEBOOO O N TEBOOO O N KS model EXPORTATION model INITIALIZATION KS CT STORA E J GE OB ASL LETTERS dataset TEBOOO O N KS AI Un voyage vers le meilleur modèle model TRAINING EPLOY AI D REAL-TIME DETECTION app DEVELOPMENT app DEPLOYMENT 14

Slide 17

Slide 17

AI model EVALUATION AI OB TEBOOO O N TEBOOO O N KS model EXPORTATION model INITIALIZATION KS GE CT STORA E J AI data PROCESSING ASL LETTERS dataset TEBOOO O N KS NOTEBO K R S OK SPA Un voyage vers le meilleur modèle model TRAINING EPLOY AI D REAL-TIME DETECTION app DEVELOPMENT app DEPLOYMENT 14

Slide 18

Slide 18

Data augmentation Comment élargir rapidement mon ensemble de données ? 15

Slide 19

Slide 19

Comment obtenir plus de données ? Demander à mes amis de nouvelles images Devenir un professionnel de Photoshop Augmentation des données à l’aide d’un outil dédié 16

Slide 20

Slide 20

Comment résoudre ce problème ? n o i t a t n e m g u a data dataset d’origine dataset d’origine + nouveau dataset personnalisé dataset résultant avec les données augmentées 17

Slide 21

Slide 21

Data augmentation original saturation flip horizontal bruit glissement flou luminosité contraste 18

Slide 22

Slide 22

Outils de data processing Traitement d’images classique OpenCV Pillow Scikit-image Traitement d’images distribué Apache Spark 19

Slide 23

Slide 23

Traitement de données dataset personnalisé traitement d’images dataset résultant avec les données augmentées 20

Slide 24

Slide 24

Augmentation de la donnée Passage de 1700 images à 2300 2 images générées pour chaque nouvelle image existante Basic train dataset size: 1512 x1.4 Augmented train dataset: 1975 Basic validation dataset size: 144 Augmented validation dataset: 267 Basic test dataset size: 72 Augmented test dataset: 104 21

Slide 25

Slide 25

Entraînement du modèle d’IA Pour entraîner un modèle d’IA, j’ai besoin de la puissance du GPU ! 22

Slide 26

Slide 26

AI tools NOTEBOOK AI Notebooks Data scientist AI Training AI Deploy Machine Learning Engineer 23

Slide 27

Slide 27

AI Notebooks Accéder au Jupyter Notebook dans le Cloud Jupyter Miniconda 24

Slide 28

Slide 28

Comparer les modèles - metrics Precision & Recall 25

Slide 29

Slide 29

Comparer les modèles - metrics mAPs 26

Slide 30

Slide 30

Comparer les modèles - losses Training set 27

Slide 31

Slide 31

Comparer les modèles - losses Validation set 28

Slide 32

Slide 32

Comparer les modèles - confusion matrix Basic Dataset Augmented Dataset 29

Slide 33

Slide 33

Comparer les modèles - confusion matrix Basic Dataset Augmented Dataset 29

Slide 34

Slide 34

Déploiement de l’app d’IA C’est l’heure du déploiement ! Des amoureux de Docker dans la salle ? 30

Slide 35

Slide 35

Déployer une app d’IA modèle d’IA script Python image Docker AI Deploy 31

Slide 36

Slide 36

Test de la seconde solution C’est sûr! cette fois-ci, c’est la bonne solution ! 32

Slide 37

Slide 37

Vous voulez tester cette app ? https://bit.ly/ai-sign-language 33

Slide 38

Slide 38

Conclusion Au final, qu’avons-nous appris aujourd’hui ? 34

Slide 39

Slide 39

Qu’avons nous appris ? Améliorer un dataset et un modèle d’IA grâce à la Data Augmentation Entraîner un modèle avec la puissance du GPU Comparer les modèles avec Weights & Biases Créer une application d’IA à l’aide du modèle d’IA entraîné Déployer une application AI Deploy avec sécurité et haute disponibilité 35

Slide 40

Slide 40

MERCI

Slide 41

Slide 41

Références Documentation Data Processing d’OVHcloud: https://docs.ovh.com/gb/en/data-processing/ Dépôt d’exemples AI d’OVHcloud: https://github.com/ovh/ai-training-examples Documentation AI d’OVHcloud: https://docs.ovh.com/gb/en/publiccloud/ai/ Dépôt YOLOv7: https://github.com/WongKinYiu/yolov7 ASL alphabet dataset: https://public.roboflow.com/object-detection/american-sign-language-letters Notebook: https://github.com/ovh/ai-training-examples/blob/main/notebooks/computer-vision/objectdetection/miniconda/yolov7/notebook_object_detection_yolov7_asl.ipynb App: https://github.com/ovh/ai-training-examples/tree/main/apps/streamlit/sign-language-recognition-yolov7-app Accès Public cloud: https://www.ovhcloud.com/fr/public-cloud/ Article Le Parisien: https://www.leparisien.fr/etudiant/vie-etudiante/avec-lia-un-jeune-ingenieur-veut-revolutionner-la-traductionautomatique-de-videos-en-langue-des-signes-4OGCWCW2RBALZIWPYCVXIHPGGY.php