Aan de slag met de afbeeldingsclassificatie in Azure
U kunt afbeeldingsclassificatie uitvoeren met behulp van Azure AI Custom Vision, beschikbaar als onderdeel van de Azure AI Services-aanbiedingen. Dit is over het algemeen eenvoudiger en sneller dan het schrijven van uw eigen modeltrainingscode en stelt mensen met weinig of geen ervaring op het gebied van Machine Learning in staat een efficiënte oplossing voor afbeeldingsclassificatie te maken.
Azure-resources voor Azure AI Custom Vision
Het maken van een oplossing voor afbeeldingsclassificatie met Azure AI Custom Vision bestaat uit twee hoofdtaken. Gebruik eerst bestaande afbeeldingen om het model te trainen. Publiceer vervolgens het model, zodat clienttoepassingen het kunnen gebruiken om voorspellingen te genereren.
Voor elk van deze taken hebt u een resource nodig in uw Azure-abonnement. U kunt de volgende typen resources gebruiken:
- Custom Vision: een toegewezen resource voor de Custom Vision-service, die training, een voorspelling of beide resources kan zijn.
- Azure AI-services: een algemene resource die Azure AI Custom Vision bevat, samen met vele andere Azure AI-services. U kunt dit type resource gebruiken voor training, voorspelling of beide.
De scheiding van training- en voorspellingsresources is handig als u het resourcegebruik voor modeltraining apart wilt volgen van clienttoepassingen die het model gebruiken om afbeeldingsklassen te voorspellen. Het kan de ontwikkeling van een oplossing voor afbeeldingsclassificatie echter wel wat verwarrend maken.
De eenvoudigste benadering is het gebruik van een algemene Azure AI-servicesresource voor zowel training als voorspelling. Dit betekent dat u zich maar met één eindpunt (het HTTP-adres waarop uw service wordt gehost) en sleutel (een geheime waarde die door clienttoepassingen wordt gebruikt om zich te verifiëren) hoeft bezig te houden.
Als u ervoor kiest om een Custom Vision-resource te maken, wordt u gevraagd te kiezen voor training, voorspelling of beide. Het is van belang om te weten dat als u voor beide kiest, er twee resources worden gemaakt: een voor training en een voor voorspelling.
Het is ook mogelijk om een mix-and-match-benadering te gebruiken waarin u een toegewezen Custom Vision-resource gebruikt voor training, maar uw model implementeert in een Azure AI-servicesresource voor voorspelling. Dit kan alleen werken als de trainings- en voorspellingsresources in dezelfde regio worden gemaakt.
Modeltraining
Als u een classificatiemodel wilt trainen, moet u afbeeldingen uploaden naar uw trainingsresource en ze voorzien van de juiste klasselabels. Vervolgens moet u het model trainen en de resultaten hiervan evalueren.
U kunt deze taken uitvoeren in de Custom Vision-portal of als u over de benodigde coderingservaring beschikt, kunt u een van de programmeertaalspecifieke SDK's (Software Development Kits) van de Azure AI Custom Vision-service gebruiken.
Een van de belangrijkste overwegingen bij het gebruik van afbeeldingen voor classificatie is ervoor te zorgen dat u voldoende afbeeldingen van de objecten in kwestie hebt en dat die afbeeldingen vanuit veel verschillende hoeken van het object zijn.
Modelevaluatie
Het modeltrainingsproces is een iteratief proces waarin azure AI Custom Vision-service het model herhaaldelijk traint met behulp van een aantal gegevens, maar een aantal terughoudt om het model te evalueren. Aan het einde van het trainingsproces worden de prestaties voor het getrainde model aangegeven met de volgende metrische gegevens voor de evaluatie:
- Precisie: Welk percentage van de klassevoorspellingen die door het model zijn gemaakt, zijn correct? Als het model bijvoorbeeld voorspelde dat 10 afbeeldingen sinaasappels zijn, waarvan acht inderdaad sinaasappels waren, is de nauwkeurigheid 0,8 (80%).
- Relevante overeenkomsten: Welk percentage van klassevoorspellingen heeft het model correct geïdentificeerd? Als er bijvoorbeeld 10 afbeeldingen van appels zijn en het model heeft er zeven gevonden, dan is de relevante overeenkomst 0,7 (70%).
- Gemiddelde precisie (AP): een algemene metriek die rekening houdt met zowel precisie als relevante overeenkomsten.
Het model voor voorspelling gebruiken
Nadat u het model hebt getraind en u tevreden bent met de geëvalueerde prestaties, kunt u het model publiceren naar uw voorspellingsresource. Wanneer u het model publiceert, kunt u er een naam aan toewijzen (de standaardwaarde is IteratieX, waarbij X het aantal keren is dat u het model hebt getraind).
Ontwikkelaars van clienttoepassingen kunnen uw model gebruiken als ze over de volgende informatie beschikken:
- Project-id: de unieke id van het Custom Vision-project dat u hebt gemaakt om het model te trainen.
- Modelnaam: de naam die u tijdens het publiceren aan het model hebt toegewezen.
- Voorspellingseindpunt: het HTTP-adres van de eindpunten voor de voorspellingsresource waarnaar u het model hebt gepubliceerd (niet de trainingsresource).
- Voorspellingssleutel: de verificatiesleutel voor de voorspellingsresource waarnaar u het model hebt gepubliceerd (niet de trainingsresource).