Tous les articles par Jean-Claude Dufourd

jcd

Module : Classification automatique

Contacts experts : 

Michel Roux (at telecom-paristech.fr)

Introduction :

La classification automatique vise à assigner des objets à des catégories ou classes. Dans PACT, ces objets peuvent être des images, des vidéos, des sons, des textes, etc. Ces classes peuvent être connues à l’avance ou non, on parle alors de classification supervisée ou non supervisée. Par exemple, lorsqu’on analyse un contenu sonore, on peut vouloir automatiquement assigner les sons à des classes telles que celles qui apparaissent sur la figure 1.

Classes sonores
Figure 1 – Exemple de schéma classification audio général

Le principe général des systèmes de classification supervisée (cf. figure 2) inclut deux étapes:

  • une étape d’apprentissage qui peut être vue comme une phase de développement aboutissant à la mise en oeuvre d’une stratégie de classification;
  • une étape de test par laquelle les performances du système de classification sont évaluées.

En général, un système n’est prêt pour une utilisation réelle qu’après une succession d’étapes d’apprentissage et de test permettant de mettre en place une stratégie de classification efficace.

Système de classification
Figure 2 – Architecture générale d’un système de classification (traitant dans cet exemple des signaux audio)

La phase d’apprentissage comprend:

  • l’extraction à partir d’une base de données de référence appelée base d’apprentissage, de descripteurs sous forme de paramètres numériques. Ces paramètres qui sont aussi appelés attributs ou caractéristiques (features en anglais) sont sensés caractériser des propriétés des signaux pouvant révéler leur appartenance à l’une des classes envisagées.
  • La sélection d’attributs efficaces; en pratique un nombre élevé de descripteurs « candidats » qui ne servent pas tous les performances de classification est considéré, il est alors intéressant d’avoir recours à des techniques permettant de retenir un sous-ensemble d’attributs (de plus petite taille) qui garantisse les meilleurs résultats de classification.
  • L’apprentissage à partir des attributs sélectionnés de fonctions de classification ou fonctions de décision, lesquelles fonctions serviront à assigner des observations d’attributs de nouveaux exemples (de test) à l’une des classes possibles.

Lors de l’étape de test il n’est nécessaire d’extraire des signaux que les attributs qui ont été retenus et de décider de l’appartenance de ces signaux aux classes possibles en utilisant les fonctions de décisions apprises.

Dans PACT deux modules de classification particuliers vous sont proposés : les kPPV et Adaboost.

Il existe de nombreux autres classificateurs (supervisés ou non). Différentes UE du cycle master vous sont proposées pour les découvrir, en particulier SI221 (Laurence Likforman) ou MDI343 (Stéphan Clémençon).

Bibliographie :

Il existe de nombreux ouvrages de référence. Pour une introduction vous pouvez consulter  Pattern classification ou Pattern Recognition

Module : Filtrage à réponse impulsionnelle finie

Titre du module : Filtrage RIF de données
proposé par :

  • Geoffroy Peeters (geoffroy.peeters_at_telecom-paristech.fr)
  • Roland Badeau (roland.badeau_at_telecom-paristech.fr)
Descriptif
A l’aide d’une somme pondérée de N échantillons d’entrée, il est possible de réaliser un filtrage de ces mêmes données. Ceci permet par exemple de renforcer les graves dans un morceau de musique, d’isoler une bande de fréquence données ou même de simuler l’opération de différentiation.
Ressources dont le module dépend
Exemples d’utilisation du module
  • dans les composants pact :
    • banc de filtres
    • détection d’enveloppe
    •  préaccentuation
    • dérivateur
  • dans des applications  :
    • convertisseur de fréquence d’échantillonnage
    • égaliseur
    • démodulation numérique
Résultats attendus
  • connaissances : convolution, réponse impulsionnelle, réponse en fréquence, filtrage, RIF vs RII, équation aux différences, passe-bas/haut/bande, transformée de Fourier, transitoire, retard
  • compétence : être capable de réaliser en java un filtre à RIF dont on connais les coefficients, être capable de prévoir théoriquement son comportement par le calcul, être capable de démontrer son fonctionnement à l’aide d’exemples bien choisis
  • livrable : pseudo-code du filtrage à RIF, programmation de ce pseudo-code en java, programmation d’un test avec affichage graphique des spectres entrée/sortie.

Module : Base de Données

Titre du module:  Base de données
Coordonné par :

  • Antoine Amarilli, C201-4, antoine.amarilli_at_telecom-paris.fr
  • Louis Jachiet, louis.jachiet_at_telecom-paris.fr

 

Descriptif
Une système de gestion de bases de données est un service permettant de stocker, d’organiser et contrôler l’accès à des données structurées. La mise en oeuvre d’un tel service suppose que la structure des données ait été pensée et adaptée aux besoins de traitement de ces données. Les bases de données relationnelles (organisées en tables ou relations) sont très populaires et bien adaptées aux besoins de nombreuses applications. On distingue souvent la tâche de conception du schéma (structure logique) de la base de donnèes de la tâche d’exploitation de la base de données, à l’aide du langage standard SQL dans le cas du modèle relationnel. Le but de ce module est de vous permettre d’intégrer un composant base de donnée (depuis la conception de la base, jusqu’à la manipulation de son contenu).

 

Ressources dont le module dépend

 

Exemples d’utilisation du module
  • Les applications web utilisent souvent une base de données pour pouvoir administrer l’accès aux données personnelles des différents utilisateurs
  • De nombreuses bases de données sont accessibles librement et constituent des dépôts d’informations assez utiles.

 

Résultats attendus
  • Connaissances : base de données relationnelles, SQL, conception de schemas
  • Compétence : créer des tables, exprimer des requête en SQL, construire un schéma de base de données
  • livrable : le schéma de la base, les requêtes d’instanciation du schéma (creation des tables), et les requêtes d’accès aux données

 

Kits de Robotique

Un kit de robotique est un ensemble de composants élémentaires matériels et logiciels permettant de construire un automate (ou robot).

Dans le cadre de PACT nous mettons à votre disposition des kits de robotique Lego Mindstorms, complétés par de nombreux capteurs et actionneurs additionnels. De manière usuelle, ces kit permettent de construire des robots de faible encombrement, autonome ou piloté via un périphérique sans fil.

Consultez ce lien pour voir les réalisations possible grâce à ce type de kit :

Plus généralement, les kits robotiques permettent de réaliser de petit dispositifs mécaniques et électroniques en modèles réduits. Ces réalisations sont destinées soit à créer des environnements ludiques, soit à simuler des situations réelles plus sérieuses (ex scanner 3D ou ligne de production). Il est important de noter que ces dispositifs disposent de moyens de communication sans fils permettant de basculer entre mode autonome et mode piloté.

L’expertise proposée est liée aux capteurs et actionneurs standard compris dans les boîtes NXT 2.0, ainsi que d’une vaste gamme de composants additionnels Hi-Technics, ainsi que de kits électroniques simples (led, photo-diodes…).

En complément, un composant logiciel (API robotique Lejos) est offert pour le contrôle de ces éléments matériels sur une station hôte ou de manière autonome via un programme Java embarqué sur le calculateur mobile.

En particulier, les caractéristiques physiques des phénomènes associés aux capteurs seront brièvement présentés (et un support sera assuré).

Documents disponibles sous peu :

  • Liste des capteurs et actionneurs disponibles
  • Caractéristiques du calculateur embarqué
  • Modèles de bas et haut niveau pour : le positionnement, la détection de mouvement (translation et rotations), la communication…

Liens vers les ressources logicielles des kits de robotique :

Base de données Oracle

Pour gérer vos données sur une base Oracle il  faut vous connectez à Oracle en utilisant l’un des comptes créés pour les projets Pact (pact01, …, pact10). La commande de connexion est la suivante :

  • sqlplus LOGNAME/PASSWORD@infres5/orcl11
    où LOGNAME est votre compte oracle et vaut de pact01 à pact10 et où PASSWORD vaut pact pour tous les comptes.

Envoyez un mail au contact indiqué ci-dessous si vous voulez utiliser l’un de ces comptes pour votre projet. Un nouveau mot de passe vous sera attribué.

Si vous vous connectez à partir d’une machine Unix, lancez le script suivant  ‘source    /infres/oracle/.shenv’ avant de vous connecter à la base. Ce script initialisera les variables d’environnement qui vous permettront d’accéder aux commandes Oracle ($ORACLE_HOME/bin).

Un résumé des principales commandes sqlplus est disponible sur la page du TP de bases de données de l’UE INF225.

Une documentation SQL vous permettra de vérifier la syntaxe de vos requêtes et les fonctions Oracle.

 

Contact : Talel.Abdessalem at telecom-paristech.fr