Identificați locația anomaliilor folosind Amazon Lookout for Vision la margine fără a utiliza un GPU PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Identificați locația anomaliilor folosind Amazon Lookout for Vision la margine fără a utiliza un GPU

Detectarea automată a defectelor folosind viziunea computerizată ajută la îmbunătățirea calității și la reducerea costurilor inspecției. Detectarea defectelor implică identificarea prezenței unui defect, clasificarea tipurilor de defecte și identificarea unde sunt localizate defectele. Multe procese de producție necesită detectarea la o latență scăzută, cu resurse de calcul limitate și cu conectivitate limitată.

Amazon Lookout pentru Vision este un serviciu de învățare automată (ML) care ajută la identificarea defectelor produsului folosind viziunea computerizată pentru a automatiza procesul de inspecție a calității în liniile dvs. de producție, fără a fi necesară expertiza în ML. Lookout for Vision include acum capacitatea de a furniza locația și tipul anomaliilor folosind modele ML de segmentare semantică. Aceste modele ML personalizate pot fi implementate fie în AWS Cloud folosind API-uri cloud sau la personalizarea hardware de margine folosind AWS IoT Greengrass. Lookout for Vision acceptă acum inferența pe o platformă de calcul x86 care rulează Linux cu sau fără un accelerator GPU NVIDIA și pe orice dispozitiv edge bazat pe NVIDIA Jetson. Această flexibilitate permite detectarea defectelor hardware-ului existent sau nou.

În această postare, vă arătăm cum să detectați piesele defecte folosind modelele Lookout for Vision ML care rulează pe un aparat de margine, pe care le simulăm folosind un Cloud Elastic de calcul Amazon (Amazon EC2). Ne parcurgem antrenarea noilor modele de segmentare semantică, exportându-le ca componente AWS IoT Greengrass și rulând inferențe în modul numai CPU cu cod exemplu Python.

Prezentare generală a soluțiilor

În această postare, folosim un set de imagini cu extratereștrii de jucărie compus din imagini normale și defecte, cum ar fi lipsa membrelor, a ochilor sau a altor părți. Antrenăm un model Lookout for Vision în cloud pentru a identifica extratereștrii jucării defecte. Compilăm modelul pe un procesor țintă X86, împachetăm modelul Lookout for Vision antrenat ca componentă AWS IoT Greengrass și implementăm modelul într-o instanță EC2 fără un GPU folosind consola AWS IoT Greengrass. În cele din urmă, demonstrăm o aplicație eșantion bazată pe Python care rulează pe instanța EC2 (C5a.2xl) care generează imaginile extraterestre de jucărie din sistemul de fișiere al dispozitivului de margine, rulează inferența pe modelul Lookout for Vision folosind gRPC interfață și trimite datele de inferență către un MQTT subiect în AWS Cloud. Scripturile produc o imagine care include culoarea și locația defectelor pe imaginea anormală.

Următoarea diagramă ilustrează arhitectura soluției. Este important să rețineți pentru fiecare tip de defect pe care doriți să îl detectați în localizare, trebuie să aveți 10 imagini anomalii marcate în antrenament și 10 în datele de testare, pentru un total de 20 de imagini de acest tip. Pentru această postare, căutăm membre lipsă de pe jucărie.

Soluția are următorul flux de lucru:

  1. Încărcați un set de date de antrenament și un set de date de testare în Serviciul Amazon de stocare simplă (Amazon S3).
  2. Utilizați noua interfață de utilizare Lookout for Vision pentru a adăuga un tip de anomalie și a marca unde se află acele anomalii în imaginile de antrenament și de testare.
  3. Antrenați un model Lookout for Vision în cloud.
  4. Compilați modelul în arhitectura țintă (X86) și implementați modelul în instanța EC2 (C5a.2xl) folosind consola AWS IoT Greengrass.
  5. Imagini sursă de pe discul local.
  6. Rulați inferențe asupra modelului implementat prin interfața gRPC și preluați o imagine a măștilor de anomalii suprapuse pe imaginea originală.
  7. Postați rezultatele inferenței pe un client MQTT care rulează pe instanța edge.
  8. Primiți mesajul MQTT pe un subiect în AWS IoT Core în AWS Cloud pentru monitorizare și vizualizare ulterioară.

Pașii 5, 6 și 7 sunt coordonați cu exemplul de aplicație Python.

Cerințe preliminare

Înainte de a începe, completați următoarele cerințe preliminare. Pentru această postare, folosim o instanță EC2 c5.2xl și instalăm AWS IoT Greengrass V2 pe ea pentru a încerca noile funcții. Dacă doriți să rulați pe un NVIDIA Jetson, urmați pașii din postarea noastră anterioară, Amazon Lookout for Vision acceptă acum inspecția vizuală a defectelor produsului la margine.

  1. Creați un cont AWS.
  2. Porniți o instanță EC2 pe care să putem instala AWS IoT Greengrass și folosiți noul mod de inferență numai pentru procesor. Puteți utiliza și o mașină Intel X86 pe 64 de biți cu 8 gigaocteți de memorie RAM sau mai mult (folosim un c5a.2xl, dar orice cu mai mult de 8 gigaocteți pe platforma x86 ar trebui să funcționeze) rulând Ubuntu 20.04.
  3. Instalați AWS IoT Greengrass V2:
    git clone https://github.com/aws-samples/amazon-lookout-for-vision.git
    cd edge
    # be sure to edit the installation script to match your region, also adjust any device names and groups!
    vi install_greengrass.sh

  4. Instalați sistemul necesar și dependențele Python 3 (Ubuntu 20.04):
    # install Ubuntu dependencies on the EC2 instance
    ./install-ec2-ubuntu-deps.sh
    pip3 install -r requirements.txt
    # Replace ENDPOINT variable in sample-client-file-mqtt.py with the value on the AWS console AWS IoT->Things->l4JetsonXavierNX->Interact.  
    # Under HTTPS. It will be of type <name>-ats.iot.<region>.amazon.com 

Încărcați setul de date și antrenați modelul

Noi folosim set de date despre extratereștrii jucării pentru a demonstra soluția. Setul de date conține imagini normale și anormale. Iată câteva exemple de imagini din setul de date.

Următoarea imagine arată un extraterestru normal de jucărie.

Identificați locația anomaliilor folosind Amazon Lookout for Vision la margine fără a utiliza un GPU PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Următoarea imagine arată un extraterestru jucărie căruia îi lipsește un picior.

Identificați locația anomaliilor folosind Amazon Lookout for Vision la margine fără a utiliza un GPU PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Următoarea imagine arată un extraterestru jucărie căruia îi lipsește un cap.

Identificați locația anomaliilor folosind Amazon Lookout for Vision la margine fără a utiliza un GPU PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

În această postare, căutăm membre lipsă. Folosim noua interfață cu utilizatorul pentru a desena o mască în jurul defectelor din datele noastre de antrenament și teste. Acest lucru va spune modelelor de segmentare semantică cum să identifice acest tip de defect.

  1. Începeți prin a încărca setul de date, fie prin Amazon S3, fie de pe computer.
  2. Sortați-le în foldere intitulate normal și anomaly.
  3. Când creați setul de date, selectați Atașați automat etichete la imagini pe baza numelui folderului.Acest lucru ne permite să sortăm imaginile anormale mai târziu și să desenăm zonele care urmează să fie etichetate cu un defect.
    Identificați locația anomaliilor folosind Amazon Lookout for Vision la margine fără a utiliza un GPU PlatoBlockchain Data Intelligence. Căutare verticală. Ai.
  4. Încercați să rețineți câteva imagini pentru a le testa mai târziu normal și anomaly.
  5. După ce toate imaginile au fost adăugate la setul de date, alegeți Adăugați etichete de anomalii.
  6. Începeți să etichetați datele alegând Începeți să etichetați.
  7. Pentru a accelera procesul, puteți selecta mai multe imagini și le puteți clasifica ca Normal or Anomaly.
    Identificați locația anomaliilor folosind Amazon Lookout for Vision la margine fără a utiliza un GPU PlatoBlockchain Data Intelligence. Căutare verticală. Ai.
    Dacă doriți să evidențiați anomaliile pe lângă clasificarea lor, trebuie să evidențiați unde se află anomaliile.
  8. Alegeți imaginea pe care doriți să o adnotați.
  9. Utilizați instrumentele de desen pentru a arăta zona în care lipsește o parte a subiectului sau trageți o mască peste defect.
  10. Alege Trimiteți și închideți pentru a păstra aceste modificări.
    Identificați locația anomaliilor folosind Amazon Lookout for Vision la margine fără a utiliza un GPU PlatoBlockchain Data Intelligence. Căutare verticală. Ai.
  11. Repetați acest proces pentru toate imaginile dvs.
  12. Când ai terminat, alege Economisiți pentru a-ți persista modificările. Acum ești gata să-ți antrenezi modelul.
    Identificați locația anomaliilor folosind Amazon Lookout for Vision la margine fără a utiliza un GPU PlatoBlockchain Data Intelligence. Căutare verticală. Ai.
  13. Alege Model de tren.

După ce finalizați acești pași, puteți naviga la proiect și la modele pagina pentru a verifica performanța modelului antrenat. Puteți începe procesul de exportare a modelului pe dispozitivul de margine țintă în orice moment după ce modelul este antrenat.

Reantrenează modelul cu imagini corectate

Uneori, etichetarea anomaliei poate să nu fie corectă. Aveți șansa de a vă ajuta modelul să vă învețe mai bine anomaliile. De exemplu, următoarea imagine este identificată ca o anomalie, dar nu arată missing_limbs etichetă.

Identificați locația anomaliilor folosind Amazon Lookout for Vision la margine fără a utiliza un GPU PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Să deschidem editorul și să reparăm asta.

Parcurgeți toate imaginile pe care le găsiți astfel. Dacă descoperiți că este etichetat incorect o anomalie, puteți utiliza instrumentul de șters pentru a elimina eticheta incorectă.

Identificați locația anomaliilor folosind Amazon Lookout for Vision la margine fără a utiliza un GPU PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Acum vă puteți antrena din nou modelul și puteți obține o precizie mai bună.

Compilați și ambalați modelul ca componentă AWS IoT Greengrass

În această secțiune, parcurgem pașii pentru a compila modelul extraterestră de jucărie pe dispozitivul nostru de margine țintă și pentru a împacheta modelul ca componentă AWS IoT Greengrass.

  1. Pe consola Lookout for Vision, alegeți proiectul dvs.
  2. În panoul de navigare, alegeți Pachete model Edge.
  3. Alege Creați un job de ambalare a modelului.
  4. Pentru Numele locului de munca, introduceți un nume.
  5. Pentru Descrierea postului, introduceți o descriere opțională.
  6. Alege Răsfoiți modele.
  7. Selectați versiunea modelului (modelul extraterestru de jucărie construit în secțiunea anterioară).
  8. Alege Alege.
    Identificați locația anomaliilor folosind Amazon Lookout for Vision la margine fără a utiliza un GPU PlatoBlockchain Data Intelligence. Căutare verticală. Ai.
  9. Dacă rulați acest lucru pe Amazon EC2 sau pe un dispozitiv X86-64, selectați Platformă țintă Și alegeți Linux, X86, și Procesor.
    Dacă utilizați CPU, puteți lăsa opțiunile compilatorului goale dacă nu sunteți sigur și nu aveți un GPU NVIDIA. Dacă aveți o platformă bazată pe Intel care acceptă AVX512, puteți adăuga aceste opțiuni de compilare pentru a optimiza performanțe mai bune: {"mcpu": "skylake-avx512"}.
    Identificați locația anomaliilor folosind Amazon Lookout for Vision la margine fără a utiliza un GPU PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Puteți vedea numele și starea postului dvs. afișând ca In progress. Finalizarea lucrării de ambalare a modelului poate dura câteva minute. Când lucrarea de ambalare a modelului este finalizată, starea arată ca Success.
  10. Alegeți numele postului dvs. (în cazul nostru este aliensblogcpux86) pentru a vedea detaliile postului.
    Identificați locația anomaliilor folosind Amazon Lookout for Vision la margine fără a utiliza un GPU PlatoBlockchain Data Intelligence. Căutare verticală. Ai.
  11. Alege Creați un job de ambalare a modelului.
    Identificați locația anomaliilor folosind Amazon Lookout for Vision la margine fără a utiliza un GPU PlatoBlockchain Data Intelligence. Căutare verticală. Ai.
  12. Introduceți detaliile pentru Denumirea componentei, Descrierea componentei (optional), Versiune componentă, și Locația componentelor.Lookout for Vision stochează rețetele componente și artefactele în această locație Amazon S3.
  13. Alege Continuați implementarea în Greengrass pentru a implementa componenta pe dispozitivul de margine țintă.
    Identificați locația anomaliilor folosind Amazon Lookout for Vision la margine fără a utiliza un GPU PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Componenta AWS IoT Greengrass și artefactele modelului au fost create în contul dvs. AWS.

Implementați modelul

Asigurați-vă că aveți AWS IoT Greengrass V2 instalat pe dispozitivul țintă pentru contul dvs. înainte de a continua. Pentru instrucțiuni, consultați Instalați software-ul AWS IoT Greengrass Core.

În această secțiune, parcurgem pașii pentru a implementa modelul extraterestru de jucărie pe dispozitivul de margine folosind consola AWS IoT Greengrass.

Identificați locația anomaliilor folosind Amazon Lookout for Vision la margine fără a utiliza un GPU PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

  1. Pe consola AWS IoT Greengrass, navigați la dispozitivul dvs. edge.
  2. Alege Lansa pentru a iniția pașii de implementare.
  3. Selectați Dispozitiv de bază (deoarece implementarea este pe un singur dispozitiv) și introduceți un nume pentru Nume țintă.Numele țintă este același nume pe care l-ați folosit pentru a denumi dispozitivul de bază în timpul procesului de instalare AWS IoT Greengrass V2.
  4. Alegeți-vă componenta. În cazul nostru, numele componentei este aliensblogcpux86, care conține modelul extraterestru de jucărie.
  5. Alege Pagina Următoare →.
  6. Configurați componenta (opțional).
  7. Alege Pagina Următoare →.
  8. Extinde Politici de implementare.
  9. Pentru Politica de actualizare a componentelor, Selectați Notifică componente.Acest lucru permite componentei deja implementate (o versiune anterioară a componentei) să amâne o actualizare până când sunteți gata să actualizați.
  10. Pentru Politica de gestionare a eșecului, Selectați Nu te întoarce înapoi.În cazul unei eșecuri, această opțiune ne permite să investigăm erorile de implementare.
  11. Alege Pagina Următoare →.
  12. Examinați lista de componente care vor fi implementate pe dispozitivul țintă (de margine).
  13. Alege Pagina Următoare →.Ar trebui să vedeți mesajul Deployment successfully created.
  14. Pentru a valida implementarea modelului a avut succes, rulați următoarea comandă pe dispozitivul dvs. de margine:
    sudo /greengrass/v2/bin/greengrass-cli component list

Ar trebui să vedeți o ieșire similară care rulează aliensblogcpux86 script de pornire ciclului de viață:

Componente care rulează în prezent în Greengrass:

Components currently running in Greengrass:
 
Component Name: aws.iot.lookoutvision.EdgeAgent
    Version: 0.1.34
    State: RUNNING
    Configuration: {"Socket":"unix:///tmp/aws.iot.lookoutvision.EdgeAgent.sock"}
 Component Name: aliensblogcpux86
    Version: 1.0.0
    State: RUNNING
    Configuration: {"Autostart":false}

Executați inferențe pe model

notițe: Dacă rulați Greengrass ca alt utilizator decât cel pentru care sunteți autentificat, va trebui să modificați permisiunile fișierului /tmp/aws.iot.lookoutvision.EdgeAgent.sock:

chmod 666 /tmp/aws.iot.lookoutvision.EdgeAgent.sock

Acum suntem gata să facem inferențe asupra modelului. Pe dispozitivul Edge, rulați următoarea comandă pentru a încărca modelul (înlocuiți cu numele modelului utilizat în componenta dvs.):

# run command to load the model# This will load the model into running state pass
# the name of the model component as a parameter.
python3 warmup-model.py <modelName>

Pentru a genera inferențe, executați următoarea comandă cu numele fișierului sursă (înlocuiți cu calea și numele fișierului imaginii de verificat și înlocuit cu numele modelului folosit pentru componenta dvs.):

python3 sample-client-file-mqtt.py </path/to/images> <modelName>

start client ['sample-client-file.py', 'aliens-dataset/anomaly/1.png', 'aliensblogcpux86']
channel set
shape=(380, 550, 3)
Image is anomalous, (90.05860090255737 % confidence) contains defects with total area over .1%: {'missing_limbs': '#FFFFFF'}

Modelul prezice corect imaginea ca fiind anormală (missing_limbs) cu un scor de încredere de 0.9996867775917053. Ne spune masca etichetei de anomalie missing_limbs și suprafața procentuală. Răspunsul conține și date bitmap pe care le puteți decoda din ceea ce a găsit.

Descărcați și deschideți fișierul blended.png, care arată ca imaginea următoare. Observați zona evidențiată cu defectul din jurul picioarelor.

Identificați locația anomaliilor folosind Amazon Lookout for Vision la margine fără a utiliza un GPU PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Poveștile clienților

Cu AWS IoT Greengrass și Lookout for Vision, acum puteți automatiza inspecția vizuală cu viziune computerizată pentru procese precum controlul calității și evaluarea defectelor, totul la limită și în timp real. Puteți identifica în mod proactiv probleme precum deteriorarea pieselor (cum ar fi lovituri, zgârieturi sau sudură defectuoasă), componente lipsă ale produsului sau defecte cu modele repetate pe linia de producție în sine, economisind timp și bani. Clienți precum Tyson și Baxter descoperă puterea Lookout for Vision de a crește calitatea și de a reduce costurile operaționale prin automatizarea inspecției vizuale.

„Excelența operațională este o prioritate cheie la Tyson Foods. Întreținerea predictivă este un atu esențial pentru atingerea acestui obiectiv prin îmbunătățirea continuă a eficienței generale a echipamentelor (OEE). În 2021, Tyson Foods a lansat un proiect de viziune computerizată bazat pe învățarea automată pentru a identifica purtătorii de produse care nu au defect în timpul producției, pentru a preveni ca aceștia să afecteze siguranța membrilor echipei, operațiunile sau calitatea produsului. Modelele instruite folosind Amazon Lookout for Vision au avut rezultate bune. Modelul de detectare a pinului a atins o precizie de 95% în ambele clase. Modelul Amazon Lookout for Vision a fost reglat pentru a funcționa cu o precizie de 99.1% pentru detectarea eșuării pinului. De departe cel mai interesant rezultat al acestui proiect a fost accelerarea timpului de dezvoltare. Deși acest proiect utilizează două modele și un cod de aplicație mai complex, a fost nevoie de 12% mai puțin timp dezvoltator pentru finalizare. Acest proiect de monitorizare a stării transportatorilor de produse la Tyson Foods a fost finalizat în timp record folosind servicii gestionate de AWS, cum ar fi Amazon Lookout for Vision.”

—Audrey Timmerman, dezvoltator senior de aplicații, Tyson Foods.

„Latența și viteza de inferență sunt esențiale pentru evaluarea în timp real și verificările critice ale calității proceselor noastre de producție. Amazon Lookout for Vision Edge pe un dispozitiv CPU ne oferă capacitatea de a realiza acest lucru pe echipamente de nivel de producție, permițându-ne să oferim soluții de viziune AI rentabile la scară.”

—AK Karan, Global Senior Director – Transformare digitală, Lanț de aprovizionare integrat, Baxter International Inc.

A curăța

Parcurgeți următorii pași pentru a elimina activele pe care le-ați creat din cont și pentru a evita orice facturare în curs:

  1. În consola Lookout for Vision, navigați la proiectul dvs.
  2. Pe Acţiuni meniu, ștergeți seturile de date.
    Identificați locația anomaliilor folosind Amazon Lookout for Vision la margine fără a utiliza un GPU PlatoBlockchain Data Intelligence. Căutare verticală. Ai.
  3. Ștergeți modelele dvs.
    Identificați locația anomaliilor folosind Amazon Lookout for Vision la margine fără a utiliza un GPU PlatoBlockchain Data Intelligence. Căutare verticală. Ai.
  4. Pe consola Amazon S3, goliți gălețile pe care le-ați creat, apoi ștergeți-le.
  5. Pe consola Amazon EC2, ștergeți instanța pe care ați început să rulați AWS IoT Greengrass.
  6. Pe consola AWS IoT Greengrass, alegeți Implementări în panoul de navigare.
  7. Ștergeți versiunile componentelor dvs.
    Identificați locația anomaliilor folosind Amazon Lookout for Vision la margine fără a utiliza un GPU PlatoBlockchain Data Intelligence. Căutare verticală. Ai.
  8. Pe consola AWS IoT Greengrass, ștergeți obiectele, grupurile și dispozitivele AWS IoT.

Concluzie

În această postare, am descris un scenariu tipic pentru detectarea defectelor industriale la margine folosind localizarea defectelor și implementat pe un dispozitiv numai cu CPU. Am parcurs componentele cheie ale ciclului de viață cloud și edge cu un exemplu de la capăt la capăt folosind Lookout for Vision și AWS IoT Greengrass. Cu Lookout for Vision, am antrenat un model de detectare a anomaliilor în cloud folosind set de date pentru extratereștri jucării, a compilat modelul într-o arhitectură țintă și a împachetat modelul ca o componentă AWS IoT Greengrass. Cu AWS IoT Greengrass, am implementat modelul pe un dispozitiv de vârf. Am demonstrat un exemplu de aplicație bazat pe Python care generează imagini extraterestre de jucărie din sistemul de fișiere local al dispozitivului de margine, rulează inferențe pe modelul Lookout for Vision la margine folosind interfața gRPC și trimite datele de inferență la un subiect MQTT din AWS. Nor.

Într-o postare viitoare, vom arăta cum să rulăm inferențe pe un flux de imagini în timp real folosind o conductă media GStreamer.

Începeți călătoria către detectarea și identificarea anomaliilor industriale, vizitând site-ul Amazon Lookout pentru Vision și AWS IoT Greengrass pagini de resurse.


Despre autori

Identificați locația anomaliilor folosind Amazon Lookout for Vision la margine fără a utiliza un GPU PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Manish Talreja este un Senior Industrial ML Practice Manager cu AWS Professional Services. El îi ajută pe clienții AWS să-și atingă obiectivele de afaceri prin arhitectura și construirea de soluții inovatoare care utilizează serviciile AWS ML și IoT pe AWS Cloud.

Identificați locația anomaliilor folosind Amazon Lookout for Vision la margine fără a utiliza un GPU PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Ryan Vanderwerf este un arhitect de soluții partener la Amazon Web Services. Anterior, a oferit consultanță și dezvoltare de proiecte axate pe mașini virtuale Java ca inginer software la OCI în echipa Grails și Micronaut. A fost arhitect șef/director de produse la ReachForce, cu accent pe arhitectura software și a sistemului pentru soluțiile AWS Cloud SaaS pentru managementul datelor de marketing. Ryan a construit mai multe soluții SaaS în mai multe domenii, cum ar fi companii financiare, media, telecomunicații și e-learning din 1996.

Identificați locația anomaliilor folosind Amazon Lookout for Vision la margine fără a utiliza un GPU PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Prakash Krishnan este Senior Software Development Manager la Amazon Web Services. El conduce echipele de inginerie care construiesc sisteme distribuite la scară largă pentru a aplica algoritmi rapidi, eficienți și foarte scalabili la problemele de recunoaștere a imaginilor și video bazate pe învățarea profundă.

Timestamp-ul:

Mai mult de la Învățare automată AWS