Aceasta este o postare pentru invitați scrisă de Andrew Masek, inginer software la The Barcode Registry și Erik Quisling, CEO al The Barcode Registry.
Contrafacerea produselor este cea mai mare întreprindere criminală din lume. Creșterea cu peste 10,000% în ultimele două decenii, vânzările de bunuri contrafăcute însumează acum 1.7 trilioane de dolari pe an la nivel mondial, ceea ce înseamnă mai mult decât trafic de droguri și persoane. Deși metodele tradiționale de prevenire a contrafacerii, cum ar fi codurile de bare unice și verificarea produselor, pot fi foarte eficiente, noile tehnologii de învățare automată (ML) precum detectarea obiectelor par foarte promițătoare. Cu detectarea obiectelor, puteți acum să faceți o poză a unui produs și să știți aproape instantaneu dacă acel produs este probabil să fie legitim sau fraudulos.
Registrul codurilor de bare (împreună cu partenerul său Buyabarcode.com) este o soluție cu servicii complete care ajută clienții să prevină frauda și contrafacerea produselor. Face acest lucru prin vânzarea codurilor de bare unice înregistrate în GS1, verificând calitatea de proprietar al produsului și înregistrând produsele și codurile de bare ale utilizatorilor într-o bază de date cuprinzătoare. Cea mai recentă ofertă a lor, despre care discutăm în această postare, folosește Amazon SageMaker pentru a crea modele de detectare a obiectelor pentru a ajuta la recunoașterea instantanee a produselor contrafăcute.
Prezentare generală a soluției
Pentru a utiliza aceste modele de detectare a obiectelor, mai întâi trebuie să colectați date pentru a le antrena. Companiile încarcă imagini adnotate ale produselor lor în The Barcode Registry . După ce aceste date sunt încărcate în Serviciul Amazon de stocare simplă (Amazon S3) și procesat de AWS Lambdas funcții, îl puteți folosi pentru a antrena un model de detectare a obiectelor SageMaker. Acest model este găzduit pe un punct final SageMaker, unde site-ul web îl conectează la utilizatorul final.
Există trei pași cheie pentru a crea Registrul de coduri de bare utilizează pentru a crea un model personalizat de detectare a obiectelor cu SageMaker:
- Creați un script de antrenament pentru ca SageMaker să ruleze.
- Creați un container Docker din scriptul de antrenament și încărcați-l în Amazon ECR.
- Utilizați consola SageMaker pentru a antrena un model cu algoritmul personalizat.
Datele produsului
Ca o condiție prealabilă pentru a antrena un model de detectare a obiectelor, veți avea nevoie de un cont AWS și de imagini de antrenament, constând din cel puțin 100 de imagini de înaltă calitate (de înaltă rezoluție și în mai multe condiții de iluminare) ale obiectului dvs. Ca și în cazul oricărui model ML, datele de înaltă calitate sunt esențiale. Pentru a antrena un model de detectare a obiectelor, avem nevoie de imagini care să conțină produsele relevante, precum și de casete de delimitare care descriu unde sunt produsele în imagini, așa cum se arată în exemplul următor.
Pentru a antrena un model eficient, sunt necesare imagini cu fiecare dintre produsele unei mărci cu fundaluri și condiții de iluminare diferite - aproximativ 30–100 de imagini adnotate unice pentru fiecare produs.
După ce imaginile sunt încărcate pe serverul web, acestea sunt încărcate pe Amazon S3 folosind AWS SDK pentru PHP. Un eveniment Lambda este declanșat de fiecare dată când este încărcată o imagine. Funcția elimină metadatele Exif din imagini, ceea ce uneori le poate face să apară rotite atunci când sunt deschise de bibliotecile ML folosite ulterior pentru antrenarea modelului. Datele asociate cutiei de delimitare sunt stocate în fișiere JSON și încărcate pe Amazon S3 pentru a însoți imaginile.
SageMaker pentru modele de detectare a obiectelor
SageMaker este un serviciu ML gestionat care include o varietate de instrumente pentru construirea, instruirea și găzduirea modelelor în cloud. În special, TheBarcodeRegistry folosește SageMaker pentru serviciul său de detectare a obiectelor datorită serviciilor de găzduire și formare a modelelor ML fiabile și scalabile ale SageMaker. Aceasta înseamnă că multe mărci pot avea propriile modele de detectare a obiectelor antrenate și găzduite și, chiar dacă utilizarea crește în mod imprevizibil, nu va exista niciun timp de nefuncționare.
Registrul codurilor de bare utilizează containere Docker personalizate încărcate în Registrul Amazon de containere elastice (Amazon ECR) pentru a avea un control mai fin al algoritmului de detectare a obiectelor folosit pentru antrenament și inferență, precum și pentru suport pentru Server multimodel (MMS). MMS este foarte important pentru cazul de utilizare a detectării contrafăcute, deoarece permite ca modelele mai multor mărci să fie găzduite rentabil pe același server. Alternativ, puteți utiliza sistemul încorporat algoritm de detectare a obiectelor pentru a implementa rapid modele standard dezvoltate de AWS.
Antrenați un model personalizat de detectare a obiectelor cu SageMaker
Mai întâi, trebuie să adăugați algoritmul de detectare a obiectelor. În acest caz, încărcați un container Docker cu scripturi pentru a antrena un model de detectare a obiectelor Yolov5 la Amazon ECR:
- Pe consola SageMaker, sub Blocnotes în panoul de navigare, alegeți Instanțe de notebook.
- Alege Creați o instanță de notebook.
- Introduceți un nume pentru instanța de notebook și sub Permisiuni și criptare alege un Gestionarea identității și accesului AWS (IAM) cu permisiunile necesare.
- Deschideți Depozite Git meniu.
- Selectați Clonați un depozit public Git numai pentru această instanță de notebook și lipiți următoarele Adresa URL a depozitului Git: https://github.com/portoaj/SageMakerObjectDetection
- Clic Creați o instanță de notebook și așteptați aproximativ cinci minute pentru ca starea instanței să se actualizeze de la În aşteptare la În funcțiune în Instanță de caiet meniu.
- Odată ce caietul este În funcțiune, selectați-l și faceți clic Acţiuni și Deschideți Jupyter pentru a lansa instanța de notebook într-o filă nouă.
- selectaţi SageMakerObjectDetection director și apoi faceți clic pe
sagemakerobjectdetection.ipynb
pentru a lansa notebook-ul Jupyter. - selectaţi
conda_python3
nucleu și faceți clic Setați Kernel. - Selectați celula de cod și setați
aws_account_id
variabilă la ID-ul contului dvs. AWS. - Clic Alerga pentru a începe procesul de construire a unui container Docker și de încărcare a acestuia în Amazon ECR. Acest proces poate dura aproximativ 20 de minute.
- Odată ce containerul Docker a fost încărcat, reveniți la Instanțe de notebook meniu, selectați instanța dvs. și faceți clic Acţiuni și Stop pentru a închide instanța notebook-ului.
După ce algoritmul este construit și transmis către Amazon ECR, îl puteți folosi pentru a antrena un model prin consola SageMaker.
- Pe consola SageMaker, sub Pregătire în panoul de navigare, alegeți Locuri de muncă de formare.
- Alege Creați un loc de muncă de formare.
- Introduceți un nume pentru job și alegeți Gestionarea identității și accesului AWS (IAM) cu permisiunile necesare.
- Pentru Sursa algoritmului, Selectați Propriul dvs. container de algoritm în ECR.
- Pentru Recipient, introduceți calea de registry.
- Setarea unei singure instanțe ml.p2.xlarge în configurația resurselor ar trebui să fie suficientă pentru antrenarea unui model Yolov5.
- Specificați locațiile Amazon S3 atât pentru datele de intrare, cât și pentru calea de ieșire și pentru orice alte setări, cum ar fi configurarea unui VPC prin Cloud virtual virtual Amazon (Amazon VPC) sau activarea Managed Spot Training.
- Alege Creați un loc de muncă de formare.
Puteți urmări progresul de antrenament al modelului pe consola SageMaker.
Antrenament automat pentru modele
Următoarea diagramă ilustrează fluxul de lucru automatizat de formare a modelului:
Pentru ca SageMaker să înceapă să antreneze modelul de detectare a obiectelor de îndată ce un utilizator își termină încărcarea datelor, serverul web folosește Gateway API Amazon pentru a anunța o funcție Lambda că marca a terminat și pentru a începe o muncă de instruire.
Când modelul unei mărci este antrenat cu succes, Amazon EventBridge apelează o funcție Lambda care mută modelul antrenat în compartimentul S3 al punctului final, unde este în sfârșit gata pentru inferență. O alternativă mai nouă la utilizarea Amazon EventBridge pentru a muta modelele prin ciclul de viață MLOps pe care ar trebui să o luați în considerare este Conducte SageMaker.
Găzduiește modelul pentru inferență
Următoarea diagramă ilustrează fluxul de lucru de inferență:
Pentru a utiliza modelele antrenate, SageMaker necesită ca un model de inferență să fie găzduit de un punct final. Punctul final este serverul sau matricea de servere care sunt utilizate pentru a găzdui efectiv modelul de inferență. Similar cu containerul de instruire pe care l-am creat, un container Docker pentru inferență este găzduit în Amazon ECR. Modelul de inferență folosește acel container Docker și preia imaginea de intrare pe care utilizatorul a luat-o cu telefonul, o rulează prin modelul de detectare a obiectelor antrenat și emite rezultatul.
Din nou, Registrul de coduri de bare folosește containere Docker personalizate pentru modelul de inferență pentru a permite utilizarea Multi Model Server, dar dacă este nevoie de un singur model, acesta poate fi găzduit cu ușurință prin algoritmul de detectare a obiectelor încorporat.
Concluzie
Registrul de coduri de bare (împreună cu partenerul său Buyabarcode.com) utilizează AWS pentru întreaga conductă de detectare a obiectelor. Serverul web stochează în mod fiabil datele în Amazon S3 și utilizează funcțiile API Gateway și Lambda pentru a conecta serverul web la cloud. SageMaker antrenează și găzduiește cu ușurință modele ML, ceea ce înseamnă că un utilizator poate face o fotografie a unui produs pe telefon și poate vedea dacă produsul este contrafăcut. Această postare arată cum să creați și să găzduiți un model de detectare a obiectelor folosind SageMaker, precum și cum să automatizați procesul.
În timpul testării, modelul a reușit să atingă o precizie de peste 90% pe un set de antrenament de 62 de imagini și un set de testare de 32 de imagini, ceea ce este destul de impresionant pentru un model antrenat fără nicio intervenție umană. Pentru a începe antrenamentul modelelor de detectare a obiectelor, consultați oficial documentaţie sau să învețe cum implementați un model de detectare a obiectelor la margine folosind AWS IoT Greengrass.
Conținutul și opiniile din această postare sunt cele ale autorului terț, iar AWS nu este responsabilă pentru conținutul sau acuratețea acestei postări.
Despre Autori
Andrew Masek, Inginer software la The Barcode Registry.
Erik Quisling, CEO al The Barcode Registry.
- Coinsmart. Cel mai bun schimb de Bitcoin și Crypto din Europa.
- Platoblockchain. Web3 Metaverse Intelligence. Cunoștințe amplificate. ACCES LIBER.
- CryptoHawk. Radar Altcoin. Încercare gratuită.
- Sursa: https://aws.amazon.com/blogs/machine-learning/how-the-barcode-registry-detects-counterfeit-products-using-object-detection-and-amazon-sagemaker/
- "
- 000
- 10
- 100
- 7
- Despre Noi
- acces
- Cont
- Algoritmul
- Cu toate ca
- Amazon
- api
- Automata
- AWS
- frontieră
- Cutie
- marci
- Clădire
- construit-in
- Provoca
- CEO
- Cloud
- cod
- colecta
- Companii
- Configuraţie
- Consoleze
- Recipient
- Containere
- conţinut
- Control
- Contrafăcut
- Crearea
- Penal
- personalizat
- clienţii care
- de date
- Baza de date
- implementa
- Detectare
- dezvoltat
- diferit
- discuta
- Docher
- jos
- nefuncționare
- Droguri
- cu ușurință
- Margine
- Eficace
- permițând
- Punct final
- inginer
- Afacere
- eveniment
- exemplu
- În cele din urmă
- First
- următor
- fraudă
- funcţie
- merge
- bunuri
- În creştere
- Oaspete
- Vizitator Mesaj
- ajutor
- ajută
- Cum
- Cum Pentru a
- HTTPS
- uman
- Identitate
- imagine
- important
- IoT
- IT
- Loc de munca
- Cheie
- Ultimele
- lansa
- AFLAȚI
- învăţare
- Locații
- maşină
- masina de învățare
- gestionate
- ML
- model
- Modele
- mai mult
- muta
- Navigare
- caiet
- oferind
- oficial
- Avize
- comandă
- Altele
- proprietate
- partener
- imagine
- destul de
- Prevenirea
- privat
- proces
- Produs
- Produse
- promițător
- public
- repede
- recunoaște
- depozit
- resursă
- responsabil
- Alerga
- de vânzări
- scalabil
- sdk
- serviciu
- Servicii
- set
- asemănător
- simplu
- Fixaţi
- Software
- Inginer Software
- soluţie
- Loc
- Începe
- început
- Stare
- depozitare
- magazine
- Reușit
- a sustine
- Tehnologii
- Testarea
- lumea
- terț
- Prin
- timp
- Unelte
- urmări
- tradiţional
- Pregătire
- trenuri
- unic
- Actualizează
- utilizare
- Verificare
- Virtual
- aștepta
- web
- server de web
- website
- fără
- lume
- la nivel internațional.
- an