Table of Contents
Introduction: La nécessité d'une estimation robuste dans le traitement des données des capteurs
Les données de capteurs constituent l'épine dorsale des systèmes d'ingénierie modernes, depuis les véhicules autonomes et l'automatisation industrielle jusqu'à la surveillance de l'environnement et au diagnostic médical. Pourtant, les lectures brutes de capteurs sont rarement parfaites. Elles arrivent contaminées par le bruit électronique, les interférences environnementales, la dérive matérielle et les aberrations brutes occasionnelles causées par des problèmes de capteurs ou des décrochages de communications.
Dans une usine de fabrication, un seul pic de capteur peut déclencher une fausse alarme qui ferme une ligne de production. Dans un système de navigation de drone, quelques lectures GPS corrompues peuvent faire perdre le chemin du véhicule. En mettant en œuvre des techniques telles que les estimateurs M, RANSAC et le filtrage solide Kalman au sein de MATLAB, les ingénieurs peuvent créer des estimateurs qui fournissent des résultats précis et stables même lorsque les données du capteur sont loin d'être idéales.
Comprendre les défis des données de capteurs du monde réel
Avant de plonger dans la conception d'algorithmes, il est important de caractériser les types de corruption que les données de capteur présentent habituellement.Les trois principaux défis sont le bruit, les aberrations et la non-stationarité.
Bruit
Le bruit est une source typique de bruit. Bien que le bruit puisse souvent être modélisé comme un bruit gaussien à moyenne nulle, le bruit réel présente parfois des queues plus lourdes ou des composants périodiques. Les algorithmes robustes doivent maintenir des performances raisonnables même lorsque la distribution du bruit s'écarte du modèle supposé.
Amortisseurs
Les valeurs extrêmes peuvent être obtenues par saturation du capteur, erreurs de transmission de bits ou perturbations environnementales transitoires (par exemple, réflexion lidar d'une particule de poussière). Les valeurs extrêmes sont particulièrement dangereuses parce qu'elles peuvent complètement fausser l'estimation si l'algorithme leur donne le même poids que les observations régulières.
Non-stationnaire et comportement variable dans le temps
Les caractéristiques du capteur peuvent changer au fil du temps en raison de la dérive de température, des composants vieillissants ou des changements d'étalonnage. De plus, le processus physique sous-jacent mesuré peut présenter des changements soudains.
La première étape consiste à comprendre les principes clés sur lesquels reposent les algorithmes d'estimation robustes pour les surmonter.
Principes clés de l'estimation robuste
Une estimation robuste est un champ construit sur plusieurs idées de base qui permettent aux algorithmes de résister à l'influence négative des irrégularités de données. Les trois principes les plus importants sont la résistance aberrante, la tolérance au bruit et l'adaptabilité.
Résistance plus lointaine
Un algorithme est plus résistant s'il peut ignorer ou minimiser efficacement l'influence des points de données anormales. Ceci est obtenu par des stratégies telles que:
- L'influence d'une observation sur l'estimation diminue à mesure que son résiduel (erreur) devient très important, passant finalement à zéro.
- Echantillonnage aléatoire par consensus:[ Au lieu d'utiliser tous les points de données, l'algorithme échantillonne à plusieurs reprises des sous-ensembles qui sont susceptibles d'être propres, en adapte un modèle à chaque fois et en sélectionnant celui supporté par les plus inducteurs.
- Trimming ou Winsorizing:[ Les résidus extrêmes sont soit rejetés, soit clipsés à une valeur seuil avant que l'estimation ne soit calculée.
Tolérance au bruit
La tolérance au bruit fait référence à la capacité de l'algorithme à produire des estimations précises même lorsque le rapport signal-bruit est faible.
- Les observations sont pondérées inversement avec une estimation de leur variance, donnant plus de poids à des mesures moins bruyantes.
- Regularisation: Ajouter un terme de pénalité au problème d'optimisation peut stabiliser les estimations en présence de bruit élevé.
- Les contraintes d'état:[ L'incorporation de limites physiques connues (par exemple accélération maximale) peut filtrer des valeurs peu plausibles causées par le bruit.
Capacité d'adaptation
Les estimateurs adaptables peuvent ajuster leurs paramètres ou leur structure en fonction des caractéristiques des données qui changent au fil du temps.
- Poids adaptatifs: Les poids sont mis à jour par itératif en fonction des résidus actuels, de sorte que les valeurs aberrantes nouvellement apparues sont pondérées en fonction de la valeur.
- Filtration récursive:[ Les filtres Kalman et les estimateurs récursifs similaires peuvent être rendus robustes en modifiant l'étape de mise à jour pour tenir compte des innovations non gaussiennes.
- Détection de changement: Les algorithmes peuvent détecter lorsque le processus de génération de données se déplace, puis réinitialiser ou réinitialiser des parties de l'estimateur.
Compte tenu de ces principes, nous pouvons maintenant étudier comment les mettre en œuvre concrètement dans le MATLAB.
Mise en œuvre d'algorithmes d'estimation robuste dans le MATLAB
MATLAB fournit un écosystème riche pour développer des estimateurs robustes, des fonctions de boîte à outils intégrées à un code personnalisé flexible. Le choix de l'algorithme dépend des caractéristiques spécifiques des données de capteur et des exigences d'application.
M-Estimateurs pour la régression robuste
Les indicateurs M sont une classe de techniques de régression robustes qui remplacent la fonction de coût quadratique des moindres carrés ordinaires par une fonction qui croît plus lentement pour les résidus de grande taille. Les choix courants incluent la fonction de perte Huber (quadratique pour les résidus de petite taille, linéaire pour les résidus de grande taille) et la perte bicarré Tukey (qui se décroît puis diminue).
mdl = fitlm(X, y, 'RobustOpts', 'bisquare');
Cela s'adapte à un modèle linéaire en utilisant les moindres carrés (IRLS) repondés par itérative avec la fonction de poids bicarré. Vous pouvez également mettre en œuvre des estimateurs M personnalisés en écrivant vos propres fonctions de poids et itératifs jusqu'à la convergence. Les étapes clés sont:
- Initialiser en utilisant des moindres carrés ordinaires.
- Calculer les résidus et l'écart type (par exemple, en utilisant l'écart absolu médian pour la robustesse).
- Calculer les poids en fonction de la fonction d'influence choisie.
- Résoudre le problème des moindres carrés pondérés.
- Répéter les étapes 2-4 jusqu'à ce que les estimations des paramètres se stabilisent.
Les amortisseurs M fonctionnent bien lorsque la majorité des données sont propres et que le nombre d'aberrations est modéré. Ils sont efficaces sur le plan informatique et largement utilisés dans les tâches d'étalonnage et de fusion des données.
RANSAC pour les données à dominance externe
RANSAC (Random Sample Consensus) est idéal lorsque la fraction d'inducteurs est faible, par exemple dans l'enregistrement de nuages lidar point ou SLAM visuel où les aberrations (par exemple, des objets en mouvement) peuvent être nombreuses. MATLAB , la boîte à outils de vision informatique fournit des fonctions telles que pour les modèles personnalisés et pour les transformations géométriques. L'algorithme fonctionne comme suit:
- Choisir aléatoirement un sous-ensemble minimal de points nécessaires pour s'adapter au modèle (p. ex. 2 points pour une ligne).
- Adapter le modèle à ce sous-ensemble.
- Compter le nombre de points de données qui sont d'accord avec le modèle dans le cadre d'une tolérance donnée (l'ensemble de consensus).
- Répétez les étapes 1 à 3 plusieurs fois.
- Sélectionnez le modèle avec le plus grand ensemble de consensus et éventuellement l'affiner en utilisant tous les nombres.
MATLAB vous permet de définir vos propres et pour appliquer RANSAC à tout problème d'estimation. Par exemple, pour estimer une ligne à travers des points 2D avec de nombreux aberrations:
params = ransac(pts, @fitLine, @evalLine, ...);
RANSAC est robuste à une très forte proportion de valeurs aberrantes, jusqu'à 50% ou plus, mais il est calculablement intensif et nécessite un réglage du seuil et du nombre d'itérations.
Filtres robustes Kalman pour données de capteur de série chronologique
Pour les applications en temps réel comme la fusion GPS/IMU ou le suivi des cibles, le filtre Kalman est un outil standard. Cependant, le filtre Kalman classique suppose le bruit gaussien et est très sensible aux valeurs aberrantes. Les variantes robustes traitent cela en modifiant l'étape de mise à jour de mesure.
- Cartouche Kalman à base de huber:[ Remplace le coût de l'innovation quadratique par une perte Huber, réduisant efficacement les grandes innovations.
- Students t-distribution filtrant: Hypothèse de bruit de processus et de mesure à queue lourde, en utilisant une approche bayésienne variable pour mettre à jour les paramètres d'état et de bruit.
- Rejet aberrant adaptatif : Calculer la distance Mahalanobis de l'innovation; si elle dépasse un seuil, soit rejeter la mesure ou gonfler sa covariance.
MATLAB ne fournit pas de filtre Kalman robuste intégré, mais vous pouvez en implémenter un en étendant les objets ou . Par exemple, une mise à jour simplifiée basée sur Huber peut être codée comme suit :
function [x, P] = robustUpdate(x_pred, P_pred, z, H, R, threshold)
S = H * P_pred * H' + R;
K = P_pred * H' / S;
innov = z - H * x_pred;
% Compute weight using Huber
w = huberWeight(innov, S, threshold);
x = x_pred + K * (w .* innov);
P = (eye(n) - K * H) * P_pred;
end
Ce type de filtre est robuste contre les mauvaises mesures occasionnelles tout en conservant l'efficacité récursive nécessaire pour l'estimation en ligne.
Méthodes robustes supplémentaires
Au-delà des trois familles principales, MATLAB soutient d'autres techniques robustes :
- Filtres médians:Filtres non linéaires qui remplacent chaque point par la médiane de ses voisins; excellent pour l'élimination du bruit d'impulsion. Les MATLAB=] et sont simples à utiliser.
- Estimateur de la courbe:[ Méthode de régression robuste non paramétrique qui calcule la médiane des pentes à travers toutes les paires de points. Il est très résistant aux valeurs aberrantes et ne nécessite aucun réglage. Implémentable par la fonction de la boîte à outils de statistiques.
- La régression L1 (les moins grands écarts absolus):[ Minimise la somme des résidus absolus au lieu des résidus carrés. MATLAB=] avec et peut être approximative de L1, ou vous pouvez utiliser des résolveurs d'optimisation comme avec un coût L1.
Meilleures pratiques pour concevoir des estimations robustes
La mise en œuvre d'un algorithme robuste n'est que la moitié de la bataille. Pour s'assurer qu'il fonctionne de manière fiable dans la pratique, suivez ces meilleures pratiques.
Données du capteur préprocess
Effectuez toujours des contrôles de qualité de base avant de nourrir les données dans un estimateur.
- Vérification de la portée :[ Jeter les valeurs qui sortent des limites physiquement possibles.
- Limitation du taux de changement: Rejeter les pics qui impliquent des dérivés invraisemblables.
- Manipulation de données manquantes:[ Interpoler ou sauter les observations manquantes de façon appropriée.
- Normalisation: Échelle des variables à des grandeurs semblables pour améliorer la stabilité numérique.
Choisissez le niveau de robustesse approprié
Une légère perte de Huber peut suffire pour les flux de capteurs bruyants mais rarement corrompus, alors qu'une approche RANSAC est nécessaire lorsque les valeurs aberrantes sont fréquentes. Considérez le budget de calcul : les méthodes robustes sont généralement plus lentes que leurs homologues non-robustes.
Paramètres de l'accord soigneusement
Les algorithmes robustes ont des paramètres de réglage, par exemple le seuil plus bas du RANSAC, la coupure Huber dans les estimateurs M ou le seuil de gingingage d'innovation dans les filtres Kalman robustes. Ceux-ci doivent être choisis en fonction de la magnitude sonore attendue et des caractéristiques plus aberrantes.
Valider avec les données simulées et réelles
Avant de déployer, tester rigoureusement l'estimateur en utilisant:
- Données de synthèse:[ Générer la vérité au sol plus le bruit contrôlé et les valeurs aberrantes pour vérifier l'exactitude et le point de panne.
- Données historiques: Exécutez l'algorithme sur les journaux de capteurs archivés où des valeurs aberrantes sont connues.
- Tests Monte Carlo:[ Répétez plusieurs réalisations aléatoires pour estimer les biais, la variance et les taux d'échec.
Surveiller les performances en ligne
Dans les systèmes de production, surveiller en permanence les paramètres clés tels que les résidus, les séquences d'innovation et les limites d'état estimées. Si l'estimateur commence à se dégrader (p. ex., les résidus deviennent de façon persistante de grandes quantités), une couche de supervision peut déclencher une réinitialisation ou un changement de mode.
Applications et études de cas dans le monde réel
Une estimation robuste dans le MATLAB est appliquée dans de nombreux domaines. Voici trois exemples.
Localisation autonome des véhicules
Dans les voitures autoconduites, la fusion des capteurs combine GPS, IMU, odométrie de roue et lidar. Les signaux GPS peuvent être bloqués ou multipath-prone, les scans lidar contiennent des réflexions d'objets en mouvement, et la dérive IMU s'accumule. Un filtre Kalman étendu robuste (EKF) avec gatting et pondération adaptative est utilisé pour rejeter les mesures anormales. MATLAB , Navigation Toolbox fournit un cadre pour la conception de tels filtres, et les ingénieurs les testent souvent en utilisant l'exemple MATLAB estimation de l'état robuste pour la localisation du véhicule. Cette approche garantit que quelques mauvaises mesures ne font pas perdre de vue le véhicule.
Entretien prédictif industriel
Les capteurs de vibration sur les machines tournantes collectent des données pour détecter les défauts. Des valeurs aberrantes peuvent être obtenues par coupure de capteur ou par chocs transitoires. Un estimateur spectral robuste (par exemple, en utilisant le périodogramme médian) peut extraire de vraies fréquences de vibrations malgré ces anomalies. MATLAB=S Signal Processing Toolbox comprend les fonctions et qui peuvent être adaptées avec un prétraitement robuste.
Réseaux de capteurs environnementaux
Un algorithme d'assimilation des données robuste basé sur un filtre Kalman avec détection aberrante peut produire des cartes spatiales précises même lorsque 20% des capteurs signalent des valeurs corrompues. Des chercheurs de l'Université de Californie ont démontré de telles approches en utilisant MATLAB, en tirant parti des capacités de régression robuste de la boîte à outils de statistiques et d'apprentissage automatique pour gérer l'interpolation spatiale avec des valeurs aberrantes.
Conclusion
Une estimation robuste n'est pas un luxe, c'est une exigence pour tout système qui doit fonctionner de manière fiable dans la réalité messeuse et imparfaite des données de capteurs. En comprenant les types de corruption que les capteurs produisent et en appliquant les principes de résistance aberrante, de tolérance au bruit et d'adaptabilité, les ingénieurs peuvent concevoir des algorithmes qui fournissent des estimations fiables. MATLAB offre une plateforme puissante pour ce travail, offrant à la fois des fonctions prêtes à fonctionner pour des méthodes robustes communes et la flexibilité pour mettre en œuvre des solutions personnalisées. La famille M-estimator offre un bon point de départ pour de nombreux problèmes, RANSAC gère des scénarios à haut rendement et des filtres robustes Kalman maintiennent la stabilité des systèmes en temps réel.
Pour approfondir vos connaissances, explorez la documentation officielle du MATLAB sur régression de la croûte et l'algorithme RANSAC. De plus, l'exemple Estimation de l'état de la croûte pour la localisation des véhicules fournit une passerelle pratique.