Så här förbättrar du din Custom Vision modell

I den här guiden får du lära dig att förbättra kvaliteten på din Custom Vision Service-modell. Kvaliteten på klassificeraren eller objektidentifieraren beror på mängden, kvaliteten och variationen hos de etiketterade data som du anger och hur balanserad den övergripande datamängden är. En bra modell har en balanserad träningsdatamängd som är representativ för vad som kommer att skickas till den. Processen att skapa en sådan modell är iterativ; Det är vanligt att ta några träningsomgångar för att nå förväntade resultat.

Följande är ett allmänt mönster som hjälper dig att träna en mer exakt modell:

  1. Träning i första omgång
  2. Lägga till fler bilder och balansera data; Omskola
  3. Lägg till bilder med varierande bakgrund, belysning, objektstorlek, kameravinkel och stil; Omskola
  4. Använda nya bilder för att testa förutsägelse
  5. Ändra befintliga träningsdata enligt förutsägelseresultat

Förhindra överanpassad

Ibland lär sig en modell att göra förutsägelser baserat på godtyckliga egenskaper som dina bilder har gemensamt. Om du till exempel skapar en klassificerare för äpplen jämfört medpas, och du har använt bilder av äpplen i händerna och av frukt på vita tallrikar, kan klassificeraren ge onödig betydelse för händer kontra tallrikar, i stället för äpplen jämfört med äpplen.

Image of unexpected classification

Åtgärda problemet genom att ge bilder olika vinklar, bakgrunder, objektstorlek, grupper och andra variationer. I följande avsnitt går vi vidare med dessa begrepp.

Datakvantitet

Antalet träningsbilder är den viktigaste faktorn för din datauppsättning. Vi rekommenderar att du använder minst 50 bilder per etikett som utgångspunkt. Med färre bilder finns det en högre risk för överanpassad, och även om dina prestandanummer kan tyda på bra kvalitet, kan din modell få problem med verkliga data.

Databalans

Det är också viktigt att tänka på det relativa antalet träningsdata. Om du till exempel använder 500 bilder för en etikett och 50 bilder för en annan etikett blir det en obalanserad datauppsättning för träning. Detta gör att modellen blir mer exakt när det gäller att förutsäga en etikett än en annan. Du kommer troligen att se bättre resultat om du har minst ett 1:2-förhållande mellan etiketten med minst antal bilder och etiketten med flest bilder. Om etiketten med flest bilder till exempel har 500 bilder ska etiketten med minst bilder ha minst 250 bilder för träning.

Datasort

Se till att använda bilder som är representativa för vad som skickas till klassificeraren under normal användning. Annars kan din modell lära sig att göra förutsägelser baserat på godtyckliga egenskaper som dina bilder har gemensamt. Om du till exempel skapar en klassificerare för äpplen jämfört medpas, och du har använt bilder av äpplen i händerna och av frukt på vita tallrikar, kan klassificeraren ge onödig betydelse för händer kontra tallrikar, i stället för äpplen jämfört med äpplen.

Image of unexpected classification

Åtgärda problemet genom att inkludera en mängd olika bilder för att säkerställa att din modell kan generaliseras väl. Nedan visas några sätt att göra din träningsuppsättning mer varierad:

  • Bakgrund: Ange bilder av ditt objekt framför olika bakgrunder. Photos i naturliga kontexter är bättre än foton framför neutrala bakgrunder eftersom de ger mer information till klassificeraren.

    Image of background samples

  • Belysning: Tillhandahåll bilder med varierande belysning (t.ex. tagna med flash, hög exponering och så vidare), särskilt om de bilder som används för förutsägelse har olika belysning. Det är också bra att använda bilder med varierande mättnad, nyans och ljusstyrka.

    Image of lighting samples

  • Objektstorlek: Ange bilder där objekten varierar i storlek och antal (till exempel ett foto av en massa bananer och en närbild av en enda bananer). Olika storlek hjälper klassificeraren att generalisera bättre.

    Image of size samples

  • Kameravinkel: Tillhandahåll bilder tagna med olika kameravinklar. Alternativt, om alla dina foton måste tas med fasta kameror (till exempel övervakningskameror), måste du tilldela en annan etikett till alla objekt som regelbundet inträffar för att undvika överanpassa – tolka orelaterade objekt (till exempel lyktstolpar) som nyckelfunktion.

    Image of angle samples

  • Stil: Ge bilder av olika format i samma klass (till exempel olika varianter av samma frukt). Men om du har objekt med drastiskt olika format (till exempel Mouse Mouse jämfört med en verklig mus) rekommenderar vi att du etiketterar dem som separata klasser för att bättre representera deras distinkta funktioner.

    Image of style samples

Negativa bilder (endast klassificerare)

Om du använder en bild klassificerare kan du behöva lägga till negativa exempel för att göra klassificeraren mer exakt. Negativa exempel är bilder som inte matchar någon av de andra taggarna. När du laddar upp de här bilderna använder du den särskilda negativa etiketten för dem.

Objektdetektorer hanterar negativa urval automatiskt, eftersom alla bildområden utanför ritade avgränsare betraktas som negativa.

Anteckning

Tjänsten Custom Vision stöder viss automatisk negativ bildhantering. Om du till exempel skapar en vindruvor jämfört med en banan klassificerare och skickar en bild av en sko för förutsägelse, bör klassificeraren poänglägga bilden så nära 0 % för både vindruvor och bananer.

Å andra sidan, i fall där de negativa bilderna bara är en variant av bilderna som används i träningen, är det troligt att modellen klassificerar de negativa bilderna som en märkt klass på grund av de stora likheterna. Om du till exempel har en klassificerare av orange kontra grapefruit och matar in en bild av en auktorin, kan den poängdöma henneinet som en orange färg eftersom många egenskaper hos hontinen liknar dem för apelsiner. Om dina negativa bilder är av den här typen rekommenderar vi att du skapar en eller flera ytterligare taggar (till exempel Andra) och märker de negativa bilderna med den här taggen under träningen så att modellen bättre kan skilja mellan dessa klasser.

Överväg ocklusion och trunkering (endast objektdetektorer)

Om du vill att objektdetektorn ska identifiera trunkerade objekt (objektet klipps delvis ut från bilden) eller ockluderade objekt (objektet blockeras delvis av ett annat objekt i bilden) måste du inkludera träningsbilder som täcker dessa fall.

Anteckning

Problemet med objekt som ockluderas av andra objekt ska inte förväxlas med överlappande tröskelvärde, en parameter för prestanda för klassificeringsmodellen. Skjutreglaget Överlappande tröskelvärde på Custom Vision webbplats hanterar hur mycket en förutsagd begränsningsruta måste överlappa med den sanna begränsningsrutan för att anses korrekt.

Använda förutsägelsebilder för ytterligare träning

När du använder eller testar modellen genom att skicka bilder till förutsägelseslutpunkten lagrar Custom Vision-tjänsten dessa bilder. Du kan sedan använda dem för att förbättra modellen.

  1. Om du vill visa bilder som skickats till modellen öppnar du Custom Vision,går till projektet och väljer fliken Förutsägelser. Standardvyn visar bilder från den aktuella iterationen. Du kan använda den nedrullningsna menyn Iteration för att visa bilder som skickats under tidigare iterationer.

    screenshot of the predictions tab, with images in view

  2. Hovra över en bild för att se de taggar som förutsagts av modellen. Bilderna sorteras så att de som kan ge flest förbättringar av modellen visas överst. Om du vill använda en annan sorteringsmetod gör du ett val i avsnittet Sortera.

    Om du vill lägga till en bild i dina befintliga träningsdata väljer du bilden, anger rätt taggar och klickar på Spara och stäng. Bilden tas bort från Förutsägelser och läggs till i uppsättningen med träningsbilder. Du kan visa den genom att välja fliken Träningsbilder.

    Image of the tagging page

  3. Använd sedan knappen Träna för att träna om modellen.

Inspektera förutsägelser visuellt

Om du vill granska bildförutsägelser går du till fliken Träningsbilder, väljer din tidigare tränings iteration i listrutan Iteration och markerar en eller flera taggar under avsnittet Taggar. Vyn bör nu visa en röd ruta runt var och en av bilderna för vilka modellen inte kunde förutsäga den angivna taggen korrekt.

Image of the iteration history

Ibland kan en visuell kontroll identifiera mönster som du sedan kan korrigera genom att lägga till mer träningsdata eller ändra befintliga träningsdata. Till exempel kan en klassificerare för äpplen jämfört med snäckor felaktigt märka alla gröna äpplen som snäckor. Du kan sedan åtgärda problemet genom att lägga till och tillhandahålla träningsdata som innehåller taggade bilder av gröna äpplen.

Nästa steg

I den här guiden har du lärt dig flera tekniker för att göra din anpassade bildklassificeringsmodell eller objektdetektormodell mer exakt. Lär dig sedan att testa bilder programmatiskt genom att skicka dem till FÖRUTSÄGELSE-API:et.