Reconnaissance de formes

Reconnaissance de formes

La reconnaissance de formes désigne le processus de classification des données d’entrée en objets, classes ou catégories à l’aide d’algorithmes informatiques basés sur des caractéristiques clés ou des éléments réguliers. La reconnaissance de formes possède des applications dans la Computer Vision, la segmentation d’images, la détection d’objets, le traitement de données radar, la reconnaissance vocale et la classification de texte, entre autres domaines.

Il existe deux méthodes de classification en reconnaissance de formes : la classification supervisée et la classification non supervisée. Pour mettre en œuvre la reconnaissance de formes supervisée, vous devez disposer d'un grand ensemble de données labellisées. Dans le cas contraire, vous pouvez essayer de recourir à une approche non supervisée.

Reconnaissance de formes à l’aide du Machine Learning et du Deep Learning

Avec MATLAB®, vous pouvez utiliser des techniques de Machine Learning ou de Deep Learning dans des applications de reconnaissance de formes.

Une approche de Machine Learning consiste à préparer vos données, à en extraire manuellement des caractéristiques permettant de différencier des classes et à entraîner un modèle de Machine Learning à la classification d’objets. Parmi les techniques et modèles de Machine Learning courants dans le domaine de la détection d’objets, on peut citer l'algorithme ACF (Aggregate Channel Features), la classification SVM à l’aide des caractéristiques des histogrammes de gradient orienté (HOG), et Viola-Jones. Ces méthodes sont toutes disponibles dans MATLAB®.

Une approche de Deep Learning consiste à préparer vos données et à entraîner le réseau de neurones profonds, puis à tester le modèle ainsi entraîné sur de nouvelles données. Les modèles de Deep Learning couramment utilisés pour la reconnaissance de formes sont R-CNN et YOLO v2, lesquels sont également disponibles dans MATLAB. Ces dernières années, les approches de Deep Learning sont devenues plus populaires que celles de Machine Learning.

Les principales différences entre les approches de Machine Learning et Deep Learning sont que les modèles de Deep Learning nécessitent de plus grands ensembles de données et plus de temps d’apprentissage, tandis que les modèles de Machine Learning peuvent être entraînés avec des ensembles de données plus petits et sont souvent plus faciles à interpréter et à débugguer s'ils ne fonctionnent pas comme prévu. Cependant, les modèles de Machine Learning offrent une précision moindre par rapport à un modèle de Deep Learning entraîné sur un large ensemble de données labellisées.

Une application courante de la reconnaissance de formes en ingénierie est la détection de défauts lors de la phase de fabrication. Elle permet d'améliorer la qualité des produits tout en réduisant les coûts de production dans les applications industrielles. La figure ci-dessous montrent comment les entreprises utilisent des techniques basées sur la vision avec MATLAB pour détecter les défauts en trois étapes et de manière efficace : capture et traitement d’images pour gagner en qualité, suivis d’une modélisation de l’IA permettant de classifier un objet comme bon ou défectueux.

Application de l’inspection optique utilisant la reconnaissance de formes pour vérifier les défauts des pièces fabriquées.

Application de l’inspection optique utilisant la reconnaissance de formes pour vérifier les défauts des pièces fabriquées.

Classification supervisée

Les méthodes de classification supervisée de la reconnaissance de formes appliquent des algorithmes d’apprentissage supervisé aux données d’entrée, en associant des données d’apprentissage labellisées manuellement aux résultats souhaités.

En Computer Vision, les techniques de reconnaissance de formes supervisée sont utilisées pour la reconnaissance optique de caractères (OCR), la détection et la classification d’objets.

Panneau stop (à gauche) et labélisation automatisée des pièces dans une usine de traitement du gaz (à droite).

Panneau stop (à gauche) et labélisation automatisée des pièces dans une usine de traitement du gaz (à droite).

Classification non supervisée

Le principe des méthodes de classification non supervisée  consiste à trouver des structures cachées dans des données non labellisées en utilisant des techniques de segmentation ou de clustering. Voici quelques-unes des méthodes de classification non supervisées les plus courantes :

  • Le clustering k-means
  • Les modèles de mélange gaussien
  • Les chaînes de Markov cachées

Les techniques de reconnaissance de formes non supervisée sont également utilisées pour la détection d'objets et la segmentation d'images, en particulier dans les tâches pour lesquelles il est difficile d'obtenir suffisamment de données labellisées pour appliquer la détection et la classification supervisée des objets.

Détection d’objets en mouvement par la classification des pixels d’une image entre le premier plan (pixels blancs) et l’arrière-plan (pixels noirs) à l’aide de modèles de mélange gaussien.

Détection d’objets en mouvement par la classification des pixels d’une image entre le premier plan (pixels blancs) et l’arrière-plan (pixels noirs) à l’aide de modèles de mélange gaussien. Pour plus d’informations, consultez l’exemple .

Segmentation d’images basée sur les couleurs s’appuyant sur le clustering k-means.

Segmentation d’images basée sur les couleurs s’appuyant sur le clustering k-means.

Pour en savoir plus sur l’utilisation de la reconnaissance de formes dans votre application, consultez Computer Vision Toolbox™Image Processing Toolbox™ et Statistics and Machine Learning Toolbox™, lesquelles peuvent être exploitées avec MATLAB.

Voir aussi: MATLAB pour le Deep Learning, détection d’objets, reconnaissance d'objets, reconnaissance d'images, segmentation d’images, inspection visuelle, en savoir plus sur l’extraction de caractéristiques, Machine Learning, vidéos de reconnaissance de formes, traitement de nuages de points, Deep Learning, Computer Vision