다음을 통해 공유


Custom Vision을 사용하여 모델 학습

이 자습서의 이전 단계에서는 사용자 고유의 Windows Machine Learning 모델 및 앱을 만드는 필수 구성 요소를 설명하고 사용할 이미지 집합을 다운로드했습니다. 이 단계에서는 웹 기반 Custom Vision 인터페이스를 사용하여 이미지 집합을 이미지 분류 모델로 전환하는 방법을 알아봅니다.

Azure Custom Vision은 고유한 이미지 식별자를 빌드, 배포 및 개선할 수 있는 이미지 인식 서비스입니다. Custom Vision Service는 Custom Vision 웹 사이트의 웹 기반 인터페이스뿐만 아니라 네이티브 SDK 집합으로 사용할 수 있습니다.

Custom Vision 리소스 및 프로젝트 만들기

Custom Vision 리소스 만들기

Custom Vision Service를 사용하려면 Azure에서 Custom Vision 리소스를 만들어야 합니다.

  1. Azure 계정의 기본 페이지로 이동하여 선택합니다 Create a resource.

Azure 리소스 선택

  1. 검색 상자에서 Custom Vision를 검색하면 Azure Marketplace에 들어갑니다. Custom Vision 만들기 페이지에서 대화 상자를 열려면 선택합니다 Create Custom Vision .

패키지 선택

  1. Custom Vision 대화 상자 페이지에서 다음을 선택합니다.
  • Training 리소스와 Prediction 리소스를 모두 선택합니다.
  • 배포된 리소스를 관리할 구독을 선택합니다. 메뉴에 Azure 구독이 표시되지 않으면 계정을 연 것과 동일한 자격 증명을 사용하여 Azure 계정을 로그아웃하고 다시 엽니다.
  • 새 리소스 그룹을 만들고 이름을 지정합니다. 이 자습서에서는 저희가 MLTraining으로 지정했지만, 사용자 고유의 이름을 선택하거나 기존 리소스 그룹이 있는 경우 그것을 사용할 수도 있습니다.
  • 프로젝트에 이름을 지정합니다. 이 튜토리얼에서는 우리 것을 classificationApp라고 이름 붙였지만, 원하는 이름을 사용할 수 있습니다.
  • Training 리소스 모두 Prediction 에 대해 위치를 (미국) 미국 동부로 설정하고 가격 책정 계층무료 FO로 설정합니다.
  1. Review + create 키를 눌러 Custom Vision 리소스를 배포하세요. 리소스를 배포하는 데 몇 분 정도 걸릴 수 있습니다.

새 Custom Vision 리소스 배포

Custom Vision 내에서 새 프로젝트 만들기

이제 리소스를 만들었으므로 Custom Vision 내에서 교육 프로젝트를 만들어야 합니다.

  1. 웹 브라우저에서 Custom Vision 페이지로 이동하여 선택합니다 Sign in. Azure Portal에 로그인하는 데 사용한 것과 동일한 계정으로 로그인합니다.

  2. 새 프로젝트 대화 상자를 열려면 선택합니다 New Project .

새 프로젝트 만들기

  1. 다음과 같이 새 프로젝트를 만듭니다.
  • Name: 음식 분류.
  • Description: 다양한 유형의 음식 분류입니다.
  • Resource: 이전에 연 것과 동일한 리소스를 유지합니다 ClassificationApp [F0].
  • Project Types: classification
  • Classification Types: Multilabel (Multiple tags per image)
  • Domains: Food (compact).
  • Export Capabilities: Basic platforms (Tensorflow, CoreML, ONNX, ...)

비고

ONNX 형식으로 내보내려면 도메인을 Food (compact) 선택해야 합니다. 압축되지 않은 도메인은 ONNX로 내보낼 수 없습니다.

중요합니다

로그인한 계정이 Azure 계정과 연결된 경우 리소스 그룹 드롭다운에는 Custom Vision Service 리소스를 포함하는 모든 Azure 리소스 그룹이 표시됩니다. 사용할 수 있는 리소스 그룹이 없는 경우 Azure Portal에 로그인하는 데 사용한 것과 동일한 계정으로 customvision.ai 로그인했는지 확인하세요.

  1. 대화 상자를 채운 후 Create project을 선택합니다.

프로젝트 완료

학습 데이터 세트 업로드

이제 프로젝트를 만들었으므로 Kaggle Open Datasets에서 이전에 준비한 음식 이미지 데이터 세트를 업로드합니다.

  1. FoodClassification 프로젝트를 선택하여 Custom Vision 웹 사이트의 웹 기반 인터페이스를 엽니다.

  2. Add images 버튼을 선택하고 Browse local files를 고릅니다.

이미지 추가 대화 상자

  1. 이미지 데이터 세트의 위치로 이동하고 학습 폴더를 vegetable-fruit선택합니다. 폴더의 모든 이미지를 선택하고 을 선택합니다 open. 태그 지정 옵션이 열립니다.

  2. vegetable-fruit을(를) My Tags 필드에 입력하고 Upload를 누르세요.

이미지 업로드

이미지의 첫 번째 그룹이 프로젝트에 업로드될 때까지 기다린 다음 키를 누릅니다 done. 태그 선택은 업로드하도록 선택한 이미지의 전체 그룹에 적용됩니다. 따라서 이미 미리 빌드된 이미지 그룹에서 이미지를 업로드하는 것이 더 쉽습니다. 개별 이미지가 업로드된 후에는 항상 태그를 변경할 수 있습니다.

이미지 업로드 진행률

  1. 이미지의 첫 번째 그룹이 성공적으로 업로드 된 후, 디저트와 수프의 이미지를 업로드하는 과정을 두 번 더 반복합니다. 관련 태그를 레이블에 붙이세요.

마지막에는 학습할 준비가 된 세 가지 이미지 그룹이 있습니다.

이미지 태그 표시

분류 모델을 학습시키다

이제 이전 부분에서 다운로드한 이미지 세트에서 채소, 수프 및 디저트를 분류하도록 모델을 학습시킵니다.

  1. 학습 프로세스를 시작하려면 오른쪽 위 모서리에서 단추를 선택합니다 Train . 분류자는 이미지를 사용하여 각 태그의 시각적 특성을 식별하는 모델을 만듭니다.

학습 단추

왼쪽 위 모서리에 있는 슬라이더를 사용하여 확률 임계값을 변경하는 옵션이 있습니다. 확률 임계값은 예측이 올바른 것으로 간주되기 위해 필요한 신뢰도 수준을 설정합니다. 확률 임계값이 너무 높으면 더 정확한 분류를 얻을 수 있지만 더 적은 수의 분류가 검색됩니다. 반면, 확률 임계값이 너무 낮으면 더 많은 분류를 감지하지만 신뢰도가 낮거나 가양성 결과가 늘어날 수 있습니다.

이 자습서에서는 확률 임계값을 50%유지할 수 있습니다.

  1. 여기서는 이 프로세스를 사용합니다 Quick Training . Advanced Training 에는 더 많은 설정이 있으며 학습에 사용되는 시간을 구체적으로 설정할 수 있지만 여기서는 이러한 수준의 제어가 필요하지 않습니다. 키를 눌러 Train 학습 프로세스를 시작합니다.

학습 유형 선택

빠른 학습 프로세스를 완료하는 데 몇 분밖에 걸리지 않습니다. 이 시간 동안 학습 프로세스에 대한 정보가 탭에 Performance 표시됩니다.

학습 프로세스

평가 및 테스트

결과 평가

학습이 완료되면 첫 번째 학습 반복에 대한 요약이 표시됩니다. 여기에는 정밀 재현율과 같은 모델 성능의 예측이 포함됩니다.

  • 정밀도는 정확한 것으로 식별된 분류 부분을 나타냅니다. 모델에서 정밀도는%98.2이므로 모델이 이미지를 분류하는 경우 올바르게 예측될 가능성이 큽 있습니다.
  • 재현율은 정확하게 식별된 실제 분류 부분을 나타냅니다. 우리 모델에서는 재현율이 97.5%이므로, 모델은 대부분의 이미지를 정확하게 분류합니다.
  • AP 는 추가 성능을 의미합니다. 이렇게 하면 다양한 임계값에서 정밀도 및 재현율을 요약하는 추가 메트릭이 제공됩니다.

모델 학습 평가

모델 테스트

모델을 내보내기 전에 해당 성능을 테스트할 수 있습니다.

  1. 위쪽 메뉴 모음의 오른쪽 위 모서리를 선택하여 Quick Test 새 테스트 창을 엽니다.

테스트 단추

이 창에서 테스트할 이미지의 URL을 제공하거나 로컬로 저장된 이미지를 사용하도록 선택할 Browse local files 수 있습니다.

테스트용 이미지 선택

  1. Browse local files을 선택한 후 음식 데이터 세트로 이동하여 유효성 검사 폴더를 여십시오. 폴더에서 fruit-vegetable 임의의 이미지를 선택하고 키를 누릅니다 open.

테스트 결과가 화면에 표시됩니다. 테스트에서 모드는 99.8% 확실하게 이미지를 분류했습니다.

테스트 분류 결과

탭에서 Predictions 학습에 대한 예측을 사용하여 모델 성능을 향상시킬 수 있습니다. 자세한 내용은 분류자 개선 방법을 참조하세요.

비고

Azure Custom Vision API에 대해 자세히 알아보고 싶나요? Custom Vision Service 설명서에는 Custom Vision 웹 포털 및 SDK에 대한 자세한 정보가 있습니다.

ONNX로 모델 내보내기

이제 모델을 학습했으므로 ONNX로 내보낼 수 있습니다.

  1. 탭을 Performance 선택한 다음 내보내기 창을 열도록 선택합니다 Export .

내보내기 단추

  1. 모델을 ONNX 형식으로 내보내려면 선택합니다 ONNX .

형식 선택

  1. 필요한 경우 float 옵션을 선택할 ONNX 16 수 있지만 이 자습서에서는 설정을 변경할 필요가 없습니다. Export and Download를 선택합니다.

플랫폼 선택

  1. 다운로드한 .zip 파일을 열고 model.onnx 파일을 추출합니다. 이 파일에는 분류자 모델이 포함되어 있습니다.

축하합니다! 분류 모델을 성공적으로 빌드하고 내보냅니다.

다음 단계

이제 분류 모델이 있으므로 다음 단계는 Windows 애플리케이션을 빌드하고 Windows 디바이스에서 로컬로 실행하는 것입니다.