I landbrugssektoren spiller problemet med at identificere og tælle mængden af frugt på træer en vigtig rolle i afgrødestimeringen. Konceptet med at leje og lease et træ er ved at blive populært, hvor en træejer hvert år inden høsten forpagter træet ud fra det estimerede frugtudbytte. Den almindelige praksis med manuelt at tælle frugt er en tidskrævende og arbejdskrævende proces. Det er en af de sværeste, men vigtigste opgaver for at opnå bedre resultater i dit afgrødestyringssystem. Denne vurdering af mængden af frugt og blomster hjælper landmænd med at træffe bedre beslutninger – ikke kun om leasingpriser, men også om dyrkningspraksis og forebyggelse af plantesygdomme.
Det er her, en automatiseret maskinlæringsløsning (ML) til computervision (CV) kan hjælpe landmændene. Tilpassede etiketter til Amazon-genkendelse er en fuldt administreret computervisionstjeneste, der giver udviklere mulighed for at bygge brugerdefinerede modeller til at klassificere og identificere objekter i billeder, der er specifikke og unikke for din virksomhed.
Rekognition Custom Labels kræver ikke, at du har nogen forudgående ekspertise inden for computersyn. Du kan komme i gang ved blot at uploade titusinder af billeder i stedet for tusindvis. Hvis billederne allerede er mærket, kan du begynde at træne en model med blot et par klik. Hvis ikke, kan du mærke dem direkte i Rekognition Custom Labels-konsollen eller bruge Amazon SageMaker Ground Truth at mærke dem. Rekognition Custom Labels bruger transfer learning til automatisk at inspicere træningsdataene, vælge den rigtige modelramme og algoritme, optimere hyperparametrene og træne modellen. Når du er tilfreds med modellens nøjagtighed, kan du begynde at hoste den trænede model med blot et enkelt klik.
I dette indlæg viser vi, hvordan du kan bygge en end-to-end-løsning ved hjælp af Rekognition Custom Labels til at detektere og tælle frugt for at måle landbrugets udbytte.
Løsningsoversigt
Vi opretter en tilpasset model til at opdage frugt ved at bruge følgende trin:
- Mærk et datasæt med billeder, der indeholder frugt vha Amazon SageMaker Ground Truth.
- Opret et projekt i Rekognition Custom Labels.
- Importer dit mærkede datasæt.
- Træn modellen.
- Test den nye brugerdefinerede model ved hjælp af det automatisk genererede API-slutpunkt.
Rekognition Custom Labels giver dig mulighed for at administrere ML-modeltræningsprocessen på Amazon Rekognition-konsollen, hvilket forenkler end-to-end modeludvikling og slutningsprocessen.
Forudsætninger
For at oprette en model til måling af landbrugsudbytte skal du først udarbejde et datasæt til at træne modellen med. Til dette indlæg er vores datasæt sammensat af billeder af frugt. De følgende billeder viser nogle eksempler.
Vi hentede vores billeder fra vores egen have. Du kan downloade billedfilerne fra GitHub repo.
Til dette indlæg bruger vi kun en håndfuld billeder til at vise frugtudbyttet. Du kan eksperimentere yderligere med flere billeder.
Udfør følgende trin for at forberede dit datasæt:
- Opret en Amazon Simple Storage Service (Amazon S3) spand.
- Opret to mapper inde i denne bøtte, kaldet
raw_data
,test_data
, til at gemme billeder til mærkning og modeltestning. - Vælg Upload at uploade billederne til deres respektive mapper fra GitHub-reposen.
De uploadede billeder er ikke mærket. Du mærker billederne i det følgende trin.
Mærk dit datasæt ved hjælp af Ground Truth
For at træne ML-modellen skal du bruge mærkede billeder. Ground Truth giver en nem proces til at mærke billederne. Mærkningsopgaven udføres af en menneskelig arbejdsstyrke; i dette indlæg opretter du en privat arbejdsstyrke. Du kan bruge Amazon Mechanical Turk til mærkning i skala.
Opret en mærkningsarbejdsstyrke
Lad os først skabe vores mærkningsarbejdsstyrke. Udfør følgende trin:
- På SageMaker-konsollen, under Grund sandhed i navigationsruden skal du vælge Mærkning af arbejdsstyrker.
- På Privat fanebladet, vælg Opret privat team.
- Til Hold navn, indtast et navn til din arbejdsstyrke (for dette indlæg,
labeling-team
). - Vælg Opret privat team.
- Vælg Inviter nye medarbejdere.
- I Tilføj arbejdere via e-mailadresse sektion, skal du indtaste e-mailadresserne på dine medarbejdere. For dette indlæg skal du indtaste din egen e-mailadresse.
- Vælg Inviter nye medarbejdere.
Du har oprettet en mærkningsarbejdsstyrke, som du bruger i næste trin, mens du opretter et mærkningsjob.
Opret et Ground Truth-mærkningsjob
Udfør følgende trin for at gøre dit mærkningsarbejde godt:
- På SageMaker-konsollen, under Grund sandhed, vælg Mærkningsjob.
- Vælg Opret etiketteringsjob.
- Til Job navn, gå ind
fruits-detection
. - Type Jeg ønsker at angive et etiketattributnavn, der er forskelligt fra etiketteringsjobnavnet.
- Til Etiketattributnavngå ind
Labels
. - Til Opsætning af inputdata, Vælg Automatiseret dataopsætning.
- Til S3-placering for inputdatasæt, indtast S3-placeringen af billederne ved hjælp af den bøtte, du oprettede tidligere (
s3://{your-bucket-name}/raw-data/images/
). - Til S3-placering for outputdatasæt, Vælg Angiv en ny placering og indtast outputplaceringen for kommenterede data (
s3://{your-bucket-name}/annotated-data/
). - Til Datatype, vælg Billede.
- Vælg Fuldfør dataopsætning.
Dette opretter billedmanifestfilen og opdaterer S3-inputplaceringsstien. Vent på meddelelsen "Input dataforbindelse lykkedes." - Udvid Yderligere konfiguration.
- Bekræft det Fuldt datasæt er valgt.
Dette bruges til at angive, om du vil levere alle billederne til mærkningsjobbet eller en undergruppe af billeder baseret på filtre eller tilfældig prøveudtagning. - Til Opgavekategori, vælg Billede fordi dette er en opgave til billedannotering.
- Fordi dette er en objektdetekteringsbrugssag, for Opgavevalg, Vælg Afgrænsningskasse.
- Lad de andre muligheder være standard, og vælg Næste.
- Vælg Næste.
Nu angiver du dine arbejdere og konfigurerer mærkningsværktøjet. - Til Arbejdertyper, Vælg Privat.Til dette indlæg bruger du en intern arbejdsstyrke til at kommentere billederne. Du har også mulighed for at vælge en offentlig kontraktlig arbejdsstyrke (Amazon Mechanical Turk) eller en partner arbejdsstyrke (Sælger administreret) afhængigt af din anvendelse.
- For private teams¸ vælg det team, du oprettede tidligere.
- Lad de andre muligheder være standard, og rul ned til Afgrænsningsboksmærkningsværktøj.Det er vigtigt at give klare instruktioner her i mærkningsværktøjet til det private mærkningsteam. Disse instruktioner fungerer som en vejledning for annotatorer under mærkning. Gode instruktioner er kortfattede, så vi anbefaler at begrænse de verbale eller tekstuelle instruktioner til to sætninger og fokusere på visuelle instruktioner. I tilfælde af billedklassificering anbefaler vi at give ét mærket billede i hver af klasserne som en del af instruktionerne.
- Tilføj to etiketter:
fruit
,no_fruit
. - Indtast detaljerede instruktioner i Beskrivelsesfelt, der skal angives instruktioner til arbejderne. For eksempel:
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'
.Du kan også valgfrit give eksempler på gode og dårlige mærkningsbilleder. Du skal sørge for, at disse billeder er offentligt tilgængelige. - Vælg Opret at skabe mærkningsjobbet.
Når jobbet er oprettet, er næste trin at mærke inputbillederne.
Start mærkningsarbejdet
Når du har oprettet jobbet, er jobbets status InProgress
. Det betyder, at jobbet oprettes, og den private arbejdsstyrke får besked via e-mail om den opgave, de er tildelt. Fordi du har tildelt opgaven til dig selv, bør du modtage en e-mail med instruktioner om at logge ind på Ground Truth Labeling-projektet.
- Åbn e-mailen og vælg det angivne link.
- Indtast brugernavnet og adgangskoden i e-mailen.
Du skal muligvis ændre den midlertidige adgangskode, der er angivet i e-mailen, til en ny adgangskode efter login. - Når du har logget ind, skal du vælge dit job og vælge Begynd at arbejde.
Du kan bruge de medfølgende værktøjer til at zoome ind, zoome ud, flytte og tegne afgrænsningsrammer i billederne. - Vælg din etiket (
fruit
orno_fruit
), og tegn derefter en afgrænsningsramme i billedet for at kommentere det. - Når du er færdig, skal du vælge Indsend.
Nu har du korrekt mærkede billeder, som vil blive brugt af ML-modellen til træning.
Opret dit Amazon Rekognition-projekt
For at oprette dit projekt til måling af landbrugsudbytte skal du udføre følgende trin:
- På Amazon Rekognition-konsollen skal du vælge Brugerdefinerede etiketter.
- Vælg Kom i gang.
- Til Projekt navn, gå ind
fruits_yield
. - Vælg Opret projekt.
Du kan også oprette et projekt på Projekter side. Du kan få adgang til Projekter side via navigationsruden. Det næste trin er at give billeder som input.
Importer dit datasæt
For at oprette din model til måling af landbrugsudbytte skal du først importere et datasæt, som du kan træne modellen med. Til dette indlæg er vores datasæt allerede mærket ved hjælp af Ground Truth.
- Til Importer billeder, Vælg Importer billeder mærket af SageMaker Ground Truth.
- Til Manifest filplacering, indtast S3 bucket-placeringen for din manifestfil (
s3://{your-bucket-name}/fruits_image/annotated_data/fruits-labels/manifests/output/output.manifest
). - Vælg Opret datasæt.
Du kan se dit mærkede datasæt.
Nu har du dit inputdatasæt til ML-modellen for at begynde at træne på dem.
Træn din model
Når du har mærket dine billeder, er du klar til at træne din model.
Vent på, at uddannelsen er fuldført. Nu kan du begynde at teste ydeevnen for denne trænede model.
Test din model
Din model til måling af landbrugsudbytte er nu klar til brug og burde være i Running
stat. For at teste modellen skal du udføre følgende trin:
Trin 1: Start modellen
På siden med din modeldetaljer, på Brug model fanebladet, vælg Starten.
Tilpassede etiketter for anerkendelse giver også API-kald til at starte, bruge og stoppe din model.
Trin 2: Test modellen
Når modellen er i Running
tilstand, kan du bruge prøvetestscriptet analyzeImage.py
at tælle mængden af frugt i et billede.
- Download dette script fra af GitHub repo.
- Rediger denne fil for at erstatte parameteren
bucket
med dit spandnavn ogmodel
med din Amazon Rekognition model ARN.
Vi bruger parametrene photo
, min_confidence
som input til dette Python-script.
Du kan køre dette script lokalt ved hjælp af AWS kommandolinjegrænseflade (AWS CLI) eller ved hjælp af AWS CloudShell. I vores eksempel kørte vi scriptet via CloudShell-konsollen. Bemærk, at CloudShell er gratis at bruge.
Sørg for at installere de nødvendige afhængigheder ved hjælp af kommandoen pip3 install boto3 PILLOW
hvis ikke allerede er installeret.
Følgende skærmbillede viser outputtet, som registrerede to frugter i inputbilledet. Vi leverede 15.jpeg som fotoargument og 85 som min_confidence
værdi.
Følgende eksempel viser billede 15.jpeg med to afgrænsningsrammer.
Du kan køre det samme script med andre billeder og eksperimentere ved at ændre konfidensresultatet yderligere.
Trin 3: Stop modellen
Når du er færdig, skal du huske at stoppe modellen for at undgå at pådrage dig unødvendige omkostninger. På siden med modeldetaljer på fanen Brug model skal du vælge Stop.
Ryd op
For at undgå at pådrage sig unødvendige gebyrer skal du slette de ressourcer, der bruges i denne gennemgang, når de ikke er i brug. Vi er nødt til at slette Amazon Rekognition-projektet og S3-bøtten.
Slet Amazon Rekognition-projektet
For at slette Amazon Rekognition-projektet skal du udføre følgende trin:
- På Amazon Rekognition-konsollen skal du vælge Brug tilpassede etiketter.
- Vælg Kom i gang.
- Vælg i navigationsruden Projekter.
- På Projekter side, skal du vælge det projekt, du vil slette.
- Vælg Slette.
Slet projekt dialogboks vises.
- Vælg Slette.
- Hvis projektet ikke har nogen tilknyttede modeller:
- Indtast slette for at slette projektet.
- Vælg Slette for at slette projektet.
- Hvis projektet har tilknyttede modeller eller datasæt:
- Indtast slette for at bekræfte, at du vil slette modellen og datasættene.
- Vælg enten Slet tilknyttede modeller, Slet tilknyttede datasæt eller Slet tilknyttede datasæt og modeller, afhængigt af om modellen har datasæt, modeller eller begge dele.
Sletning af model kan tage et stykke tid at fuldføre. Bemærk, at Amazon Rekognition-konsollen ikke kan slette modeller, der er under træning eller løb. Prøv igen efter at have stoppet alle de løbemodeller, der er angivet, og vent, indtil de modeller, der er angivet som træning, er færdige. Hvis du lukker dialogboksen under sletning af model, slettes modellerne stadig. Senere kan du slette projektet ved at gentage denne procedure.
- Indtast slette for at bekræfte, at du vil slette projektet.
- Vælg Slette for at slette projektet.
Slet din S3-spand
Du skal først tømme spanden og derefter slette den.
- På Amazon S3 konsol, vælg spande.
- Vælg den spand, du vil tømme, og vælg derefter Tom.
- Bekræft, at du vil tømme spanden ved at indtaste spandens navn i tekstfeltet, og vælg derefter Tom.
- Vælg Slette.
- Bekræft, at du vil slette spanden ved at indtaste spandens navn i tekstfeltet, og vælg derefter Slet bøtte.
Konklusion
I dette indlæg viste vi dig, hvordan du opretter en objektdetekteringsmodel med Rekognition Custom Labels. Denne funktion gør det nemt at træne en brugerdefineret model, der kan detektere en objektklasse uden at skulle specificere andre objekter eller miste nøjagtigheden i dens resultater.
For mere information om brug af brugerdefinerede etiketter, se Hvad er tilpassede etiketter til Amazon-genkendelse?
Om forfatterne
Dhiraj Thakur er en løsningsarkitekt med Amazon Web Services. Han arbejder sammen med AWS-kunder og -partnere for at give vejledning om cloud-adoption, migrering og strategi. Han brænder for teknologi og nyder at bygge og eksperimentere i analytics og AI/ML-rummet.
Sameer Goel er en Sr. Solutions Architect i Holland, der driver kundernes succes ved at bygge prototyper på banebrydende initiativer. Inden han kom til AWS, dimitterede Sameer med en mastergrad fra Boston med en koncentration inden for datavidenskab. Han nyder at bygge og eksperimentere med AI/ML-projekter på Raspberry Pi. Du kan finde ham på LinkedIn.
- AI
- ai kunst
- ai kunst generator
- en robot
- Amazon-anerkendelse
- kunstig intelligens
- certificering af kunstig intelligens
- kunstig intelligens i banksektoren
- kunstig intelligens robot
- kunstig intelligens robotter
- software til kunstig intelligens
- AWS maskinindlæring
- blockchain
- blockchain konference ai
- coingenius
- samtale kunstig intelligens
- kryptokonference ai
- dalls
- dyb læring
- du har google
- machine learning
- plato
- platon ai
- Platon Data Intelligence
- Platon spil
- PlatoData
- platogaming
- skala ai
- syntaks
- zephyrnet