Les codecs VLC et VLR et l'IoT / M2M

Résumé

Avec les codecs VLC et VLR (méthodes de compression et décompression), on peut rendre les objets connectés plus intelligents, plus reconnaissables et plus prévisibles.
La nécessité de compresser au niveau des objets n'est pas évidente, surtout si les débits sont faibles. Mais au niveau des machines qui enregistrent les données de quelques objets à plusieurs milliers d'objets, le problème de compression peut se poser, surtout sur de longues périodes.
Pour l'IoT (Internet des Objets, ou Internet of Things en Anglais) et la M2M (Communication de Machine à Machine, ou Machine to Machine en Anglais), au niveau des machines, les codecs VLC et VLR peuvent fournir des caractéristiques (features en Anglais) très importantes en intelligence artificielle et en apprentissage profond (deep learning en Anglais) pour la détection des anomalies, la reconnaissance des objets et la prédiction des comportements.

Mots-Clés

IoT
Internet des Objets,
ou Internet of Things en Anglais.
M2M
Communication de Machine à Machine,
ou Machine to Machine Communication en Anglais.
k-NN
k plus Proches Voisins,
ou k-Nearest Neighbor en Anglais.
ANN (1)
Recherche Approximative des plus Proches Voisins,
ou Approximate Nearest Neighbors en Anglais.
ANN (2)
Réseau de Neurones Artificiels,
ou Artificial Neural Network en Anglais.
MLP
Perceptron Multicouche,
ou MultiLayer Perceptron en Anglais.
CNN
Réseau de Neurones Convolutifs ou Réseau de Neurones Convolutionnels,
ou Convolutional Neural Networks en Anglais.
RNN
Réseau de Neurones Récurrents,
ou Recurrent Neural Network en Anglais.
NLP
Traitement Automatique du Langage Naturel,
ou Natural Language Processing en Anglais.
MFCC
Coefficients Cepstraux à l'Echelle de Mel,
ou Mel-Frequency Cepstral Coefficients en Anglais.
MQTT
Transport Télémétrique par File d'Attente de Message,
ou Message Queuing Telemetry Transport en Anglais.



Généralités sur l'Intelligence Artificielle et l'Apprentissage Profond

MLP
Le perceptron multicouche est un classifieur linéaire de type réseau neuronal formel organisé en plusieurs couches au sein desquelles une information circule de la couche d'entrée vers la couche de sortie uniquement; il s'agit donc d'un réseau de type feedforward. Chaque couche est constituée d'un nombre variable de neurones, les neurones de la couche de sortie correspondant toujours aux sorties du système.
Dans le perceptron multicouche à rétropropagation, les neurones d'une couche sont reliés à la totalité des neurones des couches adjacentes. Ces liaisons sont soumises à un coefficient altérant l'effet de l'information sur le neurone de destination.
MLP

CNN
En apprentissage automatique, un réseau de neurones convolutifs (ou réseau de neurones à convolution, ou CNN ou ConvNet) est un type de réseau de neurones artificiels acycliques (feed-forward), dans lequel le motif de connexion entre les neurones est inspiré par le cortex visuel des animaux.
Un avantage majeur des réseaux convolutifs est l'utilisation d'un poids unique associé aux signaux entrant dans tous les neurones d'un même noyau de convolution. Cette méthode réduit l'empreinte mémoire, améliore les performances et permet une invariance du traitement par translation. C'est le principal avantage du CNN par rapport au MLP, qui lui considère chaque neurone indépendant et donc affecte un poids différent à chaque signal entrant.
CNN

RNN
Un réseau de neurones récurrents est un réseau de neurones artificiels présentant des connexions récurrentes. Un réseau de neurones récurrents est constitué d'unités (neurones) interconnectés interagissant non-linéairement et pour lequel il existe au moins un cycle dans la structure. Les unités sont reliées par des arcs (synapses) qui possèdent un poids. La sortie d'un neurone est une combinaison non linéaire de ses entrées.
Les réseaux de neurones récurrents sont adaptés pour des données d'entrée de taille variable. Ils conviennent en particulier pour l'analyse de séries temporelles. Ils sont utilisés en reconnaissance automatique de la parole ou de l'écriture manuscrite - plus en général en reconnaissance de formes - ou encore en traduction automatique.
RNN

NLP
Le traitement automatique du langage naturel ou de la langue naturelle ou des langues est une discipline à la frontière de la linguistique, de l'informatique et de l'intelligence artificielle, qui concerne l'application de programmes et techniques informatiques à tous les aspects du langage humain.
NLP

Généralités sur les Codecs VLC et VLR

Pour une description rapide des codecs VLC et VLR, voir à l'adresse suivante:
Big Data

Notes Additionnelles:

- L'échantillonnage doit être régulier. Si ce n'est pas le cas, il faut faire des interpolations pour qu'en entrée, les échantillons soient régulièrement espacés dans le temps.

- Les traitements peuvent se faire comme en audio en jouant sur la taille des tampons FFT et sur le nombre de trames par seconde.
Avec l'audio, on peut avoir des tailles de tampon FFT de 512 ou 1024, avec 31,25 trames par seconde.
Avec les objets connectés, on pourra avoir une trame toutes les deux secondes, une trame par seconde, 10 trames par seconde, ...

- Il faut signaler qu'il existe des protocoles comme MQTT pouvant relier les objets connectés aux machines. Les données en entrée pourront provenir de ces protocoles ou pourront provenir de fichiers.

- Les codecs VLC et VLR contiennent les magnitudes des points, les phases des points de l'avant plan ainsi que les positions des points de l'avant plan et des bandes de l'arrière plan. Les vecteurs des magnitudes et les vecteurs des positions ou les vecteurs des magnitudes et positions fournissent directement les caractéristiques (features) pour les algorithmes de l'intelligence artificielle et de l'apprentissage profond.

- Afin de minimiser le nombre de points pris en compte, il vaut mieux prendre les plus grands points et les bandes les plus énergétiques en ne considérant que les pics locaux.
On garde les informations de première importance sans s'encombrer avec les informations de seconde importance. Ceci convient bien à tous les signaux, sauf aux signaux qui ne contiennent que du bruit blanc pour l'essentiel.

- Des méthodes comme RNN conviennent en particulier pour l'analyse des séries temporelles.
Les magnitudes considérées par les codecs VLC et VLR constituent l'enveloppe spectrale du signal. On peut simuler des séries temporelles en modélisant l'enveloppe spectrale par des courbes d'interpolation, notamment par des splines cubiques.
Ces algorithmes pourront alors être considérés comme "guidés", en plus de pouvoir être supervisés ou non supervisés.

Reconnaissance des Objets Connectés

Des méthodes comme NLP permettent la reconnaissance vocale. Elles sont basées la plupart du temps sur MFCC.
Dans le domaine des fréquences, on passe à l'échelle de MEL qui utilise les bandes critiques, on prend le logarithme des magnitudes, on effectue des DCT (Transformée en cosinus discrète, ou Discrete Cosine Transform en Anglais) sur le signal (signal très réduit par rapport à l'original, à l'échelle de MEL) et on prend enfin quelques points comme empreinte numérique.
Les codecs VLC et VLR sont entièrement compatibles avec cette approche. Les magnitudes transmises peuvent être considérées comme des quasi-empreintes. Il suffit d'effectuer des DCT sur ces magnitudes (après le logarithme si on compresse les magnitudes autrement).
En outre, ces codecs ne sont pas dépendants de la psycho-acoustuqe ou des bandes critiques. On peut prendre de bandes adaptées à son problème.

Caractéristiques (Features) Composites

Les données en entrée peuvent être homogènes (par exemple la voix, le rythme cardiaque ou la température).
Nos codec prennent en compte le multicanal (y compris comprenant beaucoup de canaux) avec des données homogènes.
Nos codecs peuvent prendre en compte aussi des données non homogènes en multicanal (par exemple la pression du vent, la température et l'humidité). Il faut utiliser la même fréquence d'échantillonnage et la même taille de tampon FFT.
Les features composites sont à utiliser avec les algorithmes de l'intelligence artificielle et de l'apprentissage profond.
En dehors de l'audio, nos codecs peuvent être utilisés dans beaucoup de domaines comme la finance, la santé ou les prévisions météorologiques.
Nous avons déjà présenté deux projets pouvant être faits dans le domaine de la santé:
vlrMemo
TéléSurveillance Médicale
Nous allons présenter ici deux exemples de features composites, le premier dans le domaine de la santé et le second dans le domaine des prévisions météorologiques, notamment les prévisions locales, à court, moyen et long terme.
Toutes les caractéristiques (features) ont en commun la même échelle des positions (fréquences). Certains signaux pourront être carrés (valeurs constantes par intervalle), dans le domaine des fréquences, il seront représentés par des harmoniques, donc uniquement des pics locaux.

Dans le domaine de la santé, les données ci-dessous peuvent fournir des features composites pour estimer et prévoir l'état général de santé:

- Les Intervalles R-R.
- La Fréquence Cardiaque.
- La Pression Artérielle Systolique.
- La Pression Artérielle Diastolique.
- La Pression Artérielle Moyenne.
- La Pression Artérielle Pulsée.
- Le Volume d'Ejection Systolique.
- Le Débit Cardiaque.
- Le Temps d'Ejection du Ventricule Gauche.
- La Résistance Périphérique Totale.
- L'Impédance Caractéristique Aortique.
- La Compliance Artérielle.

Les données météorologiques peuvent être compressées de manière particulièrement efficace avec les codecs VLC et VLR, à cause de leurs tendances répétitives.
Les prévisions locales, à court, moyen et long terme, basées sur l'intelligence artificielle et l'apprentissage profond sont possibles, en utilisant des features composites, par exemple:

- La température.
- La température minimale.
- La température maximale.
- La pression atmosphérique.
- La vitesse du vent.
- La direction du vent.
- Le niveau d'humidité.
- La quantité de nuage.
- La valeur de la visibilité.
- Le valeur des précipitations.
- Le volume de pluie.
- Le volume des chutes de neige.
- La radiation solaire globale.
- La radiation solaire directe.
- La radiation solaire diffuse.

Harmoniques Sphériques

Il nous semble qu'il est tout à fait possible d'utiliser les méthodes des codecs VLC et VLR dans le cas des harmoniques sphériques.
Dans le cas unidimensionnel, les coefficients de Fourier dépendent d'une variable m (la fréquence).
Dans le cas des harmoniques sphériques, les coefficients de Fourier dépendent de deux variables n (l'ordre) et m. Pour chaque valeur de n, on a un problème unidimensionnel et on peut effectuer des décimations (coefficients mis à zéro).
On peut augmenter facilement l'ordre tout en minimisant le nombre de features pour l'intelligence artificielle ou l'apprentissage profond, ou tout en omettant les calculs des paramètres liés aux coefficients nuls.
On pourra utiliser un système de poids dépendant de la fréquence (et du temps s'il y a des mouvements temporels) afin de mieux choisir les points à conserver.