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

A presentation at DevFest Nantes in October 2023 in Nantes, France by Eléa PETTON

Slide 1

Slide 1

W Eléa Petton 0.89 AI

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 Dataset “ASL” 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 0.89 ENTRAÎNEMENT du modèle DÉTECTION en temps réel 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

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 17

Slide 17

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

Slide 18

Slide 18

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 19

Slide 19

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

Slide 20

Slide 20

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

Slide 21

Slide 21

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

Slide 22

Slide 22

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

Slide 23

Slide 23

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 24

Slide 24

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 25

Slide 25

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

Slide 26

Slide 26

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

Slide 27

Slide 27

Comparer les modèles - metrics Precision & Recall 25

Slide 28

Slide 28

Comparer les modèles - metrics mAPs 26

Slide 29

Slide 29

Comparer les modèles - losses Training set 27

Slide 30

Slide 30

Comparer les modèles - losses Validation set 28

Slide 31

Slide 31

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

Slide 32

Slide 32

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

Slide 33

Slide 33

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

Slide 34

Slide 34

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

Slide 35

Slide 35

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

Slide 36

Slide 36

Et si on allait encore plus loin ? Qu’est-ce qu’on pourrait ajouter dans une v2 ? 33

Slide 37

Slide 37

Vous voulez tester cette app ? AI APP TICKET https://bit.ly/ai-sign-language DATE: 19/10/2023 PROVIDER: OVHcloud FULL ACCESS 34

Slide 38

Slide 38

AI

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é 36

Slide 40

Slide 40

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