Förtränad bildklassificering av kaskad

Viktigt

Stödet för Machine Learning Studio (klassisk) upphör den 31 augusti 2024. Vi rekommenderar att du byter till Azure Machine Learning innan dess.

Från och med den 1 december 2021 kan du inte längre skapa nya Machine Learning Studio-resurser (klassisk). Du kan fortsätta att använda befintliga Machine Learning Studio-resurser (klassisk) till och med den 31 augusti 2024.

Dokumentationen om ML Studio (klassisk) håller på att dras tillbaka och kanske inte uppdateras i framtiden.

Skapar en förtränad bildklassificeringsmodell för frontal-ansikten med hjälp av OpenCV-biblioteket

Kategori: OpenCV-biblioteksmoduler

Anteckning

Gäller endast för: Machine Learning Studio (klassisk)

Liknande dra och släpp-moduler är tillgängliga i Azure Machine Learning designer.

Modulöversikt

I den här artikeln beskrivs hur du använder modulen Pretrained Cascade Image Classification i Machine Learning Studio (klassisk) för att identifiera ansikten i bilder.

Modellen baseras på OpenCV-biblioteket . OpenCV-biblioteket innehåller en lista över fördefinierade modeller som var och en är optimerad för att identifiera en viss typ av objekt.

Mer om den förtränade modellen

Den här bildigenkänningsmodellen har redan tränats på en stor corpus med bilder som används ofta för bildigenkänningsuppgifter. Den här specifika klassificeringsmodellen har optimerats för ansiktsavkänning och använder Viola-Jones algoritmen för objektidentifiering. Syftet med modellen är att identifiera bilder som innehåller ett mänskligt ansikte i en frontalvy.

Även om det för närvarande bara finns en OpenCV-bildklassificeringsmodell kan ytterligare tränade modeller vara tillgängliga i senare versioner.

Använda en förtränad modell

Om du har en uppsättning bilder som du vill analysera anger du dem som indata till modulen Poängmodell enligt beskrivningen i det här avsnittet och bifogar den här modulen, som tillhandahåller den förtränade OpenCV-biblioteksmodellen.

Modulen Poängmodell använder bildklassificeringsmodellen för att avgöra om bilden innehåller ett mänskligt ansikte och returnerar en sannolikhetspoäng för varje bild som används som indata.

Modeller som baseras på pretrained Cascade Image Classification kan inte tränas om på nya bilddata.

Formatet som modellen lagras i är inkompatibelt med modulerna Train Model (Träna modell ) och Cross-Validate Model (Kors validera modell ).

Så här konfigurerar du förtränad kaskadavbildningsklassificering

Bildklassificeringsmodellen i Machine Learning redan tränats med en stor datamängd och är optimerad för en viss bildtyp. Därför behöver du bara ange en uppsättning bilder som en bedömningsdatamängd. Som utdata genererar modulen en poäng som anger om varje bild innehåller målavbildningstypen.

  1. Förbered och importera datauppsättningen med bilder som du planerar att använda i bedömning. I allmänhet bör alla bilder i datauppsättningen ha samma storlek.

    Du lägger till bilderna i experimentet med hjälp av modulen Importera avbildningar. Läs hjälpen för Importera avbildningar noga för att säkerställa att de avbildningar som du använder uppfyller kraven. Du måste också se till att bilderna är tillgängliga i det definierade lagringsalternativet.

  2. Lägg till modulen Pretrained Cascade Image Classification (Pretrained Cascade Image Classification ) i experimentet i Studio (klassisk). Du hittar den här modulen i kategorin OpenCV-bibliotek .

  3. Välj en av de förtränade klassificerarna i listan i Förtränad klassificerare.

    För närvarande är endast en klassificerare tillgänglig: Frontal face, vilket är valt som standard.

  4. Skalningsfaktor: Ange ett värde som anger hur mycket bildstorleken ska minskas på varje bildskala.

    I OpenCV-biblioteket är klassificeraren utformad så att den enkelt kan "ändra storlek" för att kunna hitta objekt av intresse i olika storlekar. Detta är mer effektivt än att ändra storlek på själva bilden. För att hitta ett objekt med en okänd storlek i bilden bör genomsökningsproceduren därför utföras flera gånger i olika skalor.

    Vi rekommenderar att du provar olika skalningsfaktorer för att se vilka som ger bäst bildklassificeringsresultat.

  5. Minsta antal grannar: Ange ett heltum som representerar det minsta antalet överlappande rektanglar som krävs för att identifiera att ett ansikte ingår i en region.

    I OpenCV-biblioteket identifierar klassificeraren objekt av olika storlekar i den inmatade bilden. De identifierade objekten returneras som en lista över rektanglar. Parametern neighbors styr hur många möjliga matchningar som krävs för att räknas som ett identifierat ansikte eller en funktion. Att öka det här värdet tenderar därför att öka precisionen på bekostnad av täckningen.

    Exempel på hur grannar beräknas finns i den här artikeln i OpenCv Library-dokumentationen: Eigenfaces in OpenCV

  6. Du kan också använda följande inställningar för att ange bildstorlek för modellen så att den kan göra bättre förutsägelser. Avbildningar som inte uppfyller kraven elimineras:

    • Minimihöjd: Ange pixelhöjden för den minsta bilden. Om du anger ett värde för den här egenskapen ignoreras bilder som är mindre än detta.

    • Maximal höjd. Ange pixelbredden för den största bilden. Om du anger ett värde för den här egenskapen ignoreras bilder som är större än detta.

    • Minsta bredd: Ange pixelbredden för den minsta bilden. Om du anger ett värde för den här egenskapen ignoreras bilder som är mindre än detta.

    • Maximal bredd: Ange pixelbredden för den största bilden. Om du anger ett värde för den här egenskapen ignoreras bilder som är större än detta.

  7. Anslut bilddatauppsättningen som används för bedömning.

  8. Lägg till modulen Score Model (Poängmodell) i experimentet och anslut den förtränade bild klassificeraren och din datauppsättning med bilder.

  9. Kör experimentet.

Resultat

Utdata från Poängmodell innehåller bildnamnet, den poängade etiketten och sannolikhetspoängen för etiketten (antingen 0 eller 1). Klassificeraren matar ut ett "1" om bilden sannolikt visar objektet (ett ansikte) och "0" annars. Till exempel:

Avbildningens namn Poängsatta etiketter Poängade sannolikheter
MAN001.png TRUE 1
TABLE001.PNG FALSE 0
CHAIR001.PNG FALSE 0

Tips

Utdata innehåller också RGB-värden för alla färgkanaler i datamängden. För att visa data enklare rekommenderar vi därför att du i experimentet använder Välj kolumner i datauppsättning för att bara mata ut resultatkolumnerna.

Teknisk information

Modellen för ansiktsigenkänning som tillhandahålls av den här modulen baseras på Viola-Jones algoritmen för ansiktsavkänning. Mer information finns i följande resurser:

Anteckning

Den här modulen matar inte ut den fullständiga informationssamlingen som skapas av OpenCV-biblioteket. I synnerhet matar den här modulen bara ut förutsägelsen om ett ansikte finns eller inte och inkluderar inte ansiktets koordinater eller annan information.

Om du behöver den här ytterligare informationen kan du överväga att använda andra bibliotek, till exempel ansikts-API: et som tillhandahålls av Microsoft Cognitive Services.

Modulparametrar

Name Intervall Typ Standardvärde Description
Förtränad klassificerare Lista PretrainedClassifier Frontal face (Frontal face) Förtränad klassificerare från standarddistribution av OpenCV.
Skalningsfaktor >= 1,00000000000002 Float 1.1 Parameter som anger hur mycket bildstorleken minskas på varje bildskala.
Minsta antal grannar >= 0 Integer 3 Parameter som anger hur många grannar som varje kandidatrektangel ska behöva behålla den.
Minimihöjd >=1 Integer 100 Minsta möjliga objekthöjd (i bildpunkter). Objekt som är mindre än detta ignoreras.

Parametern är valfri.
Minsta bredd >=1 Integer 100 Minsta möjliga objektbredd (i bildpunkter). Objekt som är mindre än detta ignoreras.

Parametern är valfri.
Maximal höjd >=1 Integer 200 Maximal möjlig objekthöjd (i bildpunkter). Objekt som är större än detta ignoreras.

Parametern är valfri.
Maximal bredd >=1 Integer 200 Maximal möjlig objektbredd (i bildpunkter). Objekt som är större än detta ignoreras.

Parametern är valfri.

Utdata

Namn Typ Description
Tränad modell ILearner-gränssnitt Tränad binär klassificeringsmodell

Undantag

Undantag Description
Fel 0005 Undantag inträffar om parametern är mindre än ett specifikt värde.

En lista över fel som är specifika för Studio-moduler (klassisk) finns i Machine Learning felkoder.

En lista över API-undantag finns i Machine Learning REST API felkoder.

Se även

Importera avbildningar
Förtränad bildklassificering av kaskad