학습 데이터 준비

이 페이지에서는 AutoML Video Object Tracking 모델 학습을 위한 데이터 준비 방법을 설명합니다.

동영상 준비

이 페이지에서는 AutoML Video Intelligence Object Tracking이 동영상 주석 모델을 만들 수 있도록 학습 및 테스트 데이터를 준비하는 방법을 설명합니다.

  • AutoML Video Intelligence Object Tracking은 모델을 학습 시키거나 예측을 요청하기 위해 다음 동영상 형식을 지원합니다.

    • .MOV
    • .MPEG4
    • .MP4
    • .AVI
  • 학습 동영상의 최대 파일 크기는 50GB이며 최대 3시간입니다. 컨테이너에 잘못된 또는 비어 있는 시차가 포함된 개별 동영상 파일은 지원되지 않습니다.

  • 학습 데이터는 예측을 수행할 데이터와 최대한 유사해야 합니다. 예를 들어 사용 사례에 보안 카메라 영상처럼 흐릿한 저해상도 동영상이 포함된다면 학습 데이터도 흐릿한 저해상도 동영상으로 구성해야 합니다. 또한 일반적으로 다양한 각도, 해상도, 배경으로 촬영한 학습 동영상을 제공하는 것이 좋습니다.

  • 인간이 지정할 수 없는 라벨은 AutoML Video Object Tracking 모델도 일반적으로 예측할 수 없습니다. 예를 들어 동영상을 1~2초 보고 라벨을 지정하도록 사람을 학습시킬 수 없다면 이 모델도 그렇게 하도록 학습시킬 수 없습니다.

  • 최소 경계 상자 크기는 10x10픽셀입니다.

  • 동영상 프레임 해상도가 1024x1024 픽셀보다 훨씬 큰 경우 AutoML Video Object Tracking에서 사용하는 프레임 정규화 과정 중에 일부 이미지 품질이 손실될 수 있습니다.

  • 가장 흔한 라벨의 이미지가 가장 흔하지 않은 라벨의 프레임보다 최대 100배 많을 때 모델의 성능이 가장 좋습니다. 데이터 세트에서 빈도가 극히 낮은 라벨은 삭제하는 것이 좋습니다.

  • 각 고유 라벨은 3개 이상의 개별 동영상 프레임에 있어야 합니다. 또한 각 라벨에는 최소 10개의 주석이 있어야 합니다.

  • 각 데이터 세트에서 라벨이 지정된 동영상 프레임의 최대 수는 현재 150,000개로 제한되어 있습니다.

  • 각 데이터 세트에서 주석이 추가된 경계 상자의 최대 합계는 현재 1,000,000개로 제한되어 있습니다.

  • 각 데이터 세트에서 최대 고유 라벨 수는 현재 1,000개로 제한되어 있습니다.

  • 학습 데이터에는 1개 이상의 라벨이 있어야 합니다.

  • 라벨당 학습 동영상 프레임을 최소 100개 이상 제공해야 하며 각 프레임에서 관심 있는 모든 객체에 라벨이 지정됩니다. 객체가 표시되는 모든 프레임에 라벨을 지정할 필요는 없지만 라벨이 지정된 프레임이 많으면 모델이 향상됩니다. 서로 다른 크기, 각도, 배경, 조명 상태 등을 처리할 수 있도록 서로 인접하지 않은 프레임을 선택하는 것이 좋습니다.

학습, 검증, 테스트 데이터 세트

모델 학습 시 데이터 세트의 데이터는 학습 데이터 세트, 검증 데이터 세트(선택 사항), 테스트 데이터 세트라는 3가지 데이터 세트로 나눠집니다.

  • 학습 데이터 세트는 모델을 빌드하는 데 사용됩니다. 학습 데이터에서 패턴을 검색하는 동안 여러 알고리즘과 매개변수가 시도됩니다.
  • 패턴이 발견되면 검증 데이터 세트를 사용하여 알고리즘과 패턴을 테스트합니다. 학습 단계에서 발견된 것 중에서 성능이 가장 우수한 알고리즘과 패턴이 선택됩니다.
  • 성능이 가장 우수한 알고리즘과 패턴이 발견되었으면 테스트 데이터 세트를 사용하여 오류율, 품질, 정확성을 테스트합니다.

모델의 편향을 방지하기 위해 검증 데이터 세트와 테스트 데이터 세트가 모두 사용됩니다. 검증 단계에서는 최적 모델 매개변수가 사용되므로 측정항목이 편향될 수 있습니다. 검증 단계 후에 테스트 데이터 세트를 사용하여 모델의 품질을 평가하면 모델의 품질이 편향 없이 평가됩니다.

학습 데이터 세트와 테스트 데이터 세트를 확인하려면 CSV 파일을 사용하세요.

동영상 URI 및 라벨을 사용하여 CSV 파일 만들기

파일이 Cloud Storage에 업로드된 후에는 모든 학습 데이터와 해당 데이터의 카테고리 라벨을 나열하는 CSV 파일을 만들 수 있습니다. CSV 파일은 모든 파일 이름을 가질 수 있으며 UTF-8로 인코딩되어야 하며 .csv 확장 프로그램으로 끝나야 합니다.

모델을 학습시키고 확인하는 데 사용할 수 있는 세 가지 파일이 있습니다.

파일 설명
모델 학습 파일 목록

학습 및 테스트 CSV 파일의 경로를 포함합니다.

이 파일은 학습 및 테스트 데이터를 설명하는 별도의 CSV 파일 위치를 식별하는 데 사용됩니다.

다음은 파일 목록 CSV 파일의 내용을 보여주는 몇 가지 예시입니다.

예 1:


TRAIN,gs://automl-video-demo-data/traffic_videos/traffic_videos_train.csv
TEST,gs://automl-video-demo-data/traffic_videos/traffic_videos_test.csv

예 2:


UNASSIGNED,gs://automl-video-demo-data/traffic_videos/traffic_videos_labels.csv
학습 데이터

모델을 학습시키는 데 사용됩니다. 동영상 파일의 URI, 객체 카테고리를 식별하는 라벨, 동영상의 동영상 프레임에서 객체 인스턴스를 식별하는 인스턴스 ID(선택사항), 라벨이 지정된 동영상 프레임의 시차, 객체 경계 상자 좌표를 포함합니다.

학습 데이터 CSV 파일을 지정하는 경우 테스트 또는 할당되지 않은 데이터 CSV 파일도 지정해야 합니다.

테스트 데이터

학습 단계에서 모델을 테스트하는 데 사용됩니다. 학습 데이터와 동일한 필드가 포함됩니다.

테스트 데이터 CSV 파일을 지정하는 경우 학습 또는 할당되지 않은 데이터 CSV 파일도 지정해야 합니다.

할당되지 않은 데이터

모델 학습 및 테스트 모두에 사용됩니다. 학습 데이터와 동일한 필드가 포함됩니다. 할당되지 않은 파일의 행은 자동으로 학습 및 테스트 데이터로 나뉩니다. 80%는 학습 데이터, 20%는 테스트 데이터로 주로 분류됩니다.

학습 및 테스트 데이터 CSV 파일 없이 할당되지 않은 데이터 CSV 파일만 지정할 수 있습니다. 할당되지 않은 데이터 CSV 파일 없이 학습 및 테스트 데이터 CSV 파일만 지정할 수도 있습니다.

학습, 테스트 파일과 할당되지 않은 파일에는 업로드할 세트의 객체 경계 상자 한 개당 행이 한 개씩 포함되어야 하며, 각 행에는 다음과 같은 열이 있습니다.

  1. 분류하거나 주석을 달아야 할 내용. 이 필드에는 동영상의 Cloud Storage URI가 포함됩니다. Cloud Storage URI는 대소문자를 구분합니다.

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

  3. 동영상의 동영상 프레임에서 객체 인스턴스를 식별하는 인스턴스 ID(선택사항) 인스턴스 ID는 정수입니다. 이 항목이 제공되면 AutoML Video 객체 추적에서 객체 추적 미세 조정, 학습, 평가에 ID를 사용합니다. 상이한 동영상 프레임에 존재하는 동일한 객체 인스턴스의 경계 상자에는 동일한 인스턴스 ID가 라벨로 지정됩니다. 인스턴스 ID는 각 동영상에서는 고유하지만 데이터 세트에서는 고유하지 않습니다. 예를 들어, 두 동영상의 두 객체가 동일한 인스턴스 ID를 갖고 있다고 해서 동일한 객체 인스턴스는 아닙니다.

  4. 동영상 시작 부분에서 재생 시간 오프셋을 나타내는 동영상 프레임의 시차. 시차는 실수이며 단위는 초입니다.

  5. 동영상 프레임의 객체에 대한 경계 상자. 객체의 경계 상자는 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 Video Object Tracking API는 특정한 꼭짓점 정렬을 요구하지 않습니다. 또한 4개의 지정된 꼭짓점이 이미지 모서리와 평행을 이루는 직사각형을 형성하지 않을 경우 AutoML Video Object Tracking API는 이러한 직사각형을 형성하는 꼭짓점을 지정합니다.

CSV 데이터 세트 파일 예시

다음 행은 데이터 세트에서 데이터를 지정하는 방법을 보여줍니다. 이 예시에서는 Cloud Storage의 동영상 경로, 객체의 라벨, 추적을 시작할 시차, 두 개의 대각선 꼭짓점이 포함됩니다.

video_uri,label,instance_id,time_offset,x_relative_min,y_relative_min,
x_relative_max,y_relative_min,x_relative_max,y_relative_max,x_relative_min,y_relative_max
gs://folder/video1.avi,car,,12.90,0.8,0.2,,,0.9,0.3,,
gs://folder/video1.avi,bike,,12.50,0.45,0.45,,,0.55,0.55,,

첫 번째 행에서

  • VIDEO_URIgs://folder/video1.avi입니다.
  • LABELcar입니다.
  • INSTANCE_ID는 지정되지 않았습니다.
  • TIME_OFFSET12.90입니다.
  • X_RELATIVE_MIN,Y_RELATIVE_MIN0.8,0.2입니다.
  • X_RELATIVE_MAX,Y_RELATIVE_MIN은 지정되지 않습니다.
  • X_RELATIVE_MAX,Y_RELATIVE_MAX0.9,0.3입니다.
  • X_RELATIVE_MIN,Y_RELATIVE_MAX는 지정되지 않았습니다.

앞에서 설명한 것처럼 다음 예시와 같이 4개의 꼭짓점을 모두 제공하여 경계 상자를 지정할 수도 있습니다.

gs://folder/video1.avi,car,,12.10,0.8,0.8,0.9,0.8,0.9,0.9,0.8,0.9
gs://folder/video1.avi,car,,12.90,0.4,0.8,0.5,0.8,0.5,0.9,0.4,0.9
gs://folder/video1.avi,car,,12.10,0.4,0.2,0.5,0.2,0.5,0.3,0.4,0.3

학습된 모델의 결과를 확인하기 위해 유효성 검사 데이터를 지정할 필요는 없습니다. AutoML Video Object Tracking은 학습용으로 식별된 행을 학습 데이터와 검증 데이터로 자동으로 나눕니다. 여기서 80%는 학습, 20%는 검증에 사용됩니다.

CSV 데이터 세트 문제 해결

CSV 파일을 사용하여 데이터 세트를 지정하는 데 문제가 있는 경우 CSV 파일에서 다음과 같은 일반적인 오류 목록을 확인하세요.

  • 라벨에 유니코드 문자 사용. 예를 들어 일본어 문자는 지원되지 않습니다.
  • 라벨에 공백 및 영숫자가 아닌 문자 사용
  • 빈 줄
  • 빈 열(줄에 쉼표가 연속으로 2개 나오는 경우)
  • Cloud Storage 동영상 경로의 대소문자 오류
  • 동영상 파일에 대한 액세스 제어 구성 오류. 서비스 계정에 읽기 이상의 액세스 권한이 있거나 파일이 공개 읽기가 가능한 상태여야 합니다.
  • 동영상이 아닌 파일(예: PDF 또는 PSD 파일)에 대한 참조. 마찬가지로 동영상 파일이 아니지만 동영상 파일처럼 확장자를 붙인 파일도 오류의 원인이 됩니다.
  • 동영상의 URI가 현재 프로젝트와 다른 버킷을 가리킵니다. 프로젝트 버킷에 있는 동영상만 액세스할 수 있습니다.
  • CSV 형식이 아닌 파일