이미지 분류 - Rekognition

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

이미지 분류

이 튜토리얼은 이미지에서 찾은 객체, 장면, 개념을 분류하는 모델의 프로젝트와 데이터 세트를 만드는 방법을 보여줍니다. 모델은 전체 이미지를 분류합니다. 이 튜토리얼을 따르면 예를 들어 거실이나 주방과 같은 가정 위치를 인식하도록 모델을 훈련할 수 있습니다. 이 튜토리얼은 모델을 사용하여 이미지를 분석하는 방법도 보여줍니다.

튜토리얼을 시작하기 전에 Amazon Rekognition Custom Labels의 이해 항목을 읽어 보시면 좋습니다.

이 튜토리얼에서는 로컬 컴퓨터에서 이미지를 업로드하여 훈련 및 테스트 데이터 세트를 만듭니다. 그 후 훈련 및 테스트 데이터 세트의 이미지에 이미지 수준 레이블을 지정합니다.

생성한 모델은 사용자가 훈련 데이터 세트 이미지에 지정한 이미지 수준 레이블 세트에 따라 이미지를 분류합니다. 예를 들어 훈련 데이터 세트의 이미지 수준 레이블 집합이 kitchen, living_room, patio, backyard인 경우 모델은 단일 이미지에서 이러한 모든 이미지 수준 레이블을 찾을 수 있습니다.

참고

이미지에서 객체의 위치를 찾는 등 다양한 목적으로 모델을 만들 수 있습니다. 자세한 내용은 모델 유형 결정 섹션을 참조하세요.

1단계: 이미지 수집

두 세트의 이미지가 필요합니다. 훈련 데이터 세트에 추가할 세트 하나. 그리고 테스트 데이터 세트에 추가할 세트 하나. 이미지는 모델이 분류할 대상, 장면, 개념을 나타내야 합니다. 이미지는 PNG 또는 JPEG 형식이어야 합니다. 자세한 내용은 이미지 준비 단원을 참조하십시오.

훈련 데이터 세트에는 최소 10개, 테스트 데이터 세트에는 10개 이상의 이미지가 있어야 합니다.

아직 이미지가 없는 경우 Rooms 예제 분류 프로젝트의 이미지를 사용하세요. 프로젝트를 생성한 후 훈련 및 테스트 이미지는 다음 Amazon S3 버킷 위치에 있습니다.

  • 훈련 이미지: s3://custom-labels-console-region-numbers/assets/rooms_version number_test_dataset/

  • 테스트 이미지: s3://custom-labels-console-region-numbers/assets/rooms_version number_test_dataset/

regionAmazon Rekognition 사용자 지정 라벨 콘솔을 사용하고 있는 AWS 지역입니다. numbers콘솔이 버킷 이름에 할당하는 값입니다. Version number는 1부터 시작하는 예제 프로젝트의 버전 번호입니다.

다음 절차는 Rooms 프로젝트의 이미지를 컴퓨터의 로컬 폴더에 trainingtest 이름으로 저장합니다.

Rooms 예제 프로젝트 이미지 파일을 다운로드하려면
  1. Rooms 프로젝트를 생성하세요. 자세한 내용은 1단계: 예제 프로젝트 선택 섹션을 참조하세요.

  2. 명령 프롬프트를 열고 다음 명령을 입력하여 훈련 이미지를 다운로드합니다.

    aws s3 cp s3://custom-labels-console-region-numbers/assets/rooms_version number_training_dataset/ training --recursive
  3. 명령 프롬프트에서 다음 명령을 입력하여 테스트 이미지를 다운로드합니다.

    aws s3 cp s3://custom-labels-console-region-numbers/assets/rooms_version number_test_dataset/ test --recursive
  4. 훈련 폴더의 이미지 두 개를 선택한 별도의 폴더로 옮깁니다. 해당 이미지는 훈련시킨 모델을 9단계: 모델을 사용하여 이미지 분석에서 시험하는 데 사용됩니다.

2단계: 분류 결정

모델로 찾고자 하는 분류의 목록을 생성합니다. 예를 들어, 집 안의 방을 인식하도록 모델을 훈련하는 경우 다음 이미지를 living_room으로 분류할 수 있습니다.

벽난로, 푹신한 소파, 안락의자가 있고 야외가 내려다보이는 아늑한 거실.

각 분류는 이미지 수준 레이블에 매핑됩니다. 그 후 훈련 및 테스트 데이터 세트의 이미지에 이미지 수준 레이블을 지정합니다.

Rooms 예제 프로젝트의 이미지를 사용하는 경우 이미지 수준 레이블은 뒷마당, 욕실, 침실, 옷장, 진입로, 평면도, 앞마당, 주방, 거실, 파티오입니다.

3단계: 프로젝트 생성

데이터 세트와 모델을 관리하기 위해 프로젝트를 생성합니다. 각 프로젝트는 집 안의 방 인식과 같은 단일 용도로 사용되어야 합니다.

프로젝트 생성 방법(콘솔)
  1. 아직 하지 않았다면 Amazon Rekognition Custom Labels 콘솔을 설정합니다. 자세한 내용은 Amazon Rekognition Custom Labels 설정 단원을 참조하십시오.

  2. 에 AWS Management Console 로그인하고 에서 Amazon Rekognition 콘솔을 엽니다. https://console.aws.amazon.com/rekognition/

  3. 왼쪽 창에서 사용자 지정 레이블 사용을 선택합니다. Amazon Rekognition Custom Labels 랜딩 페이지가 표시됩니다.

  4. Amazon Rekognition Custom Labels 랜딩 페이지에서 시작하기를 선택합니다.

  5. 왼쪽 탐색 창에서 프로젝트를 선택합니다.

  6. 프로젝트 페이지에서 프로젝트 생성을 선택합니다.

  7. 프로젝트 이름에 프로젝트의 이름을 입력합니다.

  8. 프로젝트를 생성하려면 프로젝트 생성을 선택합니다.

    프로젝트 이름을 입력하고 프로젝트 취소 또는 생성 버튼을 입력할 수 있는 필드가 있는 “My-Project”라는 새 프로젝트를 생성할 수 있는 UI 양식

4단계: 훈련 및 테스트 데이터 세트 생성

이 단계에서는 로컬 컴퓨터에서 이미지를 업로드하여 훈련 및 테스트 데이터 세트를 만듭니다. 한 번에 최대 30개의 이미지를 업로드할 수 있습니다. 업로드할 이미지가 많은 경우 Amazon S3 버킷에서 이미지를 가져와서 데이터 세트를 생성하는 것을 고려해 보세요. 자세한 내용은 Amazon S3 버킷에서 이미지 가져오기 섹션을 참조하세요.

데이터 세트에 관한 자세한 내용은 데이터 세트 관리 항목을 참조하세요.

로컬 컴퓨터의 이미지를 사용하여 데이터 세트를 만들려면(콘솔)
  1. 프로젝트 세부 정보 페이지에서 데이터 세트 생성을 선택합니다.

    학습 모델 워크플로의 데이터세트 생성 단계: 학습 모델에 이미지와 라벨을 업로드할 수 있는 데이터셋 버튼을 생성합니다.
  2. 시작 구성 항목에서 훈련 데이터 세트와 테스트 데이터 세트로 시작을 선택합니다.

  3. 훈련 데이터 세트 세부 정보 항목에서 컴퓨터에서 이미지 업로드를 선택합니다.

  4. 테스트 데이터 세트 세부 정보 항목에서 컴퓨터에서 이미지 업로드를 선택합니다.

  5. 데이터 세트 생성을 선택합니다.

    학습 및 테스트 데이터세트를 생성하기 위한 사용자 인터페이스. 데이터세트를 생성하고 하단의 취소 버튼을 누릅니다.
  6. 각 데이터 세트에 대한 훈련 탭과 테스트 탭이 있는 데이터 세트 페이지가 나타납니다.

  7. 데이터 세트 페이지에서 훈련 탭을 선택합니다.

  8. 작업을 선택한 다음 훈련 데이터 세트에 이미지 추가를 선택합니다.

    Actions 메뉴 아래의 훈련 및 테스트 데이터세트에 이미지를 추가하는 옵션을 보여주는 데이터세트 뷰입니다.
  9. 훈련 데이터 세트에 이미지 추가 대화 상자에서 파일 선택을 선택합니다.

    데이터세트 학습용 이미지 파일을 업로드하는 버튼입니다.
  10. 데이터 세트에 업로드하려는 이미지를 선택합니다. 한 번에 최대 30개의 이미지를 업로드할 수 있습니다.

  11. 이미지 업로드를 선택합니다. Amazon Rekognition Custom Labels가 이미지를 데이터 세트에 추가하는 데 몇 초 정도 걸릴 수 있습니다.

    학습 데이터세트에 업로드할 수 있는 11개의 이미지 썸네일이 표시된 그리드입니다.
  12. 훈련 데이터 세트에 추가할 이미지가 더 있으면 9~12단계를 반복합니다.

  13. 테스트 탭을 선택합니다.

  14. 8~12단계를 반복하여 테스트 데이터 세트에 이미지를 추가합니다. 8단계에서는 작업을 선택한 다음 테스트 데이터 세트에 이미지 추가를 선택합니다.

5단계: 프로젝트에 레이블 추가

이 단계에서는 2단계: 분류 결정 단계에서 식별한 각 분류에 대해 레이블을 프로젝트에 추가합니다.

새 레이블을 추가하려면(콘솔)
  1. 데이터 세트 갤러리 페이지에서 레이블 지정 시작을 선택하여 레이블 지정 모드로 전환합니다.

    이미지에 레이블을 지정하는 단계 (검토, 레이블 추가, 경계 상자로 개체 위치에 레이블 지정, 모델 학습) 를 보여 주는 데이터세트 갤러리 인터페이스입니다. 라벨링 시작 버튼이 강조 표시되어 있습니다.
  2. 데이터 세트 갤러리의 레이블 항목에서 레이블 편집을 선택하여 레이블 관리 대화 상자를 엽니다.

  3. 편집 상자에 새 레이블 이름을 입력합니다.

  4. 레이블 추가를 선택합니다.

  5. 필요한 레이블을 모두 만들 때까지 3단계와 4단계를 반복합니다.

  6. 저장을 선택하여 추가한 레이블을 저장합니다.

6단계: 훈련 및 테스트 데이터 세트에 이미지 수준 레이블 지정

이 단계에서는 훈련 및 테스트 데이터 세트의 각 이미지에 하나의 이미지 수준을 지정합니다. 이미지 수준 레이블은 각 이미지가 나타내는 분류입니다.

이미지에 이미지 수준 레이블을 지정하려면(콘솔)
  1. 데이터 세트 페이지에서 훈련 탭을 선택합니다.

  2. 레이블 지정 시작을 선택하여 레이블 지정 모드로 전환합니다.

  3. 레이블을 추가할 이미지를 하나 이상 선택합니다. 한 번에 하나의 페이지에 있는 이미지만 선택할 수 있습니다. 한 페이지에서 연속된 이미지 범위를 선택하려면:

    1. 첫 번째 이미지를 선택합니다.

    2. Shift 키를 길게 누릅니다.

    3. 두 번째 이미지를 선택합니다. 첫 번째 이미지와 두 번째 이미지 사이의 이미지도 선택됩니다.

    4. Shift 키를 놓습니다.

  4. 이미지 수준 레이블 지정을 선택합니다.

    “이미지 레벨 라벨 지정” 버튼이 있는 주거용 뒷마당의 이미지 3개를 보여주는 인터페이스.
  5. 선택한 이미지에 이미지 수준 레이블 지정 대화 상자에서 이미지에 지정하려는 레이블을 선택합니다.

  6. 지정을 선택하여 이미지에 레이블을 지정합니다.

    지정 버튼을 사용하여 선택한 이미지에 이미지 레벨 레이블 “뒷마당”을 할당하는 방법을 보여주는 대화 상자입니다.
  7. 모든 이미지에 필요한 레이블이 주석으로 달릴 때까지 레이블 지정을 반복합니다.

  8. 테스트 탭을 선택합니다.

  9. 단계를 반복하여 테스트 데이터 세트 이미지에 이미지 수준 레이블을 지정합니다.

7단계: 모델 훈련

다음 단계를 사용하여 모델을 훈련하세요. 자세한 내용은 Amazon Rekognition Custom Labels 모델 훈련 섹션을 참조하세요.

모델을 훈련하려면(콘솔)
  1. 데이터 세트 페이지에서 모델 훈련을 선택합니다.

    현재 프로젝트의 데이터세트에서 머신 러닝 모델을 학습시키기 위한 모델 학습 버튼.
  2. 모델 훈련 페이지에서 모델 훈련을 선택합니다. 프로젝트의 Amazon 리소스 이름 (ARN) 은 프로젝트 선택 편집 상자에 있습니다.

    프로젝트 ARN 입력 필드, 빈 태그 섹션, Train Model 버튼이 표시된 학습 모델 구성 페이지
  3. 모델을 훈련하고 싶으신가요? 대화 상자에서 모델 훈련을 선택합니다.

    “모델을 학습시키시겠습니까?” 라는 대화 상자 취소 및 모델 학습 버튼 포함.
  4. 프로젝트 페이지의 모델 항목에서 훈련이 진행 중임을 확인할 수 있습니다. 모델 버전의 Model Status 열을 보면 현재 상태를 확인할 수 있습니다. 모델 훈련은 완료하는 데 다소 시간이 걸립니다.

    모델 상태가 TRAINING PROGRESS '_IN_'으로 표시되어 모델이 현재 학습 중임을 나타냅니다.
  5. 훈련이 완료되면 모델 이름을 선택합니다. 모델 상태가 _이면 훈련이 종료됩니다TRAINING. COMPLETED

    Rooms 19 모델 정보는 모델이 COMPLETED 준비되었음을 나타내는 상태 TRAINING _를 보여줍니다.
  6. 평가 버튼을 선택하면 평가 결과를 볼 수 있습니다. 모델 평가에 대한 자세한 내용은 훈련된 Amazon Rekognition Custom Labels 모델 개선 항목을 참조하세요.

  7. 개별 테스트 이미지의 결과를 보려면 테스트 결과 보기를 선택합니다. 자세한 내용은 모델 평가를 위한 지표 단원을 참조하십시오.

    라벨별 성능 메트릭과 함께 10개 이미지 레이블에 대한 F1 점수, 평균 정밀도, 전체 재현율을 보여주는 모델 평가 결과.
  8. 테스트 결과를 확인한 후 모델 이름을 선택하여 모델 페이지로 돌아가세요.

    뒤뜰과 앞마당 이미지 데이터세트에 대한 학습된 모델의 테스트 결과를 예측 레이블 및 신뢰도 점수와 함께 보여주는 인터페이스입니다.

8단계: 모델 시작

이 단계에서는 모델을 시작합니다. 모델이 시작되면 모델을 사용하여 이미지를 분석할 수 있습니다.

모델을 실행하는 시간만큼 요금이 부과됩니다. 이미지를 분석할 필요가 없는 경우 모델을 중지하세요. 나중에 모델을 다시 시작할 수 있습니다. 자세한 내용은 훈련된 Amazon Rekognition Custom Labels 모델 실행 섹션을 참조하세요.

모델을 시작하려면
  1. 모델 페이지에서 모델 사용 탭을 선택합니다.

  2. 모델 시작 또는 중지 항목에서 다음을 수행하세요.

    1. 시작을 선택합니다.

      모델 시작 버튼과 사용자 지정 라벨을 감지하기 위한 기계 학습 모델을 시작하거나 중지할 수 있는 옵션을 보여주는 사용자 인터페이스. 처리량을 높이려면 추론 단위 수를 선택하세요.
    2. 모델 시작 대화 상자에서 시작을 선택합니다.

      시작 버튼을 사용하여 모델 대화 상자를 시작합니다.
  3. 모델이 실행될 때까지 기다리세요. 모델 시작 또는 중지 항목의 상태가 실행 중이면 모델이 실행되고 있다는 뜻입니다.

    모델이 현재 실행 중임을 나타내는 녹색 원이 있는 실행 상태 표시기와 모델을 중지하거나 추론 단위 수를 변경하는 옵션.

9단계: 모델을 사용하여 이미지 분석

를 호출하여 이미지를 분석합니다. DetectCustomLabelsAPI 이 단계에서는 detect-custom-labels AWS Command Line Interface (AWS CLI) 명령을 사용하여 예제 이미지를 분석합니다. Amazon Rekognition 사용자 지정 라벨 콘솔에서 AWS CLI 명령을 받을 수 있습니다. 콘솔은 모델을 사용하도록 AWS CLI 명령을 구성합니다. 사용자는 Amazon S3 버킷에 저장된 이미지만 제공하면 됩니다.

참고

콘솔은 Python 예제 코드도 제공합니다.

detect-custom-labels의 출력에는 이미지에서 찾은 레이블 목록, 경계 상자(모델이 객체 위치를 찾는 경우), 예측 정확도에 대한 모델의 신뢰도가 포함됩니다.

자세한 내용은 훈련된 모델을 사용한 이미지 분석 섹션을 참조하세요.

이미지를 분석하려면(콘솔)
  1. 아직 설정하지 않았다면 설정하세요. AWS CLI지침은 4단계: 및 SDK 설정 AWS CLIAWS 단원을 참조하십시오.

  2. 모델 사용 탭을 선택한 다음 API코드를 선택합니다.

    Amazon 리소스 이름 (ARN) 및 모델 사용 API 코드를 표시하는 옵션이 포함된 모델 세부 정보를 보여주는 인터페이스입니다.
  3. AWSCLI명령을 선택합니다.

  4. 이미지 분석 섹션에서 호출하는 AWS CLI 명령을 detect-custom-labels 복사합니다.

    AWSCLI사용자 지정 모델로 이미지를 분석하여 대체할 프로젝트 ARN 및 버킷 이름 자리 표시자를 표시하는 명령입니다.
  5. Amazon S3 버킷에 이미지를 업로드합니다. 이에 관한 지침은 Amazon Simple Storage Service 사용 설명서에서 Amazon S3에 객체 업로드를 참조하세요. Rooms 프로젝트의 이미지를 사용하는 경우 1단계: 이미지 수집에서 별도의 폴더로 옮긴 이미지 중 하나를 사용하세요.

  6. 명령 프롬프트에 이전 단계에서 복사한 AWS CLI 명령을 입력합니다. 다음 예제와 같아야 합니다.

    의 값은 모델의 Amazon 리소스 이름 (ARN) --project-version-arn 이어야 합니다. --region의 값은 모델을 생성한 AWS 리전이어야 합니다.

    MY_BUCKETPATH_TO_MY_IMAGE를 이전 단계에서 사용한 Amazon S3 버킷과 이미지로 변경합니다.

    custom-labels-access프로필을 사용하여 자격 증명을 가져오려면 --profile custom-labels-access 파라미터를 추가하십시오.

    aws rekognition detect-custom-labels \ --project-version-arn "model_arn" \ --image '{"S3Object": {"Bucket": "MY_BUCKET","Name": "PATH_TO_MY_IMAGE"}}' \ --region us-east-1 \ --profile custom-labels-access

    AWS CLI 명령의 JSON 출력은 다음과 비슷해야 합니다. Name모델이 찾은 이미지 수준 레이블의 이름입니다. Confidence(0-100) 은 예측 정확도에 대한 모델의 신뢰도입니다.

    { "CustomLabels": [ { "Name": "living_space", "Confidence": 83.41299819946289 } ] }
  7. 모델을 계속 사용하여 다른 이미지를 분석하세요. 더 이상 사용하지 않을 경우 모델을 중지하세요.

10단계: 모델 중지

이 단계에서는 모델 실행을 중단합니다. 모델을 실행하는 시간만큼 요금이 부과됩니다. 모델 사용을 마쳤다면 사용을 중지해야 합니다.

모델을 중지하려면
  1. 모델 시작 또는 중지 항목에서 중지를 선택합니다.

    중지 버튼을 누르면 현재 실행 중인 모델이 중지되고 추론 단위가 비활성화됩니다.
  2. 모델 중지 대화 상자에서 중지를 입력하여 모델 중지를 확인합니다.

    “중지”를 입력한 입력 필드 및 모델 중지를 확인하는 중지 버튼
  3. 중지를 선택하여 모델을 중지합니다. 모델 시작 또는 중지 항목의 상태가 중지됨이면 모델이 중지된 것입니다.

    모델이 실행 중이 아니므로 시작 버튼 또는 코드 예제를 사용하여 시작해야 한다는 설명이 포함된 중지된 상태 표시기