Amazon Web Services 한국 블로그
Amazon Lookout for Vision – 새로운 ML 서비스로 제조 결함 감지 간소화 (서울 리전 포함)
오늘, 저는 산업 환경에서 고객이 생산 단위 및 장비의 외관 결함을 쉽고 비용 효율적으로 감지할 수 있도록 지원하는 새로운 기계 학습 (ML) 서비스인 Amazon Lookout for Vision을 발표하게 되어 기쁩니다.
이 이미지에서 결함이 있는 회로 기판을 찾을 수 있습니까?
회로 기판에 익숙하다면 해낼 수도 있겠지만, 저의 경우에는 오류를 찾아내는 데 상당한 시간이 걸렸습니다. 인간은 제대로 훈련을 받고 잘 쉬었을 때 일련의 물건에서 이상을 발견하기에 좋은 상태가 됩니다. 그러나 피곤하거나 제대로 훈련을 받지 않은 경우 (이 예시의 저와 같이) 느리고 오류를 일으키기 쉬우며, 일관성이 없을 수 있습니다.
그렇기 때문에 많은 기업들이 머신 비전 기술을 사용하여 이상을 탐지합니다. 그러나 이러한 기술은 제어된 조명 및 카메라 관측점으로 보정해야 합니다. 또한 결함 여부를 정의하는 하드 코딩된 규칙을 지정해야 하므로 기술이 매우 전문화되고 구축하기에 복잡해집니다.
Lookout for Vision은 생산 프로세스 전반에 걸쳐 제품 결함을 시각적으로 검사하여 산업 제품 품질 증진 및 운영 비용 절감을 지원하는 새로운 기계 학습 서비스입니다. Lookout for Vision은 딥 러닝 모델을 사용하여 하드 코딩한 규칙을 대체하고, 카메라 각도, 조명 및 운영 환경에서 발생하는 기타 문제로 인해 발생하는 어려움을 처리합니다. Lookout for Vision을 사용하면 신중하게 통제한 환경에 대한 필요를 줄일 수 있습니다.
Lookout for Vision을 사용하면 제조 부품의 손상을 감지하고, 누락된 구성 요소 또는 부품을 식별하며, 제조 라인에서 근본적인 프로세스 관련 문제를 발견할 수 있습니다.
Lookout for Vision 사용 방법
가장 먼저 언급하고자 하는 점은 Lookout for Vision을 사용하기 위해 기계 학습 전문가가 될 필요는 없다는 것입니다. Lookout for Vision은 완전 관리형 서비스로 사용자의 사용 사례와 데이터에 맞게 최적화할 수 있는 이상 징후 탐지 모델을 함께 제공합니다.
Lookout for Vision을 사용하기 위해서는 몇 가지 단계를 거쳐야 합니다. 첫 번째는 데이터 세트 준비이며, 이미지 데이터 세트 생성과 이미지에 레이블 추가로 구성됩니다. 그 다음 Lookout for Vision은 이 데이터 집합을 사용하여 사용자 제품의 이상을 탐지하는 방법을 학습하는 ML 모델을 자동으로 훈련합니다. 마지막 단계는 생산 시 모델 사용입니다. Lookout for Vision이 제공하는 도구를 사용하여 훈련된 모델의 성능을 지속적으로 평가하고 언제든지 개선할 수 있습니다.
데이터 준비
모델을 시작하려면 먼저 사용자 제품의 이미지 세트가 필요합니다. 더 나은 결과를 얻으려면 일반(결함 없음) 및 이상 내용(결함 포함)이 있는 이미지를 포함합니다. 훈련을 시작하려면 최소 20장의 일반 이미지와 10장의 이상 이미지가 필요합니다.
AWS Management Console에서 Lookout for Vision으로 이미지를 가져오는 방법은 여러 가지입니다. Amazon SageMaker Ground Truth 서비스를 사용하여 주석이 달린 이미지에 대한 매니페스트를 제공하거나, S3 버킷에서 이미지를 제공하거나, 또는 컴퓨터에서 직접 업로드할 수 있습니다.
이미지를 업로드한 후 레이블을 추가하여 데이터 세트의 이미지를 일반 또는 이상 이미지로 분류해야 합니다. 레이블 지정은 매우 중요한 단계입니다. 이 정보는 Lookout for Vision이 사용자의 사용 사례에 맞게 모델을 훈련하기 위해 사용하는 핵심 정보이기 때문입니다.
이 데모에서는 S3 버킷에서 이미지를 가져옵니다. S3 버킷의 이미지를 폴더 이름 (/anomaly/01.jpeg) 별로 구성했다면 Lookout for Vision은 자동으로 폴더 구조를 해당 레이블로 가져옵니다.
모델 훈련하기
데이터 세트가 준비되면 모델을 훈련해야 합니다. 훈련 버튼은 레이블 처리 이미지를 최소 수량(일반 20개, 이상 10개)만큼 가지고 있을 때 활성화됩니다.
데이터 세트의 크기에 따라 훈련을 완료에 시간이 소요될 수 있습니다. 제 경우에는 100개의 이미지로 모델을 훈련하는 데 약 1시간이 걸렸습니다. Lookout for Vision이 모델을 실제로 훈련하기 시작하면 비용이 발생하기 시작합니다. 훈련이 완료되면 사용자 모델은 새 이미지에서 이상 현상을 감지할 수 있습니다.
모델 평가
모델을 생산에 배포할 준비가 되었는지 여부를 평가하는 방법은 다양합니다. 첫 번째는 모델의 성능 메트릭 검토이며 두 번째는 일부 프로덕션 실행으로, 모델 배포 준비가 되었는지 확인하는 데 도움이 되는 테스트 등이 있습니다.
세 가지 주요 성과 메트릭은 정밀도, 리콜 및 F1 점수입니다. 정밀도는 모델 예측이 답을 맞춘 횟수의 백분율을 측정하고, 리콜은 모델이 식별한 실제 결함의 백분율을 측정합니다. F1 점수는 모델 성능 메트릭을 결정하는 데 사용합니다.
몇 가지의 생산 유사 테스트를 실행하여 모델이 준비되었는지 확인하려면 시험 감지 실행 기능을 사용하십시오. 이렇게 하면 Lookout for Vision 모델을 실행하고 새 이미지의 이상을 예측할 수 있습니다. 결과를 수동으로 확인하고 새로운 훈련 이미지를 추가하여 모델을 더욱 개선할 수 있습니다.
시험 감지를 위해 이 게시물의 시작 부분에 있는 세 개의 이미지를 사용했습니다. 시험 감지 작업은 15~20분 동안 실행하였으며, 그 후 at Lookout for Vision은 훈련된 모델을 사용하여 이미지를 “일반” 및 “이상”으로 분류했습니다. Lookout for Vision이 감지 작업을 완료하면 결과가 올바른지 여부를 확인하고 이 이미지를 데이터 집합에 추가할 수 있습니다.
생산에서 모델 사용
Lookout for Vision을 사용하려면 AWS SDK 또는 CLI를 생산 라인에서 제품 이미지를 처리하는 시스템에 통합해야 합니다. 그리고 이 작업을 위해 인터넷 연결이 필요합니다. 가장 먼저 해야 할 일은 모델을 시작하는 것입니다. Lookout for Vision을 사용할 때는 모델을 실행하고 추론하는 시간에 대해 요금이 청구됩니다. 예를 들어, 오전 8시에 모델을 시작하고 오후 5시에 중지하면 9시간에 대한 요금이 청구됩니다.
# CLI 예제
aws lookoutvision start-model
--project-name circuitBoard
--model-version 1
--additional-output-config "Bucket=<OUTPUT_BUCKET>,Prefix=<PREFIX_KEY>"
--min-anomaly-detection-units 10
# 응답 예제
{ "status" : "STARTING_HOSTING" }
모델이 준비되면 detect-anomalies API를 Lookout for Vision에서 호출할 수 있습니다.
# CLI 예제
aws lookoutvision detect-anomalies
--project-name circuitBoard
--model-version 1
그리고 이 API는 이미지의 이상 여부를 보여주는 JSON 응답을 해당 예측의 신뢰 수준과 함께 반환합니다.
{
"DetectAnomalyResult": {
"Source": {
"Type": "direct"
},
"IsAnomalous": true,
"Confidence": 0.97
}
}
하루에 발생한 이상을 감지하는 작업을 완료하면 stop-model API를 사용합니다. Lookout for Vision 서비스 콘솔에서 이러한 API를 사용하는 방법에 대한 코드 조각을 찾을 수 있습니다.
생산에 Lookout for Vision을 사용하는 경우 대부분의 결함 라인, 가장 최근에 결함이 발생한 라인, 그리고 이상 비율이 가장 높은 라인 별로 생산 라인을 정렬하고 추적하는 데 도움이 되는 대시보드를 찾을 수 있습니다.
지금 이용 가능
Lookout for Vision는 모든 AWS 리전에서 사용할 수 있습니다.
Amazon Lookout for Vision을 시작하려면 지금 서비스 페이지를 방문하십시오.
— Marcia