In de landbouwsector speelt het probleem van het identificeren en tellen van de hoeveelheid fruit aan bomen een belangrijke rol bij de schatting van gewassen. Het concept van het huren en leasen van een boom wordt steeds populairder, waarbij een boomeigenaar de boom elk jaar voor de oogst huurt op basis van de geschatte fruitopbrengst. De gangbare praktijk van het handmatig tellen van fruit is een tijdrovend en arbeidsintensief proces. Het is een van de moeilijkste maar belangrijkste taken om betere resultaten te behalen in uw gewasbeheersysteem. Deze schatting van de hoeveelheid fruit en bloemen helpt boeren om betere beslissingen te nemen, niet alleen over leaseprijzen, maar ook over teeltpraktijken en preventie van plantenziekten.
Dit is waar een geautomatiseerde machine learning (ML)-oplossing voor computer vision (CV) boeren kan helpen. Aangepaste labels voor Amazon-herkenning is een volledig beheerde computer vision-service waarmee ontwikkelaars aangepaste modellen kunnen bouwen om objecten in afbeeldingen te classificeren en identificeren die specifiek en uniek zijn voor uw bedrijf.
Rekognition Custom Labels vereist geen eerdere computer vision-expertise. U kunt aan de slag door simpelweg tientallen afbeeldingen te uploaden in plaats van duizenden. Als de afbeeldingen al zijn gelabeld, kunt u met slechts een paar klikken beginnen met het trainen van een model. Als dat niet het geval is, kunt u ze rechtstreeks labelen in de Rekognition Custom Labels-console of gebruiken Amazon SageMaker Grondwaarheid om ze te labelen. Rekognition Custom Labels gebruikt transfer learning om automatisch de trainingsgegevens te inspecteren, het juiste modelraamwerk en algoritme te selecteren, de hyperparameters te optimaliseren en het model te trainen. Als u tevreden bent met de nauwkeurigheid van het model, kunt u met slechts รฉรฉn klik beginnen met het hosten van het getrainde model.
In dit bericht laten we zien hoe je een end-to-end oplossing kunt bouwen met behulp van Rekognition Custom Labels om fruit te detecteren en te tellen om de landbouwopbrengst te meten.
Overzicht oplossingen
We maken een aangepast model om fruit te detecteren met behulp van de volgende stappen:
- Label een dataset met afbeeldingen die fruit bevatten met behulp van Amazon SageMaker Grondwaarheid.
- Maak een project aan in Rekognition Custom Labels.
- Importeer uw gelabelde dataset.
- Train het model.
- Test het nieuwe aangepaste model met behulp van het automatisch gegenereerde API-eindpunt.
Met Rekognition Custom Labels kun je het trainingsproces voor ML-modellen beheren op de Amazon Rekognition-console, wat het end-to-end-modelontwikkelings- en inferentieproces vereenvoudigt.
Voorwaarden
Om een โโlandbouwopbrengstmeetmodel te maken, moet u eerst een dataset voorbereiden om het model mee te trainen. Voor dit bericht bestaat onze dataset uit afbeeldingen van fruit. De volgende afbeeldingen tonen enkele voorbeelden.
We hebben onze afbeeldingen uit onze eigen tuin gehaald. U kunt de afbeeldingsbestanden downloaden van de GitHub repo.
Voor dit bericht gebruiken we slechts een handvol afbeeldingen om de use-case van fruitopbrengst te laten zien. U kunt verder experimenteren met meer afbeeldingen.
Voer de volgende stappen uit om uw dataset voor te bereiden:
- Maak een Amazon eenvoudige opslagservice (Amazon S3) emmer.
- Maak twee mappen in deze bucket, genaamd
raw_data
entest_data
, om afbeeldingen op te slaan voor labeling en modeltesten. - Kies Uploaden om de afbeeldingen vanuit de GitHub-repo naar hun respectievelijke mappen te uploaden.
De geรผploade afbeeldingen zijn niet gelabeld. U labelt de afbeeldingen in de volgende stap.
Label uw dataset met Ground Truth
Om het ML-model te trainen, hebt u gelabelde afbeeldingen nodig. Ground Truth biedt een eenvoudig proces om de afbeeldingen te labelen. De etiketteringstaak wordt uitgevoerd door een menselijk personeelsbestand; in deze post creรซer je een privรฉ personeelsbestand. Je kunt gebruiken Amazon Mechanical Turk voor etikettering op schaal.
Creรซer een labelpersoneel
Laten we eerst ons etiketteringspersoneel maken. Voer de volgende stappen uit:
- Op de SageMaker-console, onder Grond waarheid in het navigatievenster, kies Labelling van arbeidskrachten.
- Op de Privรฉ tabblad, kies Maak een privรฉteam.
- Voor Teamnaam, voer een naam in voor uw personeelsbestand (voor dit bericht,
labeling-team
). - Kies Maak een privรฉteam.
- Kies Nodig nieuwe werknemers uit.
- In het Werknemers toevoegen op e-mailadres voert u de e-mailadressen van uw werknemers in. Vul voor dit bericht je eigen e-mailadres in.
- Kies Nodig nieuwe werknemers uit.
U hebt een etiketteringspersoneel gemaakt, dat u in de volgende stap gebruikt bij het maken van een etiketteringstaak.
Maak een Ground Truth-labeltaak aan
Voer de volgende stappen uit om uw labeltaak geweldig te maken:
- Op de SageMaker-console, onder Grond waarheid, kiezen Labelling banen.
- Kies Maak labelling job.
- Voor Taaknaam, ga naar binnen
fruits-detection
. - kies Ik wil een labelkenmerknaam opgeven die verschilt van de naam van de labeltaak.
- Voor Label attribuutnaamยธ invoeren
Labels
. - Voor Instellingen voor invoergegevensselecteer Geautomatiseerde gegevensconfiguratie.
- Voor S3-locatie voor invoergegevenssets, voer de S3-locatie van de afbeeldingen in met behulp van de bucket die u eerder hebt gemaakt (
s3://{your-bucket-name}/raw-data/images/
). - Voor S3-locatie voor uitvoergegevenssetsselecteer Geef een nieuwe locatie op en voer de uitvoerlocatie in voor geannoteerde gegevens (
s3://{your-bucket-name}/annotated-data/
). - Voor Data type, kiezen Beeld.
- Kies Volledige gegevensconfiguratie.
Hiermee wordt het afbeeldingsmanifestbestand gemaakt en wordt het S3-invoerlocatiepad bijgewerkt. Wacht op het bericht "Invoergegevensverbinding succesvol". - Uitvouwen Aanvullende configuratie.
- Bevestig dat Volledige dataset is geselecteerd.
Dit wordt gebruikt om aan te geven of u alle afbeeldingen aan de labeltaak wilt geven of een subset van afbeeldingen op basis van filters of willekeurige steekproeven. - Voor Taakcategorie, kiezen Beeld omdat dit een taak is voor beeldannotatie.
- Omdat dit een use-case voor objectdetectie is, Taakselectieselecteer Begrenzingsvak.
- Laat de andere opties als standaard en kies Volgende.
- Kies Volgende.
Nu specificeert u uw werknemers en configureert u de labeltool. - Voor Soorten werknemersselecteer Privรฉ.Voor dit bericht gebruikt u een intern personeelsbestand om de afbeeldingen te annoteren. U hebt ook de mogelijkheid om een โโpubliek contractueel personeelsbestand te selecteren (Amazon Mechanische Turk) of een partnerpersoneel (Door leverancier beheerd) afhankelijk van uw gebruikssituatie.
- Kies voor Privรฉteams het team dat u eerder hebt gemaakt.
- Laat de andere opties als standaard en scrol omlaag naar Labeltool voor begrenzingsvakken.Het is essentieel om hier duidelijke instructies te geven in de etiketteringstool voor het private labeling-team. Deze instructies dienen als richtlijn voor annotators tijdens het labelen. Goede instructies zijn beknopt, dus we raden aan om de verbale of tekstuele instructies te beperken tot twee zinnen en te focussen op visuele instructies. In het geval van beeldclassificatie raden we aan om in elk van de klassen รฉรฉn gelabelde afbeelding op te geven als onderdeel van de instructies.
- Voeg twee labels toe:
fruit
enno_fruit
. - Voer gedetailleerde instructies in de Beschrijving veld om op te geven instructies aan de arbeiders. Bijvoorbeeld:
You need to label fruits in the provided image. Please ensure that you select label 'fruit' and draw the box around the fruit just to fit the fruit for better quality of label data. You also need to label other areas which look similar to fruit but are not fruit with label 'no_fruit'
.U kunt optioneel ook voorbeelden geven van goede en slechte labelafbeeldingen. U moet ervoor zorgen dat deze afbeeldingen openbaar toegankelijk zijn. - Kies creรซren om de labeltaak te maken.
Nadat de taak met succes is gemaakt, is de volgende stap het labelen van de invoerafbeeldingen.
Start de labeltaak
Nadat u de taak met succes hebt gemaakt, is de status van de taak: InProgress
. Dit betekent dat de baan wordt gecreรซerd en dat het privรฉpersoneel via e-mail op de hoogte wordt gebracht van de taak die aan hen is toegewezen. Omdat je de taak aan jezelf hebt toegewezen, zou je een e-mail moeten ontvangen met instructies om in te loggen op het Ground Truth Labeling-project.
- Open de e-mail en kies de verstrekte link.
- Voer de gebruikersnaam en het wachtwoord in die in de e-mail staan.
Het kan zijn dat u na het inloggen het tijdelijke wachtwoord in de e-mail moet wijzigen in een nieuw wachtwoord. - Nadat u bent ingelogd, selecteert u uw baan en kiest u Begin met werken.
U kunt de meegeleverde hulpmiddelen gebruiken om in te zoomen, uit te zoomen, te verplaatsen en begrenzingsvakken in de afbeeldingen te tekenen. - Kies je etiket (
fruit
orno_fruit
) en teken vervolgens een selectiekader in de afbeelding om er aantekeningen in te maken. - Kies als je klaar bent Verzenden.
U hebt nu correct gelabelde afbeeldingen die door het ML-model voor training worden gebruikt.
Creรซer uw Amazon Recognition-project
Voer de volgende stappen uit om uw project voor het meten van landbouwopbrengsten te maken:
- Kies op de Amazon Rekognition-console Aangepaste labels.
- Kies Start nu.
- Voor Naam van het project, ga naar binnen
fruits_yield
. - Kies Maak een project aan.
U kunt ook een project maken op het Projecten bladzijde. U hebt toegang tot het Projecten pagina via het navigatievenster. De volgende stap is het aanleveren van afbeeldingen als invoer.
Importeer uw dataset
Om uw landbouwopbrengstmeetmodel te maken, moet u eerst een dataset importeren om het model mee te trainen. Voor dit bericht is onze dataset al gelabeld met Ground Truth.
- Voor Afbeeldingen importerenselecteer Afbeeldingen importeren die zijn gelabeld door SageMaker Ground Truth.
- Voor Manifest bestandslocatie, voer de S3-bucketlocatie van uw manifestbestand in (
s3://{your-bucket-name}/fruits_image/annotated_data/fruits-labels/manifests/output/output.manifest
). - Kies Maak dataset.
U kunt uw gelabelde dataset zien.
Nu hebt u uw invoergegevensset voor het ML-model om ermee te trainen.
Train je model
Nadat je je afbeeldingen hebt gelabeld, ben je klaar om je model te trainen.
Wacht tot de training is voltooid. Nu kunt u beginnen met het testen van de prestaties voor dit getrainde model.
Test uw model
Uw meetmodel voor de landbouwopbrengst is nu klaar voor gebruik en zou in de Running
staat. Voer de volgende stappen uit om het model te testen:
Stap 1: Start het model
Op de pagina met modelgegevens, op de Gebruik model tabblad, kies Start.
Rekognition Custom Labels biedt ook de API-aanroepen voor het starten, gebruiken en stoppen van uw model.
Stap 2: Test het model
Wanneer het model in de Running
staat, kunt u het voorbeeldtestscript gebruiken analyzeImage.py
om de hoeveelheid fruit in een afbeelding te tellen.
- Download dit script van of the GitHub repo.
- Bewerk dit bestand om de parameter te vervangen
bucket
met je bucketnaam enmodel
met uw Amazon Recognition-model ARN.
We gebruiken de parameters photo
en min_confidence
als invoer voor dit Python-script.
U kunt dit script lokaal uitvoeren met behulp van de AWS-opdrachtregelinterface (AWS CLI) of met behulp van AWS-cloudshell. In ons voorbeeld hebben we het script uitgevoerd via de CloudShell-console. Merk op dat CloudShell is gratis te gebruiken.
Zorg ervoor dat u de vereiste afhankelijkheden installeert met behulp van de opdracht pip3 install boto3 PILLOW
indien nog niet geรฏnstalleerd.
De volgende schermafbeelding toont de uitvoer, die twee vruchten in de invoerafbeelding heeft gedetecteerd. We leverden 15.jpeg als fotoargument en 85 als de min_confidence
waarde.
Het volgende voorbeeld toont afbeelding 15.jpeg met twee selectiekaders.
U kunt hetzelfde script met andere afbeeldingen uitvoeren en experimenteren door de betrouwbaarheidsscore verder te wijzigen.
Stap 3: Stop het model
Als u klaar bent, vergeet dan niet om het model te stoppen om onnodige kosten te voorkomen. Kies op de pagina met modeldetails op het tabblad Model gebruiken de optie Stop.
Opruimen
Om onnodige kosten te voorkomen, verwijdert u de bronnen die in dit stappenplan worden gebruikt wanneer ze niet in gebruik zijn. We moeten het Amazon Rekognition-project en de S3-bucket verwijderen.
Het Amazon Rekognition-project verwijderen
Voer de volgende stappen uit om het Amazon Rekognition-project te verwijderen:
- Kies op de Amazon Rekognition-console Gebruik aangepaste labels.
- Kies Start.
- Kies in het navigatievenster Projecten.
- Op de Projecten pagina, selecteer het project dat u wilt verwijderen.
- Kies Verwijder.
De Project verwijderen dialoogvenster verschijnt.
- Kies Verwijder.
- Als het project geen gekoppelde modellen heeft:
- Enter verwijderen om het project te verwijderen.
- Kies Verwijder om het project te verwijderen.
- Als het project bijbehorende modellen of datasets heeft:
- Enter verwijderen om te bevestigen dat u het model en de datasets wilt verwijderen.
- Kies een van beide Gekoppelde modellen verwijderen, Bijbehorende datasets verwijderenof Bijbehorende datasets en modellen verwijderen, afhankelijk van of het model gegevenssets, modellen of beide heeft.
Het verwijderen van een model kan even duren. Houd er rekening mee dat de Amazon Rekognition-console geen modellen kan verwijderen die in training of hardlopen zijn. Probeer het opnieuw nadat u alle actieve modellen in de lijst hebt gestopt en wacht tot de modellen die als training worden vermeld, zijn voltooid. Als u het dialoogvenster sluit tijdens het verwijderen van modellen, worden de modellen nog steeds verwijderd. U kunt het project later verwijderen door deze procedure te herhalen.
- Enter verwijderen om te bevestigen dat u het project wilt verwijderen.
- Kies Verwijder om het project te verwijderen.
Uw S3-bucket verwijderen
U moet eerst de emmer leegmaken en vervolgens verwijderen.
- Op de Amazon S3 console, kies Emmers.
- Selecteer de emmer die u wilt legen en kies vervolgens Leeg.
- Bevestig dat u de bucket wilt legen door de bucketnaam in het tekstveld in te voeren en kies vervolgens Leeg.
- Kies Verwijder.
- Bevestig dat u de bucket wilt verwijderen door de bucketnaam in het tekstveld in te voeren en kies vervolgens Emmer verwijderen.
Conclusie
In dit bericht hebben we u laten zien hoe u een objectdetectiemodel kunt maken met Rekognition Custom Labels. Deze functie maakt het gemakkelijk om een โโaangepast model te trainen dat een objectklasse kan detecteren zonder andere objecten te specificeren of de nauwkeurigheid van de resultaten te verliezen.
Zie voor meer informatie over het gebruik van aangepaste labels Wat zijn aangepaste labels van Amazon Rekognition?
Over de auteurs
Dhiraj Thakuro is een Solutions Architect bij Amazon Web Services. Hij werkt samen met AWS-klanten en -partners om advies te geven over de acceptatie, migratie en strategie van enterprise-cloud. Hij is gepassioneerd door technologie en geniet van het bouwen en experimenteren op het gebied van analyse en AI / ML.
Sameer Doel is een Sr. Solutions Architect in Nederland, die het succes van klanten stimuleert door prototypes te bouwen op geavanceerde initiatieven. Voordat Sameer bij AWS in dienst trad, studeerde hij af met een masterdiploma in Boston, met een concentratie in datawetenschap. Hij geniet van het bouwen en experimenteren met AI/ML-projecten op Raspberry Pi. Je vindt hem op LinkedIn.
- 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
- blockchain
- blockchain conferentie ai
- vindingrijk
- conversatie kunstmatige intelligentie
- crypto conferentie ai
- van dall
- diepgaand leren
- google ai
- machine learning
- Plato
- plato ai
- Plato gegevensintelligentie
- Plato-spel
- PlatoData
- platogamen
- schaal ai
- syntaxis
- zephyrnet