Delen via


Vooraf getrainde cascade-afbeeldingsclassificatie

Belangrijk

De ondersteuning voor Azure Machine Learning-studio (klassiek) eindigt op 31 augustus 2024. U wordt aangeraden om vóór die datum over te stappen naar Azure Machine Learning.

Vanaf 1 december 2021 kunt u geen nieuwe resources voor Azure Machine Learning-studio (klassiek) meer maken. Tot en met 31 augustus 2024 kunt u de bestaande resources van Azure Machine Learning-studio (klassiek) blijven gebruiken.

De documentatie van ML-studio (klassiek) wordt buiten gebruik gesteld en wordt in de toekomst mogelijk niet meer bijgewerkt.

Hiermee maakt u een vooraf getraind afbeeldingsclassificatiemodel voor frontale gezichten met behulp van de OpenCV-bibliotheek

Categorie: OpenCV-bibliotheekmodules

Notitie

Van toepassing op: Machine Learning Studio (klassiek)

Vergelijkbare modules voor slepen en neerzetten zijn beschikbaar in Azure Machine Learning designer.

Moduleoverzicht

In dit artikel wordt beschreven hoe u de module Pretrained Cascade Image Classification in Machine Learning Studio (klassiek) gebruikt om gezichten in afbeeldingen te detecteren.

Het model is gebaseerd op de OpenCV-bibliotheek . De OpenCV-bibliotheek biedt een lijst met vooraf gedefinieerde modellen, die elk zijn geoptimaliseerd om een bepaald type object te detecteren.

Meer informatie over het vooraf getrainde model

Dit model voor afbeeldingsherkenning is al getraind op een groot aantal afbeeldingen dat veel wordt gebruikt voor afbeeldingsherkenningstaken. Dit specifieke classificatiemodel is geoptimaliseerd voor gezichtsdetectie en maakt gebruik van Viola-Jones algoritme voor objectdetectie. Het doel van het model is het identificeren van afbeeldingen die een menselijk gezicht in de frontale weergave bevatten.

Hoewel er momenteel slechts één Model voor afbeeldingsclassificatie van OpenCV wordt geleverd, zijn er mogelijk aanvullende vooraf getrainde modellen beschikbaar in latere versies.

Een vooraf getraind model gebruiken

Als u een set afbeeldingen hebt die u wilt analyseren, geeft u deze op als invoer voor de module Score Model zoals beschreven in dit onderwerp, en koppelt u deze module, die het vooraf getrainde OpenCV-bibliotheekmodel biedt.

De module Score Model gebruikt het afbeeldingsclassificatiemodel om te bepalen of de afbeelding een menselijk gezicht bevat en retourneert een waarschijnlijkheidsscore voor elke afbeelding die als invoer wordt gebruikt.

Modellen op basis van vooraf getrainde cascade-afbeeldingsclassificatie kunnen niet opnieuw worden getraind met nieuwe afbeeldingsgegevens.

De indeling waarin het model wordt opgeslagen, is niet compatibel met de modules Train Model en Cross-Validate Model .

Vooraf getrainde cascade-afbeeldingsclassificatie configureren

Het afbeeldingsclassificatiemodel in Machine Learning is al getraind met behulp van een grote gegevensset en is geoptimaliseerd voor een specifiek afbeeldingstype. Daarom hoeft u alleen maar een set afbeeldingen op te geven als een score-gegevensset. Als uitvoer genereert de module een score die aangeeft of elke afbeelding het doelafbeeldingstype bevat.

  1. Bereid de gegevensset voor met afbeeldingen die u van plan bent te gebruiken bij het scoren en importeer deze. Over het algemeen moeten alle afbeeldingen in de gegevensset dezelfde grootte hebben.

    U voegt de afbeeldingen toe aan uw experiment met behulp van de module Afbeeldingen importeren. Lees de Help voor Het importeren van afbeeldingen nauwkeurig om ervoor te zorgen dat de afbeeldingen die u gebruikt, voldoen aan de vereisten. U moet er ook voor zorgen dat de afbeeldingen toegankelijk zijn in de gedefinieerde opslagoptie.

  2. Voeg de module Pretrained Cascade Image Classification toe aan uw experiment in Studio (klassiek). U vindt deze module in de categorie OpenCV-bibliotheek .

  3. Selecteer een van de vooraf getrainde classificaties in de lijst in Vooraf getrainde classificatie.

    Er is momenteel slechts één classificatie beschikbaar: frontaal gezicht, dat standaard is geselecteerd.

  4. Schaalfactor: typ een waarde die aangeeft hoeveel de afbeeldingsgrootte op elke schaal van de afbeelding wordt verkleind.

    In de OpenCV-bibliotheek is de classificatie zo ontworpen dat deze eenvoudig kan worden 'geformatteerd' om de objecten van belang te kunnen vinden in verschillende grootten. Dit is efficiënter dan het formaat van de afbeelding zelf te veranderen. Om een object van een onbekende grootte in de afbeelding te vinden, moet de scanprocedure meerdere keren op verschillende schalen worden uitgevoerd.

    We raden u aan om verschillende schaalfactoren te proberen om te zien welke de beste resultaten voor afbeeldingsclassificatie bieden.

  5. Minimumaantal buren: typ een geheel getal dat het minimale aantal overlappende rechthoeken vertegenwoordigt dat nodig is om te detecteren dat een gezicht is opgenomen in een regio.

    In de OpenCV-bibliotheek detecteert de classificatie objecten van verschillende grootten in de invoerafbeelding. De gedetecteerde objecten worden geretourneerd als een lijst met rechthoeken. De parameter neighbors bepaalt hoeveel mogelijke overeenkomsten er nodig zijn om te kwalificeren als een gedetecteerd gezicht of een gedetecteerde functie. Het verhogen van deze waarde verhoogt daarom de nauwkeurigheid ten koste van de dekking.

    Zie dit artikel in de opencv-bibliotheekdocumentatie: Eigenfaces in OpenCV voor voorbeelden van hoe buren worden berekend

  6. U kunt eventueel de volgende instellingen gebruiken om de afbeeldingsgrootte aan het model op te geven, zodat het betere voorspellingen kan doen. Afbeeldingen die niet aan de vereisten voldoen, worden geëlimineerd:

    • Minimale hoogte: typ de pixelhoogte van de kleinste afbeelding. Als u een waarde voor deze eigenschap opgeeft, worden afbeeldingen die kleiner zijn dan deze genegeerd.

    • Maximale hoogte. Typ de pixelbreedte van de grootste afbeelding. Als u een waarde voor deze eigenschap opgeeft, worden afbeeldingen die groter zijn dan deze genegeerd.

    • Minimale breedte: typ de pixelbreedte van de kleinste afbeelding. Als u een waarde voor deze eigenschap opgeeft, worden afbeeldingen die kleiner zijn dan deze genegeerd.

    • Maximale breedte: typ de pixelbreedte van de grootste afbeelding. Als u een waarde voor deze eigenschap opgeeft, worden afbeeldingen die groter zijn dan deze genegeerd.

  7. Verbinding maken de afbeeldingsset die wordt gebruikt voor scoren.

  8. Voeg de module Score Model toe aan uw experiment en verbind de vooraf getrainde afbeeldingsclassificeerder en uw gegevensset met afbeeldingen.

  9. Voer het experiment uit.

Resultaten

De uitvoer van Score Model bevat de naam van de afbeelding, het scorelabel en de waarschijnlijkheidsscore voor het label (0 of 1). De classificatie outputs a "1" if the image is likely to show the object (a face), and "0" otherwise. Bijvoorbeeld:

Naam van installatiekopie Labels met een score Scored Waarschijnlijkheden
MAN001.png TRUE 1
TABLE001.PNG FALSE 0
CHAIR001.PNG FALSE 0

Tip

De uitvoer bevat ook de RGB-waarden voor alle kleurkanalen in de gegevensset. Daarom is het raadzaam om in uw experiment Kolommen in gegevensset selecteren te gebruiken om alleen de resultaatkolommen uit te geven om de gegevens gemakkelijker weer te geven.

Technische opmerkingen

Het model voor gezichtsherkenning dat door deze module wordt geleverd, is gebaseerd op Viola-Jones algoritme voor gezichtsdetectie. Zie de volgende resources voor meer informatie:

  • In deze video worden de basisconcepten van gezichtsherkenning uitgelegd, waaronder een definitie van Haar-functies en hoe deze worden gebruikt bij gezichtsdetectie: Gezichtsdetectie - Deel 1

  • In dit Wikipedia-artikel wordt de methode beschreven die wordt gebruikt voor de classificatie, op basis van het artikel van Navneet Dalal en Bill Triggs: Histogram van georiënteerd kleurovergangen

  • Zie Cascade Classifier voor de documentatie over het gezichtsherkenningsalgoritme in de OpenCV-bibliotheek.

Notitie

Deze module levert niet de volledige verzameling informatie die wordt geproduceerd door de OpenCV-bibliotheek. Deze module levert met name alleen de voorspelling of een gezicht al dan niet aanwezig is en bevat niet de coördinaten van het gezicht of andere informatie.

Als u deze aanvullende informatie nodig hebt, kunt u overwegen andere bibliotheken te gebruiken, zoals de Face-API van Microsoft Cognitive Services.

Moduleparameters

Name Bereik Type Standaard Beschrijving
Vooraf getrainde classificatie Lijst Vooraf getrainde classificatie Frontaal gezicht Vooraf getrainde classificatie van standaard OpenCV-distributie.
Schaalfactor >= 1.000000000000002 Float 1.1 Parameter die aangeeft hoeveel de afbeeldingsgrootte op elke schaal van de afbeelding wordt verkleind.
Minimumaantal buren >= 0 Geheel getal 3 Parameter die aangeeft hoeveel buren elke kandidaatrechthoek moet behouden.
Minimale hoogte >= 1 Geheel getal 100 Minimale hoogte van object (in pixels). Objecten die kleiner zijn dan deze worden genegeerd.

De parameter is optioneel.
Minimale breedte >= 1 Geheel getal 100 Minimaal mogelijke objectbreedte (in pixels). Objecten die kleiner zijn dan deze worden genegeerd.

De parameter is optioneel.
Maximumhoogte >= 1 Geheel getal 200 Maximale hoogte van object (in pixels). Objecten die groter zijn dan deze worden genegeerd.

De parameter is optioneel.
Maximumbreedte >= 1 Geheel getal 200 Maximale mogelijke objectbreedte (in pixels). Objecten die groter zijn dan deze worden genegeerd.

De parameter is optioneel.

Uitvoerwaarden

Naam Type Description
Getraind model ILearner-interface Getraind binair classificatiemodel

Uitzonderingen

Uitzondering Description
Fout 0005 Uitzondering treedt op als de parameter kleiner is dan een specifieke waarde.

Zie Foutcodes voor een lijst met fouten die specifiek zijn Machine Learning voor Studio-modules (klassiek).

Zie Foutcodes voor een lijst Machine Learning REST API API-uitzonderingen.

Zie ook

Afbeeldingen importeren
Vooraf getrainde cascade-afbeeldingsclassificatie