Partager via


Classification d'images en cascade préformée

Important

Le support de Machine Learning Studio (classique) prend fin le 31 août 2024. Nous vous recommandons de passer à Azure Machine Learning avant cette date.

À partir du 1er décembre 2021, vous ne pourrez plus créer de nouvelles ressources Machine Learning Studio (classique). Jusqu’au 31 août 2024, vous pouvez continuer à utiliser les ressources Machine Learning Studio (classique) existantes.

La documentation ML Studio (classique) est en cours de retrait et ne sera probablement plus mise à jour.

Crée un modèle de classification d'image préformé pour des faces frontales à l'aide de la bibliothèque OpenCV

Catégorie : Modules de la bibliothèque OpenCV

Notes

s’applique à: Machine Learning Studio (classic) uniquement

Des modules par glisser-déposer similaires sont disponibles dans Concepteur Azure Machine Learning.

Vue d’ensemble du module

cet article explique comment utiliser le module de Classification d’images en Cascade préformé dans Machine Learning Studio (classic) pour détecter les visages dans les images.

Le modèle est basé sur la bibliothèque OpenCV . La bibliothèque OpenCV fournit une liste de modèles prédéfinis, chacun étant optimisé pour détecter un type d’objet particulier.

En savoir plus sur le modèle pré-formé

Ce modèle de reconnaissance d’images a déjà été formé sur un corpus important d’images qui est largement utilisé pour les tâches de reconnaissance d’image. Ce modèle de classification particulier a été optimisé pour la détection faciale et utilise l’algorithme de détection d’objets Viola-Jones. L’objectif du modèle est d’identifier les images qui contiennent un visage humain dans la vue frontale.

Bien qu’actuellement, un seul modèle de classification d’image OpenCV soit fourni, des modèles préformés supplémentaires peuvent être disponibles dans les versions ultérieures.

Utilisation d’un modèle pré-formé

Si vous avez un ensemble d’images que vous souhaitez analyser, vous les fournissez comme entrée au module noter le modèle comme décrit dans cette rubrique, puis attachez ce module, qui fournit le modèle de bibliothèque OpenCV préformée.

Le module noter le modèle utilise le modèle de classification d’image pour déterminer si l’image contient un visage humain et retourne un score de probabilité pour chaque image utilisée comme entrée.

Les modèles basés sur la classification d’images en cascade préformée ne peuvent pas être reformés sur les nouvelles données d’image.

Le format dans lequel le modèle est stocké est incompatible avec les modules former le modèle et effectuer la validation croisée du modèle.

Comment configurer la classification d’images en cascade préformée

le modèle de classification d’image de Machine Learning a déjà été formé à l’aide d’un jeu de données volumineux et est optimisé pour un type d’image spécifique. Par conséquent, il vous suffit de fournir un ensemble d’images en tant que jeu de données de notation. En sortie, le module génère un score qui indique si chaque image contient le type d’image cible.

  1. Préparez et importez le jeu de données d’images que vous prévoyez d’utiliser dans le calcul de score. En général, toutes les images du jeu de données doivent avoir la même taille.

    Vous ajoutez les images à votre expérience à l’aide du module importer des images . Lisez l’aide pour importer des images de près pour vous assurer que les images que vous utilisez répondent à la configuration requise. Vous devez également vous assurer que les images sont accessibles dans l’option de stockage définie.

  2. Ajoutez le module de classification d’images en cascade préformé à votre expérience dans Studio (Classic). Vous pouvez trouver ce module dans la catégorie bibliothèque OpenCV .

  3. Sélectionnez l’un des classifieurs préformés dans la liste du classifieur pré-formé.

    Actuellement, un seul classifieur est disponible : face frontale, qui est sélectionné par défaut.

  4. Facteur d’échelle: tapez une valeur qui spécifie la réduction de la taille de l’image à chaque échelle de l’image.

    Dans la bibliothèque OpenCV, le classifieur est conçu de manière à pouvoir être facilement redimensionné afin de pouvoir trouver les objets intéressants à des tailles différentes. Cela est plus efficace que le redimensionnement de l’image elle-même. Par conséquent, pour rechercher un objet d’une taille inconnue dans l’image, la procédure d’analyse doit être effectuée plusieurs fois à des échelles différentes.

    Nous vous recommandons d’essayer différents facteurs de mise à l’échelle pour voir lequel fournit les meilleurs résultats de classification d’image.

  5. Nombre minimal de voisins: tapez un nombre entier qui représente le nombre minimal de rectangles qui se chevauchent qui sont requis pour détecter qu’un visage est inclus dans une région.

    Dans la bibliothèque OpenCV, le classifieur détecte les objets de différentes tailles dans l’image d’entrée. Les objets détectés sont retournés sous la forme d’une liste de rectangles. Le paramètre Neighbors contrôle le nombre de correspondances possibles requises pour qualifier une face ou une fonctionnalité détectée. Par conséquent, l’augmentation de cette valeur tend à augmenter la précision au détriment de la couverture.

    Pour obtenir des exemples sur la façon dont les voisins sont calculés, consultez cet article dans la documentation de la bibliothèque OpenCv : eigenfaces dans OpenCv

  6. Si vous le souhaitez, vous pouvez utiliser les paramètres suivants pour spécifier la taille de l’image pour le modèle afin qu’il puisse faire de meilleures prédictions. Les images qui ne correspondent pas à la configuration requise sont éliminées :

    • Hauteur minimale: tapez la hauteur en pixels de la plus petite image. Si vous spécifiez une valeur pour cette propriété, les images plus petites sont ignorées.

    • Hauteur maximale. Tapez la largeur en pixels de la plus grande image. Si vous spécifiez une valeur pour cette propriété, les images plus grandes sont ignorées.

    • Largeur minimale: tapez la largeur en pixels de l’image la plus petite. Si vous spécifiez une valeur pour cette propriété, les images plus petites sont ignorées.

    • Largeur maximale: tapez la largeur en pixels de la plus grande image. Si vous spécifiez une valeur pour cette propriété, les images plus grandes sont ignorées.

  7. Connecter le jeu de données d’image utilisé pour le calcul de score.

  8. Ajoutez le module noter le modèle à votre expérience et connectez le classifieur d’image pré-formé et votre jeu de données d’images.

  9. Exécutez l’expérience.

Résultats

La sortie du modèle de score comprend le nom de l’image, l’étiquette notée et le score de probabilité pour l’étiquette (0 ou 1). Le classifieur génère un « 1 » si l’image est susceptible d’afficher l’objet (un visage) et « 0 » dans le cas contraire. Par exemple :

Nom de l’image Étiquettes notées Probabilités notées
MAN001.png TRUE 1
TABLE001.PNG false 0
CHAIR001.PNG false 0

Conseil

La sortie contient également les valeurs RVB pour tous les canaux de couleur du jeu de données. Par conséquent, pour afficher les données plus facilement, nous vous recommandons, dans votre expérience, d’utiliser l' option Sélectionner des colonnes dans le jeu de données pour générer uniquement les colonnes de résultat.

Notes techniques

Le modèle de reconnaissance faciale fourni par ce module est basé sur l’algorithme de détection de visage Viola-Jones. Pour plus d’informations, consultez ces ressources :

  • Cette vidéo explique les concepts de base de la reconnaissance faciale, y compris une définition des fonctionnalités Haar et la façon dont elles sont utilisées dans la détection faciale : détection faciale-partie 1

  • Cet article de Wikipédia décrit la méthode utilisée pour le classifieur, basée sur le papier de Navneet dalal et Bill Triggs : histogramme des dégradés orientés .

  • Pour obtenir la documentation de l’algorithme de reconnaissance de visage fourni dans la bibliothèque OpenCV, consultez cascade classifier.

Notes

Ce module ne génère pas la totalité des informations produites par la bibliothèque OpenCV. En particulier, ce module produit uniquement la prédiction de la présence ou non d’un visage, et n’inclut pas les coordonnées de la face ni aucune autre information.

Si vous avez besoin de ces informations supplémentaires, envisagez d’utiliser d’autres bibliothèques, telles que les API visage fournies par Microsoft cognitive services.

Paramètres du module

Nom Plage Type Default Description
Classifieur préentraîné Liste PretrainedClassifier Visage de face Classifieur préformé à partir de la distribution OpenCV standard.
Facteur d’échelle >= 1,0000000000000002 Float 1,1 Paramètre spécifiant la réduction de la taille de l'image à l'échelle de chaque image.
Nombre minimal de voisins >=0 Integer 3 Paramètre spécifiant le nombre de voisins que chaque rectangle candidat doit avoir pour être conservé.
Hauteur minimale >=1 Integer 100 Hauteur minimale de l'objet (en pixels). Les objets dont la taille est inférieure à celle-ci sont ignorés.

Le paramètre est facultatif.
Largeur minimale >=1 Integer 100 Largeur minimale de l'objet (en pixels). Les objets dont la taille est inférieure à celle-ci sont ignorés.

Le paramètre est facultatif.
Hauteur maximale >=1 Integer 200 Hauteur maximale de l'objet (en pixels). Les objets dont la taille est supérieure à celle-ci sont ignorés.

Le paramètre est facultatif.
Largeur maximale >=1 Integer 200 Largeur maximale de l'objet (en pixels). Les objets dont la taille est supérieure à celle-ci sont ignorés.

Le paramètre est facultatif.

Sorties

Nom Type Description
Modèle entraîné Interface ILearner Modèle de classification binaire entraîné

Exceptions

Exception Description
Erreur 0005 Une exception se produit si le paramètre est inférieur à une valeur spécifique.

pour obtenir la liste des erreurs spécifiques aux modules Studio (classiques), consultez Machine Learning codes d’erreur.

pour obtenir la liste des exceptions d’api, consultez Machine Learning les Codes d’erreur de l' api REST.

Voir aussi

Importer des images
Classification d’image en cascade préformée