Dela via


Skapa en anpassad bildanalysmodell

Viktigt!

Den här funktionen är nu inaktuell. Den 10 januari 2025 dras API:et för anpassad bildanalys 4.0 för Azure AI Image Analysis 4.0, anpassad objektidentifiering och förhandsgranskning av produktigenkänning tillbaka. Efter det här datumet misslyckas API-anrop till dessa tjänster.

För att upprätthålla en smidig drift av dina modeller övergår du till Azure AI Custom Vision, som nu är allmänt tillgängligt. Custom Vision erbjuder liknande funktioner som dessa funktioner för att dra tillbaka.

Med Bildanalys 4.0 kan du träna en anpassad modell med dina egna träningsbilder. Genom att manuellt märka dina bilder kan du träna en modell att tillämpa anpassade taggar på bilderna (bildklassificering) eller identifiera anpassade objekt (objektidentifiering). Image Analysis 4.0-modeller är särskilt effektiva vid få skottinlärning , så du kan få exakta modeller med mindre träningsdata.

Den här guiden visar hur du skapar och tränar en anpassad bildklassificeringsmodell. De få skillnaderna mellan att träna en bildklassificeringsmodell och objektidentifieringsmodell noteras.

Kommentar

Modellanpassning är tillgängligt via REST API och Vision Studio, men inte via klientspråkets SDK:er.

Förutsättningar

  • En Azure-prenumeration. Du kan skapa en kostnadsfritt.
  • När du har din Azure-prenumeration skapar du en Vision-resurs i Azure Portal för att hämta din nyckel och slutpunkt. Om du följer den här guiden med Hjälp av Vision Studio måste du skapa din resurs i regionen USA, östra. När den har distribuerats väljer du Gå till resurs. Kopiera nyckeln och slutpunkten till en tillfällig plats för senare användning.
  • En Azure Storage-resurs. Skapa en lagringsresurs.
  • En uppsättning bilder som du kan träna klassificeringsmodellen med. Du kan använda uppsättningen med exempelbilder på GitHub. Eller så kan du använda dina egna bilder. Du behöver bara cirka 3–5 bilder per klass.

Kommentar

Vi rekommenderar inte att du använder anpassade modeller för affärskritiska miljöer på grund av potentiell hög svarstid. När kunder tränar anpassade modeller i Vision Studio tillhör de anpassade modellerna den Vision-resurs som de har tränats under och kunden kan göra anrop till dessa modeller med hjälp av API:et Analysera bild . När de gör dessa anrop läses den anpassade modellen in i minnet och förutsägelseinfrastrukturen initieras. Även om detta händer kan kunderna uppleva längre svarstid än förväntat för att få förutsägelseresultat.

Skapa en ny anpassad modell

Börja med att gå till Vision Studio och välj fliken Bildanalys. Välj sedan panelen Anpassa modeller.

Skärmbild av panelen Anpassa modeller.

Logga sedan in med ditt Azure-konto och välj din Vision-resurs. Om du inte har en kan du skapa en från den här skärmen.

Skärmbild av skärmen Välj resurs.

Förbereda träningsbilder

Du måste ladda upp dina träningsavbildningar till en Azure Blob Storage-container. Gå till lagringsresursen i Azure Portal och gå till fliken Lagringswebbläsare. Här kan du skapa en blobcontainer och ladda upp dina avbildningar. Placera alla i containerns rot.

Lägga till en datauppsättning

För att träna en anpassad modell måste du associera den med en datauppsättning där du tillhandahåller bilder och deras etikettinformation som träningsdata. I Vision Studio väljer du fliken Datauppsättningar för att visa dina datauppsättningar.

Om du vill skapa en ny datauppsättning väljer du Lägg till ny datauppsättning. I popup-fönstret anger du ett namn och väljer en datauppsättningstyp för ditt användningsfall. Bildklassificeringsmodeller tillämpar innehållsetiketter på hela bilden, medan objektidentifieringsmodeller tillämpar objektetiketter på specifika platser i bilden. Produktigenkänningsmodeller är en underkategori för objektidentifieringsmodeller som är optimerade för att identifiera detaljhandelsprodukter.

Skärmbild av dialogrutan för att skapa ny datauppsättning.

Välj sedan containern från Azure Blob Storage-kontot där du lagrade träningsavbildningarna. Markera kryssrutan för att låta Vision Studio läsa och skriva till bloblagringscontainern. Det här är ett nödvändigt steg för att importera etiketterade data. Skapa datauppsättningen.

Skapa ett Azure Machine Learning-märkningsprojekt

Du behöver en COCO-fil för att förmedla etiketteringsinformationen. Ett enkelt sätt att generera en COCO-fil är att skapa ett Azure Machine Learning-projekt, som levereras med ett arbetsflöde för dataetiketter.

På informationssidan för datamängden väljer du Lägg till ett nytt dataetikettsprojekt. Namnge den och välj Skapa en ny arbetsyta. Då öppnas en ny Azure Portal-flik där du kan skapa Azure Machine Learning-projektet.

Skärmbild av projektet Skapa Azure Machine Learning-dataetiketter.

När Azure Machine Learning-projektet har skapats går du tillbaka till fliken Vision Studio och väljer det under Arbetsyta. Azure Machine Learning-portalen öppnas sedan på en ny webbläsarflik.

Skapa etiketter

Börja etikettera genom att följa kommandotolken Lägg till etikettklasser för att lägga till etikettklasser.

Skärmbild som visar knappen För att lägga till etikettklasser.

Skärmbild som visar knappen För att lägga till etikettkategorier.

När du har lagt till alla klassetiketter sparar du dem, väljer Starta i projektet och väljer sedan Etikettdata överst.

Skärmbild som visar knappen För att börja märka data.

Märka träningsdata manuellt

Välj Starta etikettering och följ anvisningarna för att märka alla dina bilder. När du är klar går du tillbaka till fliken Vision Studio i webbläsaren.

Välj nu Lägg till COCO-fil och välj sedan Importera COCO-fil från ett Azure ML Data Labeling-projekt. Detta importerar etiketterade data från Azure Machine Learning.

Coco-filen som du skapade lagras nu i Azure Storage-containern som du länkade till det här projektet. Du kan nu importera den till arbetsflödet för modellanpassning. Välj den i listrutan. När COCO-filen har importerats till datamängden kan datauppsättningen användas för att träna en modell.

Kommentar

Om du har en färdig COCO-fil som du vill importera går du till fliken Datauppsättningar och väljer Lägg till COCO-filer i den här datamängden. Du kan välja att lägga till en specifik COCO-fil från ett bloblagringskonto eller importera från Azure Machine Learning-etikettprojektet.

För närvarande löser Microsoft ett problem som gör att COCO-filimporten misslyckas med stora datauppsättningar när den initieras i Vision Studio. Om du vill träna med en stor datauppsättning rekommenderar vi att du använder REST-API:et i stället.

Skärmbild av dialogrutan Importera COCO-fil.

Om COCO-filer

COCO-filer är JSON-filer med specifika obligatoriska fält: "images", "annotations"och "categories". En COCO-exempelfil ser ut så här:

{
 "images": [
   {
     "id": 1,
     "width": 500,
     "height": 828,
     "file_name": "0.jpg",
     "absolute_url": "https://blobstorage1.blob.core.windows.net/cpgcontainer/0.jpg"
   },
    {
      "id": 2,
      "width": 754,
      "height": 832,
      "file_name": "1.jpg",
      "absolute_url": "https://blobstorage1.blob.core.windows.net/cpgcontainer/1.jpg"
    },

   ...

  ],
  "annotations": [
    {
      "id": 1,
      "category_id": 7,
      "image_id": 1,
      "area": 0.407,
      "bbox": [
        0.02663142641129032,
        0.40691584277841153,
        0.9524163571731749,
        0.42766634515266866
      ]
    },
    {
      "id": 2,
      "category_id": 9,
      "image_id": 2,
      "area": 0.27,
      "bbox": [
        0.11803319477782331,
        0.41586723392402375,
        0.7765206955096307,
        0.3483334397217212
      ]
    },
    ...

  ],
  "categories": [
    {
      "id": 1,
      "name": "vegall original mixed vegetables"
    },
    {
      "id": 2,
      "name": "Amy's organic soups lentil vegetable"
    },
    {
      "id": 3,
      "name": "Arrowhead 8oz"
    },

    ...

  ]
}

REFERENS FÖR COCO-filfält

Om du genererar en egen COCO-fil från grunden kontrollerar du att alla obligatoriska fält är ifyllda med rätt information. Följande tabeller beskriver varje fält i en COCO-fil:

"bilder"

Nyckel Typ Beskrivning Obligatorisk?
id integer Unikt avbildnings-ID från 1 Ja
width integer Bredd på bilden i bildpunkter Ja
height integer Bildens höjd i bildpunkter Ja
file_name sträng Ett unikt namn för avbildningen Ja
absolute_url eller coco_url sträng Bildsökväg som en absolut URI till en blob i en blobcontainer. Vision-resursen måste ha behörighet att läsa anteckningsfilerna och alla refererade bildfiler. Ja

Värdet för absolute_url finns i blobcontainerns egenskaper:

absolut URL

"anteckningar"

Nyckel Typ Beskrivning Obligatorisk?
id integer ID för anteckningen Ja
category_id integer ID för kategorin som definieras i categories avsnittet Ja
image_id integer ID för avbildningen Ja
area integer Värdet för "Width" x "Height" (tredje och fjärde värdet för bbox) Nej
bbox list[float] Relativa koordinater för avgränsningsrutan (0 till 1), i ordningen "Vänster", "Överkant", "Bredd", "Höjd" Ja

"kategorier"

Nyckel Typ Beskrivning Obligatorisk?
id integer Unikt ID för varje kategori (etikettklass). Dessa bör finnas i avsnittet annotations . Ja
name sträng Namn på kategorin (etikettklass) Ja

VERIFIERING AV COCO-fil

Du kan använda vår Python-exempelkod för att kontrollera formatet på en COCO-fil.

Träna den anpassade modellen

Om du vill börja träna en modell med din COCO-fil går du till fliken Anpassade modeller och väljer Lägg till en ny modell. Ange ett namn på modellen och välj Image classification eller Object detection som modelltyp.

Skärmbild av dialogrutan för att träna en ny modell.

Välj din datauppsättning, som nu är associerad med COCO-filen som innehåller etiketteringsinformationen.

Välj sedan en tidsbudget och träna modellen. För små exempel kan du använda en 1 hour budget.

Skärmbild som visar träningsinformation att granska.

Det kan ta lite tid för träningen att slutföras. Image Analysis 4.0-modeller kan vara korrekta med endast en liten uppsättning träningsdata, men de tar längre tid att träna än tidigare modeller.

Utvärdera den tränade modellen

När träningen är klar kan du visa modellens prestandautvärdering. Följande mått används:

  • Bildklassificering: Genomsnittlig precision, noggrannhet topp 1, noggrannhet topp 5
  • Objektidentifiering: Genomsnittlig genomsnittlig precision @ 30, genomsnittlig genomsnittlig precision @ 50, genomsnittlig genomsnittlig precision @ 75

Om en utvärderingsuppsättning inte tillhandahålls när modellen tränas beräknas den rapporterade prestandan baserat på en del av träningsuppsättningen. Vi rekommenderar starkt att du använder en utvärderingsdatauppsättning (med samma process som ovan) för att få en tillförlitlig uppskattning av modellens prestanda.

Skärmbild som visar utvärderingsresultat.

Testa den anpassade modellen i Vision Studio

När du har skapat en anpassad modell kan du testa genom att välja knappen Prova på modellutvärderingsskärmen.

Skärmbild av modellens utvärderingsskärm med knappen Prova.

Detta tar dig till sidan Extrahera vanliga taggar från bilder . Välj din anpassade modell på den nedrullningsbara menyn och ladda upp en testbild.

Skärmbild av val av testmodell i Vision Studio.

Förutsägelseresultatet visas i den högra kolumnen.

I den här guiden har du skapat och tränat en anpassad bildklassificeringsmodell med hjälp av bildanalys. Läs mer om API:et Analysera bild 4.0 så att du kan anropa din anpassade modell från ett program med HJÄLP av REST.