Übung: Integrieren von Azure Custom Vision

Abgeschlossen

In diesem Modul erfahren Sie, wie Sie Azure Custom Vision einsetzen. Sie laden eine Reihe von Fotos eines nachverfolgten Objekts hoch, laden sie in den Dienst Custom Vision hoch und starten den Trainingsprozess. Danach werden Sie den Dienst verwenden, um das nachverfolgte Objekt zu erkennen, indem Sie Fotos aus dem Feed der Webcam erfassen.

Grundlegendes zu Azure KI Custom Vision

Azure KI Custom Vision ist Teil der Cognitive Services-Produktfamilie und dient zum Trainieren von Bildklassifizierern. Der Bildklassifizierer ist ein KI-Dienst, der das trainierte Modell verwendet, um entsprechende Tags anzuwenden. Unsere Anwendung nutzt diese Klassifizierungsfunktion, um nachverfolgte Objekte zu erkennen.

Erfahren Sie mehr über Custom Vision.

Vorbereiten von Custom Vision

Bevor Sie beginnen können, müssen Sie ein Custom Vision-Projekt erstellen. Am schnellsten erstellen Sie Ihr Custom Vision-Projekt über das Custom Vision-Portal.

Befolgen Sie dieses Schnellstarttutorial, um Ihr Konto und Projekt einzurichten. Führen Sie die Schritte bis zum Abschnitt Hochladen und Taggen von Bildern aus. Sie sollten ein Tag mit fünf Bildern erstellen.

Warnung

Zum Trainieren eines Modells benötigen Sie mindestens zwei Tags und fünf Bilder pro Tag. Später werden weitere Bilder über die Anwendung hinzugefügt. Um diese Anwendung nutzen zu können, müssen Sie jedoch mindestens ein Tag mit fünf Bildern erstellen, damit der Trainingsprozess später nicht fehlschlägt.

Vorbereiten der Szene

  1. Navigieren Sie im Projektfenster zum Ordner Assets>MRTK.Tutorials.AzureCloudServices>Prefabs>Manager.

    Screenshot of Unity with Project window showing path to ObjectDetectionManager prefab.

  2. Ziehen Sie dort das ObjectDetectionManager-Prefab in die Hierarchie der Szene.

    Screenshot of Unity with ObjectDetectionManager script component configuration fields shown in Inspector.

  3. Navigieren Sie im Fenster „Hierarchy“ (Hierarchie) zum Objekt ObjectDetectionManager, und wählen Sie es aus. Das Prefab ObjectDetectionManager enthält die Komponente ObjectDetectionManager (script). Wie Sie im Fenster „Inspektor“ sehen können, hängt sie von Azure- und Projekteinstellungen ab.

Abrufen von Anmeldeinformationen für Azure-API-Ressourcen

Die erforderlichen Anmeldeinformationen für die Einstellungen von ObjectDetectionManager (script) können Sie im Azure- und Custom Vision-Portal abrufen.

Abrufen von Anmeldeinformationen für Azure-Einstellungen

Suchen Sie nach der Custom Vision-Ressource vom Typ Cognitive Services, die Sie im Abschnitt Vorbereiten der Szene dieses Tutorials erstellt haben. Wählen Sie dort Übersicht oder Schlüssel und Endpunkt aus, um die erforderlichen Anmeldeinformationen abzurufen.

  • Azure-Ressourcenabonnement-ID: Verwenden Sie die Abonnement-ID aus dem Abschnitt Übersicht.
  • Name der Azure-Ressourcengruppe: Verwenden Sie den Ressourcengruppennamen aus dem Abschnitt Übersicht.

Verwenden Sie für Cognitive Service-Gruppenname den Namen der Custom Vision-Ressource, gefolgt von -Prediction (Vorhersage).

  • Ressourcenbasis-Vorhersageendpunkt: Verwenden Sie den Endpunkt aus Schlüssel und Endpunkt in der Custom Vision-Prediction-Ressource.
  • API-Vorhersageschlüssel: Verwenden Sie den Schlüssel 1 aus Schlüssel und Endpunkt in der Custom Vision-Prediction-Ressource.

Abrufen von Anmeldeinformationen für Projekteinstellungen

Öffnen Sie im Custom Vision-Dashboard das Projekt, das Sie für dieses Tutorial erstellt haben. Wählen Sie dann rechts oben auf der Seite das Einstellungen-Symbol (Zahnrad) aus, um die Seite mit den Einstellungen zu öffnen. Die erforderlichen Anmeldeinformationen finden Sie im Abschnitt Ressourcen auf der rechten Seite und im Abschnitt Allgemein auf der linken Seite.

  • Ressourcenbasisendpunkt: Verwenden Sie den Endpunkt aus dem Abschnitt Ressourcen. Dieser sollte mit dem Endpunkt unter Schlüssel und Endpunkt in der Custom Vision-Ressource übereinstimmen.
  • API-Schlüssel: Verwenden Sie den Schlüssel aus dem Abschnitt Ressourcen. Dieser sollte mit dem Schlüssel unter Schlüssel und Endpunkt in der Custom Vision-Ressource übereinstimmen.
  • Projekt-ID: Verwenden Sie die Projekt-ID aus dem Abschnitt Allgemein.
  1. Nachdem Sie nun ObjectDetectionManager (script) richtig eingerichtet haben, suchen Sie das Objekt SceneController in Ihrer Szenenhierarchie und wählen es aus.

    Screenshot of Unity with SceneController script component configuration fields shown in Inspector.

  2. Das Feld Objekterkennungs-Manager in der Komponente SceneController ist leer. Ziehen Sie ObjectDetectionManager aus der Hierarchie in die Komponente SceneController, und speichern Sie die Szene.

    Screenshot of Unity with SceneController script component configured.

Aufnehmen und Hochladen von Bildern

  1. Führen Sie die Szene aus, und wählen Sie Objekt festlegen aus. Geben Sie den Namen für eines der nachverfolgten Objekte ein, die Sie in der vorherigen Lektion erstellt haben. Wählen Sie unten auf der Objektkarte die Schaltfläche Maschinelles Sehen aus.

  2. Ein neues Fenster wird geöffnet. Sie nehmen sechs Fotos auf, um das Modell für die Bilderkennung zu trainieren. Wählen Sie die Schaltfläche Kamera aus, und tippen Sie für das Objekt, das Sie nachverfolgen möchten, in die Luft. Wiederholen Sie dies sechsmal.

    Tipp

    Um das Training des Modells zu verbessern, versuchen Sie, jedes Bild aus unterschiedlichen Winkeln und unter verschiedenen Beleuchtungsbedingungen zu aufzunehmen.

  3. Sobald Sie genügend Bilder haben, wählen Sie die Schaltfläche Trainieren aus, um das Modelltraining in der Cloud zu starten. Dadurch werden alle Bilder hochgeladen und das Training gestartet. Der Prozess kann einige Minuten dauern. Eine Meldung im Menü gibt den aktuellen Status an. Sobald der Prozess abgeschlossen ist, können Sie die Anwendung beenden.

    Tipp

    ObjectDetectionManager (Script) lädt die aufgenommenen Bilder direkt in den Custom Vision-Dienst hoch. Alternativ akzeptiert die Custom Vision-API auch URLs für die Bilder. Als Übung können Sie ObjectDetectionManager (script) ändern, um die Bilder stattdessen in einen Blob-Speicher hochzuladen.

Warnung

Wenn das Training nicht erfolgreich war, vergewissern Sie sich auf dem Custom Vision-Dashboard, dass Sie über mindestens zwei Tags verfügen und dass jedes Tag mindestens fünf Bilder enthält.

Erkennen von Objekten

Sie können das trainierte Modell nun testen. Führen Sie die Anwendung aus. Wählen Sie im Hauptmenü die Option Objekt suchen aus, und geben Sie den Namen des betreffenden nachverfolgten Objekts ein. Die Objektkarte wird angezeigt. Wählen Sie als Nächstes die Schaltfläche Custom Vision aus. ObjectDetectionManager beginnt im Hintergrund mit der Erfassung von Bildern von der Kamera. Im Menü wird der Anwendungsstatus angezeigt. Richten Sie die Kamera auf das Objekt, das Sie zum Trainieren des Modells verwendet haben. In Kürze sollte das Objekt erkannt werden.