7 astuces pour le prétraitement des biosignaux: comment améliorer la robustesse de votre classificateur Deep Learning

Pourquoi il est si important de gérer les bruits et les distorsions

En règle générale, toute tâche de classification (détection d'anomalie) liée à des signaux biologiques, telle que l'électrocardiographie (ECG), l'électroencéphalographie (EEG), l'électromyographie (EMG), etc. peut être considérée comme un problème de reconnaissance des séries chronologiques.

Selon les conditions de Karush – Kuhn – Tucker, les signaux d'entrée doivent correspondre aux critères de stationnarité. Simplement, les modèles de signaux d'entrée doivent être identiques ou similaires à ceux d'un ensemble d'apprentissage sans modifier la distribution du signal dans le temps.

Habituellement, tout enregistrement de signaux biologiques est exposé à beaucoup de bruits. Ces distorsions introduisent une variance supplémentaire dans le modèle car elles ne respectent pas les critères de stationnarité.

Ces bruits peuvent avoir une nature différente et des informations plus spécifiques que vous pouvez trouver ici et ici. Ces articles décrivent les bruits ECG, mais ils peuvent également être appliqués à tout biosignal.

Cela signifie que les performances globales de votre classificateur DL sont définies par l'efficacité des techniques de prétraitement.

Examinons comment, dans la pratique, il est possible d’améliorer la robustesse du modèle d’apprentissage en profondeur grâce au prétraitement.

1. 50% du traitement de signal numérique efficace est le traitement analogique efficace

Tout traitement de signal numérique commence par un conditionnement de signal analogique efficace. L'erreur la plus commune est liée au problème d'aliasing.

Selon le théorème de Nyquist, le taux d'échantillonnage de l'ADC devrait être 2 fois supérieur à la fréquence la plus élevée du signal d'entrée. Tout signal ne correspond pas à ce critère, alias dans le domaine de fréquence principal et masque un utile sous forme de bruits supplémentaires:

Pour éviter ce problème, le filtre passe-bas analogique est appliqué avant ADC. Très souvent, les ingénieurs en matériel considèrent qu'un simple circuit RC suffit à cette fin. Cependant, la réponse en fréquence varie énormément entre le filtre passe-bas parfait et le filtre réel:

Comprenant la caractéristique de fréquence des filtres analogiques idéal (gauche) et réel (gauche)

Assurez-vous que votre LPF Inti-Aliasing répond aux exigences de suppression de la fréquence de Nyquist (pour des détails supplémentaires, je recommande ce livre):

  • 50 dB pour ADC 8 bits
  • 62dB pour ADC 10 bits
  • 74 dB pour ADC 12 bits
  • 98dB pour ADC 16 bits

2. Utilisez le même matériel pour la formation et les prévisions

Différents dispositifs définissent différentes conditions d'enregistrement du signal, telles que des distorsions électroniques non linéaires, des boîtiers différents, des positions de capteurs différentes, etc.

Étant donné que différentes conditions définissent différents signaux, il est recommandé d’utiliser le même matériel pour la formation du modèle et la prévision. Cela peut être une cause du biais supplémentaire sur l'ensemble d'entraînement.

En l’absence d’option, il est possible d’essayer la pré-distorsion de l’ensemble d’entraînement, mais cela nécessite une expertise supplémentaire dans les domaines du matériel et des bruits.

3. théorème de Nyquist pour accélérer la formation

Comme décrit ci-dessus, le théorème de Nyquist définit une fréquence d'échantillonnage minimale du CAN pour enregistrer 100% des informations du signal analogique après la conversion. Cela signifie que si la fréquence maximale du signal est inférieure à Fs / 2, il dispose de la redondance, qui peut être utilisée pour accélérer la formation du Deep Network.

Considérons un exemple.

Il y a le signal ECG avec le taux d'échantillonnage 125 Hz fourni par la base de données Physionet (un filtre 30 Hz a été appliqué):

Astuce pour le prétraitement de l'ECG: les signaux ECG attribuent une valeur de 0 à 100 Hz, mais le filtre passe-bas à 30 Hz peut être appliqué. Il garde les ondes P et T intactes, mais il diminue l'amplitude du pic R de 20 à 30%. Ce n’est pas essentiel pour détecter des anomalies et compter la fréquence cardiaque.

La densité de spectre de puissance de ce signal ressemble à ceci:

Comme indiqué ci-dessus, la majeure partie de l’énergie du signal est concentrée entre 0 et 30Hz. Décimons-le en 80Hz et comparons-le avec le signal original:

Démonstration de l’effet de décimation: signal avec taux d’échantillonnage de 80Hz (haut) et 125Hz (bas)

La forme originale est conservée, mais la longueur totale du signal est réduite de 35%, passant de 92 à 59 échantillons. Cela correspond à une accélération de 35% de l'entraînement sans perte de précision.

La démonstration de l'efficacité de cette approche est illustrée dans mon projet Github.

Remarque importante: assurez-vous que votre décimation ne perd aucun détail supplémentaire pouvant être utilisé pour la reconnaissance. Expérimenter est le seul moyen de prouver. Mais dans la pratique, l'apprentissage de modèles à deux piles (CNN + LSTM) sur des signaux sous-échantillonnés est généralement plus rapide que l'apprentissage d'un modèle avec le taux d'échantillonnage d'origine sans perte de performance.

4. Comprendre les exigences du système

Avant d’essayer des algorithmes de filtrage plus complexes, tels que Wavelette ou adoptive, je vous recommande de comprendre quelles fonctionnalités sont requises pour la reconnaissance.

Voici un exemple.

Envisageons la tâche du modèle d’apprentissage en profondeur est la détection de l’arythmie pendant la marche. En règle générale, les données de marche ECG contiennent du bruit basse fréquence:

Pendant ce temps, le signal ECG clair ressemble à ceci:

Les ondes P et T sont masquées et son extraction n’est pas une mince affaire. Avant d’essayer de développer des algorithmes complexes, voyons ce que l’arythmie est réellement:

Pour la détection d'arythmie, seul le comptage d'impulsions est suffisant pour construire le détecteur efficace, mais il est évident que l'insertion itinérante de base à basse fréquence insère une variété supplémentaire avec violation de la stationnarité.

Différentes parties de l'ECG peuvent attribuer différents domaines du spectre:

Simplement, un simple filtre passe-bande 5–15Hz résout le problème de l'extraction des pics R. En appliquant ce filtre, les ondes P et T sont supprimées (et les anomalies liées à celui-ci ne peuvent pas être reconnues), mais les conditions requises pour le système sont remplies.

La règle principale: plus un algorithme est complexe, moins il est robuste et plus de ressources sont nécessaires pour la mise en œuvre (temps et argent). La filtration numérique la plus simple devrait être la première chose à essayer.

5. Utiliser le principe MiniMax dans le développement des pipelines

Le principe MiniMax est la grande stratégie de la théorie des jeux.

Le principal problème des biosignaux est l'évolution de la qualité des signaux au fil du temps:

  • Cas 1. Haute qualité lors d’une activité faible du sujet:
  • Cas 2. Mauvaise qualité des données lors de déplacements intenses. P et T sont masqués et il n'y a aucun moyen de l'extraire du bruit avec un système à 1 canal:

Dans le premier cas, P, QRS, T sont détectables, cela signifie que la plupart des schémas ECG anormaux (crise cardiaque, fibrillation auriculaire, etc.) pourraient être reconnus.

Pour le second, seules certaines anomalies liées au QRS (arythmie, etc.) pourraient être reconnues.

Comme indiqué ci-dessus, le meilleur moyen d'extraire le QRS est d'appliquer un filtre passe-bande de 5–15Hz, en attendant que P et T soient supprimés.

Dans le cas 2, cela ne sera pas critique car P et T sont masqués par le bruit, mais cela limite le nombre de pathologies détectables possibles tout en offrant des données de haute qualité en entrée.

Le meilleur moyen d’éviter ce problème est d’appliquer un filtre adaptatif, qui modifie sa réponse impulsionnelle à l’environnement en mutation:

L'idée est simple:

  1. Faire détecteur de la qualité des données (détecteurs linéaires / CNN);
  2. Définir un ensemble de filtres;
  3. Définissez une règle de changement de réponse impulsionnelle en fonction de la qualité du signal d'entrée.

6. La façon intelligente d'utiliser les filtres passe-haut

En règle générale, le filtrage passe-haut est nécessaire pour traiter les déplacements de base:

EEG avec bruit de base

L’approche évidente consiste à appliquer le filtre passe-haut. La principale contrainte à cet égard est une fréquence de coupure très basse (0,05 Hz) et une suppression de bande haute élevée (> 30 dB). Afin de répondre aux exigences, le filtre doit avoir un ordre élevé, ce qui signifie un délai long, qui peut ne pas convenir aux applications en temps réel.

Une autre manière:

  • Décimer le signal d'entrée;
  • Extrayez le bruit de base en appliquant un filtre passe-bas avec une fréquence de coupure de 0,05 Hz;
  • Interpoler le signal;
  • Soustraire la ligne de base du signal d'origine

L'exemple de code (Matlab) est disponible dans ce référentiel GitHub.

7. Expérimentation itérative

Comme tout problème lié à Data Science, la classification des biosignaux est un processus expérimental itératif, car différentes approches de filtrage peuvent convenir à différentes applications.

J'ai résumé une courte liste de techniques de filtrage, des plus fiables aux moins efficaces.

REMARQUE: C’est uniquement mon opinion personnelle, cela ne peut pas coïncider avec le vôtre.

  • Filtrage numérique (FIR, IIR). FIR est recommandé en raison de l'absence de distorsions de retard de groupe. Ses performances sont modérées, idéales pour des conditions non spécifiques, très simples à mettre en œuvre et robustes à 100%.
  • Filtrage par ondelettes. Forte performance, mais la réalisation peut être complexe en termes de sélection de paramètres.
  • Filtrage adaptatif. Cette méthode présente des performances plus médiocres que le filtrage de Wavelet, mais elle est beaucoup plus simple pour une implémentation avec une bonne agilité et de bonnes performances.
  • Analyse en composantes indépendantes (ICA) / Séparation en aveugle (BSS). La mise en oeuvre de l'algorithme Fast ICA dans les langages de programmation les plus populaires est disponible ici. Je le recommande d'essayer le dernier, parce que:
  1. Cela fonctionne uniquement avec des configurations multicanaux;
  2. J’ai trouvé la robustesse de cette approche très médiocre car la convergence n’est pas garantie;
  3. Il nécessite relativement plus de ressources de calcul, peut ne pas convenir aux applications en temps réel.

___________________________________________________________________

Vous avez trouvé le papier utile? S'il vous plaît, laissez vos commentaires sur l'article par ce lien

___________________________________________________________________

Dmitrii Shubin, ingénieur R & D, Dispositifs médicaux

Toronto, ON, Canada

Informations de contact:

Courriel: shubin.dmitrii.n@gmail.com

LinkedIn, GitHub