In dit bericht bespreken we best practices om de prestaties van uw computer vision-modellen te verbeteren met behulp van Aangepaste labels voor Amazon-herkenning. Rekognition Custom Labels is een volledig beheerde service om aangepaste computervisiemodellen te bouwen voor gebruiksscenario's voor beeldclassificatie en objectdetectie. Rekognition Custom Labels bouwt voort op de vooraf getrainde modellen in Amazon Rekognition, die al zijn getraind op tientallen miljoenen afbeeldingen in vele categorieรซn. In plaats van duizenden afbeeldingen, kunt u aan de slag gaan met een kleine set trainingsafbeeldingen (een paar honderd of minder) die specifiek zijn voor uw gebruik. Rekognition Custom Labels abstraheert de complexiteit die gepaard gaat met het bouwen van een aangepast model. Het inspecteert automatisch de trainingsgegevens, selecteert de juiste ML-algoritmen, selecteert het instantietype, traint meerdere kandidaatmodellen met verschillende hyperparameterinstellingen en voert het best getrainde model uit. Rekognition Custom Labels biedt ook een gebruiksvriendelijke interface van de AWS-beheerconsole voor het beheren van de volledige ML-workflow, inclusief het labelen van afbeeldingen, het trainen van het model, het implementeren van het model en het visualiseren van de testresultaten.
Er zijn momenten waarop de nauwkeurigheid van een model niet de beste is en u niet veel opties hebt om de configuratieparameters van het model aan te passen. Achter de schermen zijn er meerdere factoren die een sleutelrol spelen bij het bouwen van een goed presterend model, zoals de volgende:
- Beeldhoek
- Beeldresolutie
- Beeldverhouding
- Blootstelling aan licht
- Duidelijkheid en levendigheid van de achtergrond
- Kleurcontrast
- Grootte van voorbeeldgegevens
Hieronder volgen de algemene stappen die moeten worden gevolgd om een โโRekognition Custom Labels-model van productiekwaliteit te trainen:
- Taxonomie beoordelen โ Dit definieert de lijst met attributen/items die u in een afbeelding wilt identificeren.
- Verzamel relevante gegevens โ Dit is de belangrijkste stap, waarbij u relevante afbeeldingen moet verzamelen die moeten lijken op wat u in een productieomgeving zou zien. Dit kunnen afbeeldingen zijn van objecten met verschillende achtergronden, belichting of camerahoeken. U maakt vervolgens een trainings- en testdataset door de verzamelde afbeeldingen te splitsen. U mag alleen afbeeldingen uit de echte wereld opnemen als onderdeel van de testgegevensset en geen synthetisch gegenereerde afbeeldingen. Annotaties van de gegevens die u hebt verzameld, zijn cruciaal voor de modelprestaties. Zorg ervoor dat de selectiekaders strak om de objecten zitten en dat de labels nauwkeurig zijn. We bespreken enkele tips die u kunt overwegen bij het bouwen van een geschikte dataset verderop in dit bericht.
- Trainingsstatistieken bekijken โ Gebruik de voorgaande datasets om een โโmodel te trainen en bekijk de trainingsstatistieken voor F1-score, precisie en recall. We zullen later in dit bericht in detail bespreken hoe u de trainingsstatistieken kunt analyseren.
- Evalueer het getrainde model โ Gebruik een reeks onzichtbare afbeeldingen (niet gebruikt voor het trainen van het model) met bekende labels om de voorspellingen te evalueren. Deze stap moet altijd worden uitgevoerd om ervoor te zorgen dat het model presteert zoals verwacht in een productieomgeving.
- Omscholing (optioneel) โ Over het algemeen is het trainen van elk machine learning-model een iteratief proces om de gewenste resultaten te bereiken, een computervisiemodel is niet anders. Bekijk de resultaten in stap 4 om te zien of er meer afbeeldingen aan de trainingsgegevens moeten worden toegevoegd en herhaal de bovenstaande stappen 3-5.
In dit bericht richten we ons op de best practices rond het verzamelen van relevante gegevens (stap 2) en het evalueren van uw getrainde statistieken (stap 3) om de prestaties van uw model te verbeteren.
Verzamel relevante gegevens
Dit is de meest kritieke fase van het trainen van een Rekognition Custom Labels-model van productiekwaliteit. Concreet zijn er twee datasets: training en testen. Trainingsgegevens worden gebruikt voor het trainen van het model, en u moet de moeite nemen om een โโgeschikte trainingsset te bouwen. Rekognition Custom Labels-modellen zijn geoptimaliseerd voor: F1-score op de testdataset om het meest nauwkeurige model voor uw project te selecteren. Daarom is het essentieel om een โโtestdataset samen te stellen die lijkt op de echte wereld.
Aantal afbeeldingen
We raden aan om minimaal 15-20 afbeeldingen per label te hebben. Als u meer afbeeldingen heeft met meer variaties die passen bij uw gebruiksscenario, zullen de prestaties van het model verbeteren.
Gebalanceerde dataset
Idealiter zou elk label in de dataset een vergelijkbaar aantal monsters moeten hebben. Er mag geen groot verschil zijn in het aantal afbeeldingen per label. Een gegevensset met het hoogste aantal afbeeldingen voor een label is bijvoorbeeld 1,000 versus 50 afbeeldingen voor een ander label, en lijkt op een onevenwichtige gegevensset. We raden aan om scenario's te vermijden met een scheve verhouding van 1:50 tussen het label met het minste aantal afbeeldingen en het label met het hoogste aantal afbeeldingen.
Verschillende soorten afbeeldingen
Neem afbeeldingen op in de trainings- en testdataset die lijken op wat u in de echte wereld gaat gebruiken. Als u bijvoorbeeld afbeeldingen van woonkamers versus slaapkamers wilt classificeren, moet u lege en gemeubileerde afbeeldingen van beide kamers opnemen.
Hieronder ziet u een voorbeeldafbeelding van een gemeubileerde woonkamer.
Het volgende is daarentegen een voorbeeld van een ongemeubileerde woonkamer.
Hieronder ziet u een voorbeeldafbeelding van een gemeubileerde slaapkamer.
Hieronder ziet u een voorbeeldafbeelding van een ongemeubileerde slaapkamer.
Verschillende achtergronden
Voeg afbeeldingen met verschillende achtergronden toe. Afbeeldingen met een natuurlijke context kunnen betere resultaten opleveren dan een gewone achtergrond.
Hieronder ziet u een voorbeeldafbeelding van de voortuin van een huis.
Hieronder ziet u een voorbeeldafbeelding van de voortuin van een ander huis met een andere achtergrond.
Variรซrende lichtomstandigheden
Voeg afbeeldingen toe met variรซrende belichting, zodat deze de verschillende lichtomstandigheden dekt die optreden tijdens inferentie (bijvoorbeeld met en zonder flits). U kunt ook afbeeldingen opnemen met verschillende verzadiging, tint en helderheid.
Het volgende is een voorbeeldafbeelding van een bloem onder normaal licht.
De volgende afbeelding daarentegen is van dezelfde bloem onder fel licht.
Verschillende hoeken
Voeg afbeeldingen toe die vanuit verschillende hoeken van het object zijn genomen. Dit helpt het model verschillende kenmerken van de objecten te leren.
De volgende afbeeldingen zijn van dezelfde slaapkamer vanuit verschillende hoeken.
Het kan voorkomen dat het niet mogelijk is om afbeeldingen van verschillende typen te verkrijgen. In die scenario's kunnen synthetische afbeeldingen worden gegenereerd als onderdeel van de trainingsgegevensset. Voor meer informatie over algemene beeldvergrotingstechnieken, zie: Gegevensvergroting.
Negatieve labels toevoegen
Voor beeldclassificatie kan het toevoegen van negatieve labels de nauwkeurigheid van het model helpen vergroten. U kunt bijvoorbeeld een negatief label toevoegen dat niet overeenkomt met een van de vereiste labels. De volgende afbeelding geeft de verschillende labels weer die worden gebruikt om volgroeide bloemen te identificeren.
Het negatieve label toevoegen not_fully_grown
helpt het model kenmerken te leren die geen deel uitmaken van de fully_grown
label.
Omgaan met labelverwarring
Analyseer de resultaten op de testdataset om eventuele patronen te herkennen die in de trainings- of testdataset worden gemist. Soms is het gemakkelijk om dergelijke patronen te herkennen door de afbeeldingen visueel te bekijken. In de volgende afbeelding worstelt het model met het oplossen van een label voor een achtertuin en een terras.
In dit scenario kan het toevoegen van meer afbeeldingen aan deze labels in de gegevensset en het opnieuw definiรซren van de labels, zodat elk label verschillend is, de nauwkeurigheid van het model helpen vergroten.
Gegevensvergroting
Binnen Rekognition Custom Labels voeren we verschillende gegevensverbeteringen uit voor modeltraining, waaronder willekeurig bijsnijden van de afbeelding, kleurtrillingen, willekeurige Gauss-geluiden en meer. Op basis van uw specifieke gebruiksscenario's kan het ook nuttig zijn om meer expliciete gegevensverbeteringen toe te voegen aan uw trainingsgegevens. Als u bijvoorbeeld geรฏnteresseerd bent in het detecteren van dieren in zowel kleuren- als zwart-witafbeeldingen, kunt u mogelijk een betere nauwkeurigheid krijgen door zwart-wit- en kleurenversies van dezelfde afbeeldingen aan de trainingsgegevens toe te voegen.
We raden geen augmentaties aan voor testgegevens, tenzij de augmentaties uw productiegebruiksscenario's weerspiegelen.
Trainingsstatistieken bekijken
F1-score, precisie, terugroepactie en veronderstelde drempel zijn de metriek die worden gegenereerd als output van het trainen van een model met behulp van Rekognition Custom Labels. De modellen zijn geoptimaliseerd voor de beste F1-score op basis van de aangeleverde testdataset. De veronderstelde drempel wordt ook gegenereerd op basis van de testdataset. U kunt de drempel aanpassen op basis van uw zakelijke behoefte in termen van precisie of terugroepactie.
Omdat de veronderstelde drempels zijn ingesteld op de testgegevensset, moet een geschikte testset de praktijksituatie van de productie weerspiegelen. Als de testdataset niet representatief is voor de use case, ziet u mogelijk kunstmatig hoge F1-scores en slechte modelprestaties op uw real-world afbeeldingen.
Deze metrieken zijn handig bij het uitvoeren van een eerste evaluatie van het model. Voor een systeem van productiekwaliteit raden we aan om het model te vergelijken met een externe dataset (500-1,000 ongeziene afbeeldingen) die representatief zijn voor de echte wereld. Dit helpt om te evalueren hoe het model zou presteren in een productiesysteem en om eventuele ontbrekende patronen te identificeren en deze te corrigeren door het model opnieuw te trainen. Als u een mismatch ziet tussen F1-scores en externe evaluatie, raden we u aan te onderzoeken of uw testgegevens de praktijksituatie weerspiegelen.
Conclusie
In dit bericht hebben we u door de best practices geleid voor het verbeteren van Rekognition Custom Labels-modellen. We moedigen u aan om meer te weten te komen over: Erkenning aangepaste labels en probeer het uit voor uw bedrijfsspecifieke datasets.
Over de auteurs
Amit Gupta is Senior AI Services Solutions Architect bij AWS. Hij is gepassioneerd om klanten op grote schaal goed ontworpen machine learning-oplossingen te bieden.
Yogesh Chaturvedi is Solutions Architect bij AWS met een focus op computer vision. Hij werkt samen met klanten om hun zakelijke uitdagingen aan te pakken met behulp van cloudtechnologieรซn. Naast zijn werk houdt hij van wandelen, reizen en sport kijken.
Ha Yang is een Senior Applied Scientist bij het Amazon Rekognition Custom Labels-team. Zijn belangrijkste onderzoeksinteresses zijn objectdetectie en leren met beperkte annotaties. Buiten het werk kijkt Hao graag naar films, fotografie en buitenactiviteiten.
Pashmeen Mistry is de Senior Product Manager voor Amazon Rekognition Custom Labels. Naast zijn werk houdt Pashmeen van avontuurlijke wandelingen, fotografie en tijd doorbrengen met zijn gezin.
- AI
- ai kunst
- ai kunst generator
- je hebt een robot
- Amazon Rekognition
- kunstmatige intelligentie
- certificering van kunstmatige intelligentie
- kunstmatige intelligentie in het bankwezen
- kunstmatige intelligentie robot
- kunstmatige intelligentie robots
- kunstmatige intelligentiesoftware
- AWS-machine learning
- AWS-beheerconsole
- blockchain
- blockchain conferentie ai
- vindingrijk
- conversatie kunstmatige intelligentie
- crypto conferentie ai
- van dall
- diepgaand leren
- google ai
- Intermediair (200)
- machine learning
- Plato
- plato ai
- Plato gegevensintelligentie
- Plato-spel
- PlatoData
- platogamen
- schaal ai
- syntaxis
- zephyrnet