Udostępnij przez


Klasyfikacja obrazów za pomocą usług Custom Vision i Windows Machine Learning

Przepływ klasyfikacji obrazów

W tym przewodniku pokazano, jak wytrenować model sieci neuronowej w celu klasyfikowania obrazów żywności przy użyciu usługi Azure Custom Vision; wyeksportować model do formatu ONNX; i wdróż model w aplikacji Windows Machine Learning (Windows ML) uruchomionej lokalnie na urządzeniu z systemem Windows. Nie potrzebujesz żadnej wcześniejszej wiedzy w zakresie uczenia maszynowego! Przeprowadzimy Cię krok po kroku przez proces.

Jeśli chcesz dowiedzieć się, jak utworzyć i wytrenować model za pomocą usługi Custom Vision, możesz przejść do sekcji Trenowanie modelu.

Jeśli masz model i chcesz dowiedzieć się, jak utworzyć aplikację uczenia maszynowego systemu Windows od podstaw, zapoznaj się z kompletnym samouczkiem dotyczącym aplikacji windows ML.

Jeśli chcesz rozpocząć od istniejącego projektu w Visual Studio dla aplikacji Windows ML, możesz sklonować przykładową aplikację z samouczka Custom Vision i Windows ML i użyć jej jako punktu początkowego.

Scenariusz

W tym samouczku utworzymy aplikację klasyfikującą żywność z wykorzystaniem uczenia maszynowego, działającą na urządzeniach z systemem Windows. Model zostanie wytrenowany w celu rozpoznawania niektórych typów wzorców w celu sklasyfikowania obrazu żywności, i po otrzymaniu obrazu będzie zwracać tag klasyfikacji oraz wartość procentową pewności tej klasyfikacji.

Wymagania wstępne dotyczące trenowania modelu

Aby utworzyć i wytrenować model, musisz mieć subskrypcję usług Azure Custom Vision.

Jeśli dopiero zaczynasz korzystać z platformy Azure, możesz utworzyć bezpłatne konto platformy Azure. Umożliwi to tworzenie, trenowanie i wdrażanie modeli uczenia maszynowego za pomocą sztucznej inteligencji platformy Azure.

Wskazówka

Czy chcesz dowiedzieć się więcej na temat opcji rejestracji na platformie Azure i bezpłatnych kont platformy Azure? Następnie zapoznaj się z pozycją Tworzenie konta platformy Azure.

Wymagania wstępne dotyczące wdrażania aplikacji windows ML

Aby utworzyć i wdrożyć aplikację uczenia maszynowego systemu Windows, potrzebne są następujące elementy:

  • Windows 10, wersja 1809 (kompilacja 17763) lub nowsza. Numer wersji kompilacji można sprawdzić, uruchamiając winver polecenie Uruchom (logo systemu Windows + R).
  • Zestaw Windows SDK dla kompilacji 17763 lub nowszej. Aby pobrać, zobacz Windows SDK.
  • Visual Studio 2017 w wersji 15.7 lub nowszej; zalecamy jednak używanie programu Visual Studio 2022 lub nowszego. Niektóre zrzuty ekranu w tym samouczku mogą różnić się od interfejsu użytkownika, który widzisz. Aby pobrać program Visual Studio, zobacz Pliki do pobrania i narzędzia do programowania w systemie Windows.
  • Rozszerzenie programu Visual Studio "Generator kodu uczenia maszynowego dla Windowsa" (mlgen). Pobierz go dla programu Visual Studio 2019 lub nowszego lub dla programu Visual Studio 2017.
  • Jeśli zdecydujesz się utworzyć aplikację platformy UWP, musisz włączyć obciążenie deweloperskie UWP w programie Visual Studio.
  • Włącz tryb dewelopera na komputerze — zobacz Włączanie urządzenia do programowania.

Uwaga / Notatka

Interfejsy API uczenia maszynowego systemu Windows są wbudowane w najnowsze wersje systemu Windows 10 (1809 lub nowszego) i Windows Server 2019. Jeśli platforma docelowa jest starszą wersją systemu Windows, możesz przenieść aplikację Windows ML do pakietu NuGet pakietu redystrybucyjnego (Windows 8.1 lub nowszego).

Przygotowywanie danych

Modele uczenia maszynowego muszą być trenowane przy użyciu istniejących danych. W tym przewodniku użyjesz zestawu danych obrazów żywności z witryny Kaggle Open Datasets. Ten zestaw danych jest dystrybuowany w ramach licencji domeny publicznej.

Ważne

Aby korzystać z tego zestawu danych, musisz stosować się do terminu korzystania z witryny Kaggle oraz postanowień licencyjnych towarzyszących samemu zestawowi Food-11 danych. Firma Microsoft nie udziela żadnej gwarancji ani reprezentacji dotyczącej witryny ani tego zestawu danych.

Zestaw danych ma trzy podziały — oceny, trenowania i walidacji — i zawiera 16 643 obrazy żywności pogrupowane w 11 głównych kategorii żywności. Obrazy w zestawie danych każdej kategorii żywności są umieszczane w osobnym folderze, co sprawia, że proces trenowania modelu jest wygodniejszy.

Pobierz zestaw danych z zbioru obrazów Food-11. Zestaw danych ma rozmiar około 1 GB i może zostać poproszony o utworzenie konta w witrynie internetowej Kaggle w celu pobrania danych.

Zestaw danych dotyczących obrazów żywności

Jeśli wolisz, możesz użyć dowolnego innego zestawu danych odpowiednich obrazów. Co najmniej zalecamy używanie co najmniej 30 obrazów na tag w początkowym zestawie treningowym. Po przeszkoleniu modelu należy również zebrać kilka dodatkowych obrazów, aby przetestować model.

Ponadto upewnij się, że wszystkie obrazy szkoleniowe spełniają następujące kryteria:

  • .jpg, .png, .bmp, lub .gif format.
  • Rozmiar nie jest większy niż 6 MB (4 MB dla obrazów przewidywania).
  • Nie mniej niż 256 pikseli na najkrótszej krawędzi; wszystkie obrazy krótsze niż te zostaną automatycznie skalowane w górę przez usługę Custom Vision Service.

Dalsze kroki

Teraz, gdy masz już posortowane wymagania wstępne i przygotujesz zestaw danych, możesz przejść do tworzenia modelu uczenia maszynowego z systemem Windows. W następnej części (Trenowanie modelu za pomocą usługi Custom Vision) użyjesz internetowego interfejsu usługi Custom Vision, aby utworzyć i wytrenować model klasyfikacji.