학습 데이터 준비

이미지 준비

일반 이미지 요구사항
지원되는 파일 형식
  • JPEG
  • PNG
  • GIF
  • BMP
  • ICO
이미지 유형

AutoML Vision 객체 감지 모델은 현실의 물체를 찍은 사진에 최적화되어 있습니다.

학습 이미지 파일 크기(MB) 최대 크기는 30MB입니다.
예측 이미지 파일* 크기(MB) 최대 크기는 1.5MB입니다.
이미지 크기(픽셀)

권장 최대 크기는 1024*1024 픽셀입니다.

1024*1024 픽셀보다 훨씬 큰 이미지의 경우 AutoML Vision 객체 감지의 이미지 정규화 과정 중에 일부 이미지 품질이 손실될 수 있습니다.

라벨 및 경계 상자 요구사항
학습용 라벨 인스턴스

최소 10개 주석(인스턴스)

주석 요구사항

각 레벨에 대해 최소 10개 이상의 이미지가 있어야 하고, 각 이미지에는 최소 1개 이상의 주석이 있어야 합니다(경계 상자 및 라벨).

하지만 모델 학습을 위해서는 라벨당 약 1,000개의 주석을 사용하는 것이 좋습니다. 일반적으로 라벨당 이미지 수가 많을수록 모델 성능이 향상됩니다.

라벨 비율(가장 흔한 라벨부터 가장 흔하지 않은 라벨 순서):

가장 흔한 라벨의 이미지가 가장 흔하지 않은 라벨의 이미지보다 최대 100배 많을 때 모델의 성능이 가장 좋습니다.

모델 성능을 위해서는 빈도가 매우 낮은 라벨을 삭제하는 것이 좋습니다.

경계 상자 가장자리 길이 최소한 이미지 측면 길이에 0.01을 곱한 것 이상입니다. 예를 들어 1000 * 900 픽셀 이미지는 최소한 10 * 9 픽셀 이상의 경계 상자가 필요합니다.
경계 상자 크기(픽셀) 최소한 8*8 픽셀입니다.
고유 이미지당 경계 상자 최대 500입니다.
예측 요청에서 반환된 경계 상자

100(기본값), 최대 500입니다.

이 값은 params.max_bounding_box_count 필드에 predict 요청의 일부로 지정할 수 있습니다.

학습 데이터 및 데이터 세트 요구사항
학습 이미지 특성

학습 데이터는 예측을 수행할 데이터와 최대한 유사해야 합니다.

예를 들어 사용 사례에 보안 카메라 영상처럼 흐릿한 저해상도 이미지가 포함된다면, 학습 데이터는 흐릿한 저해상도 이미지로 구성해야 합니다. 또한 일반적으로 다양한 각도, 해상도, 배경으로 촬영한 학습 이미지를 제공하면 도움이 됩니다.

AutoML Vision 객체 감지 모델은 일반적으로 인간이 지정할 수 없는 라벨을 예측할 수 없습니다. 따라서 사람이 1~2초 동안 주시하여 라벨을 붙이도록 훈련시킬 수 없는 이미지라면 모델도 그러한 작업을 수행하도록 학습시키기 어렵습니다.

각 데이터 세트의 이미지 최대 150,000
각 데이터세트에서 주석이 추가된 경계 상자 합계 최대 1,000,000
각 데이터세트의 라벨 수 최소 1, 최대 1,000

권장사항 가이드

사용할 수 있는 이미지 데이터는 어떤 종류인가요?

  • 지원되는 이미지 파일 형식은 JPEG, PNG, GIF, BMP, ICO입니다.
  • 학습 데이터는 예측을 수행할 데이터와 최대한 유사해야 합니다. 예를 들어 사용 사례에 휴대폰 카메라의 저해상도 이미지가 포함된 경우 학습 데이터가 저해상도 이미지로 구성되어야 합니다. 또한 일반적으로 다양한 각도, 해상도, 배경으로 촬영한 학습 이미지를 제공하면 도움이 됩니다. 또 다른 예시는 고해상도 이미지에서 리전을 감지하려는 경우입니다. 이 경우에는 모델을 잘린 이미지로 학습시키지 마세요.

데이터의 최소 조건은 무엇인가요?

  • 사용 라벨이 유효한 문자열이어야 합니다(내부에 쉼표 없음). 쉼표는 CSV 기반의 가져오기에서만 문제가 됩니다. 이 문제를 해결하는 방법은 "file_comma,path","label,comma",0,0,,,1,1,,입니다.
  • 경계 상자는 모든 경우에 8*8 픽셀보다 커야 합니다. 이보다 작은 경계 상자는 필터링됩니다.
  • 이미지가 1024*1024 픽셀을 초과할 수 있지만, 이러한 이미지는 자동으로 축소되어 이미지 품질 손실이 발생할 수 있습니다. 따라서 권장되는 최대 이미지 크기는 1024*1024 픽셀입니다. 이러한 크기보다 작은 이미지는 확대되지 않습니다.
  • 모든 경계 상자는 이미지 내부에 있어야 합니다.
  • 경계 상자에는 철저히 남김없이 라벨이 지정되어야 합니다. 하나의 이미지에 자동차가 2개 있으면 항목 모두에 라벨이 지정되어야 합니다.

데이터 세트는 얼마나 커야 하나요?

  • 클수록 더 좋습니다. 거의 항상 사실입니다. 하지만 샘플 추가로 인해 불균형 또는 유출이 발생할 경우에는 예외입니다(아래 참조).
  • 좋은 모델을 학습하는 데 필요한 데이터 양은 다음과 같은 다양한 요소에 따라 달라집니다.
    • 클래스 수. 고유한 클래스가 많을수록 클래스당 필요한 샘플이 증가합니다.
    • 클래스 복잡성/다양성. 인간과 비슷합니다. 인간은 맥주와 와인을 구분할 때 샘플이 몇 개 되지 않아야만 빠르게 학습할 수 있습니다. 5~6가지의 적포도주를 구분하기 위해서는 여러 와인을 상당히 많이 마셔봐야 할 것입니다. 또한 대부분의 경우에는 50가지 종류의 적포도주를 구분하는 것이 매우 어려운 일일 수 있습니다. 적어도 엄청나게 많은 연습이 필요할 것입니다. 마찬가지로 신경망도 코끼리와 고양이는 빠르게 구분할 수 있지만, 30가지 동물들을 분류하기 위해서는 이보다 훨씬 많은 샘플이 필요할 것입니다.
  • 일반적으로 고유성이 높고 클래스 수가 많지 않으면 클래스당 학습 샘플 수를 최소 100개 이상 사용하고, 클래스가 조금 더 세부적인 특성을 갖고 종류가 50개를 초과하면 학습 샘플을 200개를 초과하여 사용하는 것이 좋습니다.

학습 데이터 세트와 평가 데이터 세트

머신러닝 모델을 학습할 때는 일반적으로 데이터 세트를 세 가지 개별 데이터 세트로 나눕니다.

  1. 학습 데이터 세트
  2. 검증 데이터세트
  3. 테스트 데이터 세트

학습 데이터 세트는 모델을 빌드하는 데 사용됩니다. 학습 모델은 학습 데이터에서 패턴을 검색하면서 여러 초매개변수를 시도합니다. 패턴 식별 과정 중 AutoML Vision 객체 감지는 검증 데이터 세트를 사용하여 모델의 초매개변수를 테스트합니다. AutoML Vision 객체 감지는 학습 단계에서 식별된 모든 옵션들 중에서 성능이 가장 우수한 알고리즘 및 패턴을 선택합니다.

성능이 가장 우수한 알고리즘과 패턴이 발견되었으면 테스트 데이터 세트를 사용하여 오류율, 품질, 정확성을 테스트합니다. 고객은 모델을 독립적으로 테스트하는 데 사용할 수 있는 별도의 테스트 데이터 세트가 있어야 합니다. 이 테스트 데이터 세트는 사용자에 의해 학습 세트에 지정되거나 학습 시간 중에 자동으로 선택됩니다.

모델의 편향을 방지하기 위해 검증 데이터 세트와 테스트 데이터 세트가 모두 사용됩니다. 검증 단계 중에는 최적의 모델 매개변수가 사용됩니다. 이러한 최적 모델 매개변수를 사용하면 측정항목이 편향될 수 있습니다. 검증 단계 후에 모델 품질을 평가하기 위해 테스트 데이터 세트를 사용하면 모델에 대해 편향되지 않은 평가 품질이 학습 프로세스에 제공됩니다.

데이터 세트 샘플을 수동으로 선택할 때는 동일한 모집단을 나타내는 방식으로 데이터 세트를 구성해야 합니다. 마찬가지로 모두 비슷한 라벨 분포를 갖는 비슷한 이미지가 포함된 데이터 세트 분할을 만들어야 합니다.

수동 및 자동 데이터 세트 분할

학습, 검증, 테스트 분할은 CSV 파일로 데이터 세트를 가져올 때 수동으로 지정할 수 있습니다.

이를 지정하지 않으면 AutoML Vision 객체 감지가 데이터를 무작위로 분할합니다. 분할은 다음과 같은 방식으로 생성됩니다.

  • 이미지 중 80%는 학습에 사용됩니다.
  • 이미지 중 10%는 초매개변수를 미세 조정하고 학습 중지 시점을 결정하는 데 사용됩니다.
  • 이미지 중 10%는 모델을 평가하는 데 사용됩니다. 이러한 이미지는 학습에 사용되지 않습니다.

일반적인 문제

  • 불균형 데이터: 많은 경우에 클래스(라벨)별 샘플 수는 동일하지 않습니다. 사소한 불균형은 일반적으로 문제가 되지 않지만 클래스 간 차이가 크면 문제가 될 수 있습니다. 일부 클래스가 다른 클래스보다 10배를 초과하여 표시되는 등 불균형이 클 경우에는 모델 작성에 문제가 됩니다. 클래스 불균형에 대처하기 위한 방법이 있지만, 이는 이상적인 모델 학습 구성이 아닙니다. 가능하다면 불균형이 큰 데이터로 모델 학습을 수행하지 않아야 합니다.

    일반적으로 가장 흔한 클래스와 가장 흔하지 않은 클래스 사이의 비율을 2:1로 유지하세요.

  • 잘못된 분할: 학습 데이터를 제공하면 AutoML Vision 객체 감지가 이를 학습, 검증, 테스트 데이터 세트로 자동으로 분할할 수 있습니다. 또한 직접 학습 분할 라벨을 할당할 수도 있습니다.

    동일한 데이터를 여러 번 가져오더라도 분할이 항상 동일하다고는 보장할 수 없습니다.

    학습, 검증, 테스트 데이터는 강력한 상관관계를 갖지 않습니다. 예를 들어 동영상에 포함된 이미지들과 같이 많은 이미지가 서로 매우 비슷한 경우가 바로 가장 일반적으로 잘못된 사례입니다. 시스템이 데이터 세트를 무작위로 분할하도록 할 경우에는 학습 및 검증/테스트 데이터에 비슷한 이미지가 포함될 가능성이 매우 큽니다. 그러면 결국 테스트 데이터에 대해 잘못해서 높은 정확도를 얻게 됩니다.

  • 데이터 유출: 데이터 유출은 모델을 편향적으로 만들 수 있는 중요한 문제입니다. 데이터 유출은 알고리즘이 모델 학습 중에 사용하지 않아야 하는 정보를 사용할 수 있는 경우 발생하며, 해당 정보는 향후 예측 수행 시 사용할 수 없게 됩니다. 학습 및 검증 데이터는 물론 테스트 데이터에 대해서도 과도하게 낙관적인 결과로 이어질 수 있습니다. 하지만 이러한 성능은 이후의 확인되지 않은 일부 데이터에 대해 좋은 영향을 주지 못할 수 있습니다. 이러한 문제는 대부분 의도치 않게 발생하며, 데이터를 준비할 때 특별한 주의가 필요합니다.

    유출 예시: 다른 이미지 소스 또는 시야각에 따른 양화 및 음화.