Tysonin teollisuusautomaatio tietokonenäön, AWS Panoraman ja Amazon SageMakerin avulla

Lähdesolmu: 1575225

Tämä on ensimmäinen kaksiosaisessa blogisarjassa, jossa kerrotaan, kuinka Tyson Foods, Inc. hyödyntää Amazon SageMakeria ja AWS Panoramaa automatisoidakseen teollisia prosesseja lihapakkauslaitoksissaan tuomalla tekoälysovellusten edut äärimmilleen. Ensimmäisessä osassa käsittelemme pakkauslinjojen varastolaskentasovellusta. Toisessa osassa käsittelemme näköpohjaista poikkeamien havaitsemisratkaisua teollisuuden laitteiden ennakoivaa huoltoa varten.

Yhtenä maailman suurimmista kanan-, naudan- ja sianlihan jalostajista ja markkinoijista, Tyson Foods, Inc., tunnetaan innovatiivisten ratkaisujen tuomisesta tuotanto- ja pakkaustehtaisiinsa. Helmikuussa 2020 Tyson ilmoitti sen suunnitelman tuoda Computer Vision (CV) kanatehtailleen ja käynnisti pilotin AWS:n kanssa varastonhallinnan edelläkävijäksi. Tyson teki yhteistyötä Amazon ML Solutions Lab luoda huippuluokan kanatarjotin CV-laskentaratkaisu, joka tarjoaa reaaliaikaisia ​​käsityksiä pakattujen varastotasojen tasosta. Tässä viestissä annamme yleiskatsauksen AWS-arkkitehtuurista ja täydellisen ratkaisun esittelyn, jossa esitellään Tysonin tehtaalla perustetun alustan laskentaputkiston avainkomponentit. Keskitymme tietojen keruuseen ja merkitsemiseen, koulutukseen ja CV-mallien käyttöönottoon käytön reunalla Amazon Sage Maker, Apache MXNet Gluonja AWS-panoraama.

Operatiivinen erinomaisuus on Tyson Foodsin tärkein prioriteetti. Tyson käyttää tiukkoja laadunvarmistustoimenpiteitä (QA) pakkauslinjoillaan varmistaen, että vain ne pakatut tuotteet, jotka läpäisevät laadunvalvontaprotokollansa, toimitetaan asiakkailleen. Tyson seuraa tiiviisti pakattujen kanan tarjottimien määrää vastatakseen asiakkaiden kysyntään ja pysyäkseen edellä tuotantoongelmissa. Nykyiset manuaaliset tekniikat laadunvarmistuksen läpäisevien kanan tarjottimien laskemiseksi eivät kuitenkaan ole tarkkoja eivätkä anna selkeää kuvaa yli-/alituotantotasoista. Vaihtoehtoiset strategiat, kuten tuntikohtainen tuotannon kokonaispainon seuranta telinettä kohti, eivät anna välitöntä palautetta tehtaan työntekijöille. Kanankäsittelykapasiteetti on 45,000,000 XNUMX XNUMX eläintä viikossa, joten tuotannon tarkkuus ja tehokkuus ovat tärkeitä Tysonin liiketoiminnalle. CV:tä voidaan käyttää tehokkaasti tällaisissa skenaarioissa prosessoidun kanan määrän arvioimiseksi tarkasti reaaliajassa, mikä antaa työntekijöille mahdollisuuden tunnistaa mahdolliset pullonkaulat pakkauksissa ja tuotantolinjoissa niiden ilmaantuessa. Tämä mahdollistaa korjaavien toimenpiteiden toteuttamisen ja parantaa tuotannon tehokkuutta.

Paikallisten videostriimien suoratoisto ja prosessointi pilvessä CV-sovelluksia varten vaatii suurta verkon kaistanleveyttä ja asiaankuuluvan infrastruktuurin tarjoamista. Tämä voi olla kustannuksiltaan kohtuuton tehtävä. AWS Panorama poistaa nämä vaatimukset ja antaa Tysonille mahdollisuuden käsitellä videovirtoja AWS Panorama Appliancen reunassa. Se vähentää viivettä pilvestä/pilvestä ja kaistanleveyskustannuksia ja tarjoaa samalla helppokäyttöisen käyttöliittymän laitteiden ja sovellusten hallintaan reunalla.

Objektintunnistus on yksi yleisimmin käytetyistä CV-algoritmeista, joka voi paikallistaa kohteiden sijainnin kuvissa ja videoissa. Tätä tekniikkaa käytetään tällä hetkellä erilaisissa tosielämän sovelluksissa, kuten jalankulkijoiden havaitsemisessa autonomisissa ajoneuvoissa, kasvainten havaitsemisessa lääketieteellisissä skannauksissa, ihmisten laskentajärjestelmissä, joilla seurataan kävijämääriä myymälätiloissa. On myös tärkeää varastonhallinnan käyttötapauksissa, kuten Tysonin lihatarjotinlaskennassa, vähentää jätettä luomalla palautesilmukka tuotantoprosesseihin, kustannussäästöihin ja asiakastoimitusten ajallaan toimittamiseen.

Tämän blogiviestin seuraavissa osissa kerrotaan, kuinka käytämme suoratoistovideoita yhdestä Tyson Foodsin tehtaista objektintunnistusmallin kouluttamiseen Amazon SageMakerin avulla. Otamme sen sitten käyttöön reunassa AWS Panorama -laitteella.

AWS-panoraama

AWS Panorama on koneoppimislaite (ML), jonka avulla organisaatiot voivat tuoda CV:n paikan päällä oleviin kameroihin tehdäkseen ennusteita paikallisesti suurella tarkkuudella ja alhaisella latenssilla. AWS Panorama Appliance on laitteisto, jonka avulla voit ajaa sovelluksia, jotka käyttävät ML:ää keräämään dataa videovirroista, tuottamaan videota tekstin ja graafisten peittokuvien kanssa ja olemaan vuorovaikutuksessa muiden AWS-palvelujen kanssa. Laite voi käyttää useita CV-malleja useita videovirtoja vastaan ​​rinnakkain ja tulostaa tulokset reaaliajassa. Se on suunniteltu käytettäväksi kaupallisissa ja teollisissa olosuhteissa.

AWS Panorama Appliance mahdollistaa itsenäisten CV-sovellusten suorittamisen reunalla lähettämättä kuvia AWS-pilveen. Voit myös käyttää AWS Panorama Appliancen AWS SDK:ta integroidaksesi muihin AWS-palveluihin ja käyttää niitä sovelluksen tietojen seuraamiseen ajan kuluessa. Sovellusten rakentamiseen ja käyttöönottoon käytät AWS Panorama Application CLI:tä. CLI on komentorivityökalu, joka luo oletussovelluskansioita ja määritystiedostoja, rakentaa säilöjä Dockerin avulla ja lähettää resursseja.

AWS Panorama tukee malleja, jotka on rakennettu Apache MX Net, tumma verkko, Gluon CV, Keras, ONNX, PyTorch, TensorFlowja TensorFlow Lite. Viitata tätä blogikirjoitus saadaksesi lisätietoja sovellusten rakentamisesta AWS Panoramassa. Käyttöönoton aikana AWS Panorama huolehtii reuna-alustakohtaisen mallin kokoamisesta läpi Amazon SageMaker Neo -kokoelma. Päätelmätulokset voidaan reitittää AWS-palveluihin, kuten Amazon S3, Amazon CloudWatch, tai integroida paikan päällä oleviin liiketoimintasovelluksiin. Käyttöönottolokit tallennetaan Amazon CloudWatchiin.

Jos haluat seurata muutoksia päättelykomentosarjalogiikassa tai koulutetussa mallissa, voit luoda sovelluksesta uuden version. Sovellusversiot ovat muuttumattomia tilannekuvia sovelluksen kokoonpanosta. AWS Panorama tallentaa aiemmat versiot sovelluksistasi, jotta voit peruuttaa epäonnistuneet päivitykset tai käyttää eri versioita eri laitteissa.

Lisätietoja on AWS Panorama -sivu. Lisätietoja esimerkkisovellusten rakentamisesta on kohdassa AWS Panorama -näytteet.

Lähestymistapa

Tehtaan työntekijä täyttää jatkuvasti pakatut broilerit muoviastioihin ja pinoaa ne ajan myötä, kuten edellisestä kuvasta näkyy. Haluamme pystyä havaitsemaan ja laskemaan kaikkien pystysuoraan pinottujen lokeroiden kokonaismäärän.

Koulutettu objektintunnistusmalli voi ennustaa kaikkien lokeroon sijoitettujen lokeroiden rajaavat laatikot jokaisen videokuvan kohdalla. Tätä voidaan käyttää lokeroiden määrän mittaamiseen säiliössä tietyssä tapauksessa. Tiedämme myös, että milloin tahansa vain yksi roskakori täyttyy pakatuilla alustalla; lokeron laskurit vaihtelevat jatkuvasti korkeasta (täytön aikana) alhaiseen (kun uusi astia estää näkymän täytetylle astialle).

Tämän tiedon perusteella otamme käyttöön seuraavan strategian kanaalusten kokonaismäärän laskemiseksi:

  1. Ylläpidä kahta erilaista laskuria – paikallista ja globaalia. Globaali laskuri säilyttää lokeroiden kokonaismäärän ja paikallinen laskuri tallentaa uuteen lokeroon sijoitettujen lokeroiden enimmäismäärän.
  2. Päivitä paikallinen laskuri, kun lokeroon laitetaan uusia lokeroita.
  3. Tunnista uusi roskakoritapahtuma seuraavilla tavoilla:
    1. Tietyn kehyksen lokeroiden määrä menee nollaan. (tai)
    2. Lokeron numerot viimeisessä n kehyksiä putoaa jatkuvasti.
  4. Kun uusi säiliötapahtuma on havaittu, lisää paikallisen laskurin arvo globaaliin laskuriin.
  5. Nollaa paikallinen laskuri.

Testasimme tätä algoritmia useiden tuntien videolla ja saimme johdonmukaisia ​​tuloksia.

Kohteentunnistusmallin koulutus Amazon SageMakerilla

Tietojoukon luominen:

Uusien kuvien ottaminen etikettitöihin

Uusien kuvien ottaminen etikettitöihin

Keräsimme kuvanäytteitä pakkauslinjalta AWS Panorama Appliancella. Kuvien käsittelyyn ja tallentamiseen tarkoitettu komentosarja pakattiin sovellukseksi ja otettiin käyttöön AWS Panoramassa. Sovellus kerää videokehykset lähelle pakkausaluetta asennetusta kamerasta ja tallentaa ne 60 sekunnin välein Amazon S3 ämpäri; tämä estää samankaltaisten kuvien sieppaamisen videosarjassa muutaman sekunnin välein. Peitamme myös kuvasta vierekkäiset alueet, jotka eivät liity käyttötapaukseen.

Merkitsimme kanaalustat rajauslaatikoilla käyttämällä Amazon SageMaker Ground Truth's suoratoiston etiketöintityö. Olemme myös määrittäneet Amazon S3 -tapahtumailmoituksen, joka julkaistaan esineiden luomia tapahtumia ja Amazonin yksinkertainen ilmoituspalvelu (SNS) -aihe, joka toimii merkintätyön syöttölähteenä. Kun AWS Panorama -sovelluksen komentosarja tallentaa kuvan S3-säihöön, tapahtumailmoitus julkaistaan ​​SNS-aiheelle, joka lähettää tämän kuvan tarratyöhön. Kun annotaattorit merkitsevät jokaisen saapuvan kuvan, Ground Truth tallentaa tarrat manifestitiedostoon, joka sisältää kuvan S3-polun sekä kanan tarjottimen rajoituslaatikoiden koordinaatit.

Suoritamme useita datalisäyksiä (esimerkiksi: satunnainen kohina, satunnainen kontrasti ja kirkkaus, kanavien sekoitus) tehdäksemme mallista kestävän todellisen elämän vaihteluille. Alkuperäiset ja lisätyt kuvat yhdistettiin yhtenäiseksi tietojoukoksi.

Mallikoulutus:

Kun merkintätyö on valmis, käynnistämme manuaalisesti AWS Lambda toiminto. Tämä Lambda-toiminto niputtaa kuvat ja niitä vastaavat nimikkeet tulosluettelosta an LST-tiedosto. Koulutus- ja testitiedostoissamme oli eri pakkauslinjoilta kerättyjä kuvia tietojen vuotamisen estämiseksi arvioinnissa. Lambda-toiminto käynnistää sitten Amazon SageMaker -harjoitustyön.

Käytämme SageMaker Script Mode, jonka avulla voit tuoda omat harjoitusalgoritmit ja harjoitella malleja suoraan samalla kun pysyt Amazon SageMakerin käyttäjäystävällisissä rajoissa. Koulutamme malleja, kuten SSD, Yolo-v3 (reaaliaikaista päättelyviivettä varten) erilaisilla runkoverkkoyhdistelmillä GluonCV Model Zoo esineiden havaitsemiseen käsikirjoitustilassa. Neuroverkoilla on taipumus sovittaa liikaa harjoitustietoja, mikä johtaa huonoihin näytteen ulkopuolisiin tuloksiin. GluonCV tarjoaa kuvan normalisoinnin ja kuvan lisäykset, kuten satunnaistetun kuvan kääntämisen ja rajauksen, mikä auttaa vähentämään liiallista sovitusta harjoituksen aikana. The malli koulutuskoodi on säilötty ja käyttää Docker-kuvaa AWS Elastic Container Registry -rekisterissämme. Harjoitustyö ottaa S3-kuvakansion ja LST-tiedostopolut syötteinä ja tallentaa parhaan malliartefaktin (.params ja .json) S3:een valmistumisen jälkeen.

Mallin arviointiputki

Mallin arviointiputki

Testisarjamme 2 parasta mallia olivat SSD-resnet50 ja Yolov3-darketnet53, joiden MAP-pistemäärä on 0.91. Teimme myös reaalimaailman testauksen ottamalla päättelysovelluksen AWS Panorama -laitteeseen koulutetun mallin kanssa. Päätelmäskripti tallentaa ennusteet ja videokehykset Amazon S3 -ämpäriin. Loimme toisen SageMaker Ground Truth -työn perustotuuden annotointia varten ja suoritimme sitten ylimääräisen kvantitatiivisen mallin arvioinnin. Kuvien perustotuus ja ennustetut rajoituslaatikoiden etiketit tallennettiin S3:een laadullista arviointia varten. Mallit pystyivät yleistämään todellisen maailman datan ja tuottivat samanlaisen suorituskyvyn kuin testisarjassamme.

Löydät täydellisiä esimerkkejä räätälöityjen koulutustöiden luomisesta, uusimpien objektientunnistusmallien koulutuksesta, Hyperparameter Optimizationin (HPO) toteuttamisesta ja mallin käyttöönotosta Amazon SageMakerissa AWS Labs GitHub -repo.

Lihatarjottimen laskentasovelluksen käyttöönotto

Tuotantoarkkitehtuuri

Tuotantoarkkitehtuuri

Ennen käyttöönottoa pakkaamme kaikki omaisuutemme – mallin, päättelykomentosarjan, kameran ja globaalin muuttujan kokoonpanon yhdeksi säilöön, kuten kohdassa mainitaan. tämä blogikirja. Jatkuva integrointi ja jatkuva käyttöönotto (CI/CD) päivittää kaikki päättelykomentosarjan muutokset uutena sovellusversiona. Kun uusi sovellusversio on julkaistu, otamme sen käyttöön ohjelmallisesti käyttämällä Boto3 SDK:ta Pythonissa.

Sovelluksen käyttöönoton jälkeen AWS Panorama luo ensin AWS SageMaker Neo Compilation -työn AWS Panorama -laitteen mallin kääntämiseksi. Päätelmäsovelluksen skripti tuo käännetyn mallin laitteelle ja suorittaa kana-alustatunnistuksen jokaisessa kehyksessä. SageMaker Neo-Compilationin lisäksi otimme käyttöön harjoituksen jälkeisen kvantisoinnin lisäämällä os.environ['TVM_TENSORRT_USE_FP16'] = '1' lippu käsikirjoituksessa. Tämä pienentää mallin painojen kokoa kellukkeesta 32 kellukkeeseen 16, puolittaa mallin kokoa ja parantaa latenssia suorituskyvyn heikkenemättä. Päätelmien tulokset on tallennettu AWS SiteWise -näyttö MQTT-viestien kautta AWS Panorama -laitteesta kautta AWS IoT -ydin. Tulokset välitetään sitten Amazon S3:lle ja visualisoidaan sisään Amazon QuickSight Kojelaudat. Tehdaspäälliköt ja työntekijät voivat tarkastella näitä kojetauluja suoraan ymmärtääkseen jokaisen pakkauslinjan suorituskyvyn reaaliajassa.

Yhteenveto

Yhdistämällä AWS-pilvipalvelun, kuten Amazon SageMaker, Amazon S3, ja reunapalvelun, kuten AWS Panorama, Tyson Foods Inc., lisää tekoälyä automatisoidakseen ihmisintensiivisiä teollisia prosesseja, kuten varastojen laskemista tuotantolaitoksissaan. Reaaliaikaiset reunapäätelmät antavat Tysonille mahdollisuuden tunnistaa yli/alituotanto ja säätää tuotantovirtaansa dynaamisesti tehokkuuden maksimoimiseksi. Lisäksi omistamalla AWS Panorama -laitteen reunalla Tyson pystyy myös säästämään kalliiseen verkon kaistanleveyteen liittyviä kustannuksia siirtää videotiedostoja pilveen ja voi nyt käsitellä kaikki video-/kuvaomaisuutensa paikallisesti verkossa.

Tämä blogikirjoitus tarjoaa päätesovellusten yleiskatsauksen ja referenssiarkkitehtuurit CV-sovelluksen kehittämiseen AWS Panoraman avulla. Keskustelimme kolmesta eri näkökulmasta reuna-CV-sovelluksen rakentamiseen.

  1. Päiväys: Tietojen kerääminen, käsittely ja merkitseminen AWS Panoraman ja Amazon SageMaker Ground Truthin avulla.
  2. Malli: Mallin koulutus ja arviointi käyttämällä Amazon SageMakeria ja AWS Lambdaa
  3. Sovelluspaketti: Koulutetun mallin, komentosarjojen ja asetustiedostojen niputtaminen AWS Panoramaan.

Pysy kuulolla tämän sarjan toisessa osassa siitä, kuinka Tyson käyttää AWS Panoramaa teollisuuskoneiden CV-pohjaiseen ennakoivaan huoltoon.

Napauta tätä aloittaaksesi matkasi AWS Panoraman avulla. Lisätietoja yhteistyöstä ML Solutions Labin kanssa on kohdassa Amazon Machine Learning Solutions Lab.


Tietoja Tekijät

Divya Bhargavi on datatieteilijä Amazon ML Solutions Lab jossa hän työskentelee asiakkaiden kanssa eri toimialoilla ja soveltaa luovaa ongelmanratkaisua luodakseen lisäarvoa asiakkaille uusimpien ML/AI-ratkaisujen avulla.

Dilip Subramaniam on Tyson Foodsin Emerging Technologies -tiimin vanhempi kehittäjä. Hän on intohimoinen rakentamaan laajamittaisia ​​hajautettuja sovelluksia liiketoiminnan ongelmien ratkaisemiseksi ja prosessien yksinkertaistamiseksi käyttämällä ohjelmistokehityksen, koneoppimisen ja Big Datan osaamistaan.

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

Aikaleima:

Lisää aiheesta AWS-koneoppimisblogi