Dies ist ein Gastbeitrag, der von Andrew Masek, Software Engineer bei The Barcode Registry, und Erik Quisling, CEO von The Barcode Registry, verfasst wurde.
Produktfälschung ist das größte kriminelle Einzelunternehmen der Welt. Der Umsatz mit gefälschten Waren, der in den letzten zwei Jahrzehnten um über 10,000 % gewachsen ist, beläuft sich heute weltweit auf 1.7 Billionen US-Dollar pro Jahr, was mehr ist als der Drogen- und Menschenhandel. Obwohl herkömmliche Methoden zur Fälschungsprävention wie eindeutige Barcodes und Produktverifizierung sehr effektiv sein können, erscheinen neue Technologien des maschinellen Lernens (ML) wie die Objekterkennung sehr vielversprechend. Mit der Objekterkennung können Sie jetzt ein Bild von einem Produkt machen und fast sofort wissen, ob dieses Produkt wahrscheinlich legitim oder betrügerisch ist.
Das Barcode-Registrierung (in Verbindung mit seinem Partner Barcode kaufen.com) ist eine Full-Service-Lösung, die Kunden hilft, Produktbetrug und Fälschungen zu verhindern. Dies geschieht durch den Verkauf einzigartiger GS1-registrierter Barcodes, die Überprüfung des Produktbesitzes und die Registrierung der Produkte und Barcodes der Benutzer in einer umfassenden Datenbank. Ihr neuestes Angebot, das wir in diesem Beitrag besprechen, verwendet Amazon Sage Maker Objekterkennungsmodelle zu erstellen, um gefälschte Produkte sofort zu erkennen.
Lösungsübersicht
Um diese Objekterkennungsmodelle zu verwenden, müssen Sie zunächst Daten sammeln, um sie zu trainieren. Unternehmen laden kommentierte Bilder ihrer Produkte in The Barcode Registry hoch Website . Nachdem diese Daten hochgeladen wurden Amazon Simple Storage-Service (Amazon S3) und verarbeitet von AWS Lambda Funktionen können Sie damit ein SageMaker-Objekterkennungsmodell trainieren. Dieses Modell wird auf einem SageMaker-Endpunkt gehostet, wo die Website es mit dem Endbenutzer verbindet.
Es gibt drei wichtige Schritte zum Erstellen von The Barcode Registry, die zum Erstellen eines benutzerdefinierten Objekterkennungsmodells mit SageMaker verwendet werden:
- Erstellen Sie ein Trainingsskript, das SageMaker ausführen soll.
- Erstellen Sie einen Docker-Container aus dem Trainingsskript und laden Sie ihn in Amazon ECR hoch.
- Verwenden Sie die SageMaker-Konsole, um ein Modell mit dem benutzerdefinierten Algorithmus zu trainieren.
Produktdaten
Als Voraussetzung zum Trainieren eines Objekterkennungsmodells benötigen Sie ein AWS-Konto und Trainingsbilder, die aus mindestens 100 hochwertigen (hochaufgelösten und unter mehreren Lichtverhältnissen) Bildern Ihres Objekts bestehen. Wie bei jedem ML-Modell sind qualitativ hochwertige Daten von größter Bedeutung. Um ein Objekterkennungsmodell zu trainieren, benötigen wir Bilder mit den relevanten Produkten sowie Begrenzungsrahmen, die beschreiben, wo sich die Produkte in den Bildern befinden, wie im folgenden Beispiel gezeigt.
Um ein effektives Modell zu trainieren, werden Bilder von jedem Produkt einer Marke mit unterschiedlichen Hintergründen und Lichtverhältnissen benötigt – etwa 30–100 eindeutig kommentierte Bilder für jedes Produkt.
Nachdem die Bilder auf den Webserver hochgeladen wurden, werden sie mithilfe von auf Amazon S3 hochgeladen AWS SDK für PHP. Jedes Mal, wenn ein Bild hochgeladen wird, wird ein Lambda-Ereignis ausgelöst. Die Funktion entfernt die Exif-Metadaten aus den Bildern, was manchmal dazu führen kann, dass sie gedreht erscheinen, wenn sie von den später zum Trainieren des Modells verwendeten ML-Bibliotheken geöffnet werden. Die zugehörigen Begrenzungsrahmendaten werden in JSON-Dateien gespeichert und zusammen mit den Bildern auf Amazon S3 hochgeladen.
SageMaker für Objekterkennungsmodelle
SageMaker ist ein verwalteter ML-Dienst, der eine Vielzahl von Tools zum Erstellen, Trainieren und Hosten von Modellen in der Cloud umfasst. Insbesondere verwendet TheBarcodeRegistry SageMaker für seinen Objekterkennungsdienst aufgrund der zuverlässigen und skalierbaren Schulungs- und Hosting-Dienste für ML-Modelle von SageMaker. Das bedeutet, dass viele Marken ihre eigenen Objekterkennungsmodelle trainieren und hosten lassen können und selbst bei unvorhersehbaren Nutzungsspitzen keine Ausfallzeiten auftreten.
Die Barcode-Registrierung verwendet benutzerdefinierte Docker-Container, die hochgeladen werden Amazon Elastic Container-Registrierung (Amazon ECR), um eine feinkörnigere Steuerung des Objekterkennungsalgorithmus zu haben, der für das Training und die Inferenz sowie zur Unterstützung von verwendet wird Multi-Model-Server (MMS). MMS ist für den Anwendungsfall der Fälschungserkennung sehr wichtig, da es ermöglicht, die Modelle mehrerer Marken kostengünstig auf demselben Server zu hosten. Alternativ können Sie die integrierte verwenden Objekterkennungsalgorithmus um von AWS entwickelte Standardmodelle schnell bereitzustellen.
Trainieren Sie ein benutzerdefiniertes Objekterkennungsmodell mit SageMaker
Zuerst müssen Sie Ihren Objekterkennungsalgorithmus hinzufügen. Laden Sie in diesem Fall einen Docker-Container mit Skripten zum Trainieren eines Yolov5-Objekterkennungsmodells in Amazon ECR hoch:
- Auf der SageMaker-Konsole unter Notizbuch Wählen Sie im Navigationsbereich Notebook-Instanzen.
- Auswählen Erstellen Sie eine Notebook-Instanz.
- Geben Sie einen Namen für die Notebook-Instanz und unter ein Berechtigungen und Verschlüsselung wähle ein AWS Identity and Access Management and (IAM)-Rolle mit den erforderlichen Berechtigungen.
- Öffnen Sie den Microsoft Store auf Ihrem Windows-PC. Git-Repositories Menü.
- Auswählen Klonen Sie ein öffentliches Git-Repository nur in diese Notebook-Instanz und folgendes einfügen Git-Repository-URL: https://github.com/portoaj/SageMakerObjectDetection
- Klicken Sie auf Kostenlos erhalten und dann auf Installieren. Erstellen Sie eine Notebook-Instanz und warten Sie etwa fünf Minuten, bis der Status der Instanz aktualisiert wird Zu überprüfen zu Im Dienst der Notebook-Instanz Menü.
- Sobald das Notizbuch ist Im Dienst, wählen Sie es aus und klicken Sie auf Aktionen und Öffne Jupyter um die Notebook-Instance in einem neuen Tab zu starten.
- Wähle aus SageMakerObjectDetection Verzeichnis und klicken Sie dann auf
sagemakerobjectdetection.ipynb
um das Jupyter-Notebook zu starten. - Wähle aus
conda_python3
Kernel und klicken Kernel einstellen. - Wählen Sie die Codezelle aus und stellen Sie die ein
aws_account_id
-Variable zu Ihrer AWS-Konto-ID. - Klicken Sie auf Kostenlos erhalten und dann auf Installieren. Führen Sie um mit dem Erstellen eines Docker-Containers und dem Hochladen auf Amazon ECR zu beginnen. Dieser Vorgang kann etwa 20 Minuten dauern.
- Nachdem der Docker-Container hochgeladen wurde, kehren Sie zu zurück Notebook-Instanzen Menü, wählen Sie Ihre Instanz aus und klicken Sie auf Aktionen und Stoppen um Ihre Notebook-Instance herunterzufahren.
Nachdem der Algorithmus erstellt und an Amazon ECR gepusht wurde, können Sie damit ein Modell über die SageMaker-Konsole trainieren.
- Auf der SageMaker-Konsole unter Ausbildung Wählen Sie im Navigationsbereich Ausbildungsjobs.
- Auswählen Ausbildungsauftrag anlegen.
- Geben Sie einen Namen für den Job ein und wählen Sie die aus AWS Identity and Access Management and (IAM)-Rolle mit den erforderlichen Berechtigungen.
- Aussichten für AlgorithmusquelleWählen Ihr eigener Algorithmus-Container in ECR.
- Aussichten für Container, geben Sie den Registrierungspfad ein.
- Das Festlegen einer einzelnen ml.p2.xlarge-Instanz unter der Ressourcenkonfiguration sollte zum Trainieren eines Yolov5-Modells ausreichen.
- Geben Sie Amazon S3-Standorte sowohl für Ihre Eingabedaten als auch für Ihren Ausgabepfad und alle anderen Einstellungen an, z. B. das Konfigurieren einer VPC über Amazon Virtual Private Cloud (Amazon VPC) oder das Aktivieren von Managed Spot Training.
- Auswählen Ausbildungsauftrag anlegen.
Sie können den Trainingsfortschritt des Modells auf der SageMaker-Konsole verfolgen.
Automatisiertes Modelltraining
Das folgende Diagramm veranschaulicht den automatisierten Modelltrainingsworkflow:
Damit SageMaker mit dem Training des Objekterkennungsmodells beginnt, sobald ein Benutzer mit dem Hochladen seiner Daten fertig ist, verwendet der Webserver Amazon API-Gateway um eine Lambda-Funktion zu benachrichtigen, dass die Marke beendet ist, und um einen Trainingsjob zu beginnen.
Wenn das Modell einer Marke erfolgreich trainiert wird, Amazon EventBridge ruft eine Lambda-Funktion auf, die das trainierte Modell in den S3-Bucket des Live-Endpunkts verschiebt, wo es schließlich für die Inferenz bereit ist. Eine neuere Alternative zur Verwendung von Amazon EventBridge zum Verschieben von Modellen durch den MLOps-Lebenszyklus, die Sie in Betracht ziehen sollten, ist SageMaker-Pipelines.
Hosten Sie das Modell für die Inferenz
Das folgende Diagramm veranschaulicht den Inferenz-Workflow:
Um die trainierten Modelle verwenden zu können, benötigt SageMaker ein Inferenzmodell, das von einem Endpunkt gehostet wird. Der Endpunkt ist der Server oder das Array von Servern, die verwendet werden, um das Inferenzmodell tatsächlich zu hosten. Ähnlich wie der von uns erstellte Trainingscontainer wird ein Docker-Container für Inferenz in Amazon ECR gehostet. Das Inferenzmodell verwendet diesen Docker-Container und nimmt das Eingabebild, das der Benutzer mit seinem Telefon aufgenommen hat, führt es durch das trainierte Objekterkennungsmodell und gibt das Ergebnis aus.
Auch hier verwendet The Barcode Registry benutzerdefinierte Docker-Container für das Inferenzmodell, um die Verwendung von Multi Model Server zu ermöglichen, aber wenn nur ein Modell benötigt wird, kann dieses einfach über den integrierten Objekterkennungsalgorithmus gehostet werden.
Zusammenfassung
Die Barcode Registry (in Zusammenarbeit mit ihrem Partner Buyabarcode.com) verwendet AWS für ihre gesamte Objekterkennungspipeline. Der Webserver speichert Daten zuverlässig in Amazon S3 und verwendet API Gateway- und Lambda-Funktionen, um den Webserver mit der Cloud zu verbinden. SageMaker trainiert und hostet ML-Modelle, was bedeutet, dass ein Benutzer ein Produkt auf seinem Telefon fotografieren und sehen kann, ob das Produkt eine Fälschung ist. Dieser Beitrag zeigt, wie Sie ein Objekterkennungsmodell mit SageMaker erstellen und hosten und wie Sie den Prozess automatisieren.
Beim Testen konnte das Modell bei einem Trainingssatz von 90 Bildern und einem Testsatz von 62 Bildern eine Genauigkeit von über 32 % erreichen, was für ein Modell, das ohne menschliches Eingreifen trainiert wurde, ziemlich beeindruckend ist. Um mit dem Training von Objekterkennungsmodellen zu beginnen, schauen Sie sich den offiziellen an Dokumentation oder lernen, wie man Stellen Sie mithilfe von AWS IoT Greengrass ein Objekterkennungsmodell am Edge bereit.
Der Inhalt und die Meinungen in diesem Beitrag sind die des Drittautors und AWS ist nicht für den Inhalt oder die Richtigkeit dieses Beitrags verantwortlich.
Über die Autoren
Andreas Masek, Software Engineer bei The Barcode Registry.
Erik Quisling, CEO von The Barcode Registry.
- Coinsmart. Europas beste Bitcoin- und Krypto-Börse.
- Platoblockkette. Web3-Metaverse-Intelligenz. Wissen verstärkt. DEN FREIEN ZUGANG.
- CryptoHawk. Altcoin-Radar. Kostenlose Testphase.
- Quelle: https://aws.amazon.com/blogs/machine-learning/how-the-barcode-registry-detects-counterfeit-products-using-object-detection-and-amazon-sagemaker/
- "
- 000
- 10
- 100
- 7
- Über uns
- Zugang
- Konto
- Algorithmus
- Obwohl
- Amazon
- Bienen
- Automatisiert
- AWS
- Grenze
- Box
- Marken
- Building
- eingebaut
- Verursachen
- CEO
- Cloud
- Code
- sammeln
- Unternehmen
- Konfiguration
- Konsul (Console)
- Container
- Behälter
- Inhalt
- Smartgeräte App
- Fälschung
- Erstellen
- Kriminell
- Original
- Kunden
- technische Daten
- Datenbase
- einsetzen
- Entdeckung
- entwickelt
- anders
- diskutieren
- Docker
- nach unten
- Ausfallzeit
- Drogen
- leicht
- Edge
- Effektiv
- ermöglichen
- Endpunkt
- Ingenieur
- Unternehmen
- Event
- Beispiel
- Endlich
- Vorname
- Folgende
- Betrug
- Funktion
- Git
- Waren
- persönlichem Wachstum
- GUEST
- Guest Post
- Hilfe
- hilft
- Ultraschall
- Hilfe
- HTTPS
- human
- Identitätsschutz
- Image
- wichtig
- iot
- IT
- Job
- Wesentliche
- neueste
- starten
- LERNEN
- lernen
- Standorte
- Maschine
- Maschinelles Lernen
- verwaltet
- ML
- Modell
- für
- mehr
- schlauer bewegen
- Navigation
- Notizbuch
- bieten
- offiziell
- Meinungen
- Auftrag
- Andere
- Eigentum
- Partner
- ein Bild
- ziemlich
- abwehr
- privat
- Prozessdefinierung
- Produkt
- Produkte
- aussichtsreich
- Öffentlichkeit
- schnell
- erkennen
- relevant
- Quelle
- Ressourcen
- für ihren Verlust verantwortlich.
- Führen Sie
- Vertrieb
- skalierbaren
- Sdk
- Leistungen
- kompensieren
- ähnlich
- Einfacher
- Schnappen
- Software
- Software IngenieurIn
- Lösung
- Spot
- Anfang
- begonnen
- Status
- Lagerung
- Läden
- Erfolgreich
- Support
- Technologies
- Testen
- die Welt
- basierte Online-to-Offline-Werbezuordnungen von anderen gab.
- Durch
- Zeit
- Werkzeuge
- verfolgen sind
- traditionell
- Ausbildung
- schult Ehrenamtliche
- einzigartiges
- Aktualisierung
- -
- Verification
- Assistent
- warten
- Netz
- Web-Server
- Webseite
- ohne
- weltweit wie ausgehandelt und gekauft ausgeführt wird.
- Das weltweit
- Jahr