Gebruik computervisie om de landbouwopbrengst te meten met Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Gebruik computervisie om de landbouwopbrengst te meten met Amazon Rekognition Custom Labels

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:

  1. Label een dataset met afbeeldingen die fruit bevatten met behulp van Amazon SageMaker Grondwaarheid.
  2. Maak een project aan in Rekognition Custom Labels.
  3. Importeer uw gelabelde dataset.
  4. Train het model.
  5. 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:

  1. Maak een Amazon eenvoudige opslagservice (Amazon S3) emmer.
  2. Maak twee mappen in deze bucket, genaamd raw_data en test_data, om afbeeldingen op te slaan voor labeling en modeltesten.
  3. Kies Uploaden om de afbeeldingen vanuit de GitHub-repo naar hun respectievelijke mappen te uploaden.
    Gebruik computervisie om de landbouwopbrengst te meten met Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

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:

  1. Op de SageMaker-console, onder Grond waarheid in het navigatievenster, kies Labelling van arbeidskrachten.
  2. Op de Privรฉ tabblad, kies Maak een privรฉteam.
    Gebruik computervisie om de landbouwopbrengst te meten met Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
  3. Voor Teamnaam, voer een naam in voor uw personeelsbestand (voor dit bericht, labeling-team).
  4. Kies Maak een privรฉteam.
    Gebruik computervisie om de landbouwopbrengst te meten met Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
  5. Kies Nodig nieuwe werknemers uit.
    Gebruik computervisie om de landbouwopbrengst te meten met Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
  6. 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.
  7. Kies Nodig nieuwe werknemers uit.
    Gebruik computervisie om de landbouwopbrengst te meten met Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

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:

  1. Op de SageMaker-console, onder Grond waarheid, kiezen Labelling banen.
  2. Kies Maak labelling job.
    Gebruik computervisie om de landbouwopbrengst te meten met Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
  3. Voor Taaknaam, ga naar binnen fruits-detection.
  4. kies Ik wil een labelkenmerknaam opgeven die verschilt van de naam van de labeltaak.
  5. Voor Label attribuutnaamยธ invoeren Labels.
  6. Voor Instellingen voor invoergegevensselecteer Geautomatiseerde gegevensconfiguratie.
  7. 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/).
  8. Voor S3-locatie voor uitvoergegevenssetsselecteer Geef een nieuwe locatie op en voer de uitvoerlocatie in voor geannoteerde gegevens (s3://{your-bucket-name}/annotated-data/).
  9. Voor Data type, kiezen Beeld.
  10. Kies Volledige gegevensconfiguratie.
    Hiermee wordt het afbeeldingsmanifestbestand gemaakt en wordt het S3-invoerlocatiepad bijgewerkt. Wacht op het bericht "Invoergegevensverbinding succesvol".
    Gebruik computervisie om de landbouwopbrengst te meten met Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
  11. Uitvouwen Aanvullende configuratie.
  12. 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.
    Gebruik computervisie om de landbouwopbrengst te meten met Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
  13. Voor Taakcategorie, kiezen Beeld omdat dit een taak is voor beeldannotatie.
  14. Omdat dit een use-case voor objectdetectie is, Taakselectieselecteer Begrenzingsvak.
  15. Laat de andere opties als standaard en kies Volgende.
    Gebruik computervisie om de landbouwopbrengst te meten met Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
  16. Kies Volgende.
    Gebruik computervisie om de landbouwopbrengst te meten met Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
    Nu specificeert u uw werknemers en configureert u de labeltool.
  17. 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.
  18. Kies voor Privรฉteams het team dat u eerder hebt gemaakt.Gebruik computervisie om de landbouwopbrengst te meten met Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
  19. 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.
  20. Voeg twee labels toe: fruit en no_fruit.
  21. 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.
  22. Kies creรซren om de labeltaak te maken.
    Gebruik computervisie om de landbouwopbrengst te meten met Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

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.

Gebruik computervisie om de landbouwopbrengst te meten met Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

  1. Open de e-mail en kies de verstrekte link.
  2. 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.
  3. Nadat u bent ingelogd, selecteert u uw baan en kiest u Begin met werken.
    Gebruik computervisie om de landbouwopbrengst te meten met Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
    U kunt de meegeleverde hulpmiddelen gebruiken om in te zoomen, uit te zoomen, te verplaatsen en begrenzingsvakken in de afbeeldingen te tekenen.
  4. Kies je etiket (fruit or no_fruit) en teken vervolgens een selectiekader in de afbeelding om er aantekeningen in te maken.
  5. 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:

  1. Kies op de Amazon Rekognition-console Aangepaste labels.
  2. Kies Start nu.
  3. Voor Naam van het project, ga naar binnen fruits_yield.
  4. Kies Maak een project aan.
    Gebruik computervisie om de landbouwopbrengst te meten met Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

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.

  1. Voor Afbeeldingen importerenselecteer Afbeeldingen importeren die zijn gelabeld door SageMaker Ground Truth.
    Gebruik computervisie om de landbouwopbrengst te meten met Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
  2. 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).
  3. Kies Maak dataset.
    Gebruik computervisie om de landbouwopbrengst te meten met Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

U kunt uw gelabelde dataset zien.

Gebruik computervisie om de landbouwopbrengst te meten met Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

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.

  1. Kies Trein model.
  2. Voor Kies een project, kies uw project fruits_yield.
  3. Kies Treinmodel.
    Gebruik computervisie om de landbouwopbrengst te meten met Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

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.
Gebruik computervisie om de landbouwopbrengst te meten met Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
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.

  1. Download dit script van of the GitHub repo.
  2. Bewerk dit bestand om de parameter te vervangen bucket met je bucketnaam en model met uw Amazon Recognition-model ARN.

We gebruiken de parameters photo en min_confidence als invoer voor dit Python-script.

Gebruik computervisie om de landbouwopbrengst te meten met Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

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.
Gebruik computervisie om de landbouwopbrengst te meten met Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

  1. Upload het bestand analyzeImage.py naar CloudShell met behulp van de Acties menu.
    Gebruik computervisie om de landbouwopbrengst te meten met Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

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.

Gebruik computervisie om de landbouwopbrengst te meten met Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Het volgende voorbeeld toont afbeelding 15.jpeg met twee selectiekaders.

Gebruik computervisie om de landbouwopbrengst te meten met Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

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:

  1. Kies op de Amazon Rekognition-console Gebruik aangepaste labels.
  2. Kies Start.
  3. Kies in het navigatievenster Projecten.
  4. Op de Projecten pagina, selecteer het project dat u wilt verwijderen.
    1. Kies Verwijder.
      De Project verwijderen dialoogvenster verschijnt.
  5. Als het project geen gekoppelde modellen heeft:
    1. Enter verwijderen om het project te verwijderen.
    2. Kies Verwijder om het project te verwijderen.
  6. Als het project bijbehorende modellen of datasets heeft:
    1. Enter verwijderen om te bevestigen dat u het model en de datasets wilt verwijderen.
    2. 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.

  7. Enter verwijderen om te bevestigen dat u het project wilt verwijderen.
  8. Kies Verwijder om het project te verwijderen.

Uw S3-bucket verwijderen

U moet eerst de emmer leegmaken en vervolgens verwijderen.

  1. Op de Amazon S3 console, kies Emmers.
  2. Selecteer de emmer die u wilt legen en kies vervolgens Leeg.
  3. Bevestig dat u de bucket wilt legen door de bucketnaam in het tekstveld in te voeren en kies vervolgens Leeg.
  4. Kies Verwijder.
  5. 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

Gebruik computervisie om de landbouwopbrengst te meten met Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.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.

Gebruik computervisie om de landbouwopbrengst te meten met Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.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.

Tijdstempel:

Meer van AWS-machine learning