Dette er et gjesteinnlegg skrevet av Andrew Masek, programvareingeniør ved The Barcode Registry og Erik Quisling, administrerende direktør i The Barcode Registry.
Produktforfalskning er den største kriminelle virksomheten i verden. Med en vekst på over 10,000 1.7 % de siste to tiårene, utgjør salget av forfalskede varer nå XNUMX billioner dollar per år på verdensbasis, som er mer enn narkotika og menneskehandel. Selv om tradisjonelle metoder for forebygging av forfalskning som unike strekkoder og produktverifisering kan være svært effektive, virker nye maskinlæringsteknologier (ML) som objektdeteksjon veldig lovende. Med objektdeteksjon kan du nå ta et bilde av et produkt og nesten umiddelbart vite om det er sannsynlig at produktet er legitimt eller uredelig.
De Strekkoderegister (i samarbeid med sin partner Buyabarcode.com) er en fullserviceløsning som hjelper kunder med å forhindre produktsvindel og forfalskning. Den gjør dette ved å selge unike GS1-registrerte strekkoder, verifisere produkteierskap og registrere brukernes produkter og strekkoder i en omfattende database. Deres siste tilbud, som vi diskuterer i dette innlegget, bruker Amazon SageMaker å lage objektdeteksjonsmodeller for å hjelpe umiddelbart å gjenkjenne forfalskede produkter.
Oversikt over løsning
For å bruke disse objektdeteksjonsmodellene må du først samle inn data for å trene dem. Bedrifter laster opp kommenterte bilder av produktene sine til The Barcode Registry nettsted. Etter dette er data lastet opp til Amazon enkel lagringstjeneste (Amazon S3) og behandlet av AWS Lambda funksjoner, kan du bruke den til å trene en SageMaker-objektdeteksjonsmodell. Denne modellen er vert på et SageMaker-endepunkt, hvor nettstedet kobler det til sluttbrukeren.
Det er tre nøkkeltrinn for å lage strekkoderegisteret som brukes til å lage en tilpasset objektdeteksjonsmodell med SageMaker:
- Lag et treningsskript som SageMaker kan kjøre.
- Bygg en Docker-beholder fra opplæringsskriptet og last det opp til Amazon ECR.
- Bruk SageMaker-konsollen til å trene en modell med den tilpassede algoritmen.
Produktdata
Som en forutsetning for å trene en objektdeteksjonsmodell trenger du en AWS-konto og treningsbilder, bestående av minst 100 høykvalitets (høyoppløselige og i flere lysforhold) bilder av objektet ditt. Som med alle ML-modeller er data av høy kvalitet avgjørende. For å trene opp en objektdeteksjonsmodell trenger vi bilder som inneholder de relevante produktene samt avgrensningsbokser som beskriver hvor produktene er i bildene, som vist i følgende eksempel.
For å trene opp en effektiv modell, trengs bilder av hvert av et merkes produkter med forskjellig bakgrunn og lysforhold – omtrent 30–100 unike kommenterte bilder for hvert produkt.
Etter at bildene er lastet opp til webserveren, lastes de opp til Amazon S3 ved hjelp av AWS SDK for PHP. En Lambda-hendelse utløses hver gang et bilde lastes opp. Funksjonen fjerner Exif-metadataene fra bildene, noe som noen ganger kan føre til at de vises rotert når de åpnes av ML-bibliotekene som senere ble brukt til å trene modellen. De tilknyttede grenseboksdataene lagres i JSON-filer og lastes opp til Amazon S3 for å følge bildene.
SageMaker for objektdeteksjonsmodeller
SageMaker er en administrert ML-tjeneste som inkluderer en rekke verktøy for å bygge, trene og hoste modeller i skyen. Spesielt bruker TheBarcodeRegistry SageMaker for sin objektdeteksjonstjeneste på grunn av SageMakers pålitelige og skalerbare opplærings- og vertstjenester for ML-modeller. Dette betyr at mange merker kan ha sine egne objektdeteksjonsmodeller trent og vert, og selv om bruken øker uforutsigbart, vil det ikke være noen nedetid.
Strekkoderegisteret bruker tilpassede Docker-beholdere lastet opp til Amazon Elastic Container Registry (Amazon ECR) for å ha mer finkornet kontroll over objektdeteksjonsalgoritmen som brukes for opplæring og slutninger samt støtte for Multi -modellserver (MMS). MMS er svært viktig for bruk av forfalskninger, fordi det gjør det mulig for flere merkers modeller å være kostnadseffektivt vert på samme server. Alternativt kan du bruke den innebygde objektgjenkjenningsalgoritme for raskt å distribuere standardmodeller utviklet av AWS.
Tren en tilpasset objektdeteksjonsmodell med SageMaker
Først må du legge til objektdeteksjonsalgoritmen. I dette tilfellet laster du opp en Docker-beholder med skript for å trene opp en Yolov5-objektdeteksjonsmodell til Amazon ECR:
- På SageMaker-konsollen, under bærbare Velg navigasjonsruten Notatboksforekomster.
- Velg Opprett notatbokforekomst.
- Skriv inn et navn for notatbokforekomsten og under Tillatelser og kryptering velg en AWS identitets- og tilgangsadministrasjon (IAM) rolle med nødvendige tillatelser.
- Åpne Git-arkiver menyen.
- Plukke ut Klon bare et offentlig Git-arkiv til denne bærbare forekomsten og lim inn følgende Git-repository URL: https://github.com/portoaj/SageMakerObjectDetection
- Klikk Opprett notatbokforekomst og vent omtrent fem minutter til forekomstens status oppdateres fra Venter til I tjeneste i Notatbokforekomst menyen.
- Når notatboken er I tjeneste, velg den og klikk handlinger og Åpne Jupyter for å starte den bærbare forekomsten i en ny fane.
- Velg SageMakerObjectDetection katalog og klikk deretter på
sagemakerobjectdetection.ipynb
for å starte Jupyter-notebooken. - Velg
conda_python3
kjernen og klikk Sett Kernel. - Velg kodecellen og still inn
aws_account_id
variabel til din AWS-konto-ID. - Klikk Kjør for å starte prosessen med å bygge en Docker-beholder og laste den opp til Amazon ECR. Denne prosessen kan ta omtrent 20 minutter å fullføre.
- Når Docker-beholderen er lastet opp, gå tilbake til Notatboksforekomster menyen, velg forekomsten din og klikk handlinger og Stopp for å slå den bærbare forekomsten av.
Etter at algoritmen er bygget og sendt til Amazon ECR, kan du bruke den til å trene en modell via SageMaker-konsollen.
- På SageMaker-konsollen, under Kurs Velg navigasjonsruten Treningsjobber.
- Velg Skape treningsjobb.
- Skriv inn et navn for jobben og velg AWS identitets- og tilgangsadministrasjon (IAM) rolle med nødvendige tillatelser.
- Til Algoritmekilde, plukke ut Din egen algoritmebeholder i ECR.
- Til Container, skriv inn registerbanen.
- Å sette en enkelt ml.p2.xlarge-instans under ressurskonfigurasjonen bør være tilstrekkelig for å trene en Yolov5-modell.
- Spesifiser Amazon S3-plasseringer for både inngangsdata og utdatabane og eventuelle andre innstillinger som å konfigurere en VPC via Amazon Virtual Private Cloud (Amazon VPC) eller aktivere Managed Spot Training.
- Velg Skape treningsjobb.
Du kan spore modellens treningsfremgang på SageMaker-konsollen.
Automatisert modellopplæring
Følgende diagram illustrerer arbeidsflyten for automatisert modellopplæring:
For å få SageMaker til å begynne å trene objektdeteksjonsmodellen så snart en bruker er ferdig med å laste opp dataene sine, bruker webserveren Amazon API-gateway å varsle en Lambda-funksjon om at merket er ferdig og å begynne en treningsjobb.
Når en merkevares modell er vellykket trent, Amazon EventBridge kaller en Lambda-funksjon som flytter den trente modellen inn i live-endepunktets S3-bøtte, hvor den endelig er klar for slutning. Et nyere alternativ til å bruke Amazon EventBridge for å flytte modeller gjennom MLOps-livssyklusen som du bør vurdere er SageMaker-rørledninger.
Host modellen for slutning
Følgende diagram illustrerer slutningsarbeidsflyten:
For å bruke de trente modellene, krever SageMaker at en slutningsmodell er vert for et endepunkt. Endepunktet er serveren eller arrayen av servere som brukes til faktisk å være vert for inferensmodellen. I likhet med opplæringsbeholderen vi opprettet, er en Docker-beholder for slutninger vert i Amazon ECR. Inferensmodellen bruker den Docker-beholderen og tar inndatabildet brukeren tok med telefonen, kjører det gjennom den trente objektdeteksjonsmodellen og sender ut resultatet.
Igjen, Barcode Registry bruker tilpassede Docker-beholdere for inferensmodellen for å muliggjøre bruk av Multi Model Server, men hvis bare én modell er nødvendig, kan den enkelt hostes gjennom den innebygde objektdeteksjonsalgoritmen.
konklusjonen
Strekkoderegisteret (i samarbeid med partneren Buyabarcode.com) bruker AWS for hele objektdeteksjonsrørledningen. Nettserveren lagrer data pålitelig i Amazon S3 og bruker API Gateway- og Lambda-funksjoner for å koble nettserveren til skyen. SageMaker trener og er vert for ML-modeller, noe som betyr at en bruker kan ta et bilde av et produkt på telefonen og se om produktet er forfalsket. Dette innlegget viser hvordan du oppretter og er vert for en objektdeteksjonsmodell ved hjelp av SageMaker, samt hvordan du automatiserer prosessen.
I testing var modellen i stand til å oppnå over 90 % nøyaktighet på et treningssett med 62 bilder og et testsett med 32 bilder, noe som er ganske imponerende for en modell som er trent uten menneskelig innblanding. For å komme i gang med å trene objektdeteksjonsmodeller selv, sjekk ut den offisielle dokumentasjon eller lære hvordan distribuer en objektdeteksjonsmodell til kanten ved hjelp av AWS IoT Greengrass.
Innholdet og meningene i dette innlegget er fra tredjepartsforfatteren, og AWS er ikke ansvarlig for innholdet eller nøyaktigheten av dette innlegget.
Om forfatterne
Andrew Masek, programvareingeniør ved The Barcode Registry.
Erik Quisling, administrerende direktør i The Barcode Registry.
- Myntsmart. Europas beste Bitcoin og Crypto Exchange.
- Platoblokkkjede. Web3 Metaverse Intelligence. Kunnskap forsterket. FRI TILGANG.
- CryptoHawk. Altcoin Radar. Gratis prøveperiode.
- Kilde: https://aws.amazon.com/blogs/machine-learning/how-the-barcode-registry-detects-counterfeit-products-using-object-detection-and-amazon-sagemaker/
- "
- 000
- 10
- 100
- 7
- Om oss
- adgang
- Logg inn
- algoritme
- Selv
- Amazon
- api
- Automatisert
- AWS
- grensen
- Eske
- merker
- Bygning
- innebygd
- Årsak
- konsernsjef
- Cloud
- kode
- samle
- Selskaper
- Konfigurasjon
- Konsoll
- Container
- Containere
- innhold
- kontroll
- Falske
- Opprette
- Criminal
- skikk
- Kunder
- dato
- Database
- utplassere
- Gjenkjenning
- utviklet
- forskjellig
- diskutere
- Docker
- ned
- nedetid
- Narkotika
- lett
- Edge
- Effektiv
- muliggjør
- Endpoint
- ingeniør
- Enterprise
- Event
- eksempel
- Endelig
- Først
- etter
- svindel
- funksjon
- gå
- varer
- Økende
- Gjest
- gjest innlegg
- hjelpe
- hjelper
- Hvordan
- Hvordan
- HTTPS
- menneskelig
- Identitet
- bilde
- viktig
- IOT
- IT
- Jobb
- nøkkel
- siste
- lansere
- LÆRE
- læring
- steder
- maskin
- maskinlæring
- fikk til
- ML
- modell
- modeller
- mer
- flytte
- Navigasjon
- bærbare
- tilby
- offisiell
- Meninger
- rekkefølge
- Annen
- eierskap
- partner
- bilde
- pen
- Forebygging
- privat
- prosess
- Produkt
- Produkter
- lovende
- offentlig
- raskt
- gjenkjenne
- relevant
- Repository
- ressurs
- ansvarlig
- Kjør
- salg
- skalerbar
- SDK
- tjeneste
- Tjenester
- sett
- lignende
- Enkelt
- Snap
- Software
- Software Engineer
- løsning
- Spot
- Begynn
- startet
- status
- lagring
- butikker
- vellykket
- støtte
- Technologies
- Testing
- verden
- tredjeparts
- Gjennom
- tid
- verktøy
- spor
- tradisjonelle
- Kurs
- Togene
- unik
- Oppdater
- bruke
- Verifisering
- virtuelle
- vente
- web
- webserveren
- Nettsted
- uten
- verden
- verdensomspennende
- år