Benutzerdefinierte Modelle mit ML Kit

Standardmäßig nutzen die APIs des ML Kits die von Google trainierten Modelle für maschinelles Lernen. Diese Modelle decken eine Vielzahl von Anwendungen ab. Für einige Anwendungsfälle sind jedoch Modelle erforderlich, die besser ausgerichtet sind. Aus diesem Grund können Sie in einigen ML Kit APIs jetzt die Standardmodelle durch benutzerdefinierte TensorFlow Lite-Modelle ersetzen.

Sowohl die Image Labeling- als auch die Objekterkennungs-API unterstützen die Unterstützung für benutzerdefinierte Bildklassifizierungsmodelle. Sie sind mit einer Auswahl an hochwertigen vortrainierten Modellen auf TensorFlow Hub oder mit Ihrem eigenen benutzerdefinierten Modell kompatibel, das mit TensorFlow, AutoML Vision Edge oder TensorFlow Lite Model Maker trainiert wurde.

Wenn Sie eine benutzerdefinierte Lösung für andere Domains oder Anwendungsfälle benötigen, finden Sie auf der Seite Integriertes maschinelles Lernen Informationen zu allen Lösungen und Tools von Google für maschinelles Lernen.

Vorteile der Verwendung von ML Kit mit benutzerdefinierten Modellen

Die Verwendung eines benutzerdefinierten Bildklassifizierungsmodells mit ML Kit bietet folgende Vorteile:

  • Nutzerfreundliche APIs auf übergeordneter Ebene: Keine Notwendigkeit, Low-Level-Modelleingabe/-ausgabe zu verwenden, Bildvor-/Nachverarbeitung zu verarbeiten oder eine Verarbeitungspipeline zu erstellen.
  • Keine eigene Labelzuordnung erforderlich, ML Kit extrahiert die Labels aus den TFLite-Modellmetadaten und übernimmt die Zuordnung für Sie.
  • Unterstützt benutzerdefinierte Modelle aus einer Vielzahl von Quellen – von vortrainierten Modellen, die auf TensorFlow Hub veröffentlicht wurden, bis hin zu neuen Modellen, die mit TensorFlow, AutoML Vision Edge oder TensorFlow Lite Model Maker trainiert wurden.
  • Unterstützt mit Firebase gehostete Modelle. Reduziert die APK-Größe, indem Modelle bei Bedarf heruntergeladen werden. Übertragen Sie Modellaktualisierungen per Push, ohne Ihre App neu zu veröffentlichen, und führen Sie einfache A/B-Tests mit Firebase Remote Config durch.
  • Optimiert für die Integration mit den Kamera-APIs von Android.

Insbesondere für die Objekterkennung und das Tracking:

  • Verbessern Sie die Klassifizierungsgenauigkeit, indem Sie zuerst die Objekte suchen und den Klassifikator nur für den entsprechenden Bildbereich ausführen.
  • Interaktive Interaktionen in Echtzeit: Nutzer werden unmittelbar informiert, wenn Objekte erkannt und klassifiziert werden.

Vortrainiertes Bildklassifizierungsmodell verwenden

Sie können vortrainierte TensorFlow Lite-Modelle verwenden, sofern diese bestimmte Kriterien erfüllen. Über TensorFlow Hub bieten wir eine Reihe von geprüften Modellen von Google oder anderen Modellerstellern an, die diese Kriterien erfüllen.

Auf TensorFlow Hub veröffentlichtes Modell verwenden

TensorFlow Hub bietet eine breite Palette von vortrainierten Bildklassifizierungsmodellen von verschiedenen Modellerstellern, die mit den Image Labeling and Object Detection and Tracking APIs verwendet werden können. Gehen Sie dazu so vor:

  1. Wählen Sie ein Modell aus der Sammlung von ML Kit-kompatiblen Modellen aus.
  2. Laden Sie die .tflite-Modelldatei von der Seite mit den Modelldetails herunter. Wählen Sie, falls verfügbar, ein Modellformat mit Metadaten aus.
  3. In unseren Leitfäden für die Image Labeling API oder die Object Detection and Tracking API erfahren Sie, wie Sie eine Modelldatei mit Ihrem Projekt bündeln und in Ihrer Android- oder iOS-Anwendung verwenden.

Eigenes Bildklassifizierungsmodell trainieren

Wenn kein vortrainiertes Bildklassifizierungsmodell Ihre Anforderungen erfüllt, gibt es verschiedene Möglichkeiten, Ihr eigenes TensorFlow Lite-Modell zu trainieren. Einige davon werden unten genauer beschrieben und erläutert.

Optionen zum Trainieren eines eigenen Bildklassifizierungsmodells
AutoML Vision Edge
  • Über KI von Google Cloud angeboten
  • Hochmoderne Modelle zur Bildklassifizierung erstellen
  • Einfach Leistung und Größe bewerten
Modell TensorFlow Lite Lite
  • Modell neu trainieren (Lerntransfer), dauert weniger Zeit und erfordert weniger Daten als das Training eines Modells von Grund auf
Ein TensorFlow-Modell in TensorFlow Lite konvertieren
  • Modell mit TensorFlow trainieren und dann in TensorFlow Lite konvertieren

AutoML Vision Edge

Mit AutoML Vision Edge trainierte Bildklassifizierungsmodelle werden von den benutzerdefinierten Modellen in den APIs Image Labeling und Object Detection and Tracking API unterstützt. Diese APIs unterstützen auch den Download von Modellen, die mit der Firebase-Modellbereitstellung gehostet werden.

Weitere Informationen zum Verwenden eines Modells, das mit AutoML Vision Edge in Ihren Android- und iOS-Apps trainiert wurde, finden Sie in den Anleitungen für benutzerdefinierte Modelle für jede API, je nach Anwendungsfall.

TensorFlow Lite-Modell-Builder

Die TFLite Model Maker-Bibliothek vereinfacht die Anpassung und Konvertierung eines neuronalen TensorFlow-Netzwerkmodells an bestimmte Eingabedaten, wenn dieses Modell für ML-Anwendungen auf dem Gerät bereitgestellt wird. Weitere Informationen finden Sie unter Colab für die Bildklassifizierung mit TensorFlow Lite-Modellerstellung.

Weitere Informationen zur Verwendung eines mit dem Modell-Builder trainierten Modells in Ihren Android- und iOS-Apps finden Sie in unseren Leitfäden für die Image Labeling API oder die Object Detection and Tracking API (je nach Anwendungsfall).

Mit TensorFlow Lite-Konvertierung erstellte Modelle

Wenn Sie bereits ein TensorFlow-Bildklassifizierungsmodell haben, können Sie es mit dem TensorFlow Lite Converter konvertieren. Das erstellte Modell muss die unten aufgeführten Kompatibilitätsanforderungen erfüllen.

Weitere Informationen zur Verwendung eines TensorFlow Lite-Modells in Ihren Android- und iOS-Apps finden Sie in unseren Leitfäden für die Image Labeling API oder die Objekterkennungs- und Tracking API (je nach Anwendungsfall).

Kompatibilität mit TensorFlow Lite-Modellen

Sie können jedes vortrainierte Bildklassifizierungsmodell von TensorFlow Lite verwenden, sofern es die folgenden Anforderungen erfüllt:

Tensoren

  • Das Modell darf nur einen Eingabetensor mit den folgenden Einschränkungen haben:
    • Die Daten sind im RGB-Pixelformat.
    • Die Daten haben den Typ UINT8 oder FLOAT32. Wenn der Eingabetensortyp FLOAT32 lautet, muss er die Normalisierungsoptionen angeben, indem Sie Metadaten anhängen.
    • Der Tensor hat vier Abmessungen : BxHxWxC, wobei:
      • B ist die Batchgröße. Er muss 1 sein (Inferenz aus größeren Batches wird nicht unterstützt).
      • B und H sind die Eingabebreite und -höhe.
      • C ist die Anzahl der erwarteten Kanäle. Der Wert muss 3 sein.
  • Das Modell muss mindestens einen Ausgabetensor mit N-Klassen und zwei oder vier Dimensionen haben:
    • (1xN)
    • (1x1x1xN)

Metadaten

Sie können der TensorFlow Lite-Datei Metadaten hinzufügen, wie unter Metadaten zu einem TensorFlow Lite-Modell hinzufügen erläutert.

Wenn Sie ein Modell mit FLOAT32-Eingabetensor verwenden möchten, müssen Sie die NormalizationOptions in den Metadaten angeben.

Außerdem empfehlen wir, diese Metadaten an den Ausgabetensor TensorMetadata anzuhängen: