컴퓨터 비전, AWS Panorama 및 Amazon SageMaker를 사용한 Tyson의 산업 자동화

소스 노드 : 1575225

이것은 Tyson Foods, Inc.가 어떻게 Amazon SageMaker 및 AWS Panorama를 활용하여 엣지에서 인공 지능 애플리케이션의 이점을 가져와 육류 포장 공장에서 산업 프로세스를 자동화하는지에 대한 XNUMX부작 블로그 시리즈의 첫 번째입니다. XNUMX부에서는 포장 라인의 재고 계산 응용 프로그램에 대해 설명합니다. XNUMX부에서는 산업용 장비의 예측적 유지보수를 위한 에지의 비전 기반 이상 감지 솔루션에 대해 설명합니다.

닭고기, 소고기, 돼지고기의 세계 최대 가공업체이자 마케팅 업체 중 하나인 타이슨 식품, 생산 및 포장 공장에 혁신적인 솔루션을 제공하는 것으로 유명합니다. 2020년 XNUMX월 타이슨 발표 컴퓨터 비전(CV)을 닭 공장에 도입하고 재고 관리에 대한 노력을 개척하기 위해 AWS와 파일럿을 시작할 계획입니다. 타이슨과 협업 Amazon ML 솔루션 랩 포장된 재고 수준에 대한 실시간 통찰력을 제공하는 최첨단 치킨 트레이 계산 CV 솔루션을 생성합니다. 이 게시물에서는 AWS 아키텍처에 대한 개요와 Tyson의 공장에 설치된 트레이 카운팅 파이프라인의 핵심 구성 요소를 시연하는 솔루션의 전체 연습을 제공합니다. 다음을 사용하여 에지에서 CV 모델의 데이터 수집 및 레이블 지정, 교육 및 배포에 중점을 둘 것입니다. 아마존 세이지 메이커, 아파치 MXNet 글루온AWS 파노라마.

운영 우수성은 Tyson Foods의 핵심 우선 순위입니다. Tyson은 포장 라인에서 엄격한 품질 보증(QA) 조치를 취하여 품질 관리 프로토콜을 통과한 포장 제품만 고객에게 배송되도록 합니다. 고객의 요구를 충족하고 생산 문제보다 앞서 나가기 위해 Tyson은 포장된 치킨 트레이 수를 면밀히 모니터링합니다. 그러나 QA를 통과한 치킨 트레이를 세는 현재의 수동 기술은 정확하지 않으며 과잉/미달 생산 수준에 대한 명확한 그림을 제시하지 않습니다. 랙당 생산의 시간당 총 중량 모니터링과 같은 대체 전략은 공장 직원에게 즉각적인 피드백을 제공하지 않습니다. 주당 45,000,000마리의 치킨 가공 능력을 갖춘 Tyson의 비즈니스에는 생산 정확성과 효율성이 매우 중요합니다. CV는 실시간으로 처리되는 닭고기의 양을 정확하게 추정하기 위해 이러한 시나리오에서 효과적으로 사용될 수 있으므로 직원들은 포장 및 생산 라인에서 잠재적인 병목 현상이 발생할 때 이를 식별할 수 있습니다. 이를 통해 시정 조치를 구현하고 생산 효율성을 향상시킬 수 있습니다.

CV 애플리케이션을 위해 클라우드에서 온프레미스 비디오 스트림을 스트리밍하고 처리하려면 높은 네트워크 대역폭과 관련 인프라의 프로비저닝이 필요합니다. 이는 막대한 비용이 드는 작업일 수 있습니다. AWS Panorama는 이러한 요구 사항을 제거하고 Tyson이 AWS Panorama Appliance의 에지에서 비디오 스트림을 처리할 수 있도록 합니다. 클라우드와의 대기 시간 및 대역폭 비용을 줄이는 동시에 에지에서 장치 및 애플리케이션을 관리하기 위한 사용하기 쉬운 인터페이스를 제공합니다.

개체 감지는 이미지 및 비디오에서 개체의 위치를 ​​현지화할 수 있는 가장 일반적으로 사용되는 CV 알고리즘 중 하나입니다. 이 기술은 현재 자율주행차의 보행자 탐지, 의료 스캔에서 종양 감지, 소매점에서 발걸음 모니터링을 위한 피플 카운팅 시스템 등과 같은 다양한 실생활 응용 분야에서 사용되고 있습니다. 또한 Tyson의 고기 트레이 계산과 같은 재고 관리 사용 사례에서 생산 프로세스, 비용 절감 및 정시 고객 배송에 대한 피드백 루프를 생성하여 낭비를 줄이는 것이 중요합니다.

이 블로그 게시물의 다음 섹션에서는 Amazon SageMaker를 사용하여 물체 감지 모델을 교육하기 위해 Tyson Foods 공장 중 하나의 라이브 스트림 비디오를 사용하는 방법을 설명합니다. 그런 다음 AWS Panorama 디바이스를 사용하여 엣지에 배포합니다.

AWS 파노라마

AWS Panorama는 조직이 CV를 온프레미스 카메라로 가져와 높은 정확도와 짧은 지연 시간으로 로컬에서 예측할 수 있도록 하는 기계 학습(ML) 어플라이언스입니다. AWS Panorama Appliance는 ML을 사용하여 비디오 스트림에서 데이터를 수집하고, 텍스트 및 그래픽 오버레이로 비디오를 출력하고, 다른 AWS 서비스와 상호 작용하는 애플리케이션을 실행할 수 있는 하드웨어 장치입니다. 어플라이언스는 여러 비디오 스트림에 대해 여러 CV 모델을 병렬로 실행하고 결과를 실시간으로 출력할 수 있습니다. 상업 및 산업 환경에서 사용하도록 설계되었습니다.

AWS Panorama Appliance를 사용하면 이미지를 AWS 클라우드로 보내지 않고도 엣지에서 독립형 CV 애플리케이션을 실행할 수 있습니다. 또한 AWS Panorama Appliance에서 AWS SDK를 사용하여 다른 AWS 서비스와 통합하고 이를 사용하여 시간 경과에 따라 애플리케이션의 데이터를 추적할 수 있습니다. 애플리케이션을 구축하고 배포하려면 AWS Panorama Application CLI를 사용합니다. CLI는 기본 애플리케이션 폴더 및 구성 파일을 생성하고, Docker로 컨테이너를 빌드하고, 자산을 업로드하는 명령줄 도구입니다.

AWS Panorama는 다음으로 구축된 모델을 지원합니다. 아파치 MXNet, 다크넷, 글루온 CV, 케 라스, ONNX, 파이 토치, TensorFlowTensorFlow Lite. 인용하다 AWS Panorama에서 애플리케이션을 구축하는 방법에 대해 자세히 알아보려면 블로그 게시물을 참조하십시오. 배포 프로세스 중에 AWS Panorama는 다음을 통해 에지 플랫폼에 특정한 모델을 컴파일합니다. Amazon SageMaker Neo 컴파일. 추론 결과는 Amazon S3, Amazon CloudWatch와 같은 AWS 서비스로 라우팅되거나 온프레미스 기간 업무 애플리케이션과 통합될 수 있습니다. 배포 로그는 Amazon CloudWatch에 저장됩니다.

추론 스크립트 논리 또는 훈련된 모델의 변경 사항을 추적하기 위해 애플리케이션의 새 버전을 생성할 수 있습니다. 애플리케이션 버전 애플리케이션 구성의 변경할 수 없는 스냅샷입니다. AWS Panorama는 성공하지 못한 업데이트를 롤백하거나 다른 어플라이언스에서 다른 버전을 실행할 수 있도록 애플리케이션의 이전 버전을 저장합니다.

자세한 내용은 AWS 파노라마 페이지. 샘플 애플리케이션 구축에 대한 자세한 내용은 다음을 참조하십시오. AWS 파노라마 샘플.

Approach

앞의 그림과 같이 공장 직원이 계속해서 포장된 닭 쟁반을 플라스틱 통에 채우고 쌓습니다. 우리는 수직으로 쌓인 모든 통에서 총 트레이 수를 감지하고 셀 수 있기를 원합니다.

훈련된 객체 감지 모델은 모든 비디오 프레임에서 빈에 배치된 모든 트레이의 경계 상자를 예측할 수 있습니다. 주어진 인스턴스에서 빈의 트레이 수를 측정하는 데 사용할 수 있습니다. 우리는 또한 어느 시점에서든 하나의 통만 포장된 쟁반으로 채워지고 있다는 것을 알고 있습니다. 트레이 카운트가 계속해서 높음(채우는 동안)에서 낮음(새 빈이 채워진 빈 보기를 가리는 경우)으로 진동합니다.

이 지식을 바탕으로 치킨 트레이의 총 수를 계산하기 위해 다음 전략을 채택합니다.

  1. 두 개의 서로 다른 카운터(로컬 및 글로벌)를 유지합니다. 글로벌 카운터는 빈 총 트레이를 유지하고 로컬 카운터는 새 빈에 배치된 최대 트레이 수를 저장합니다.
  2. 새 트레이가 빈에 배치되면 로컬 카운터를 업데이트합니다.
  3. 다음과 같은 방법으로 새 ​​빈 이벤트를 감지합니다.
    1. 주어진 프레임의 트레이 수가 XNUMX이 됩니다. (또는)
    2. 마지막 트레이 번호 스트림 n 프레임이 계속 떨어집니다.
  4. 새 빈 이벤트가 감지되면 로컬 카운터 값을 글로벌 카운터에 추가합니다.
  5. 로컬 카운터를 XNUMX으로 재설정합니다.

몇 시간 분량의 비디오에서 이 알고리즘을 테스트했고 일관된 결과를 얻었습니다.

Amazon SageMaker로 객체 감지 모델 교육

데이터세트 생성:

레이블 지정 작업을 위한 새 이미지 캡처

레이블 지정 작업을 위한 새 이미지 캡처

AWS Panorama Appliance를 사용하여 포장 라인에서 이미지 샘플을 수집했습니다. 이미지를 처리하고 저장하는 스크립트는 애플리케이션으로 패키징되어 AWS Panorama에 배포되었습니다. 이 애플리케이션은 포장 구역 근처에 설치된 온프레미스 카메라에서 비디오 프레임을 수집하고 60초 간격으로 아마존 S3 버킷; 이렇게 하면 비디오 시퀀스에서 몇 초 간격으로 유사한 이미지를 캡처하는 것을 방지할 수 있습니다. 또한 사용 사례와 관련이 없는 이미지의 인접 영역을 마스킹합니다.

다음을 사용하여 경계 상자로 치킨 트레이에 레이블을 지정했습니다. Amazon SageMaker Ground Truth의 스트리밍 라벨링 작업. 또한 게시하는 Amazon S3 이벤트 알림을 설정합니다. 개체 생성 이벤트아마존 단순 알림 서비스 (SNS) 토픽은 라벨링 작업의 입력 소스 역할을 합니다. AWS Panorama 애플리케이션 스크립트가 이미지를 S3 버킷에 저장하면 이벤트 알림이 SNS 주제에 게시된 다음 이 이미지를 레이블 지정 작업으로 보냅니다. 애노테이터가 들어오는 모든 이미지에 레이블을 지정하면 Ground Truth는 이미지의 S3 경로와 치킨 트레이 경계 상자의 좌표가 포함된 매니페스트 파일에 레이블을 저장합니다.

레이블이 지정된 이미지에 대해 몇 가지 데이터 확대(예: 임의 노이즈, 임의 대비 및 밝기, 채널 셔플)를 수행하여 모델이 실생활의 변화에 ​​강건하도록 만듭니다. 원본 이미지와 증강 이미지를 결합하여 통합 데이터 세트를 형성했습니다.

모델 교육 :

라벨링 작업이 완료되면 수동으로 AWS 람다 기능. 이 Lambda 함수는 출력 매니페스트의 이미지와 해당 레이블을 LST 파일. 교육 및 테스트 파일에는 평가 시 데이터 유출을 방지하기 위해 다양한 포장 라인에서 수집한 이미지가 있습니다. 그러면 Lambda 함수가 Amazon SageMaker 교육 작업을 트리거합니다.

우리는 사용 SageMaker 스크립트 모드, Amazon SageMaker의 사용자 친화적인 범위 내에서 유지하면서 고유한 교육 알고리즘을 가져와 모델을 직접 교육할 수 있습니다. 다양한 백본 네트워크 조합으로 SSD, Yolo-v3(실시간 추론 대기 시간)와 같은 모델을 교육합니다. 물체 감지를 위한 GluonCV Model Zoo 스크립트 모드에서. 신경망은 훈련 데이터를 과적합하는 경향이 있어 샘플 외 결과가 좋지 않습니다. GluonCV는 훈련 중 과적합을 줄이는 데 도움이 되는 무작위 이미지 뒤집기 및 자르기와 같은 이미지 정규화 및 이미지 확대를 제공합니다. 그만큼 모델 훈련 코드 컨테이너화되며 AWS Elastic Container Registry의 Docker 이미지를 사용합니다. 훈련 작업은 S3 이미지 폴더와 LST 파일 경로를 입력으로 사용하고 최상의 모델 아티팩트를 저장합니다(.params.json) 완료 시 S3로.

모델 평가 파이프라인

모델 평가 파이프라인

테스트 세트를 기반으로 한 상위 2개 모델은 다음과 같습니다. SSD-resnet50Yolov3-다켓넷53, mAP 점수는 각각 0.91입니다. 또한 훈련된 모델과 함께 AWS Panorama 디바이스에 추론 애플리케이션을 배포하여 실제 테스트를 수행했습니다. 추론 스크립트는 예측 및 비디오 프레임을 Amazon S3 버킷에 저장합니다. Ground Truth에 주석을 추가하기 위해 또 다른 SageMaker Ground Truth 작업을 만든 다음 추가 정량적 모델 평가를 수행했습니다. 정성적 평가를 위해 이미지의 실측값과 예측된 경계 상자 레이블을 S3에 저장했습니다. 모델은 실제 데이터를 일반화할 수 있었고 테스트 세트와 유사한 일관된 성능을 제공했습니다.

Amazon SageMaker에서 사용자 지정 교육 작업 생성, 최신 개체 감지 모델 교육, HPO(Hyperparameter Optimization) 구현 및 모델 배포에 대한 전체 종단 간 예를 찾을 수 있습니다. AWS Labs GitHub 리포지토리.

고기 트레이 계산 응용 프로그램 배포

프로덕션 아키텍처

프로덕션 아키텍처

배포하기 전에 모델, 추론 스크립트, 카메라 및 전역 변수 구성과 같은 모든 자산을 단일 컨테이너로 패키징합니다. 이 블로그 게시물. 당사의 지속적인 통합 및 지속적인 배포(CI/CD) 파이프라인은 추론 스크립트의 모든 변경 사항을 새 애플리케이션 버전으로 업데이트합니다. 새 애플리케이션 버전이 게시되면 Python에서 boto3 SDK를 사용하여 프로그래밍 방식으로 배포합니다.

애플리케이션 배포 시 AWS Panorama는 먼저 AWS SageMaker Neo Compilation 작업을 생성하여 AWS Panorama 디바이스용 모델을 컴파일합니다. 추론 애플리케이션 스크립트는 장치에서 컴파일된 모델을 가져오고 모든 프레임에서 치킨 트레이 감지를 수행합니다. SageMaker Neo-Compilation 외에도 다음을 추가하여 교육 후 양자화를 활성화했습니다. os.environ['TVM_TENSORRT_USE_FP16'] = '1' 스크립트에서 플래그. 이렇게 하면 모델 가중치의 크기가 float 32에서 float 16으로 줄어들어 모델 크기가 절반으로 줄어들고 성능 저하 없이 대기 시간이 개선됩니다. 추론 결과는 AWS SiteWise 모니터 다음을 통해 AWS Panorama 디바이스에서 MQTT 메시지를 통해 AWS IoT 코어. 그런 다음 결과는 Amazon S3로 푸시되고 아마존 퀵 사이트 대시보드. 공장 관리자와 직원은 이러한 대시보드를 직접 보고 모든 포장 라인의 처리량을 실시간으로 이해할 수 있습니다.

결론

Amazon SageMaker, Amazon S3와 같은 AWS 클라우드 서비스와 AWS Panorama와 같은 에지 서비스를 결합함으로써 Tyson Foods Inc.는 인공 지능을 주입하여 제조 공장에서 재고 계산과 같은 인간 집약적인 산업 프로세스를 자동화하고 있습니다. 실시간 에지 추론 기능을 통해 Tyson은 과잉/미달 생산을 식별하고 생산 흐름을 동적으로 조정하여 효율성을 극대화할 수 있습니다. 또한 엣지에서 AWS Panorama 장치를 소유함으로써 Tyson은 비디오 파일을 클라우드로 전송하기 위한 값비싼 네트워크 대역폭과 관련된 비용을 절감할 수 있으며 이제 모든 비디오/이미지 자산을 네트워크에서 로컬로 처리할 수 있습니다.

이 블로그 게시물은 AWS Panorama를 사용하여 CV 애플리케이션을 개발하기 위한 종단 에지 애플리케이션 개요 및 참조 아키텍처를 제공합니다. Edge CV 애플리케이션 구축의 3가지 측면에 대해 논의했습니다.

  1. Data: AWS Panorama 및 Amazon SageMaker Ground Truth를 사용한 데이터 수집, 처리 및 레이블 지정.
  2. 모델: Amazon SageMaker 및 AWS Lambda를 사용한 모델 교육 및 평가
  3. 신청서 패키지: AWS Panorama용 훈련된 모델, 스크립트 및 구성 파일을 번들로 제공합니다.

Tyson이 산업 기계의 CV 기반 예측 유지 관리에 AWS Panorama를 사용하는 방법에 대한 이 시리즈의 XNUMX부도 계속 지켜봐 주십시오.

여기에서 지금 확인해 보세요. AWS Panorama로 여정을 시작하십시오. ML Solutions Lab과의 협업에 대해 자세히 알아보려면 다음을 참조하세요. 아마존 머신 러닝 솔루션 랩.


저자에 관하여

디비 아 바르 가비 의 데이터 과학자입니다 Amazon ML 솔루션 랩 그녀는 다양한 수직 분야의 고객과 협력하고 창의적인 문제 해결을 적용하여 최첨단 ML/AI 솔루션으로 고객을 위한 가치를 창출합니다.

딜립 수브라마니암 Tyson Foods의 Emerging Technologies 팀의 선임 개발자입니다. 그는 소프트웨어 개발, 기계 학습 및 빅 데이터에 대한 지식을 사용하여 비즈니스 문제를 해결하고 프로세스를 단순화하기 위해 대규모 분산 응용 프로그램을 구축하는 데 열정적입니다.

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

타임 스탬프 :

더보기 AWS 머신 러닝 블로그