사용자 지정 이미지 분석 모델 만들기(미리 보기)

이미지 분석 4.0을 사용하면 사용자 고유의 학습 이미지를 사용하여 사용자 지정 모델을 학습시킬 수 있습니다. 이미지에 수동으로 레이블을 지정하여 이미지에 사용자 지정 태그를 적용하도록 모델을 학습하거나(이미지 분류) 사용자 지정 개체(개체 검색)를 검색할 수 있습니다. 이미지 분석 4.0 모델은 적은 학습 데이터로 정확한 모델을 얻을 수 있도록 몇 가지 학습에서 특히 효과적입니다.

이 가이드에서는 사용자 지정 이미지 분류 모델을 만들고 학습하는 방법을 보여줍니다. 이미지 분류 모델 학습과 개체 탐지 모델 학습 사이에는 몇 가지 차이점이 있습니다.

필수 조건

  • Azure 구독 - 체험 구독 만들기
  • Azure 구독이 있으면 Azure portal에서 Vision 리소스를 생성하여 키와 엔드포인트를 가져옵니다. Vision Studio를 사용하여 이 가이드를 따르는 경우 미국 동부 지역에 리소스를 만들어야 합니다. 배포 후 리소스로 이동을 선택합니다. 나중에 사용할 수 있도록 키와 엔드포인트를 임시 위치에 복사합니다.
  • Azure Storage 리소스 - 리소스 만들기
  • 분류 모델을 학습하는 데 사용할 이미지 집합입니다. 샘플 이미지 세트는 GitHub에서 사용할 수 있습니다. 아니면 자체 이미지를 사용할 수 있습니다. 클래스당 약 3~5개 이미지만 필요합니다.

참고 항목

대기 시간이 길 수 있으므로 비즈니스에 중요한 환경에는 사용자 지정 모델을 사용하지 않는 것이 좋습니다. 고객이 Vision Studio에서 사용자 지정 모델을 학습할 때 해당 사용자 지정 모델은 학습을 받은 Vision 리소스에 속하며 고객은 이미지 분석 API를 사용하여 해당 모델을 호출할 수 있습니다. 이러한 호출을 수행하면 사용자 지정 모델이 메모리에 로드되고 예측 인프라가 초기화됩니다. 이런 일이 발생하는 동안 고객은 예측 결과를 받는 데 예상보다 긴 대기 시간을 경험할 수 있습니다.

새 사용자 지정 모델 만들기

먼저 Vision Studio로 이동하여 이미지 분석 탭을 선택하세요. 그런 다음 모델 사용자 지정 타일을 선택합니다.

모델 사용자 지정 타일의 스크린샷.

그런 다음, Azure 계정으로 로그인하고 Vision 리소스를 선택합니다. 없는 경우 이 화면에서 만들 수 있습니다.

Important

Vision Studio에서 사용자 지정 모델을 학습시키려면 액세스에 대한 Azure 구독을 승인해야 합니다. 이 양식을 사용하여 액세스를 요청하세요.

리소스 선택 화면의 스크린샷.

학습 이미지 준비

학습 이미지를 Azure Blob 스토리지 컨테이너에 업로드해야 합니다. Azure Portal에서 스토리지 리소스로 이동하여 Storage 브라우저 탭으로 이동합니다. 여기서 Blob 컨테이너를 만들고 이미지를 업로드할 수 있습니다. 컨테이너의 루트에 모두 배치합니다.

데이터 세트 추가

사용자 지정 모델을 학습하려면 이미지 및 해당 레이블 정보를 학습 데이터로 제공하는 데이터 세트와 연결해야 합니다. Vision Studio에서 데이터 세트 탭을 선택하여 데이터 세트를 봅니다.

새 데이터 세트를 만들려면 새 데이터 세트 추가를 선택합니다. 팝업 창에서 이름을 입력하고 사용 사례에 대한 데이터 세트 형식을 선택합니다. 이미지 분류 모델은 전체 이미지에 콘텐츠 레이블을 적용하고 개체 검색 모델은 이미지의 특정 위치에 개체 레이블을 적용합니다. 제품 인식 모델은 소매 제품 검색에 최적화된 개체 검색 모델의 하위 범주입니다.

Blob Storage 선택

그런 다음, 학습 이미지를 저장한 Azure Blob Storage 계정에서 컨테이너를 선택합니다. Vision Studio가 Blob Storage 컨테이너를 읽고 쓸 수 있도록 허용하려면 확인란을 선택합니다. 레이블이 지정된 데이터를 가져오는 데 필요한 단계입니다. 데이터 세트를 생성합니다.

Azure Machine Learning 레이블 지정 프로젝트 만들기

레이블 지정 정보를 전달하려면 COCO 파일이 필요합니다. COCO 파일을 생성하는 쉬운 방법은 데이터 레이블 지정 워크플로와 함께 제공되는 Azure Machine Learning 프로젝트를 만드는 것입니다.

데이터 세트 세부 정보 페이지에서 새 데이터 레이블 지정 프로젝트 추가를 선택합니다. 이름을 지정하고 새 작업 영역 만들기를 선택합니다. 그러면 Azure Machine Learning 프로젝트를 만들 수 있는 새 Azure Portal 탭이 열립니다.

Azure Machine Learning 선택

Azure Machine Learning 프로젝트가 만들어지면 Vision Studio 탭으로 돌아가 작업 영역에서 선택합니다. 그러면 Azure Machine Learning 포털이 새 브라우저 탭에서 열립니다.

Azure Machine Learning: 레이블 만들기

레이블 지정을 시작하려면 레이블 클래스 추가 프롬프트에 따라 레이블 클래스를 추가합니다.

레이블 클래스

클래스 레이블 추가

모든 클래스 레이블을 추가한 후에는 클래스 레이블을 저장하고 프로젝트에서 시작을 선택한 다음 맨 위에 있는 데이터 레이블을 선택합니다.

레이블 지정 시작

Azure Machine Learning: 학습 데이터에 수동으로 레이블 지정

레이블 지정 시작을 선택하고 프롬프트에 따라 모든 이미지에 레이블을 지정합니다. 완료되면 브라우저의 Vision Studio 탭으로 돌아갑니다.

이제 COCO 파일 추가를 선택한 다음, Azure ML 데이터 레이블 지정 프로젝트에서 COCO 파일 가져오기를 선택합니다. 그러면 Azure Machine Learning에서 레이블이 지정된 데이터를 가져옵니다.

방금 만든 COCO 파일은 이제 이 프로젝트에 연결한 Azure Storage 컨테이너에 저장됩니다. 이제 모델 사용자 지정 워크플로로 가져올 수 있습니다. 드롭다운 목록에서 이를 선택합니다. COCO 파일을 데이터 세트로 가져오면 모델 학습에 데이터 세트를 사용할 수 있습니다.

참고 항목

다른 곳에서 COCO 파일 가져오기

가져올 준비가 된 COCO 파일이 있는 경우 데이터 세트 탭으로 이동하여 Add COCO files to this dataset를 선택합니다. Blob Storage 계정에서 특정 COCO 파일을 추가하거나 Azure Machine Learning 레이블 지정 프로젝트에서 가져올 수 있습니다.

현재 Microsoft는 Vision Studio에서 시작할 때 대용량 데이터 세트에서 COCO 파일 가져오기가 실패하는 문제를 해결하고 있습니다. 대규모 데이터 세트를 사용하여 학습하려면 대신 REST API를 사용하는 것이 좋습니다.

COCO 선택

COCO 파일 정보

COCO 파일은 특정 필수 필드("images", "annotations""categories")가 있는 JSON 파일입니다. 샘플 COCO 파일은 다음과 같습니다.

{
 "images": [
   {
     "id": 1,
     "width": 500,
     "height": 828,
     "file_name": "0.jpg",
     "absolute_url": "https://blobstorage1.blob.core.windows.net/cpgcontainer/0.jpg"
   },
    {
      "id": 2,
      "width": 754,
      "height": 832,
      "file_name": "1.jpg",
      "absolute_url": "https://blobstorage1.blob.core.windows.net/cpgcontainer/1.jpg"
    },

   ...

  ],
  "annotations": [
    {
      "id": 1,
      "category_id": 7,
      "image_id": 1,
      "area": 0.407,
      "bbox": [
        0.02663142641129032,
        0.40691584277841153,
        0.9524163571731749,
        0.42766634515266866
      ]
    },
    {
      "id": 2,
      "category_id": 9,
      "image_id": 2,
      "area": 0.27,
      "bbox": [
        0.11803319477782331,
        0.41586723392402375,
        0.7765206955096307,
        0.3483334397217212
      ]
    },
    ...

  ],
  "categories": [
    {
      "id": 1,
      "name": "vegall original mixed vegetables"
    },
    {
      "id": 2,
      "name": "Amy's organic soups lentil vegetable"
    },
    {
      "id": 3,
      "name": "Arrowhead 8oz"
    },

    ...

  ]
}

COCO 파일 필드 참조

고유의 COCO 파일을 처음부터 생성하는 경우 모든 필수 필드가 올바른 세부 정보로 채워져 있는지 확인합니다. 다음 표는 COCO 파일의 각 필드를 설명합니다.

"images"

형식 설명 필수 여부
id 정수 1부터 시작하는 고유한 이미지 ID
width 정수 이미지의 너비(픽셀)
height 정수 이미지 높이(픽셀)
file_name string 이미지의 고유 이름입니다.
absolute_url 또는 coco_url string Blob 컨테이너의 Blob에 대한 절대 URI로서의 이미지 경로입니다. Vision 리소스에는 주석 파일과 모든 참조 이미지 파일을 읽을 수 있는 권한이 있어야 합니다.

absolute_url의 값은 Blob 컨테이너의 속성에서 찾을 수 있습니다.

절대 URL

"annotations"

형식 설명 필수 여부
id 정수 주석의 ID
category_id 정수 categories 섹션에 정의된 범주의 ID
image_id 정수 이미지의 ID
area 정수 '너비' x '높이' 값(bbox의 세 번째 및 네 번째 값) 아니요
bbox list[float] 경계 상자의 상대 좌표(0~1), '왼쪽', '상단', '너비', '높이' 순서

"categories"

형식 설명 필수 여부
id 정수 각 범주(레이블 클래스)의 고유 ID입니다. 이들은 annotations 섹션에 있어야 합니다.
name string 범주 이름(레이블 클래스)

COCO 파일 확인

Python 샘플 코드를 사용하여 COCO 파일의 형식을 확인할 수 있습니다.

사용자 지정 모델 학습

COCO 파일을 사용하여 모델 학습을 시작하려면 사용자 지정 모델 탭으로 이동하여 새 모델 추가를 선택합니다. 모델의 이름을 입력하고 Image classification 또는 Object detection을 모델 유형으로 선택합니다.

사용자 지정 모델 만들기

이제 레이블 지정 정보가 포함된 COCO 파일과 연결된 데이터 세트를 선택합니다.

그런 다음 시간 예산을 선택하고 모델을 학습합니다. 작은 예제의 경우 1 hour 예산을 사용할 수 있습니다.

학습 세부 정보 검토

학습이 완료되기까지 시간이 조금 걸릴 수 있습니다. 이미지 분석 4.0 모델은 학습 데이터의 작은 집합으로만 정확할 수 있지만 이전 모델보다 학습하는 데 시간이 더 오래 걸립니다.

학습된 모델 평가

학습이 완료되면 모델의 성능 평가를 볼 수 있습니다. 다음 메트릭이 사용됩니다.

  • 이미지 분류: 평균 정밀도, 정확도 상위 1위, 정확도 상위 5위
  • 개체 감지: mAP(mean Average Precision) @ 30, mAP(mean Average Precision) @ 50, mAP(mean Average Precision) @ 75

모델을 학습할 때 평가 집합이 제공되지 않으면 보고된 성능은 학습 집합의 일부를 기준으로 추정됩니다. 모델 성능을 안정적으로 예측하려면 평가 데이터 세트(위와 동일한 프로세스를 사용)를 사용하는 것이 좋습니다.

평가 스크린샷

Vision Studio에서 사용자 지정 모델 테스트

사용자 지정 모델을 구축한 후에는 모델 평가 화면에서 사용해 보기 버튼을 선택하여 테스트할 수 있습니다.

사용해 보기 버튼이 설명된 모델 평가 화면의 스크린샷.

그러면 이미지에서 공통 태그 추출 페이지로 이동됩니다. 드롭다운 메뉴에서 사용자 지정 모델을 선택하고 테스트 이미지를 업로드하세요.

Vision Studio의 테스트 모델 선택 스크린샷

예측 결과가 오른쪽 열에 표시됩니다.

다음 단계

이 가이드에서는 이미지 분석을 사용하여 사용자 지정 이미지 분류 모델을 만들고 학습시켰습니다. 다음으로, REST 또는 라이브러리 SDK를 사용하여 애플리케이션에서 사용자 지정 모델을 호출할 수 있도록 이미지 4.0 분석 API에 대해 자세히 알아봅니다.