학습 데이터 CSV 형식 지정

대표성이 충분한 학습 데이터를 준비하고 해당 이미지를 Google Cloud Storage에 업로드했으면 이미지를 데이터 세트로 가져오기 위한 경계 상자와 라벨이 있는 CSV 파일을 만들 준비가 된 것입니다.

이 페이지에서는 CSV 파일의 형식을 지정하는 방법에 대해 설명합니다.

CSV 형식 지정 가이드라인

importData 메서드를 사용하려면 CSV 파일 그리고 이 파일이 가리키는 이미지가 모두 Google Cloud Storage 버킷 안에 있어야 합니다.

또한 CSV 파일이 다음 요구사항도 충족해야 합니다.

  • 파일은 어떠한 파일 이름이라도 가능하지만 이미지 파일과 동일한 버킷에 있어야 합니다.
  • UTF-8로 인코딩되어야 합니다.
  • .csv 확장자로 끝나야 합니다.
  • 업로드하는 세트의 경계 상자마다 또는 경계 상자가 없는 이미지마다(아래의 행 4처럼) 행이 하나씩 있어야 합니다.
  • 한 줄에 한 이미지를 포함해야 합니다. 경계 상자가 여러 개 있는 이미지는 경계 상자 수만큼 많은 행에서 반복됩니다.

    예를 들어 행 1과 행 2는 2개의 주석(car,0.1,0.1,,,0.3,0.3,,bike,.7,.6,,,.8,.9,,)이 있는 동일한 이미지를 참조합니다. 행 3은 1개의 주석(car,0.1,0.1,0.2,0.1,0.2,0.3,0.1,0.3)만 있는 이미지를 참조합니다. 행 4는 주석이 없는 이미지를 참조합니다.

네 개의 샘플 행:

 TRAIN,gs://folder/image1.png,car,0.1,0.1,,,0.3,0.3,,
 TRAIN,gs://folder/image1.png,bike,.7,.6,,,.8,.9,,
 UNASSIGNED,gs://folder/im2.png,car,0.1,0.1,0.2,0.1,0.2,0.3,0.1,0.3
 TEST,gs://folder/im3.png,,,,,,,,,

각 행에는 다음과 같은 열이 있습니다.

  1. 행에 지정된 콘텐츠의 집합. 이 필드는 필수 항목이며 다음 값 중 하나입니다.

    • TRAIN - 이미지를 사용하여 모델을 학습시킵니다. 여기에 있는 이미지들을 사용하여 모델을 빌드하기 때문에 이 집합이 가장 커야 합니다.
    • VALIDATION - 이미지를 사용하여 모델이 학습 중에 반환하는 결과('dev' 데이터 세트라고도 함)를 검증합니다. 이 이미지는 AutoML Vision 객체 감지에서 모델 학습 프로세스의 중지 시점을 결정할 때 사용됩니다.
    • TEST - 이미지를 사용하여 모델이 학습된 후 모델의 결과('holdout' 데이터라고도 함)를 수량화합니다. 이 이미지는 앞서 언급한 두 집합을 사용하여 모델을 만든 후에 평가용으로 사용됩니다.
    • UNASSIGNED - 이 이미지는 AutoML Vision 객체 감지에 의해 위의 세 가지 집합 중 하나에 할당됩니다. 이미지를 배치할 때 선호하는 특정 집합이 없을 경우 이 집합 태그를 사용하세요.
  2. 주석을 추가할 콘텐츠입니다. 이 필드에는 이미지의 Google Cloud Storage URI가 포함됩니다. Google Cloud Storage URI는 대소문자를 구분합니다.

  3. 객체가 분류되는 방법을 식별하는 라벨. 라벨은 문자로 시작해야 하며 문자, 숫자, 밑줄만 포함할 수 있습니다. AutoML Vision 객체 감지에서는 공백이 있는 라벨을 사용할 수도 있습니다.

    학습 이미지를 가져온 후에 UI에서 수동으로 라벨을 지정하거나, Google의 수동 라벨링 서비스를 사용하여 학습 이미지에 라벨을 지정할 수도 있습니다.

  4. 이미지의 객체에 대한 경계 상자. 객체의 경계 상자는 두 가지 방식으로 지정될 수 있습니다.

    • 직사각형의 대각선 반대 점일 경우 꼭짓점 2개만(x,y 좌표 조합으로 구성)(x_relative_min, y_relative_min,,,x_relative_max,y_relative_max,,)
    • 또는 꼭짓점 4개 모두(x_relative_min,y_relative_min,x_relative_max,y_relative_min,x_relative_max,y_relative_max,x_relative_min,y_relative_max)

    vertex는 x, y 좌표 값으로 지정됩니다. 이러한 좌표는 0~1 범위의 실수이며, 0은 x 또는 y의 최솟값을 나타내고, 1은 x 또는 y의 최댓값을 나타냅니다.

    예를 들어 (0,0)은 왼쪽 상단 모서리를 나타내며, (1,1)은 오른쪽 하단 모서리를 나타냅니다. 전체 이미지의 경계 상자는 (0,0,,,1,1,,) 또는 (0,0,1,0,1,1,0,1)로 표현됩니다.

    AutoML Vision API는 특정한 꼭짓점 정렬을 요구하지 않습니다. 또한 4개의 지정된 꼭짓점이 이미지 모서리와 평행을 이루는 직사각형을 형성하지 않을 경우 AutoML Vision API는 이러한 직사각형을 형성하는 꼭짓점을 지정합니다.

예를 들면 다음과 같습니다.

  • 집합에 할당되지 않음: UNASSIGNED,gs://my-storage-bucket/img/salad_089.jpg,Baked goods,0.56,0.25,,,0.97,0.50,,
  • 집합에 할당됨: TRAIN,gs://my-storage-bucket/img/salad_089.jpg,Baked goods,0.56,0.25,,,0.97,0.50,,

    API는 두 점이 정확히 직사각형 대각선 꼭짓점(왼쪽 상단 꼭짓점, 오른쪽 하단 꼭짓점)이라고 가정하기 때문에 위 행은 다음 형식을 사용합니다.

    set,path,label,x_min,y_min,,,x_max,y_max,,

    다음 형식도 동일한 정보를 전달하기 때문에 유효합니다.

    set,path,label,x_min,y_min,x_max,y_min,x_max,y_max,x_min,y_max

    이것은 4개의 꼭짓점을 모두 표시함으로써 위에 나온 '집합에 할당됨' 행을 표현할 수도 있음을 의미합니다.

    TRAIN,gs://my-storage-bucket/img/salad_089.jpg,Baked goods,0.56,0.25,0.97,0.25,0.97,0.50,0.56,0.50

이미지 좌표 옵션

내용을 Google Cloud Storage 버킷에 CSV 파일로 저장합니다.

일반적인 CSV 관련 오류

  • 라벨에 유니코드 문자 사용. 예를 들어 일본어 문자는 지원되지 않습니다.
  • 라벨에 영숫자가 아닌 문자 사용
  • 빈 줄
  • Cloud Storage 이미지 경로의 대소문자 오류
  • 이미지 파일에 대한 액세스 제어 구성 오류. API를 사용 설정할 때 만들어진 AutoML 서비스 계정에 읽기 이상의 액세스 권한이 있어야 합니다.
  • 이미지가 아닌 파일 참조(PDF, PSD 파일 등). 마찬가지로, 이미지 파일(JPEG, PNG, GIF, BMP, ICO)이 아니지만 이미지 파일처럼 확장자를 붙인 파일도 오류의 원인이 됩니다.
  • CSV 형식이 아닌 파일