Tự động hóa công nghiệp tại Tyson với tầm nhìn máy tính, AWS Panorama và Amazon SageMaker

Nút nguồn: 1575225

Đây là phần đầu tiên trong chuỗi blog gồm hai phần về cách Tyson Foods, Inc. đang sử dụng Amazon SageMaker và AWS Panorama để tự động hóa các quy trình công nghiệp tại các nhà máy đóng gói thịt của họ bằng cách mang lại lợi ích của các ứng dụng trí tuệ nhân tạo ở vùng biên. Trong phần một, chúng ta thảo luận về ứng dụng đếm hàng tồn kho cho dây chuyền đóng gói. Trong phần hai, chúng tôi thảo luận về giải pháp phát hiện bất thường dựa trên tầm nhìn ở rìa để bảo trì dự đoán thiết bị công nghiệp.

Là một trong những nhà chế biến và tiếp thị thịt gà, thịt bò và thịt lợn lớn nhất thế giới, Tyson Thực phẩm, Inc., được biết đến với việc mang đến các giải pháp sáng tạo cho các nhà máy sản xuất và đóng gói của họ. Vào tháng 2020 năm XNUMX, Tyson công bố kế hoạch đưa Thị giác máy tính (CV) vào các nhà máy sản xuất gà của mình và triển khai thử nghiệm với AWS để tiên phong trong nỗ lực quản lý hàng tồn kho. Tyson hợp tác với Phòng thí nghiệm giải pháp Amazon ML để tạo ra một giải pháp CV đếm khay gà tiên tiến cung cấp thông tin chi tiết theo thời gian thực về mức tồn kho được đóng gói. Trong bài đăng này, chúng tôi cung cấp thông tin tổng quan về kiến ​​trúc AWS và hướng dẫn đầy đủ về giải pháp để minh họa các thành phần chính trong quy trình đếm khay được thiết lập tại nhà máy của Tyson. Chúng tôi sẽ tập trung vào việc thu thập và ghi nhãn dữ liệu, đào tạo và triển khai các mô hình CV ở rìa bằng cách sử dụng Amazon SageMaker, Gluon MXNet của ApacheToàn cảnh AWS.

Hoạt động xuất sắc là ưu tiên hàng đầu tại Tyson Foods. Tyson áp dụng các biện pháp đảm bảo chất lượng (QA) nghiêm ngặt trong dây chuyền đóng gói của họ, đảm bảo rằng chỉ những sản phẩm đóng gói vượt qua các giao thức kiểm soát chất lượng của họ mới được chuyển đến khách hàng của mình. Để đáp ứng nhu cầu của khách hàng và luôn đi đầu trong mọi vấn đề về sản xuất, Tyson giám sát chặt chẽ số lượng khay gà đóng gói. Tuy nhiên, các kỹ thuật thủ công hiện tại để đếm các khay gà đạt QA là không chính xác và không thể hiện một bức tranh rõ ràng về mức độ sản xuất thừa/thiếu. Các chiến lược thay thế như giám sát tổng trọng lượng sản xuất hàng giờ trên mỗi giá đỡ không cung cấp phản hồi ngay lập tức cho nhân viên nhà máy. Với công suất chế biến gà là 45,000,000 con mỗi tuần, độ chính xác và hiệu quả của sản xuất là rất quan trọng đối với hoạt động kinh doanh của Tyson. CV có thể được sử dụng hiệu quả trong các tình huống như vậy để ước tính chính xác lượng thịt gà được chế biến trong thời gian thực, hỗ trợ nhân viên xác định các tắc nghẽn tiềm ẩn trong dây chuyền đóng gói và sản xuất khi chúng xảy ra. Điều này cho phép thực hiện các biện pháp khắc phục và nâng cao hiệu quả sản xuất.

Truyền phát và xử lý các luồng video tại chỗ trên đám mây cho các ứng dụng CV yêu cầu băng thông mạng cao và cung cấp cơ sở hạ tầng có liên quan. Đây có thể là một nhiệm vụ tốn kém. AWS Panorama loại bỏ các yêu cầu này và cho phép Tyson xử lý các luồng video ở biên trên Công cụ AWS Panorama. Nó giảm độ trễ đến/từ đám mây và chi phí băng thông, đồng thời cung cấp giao diện dễ sử dụng để quản lý các thiết bị và ứng dụng ở biên.

Phát hiện đối tượng là một trong những thuật toán CV được sử dụng phổ biến nhất có thể khoanh vùng vị trí của đối tượng trong hình ảnh và video. Công nghệ này hiện đang được sử dụng trong nhiều ứng dụng thực tế khác nhau như phát hiện người đi bộ trong xe tự hành, phát hiện khối u khi quét y tế, hệ thống đếm người để theo dõi lượng người đi bộ trong không gian bán lẻ, v.v. Nó cũng rất quan trọng đối với các trường hợp sử dụng quản lý hàng tồn kho, chẳng hạn như đếm khay thịt cho Tyson, để giảm lãng phí bằng cách tạo vòng phản hồi với quy trình sản xuất, tiết kiệm chi phí và giao hàng cho khách hàng đúng hạn.

Các phần sau của bài đăng trên blog này phác thảo cách chúng tôi sử dụng video phát trực tiếp từ một trong các nhà máy của Tyson Foods để huấn luyện mô hình phát hiện đối tượng bằng Amazon SageMaker. Sau đó, chúng tôi triển khai nó ở rìa với thiết bị AWS Panorama.

Toàn cảnh AWS

AWS Panorama là một thiết bị máy học (ML) cho phép các tổ chức đưa CV vào máy ảnh tại chỗ để đưa ra dự đoán cục bộ với độ chính xác cao và độ trễ thấp. AWS Panorama Appliance là một thiết bị phần cứng cho phép bạn chạy các ứng dụng sử dụng ML để thu thập dữ liệu từ luồng video, xuất video có lớp phủ văn bản và đồ họa cũng như tương tác với các dịch vụ AWS khác. Công cụ có thể chạy song song nhiều mô hình CV với nhiều luồng video và xuất kết quả theo thời gian thực. Nó được thiết kế để sử dụng trong môi trường thương mại và công nghiệp.

AWS Panorama Appliance cho phép bạn chạy các ứng dụng CV độc lập ở biên mà không cần gửi hình ảnh lên Đám mây AWS. Bạn cũng có thể sử dụng AWS SDK trên AWS Panorama Appliance để tích hợp với các dịch vụ AWS khác và sử dụng chúng để theo dõi dữ liệu từ ứng dụng theo thời gian. Để xây dựng và triển khai ứng dụng, bạn sử dụng AWS Panorama Application CLI. CLI là một công cụ dòng lệnh tạo các thư mục ứng dụng và tệp cấu hình mặc định, xây dựng các vùng chứa bằng Docker và tải lên các nội dung.

AWS Panorama hỗ trợ các mô hình được xây dựng bằng Apache MX Net, lưới tối, GlamonCV, Máy ảnh, ONNX, Kim tự tháp, TensorFlowTensorFlow Lite. Tham khảo điều này bài đăng trên blog để tìm hiểu thêm về cách xây dựng ứng dụng trên AWS Panorama. Trong quá trình triển khai, AWS Panorama đảm nhận việc biên dịch mô hình dành riêng cho nền tảng biên thông qua Tổng hợp Amazon SageMaker Neo. Kết quả suy luận có thể được định tuyến đến các dịch vụ AWS như Amazon S3, Amazon CloudWatch hoặc được tích hợp với các ứng dụng kinh doanh trực tuyến tại chỗ. Nhật ký triển khai được lưu trữ trong Amazon CloudWatch.

Để theo dõi bất kỳ thay đổi nào trong logic tập lệnh suy luận hoặc mô hình được đào tạo, người ta có thể tạo một phiên bản mới của ứng dụng. Phiên bản ứng dụng là ảnh chụp nhanh bất biến của cấu hình ứng dụng. AWS Panorama lưu các phiên bản trước của ứng dụng để bạn có thể khôi phục các bản cập nhật không thành công hoặc chạy các phiên bản khác nhau trên các thiết bị khác nhau.

Để biết thêm thông tin, hãy tham khảo Trang Toàn cảnh AWS. Để tìm hiểu thêm về cách xây dựng các ứng dụng mẫu, hãy tham khảo Mẫu toàn cảnh AWS.

Phương pháp tiếp cận

Một nhân viên nhà máy liên tục đổ đầy các khay gà đã đóng gói vào các thùng nhựa và xếp chúng theo thời gian, như thể hiện trong hình trước. Chúng tôi muốn có thể phát hiện và đếm tổng số khay trên tất cả các thùng được xếp theo chiều dọc.

Một mô hình phát hiện đối tượng được đào tạo có thể dự đoán các hộp giới hạn của tất cả các khay được đặt trong thùng ở mọi khung hình video. Điều này có thể được sử dụng để đánh giá số lượng khay trong thùng tại một trường hợp cụ thể. Chúng tôi cũng biết rằng tại bất kỳ thời điểm nào, chỉ có một thùng chứa đầy các khay đã đóng gói; số lượng khay liên tục dao động từ cao (trong khi đổ đầy) đến thấp (khi một thùng mới che khuất tầm nhìn của thùng đã đầy).

Với kiến ​​thức này, chúng tôi áp dụng chiến lược sau để đếm tổng số khay gà:

  1. Duy trì hai bộ đếm khác nhau – địa phương và toàn cầu. Bộ đếm toàn cầu duy trì tổng số khay đã được đóng gói và bộ đếm cục bộ lưu trữ số lượng khay tối đa được đặt trong một ngăn mới.
  2. Cập nhật bộ đếm cục bộ khi các khay mới được đặt vào thùng.
  3. Phát hiện sự kiện bin mới theo các cách sau:
    1. Số lượng khay trong một khung nhất định sẽ bằng không. (hoặc)
    2. Dòng số khay cuối cùng n khung hình giảm liên tục.
  4. Khi sự kiện bin mới được phát hiện, hãy thêm giá trị bộ đếm cục bộ vào bộ đếm toàn cục.
  5. Đặt lại bộ đếm cục bộ về không.

Chúng tôi đã thử nghiệm thuật toán này trên nhiều giờ video và nhận được kết quả nhất quán.

Đào tạo mô hình phát hiện đối tượng với Amazon SageMaker

Tạo tập dữ liệu:

Chụp ảnh mới để dán nhãn công việc

Chụp ảnh mới để ghi nhãn công việc

Chúng tôi đã thu thập các mẫu hình ảnh từ dây chuyền đóng gói bằng AWS Panorama Appliance. Tập lệnh xử lý hình ảnh và lưu chúng được đóng gói dưới dạng ứng dụng và được triển khai trên AWS Panorama. Ứng dụng thu thập các khung hình video từ camera tại chỗ được thiết lập gần khu vực đóng gói và lưu chúng cách nhau 60 giây vào một Amazon S3 Gầu múc; điều này ngăn việc chụp các hình ảnh tương tự trong chuỗi video cách nhau vài giây. Chúng tôi cũng che dấu các vùng liền kề trong hình ảnh không liên quan đến trường hợp sử dụng.

Chúng tôi dán nhãn các khay gà với các hộp giới hạn bằng cách sử dụng Amazon SageMaker Ground Truth's công việc ghi nhãn trực tuyến. Chúng tôi cũng thiết lập thông báo Sự kiện Amazon S3 xuất bản sự kiện do đối tượng tạo ra đến một Dịch vụ thông báo đơn giản của Amazon (SNS), đóng vai trò là nguồn đầu vào cho công việc ghi nhãn. Khi tập lệnh ứng dụng AWS Panorama lưu hình ảnh vào bộ chứa S3, một thông báo sự kiện sẽ được xuất bản lên chủ đề SNS, chủ đề này sau đó sẽ gửi hình ảnh này đến tác vụ dán nhãn. Khi các chú thích gắn nhãn cho mọi hình ảnh đến, Ground Truth lưu các nhãn vào một tệp kê khai, tệp này chứa đường dẫn S3 của hình ảnh cũng như tọa độ của các hộp giới hạn khay gà.

Chúng tôi thực hiện một số phép tăng cường dữ liệu (ví dụ: nhiễu ngẫu nhiên, độ tương phản và độ sáng ngẫu nhiên, xáo trộn kênh) trên các hình ảnh được gắn nhãn để làm cho mô hình phù hợp với các biến thể trong thực tế. Các hình ảnh gốc và tăng cường được kết hợp để tạo thành một bộ dữ liệu thống nhất.

Đào tạo người mẫu:

Sau khi công việc dán nhãn hoàn tất, chúng tôi kích hoạt thủ công một AWS Lambda chức năng. Hàm Lambda này nhóm các hình ảnh và nhãn tương ứng của chúng từ tệp kê khai đầu ra thành một tập tin LST. Các tệp kiểm tra và đào tạo của chúng tôi có hình ảnh được thu thập từ các dây chuyền đóng gói khác nhau để ngăn chặn mọi rò rỉ dữ liệu trong quá trình đánh giá. Sau đó, chức năng Lambda kích hoạt công việc đào tạo Amazon SageMaker.

Chúng tôi sử dụng Chế độ tập lệnh SageMaker, cho phép bạn sử dụng các thuật toán đào tạo của riêng mình và trực tiếp đào tạo các mô hình trong khi vẫn ở trong phạm vi thân thiện với người dùng của Amazon SageMaker. Chúng tôi đào tạo các mô hình như SSD, Yolo-v3 (đối với độ trễ suy luận theo thời gian thực) với các kết hợp mạng đường trục khác nhau từ GluonCV Model Zoo để phát hiện đối tượng trong chế độ tập lệnh. Mạng lưới thần kinh có xu hướng làm quá khớp dữ liệu đào tạo, dẫn đến kết quả kém ngoài mẫu. GluonCV cung cấp khả năng chuẩn hóa hình ảnh và tăng cường hình ảnh, chẳng hạn như lật và cắt hình ảnh ngẫu nhiên, để giúp giảm tình trạng thừa trong quá trình đào tạo. Các mã đào tạo mô hình được chứa trong bộ chứa và sử dụng hình ảnh Docker trong AWS Elastic Container Registry của chúng tôi. Công việc đào tạo lấy thư mục hình ảnh S3 và đường dẫn tệp LST làm đầu vào và lưu tạo phẩm mô hình tốt nhất (.params.json) đến S3 sau khi hoàn thành.

Quy trình đánh giá mô hình

Quy trình đánh giá mô hình

2 mô hình hàng đầu dựa trên bộ thử nghiệm của chúng tôi là SSD-resnet50Yolov3-darketnet53, với số điểm mAP là 0.91 mỗi điểm. Chúng tôi cũng đã thực hiện thử nghiệm trong thế giới thực bằng cách triển khai một ứng dụng suy luận trên thiết bị AWS Panorama cùng với mô hình được đào tạo. Tập lệnh suy luận lưu dự đoán và khung hình video vào bộ chứa Amazon S3. Chúng tôi đã tạo một công việc SageMaker Ground Truth khác để chú thích sự thật cơ bản và sau đó thực hiện đánh giá mô hình định lượng bổ sung. Sự thật cơ bản và nhãn hộp giới hạn dự đoán trên hình ảnh đã được lưu trong S3 để đánh giá định tính. Các mô hình có thể khái quát hóa dữ liệu trong thế giới thực và mang lại hiệu suất ổn định tương tự như hiệu suất trên bộ thử nghiệm của chúng tôi.

Bạn có thể tìm thấy các ví dụ đầy đủ, toàn diện về tạo công việc đào tạo tùy chỉnh, đào tạo các mô hình phát hiện đối tượng tiên tiến nhất, triển khai Tối ưu hóa siêu tham số (HPO) và triển khai mô hình trên Amazon SageMaker trên Kho lưu trữ GitHub của Phòng thí nghiệm AWS.

Triển khai ứng dụng đếm khay thịt

Kiến trúc sản xuất

Kiến trúc sản xuất

Trước khi triển khai, chúng tôi đóng gói tất cả nội dung của mình – mô hình, tập lệnh suy luận, camera và cấu hình biến toàn cục vào một vùng chứa duy nhất như đã đề cập trong bài viết trên blog này. Quy trình tích hợp liên tục và triển khai liên tục (CI/CD) của chúng tôi cập nhật mọi thay đổi trong tập lệnh suy luận dưới dạng phiên bản ứng dụng mới. Sau khi phiên bản ứng dụng mới được xuất bản, chúng tôi triển khai nó theo chương trình bằng SDK boto3 trong Python.

Khi triển khai ứng dụng, trước tiên, AWS Panorama sẽ tạo một công việc AWS SageMaker Neo Compilation để biên dịch mô hình cho thiết bị AWS Panorama. Tập lệnh ứng dụng suy luận nhập mô hình đã biên dịch trên thiết bị và thực hiện phát hiện khay gà ở mọi khung hình. Ngoài SageMaker Neo-Compilation, chúng tôi đã kích hoạt lượng tử hóa sau đào tạo bằng cách thêm một os.environ['TVM_TENSORRT_USE_FP16'] = '1' cờ trong kịch bản. Điều này làm giảm kích thước của trọng số mô hình từ float 32 xuống float 16, giảm một nửa kích thước mô hình và cải thiện độ trễ mà không làm giảm hiệu suất. Các kết quả suy luận được ghi lại trong Giám sát AWS SiteWise thông qua tin nhắn MQTT từ thiết bị AWS Panorama qua Lõi AWS IoT. Sau đó, kết quả được đẩy lên Amazon S3 và hiển thị trong Amazon QuickSight Bảng điều khiển. Các nhà quản lý và nhân viên của nhà máy có thể xem trực tiếp các bảng điều khiển này để hiểu thông lượng của mọi dây chuyền đóng gói trong thời gian thực.

Kết luận

Bằng cách kết hợp dịch vụ Đám mây AWS như Amazon SageMaker, Amazon S3 và dịch vụ biên như AWS Panorama, Tyson Foods Inc. đang kết hợp trí tuệ nhân tạo để tự động hóa các quy trình công nghiệp sử dụng nhiều nhân lực như đếm hàng tồn kho trong các nhà máy sản xuất của mình. Khả năng suy luận cạnh thời gian thực cho phép Tyson xác định sản xuất thừa/thiếu và tự động điều chỉnh quy trình sản xuất của họ để tối đa hóa hiệu quả. Ngoài ra, bằng cách sở hữu thiết bị AWS Panorama ở biên, Tyson cũng có thể tiết kiệm chi phí liên quan đến băng thông mạng đắt đỏ để truyền các tệp video lên đám mây và giờ đây có thể xử lý cục bộ tất cả nội dung video/hình ảnh trong mạng của họ.

Bài đăng trên blog này cung cấp cho bạn tổng quan về ứng dụng biên đầu cuối và kiến ​​trúc tham khảo để phát triển ứng dụng CV với AWS Panorama. Chúng tôi đã thảo luận về 3 khía cạnh khác nhau của việc xây dựng một ứng dụng CV cạnh tranh.

  1. Ngày: Thu thập, xử lý và ghi nhãn dữ liệu bằng AWS Panorama và Amazon SageMaker Ground Truth.
  2. Mô hình: Đào tạo và đánh giá mô hình bằng Amazon SageMaker và AWS Lambda
  3. Gói ứng dụng: Tập hợp các tệp cấu hình, tập lệnh và mô hình đã đào tạo cho AWS Panorama.

Hãy theo dõi phần hai của loạt bài này về cách Tyson đang sử dụng AWS Panorama để bảo trì dự đoán dựa trên CV của máy móc công nghiệp.

Nhấp chuột tại đây để bắt đầu hành trình của bạn với AWS Panorama. Để tìm hiểu thêm về cách cộng tác với ML Solutions Lab, hãy xem Phòng thí nghiệm Giải pháp Máy học của Amazon.


Về các tác giả

Divya Bhargavi là một nhà khoa học dữ liệu tại Phòng thí nghiệm giải pháp Amazon ML nơi cô ấy làm việc với khách hàng ở nhiều ngành khác nhau và áp dụng cách giải quyết vấn đề sáng tạo để tạo ra giá trị cho khách hàng bằng các giải pháp ML/AI tiên tiến nhất.

Subramaniam Dilip là Nhà phát triển cấp cao của nhóm Công nghệ mới nổi tại Tyson Foods. Anh ấy đam mê xây dựng các ứng dụng phân tán quy mô lớn để giải quyết các vấn đề kinh doanh và đơn giản hóa các quy trình bằng kiến ​​thức của mình về Phát triển phần mềm, Học máy và Dữ liệu lớn.

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

Dấu thời gian:

Thêm từ Blog Học máy AWS