Dit is een gastpost geschreven door Andrew Masek, Software Engineer bij The Barcode Registry en Erik Quisling, CEO van The Barcode Registry.
Productvervalsing is de grootste criminele onderneming ter wereld. Met een groei van meer dan 10,000% in de afgelopen twee decennia, bedraagt โโde verkoop van namaakgoederen nu wereldwijd $ 1.7 biljoen per jaar, wat meer is dan drugs- en mensenhandel. Hoewel traditionele methoden voor het voorkomen van vervalsing, zoals unieke streepjescodes en productverificatie, zeer effectief kunnen zijn, lijken nieuwe technologieรซn voor machine learning (ML) zoals objectdetectie veelbelovend. Met objectdetectie kunt u nu een foto van een product maken en vrijwel onmiddellijk weten of dat product waarschijnlijk legitiem of frauduleus is.
De Streepjescoderegister (in samenwerking met zijn partner) Koopbarcode.com) is een full-service oplossing die klanten helpt productfraude en namaak te voorkomen. Het doet dit door unieke GS1-geregistreerde barcodes te verkopen, producteigendom te verifiรซren en de producten en barcodes van gebruikers te registreren in een uitgebreide database. Hun nieuwste aanbod, dat we in dit bericht bespreken, maakt gebruik van Amazon Sage Maker om objectdetectiemodellen te maken om namaakproducten direct te herkennen.
Overzicht van de oplossing
Om deze objectdetectiemodellen te gebruiken, moet u eerst gegevens verzamelen om ze te trainen. Bedrijven uploaden geannoteerde foto's van hun producten naar The Barcode Registry van de. Nadat deze gegevens zijn geรผpload naar Amazon eenvoudige opslagservice (Amazon S3) en verwerkt door: AWS Lambda functies, kunt u het gebruiken om een โโSageMaker-objectdetectiemodel te trainen. Dit model wordt gehost op een SageMaker-eindpunt, waar de website het verbindt met de eindgebruiker.
Er zijn drie belangrijke stappen voor het maken van The Barcode Registry gebruikt om een โโaangepast objectdetectiemodel te maken met SageMaker:
- Maak een trainingsscript dat SageMaker kan uitvoeren.
- Bouw een Docker-container op basis van het trainingsscript en upload deze naar Amazon ECR.
- Gebruik de SageMaker-console om een โโmodel te trainen met het aangepaste algoritme.
Productgegevens
Voorwaarde voor het trainen van een objectdetectiemodel is een AWS-account en trainingsafbeeldingen, bestaande uit minimaal 100 hoogwaardige (hoge resolutie en in meerdere lichtomstandigheden) afbeeldingen van uw object. Zoals bij elk ML-model is data van hoge kwaliteit van het grootste belang. Om een โโobjectdetectiemodel te trainen, hebben we afbeeldingen nodig die de relevante producten bevatten, evenals selectiekaders die beschrijven waar de producten zich in de afbeeldingen bevinden, zoals weergegeven in het volgende voorbeeld.
Om een โโeffectief model te trainen, zijn foto's nodig van elk van de producten van een merk met verschillende achtergronden en lichtomstandigheden - ongeveer 30-100 unieke geannoteerde afbeeldingen voor elk product.
Nadat de afbeeldingen zijn geรผpload naar de webserver, worden ze geรผpload naar Amazon S3 met behulp van de AWS SDK voor PHP. Elke keer dat een afbeelding wordt geรผpload, wordt een Lambda-gebeurtenis geactiveerd. De functie verwijdert de Exif-metadata uit de afbeeldingen, waardoor ze er soms geroteerd uitzien wanneer ze worden geopend door de ML-bibliotheken die later worden gebruikt om het model te trainen. De bijbehorende begrenzingsvakgegevens worden opgeslagen in JSON-bestanden en geรผpload naar Amazon S3 om de afbeeldingen te begeleiden.
SageMaker voor objectdetectiemodellen
SageMaker is een beheerde ML-service met een verscheidenheid aan tools voor het bouwen, trainen en hosten van modellen in de cloud. In het bijzonder gebruikt TheBarcodeRegistry SageMaker voor zijn objectdetectieservice vanwege de betrouwbare en schaalbare ML-modeltraining en hostingservices van SageMaker. Dit betekent dat veel merken hun eigen objectdetectiemodellen kunnen laten trainen en hosten en zelfs als het gebruik onvoorspelbaar toeneemt, zal er geen downtime zijn.
Het streepjescoderegister gebruikt aangepaste Docker-containers die zijn geรผpload naar: Amazon Elastic Container-register (Amazon ECR) om meer fijnmazige controle te hebben over het objectdetectie-algoritme dat wordt gebruikt voor training en inferentie, evenals ondersteuning voor Server voor meerdere modellen (MMS). MMS is erg belangrijk voor het gebruik van vervalsingsdetectie, omdat hierdoor modellen van meerdere merken op een kosteneffectieve manier op dezelfde server kunnen worden gehost. Als alternatief kunt u de ingebouwde object detectie-algoritme om snel door AWS ontwikkelde standaardmodellen in te zetten.
Een aangepast objectdetectiemodel trainen met SageMaker
Eerst moet u uw objectdetectie-algoritme toevoegen. Upload in dit geval een Docker-container met scripts om een โโYolov5-objectdetectiemodel naar Amazon ECR te trainen:
- Op de SageMaker-console, onder Notitieboek in het navigatievenster, kies Notebook-exemplaren.
- Kies Maak een notebookinstantie.
- Voer een naam in voor de notebook-instantie en onder Machtigingen en encryptie kies een AWS Identiteits- en toegangsbeheer (IAM)-rol met de benodigde machtigingen.
- Open de Git-opslagplaatsen menu.
- kies Kloon alleen een openbare Git-opslagplaats voor deze notebookinstantie en plak het volgende: URL van Git-repository: https://github.com/portoaj/SageMakerObjectDetection
- Klik Maak een notitieboekexemplaar en wacht ongeveer vijf minuten totdat de status van de instantie is bijgewerkt vanaf In behandeling naar In dienst in de Notebook-instantie menu.
- Zodra de notebook is In dienst, selecteer het en klik Acties en Jupyter openen om de notebookinstantie op een nieuw tabblad te starten.
- Selecteer het SageMakerObjectdetectie map en klik vervolgens op
sagemakerobjectdetection.ipynb
om de Jupyter-notebook te starten. - Selecteer het
conda_python3
kernel en klik op Kernel instellen. - Selecteer de codecel en stel de
aws_account_id
variabele aan uw AWS-account-ID. - Klik lopen om te beginnen met het bouwen van een Docker-container en deze te uploaden naar Amazon ECR. Dit proces kan ongeveer 20 minuten duren.
- Zodra de Docker-container is geรผpload, keert u terug naar de Notebook-exemplaren menu, selecteer uw instantie en klik op Acties en stop om uw notebook-instantie af te sluiten.
Nadat het algoritme is gebouwd en naar Amazon ECR is gepusht, kun je het gebruiken om een โโmodel te trainen via de SageMaker-console.
- Op de SageMaker-console, onder Trainingen in het navigatievenster, kies Training banen.
- Kies Trainingstaak maken.
- Voer een naam in voor de taak en kies de AWS Identiteits- en toegangsbeheer (IAM)-rol met de benodigde machtigingen.
- Voor Algoritme bronselecteer Uw eigen algoritmecontainer in ECR.
- Voor Containers, voer het registerpad in.
- Het instellen van een enkele ml.p2.xlarge-instantie onder de resourceconfiguratie zou voldoende moeten zijn voor het trainen van een Yolov5-model.
- Specificeer Amazon S3-locaties voor zowel uw invoergegevens als het uitvoerpad en eventuele andere instellingen, zoals het configureren van een VPC via Amazon virtuele privรฉcloud (Amazon VPC) of het inschakelen van Managed Spot Training.
- Kies Trainingstaak maken.
U kunt de trainingsvoortgang van het model volgen op de SageMaker-console.
Geautomatiseerde modeltraining
Het volgende diagram illustreert de geautomatiseerde werkstroom voor modeltraining:
Om SageMaker het objectdetectiemodel te laten trainen zodra een gebruiker klaar is met het uploaden van zijn gegevens, gebruikt de webserver Amazon API-gateway om een โโLambda-functie op de hoogte te stellen dat het merk klaar is en om een โโtrainingsopdracht te beginnen.
Wanneer het model van een merk met succes is getraind, Amazon EventBridge roept een Lambda-functie aan die het getrainde model naar de S3-bucket van het live-eindpunt verplaatst, waar het eindelijk klaar is voor inferentie. Een nieuwer alternatief voor het gebruik van Amazon EventBridge om modellen door de MLOps-levenscyclus te verplaatsen, is: SageMaker-pijpleidingen.
Host het model voor gevolgtrekking
Het volgende diagram illustreert de inferentieworkflow:
Om de getrainde modellen te gebruiken, vereist SageMaker dat een inferentiemodel wordt gehost door een eindpunt. Het eindpunt is de server of array van servers die worden gebruikt om het inferentiemodel daadwerkelijk te hosten. Net als de trainingscontainer die we hebben gemaakt, wordt een Docker-container voor inferentie gehost in Amazon ECR. Het inferentiemodel gebruikt die Docker-container en neemt de invoerafbeelding die de gebruiker met zijn telefoon heeft gemaakt, voert deze door het getrainde objectdetectiemodel en voert het resultaat uit.
Nogmaals, The Barcode Registry gebruikt aangepaste Docker-containers voor het inferentiemodel om het gebruik van Multi Model Server mogelijk te maken, maar als er maar รฉรฉn model nodig is, kan dat eenvoudig worden gehost via het ingebouwde algoritme voor objectdetectie.
Conclusie
De Barcode Registry (in samenwerking met zijn partner Buyabarcode.com) gebruikt AWS voor zijn gehele objectdetectiepijplijn. De webserver slaat gegevens betrouwbaar op in Amazon S3 en gebruikt API Gateway- en Lambda-functies om de webserver met de cloud te verbinden. SageMaker traint en host gemakkelijk ML-modellen, wat betekent dat een gebruiker een foto van een product op zijn telefoon kan maken en kan zien of het product een vervalsing is. Dit bericht laat zien hoe u een objectdetectiemodel maakt en host met SageMaker, en hoe u het proces automatiseert.
Tijdens het testen kon het model een nauwkeurigheid van meer dan 90% bereiken op een trainingsset van 62 afbeeldingen en een testset van 32 afbeeldingen, wat behoorlijk indrukwekkend is voor een model dat is getraind zonder menselijke tussenkomst. Om zelf aan de slag te gaan met het trainen van objectdetectiemodellen, bekijk de officiรซle documentatie of leer hoe implementeer een objectdetectiemodel aan de rand met behulp van AWS IoT Greengrass.
De inhoud en meningen in dit bericht zijn die van de externe auteur en AWS is niet verantwoordelijk voor de inhoud of nauwkeurigheid van dit bericht.
Over de auteurs
Andreas Masek, Software Engineer bij The Barcode Registry.
Erik Quisling, CEO van The Barcode Registry.
- Coinsmart. Europa's beste Bitcoin- en crypto-uitwisseling.
- Platoblockchain. Web3 Metaverse Intelligentie. Kennis versterkt. GRATIS TOEGANG.
- CryptoHawk. Altcoin-radar. Gratis proefversie.
- Bron: https://aws.amazon.com/blogs/machine-learning/how-the-barcode-registry-detects-counterfeit-products-using-object-detection-and-amazon-sagemaker/
- "
- 000
- 10
- 100
- 7
- Over
- toegang
- Account
- algoritme
- Hoewel
- Amazone
- api
- geautomatiseerde
- AWS
- grens
- Box camera's
- merken
- Gebouw
- ingebouwd
- Veroorzaken
- ceo
- Cloud
- code
- verzamelen
- Bedrijven
- Configuratie
- troosten
- Containers
- containers
- content
- onder controle te houden
- Namaak
- Wij creรซren
- Crimineel
- gewoonte
- Klanten
- gegevens
- Database
- implementeren
- Opsporing
- ontwikkelde
- anders
- bespreken
- havenarbeider
- beneden
- uitvaltijd
- Drugs
- gemakkelijk
- rand
- effectief
- waardoor
- Endpoint
- ingenieur
- Enterprise
- Event
- voorbeeld
- Tot slot
- Voornaam*
- volgend
- bedrog
- functie
- Git
- goederen
- Groeiend
- Gast
- Gast Bericht
- hulp
- helpt
- Hoe
- How To
- HTTPS
- menselijk
- Identiteit
- beeld
- belangrijk
- iot
- IT
- Jobomschrijving:
- sleutel
- laatste
- lancering
- LEARN
- leren
- locaties
- machine
- machine learning
- beheerd
- ML
- model
- modellen
- meer
- beweging
- Navigatie
- notitieboekje
- het aanbieden van
- officieel
- Meningen
- bestellen
- Overige
- ownership
- partner
- beeld
- mooi
- het voorkomen
- privaat
- Product
- Producten
- veelbelovend
- publiek
- snel
- herkennen
- relevante
- bewaarplaats
- hulpbron
- verantwoordelijk
- lopen
- verkoop
- schaalbare
- sdk
- service
- Diensten
- reeks
- gelijk
- Eenvoudig
- Snappen
- Software
- Software Engineer
- oplossing
- Spot
- begin
- gestart
- Status
- mediaopslag
- winkels
- Met goed gevolg
- ondersteuning
- Technologies
- Testen
- de wereld
- van derden
- Door
- niet de tijd of
- tools
- spoor
- traditioneel
- Trainingen
- treinen
- unieke
- bijwerken
- .
- Verificatie
- Virtueel
- wachten
- web
- webserver
- Website
- zonder
- wereld
- wereldwijd
- jaar