커스텀 컴퓨터 비전 모델 만들기
Last updated
Last updated
이 실습에서는 마그네틱 타일을 생산하는 제조 회사의 운영 부서에서 근무하는 비즈니스 분석가의 역할을 수행합니다. 우리의 목표는 이미지를 기반으로 마그네틱 타일의 결함을 식별할 수 있는 이미지 분류 모델을 개발하는 것입니다. 이를 위해 조립 라인에서 생산된 최종 마그네틱 타일의 라벨이 부착된 200개의 이미지가 포함된 데이터 세트가 주어졌습니다. 이러한 이미지는 구멍, 균열, 파손 등 존재하는 결함의 유형에 따라 분류되었습니다. 우리의 임무는 이 데이터 세트를 활용하여 정확하고 효율적인 이미지 분류 모델을 구축하는 것입니다.
,
학습 데이터의 압축을 풀면 구멍, 파손, 균열 등 뚜렷한 결함 유형에 따라 이미지를 구성하는 폴더가 나타납니다. 무료 폴더에는 결함이 없는 이미지가 포함되어 있다는 점에 주목할 필요가 있습니다. 또한 테스트 단계에서 모델의 효율성을 평가하려면 추론 또는 테스트 이미지를 다운로드하는 것이 중요합니다.
팝업 화면에서 데이터 세트의 이름(예: Magnetic-Tiles-Dataset)을 입력한 후 생성 버튼을 클릭합니다. 그런 다음 가져오기 화면에서 로컬 업로드 옵션을 선택합니다. 여기에서 폴더 선택 버튼을 선택하고 로컬 컴퓨터에서 루트 폴더인 magnetic-tiles-train(블로우홀, 브레이크, 크랙 등의 하위 폴더가 포함된)을 업로드합니다. 폴더 이름을 기준으로 이미지에 레이블을 지정하면 폴더 이름을 기준으로 이미지에 레이블이 지정되므로 폴더 이름에 따라 이미지에 레이블 지정 옵션을 선택해 두어야 합니다.
데이터 세트가 가져오기 프로세스를 시작합니다. 훈련 이미지가 200개가 넘는 경우, 이미지 폴더 magnetic-tiles-train을 Amazon S3 버킷에 업로드한 다음 버킷에서 데이터 세트로 폴더를 가져오는 것을 고려할 수 있습니다. 가져오기 프로세스가 완료되면 200개의 항목 또는 이미지가 포함된 이미지 데이터 세트가 생성된 것을 확인할 수 있습니다.
데이터 세트를 클릭하면 결함 유형에 따라 이미지 미리보기와 해당 레이블을 포함한 다양한 세부 정보를 확인할 수 있습니다. 이미지가 폴더별로 정렬되고 폴더 이름에 따라 레이블이 지정되었으므로 SageMaker Canvas는 각 이미지에 적절한 레이블을 자동으로 할당했습니다. 그러나 레이블이 지정되지 않은 이미지를 가져온 다음 다른 방법으로 개별적으로 레이블을 지정하는 옵션도 있습니다.
모델 학습을 시작하려면 데이터 세트(자기 타일-데이터 세트)로 이동하여 모델 만들기 버튼을 선택합니다. 팝업 창에서 모델 이름(예: Magnetic-Tiles-Defect-Model)을 지정합니다. 문제 유형에 대해 이미지 분석 옵션을 선택합니다. 마지막으로 생성 버튼을 클릭하여 모델 생성 프로세스를 시작합니다.
구축 탭에서 레이블 분포, 레이블이 있는 이미지와 없는 이미지의 수 등 데이터 세트와 관련된 몇 가지 세부 정보를 검토할 수 있습니다. 또한 모델 유형을 지정해야 합니다(이 경우 단일 레이블 이미지 예측). 필요한 경우 데이터 세트 편집 옵션을 선택하여 특정 이미지의 레이블을 수정하거나 수정할 수 있습니다(특히 레이블이 지정되지 않은 이미지를 가져온 경우). 그러나 모든 이미지에 이미 올바르게 레이블이 지정되었으므로 데이터 세트를 편집할 필요가 없습니다.
모델을 구축하는 방법에는 두 가지가 있습니다: 빠른 빌드와 표준 빌드입니다. 빠른 빌드 옵션은 정확도보다 속도를 우선시하므로 15~30분 안에 모델을 훈련할 수 있습니다. 그러나 빠른 빌드로 생성된 모델은 공유할 수 없으므로 빠른 타당성 검사 및 정확도 테스트에만 적합합니다. 반면 표준 빌드 옵션은 속도보다 정확도를 중시하므로 모델 학습을 완료하는 데 2시간에서 5시간이 소요될 수 있습니다.
이 실습에서는 표준 빌드 옵션을 사용하여 모델을 훈련하겠습니다. 이렇게 하려면 학습 탭에 있는 표준 학습 옵션을 선택하여 모델 학습 프로세스를 시작합니다.
모델이 이미지를 어떻게 분류했는지 더 잘 이해하려면 분석 탭에서 히트맵 토글 버튼을 클릭하면 됩니다. 그러면 모델이 레이블을 구분하는 데 사용한 이미지의 관심 영역을 강조 표시하는 히트 맵이 표시됩니다. 히트 맵은 클래스 활성화 맵(CAM) 기법을 사용하여 생성됩니다. 히트 맵을 검토하여 모델이 학습한 패턴을 식별하고 특히 잘못 분류된 이미지에 대해 모델의 성능을 개선하는 방법에 대한 인사이트를 얻을 수 있습니다.
점수 링크를 클릭하여 각 라벨의 모델에 대한 Precision 및 Recall을 확인할 수도 있습니다.
학습된 모델을 사용하여 예측을 하려면 예측 탭으로 이동합니다. 예측을 만드는 방법에는 두 가지가 있습니다: 단일 예측과 일괄 예측입니다. 단일 예측을 사용하면 로컬 컴퓨터 또는 Amazon S3 버킷에서 단일 이미지를 업로드하여 결함에 대한 예측을 할 수 있습니다. 일괄 예측을 사용하면 SageMaker 캔버스 데이터 세트에서 가져온 여러 이미지에 대해 예측을 수행할 수 있습니다.
이 실습에서는 로컬 컴퓨터에서 테스트 또는 추론 이미지를 업로드하여 단일 예측을 사용하겠습니다. 기억하시겠지만, 이전 단계 중 하나에서 테스트 이미지가 포함된 zip 파일을 다운로드했습니다. 예측 탭에서 단일 예측을 선택하고 이미지 가져오기 버튼을 클릭하여 로컬 컴퓨터에서 이미지를 업로드합니다. 테스트 이미지 zip 파일에서 이미지 중 하나를 선택할 수 있습니다.
이미지를 가져오면 모델이 결함에 대한 예측을 수행합니다. 이 경우 자기 타일 이미지에 파손 결함이 있을 것으로 예측되며 모델은 93%의 신뢰도를 보입니다.
마찬가지로 다른 이미지 또는 이미지 데이터 세트를 사용하여 결함에 대한 예측을 할 수 있습니다.
축하합니다! 실습을 성공적으로 완료했습니다. 이제 다른 실습을 탐색하여 머신 러닝 및 기타 관련 기술에 대한 기술과 지식을 더욱 향상시킬 수 있습니다. 또한 이 실습에서 배운 개념과 기술을 실제 프로젝트에 적용하여 복잡한 문제를 해결하고 혁신적인 솔루션을 만들 수 있습니다.