모델 학습 문제 해결 - Amazon Lookout for Vision

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

모델 학습 문제 해결

매니페스트 파일 또는 학습 이미지에 문제가 있으면 모델 학습이 실패할 수 있습니다. 모델을 재학습시키기 전에 다음과 같은 잠재적 문제를 확인하세요.

예외 항목 레이블 색상이 마스크 이미지의 예외 항목 색상과 일치하지 않습니다.

이미지 분할 모델을 훈련시키는 경우 매니페스트 파일의 예외 항목 레이블 색상이 마스크 이미지의 색상과 일치해야 합니다. 매니페스트 파일의 이미지 JSON 줄에는 Amazon Lookout for Vision에 어떤 색상이 예외 항목 레이블에 해당하는지 알려주는 메타데이터 (internal-color-map) 가 있습니다. 예를 들어, 다음 줄에 있는 scratch 예외 항목 레이블의 색상은 다음과 같습니다. JSON #2ca02c

{ "source-ref": "s3://path-to-image", "anomaly-label": 1, "anomaly-label-metadata": { "class-name": "anomaly", "creation-date": "2021-10-12T14:16:45.668", "human-annotated": "yes", "job-name": "labeling-job/classification-job", "type": "groundtruth/image-classification", "confidence": 1 }, "anomaly-mask-ref": "s3://path-to-image", "anomaly-mask-ref-metadata": { "internal-color-map": { "0": { "class-name": "BACKGROUND", "hex-color": "#ffffff", "confidence": 0.0 }, "1": { "class-name": "scratch", "hex-color": "#2ca02c", "confidence": 0.0 }, "2": { "class-name": "dent", "hex-color": "#1f77b4", "confidence": 0.0 } }, "type": "groundtruth/semantic-segmentation", "human-annotated": "yes", "creation-date": "2021-11-23T20:31:57.758889", "job-name": "labeling-job/segmentation-job" } }

마스크 이미지의 색상이 해당 hex-color값과 일치하지 않으면 학습이 실패하므로 매니페스트 파일을 업데이트해야 합니다.

매니페스트 파일의 색상 값을 업데이트하려면
  1. 텍스트 편집기를 사용하여 데이터세트를 만드는 데 사용한 매니페스트 파일을 엽니다.

  2. 각 JSON 라인 (이미지) 에 대해 internal-color-map 필드 내 색상 (hex-color) 이 마스크 이미지의 예외 항목 레이블 색상과 일치하는지 확인합니다.

    anomaly-mask-ref필드에서 마스크 이미지의 위치를 가져올 수 있습니다. 이미지를 컴퓨터에 다운로드하고 다음 코드를 사용하여 이미지의 색상을 가져옵니다.

    from PIL import Image img = Image.open('path to local copy of mask file') colors = img.convert('RGB').getcolors() #this converts the mode to RGB for color in colors: print('#%02x%02x%02x' % color[1])
  3. 색상이 잘못 지정된 각 이미지에 대해 이미지 JSON 줄의 hex-color 필드를 업데이트하십시오.

  4. 매니페스트 파일을 저장합니다.

  5. 프로젝트에서 기존 데이터세트를 삭제합니다.

  6. 업데이트된 매니페스트 파일을 사용하여 프로젝트에 새 데이터세트를 생성합니다.

  7. 모델을 학습시키세요.

또는 5단계와 6단계에서 UpdateDatasetEntries작업을 호출하고 업데이트하려는 이미지에 업데이트된 JSON 라인을 제공하여 데이터셋의 개별 이미지를 업데이트할 수 있습니다. 예제 코드는 더 많은 이미지 추가 (SDK) 항목을 참조하세요.

마스크 이미지의 형식이 맞지 않습니다. PNG

이미지 분할 모델을 훈련하는 경우 마스크 이미지의 PNG 형식이 맞아야 합니다. 매니페스트 파일에서 데이터셋을 만드는 경우, 에서 참조하는 마스크 이미지의 형식이 맞는지 확인하세요. anomaly-mask-ref PNG 마스크 이미지의 형식이 올바르지 않은 경우 해당 이미지를 PNG 형식으로 변환해야 PNG 합니다. 이미지 파일의 확장명 이름을 .png로 바꾸는 것만으로는 충분하지 않습니다.

Amazon Lookout for Vision 콘솔에서 생성하거나 Ground Truth 작업을 사용하여 SageMaker 생성한 마스크 이미지는 다양한 PNG 형식으로 생성됩니다. 이러한 설정을 변경할 필요는 없습니다.

매니페스트 파일에서 PNG 형식이 아닌 마스크 이미지를 수정하려면
  1. 텍스트 편집기를 사용하여 데이터세트를 만드는 데 사용한 매니페스트 파일을 엽니다.

  2. 각 JSON 라인 (이미지) 에 대해 이미지가 PNG 형식 이미지를 anomaly-mask-ref 참조하는지 확인하십시오. 자세한 내용은 매니페스트 파일 만들기 단원을 참조하십시오.

  3. 매니페스트 파일을 선택합니다.

  4. 프로젝트에서 기존 데이터세트를 삭제합니다.

  5. 업데이트된 매니페스트 파일을 사용하여 프로젝트에 새 데이터세트를 생성합니다.

  6. 모델을 학습시키세요.

세분화 또는 분류 레이블이 부정확하거나 누락되었습니다.

레이블이 누락되거나 부정확하면 훈련이 실패하거나 성능이 떨어지는 모델을 만들 수 있습니다. 데이터세트의 모든 이미지에 레이블을 지정하는 것이 좋습니다. 모든 이미지에 레이블을 지정하지 않아 모델 학습에 실패하거나 모델 성능이 저조한 경우 이미지를 더 추가하세요.

다음을 확인하세요.

  • 분할 모델을 만드는 경우 마스크가 데이터셋 이미지의 이상 징후를 철저하게 가려야 합니다. 데이터세트의 마스크를 확인하려면 프로젝트의 데이터세트 갤러리에서 이미지를 확인하세요. 필요한 경우 이미지 마스크를 다시 그리세요. 자세한 내용은 이미지 세분화 (콘솔) 단원을 참조하십시오.

  • 데이터 세트 이미지의 변칙 이미지가 분류되었는지 확인하세요. 이미지 분할 모델을 만드는 경우 변칙 이미지에 예외 항목 레이블과 이미지 마스크가 있는지 확인하세요.

    어떤 유형의 모델 (세분화 또는 분류) 을 만들고 있는지 기억하는 것이 중요합니다. 분류 모델에는 변칙 이미지에 대한 이미지 마스크가 필요하지 않습니다. 분류 모델용 데이터세트 이미지에는 마스크를 추가하지 마세요.

    누락된 라벨을 업데이트하려면
    1. 프로젝트의 데이터세트 갤러리를 엽니다.

    2. 라벨이 없는 이미지를 필터링하여 라벨이 없는 이미지를 확인할 수 있습니다.

    3. 다음 중 하나를 수행합니다.

      • 이미지 분류 모델을 만드는 경우 레이블이 지정되지 않은 각 이미지를 분류하십시오.

      • 이미지 분할 모델을 만드는 경우 레이블이 지정되지 않은 각 이미지를 분류하고 세분화하십시오.

    4. 이미지 분할 모델을 만드는 경우 마스크가 없는 분류된 모든 변칙 영상에 마스크를 추가하십시오.

    5. 모델을 학습시키세요.

불량하거나 누락된 레이블을 수정하지 않으려면 레이블이 지정된 이미지를 더 추가하거나 데이터세트에서 영향을 받는 이미지를 제거하는 것이 좋습니다. 콘솔에서 또는 UpdateDatasetEntries작업을 사용하여 더 추가할 수 있습니다. 자세한 내용은 데이터 세트에 이미지 추가 단원을 참조하십시오.

이미지를 제거하기로 선택한 경우 데이터세트에서 이미지를 삭제할 수 없으므로 영향을 받은 이미지가 없는 데이터세트를 다시 만들어야 합니다. 자세한 내용은 데이터 세트에서 이미지 삭제하기 단원을 참조하십시오.