Een aangepast project maken
Als u een aangepast Azure AI Vision-model wilt maken, hebt u eerst een Azure AI Services-resource (of een Azure AI Vision-resource) nodig. Zodra die resource is geïmplementeerd in uw abonnement, moet u een aangepast project maken.
Onderdelen van een Custom Vision-project
Het eerste onderdeel van een aangepast project is de gegevensset. De gegevensset is uw verzameling afbeeldingen die moeten worden gebruikt tijdens het trainen van uw model, samen met het COCO-bestand dat de labelinformatie over deze afbeeldingen definieert. Uw gegevensset wordt opgeslagen in een Azure Blob Storage-container en we bespreken meer over het COCO-bestand verder in deze eenheid.
Zodra uw afbeeldingen en klasselabels zijn gedefinieerd, kunt u uw aangepaste model trainen. Bij het trainen van uw model geeft u het type model op dat moet worden getraind, welke gegevensset moet worden gebruikt en uw trainingsbudget (in de hoeveelheid tijd). Wanneer de modeltraining is voltooid, kunt u de prestaties bekijken en het model gebruiken voor voorspellingen.
In de meeste gevallen zijn de stappen die u volgt:
- Maak uw Blob Storage-container en upload alleen de trainingsafbeeldingen.
- Maak de gegevensset voor uw project en verbind deze met uw blobopslagcontainer. Bij het maken van uw gegevensset definieert u welk type project het is (afbeeldingsclassificatie, objectdetectie of productherkenning).
- Label uw gegevens in uw Azure Machine Learning-gegevenslabelproject, waarmee het COCO-bestand wordt gemaakt in uw blobopslagcontainer.
- Verbinding maken het voltooide COCO-bestand voor de gelabelde afbeeldingen in uw gegevensset.
- Train uw aangepaste model op de gegevensset en labels die zijn gemaakt.
- Controleer de prestaties en itereer of de getrainde prestaties niet voldoen aan de verwachtingen.
Zodra u tevreden bent met de prestaties, kan het model worden gebruikt in Vision Studio of in uw eigen toepassing.
COCO bestanden
Een COCO-bestand is een JSON-bestand met een specifieke indeling die het volgende definieert:
- afbeeldingen: Definieert de locatie van de afbeelding in blobopslag, naam, breedte, hoogte en id.
- aantekeningen: Definieert de classificaties (of objecten), inclusief de categorie waarin de afbeelding is geclassificeerd als, het gebied en het begrenzingsvak (als labelen voor objectdetectie).
- categorieën: Definieert de id voor de benoemde labelklasse.
In de meeste gevallen worden COCO-bestanden gemaakt door uw trainingsafbeeldingen te labelen in een Azure Machine Learning-gegevenslabelproject. Als u migreert van een oud Custom Vision-project, kunt u het migratiescript gebruiken om uw COCO-bestand te maken.
Een COCO-voorbeeldbestand ziet er als volgt uit:
{
"images": [
{
"id": 1,
"width": 1024,
"height": 768,
"file_name": "abc.jpg",
"coco_url": "AmlDatastore://fruit/abc.jpg",
"absolute_url": "https://myBlobStorage.blob.core.windows.net/fruit/abc.jpg",
"date_captured": "<date>"
},
{
"id": 2,
"width": 1024,
"height": 768,
"file_name": "xyz.jpg",
"coco_url": "AmlDatastore://fruit/xyz.jpg",
"absolute_url": "https://myBlobStorage.blob.core.windows.net/fruit/xyz.jpg",
"date_captured": "<date>"
},
<...>
],
"annotations": [
{
"id": 1,
"category_id": 1,
"image_id": 1,
"area": 0.0
},
{
"id": 2,
"category_id": 1,
"image_id": 2,
"area": 0.0
},
<...>
],
"categories": [
{
"id": 1,
"name": "apple"
},
{
"id": 2,
"name": "orange"
},
{
"id": 3,
"name": "banana"
}
]
}
Als u een gegevensset voor objectdetectie labelt, bevat elke aantekening in het COCO-bestand ook een begrenzingsvakmatrix met de waarden in de matrix links, boven, breedte en hoogte.
"bbox": [
0.11803319477782331,
0.41586723392402375,
0.7765206955096307,
0.3483334397217212
]
Uw gegevensset maken
Zodra u afbeeldingen in uw blobopslagcontainer hebt, kunt u uw gegevensset maken voor training met behulp van de REST API of met behulp van Vision Studio. De REST-aanvraag lijkt op de volgende REST-aanroep:
curl -X PUT https://<endpoint>/computervision/datasets/<dataset-name>?api-version=<version>\
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: <subscription-key>" \
--data-ascii "
{
'annotationKind':'imageClassification',
'annotationFileUris':['<URI>']
}"
Als u Vision Studio gebruikt, navigeert u naar de tegel aangepast model, selecteert u uw resource en maakt u uw gegevensset. Hier kunt u een Azure Machine Learning-gegevenslabelproject openen of maken of een bestaand COCO-bestand uploaden. In de oefening in deze module wordt uitgelegd hoe u uw gegevensset op deze manier maakt.
Met Vision Studio kunt u verbinding maken met uw labelproject in Azure Machine Learning in plaats van het COCO-bestand op te geven in de REST-aanvraag. De rest van de voorbeelden in deze module maakt gebruik van Vision Studio, maar als REST uw voorkeursmethodevoorbeelden zijn, zijn beschikbaar op de documentatiepagina's.