Luxembourg - Drapeau Luxembourg

Incoterms :DDP
Tous les prix incluent les taxes et les droits de douane pour les modes d'expédition sélectionnés.

Confirmez votre choix de devise:

Euros
Livraison gratuite pour la plupart des commandes supérieures à 50 € (EUR)

Dollars US
Livraison gratuite pour la plupart des commandes supérieures à $60 (USD)

Bench Talk pour les ingénieurs concepteurs

Mouser Blog | France

rss

Le blog officiel de Mouser Electronics


Principes de base d'Edge Impulse - troisième partie : Blocs de traitement Mike Parks

Source : putilov_denis - stock.adobe.com

 

Bienvenue à notre série continue sur la façon dont les développeurs peuvent tirer parti des services d'Edge Impulse pour apporter la technologie d'apprentissage automatique aux systèmes intégrés. Pour rappel, Edge Impulse est une plateforme qui permet de construire, de déployer et de gérer des modèles d'apprentissage automatique pour les dispositifs périphériques. L'une des principales caractéristiques d'Edge Impulse est sa fonctionnalité de conception d'impulsion, qui permet aux utilisateurs de créer des modèles d'apprentissage automatique personnalisés pour leurs cas d'utilisation spécifiques. Dans ce troisième chapitre, nous allons explorer en détail l'une des étapes les plus cruciales du flux de travail Edge Impulse : la conception d'impulsion.

Mais tout d'abord, définissons ce que signifie exactement le terme « impulsion » dans Edge Impulse. Dans Edge Impulse, une impulsion est un modèle d'apprentissage automatique créé et optimisé pour le déploiement sur les dispositifs en périphérie. Le terme « impulsion » évoque l'idée d'une petite unité d'intelligence autonome qui peut être déployée sur un dispositif et fonctionner indépendamment. Dans Edge Impulse, une impulsion est composée d'un pipeline de prétraitement, d'un modèle d'apprentissage automatique et d'un code de déploiement. Le pipeline de prétraitement comprend une série de blocs de traitement qui convertissent les données d'entrée brutes en un format utilisable par le modèle d'apprentissage automatique. C'est sur ce point que portera le présent chapitre.

Dans le chapitre précédent, nous avons montré comment les utilisateurs pouvaient télécharger leurs propres ensembles de données du monde réel sur la plateforme Edge Impulse. Une fois que les données brutes ont été téléchargées sur Edge Impulse, puis affinées et étiquetées, un développeur peut commencer le processus de « conception d'impulsion » ou définir son propre pipeline d'apprentissage automatique personnalisé. La première étape consiste à indiquer à Edge Impulse le type de données qui a été téléchargé. Le flux de travail offre aux utilisateurs trois options préconfigurées, notamment des données d'accéléromètre, des sons ou des images. Il propose également une quatrième option générique intitulée « Something Else » (autre chose) pour gérer d'autres types de capteurs, des capteurs de température aux capteurs de lumière et tout ce qui se trouve entre les deux.

En général, si les données ne sont pas des images, il s'agira probablement de données de séries temporelles (Figure 1). En d'autres termes, les valeurs d'un ou de plusieurs capteurs changeront au fil du temps en réponse à des stimuli environnementaux. Il est essentiel de déterminer si les changements se produiront rapidement (par exemple, détection d'impact automobile) ou lentement (par exemple, la température dans certains processus de fabrication) au fil du temps, car il s'agira d'un élément important à prendre en compte par la suite.

 

Figure 1 : Les deux premiers outils de la conception d'impulsion sont 1) le bloc d'entrée et 2) le bloc de traitement (source : Green Shoe Garage)

Une fois le type de données sélectionné, le développeur accédera au pipeline d'apprentissage automatique et aux options permettant de modifier le bloc d'entrée si nécessaire (Figure 2). Le contenu du bloc d'entrée varie en fonction du type de données. Dans le cadre de notre exploration des systèmes intégrés, nous présenterons des données d'accéléromètre. Selon le guide d'utilisation d'Edge Impulse, les options suivantes peuvent être modifiées pour les données de séries temporelles :

  • Taille de la fenêtre : La taille de la fenêtre est la taille des caractéristiques brutes utilisées pour l'apprentissage.
  • Augmentation de la fenêtre : L'augmentation de la fenêtre est utilisée pour créer artificiellement plus de caractéristiques et alimenter le bloc d'apprentissage avec plus d'informations.
  • Fréquence : La fréquence est automatiquement calculée sur la base de vos échantillons d'apprentissage. Vous pouvez modifier cette valeur, mais vous ne pouvez actuellement pas utiliser de valeurs inférieures à 0,000016 (moins d'un échantillon toutes les 60 s)
  • Remplissage par des zéros : Une case à cocher oui/non qui ajoute des valeurs zéro lorsque les caractéristiques brutes sont manquantes.

 

Figure 2 : Comment les paramètres du bloc d'entrée peuvent avoir un impact sur l'extraction de caractéristiques à partir des données brutes (source : Edge Impulse)

La décision suivante du flux de travail est l'application de divers « blocs de traitement ». Le rôle du bloc de traitement est de prétraiter et d'extraire les caractéristiques des données brutes qui seront utilisées pour l'apprentissage du modèle. Edge Impulse propose une bibliothèque de blocs de traitement des signaux numériques prédéfinis pour différentes applications. Les plus courants sont les suivants :

  • Analyse spectrale : idéale pour l'analyse des mouvements répétitifs, comme les données provenant d'accéléromètres. Extrait les caractéristiques de fréquence et de puissance d'un signal dans le temps.
  • Aplatissement : aplatit un axe en une seule valeur, utile pour les moyennes à évolution lente telles que les données de température, en combinaison avec d'autres blocs.
  • Image : prétraite et normalise les données d'image et réduit la profondeur des couleurs en option.          
  • Audio (MFCC) : extrait les caractéristiques des signaux audio à l'aide des coefficients cepstraux de fréquence de Mel (MFCC), qui sont excellents pour la voix humaine.
  • Audio (MFE) : extrait un spectrogramme des signaux audio en utilisant les caractéristiques d'énergie du banc de filtres Mel, ce qui est excellent pour l'audio non vocal.
  • Spectrogramme : extrait un spectrogramme à partir des données audio ou de capteurs, idéal pour les données audio non vocales ou les données avec des fréquences continues.
  • Données brutes : utilisent les données sans prétraitement. Utile si vous souhaitez utiliser l'apprentissage approfondi pour apprendre des caractéristiques.

Bien entendu, il se peut que vous disposiez de données uniques ou d'algorithmes de traitement des signaux numériques personnalisés que vous souhaitez utiliser. Dans ce cas, Edge Impulse fournit un mécanisme par lequel les utilisateurs finaux peuvent définir des blocs de traitement personnalisés et les utiliser pour l'apprentissage de modèles dans le flux de travail du studio Edge Impulse. Si vous souhaitez en savoir plus sur l'utilisation de blocs de traitement personnalisés, veuillez consulter cet article (Figure 3).

 

Figure 3 : Edge Impulse propose de nombreux types de blocs de traitement pour différents types de données tels que les images, les sons et les accéléromètres (source : Green Shoe Garage)

Il convient également de noter que les blocs de traitement peuvent être combinés dans un pipeline pour créer un flux de travail de prétraitement des données personnalisé. La sortie des blocs de traitement est ensuite transmise aux « blocs d'apprentissage ». Un bloc d'apprentissage est un réseau neuronal formé pour apprendre à partir des données traitées issues du flux de travail des blocs de traitement.

Les blocs d'apprentissage feront l'objet du prochain article de cette série sur notre blog.



« Retour


Michael Parks, P.E. is the co-founder of Green Michael Parks, P.E. est propriétaire de Green Shoe Garage, un studio de conception de solutions électroniques personnalisés et agence de conseil en technologies, situé dans le Maryland méridional. Il réalise le podcast S.T.E.A.M. Power pour sensibiliser le grand public aux questions techniques et scientifiques. Titulaire d'une maîtrise d'ingénierie des systèmes de l'université Johns Hopkins, Michael est également ingénieur professionnel agréé de l'État du Maryland.


Tous les auteurs

Voir plus Voir plus
Afficher les articles par date