Bildklassifizierung mit Custom Vision und Windows Machine Learning

Image classification flow

In diesem Leitfaden erfahren Sie, wie Sie ein neuronales Netzwerkmodell trainieren, um Bilder von Lebensmitteln mithilfe des Azure Custom Vision-Diensts zu klassifizieren, wie Sie das Modell in das ONNX-Format exportieren und wie das Modell in einer Windows Machine Learning-Anwendung (Windows ML) bereitgestellt wird, die lokal auf einem Windows-Gerät ausgeführt wird. Sie benötigen keine bisherige Expertise in Machine Learning! Wir führen Sie Schritt für Schritt durch den Prozess.

Wenn Sie erfahren möchten, wie Sie ein Modell mit Custom Vision erstellen und trainieren, können Sie mit Trainieren eines Modells fortfahren.

Wenn Sie über ein Modell verfügen und erfahren möchten, wie Sie eine Windows ML-App von Grund auf neu erstellen, navigieren Sie zum umfassenden Windows ML-App-Tutorial.

Wenn Sie mit einem bereits vorhandenen Visual Studio-Projekt für eine Windows ML-App beginnen möchten, können Sie die Custom Vision und Windows ML-Tutorial-Beispielapp klonen und diese als Ausgangspunkt verwenden.

Szenario

In diesem Tutorial erstellen Sie eine Machine Learning-Klassifizierungsanwendung für Lebensmittel, die auf Windows-Geräten ausgeführt werden kann. Das Modell wird darauf trainiert, bestimmte Arten von Mustern zu erkennen, um ein Bild eines Lebensmittelns zu klassifizieren. Es gibt bei Eingabe eines Bilds ein Klassifizierungstag und den zugehörigen prozentualen Konfidenzwert für diese Klassifizierung zurück.

Voraussetzungen für das Modelltraining

Zum Erstellen und Trainieren eines Modells benötigen Sie ein Abonnement für Azure Custom Vision-Dienste.

Wenn Sie noch nicht mit Azure vertraut sind, können Sie sich für ein kostenloses Azure-Konto registrieren. Dadurch haben Sie die Möglichkeit, Machine Learning-Modelle mit Azure KI zu erstellen, zu trainieren und bereitzustellen.

Tipp

Möchten Sie mehr über Azure-Registrierungsoptionen und kostenlose Azure-Konten erfahren? Dann sehen Sie sich Erstellen eines Azure-Kontos an.

Voraussetzungen für die Bereitstellung der Windows ML-App

Zum Erstellen und Bereitstellen einer Windows ML-App benötigen Sie Folgendes:

  • Windows 10 Version 1809 (Build 17763 oder höher). Sie können die Buildversionsnummer überprüfen, indem Sie winver mit dem Befehl Ausführen (Windows-Logotaste + R) ausführen.
  • Windows SDK für Build 17763 oder höher. Informationen zum Download finden Sie unter Windows SDK.
  • Visual Studio 2017, Version 15.7 oder höher; es wird jedoch empfohlen, Visual Studio 2022 oder höher zu verwenden. Einige Screenshots in diesem Tutorial unterscheiden sich möglicherweise von der Benutzeroberfläche, die Sie sehen. Informationen zum Herunterladen von Visual Studio finden Sie unter Downloads und Tools für die Windows-Entwicklung.
  • Visual Studio Erweiterung des Windows ML-Codegenerators (mlgen). Laden Sie sie für Visual Studio 2019 oder höher oder für Visual Studio 2017 herunter.
  • Wenn Sie sich für die Erstellung einer UWP-App (Universelle Windows-Plattform) entscheiden, müssen Sie den Workload für UWP-Entwicklung in Visual Studio aktivieren.
  • Aktivieren Sie auf Ihrem PC den Entwicklermodus; weitere Informationen unter Aktivieren Ihres Geräts für die Entwicklung.

Hinweis

Windows ML-APIs sind in die neuesten Versionen von Windows 10 (1809 oder höher) und Windows Server 2019 integriert. Wenn Ihre Zielplattform eine ältere Version von Windows ist, können Sie Ihre Windows ML-App auf das weitervertreibbare NuGet-Paket (Windows 8.1 oder höher) portieren.

Vorbereiten der Daten

Machine Learning-Modelle müssen mit vorhandenen Daten trainiert werden. In diesem Leitfaden verwenden Sie ein Dataset mit Lebensmittelbildern von Kaggle Open Datasets. Dieses Dataset wird unter der öffentlichen Domänenlizenz vertrieben.

Wichtig

Um diesen Datensatz zu verwenden, müssen Sie sich an die Nutzungsbedingungen der Kaggle-Website und die Lizenzbestimmungen für das Food-11-Dataset selbst halten. Microsoft übernimmt keine Garantie oder Zusicherung für die Website oder dieses Dataset.

Das Dataset besteht aus drei Teilen – Auswertung, Training und Validierung – und enthält 16.643 Lebensmittelbilder, die in 11 Hauptkategorien für Lebensmittel gruppiert sind. Die Bilder im Dataset jeder Kategorie von Lebensmitteln werden in einem separaten Ordner platziert, wodurch der Modelltrainingsprozess bequemer wird.

Laden Sie das Dataset aus dem Food-11-Bilddataset herunter. Das Dataset ist etwa 1 GB groß und Sie werden möglicherweise aufgefordert, ein Konto auf der Kaggle-Website zu erstellen, um die Daten herunterzuladen.

Food image datasaet

Wenn Sie es vorziehen, können Sie jedes andere Dataset mit relevanten Bildern verwenden. Es wird empfohlen, im ersten Trainingssatz mindestens 30 Bilder pro Tag zu verwenden. Sie sollten auch einige zusätzliche Bilder sammeln, um Ihr Modell zu testen, nachdem es trainiert wurde.

Stellen Sie außerdem sicher, dass alle Ihre Trainingsbilder die folgenden Kriterien erfüllen:

  • Format .jpg, .png, .bmp oder .gif.
  • Höchstens 6 MB groß (4 MB für Vorhersagebilder).
  • Mindestens 256 Pixel an der kürzesten Seite; kürzere Bilder werden von Custom Vision Service automatisch hochskaliert.

Nächste Schritte

Nachdem Sie die Voraussetzungen erfüllt und Ihr Dataset vorbereitet haben, können Sie mit der Erstellung Ihres Windows ML-Modells fortfahren. Im nächsten Teil (Trainieren Ihres Modells mit Custom Vision) verwenden Sie die webbasierte Custom Vision-Schnittstelle, um Ihr Klassifizierungsmodell zu erstellen und zu trainieren.