Dépasser les bases de la détection d'anomalies en vision par ordinateur

Dépasser les bases de la détection d'anomalies en vision par ordinateur
Source : Pexels

Une anomalie est une valeur aberrante ou tout ce qui s'écarte du contenu normal des données d'une image. L'objectif de la détection d'anomalies dans le domaine de la vision par ordinateur est de détecter si une image ou une trame vidéo contient une valeur aberrante ou s'écarte de la normale. Elle s'appuie sur des techniques avancées de deep-learning pour parvenir à ces résultats.

La détection d'anomalies dans le domaine de la computer vision peut être réalisée à l'aide d'un apprentissage supervisé ou non supervisé. Bien qu'il soit possible d'utiliser des techniques d'apprentissage supervisé pour effectuer la détection d'anomalies, elles constituent une solution intrinsèquement handicapée pour cette tâche, étant donné que les ensembles de données d'entraînement pour les cas d'utilisation de la détection d'anomalies ont tendance à avoir des classes de labels déséquilibrées.

Heureusement, la vision par ordinateur est plus efficace avec les techniques de deep learning. La combinaison de l'apprentissage non supervisé et des techniques de deep learning telles que les réseaux neuronaux convolutifs (CNN), les auto-encodeurs, etc. est une bonne option. Le type d'approche que vous choisissez dépend principalement du dataset de donnés et de l'objectif de la détection d'anomalies.

La détection d'anomalies à l'aide de la vision par ordinateur a plusieurs applications :

  • Sécurité et surveillance
  • Programmation de véhicules autonomes
  • Détection d'anomalies dans l'imagerie médicale
  • Entretien des bâtiments et suivi des stocks
  • Monitoring des linéaires dans le commerce de détail
  • Pilotage du contrôle qualité sur les chaînes de production

Comment démarrer avec la détection d'anomalies computer vision ?

La détection d'anomalies dans les images ne doit pas être considérée comme une tâche herculéenne. Il suffit généralement de comprendre les bases de vision par ordinateur et la tâche à accomplir. La détection d'anomalies dans la vision par ordinateur a de nombreux cas d'utilisation et d'innombrables applications dans notre vie quotidienne, dont certaines sont encore en cours de découverte.

Par exemple, une société pharmaceutique peut introduire un modèle de détection d'anomalies dans son pipeline de computer vision afin d'automatiser l'identification des médicaments défectueux ou inadmissibles à la consommation. Pour chaque cas d'utilisation ou scénario de détection d'anomalie, vous devez généralement suivre les étapes suivantes :

  1. Compréhension du problème : Les stratégies de mise en œuvre varient selon les problèmes, et il est essentiel de comprendre quelle stratégie est la plus efficace pour une tâche donnée afin de réussir la détection d'anomalies. Un algorithme qui fonctionnerait mieux sur un ensemble de données tabulaires pourrait être moins performant sur un ensemble de données d'images.
  1. Pré-traitement des données : Le dataset doit être traité pour tout projet de données afin de préparer l'entraînement du modèle. Le pré-traitement vise à gérer les données manquantes, les incohérences, les déséquilibres, la mise à l'échelle, etc.
  1. Ingénierie des fonctionnalités : Le dataset pré-traité doit être soumis à une ingénierie des fonctionnalités et divisé en un dataset d'images de test et d'entraînement.
  1. Sélection et entraînement des modèles : La sélection du modèle est une autre partie importante du développement d'un modèle de détection d'anomalies. Vous devrez souvent expérimenter plusieurs techniques de deep learning pour trouver le meilleur modèle pour votre dataset.
  1. Évaluation du modèle : L'évaluation du modèle fournit des informations sur les performances du modèle. Le modèle de deep-learning entraînés doit être évalué à l'aide des images de test de l'ingénierie des fonctionnalités.
  1. Sélection du seuil : Un seuil peut être considéré comme le facteur décisif. Si le seuil est trop élevé, le modèle peut classer certaines photos normales comme des anomalies et d'autres comme normales. Les seuils sont souvent sélectionnés sur la base de recherches statistiques, de connaissances du domaine ou de tests.
  1. Déploiement du modèle : Il s'agit de l'étape finale du processus de détection des anomalies. À ce stade, le modèle final est déployé en production, afin de pouvoir réaliser des inférences. Vous aurez besoin de monitoring supplémentaire et d'une maintenance périodique du modèle.

Détecter les anomalies dans une botte de foin de données

Bien que la détection d'anomalies dans les données volumineuses (BIG DATA) puisse sembler insurmontable, de nombreux algorithmes et techniques ont été développés pour aider les ingénieurs en intelligence artificielle et en machine learning à mettre en œuvre la détection d'anomalies dans le domaine de la vision par ordinateur.

  1. Estimation de la densité : L'estimation de la densité utilise le contexte de l'échantillon et les densités des voisins pour estimer les anomalies. Un modèle de distribution de probabilité des photos est appliqué dans ce cas. Ce modèle fait correspondre la distribution de chaque photo normale à une seule case. Tout ce qui se trouve en dehors de cette plage est considéré comme une anomalie. Cette stratégie nécessite une énorme quantité d'images d'entraînement. Les modèles génératifs profonds peuvent aider à surmonter cette limitation des données.
  1. Classification à classe unique : Comme leur nom l'indique, les classificateurs à classe unique sont des modèles de classification formés pour identifier une seule classe. Tout ce qui se situe en dehors du seuil de décision de cette classe unique est qualifié d'anomalie. Cette méthode permet de surmonter la limitation des données de l'estimation de la densité, car elle ne nécessite qu'une petite quantité de données pour l'apprentissage. La machine à vecteur de support (SVM) à classe unique en est un bon exemple.
  1. Reconstruction d'images : Cette approche attribue une erreur faible aux images normales et une erreur élevée aux images anormales. Ce faisant, elle reconstruit les anomalies pour générer des images plus normales. Les autoencodeurs sont un algorithme couramment utilisé pour la reconstruction d'images. Un autoencodeur est un réseau neuronal artificiel largement utilisé dans la détection d'anomalies en raison de sa capacité à apprendre des représentations de données et à reconstruire des données avec précision. Dans la détection d'anomalies par vision par ordinateur, les autoencodeurs sont formés sur un ensemble de données d'images régulières. Au cours de la formation, le modèle apprend à coder et à décoder les instances régulières. Vous pouvez ensuite identifier les anomalies en observant les erreurs de reconstruction du modèle.
  1. Classification autosupervisée : Elle repose sur le principe des modèles d'auto-apprentissage. Les modèles extraient les caractéristiques essentielles des données d'image données sans supervision. Ces modèles peuvent ensuite distinguer les images normales des images anormales en apprenant la position, la direction et la forme de diverses caractéristiques ou objets dans l'image.

Techniques de traitement des données déséquilibrées dans la détection des anomalies

  1. Augmentation des données : L'augmentation des données utilise des techniques de manipulation des données telles que le cisaillement, la rotation, la coloration et le bruit pour augmenter la taille d'un petit ensemble de données. L'augmentation des données est utile lorsqu'il s'agit de traiter des données déséquilibrées. Avec l'augmentation des données, une image unique peut devenir dix exemples en transformant certaines caractéristiques clés.

    En supposant qu'un ingénieur en machine learning tente de construire un modèle capable de détecter les mains en temps réel, il devra s'approvisionner en images de mains de différents emplacements, nuances, cisaillements et couleurs pour construire un modèle robuste qui ne sera pas surajouté. L'un des moyens d'obtenir un vaste ensemble d'images est de l'augmenter. Ainsi, chaque image peut être cisaillée et transformée pour s'adapter à chaque cas d'utilisation.
L'image ci-dessus compare l'image originale avec quatre (4) autres variations augmentées de la même vérité terrain.

  1. Pondération par classe : Des poids différents sont attribués aux différentes classes dans le cadre de la pondération par classe. Lorsqu'un dataset comporte davantage de caractéristiques concentrées dans une seule classe, vous pouvez remédier au déséquilibre des données en augmentant les poids de la classe minoritaire et en réduisant les poids de la classe la plus peuplée. La pondération par classe est optimale lorsqu'un modèle est formé pour identifier une seule classe (détection d'anomalies).
  1. Classification hiérarchique : Cette méthode de classification utilise un système hiérarchique prédéterminé pour classer les données. Par exemple, si vous disposez d'un dataset sur les vêtements, la première hiérarchie pourrait être "tissu", suivie du type de tissu, qui pourrait être "chemise" ou "robe". Dans ce cas, plusieurs modèles sont entrâinés à différentes hiérarchies et combinés pour donner la prédiction finale. La classification hiérarchique est utilisée pour classer des données déséquilibrées car elle améliore la précision globale des modèles d'apprentissage automatique.
Exemple de classification hiérarchique

Avantages de la vision par ordinateur pour la détection d'anomalies

  1. Détection des pannes en temps réel : En utilisant la vision par ordinateur pour la surveillance des installations, les travailleurs n'ont pas besoin d'être sur place pour surveiller les équipements ; les modèles de détection d'anomalies peuvent détecter et signaler les défauts en temps réel.
  1. Maintenance prédictive : La détection des anomalies peut aider les entreprises à entretenir leurs installations de manière proactive. À long terme, les petites défaillances susceptibles d'entraîner des problèmes plus importants sont détectées en tant qu'anomalies et traitées de manière proactive.
  1. Évolutivité et efficacité : Les modèles de détection d'anomalies sont faciles à mettre à l'échelle et très efficaces pour de nombreux scénarios d'utilisation. Les systèmes de vision par ordinateur peuvent être facilement mis à l'échelle pour analyser simultanément de nombreuses images ou flux vidéo.
  1. Réduction des faux positifs : Les modèles de détection des anomalies réduisent les faux positifs dans les modèles car ils ne contiennent qu'une seule classe.
  1. Amélioration de la sûreté et de la sécurité : Les modèles de détection d'anomalies peuvent améliorer la sûreté et la sécurité en appliquant des techniques avancées de surveillance informatique pour détecter les valeurs aberrantes.

Les progrès futurs du machine learning pour les modèles de détection des anomalies

Le deep learning est au cœur de la détection d'anomalies par computer vision. Des avancées technologiques sont en cours pour développer un modèle hybride qui combine différents modèles afin d'augmenter la précision de détection d'anomalies. Ce type de modèle est encore en cours de développement, mais il peut potentiellement changer profondément le domaine de la détection d'anomalies à l'aide de la vision par ordinateur.

Aujourd'hui, les modèles de détection d'anomalies sont proactifs car ils signalent les anomalies avant que des défauts plus importants ne surviennent. À l'avenir, les modèles de détection d'anomalies seront moins affirmatifs et plus réactifs. Ils pourraient répondre aux défaillances et les éliminer au fur et à mesure qu'elles surviennent.

Gérez vos données d'IA de la bonne manière

Obtenir un essai

Recommandé pour vous:

english language
EN
french language
FR