다음을 통해 공유


ML.NET 및 Windows Machine Learning을 사용하는 이미지 분류

이미지 분류 흐름

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

ML.NET 모델 작성기를 사용하여 모델을 빌드하고 학습하는 방법을 알아보려면 모델 학습을 진행할 수 있습니다.

모델이 있고 WinML 앱을 처음부터 만드는 방법을 알아보려면 전체 WinML 앱 자습서로 이동합니다.

WinML 앱에 대해 미리 정의된 솔루션을 얻으려면 솔루션 파일을 복제하고 즉시 테스트할 수 있습니다.

시나리오

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

모델 학습을 위한 필수 구성 요소

모델을 빌드하고 학습하려면 Visual Studio에서 ML.NET Model Buider를 사용합니다.

비고

Azure 등록 옵션 및 Azure 체험 계정에 대해 자세히 알아보고 싶나요? Azure 계정 만들기를 확인하세요.

ML.NET 모델 작성기는 사용자 지정 기계 학습 모델을 빌드, 학습 및 배포하는 데 사용되는 직관적인 그래픽 Visual Studio 확장입니다. AutoML(자동화된 기계 학습)을 사용하여 다양한 기계 학습 알고리즘 및 설정을 탐색하여 시나리오에 가장 적합한 알고리즘을 찾는 데 도움이 됩니다.

ML.NET Model Builder는 .NET 워크로드 중 하나를 설치할 때 Visual Studio 버전 16.6.1 이상과 함께 제공됩니다. Visual Studio를 다운로드하거나 수정할 때 설치 관리자에서 ML.NET Model Builder 구성 요소를 확인해야 합니다. VS에 ML.NET Model Builder 구성 요소가 있는지 확인하려면 확장으로 이동하여 확장 관리를 선택합니다. 검색 창에 모델 작성기를 입력하여 확장 결과를 검토합니다.

모델 작성기 확장

ML.NET 모델 작성기는 현재 미리 보기 기능입니다. 따라서 도구를 사용하려면 Visual Studio에서 도구 > 옵션 > 환경 > 미리 보기 기능으로 이동하여 ML.NET 모델 작성기를 사용하도록 설정해야 합니다.

모델 작성기 확장 사용

비고

ML.NET 모델 작성기 및 지원하는 다양한 시나리오에 대해 자세히 알아보고 싶나요? Model Builder 설명서를 검토하세요.

Windows ML 앱 배포를 위한 필수 구성 요소

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

비고

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

데이터 준비

기계 학습 모델은 기존 데이터로 학습되어야 합니다. 이 가이드에서는 Kaggle Open Datasets의 음식 이미지 데이터 세트를 사용합니다. 이 데이터 세트는 퍼블릭 도메인 라이선스에 따라 배포됩니다.

중요합니다

이 데이터 세트를 사용하려면 Kaggle 사이트 사용 약관과 Food-11 데이터 세트 자체에 수반되는 liscence 용어를 준수해야 합니다. Microsoft는 사이트 또는 이 데이터 세트에 대한 보증 또는 표현을 하지 않습니다.

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

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

음식 이미지 데이터 세트

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

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

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

다음 단계

이제 필수 구성 요소를 정리하고 데이터 세트를 준비했으므로 WinML 모델 만들기를 계속할 수 있습니다. 다음 부분에서는 ML.NET Model Builder를 사용하여 분류 모델을 만들고 학습합니다.