Industrijska avtomatizacija pri Tysonu z računalniškim vidom, AWS Panorama in Amazon SageMaker

Izvorno vozlišče: 1575225

To je prvi v dvodelni seriji blogov o tem, kako Tyson Foods, Inc., uporablja Amazon SageMaker in AWS Panorama za avtomatizacijo industrijskih procesov v svojih obratih za pakiranje mesa, tako da prinaša prednosti aplikacij umetne inteligence na robu. V prvem delu obravnavamo aplikacijo za štetje zalog za pakirne linije. V drugem delu razpravljamo o vizualni rešitvi za odkrivanje nepravilnosti na robu za napovedno vzdrževanje industrijske opreme.

Kot eden največjih predelovalcev in prodajalcev piščanca, govedine in svinjine na svetu, Tyson Foods, Inc., je znano po uvajanju inovativnih rešitev v svoje proizvodne in pakirne obrate. Februarja 2020 je Tyson razglasitve svoj načrt za uvedbo računalniškega vida (CV) v svoje piščančje obrate in uvedel pilotni projekt z AWS za pionirsko prizadevanje za upravljanje zalog. Tyson je sodeloval z Amazon ML Solutions Lab ustvariti najsodobnejšo rešitev CV za štetje piščančjih pladnjev, ki zagotavlja vpogled v ravni zapakiranih zalog v realnem času. V tem prispevku nudimo pregled arhitekture AWS in celoten potek rešitve za predstavitev ključnih komponent v cevovodu za štetje pladnjev, postavljenem v Tysonovi tovarni. Osredotočili se bomo na zbiranje in označevanje podatkov, usposabljanje in uvajanje modelov CV na robu uporabe Amazon SageMaker, Apache MXNet Gluonin Panorama AWS.

Operativna odličnost je ključna prednostna naloga družbe Tyson Foods. Tyson uporablja stroge ukrepe za zagotavljanje kakovosti (QA) v svojih embalažnih linijah, s čimer zagotavlja, da so le tisti pakirani izdelki, ki prestanejo njihove protokole nadzora kakovosti, poslani njegovim strankam. Da bi zadovoljil povpraševanje kupcev in prehitel morebitne proizvodne težave, Tyson pozorno spremlja število pakiranih piščančjih pladnjev. Vendar trenutne ročne tehnike za štetje piščančjih pladnjev, ki prestanejo preverjanje kakovosti, niso točne in ne dajejo jasne slike o presežnih/premajhnih stopnjah proizvodnje. Nadomestne strategije, kot je spremljanje skupne teže proizvodnje na regal na uro, ne zagotavljajo takojšnje povratne informacije zaposlenim v obratu. Z zmogljivostjo predelave piščanca 45,000,000 glav na teden sta natančnost in učinkovitost proizvodnje ključnega pomena za Tysonovo poslovanje. CV je mogoče učinkovito uporabiti v takšnih scenarijih za natančno oceno količine predelanega piščanca v realnem času, s čimer zaposlenim omogočijo, da prepoznajo morebitna ozka grla v pakirnih in proizvodnih linijah, ko se pojavijo. To omogoča izvajanje korektivnih ukrepov in izboljša učinkovitost proizvodnje.

Pretakanje in obdelava lokalnih video tokov v oblaku za aplikacije CV zahteva visoko pasovno širino omrežja in zagotavljanje ustrezne infrastrukture. To je lahko previsoka naloga. AWS Panorama odstrani te zahteve in Tysonu omogoči obdelavo video tokov na robu naprave AWS Panorama Appliance. Zmanjšuje zakasnitev v/iz oblaka in stroške pasovne širine, hkrati pa zagotavlja vmesnik, ki je enostaven za uporabo, za upravljanje naprav in aplikacij na robu.

Zaznavanje predmetov je eden najpogosteje uporabljenih CV algoritmov, ki lahko lokalizira položaj predmetov na slikah in videoposnetkih. Ta tehnologija se trenutno uporablja v različnih aplikacijah v resničnem življenju, kot so opazovanje pešcev v avtonomnih vozilih, odkrivanje tumorjev pri medicinskih pregledih, sistemi za štetje ljudi za spremljanje korakov v maloprodajnih prostorih, med drugim. Za primere uporabe upravljanja zalog, kot je štetje mesnih pladnjev za Tyson, je prav tako ključnega pomena zmanjšanje odpadkov z ustvarjanjem povratne zanke s proizvodnimi procesi, prihrankom stroškov in pravočasno dostavo pošiljk strankam.

Naslednji razdelki te objave v spletnem dnevniku opisujejo, kako uporabljamo videoposnetke v živo iz ene od tovarn Tyson Foods za usposabljanje modela zaznavanja objektov z uporabo Amazon SageMaker. Nato ga namestimo na rob z napravo AWS Panorama.

Panorama AWS

AWS Panorama je naprava za strojno učenje (ML), ki organizacijam omogoča, da CV prenesejo na kamere na mestu uporabe, da naredijo lokalne napovedi z visoko natančnostjo in nizko zakasnitvijo. AWS Panorama Appliance je strojna naprava, ki vam omogoča zagon aplikacij, ki uporabljajo ML za zbiranje podatkov iz video tokov, izhodni video z besedilom in grafičnimi prekrivanjem ter interakcijo z drugimi storitvami AWS. Naprava lahko vzporedno zažene več modelov CV z več video tokovi in ​​prikaže rezultate v realnem času. Zasnovan je za uporabo v komercialnih in industrijskih okoljih.

AWS Panorama Appliance vam omogoča zagon samostojnih CV aplikacij na robu, brez pošiljanja slik v AWS Cloud. Uporabite lahko tudi AWS SDK v napravi AWS Panorama Appliance za integracijo z drugimi storitvami AWS in njihovo uporabo za sledenje podatkov iz aplikacije skozi čas. Za gradnjo in uvajanje aplikacij uporabite AWS Panorama Application CLI. CLI je orodje ukazne vrstice, ki ustvari privzete mape aplikacij in konfiguracijske datoteke, gradi vsebnike z Dockerjem in nalaga sredstva.

AWS Panorama podpira modele, zgrajene s Apache MX Net, temna mreža, GluonCV, Keras, ONNX, PyTorch, TensorFlowin TensorFlow Lite. Nanašati se na ta objavo v spletnem dnevniku, če želite izvedeti več o gradnji aplikacij na AWS Panorama. Med postopkom uvajanja AWS Panorama skrbi za sestavljanje modela, specifičnega za robno platformo Kompilacija Amazon SageMaker Neo. Rezultate sklepanja je mogoče usmeriti v storitve AWS, kot so Amazon S3, Amazon CloudWatch, ali integrirati z lokalnimi poslovnimi aplikacijami. Dnevniki uvajanja so shranjeni v Amazon CloudWatch.

Če želite slediti kakršni koli spremembi logike skripta sklepanja ali usposobljenega modela, lahko ustvarite novo različico aplikacije. Različice aplikacij so nespremenljivi posnetki konfiguracije aplikacije. AWS Panorama shrani prejšnje različice vaših aplikacij, tako da lahko povrnete neuspešne posodobitve ali zaženete različne različice na različnih napravah.

Za več informacij glejte stran Stran AWS Panorama. Če želite izvedeti več o gradnji vzorčnih aplikacij, glejte Vzorci AWS Panorama.

Pristop

Zaposleni v obratu neprekinjeno polni zapakirane pladnje s piščanci v plastične zabojnike in jih sčasoma zlaga, kot je prikazano na prejšnji sliki. Želimo imeti možnost zaznati in prešteti skupno število pladnjev v vseh posodah, ki so zložene navpično.

Izurjen model zaznavanja predmetov lahko predvidi omejevalne okvire vseh pladnjev, postavljenih v koš za vsak video okvir. To lahko uporabite za merjenje števila pladnjev v košu v danem primeru. Vemo tudi, da se v katerem koli trenutku samo en zabojnik polni s pakiranimi pladnji; števci na pladnju nenehno nihajo od visokega (med polnjenjem) do nizkega (ko nov koš ovira pogled na napolnjeni koš).

S tem znanjem sprejmemo naslednjo strategijo za štetje skupnega števila pladnjev s piščanci:

  1. Vzdržujte dva različna števca – lokalnega in globalnega. Globalni števec vzdržuje skupno število pladnjev v posodah, lokalni števec pa shrani največje število pladnjev, postavljenih v nov koš.
  2. Posodobite lokalni števec, ko so novi pladnji postavljeni v koš.
  3. Zaznajte nov dogodek koša na naslednje načine:
    1. Število pladnjev v danem okvirju se izniči. (ali)
    2. Tok številk pladnja v zadnjem n število okvirjev nenehno pada.
  4. Ko je zaznan nov dogodek bin, dodajte vrednost lokalnega števca globalnemu števcu.
  5. Ponastavite lokalni števec na nič.

Ta algoritem smo preizkusili na več urah videa in dobili dosledne rezultate.

Usposabljanje modela za zaznavanje objektov z Amazon SageMaker

Ustvarjanje nabora podatkov:

Zajemanje novih slik za označevanje opravil

Zajemanje novih slik za označevanje opravil

Z AWS Panorama Appliance smo zbrali vzorce slik iz embalažne linije. Skript za obdelavo slik in njihovo shranjevanje je bil zapakiran kot aplikacija in nameščen na AWS Panorama. Aplikacija zbira video okvire iz lokalne kamere, ki je nameščena v bližini območja pakiranja, in jih v 60-sekundnih intervalih shrani v Amazon S3 vedro; to prepreči zajemanje podobnih slik v video zaporedju, ki so nekaj sekund narazen. Na sliki zakrijemo tudi sosednje regije, ki niso pomembne za primer uporabe.

Pladnje za piščance smo označili z omejevalnimi okvirji Amazon SageMaker Ground Truth's pretočno označevanje. Nastavili smo tudi obvestilo o dogodkih Amazon S3, ki objavlja predmetno ustvarjeni dogodki v Amazon Simple notification Service (SNS), ki deluje kot vhodni vir za opravilo označevanja. Ko skript aplikacije AWS Panorama shrani sliko v vedro S3, se obvestilo o dogodku objavi v temi SNS, ki nato to sliko pošlje opravilu označevanja. Ker opombe označijo vsako dohodno sliko, Ground Truth shrani oznake v datoteko manifesta, ki vsebuje pot S3 do slike in koordinate omejevalnih polj pladnja za piščance.

Izvedemo več povečav podatkov (na primer: naključni šum, naključni kontrast in svetlost, mešanje kanalov) na označenih slikah, da naredimo model robusten za spremembe v resničnem življenju. Izvirne in razširjene slike so bile združene v enoten nabor podatkov.

Model usposabljanje:

Ko je opravilo označevanja končano, ročno sprožimo an AWS Lambda funkcijo. Ta funkcija Lambda združuje slike in njihove ustrezne oznake iz izhodnega manifesta v datoteko LST datoteko. Naše datoteke za usposabljanje in teste so vsebovale slike, zbrane iz različnih pakirnih linij, da bi preprečili uhajanje podatkov pri vrednotenju. Funkcija Lambda nato sproži opravilo usposabljanja Amazon SageMaker.

Mi uporabljamo Skriptni način SageMaker, ki vam omogoča, da prinesete lastne algoritme za usposabljanje in neposredno trenirate modele, medtem ko ostajate znotraj uporabniku prijaznih meja Amazon SageMaker. Usposabljamo modele, kot so SSD, Yolo-v3 (za zakasnitev sklepanja v realnem času) z različnimi kombinacijami hrbteničnih omrežij iz GluonCV Model Zoo za zaznavanje predmetov v skriptnem načinu. Nevronske mreže so nagnjene k prekomernemu prilagajanju podatkov o usposabljanju, kar vodi do slabih rezultatov zunaj vzorca. GluonCV zagotavlja normalizacijo slike in povečavo slike, kot je naključno obračanje in obrezovanje slike, da pomaga zmanjšati prekomerno prilagajanje med vadbo. The model usposabljanja kodo je kontejneriziran in uporablja sliko Docker v našem registru elastičnih vsebnikov AWS. Usposabljanje vzame slikovno mapo S3 in poti datoteke LST kot vhodne podatke in shrani najboljši artefakt modela (.params in .json) na S3 po zaključku.

Cev za vrednotenje modela

Cev za vrednotenje modela

Najboljša 2 modela na podlagi našega testnega niza sta bila SSD-resnet50 in Yolov3-darketnet53, z oceno mAP 0.91 za vsakega. Izvedli smo tudi testiranje v resničnem svetu z uvedbo aplikacije za sklepanje na napravi AWS Panorama skupaj z usposobljenim modelom. Sklepni skript shrani predvidevanja in video okvirje v vedro Amazon S3. Ustvarili smo drugo opravilo SageMaker Ground Truth za označevanje temeljne resnice in nato izvedli dodatno kvantitativno vrednotenje modela. Osnovna resnica in predvidene oznake omejevalnih okvirjev na slikah so bile shranjene v S3 za kvalitativno oceno. Modeli so lahko posplošili podatke iz resničnega sveta in zagotovili dosledno delovanje, podobno tistemu na našem testnem nizu.

Popolne, celovite primere ustvarjanja izobraževalnih opravil po meri, usposabljanja najsodobnejših modelov zaznavanja predmetov, izvajanja optimizacije hiperparametrov (HPO) in uvajanja modela na Amazon SageMaker lahko najdete na Repo AWS Labs GitHub.

Uvajanje aplikacije za štetje pladnjev za meso

Proizvodna arhitektura

Proizvodna arhitektura

Pred uvedbo zapakiramo vsa naša sredstva – model, sklepni skript, kamero in konfiguracijo globalnih spremenljivk v en vsebnik, kot je omenjeno v to objavo v spletnem dnevniku. Naš cevovod za stalno integracijo in neprekinjeno uvajanje (CI/CD) posodobi vsako spremembo sklepnega skripta kot novo različico aplikacije. Ko je nova različica aplikacije objavljena, jo programsko uvedemo z boto3 SDK v Pythonu.

Po uvedbi aplikacije AWS Panorama najprej ustvari opravilo AWS SageMaker Neo Compilation za prevajanje modela za napravo AWS Panorama. Skript aplikacije za sklepanje uvozi prevedeni model v napravo in izvede zaznavanje pladnja za piščance pri vsakem okvirju. Poleg SageMaker Neo-Compilation smo omogočili kvantizacijo po usposabljanju z dodajanjem os.environ['TVM_TENSORRT_USE_FP16'] = '1' zastavo v scenariju. To zmanjša velikost uteži modela z lebdečega 32 na lebdečega 16, kar zmanjša velikost modela za polovico in izboljša zakasnitev brez poslabšanja zmogljivosti. Rezultati sklepanja so zajeti v AWS SiteWise Monitor prek sporočil MQTT iz naprave AWS Panorama prek Jedro AWS IoT. Rezultati so nato potisnjeni v Amazon S3 in tam vizualizirani Amazon QuickSight Nadzorne plošče. Vodje obratov in zaposleni si lahko neposredno ogledajo te nadzorne plošče, da razumejo pretok vsake pakirne linije v realnem času.

zaključek

Z združevanjem storitve AWS Cloud, kot je Amazon SageMaker, Amazon S3, in robne storitve, kot je AWS Panorama, Tyson Foods Inc. vnaša umetno inteligenco za avtomatizacijo človeško intenzivnih industrijskih procesov, kot je štetje zalog v svojih proizvodnih obratih. Zmogljivosti robnega sklepanja v realnem času omogočajo Tysonu, da prepozna preveliko/premajhno proizvodnjo in dinamično prilagodi svoj proizvodni tok za povečanje učinkovitosti. Poleg tega lahko Tyson z lastništvom naprave AWS Panorama na robu prihrani stroške, povezane z drago omrežno pasovno širino za prenos video datotek v oblak, in zdaj lahko vsa njihova video/slikovna sredstva obdeluje lokalno v svojem omrežju.

Ta objava v spletnem dnevniku vam ponuja pregled aplikacij na koncu in robu ter referenčne arhitekture za razvoj aplikacije CV z AWS Panorama. Razpravljali smo o 3 različnih vidikih izdelave aplikacije za robni življenjepis.

  1. datum: Zbiranje, obdelava in označevanje podatkov z uporabo AWS Panorama in Amazon SageMaker Ground Truth.
  2. Model: Usposabljanje in vrednotenje modela z uporabo Amazon SageMaker in AWS Lambda
  3. Programski paket: Združevanje usposobljenega modela, skriptov in konfiguracijskih datotek za AWS Panorama.

Spremljajte drugi del te serije o tem, kako Tyson uporablja AWS Panorama za napovedno vzdrževanje industrijskih strojev na podlagi CV.

klik tukaj da začnete svoje potovanje z AWS Panorama. Če želite izvedeti več o sodelovanju z ML Solutions Lab, glejte Amazonski laboratorij za strojno učenje.


O avtorjih

Divya Bhargavi je podatkovni znanstvenik pri Amazon ML Solutions Lab kjer dela s strankami v različnih vertikalah in uporablja kreativno reševanje problemov za ustvarjanje vrednosti za stranke z najsodobnejšimi rešitvami ML/AI.

Dilip Subramaniam je višji razvijalec pri ekipi Emerging Technologies pri Tyson Foods. Navdušen je nad gradnjo obsežnih porazdeljenih aplikacij za reševanje poslovnih problemov in poenostavitev procesov z uporabo svojega znanja o razvoju programske opreme, strojnem učenju in velikih podatkih.

Vir: https://aws.amazon.com/blogs/machine-learning/industrial-automation-at-tyson-with-computer-vision-aws-panorama-and-amazon-sagemaker/

Časovni žig:

Več od Blog za strojno učenje AWS