다음을 통해 공유


Custom Vision 및 Windows Machine Learning을 사용한 이미지 분류

Image classification flow

이 가이드에서는 Azure Custom Vision 서비스를 사용하여 음식 이미지를 분류하도록 신경망 모델을 학습하는 방법을 보여 줍니다. 모델을 ONNX 형식으로 내보냅니다. 및 Windows 디바이스에서 로컬로 실행되는 Windows ML(Windows Machine Learning) 애플리케이션에 모델을 배포합니다. 기계 학습에 대한 이전의 전문 지식이 필요하지 않습니다. 프로세스를 단계별로 안내합니다.

Custom Vision을 사용하여 모델을 빌드하고 학습하는 방법을 알아보려면 모델 학습을 진행할 수 있습니다.

모델이 있고 Windows ML 앱을 처음부터 만드는 방법을 알아보려면 전체 Windows ML 앱 자습서를 참조하세요.

Windows ML 앱에 대한 기존 Visual Studio 프로젝트로 시작하려면 Custom Vision 및 Windows ML 자습서 샘플 앱을 복제하고 이를 시작점으로 사용할 수 있습니다.

시나리오

이 자습서에서는 Windows 디바이스에서 실행되는 기계 학습 음식 분류 애플리케이션을 만듭니다. 모델은 음식 이미지를 분류하기 위해 특정 유형의 패턴을 인식하도록 학습되며, 이미지가 제공되면 분류 태그와 해당 분류의 관련 백분율 신뢰도 값을 반환합니다.

모델 학습을 위한 사전 요구 사항

모델을 빌드하고 학습하려면 Azure Custom Vision 서비스에 대한 구독이 필요합니다.

Azure를 처음으로 사용하는 경우 Azure 체험 계정에 등록할 수 있습니다. 그러면 Azure AI를 사용하여 기계 학습 모델을 빌드, 학습 및 배포할 수 있습니다.

Azure 등록 옵션 및 Azure 체험 계정에 대해 자세히 알아보고 싶나요? 그런 다음, Azure 계정 만들기를 검사.

Windows ML 앱 배포를 위한 사전 요구 사항

Windows ML 앱을 만들고 배포하려면 다음이 필요합니다.

  • Windows 10 버전 1809(빌드 17763) 이상 실행 명령(Windows 로고 키 + R)을 통해 실행 winver 하여 빌드 버전 번호를 검사 수 있습니다.
  • 빌드 17763 이상용 Windows SDK. 다운로드하려면 Windows SDK를 참조하세요.
  • Visual Studio 2017 버전 15.7 이상; 하지만 Visual Studio 2022 이상을 사용하는 것이 좋습니다. 이 자습서의 일부 스크린샷은 표시되는 UI와 다를 수 있습니다. Visual Studio를 다운로드하려면 Windows 개발을 위한 다운로드 및 도구를 참조하세요.
  • Windows ML 코드 생성기(mlgen) Visual Studio 확장. Visual Studio 2019 이상 또는 Visual Studio 2017용으로 다운로드합니다.
  • UWP(유니버설 Windows 플랫폼) 앱을 만들기로 결정한 경우 Visual Studio에서 유니버설 Windows 플랫폼 개발 워크로드를 사용하도록 설정해야 합니다.
  • PC에서 개발자 모드 사용 - 개발을 위해 디바이스 사용 설정을 참조하세요.

참고 항목

Windows ML API는 최신 버전의 Windows 10(1809 이상) 및 Windows Server 2019에 기본 제공됩니다. 대상 플랫폼이 이전 버전의 Windows인 경우 Windows ML 앱을 재배포 가능 NuGet 패키지(Windows 8.1 이상)로 포팅할 수 있습니다.

데이터 준비

기계 학습 모델은 기존 데이터로 학습시켜야 합니다. 이 가이드에서는 Kaggle Open Datasets의 음식 이미지 데이터 세트를 사용합니다. 해당 데이터 세트는 공용 do기본 라이선스에 따라 배포됩니다.

Important

이 데이터 세트를 사용하려면 Kaggle 사이트 사용 약관 및 데이터 세트 자체와 함께 제공되는 Food-11 사용 조건을 준수해야 합니다. Microsoft는 해당 사이트 및 이 데이터 세트와 관련하여 어떠한 보증이나 표현도 하지 않습니다.

데이터 세트에는 평가, 학습 및 유효성 검사의 세 가지 분할이 있으며 11개의 주요 음식 범주로 그룹화된 16,643개의 음식 이미지가 포함됩니다. 각 음식 범주의 데이터 세트에 있는 이미지는 개별 폴더에 배치되어 있어서 모델 학습 프로세스를 더 편리하게 해줍니다.

Food-11 이미지 데이터 세트에서 데이터 세트를 다운로드합니다. 데이터 세트의 크기는 약 1GB이며 Kaggle 웹 사이트에 계정을 만들어 데이터를 다운로드하라는 메시지가 표시될 수 있습니다.

Food image datasaet

원하는 경우 관련 이미지의 다른 데이터 세트를 사용할 수 있습니다. 최소한 초기 학습 집합에서 태그당 30개 이상의 이미지를 사용하는 것이 좋습니다. 또한 모델을 학습한 후 테스트하기 위해 몇 가지 추가 이미지를 수집하려고 합니다.

또한 모든 학습 이미지가 다음 조건을 충족하는지 확인합니다.

  • .jpg, .png, .bmp또는 .gif 형식입니다.
  • 크기가 6MB보다 크지 않습니다(예측 이미지의 경우 4MB).
  • 가장 짧은 가장자리에서 256픽셀 이하; 이보다 짧은 이미지는 Custom Vision Service에 의해 자동으로 확장됩니다.

다음 단계

이제 필수 구성 요소를 정리하고 데이터 세트를 준비했으므로 Windows ML 모델 만들기를 진행할 수 있습니다. 다음 부분(Custom Vision을 사용하여 모델 학습)에서는 웹 기반 Custom Vision 인터페이스를 사용하여 분류 모델을 만들고 학습시킵니다.