اتوماسیون صنعتی در تایسون با بینایی کامپیوتر، AWS پانوراما و آمازون SageMaker

گره منبع: 1575225

این اولین مورد از یک سری وبلاگ دو قسمتی است که نشان می‌دهد تایسون فودز چگونه از Amazon SageMaker و AWS Panorama برای خودکارسازی فرآیندهای صنعتی در کارخانه‌های بسته‌بندی گوشت با استفاده از مزایای کاربردهای هوش مصنوعی در لبه استفاده می‌کند. در بخش اول، ما در مورد یک برنامه شمارش موجودی برای خطوط بسته بندی بحث می کنیم. در بخش دوم، ما یک راه حل تشخیص ناهنجاری مبتنی بر دید در لبه برای تعمیر و نگهداری پیش بینی تجهیزات صنعتی را مورد بحث قرار می دهیم.

به عنوان یکی از بزرگترین تولیدکنندگان و بازاریابان مرغ، گوشت گاو و خوک در جهان، تایسون فودز، شرکت، به دلیل ارائه راه حل های نوآورانه در کارخانه های تولید و بسته بندی خود شناخته شده است. در فوریه 2020، تایسون اعلام کرد برنامه خود را برای آوردن Computer Vision (CV) به کارخانه های مرغ خود و راه اندازی آزمایشی با AWS برای پیشگام تلاش ها در مدیریت موجودی. تایسون با آزمایشگاه راه حل های آمازون ام ال برای ایجاد یک راه حل پیشرفته CV شمارش سینی مرغ که بینش هایی را در زمان واقعی در مورد سطوح موجودی بسته بندی شده ارائه می دهد. در این پست، ما یک نمای کلی از معماری AWS و یک راه حل کامل برای نشان دادن اجزای کلیدی در خط لوله شمارش سینی راه اندازی شده در کارخانه تایسون ارائه می دهیم. ما بر روی جمع آوری داده ها و برچسب گذاری، آموزش و استقرار مدل های CV در لبه با استفاده از آمازون SageMaker, Apache MXNet Gluonو پانوراما AWS.

برتری عملیاتی یک اولویت کلیدی در تایسون فودز است. تایسون از اقدامات تضمین کیفیت (QA) دقیق در خطوط بسته‌بندی خود استفاده می‌کند و تضمین می‌کند که فقط محصولات بسته‌بندی شده‌ای که پروتکل‌های کنترل کیفیت خود را پاس می‌کنند برای مشتریانش ارسال می‌شود. تایسون به منظور پاسخگویی به تقاضای مشتری و جلوتر از هرگونه مشکل تولید، تعداد سینی های مرغ بسته بندی شده را به دقت زیر نظر دارد. با این حال، تکنیک‌های دستی فعلی برای شمارش سینی‌های مرغی که از QA عبور می‌کنند دقیق نیستند و تصویر واضحی از سطح تولید بیش از حد/کمتر ارائه نمی‌دهند. استراتژی های جایگزین مانند نظارت بر وزن کل ساعتی تولید در هر قفسه بازخورد فوری به کارکنان کارخانه ارائه نمی کند. با ظرفیت فرآوری مرغ 45,000,000،XNUMX،XNUMX راس در هفته، دقت و کارایی تولید برای تجارت تایسون بسیار مهم است. CV را می توان به طور موثر در چنین سناریوهایی برای تخمین دقیق میزان مرغ فرآوری شده در زمان واقعی مورد استفاده قرار داد و به کارکنان این امکان را می دهد که گلوگاه های بالقوه در بسته بندی و خطوط تولید را در صورت بروز شناسایی کنند. این امر اجرای اقدامات اصلاحی را ممکن می سازد و کارایی تولید را بهبود می بخشد.

پخش جریانی و پردازش جریان‌های ویدیویی در فضای ابری برای برنامه‌های CV به پهنای باند شبکه بالا و فراهم کردن زیرساخت‌های مربوطه نیاز دارد. این می تواند یک کار بسیار کم هزینه باشد. AWS Panorama این الزامات را حذف می‌کند و تایسون را قادر می‌سازد تا جریان‌های ویدیویی را در لبه دستگاه پانوراما AWS پردازش کند. تأخیر به / از هزینه های ابر و پهنای باند را کاهش می دهد، در حالی که یک رابط کاربری آسان برای مدیریت دستگاه ها و برنامه های کاربردی در لبه ارائه می دهد.

تشخیص اشیا یکی از متداول‌ترین الگوریتم‌های CV است که می‌تواند موقعیت اشیا را در تصاویر و ویدئوها بومی‌سازی کند. این فناوری در حال حاضر در کاربردهای مختلف زندگی واقعی مانند لکه بینی عابر پیاده در وسایل نقلیه خودمختار، تشخیص تومورها در اسکن های پزشکی، سیستم های شمارش افراد برای نظارت بر ورود در فضاهای خرده فروشی و غیره استفاده می شود. همچنین برای موارد استفاده مدیریت موجودی، مانند شمارش سینی گوشت برای تایسون، کاهش ضایعات با ایجاد یک حلقه بازخورد با فرآیندهای تولید، صرفه جویی در هزینه، و تحویل به موقع محموله های مشتری بسیار مهم است.

بخش‌های بعدی این پست وبلاگ نحوه استفاده از ویدیوهای پخش زنده یکی از گیاهان Tyson Foods را برای آموزش یک مدل تشخیص شی با استفاده از Amazon SageMaker نشان می‌دهد. سپس آن را با دستگاه پانوراما AWS در لبه مستقر می کنیم.

پانوراما AWS

AWS Panorama یک ابزار یادگیری ماشینی (ML) است که به سازمان‌ها اجازه می‌دهد تا CV را به دوربین‌های داخلی بیاورند تا پیش‌بینی‌های محلی را با دقت بالا و تأخیر کم انجام دهند. AWS Panorama Appliance یک دستگاه سخت افزاری است که به شما امکان می دهد برنامه هایی را اجرا کنید که از ML برای جمع آوری داده ها از جریان های ویدیویی، خروجی ویدیو با متن و پوشش های گرافیکی و تعامل با سایر سرویس های AWS استفاده می کنند. این دستگاه می‌تواند چندین مدل CV را در برابر جریان‌های ویدیوی متعدد به صورت موازی اجرا کند و نتایج را در زمان واقعی ارائه دهد. برای استفاده در محیط های تجاری و صنعتی طراحی شده است.

دستگاه پانوراما AWS شما را قادر می سازد تا برنامه های CV مستقل را بدون ارسال تصاویر به AWS Cloud اجرا کنید. همچنین می توانید از AWS SDK در دستگاه پانوراما AWS برای ادغام با سایر سرویس های AWS و استفاده از آنها برای ردیابی داده های برنامه در طول زمان استفاده کنید. برای ساخت و استقرار برنامه‌ها، از AWS Panorama Application CLI استفاده می‌کنید. CLI یک ابزار خط فرمان است که پوشه‌های برنامه‌های پیش‌فرض و فایل‌های پیکربندی را تولید می‌کند، کانتینرها را با Docker می‌سازد و دارایی‌ها را آپلود می‌کند.

AWS Panorama از مدل های ساخته شده با آن پشتیبانی می کند آپاچی MXNet, تاریک نت, GluonCV, کراس, ONNX, PyTorch, TensorFlowو TensorFlow Lite. رجوع شود به این پست وبلاگ برای کسب اطلاعات بیشتر در مورد ساخت برنامه های کاربردی در AWS Panorama. در طول فرآیند استقرار، AWS Panorama از کامپایل مدل مخصوص پلتفرم لبه مراقبت می کند مجموعه Amazon SageMaker Neo. نتایج استنتاج را می‌توان به سرویس‌های AWS مانند Amazon S3، Amazon CloudWatch یا با برنامه‌های کاربردی خط تجاری داخلی ادغام کرد. گزارش‌های استقرار در آمازون CloudWatch ذخیره می‌شوند.

برای ردیابی هرگونه تغییر در منطق اسکریپت استنتاج یا مدل آموزش دیده، می توان یک نسخه جدید از برنامه ایجاد کرد. نسخه های برنامه عکس های فوری تغییرناپذیر پیکربندی یک برنامه هستند. AWS Panorama نسخه‌های قبلی برنامه‌های شما را ذخیره می‌کند تا بتوانید به‌روزرسانی‌هایی را که موفقیت‌آمیز نیستند، برگردانید یا نسخه‌های مختلف را در دستگاه‌های مختلف اجرا کنید.

برای اطلاعات بیشتر به این بخش مراجعه کنید صفحه پانوراما AWS. برای آشنایی بیشتر با ساختن نمونه برنامه های کاربردی به ادامه مطلب مراجعه کنید نمونه های پانوراما AWS.

روش

یک کارمند کارخانه به طور مداوم سینی های مرغ بسته بندی شده را در سطل های پلاستیکی پر می کند و در طول زمان آنها را روی هم می چیند، همانطور که در شکل قبل نشان داده شده است. ما می‌خواهیم بتوانیم تعداد کل سینی‌ها را در تمام سطل‌هایی که به صورت عمودی روی هم چیده شده‌اند شناسایی و شمارش کنیم.

یک مدل تشخیص شی آموزش دیده می تواند جعبه های محدود کننده تمام سینی های قرار داده شده در یک سطل در هر فریم ویدئو را پیش بینی کند. این می تواند برای اندازه گیری تعداد سینی ها در یک سطل در یک نمونه خاص استفاده شود. ما همچنین می دانیم که در هر نقطه از زمان، تنها یک سطل با سینی های بسته بندی شده پر می شود. تعداد سینی به طور مداوم از زیاد (در حین پر کردن) به پایین (زمانی که یک سطل جدید دید سطل پر شده را مسدود می کند) در نوسان است.

با این دانش، ما استراتژی زیر را برای شمارش تعداد کل سینی های مرغ اتخاذ می کنیم:

  1. دو شمارنده متفاوت - محلی و جهانی را حفظ کنید. شمارنده جهانی کل سینی‌ها را در محفظه نگه می‌دارد و شمارنده محلی حداکثر تعداد سینی‌هایی را که در یک سطل جدید قرار داده‌اند ذخیره می‌کند.
  2. با قرار دادن سینی های جدید در سطل، شمارنده محلی را به روز کنید.
  3. یک رویداد bin جدید را به روش های زیر شناسایی کنید:
    1. تعداد سینی در یک قاب معین به صفر می رسد. (یا)
    2. جریان اعداد سینی در آخرین n فریم ها به طور مداوم افت می کنند.
  4. هنگامی که رویداد bin جدید شناسایی شد، مقدار شمارنده محلی را به شمارنده جهانی اضافه کنید.
  5. شمارنده محلی را به صفر بازنشانی کنید.

ما این الگوریتم را روی چندین ساعت ویدیو آزمایش کردیم و نتایج ثابتی گرفتیم.

آموزش مدل تشخیص اشیا با Amazon SageMaker

ایجاد مجموعه داده:

گرفتن تصاویر جدید برای برچسب زدن مشاغل

گرفتن تصاویر جدید برای برچسب زدن مشاغل

ما نمونه های تصویری را از خط بسته بندی با استفاده از دستگاه پانوراما AWS جمع آوری کردیم. اسکریپت پردازش تصاویر و ذخیره آنها به عنوان یک برنامه بسته بندی شده و در AWS Panorama مستقر شده است. این برنامه فریم های ویدئویی را از یک دوربین در محل نصب شده در نزدیکی منطقه بسته بندی جمع آوری می کند و آنها را در فواصل 60 ثانیه ذخیره می کند. آمازون S3 سطل؛ این مانع از گرفتن تصاویر مشابه در توالی ویدیو با فاصله چند ثانیه می شود. ما همچنین مناطق مجاور را در تصویر که مربوط به مورد استفاده نیستند، پنهان می کنیم.

سینی های مرغ را با جعبه های مرزبندی برچسب گذاری کردیم Amazon SageMaker Ground Truth’s کار برچسب زدن جریان. ما همچنین یک اعلان رویداد Amazon S3 را تنظیم کردیم که منتشر می شود رویدادهای ایجاد شده توسط شی به یک سرویس اطلاع رسانی ساده آمازون موضوع (SNS)، که به عنوان منبع ورودی برای کار برچسب زدن عمل می کند. هنگامی که اسکریپت برنامه AWS Panorama یک تصویر را در یک سطل S3 ذخیره می‌کند، یک اعلان رویداد در موضوع SNS منتشر می‌شود، که سپس این تصویر را به کار برچسب‌گذاری ارسال می‌کند. همانطور که حاشیه نویس ها هر تصویر دریافتی را برچسب گذاری می کنند، Ground Truth برچسب ها را در یک فایل مانیفست ذخیره می کند که حاوی مسیر S3 تصویر و همچنین مختصات جعبه های محدود کننده سینی مرغ است.

ما چندین افزایش داده (به عنوان مثال: نویز تصادفی، کنتراست و روشنایی تصادفی، تغییر کانال) روی تصاویر برچسب‌گذاری شده انجام می‌دهیم تا مدل را در برابر تغییرات در زندگی واقعی قوی کنیم. تصاویر اصلی و افزوده شده برای تشکیل یک مجموعه داده واحد ترکیب شدند.

آموزش مدل:

پس از اتمام کار برچسب زدن، به صورت دستی یک را راه اندازی می کنیم AWS لامبدا تابع. این تابع Lambda تصاویر و برچسب های مربوط به آنها را از مانیفست خروجی در یک بسته بندی می کند فایل LST. فایل‌های آموزشی و آزمایشی ما دارای تصاویری بودند که از خطوط بسته‌بندی مختلف جمع‌آوری شده بود تا از نشت داده در ارزیابی جلوگیری شود. سپس تابع Lambda یک کار آموزشی Amazon SageMaker را راه‌اندازی می‌کند.

استفاده می کنیم حالت اسکریپت SageMaker، که به شما امکان می دهد الگوریتم های آموزشی خود را بیاورید و مستقیماً مدل ها را آموزش دهید در حالی که در محدوده کاربرپسند Amazon SageMaker هستید. ما مدل‌هایی مانند SSD، Yolo-v3 (برای تأخیر استنتاج بلادرنگ) با ترکیب‌های مختلف شبکه ستون فقرات از باغ وحش مدل GluonCV برای تشخیص اشیا در حالت اسکریپت شبکه های عصبی تمایل به بیش از حد برازش داده های آموزشی دارند که منجر به نتایج ضعیف خارج از نمونه می شود. GluonCV نرمال‌سازی تصویر و تقویت‌های تصویر، مانند چرخاندن و برش تصادفی تصویر، را برای کمک به کاهش بیش از حد در طول تمرین فراهم می‌کند. این کد آموزش مدل کانتینری شده است و از تصویر Docker در AWS Elastic Container Registry ما استفاده می کند. کار آموزشی پوشه تصویر S3 و مسیرهای فایل LST را به عنوان ورودی می گیرد و بهترین آرتیفکت مدل را ذخیره می کند (.params و .جسون) پس از تکمیل به S3.

خط لوله ارزیابی مدل

خط لوله ارزیابی مدل

2 مدل برتر بر اساس مجموعه آزمایشی ما بودند SSD-resnet50 و Yolov3-darketnet53، با امتیاز mAP 0.91 هر کدام. ما همچنین با استقرار یک برنامه استنتاج بر روی دستگاه پانوراما AWS همراه با مدل آموزش دیده، آزمایش دنیای واقعی را انجام دادیم. اسکریپت استنتاج پیش‌بینی‌ها و فریم‌های ویدئویی را در یک سطل آمازون S3 ذخیره می‌کند. ما یک کار دیگر SageMaker Ground Truth برای حاشیه نویسی حقیقت پایه ایجاد کردیم و سپس ارزیابی مدل کمی را انجام دادیم. حقیقت پایه و برچسب‌های جعبه مرزی پیش‌بینی‌شده روی تصاویر در S3 برای ارزیابی کیفی ذخیره شدند. مدل‌ها توانستند داده‌های دنیای واقعی را تعمیم دهند و عملکرد ثابتی مشابه با مجموعه آزمایشی ما داشتند.

می‌توانید نمونه‌های کامل و کاملی از ایجاد مشاغل آموزشی سفارشی، آموزش پیشرفته‌ترین مدل‌های تشخیص اشیا، پیاده‌سازی Hyperparameter Optimization (HPO) و استقرار مدل در Amazon SageMaker را پیدا کنید. مخزن AWS Labs GitHub.

استقرار برنامه شمارش سینی گوشت

معماری تولید

معماری تولید

قبل از استقرار، ما تمام دارایی های خود - مدل، اسکریپت استنتاج، دوربین و پیکربندی متغیر جهانی را در یک ظرف واحد بسته بندی می کنیم همانطور که در این پست وبلاگ. خط لوله ادغام و استقرار پیوسته (CI/CD) ما هر گونه تغییر در اسکریپت استنتاج را به عنوان یک نسخه برنامه جدید به روز می کند. هنگامی که نسخه جدید برنامه منتشر شد، آن را به صورت برنامه نویسی با استفاده از boto3 SDK در پایتون اجرا می کنیم.

پس از استقرار برنامه، AWS Panorama ابتدا یک کار AWS SageMaker Neo Compilation برای کامپایل مدل برای دستگاه AWS Panorama ایجاد می کند. اسکریپت برنامه استنتاج مدل کامپایل شده را روی دستگاه وارد می کند و تشخیص سینی مرغ را در هر فریم انجام می دهد. علاوه بر SageMaker Neo-Compilation، کوانتیزه کردن پس از آموزش را با افزودن یک os.environ['TVM_TENSORRT_USE_FP16'] = '1' پرچم در اسکریپت این باعث کاهش اندازه وزن مدل از شناور 32 به شناور 16 می شود، اندازه مدل را به نصف کاهش می دهد و تاخیر را بدون کاهش عملکرد بهبود می بخشد. نتایج استنتاج در آن ثبت می شود مانیتور AWS SiteWise از طریق پیام های MQTT از دستگاه پانوراما AWS از طریق هسته اینترنت اشیا AWS. سپس نتایج به آمازون S3 فرستاده می شود و در آن تجسم می شود آمازون QuickSight داشبوردها مدیران و کارکنان کارخانه می توانند مستقیماً این داشبوردها را مشاهده کنند تا توان عملیاتی هر خط بسته بندی را در زمان واقعی درک کنند.

نتیجه

با ترکیب سرویس AWS Cloud مانند Amazon SageMaker، Amazon S3 و سرویس لبه مانند AWS Panorama، Tyson Foods Inc.، هوش مصنوعی را برای خودکارسازی فرآیندهای صنعتی فشرده انسان مانند شمارش موجودی در کارخانه‌های تولیدی خود تزریق می‌کند. قابلیت‌های استنتاج لبه‌های بلادرنگ، تایسون را قادر می‌سازد تا تولید بیش از حد/تحت تولید را شناسایی کند و جریان تولید خود را به صورت پویا تنظیم کند تا کارایی را به حداکثر برساند. علاوه بر این، با داشتن دستگاه پانوراما AWS در لبه، تایسون همچنین می‌تواند در هزینه‌های مرتبط با پهنای باند گران شبکه برای انتقال فایل‌های ویدیویی به ابر صرفه‌جویی کند و اکنون می‌تواند تمام دارایی‌های ویدئو/تصویر خود را به صورت محلی در شبکه خود پردازش کند.

این پست وبلاگ یک مرور کلی برنامه لبه پایانی و معماری های مرجع برای توسعه یک برنامه CV با AWS Panorama را در اختیار شما قرار می دهد. ما در مورد 3 جنبه مختلف ساخت یک اپلیکیشن Edge CV بحث کردیم.

  1. داده ها: جمع آوری داده ها، پردازش و برچسب گذاری با استفاده از AWS Panorama و Amazon SageMaker Ground Truth.
  2. مدل: آموزش و ارزیابی مدل با استفاده از Amazon SageMaker و AWS Lambda
  3. بسته نرم افزاری: دسته بندی مدل های آموزش دیده، اسکریپت ها و فایل های پیکربندی برای AWS Panorama.

با قسمت دوم این مجموعه در مورد نحوه استفاده تایسون از AWS Panorama برای نگهداری پیش‌بینی‌کننده ماشین‌های صنعتی مبتنی بر CV همراه باشید.

کلیک کنید اینجا کلیک نمایید برای شروع سفر خود با AWS Panorama. برای کسب اطلاعات بیشتر در مورد همکاری با ML Solutions Lab، مراجعه کنید آزمایشگاه راه حل های یادگیری ماشین آمازون.


درباره نویسنده

دیویا بهرگاوی یک دانشمند داده در آزمایشگاه راه حل های آمازون ام ال جایی که او با مشتریان در بخش‌های مختلف کار می‌کند و از حل خلاقانه مشکل برای ایجاد ارزش برای مشتریان با راه‌حل‌های پیشرفته ML/AI استفاده می‌کند.

دیلیپ سوبرامانیام یک توسعه دهنده ارشد با تیم فناوری های نوظهور در تایسون فودز است. او مشتاق ساخت برنامه های کاربردی توزیع شده در مقیاس بزرگ برای حل مشکلات تجاری و ساده سازی فرآیندها با استفاده از دانش خود در توسعه نرم افزار، یادگیری ماشین و داده های بزرگ است.

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

تمبر زمان:

بیشتر از وبلاگ یادگیری ماشین AWS