Erstellen eines benutzerdefinierten Projekts

Abgeschlossen

Um ein benutzerdefiniertes Azure KI Vision-Modell zu erstellen, benötigen Sie zuerst eine Azure KI Services-Ressource (oder eine Azure KI Vision-Ressource). Nachdem diese Ressource für Ihr Abonnement bereitgestellt wurde, müssen Sie ein benutzerdefiniertes Projekt erstellen.

Komponenten eines benutzerdefinierten Vision-Projekts

Die erste Komponente eines benutzerdefinierten Projekts ist das Dataset. Das Dataset ist Ihre Sammlung von Bildern, die beim Trainieren Ihres Modells verwendet werden sollen, sowie die COCO-Datei, die die Bezeichnungsinformationen zu diesen Bildern definiert. Ihr Dataset wird in einem Azure Blob Storage-Container gespeichert, und wir werden in dieser Lerneinheit noch mehr über die COCO-Datei erfahren.

Nachdem Sie Ihre Bilder und Klassenbeschriftungen definiert haben, können Sie Ihr benutzerdefiniertes Modell trainieren. Wenn Sie Ihr Modell trainieren, geben Sie den Typ des zu trainierenden Modells an, welches Dataset verwendet werden soll, und Ihr Trainingsbudget (in Zeit). Wenn das Modelltraining abgeschlossen ist, können Sie die Leistung anzeigen und das Modell für Vorhersagen verwenden.

In den meisten Fällen befolgen Sie die folgenden Schritte:

  1. Erstellen Sie Ihren Blob-Storage-Container und laden Sie nur die Bilder für das Training hoch.
  2. Erstellen Sie das Dataset für Ihr Projekt, und verbinden Sie es mit Ihrem Blob-Storage-Container. Beim Erstellen des Datasets definieren Sie, welche Art von Projekt es ist (Bildklassifizierung, Objekterkennung oder Produkterkennung).
  3. Bezeichnen Sie Ihre Daten in Ihrem Azure Machine Learning Datenbeschriftungsprojekt. Dadurch wird die COCO-Datei in Ihrem Blob-Storage-Container erstellt.
  4. Verbinden Sie Ihre fertige COCO-Datei für die bezeichneten Bilder mit Ihrem Dataset.
  5. Trainieren Sie Ihr benutzerdefiniertes Modell mit dem Dataset und den erstellten Bezeichnungen.
  6. Überprüfen Sie die Leistung und wiederholen Sie den Vorgang, wenn die trainierte Leistung nicht den Erwartungen entspricht.

Sobald Sie mit der Leistung zufrieden sind, kann das Modell in Vision Studio oder in Ihrer eigenen Anwendung verwendet werden.

COCO-Dateien

Eine COCO-Datei ist eine JSON-Datei mit einem bestimmten Format, die Folgendes definiert:

  • images: Definiert den Bildspeicherort im Blob-Speicher, den Name, die Breite, die Höhe und die ID.
  • annotations: Definiert die Klassifizierungen (oder Objekte), einschließlich der Kategorie des Bilds, den Bereich und den Begrenzungsrahmen (bei Bezeichnung für die Objekterkennung).
  • categories: Definiert die ID für die benannte Bezeichnungsklasse.

In den meisten Fällen werden COCO-Dateien erstellt, indem Sie Ihre Trainingsbilder in einem Azure Machine Learning Datenbeschriftungsprojekt bezeichnen. Wenn Sie aus einem alten Custom Vision-Projekt migrieren, können Sie das Migrationsskript verwenden, um Ihre COCO-Datei zu erstellen.

Eine COCO-Beispieldatei sieht wie folgt aus:

{
  "images": [
    {
      "id": 1,
      "width": 1024,
      "height": 768,
      "file_name": "abc.jpg",
      "coco_url": "AmlDatastore://fruit/abc.jpg",
      "absolute_url": "https://myBlobStorage.blob.core.windows.net/fruit/abc.jpg",
      "date_captured": "<date>"
    },
    {
      "id": 2,
      "width": 1024,
      "height": 768,
      "file_name": "xyz.jpg",
      "coco_url": "AmlDatastore://fruit/xyz.jpg",
      "absolute_url": "https://myBlobStorage.blob.core.windows.net/fruit/xyz.jpg",
      "date_captured": "<date>"
    },
    <...>
  ],
  "annotations": [
    {
      "id": 1,
      "category_id": 1,
      "image_id": 1,
      "area": 0.0
    },
    {
      "id": 2,
      "category_id": 1,
      "image_id": 2,
      "area": 0.0
    },
    <...>
  ],
  "categories": [
    {
      "id": 1,
      "name": "apple"
    },
    {
      "id": 2,
      "name": "orange"
    },
    {
      "id": 3,
      "name": "banana"
    }
  ]
}

Wenn Sie ein Dataset für die Objekterkennung bezeichnen, enthält jede Anmerkung in der COCO-Datei auch ein Array für den Begrenzungsrahmen mit den Werten für Links, Oben, Breite und Höhe.

"bbox": [
    0.11803319477782331,
    0.41586723392402375,
    0.7765206955096307,
    0.3483334397217212
]

Erstellen Ihres Datasets

Sobald Sie Bilder in Ihrem Blob-Storage-Container haben, können Sie Ihr Dataset für das Training entweder über die REST-API oder mithilfe von Vision Studio erstellen. Die REST-Anforderung ähnelt dem folgenden REST-Aufruf:

curl -X PUT https://<endpoint>/computervision/datasets/<dataset-name>?api-version=<version>\
  -H "Content-Type: application/json" \
  -H "Ocp-Apim-Subscription-Key: <subscription-key>" \
  --data-ascii "
  {
    'annotationKind':'imageClassification',
    'annotationFileUris':['<URI>']
  }"

Wenn Sie Vision Studio verwenden, navigieren Sie zur Kachel „benutzerdefiniertes Modell“, wählen Sie Ihre Ressource aus, und erstellen Sie Ihr Dataset. Von dort aus können Sie ein Azure Machine Learning Datenbeschriftungsprojekt öffnen oder erstellen oder eine vorhandene COCO-Datei hochladen. In der Übung in diesem Modul wird erläutert, wie Sie Ihr Dataset auf diese Weise erstellen.

Mit Vision Studio können Sie eine Verbindung mit Ihrem Bezeichnungsprojekt in Azure Machine Learning herstellen, anstatt die COCO-Datei in der REST-Anforderung anzugeben. Die restlichen Beispiele in diesem Modul verwenden Vision Studio. Wenn REST bevorzugen, finden Sie Beispiele auf den Seiten der Dokumentation.