Introduction à la reconnaissance d'images
3 choses à savoir
3 choses à savoir
La reconnaissance d'images est un processus qui consiste à identifier un objet ou une caractéristique dans une image ou une vidéo. Elle est utilisée dans de nombreuses applications telles que la détection de défauts, l'imagerie médicale et la vidéosurveillance.
La reconnaissance d'images peut accélérer les tâches fastidieuses, et traiter les images avec plus de rapidité ou de précision qu'une inspection manuelle. Cette technique est incontournable pour de nombreuses applications. Elle est la principale composante d'applications de Deep Learning telles que :
La reconnaissance d'images est la technologie au cœur de ces applications. Elle identifie des objets ou des scènes dans des images et utilise ces informations pour prendre des décisions au sein de systèmes plus importants. La reconnaissance d'images apporte à ces systèmes des renseignements exploitables qui leur permettent essentiellement de prendre de meilleures décisions.
La reconnaissance d'images et la détection d'objets sont deux techniques similaires souvent utilisées conjointement. La reconnaissance d'images identifie les objets ou les scènes dans des images, tandis que la détection d'objets trouve les instances de ces objets et leurs emplacements dans des images.
Faster R-CNN et YOLOv3 sont des techniques de détection d'objets fréquemment employées.
Reconnaissance d'images (à gauche) et détection d'objets (à droite).
Il existe de nombreuses méthodes permettant d'implémenter la reconnaissance d'images, dont les techniques de Machine Learning et de Deep Learning. Le choix de la technique à utiliser dépend de l'application, mais généralement, plus le problème est complexe, plus il est intéressant d'explorer les techniques de Deep Learning.
La reconnaissance d'images avec le Deep Learning peut nécessiter de passer par un réseau de neurones à convolution pour apprendre automatiquement les caractéristiques pertinentes à partir d'un échantillon d'images et identifier ces caractéristiques dans de nouvelles images.
Voici un workflow de Deep Learning typique pour la reconnaissance d'images :
Préparer les données d'apprentissage : commencez par un ensemble d'images que vous classez par catégories. Cette phase peut inclure des étapes de prétraitement consistant à améliorer la cohérence des images pour que le modèle soit plus précis.
Créer un modèle de Deep Learning : même si vous pouvez créer un modèle de Deep Learning de toutes pièces, il peut être plus intéressant d'utiliser un modèle pré-entraîné comme point de départ pour votre application. (En savoir plus sur les modèles pré-entraînés)
Entraîner le modèle : réaliser l'apprentissage du modèle consiste à lui présenter des données de test. Celui-ci peut ensuite itérer sur ces données plusieurs fois pour apprendre automatiquement les caractéristiques les plus importantes dans les images. Au fil de l'apprentissage, le modèle assimilera des caractéristiques de plus en plus sophistiquées jusqu'à distinguer avec précision les différentes classes d'images dans le jeu d'apprentissage.
Tester : testez le modèle sur des données qu'il n'a pas encore analysées et regardez s'il a bien identifié le contenu des images. Si les résultats ne sont pas à la hauteur de vos attentes, recommencez ces quatre étapes jusqu'à atteindre un niveau de précision acceptable.
Les techniques de Deep Learning peuvent sembler compliquées, mais n'hésitez pas à commencer par des exemples simples pour bien démarrer et vous familiariser avec la technologie.
Conseil : les techniques de Deep Learning sont souvent utilisées pour la reconnaissance d'images, car elles offrent des résultats très précis et robustes. Elles fonctionnent souvent mieux avec un jeu de données d'apprentissage volumineux, et des techniques comme l'apprentissage par transfert peuvent simplifier le workflow de reconnaissance d'images. Deep Learning Toolbox™ propose un environnement pour le design et l'implémentation de réseaux de neurones profonds avec des algorithmes, des modèles pré-entraînés et des applications.
Une approche de Machine Learning pour la reconnaissance d'images consiste à identifier et extraire les caractéristiques clés des images, puis à les utiliser comme entrées dans un modèle de Machine Learning.
Il existe toute une variété d'algorithmes de Machine Learning et de méthodes d'extraction de caractéristiques, ce qui vous laisse le choix entre de nombreuses combinaisons pour créer un modèle précis de reconnaissance d'objets.
Exemple de Machine Learning avec reconnaissance d'images qui classifie des chiffres à l'aide de caractéristiques HOG et d'un classificateur SVM.
Exemple de Machine Learning avec reconnaissance d'images qui classifie des chiffres à l'aide de caractéristiques HOG et d'un classificateur SVM.
Conseil : utiliser le Machine Learning pour la reconnaissance d'objets permet de choisir la meilleure combinaison de caractéristiques et de classificateurs pour l'apprentissage. Cette méthode peut donner des résultats précis avec peu de données. Statistics and Machine Learning Toolbox™ offre des fonctions et des applications pour décrire, analyser et modéliser des données.
Reconnaissance d'images : comparaison entre le Deep Learning et le Machine Learning
Comment choisir entre le Deep Learning et le Machine Learning pour la reconnaissance d'images ? En résumé, la différence est qu'avec le Machine Learning, vous choisissez manuellement les caractéristiques, tandis que le Deep Learning les apprend automatiquement.
Outre le Deep Learning et le Machine Learning, de nombreuses techniques traditionnelles de traitement d'images sont très efficaces pour la reconnaissance d'images dans certaines applications. Ces techniques conviennent généralement mieux à des applications de reconnaissance basée sur les pixels, telles que :
MATLAB® simplifie les étapes complexes de la reconnaissance d'images.
Les données nettoyées et prétraitées maximisent les chances de réussite pour la reconnaissance d'images. Avec l'application Image Labeler, vous pouvez automatiser les phases de recadrage et de labellisation des images.
Les premières fois, il n'est pas toujours évident de choisir entre les techniques de Deep Learning et de Machine Learning. Avec MATLAB, vous avez la possibilité d'essayer toutes les combinaisons d'approches. Explorez les modèles pré-entraînés pour le Deep Learning ou les algorithmes de classification pour le Machine Learning.
Vous pouvez interopérer avec des réseaux et des architectures de réseaux provenant d'environnements tels que TensorFlow™, Keras, PyTorch et Caffe2 en utilisant les fonctionnalités d'importation et d'exportation ONNX™ (Open Neural Network Exchange).
À terme, votre algorithme devra peut-être être déployé en dehors de l'environnement sur ordinateur. MATLAB propose des outils de génération de code pour déployer votre algorithme de reconnaissance d'images n'importe où : sur le web, sur du hardware embarqué ou sur des serveurs de production.
Après avoir créé vos algorithmes, vous pouvez utiliser les workflows automatisés pour générer du code TensorRT ou CUDA® avec GPU Coder™ pour les tests en mode Hardware-in-the-Loop. Le code généré peut être intégré à des projets existants et utilisé pour vérifier les algorithmes de détection d'objets sur des GPU d'ordinateurs ou de systèmes embarqués, comme la plateforme NVIDIA® Jetson ou NVIDIA Drive.
Développez vos connaissances grâce à la documentation, aux exemples, aux vidéos et plus encore.
Explorez des sujets similaires pour lesquels on utilise couramment les produits MATLAB et Simulink.
Sélectionner un site web
Choisissez un site web pour accéder au contenu traduit dans votre langue (lorsqu'il est disponible) et voir les événements et les offres locales. D’après votre position, nous vous recommandons de sélectionner la région suivante : .
Vous pouvez également sélectionner un site web dans la liste suivante :
Comment optimiser les performances du site
Pour optimiser les performances du site, sélectionnez la région Chine (en chinois ou en anglais). Les sites de MathWorks pour les autres pays ne sont pas optimisés pour les visites provenant de votre région.
Amériques
Europe