ImageEmbedder

public final class ImageEmbedder

Führt eine Einbettungsextraktion auf Bildern durch.

Die API erwartet ein TFLite-Modell mit optionalen, aber dringend empfohlenen TFLite-Modellmetadaten.

Die API unterstützt Modelle mit einem Bildeingabetensor und einem oder mehreren Ausgabetensoren. Genauer gesagt: Hier sind die Anforderungen.

  • Eingabebild-Tensor (kTfLiteUInt8/kTfLiteFloat32)
    • Bildeingabe mit der Größe [batch x height x width x channels].
    • Batchinferenz wird nicht unterstützt (batch muss 1 sein).
    • Es werden nur RGB-Eingaben unterstützt (channels muss 3 sein).
    • Wenn der Typ „kTfLiteFloat32“ ist, müssen „NormalizationOptions“ für die Eingabenormalisierung an die Metadaten angehängt werden.
  • Mindestens einen Ausgabetensor (kTfLiteUInt8/kTfLiteFloat32) mit der Form [1 x N], wobei N die Anzahl der Dimensionen in den erzeugten Einbettungen ist.

Verschachtelte Klassen

Klasse ImageEmbedder.ImageEmbedderOptions Optionen für die Einrichtung und ImageEmbedder

Public Methods

static Double
cosineSimilarity(Einbettung u, Einbetten v)
Dienstprogrammfunktion zum Berechnen der Kosinus-Ähnlichkeit zwischen zwei Embedding-Objekten.
Statisches ImageEmbedder
createFromBuffer(Kontextkontext, ByteBuffer modelBuffer)
Erstellt eine ImageEmbedder-Instanz aus einem Modellpuffer und dem Standard-ImageEmbedder.ImageEmbedderOptions.
Statisches ImageEmbedder
createFromFile(Kontextkontext, String ModelPath)
Erstellt eine ImageEmbedder-Instanz aus einer Modelldatei und der Standard-ImageEmbedder.ImageEmbedderOptions.
Statisches ImageEmbedder
createFromFile(Kontextkontext, File-Modelldatei)
Erstellt eine ImageEmbedder-Instanz aus einer Modelldatei und der Standard-ImageEmbedder.ImageEmbedderOptions.
Statisches ImageEmbedder
createFromOptions(Kontextkontext, ImageEmbedder.ImageEmbedderOptions-Optionen)
Erstellt eine ImageEmbedder-Instanz aus einer ImageEmbedder.ImageEmbedderOptions-Instanz.
ImageEmbedderResult
embed(MPImage-Bild, ImageProcessingOptions imageProcessingOptions)
Führt eine Einbettungsextraktion für das bereitgestellte einzelne Bild durch.
ImageEmbedderResult
embed(MPImage-Bild)
Führt eine Einbettungsextraktion für das bereitgestellte einzelne Bild mit Standardoptionen für die Bildverarbeitung durch, z.B.
void
embedAsync(MPImage-Bild, ImageProcessingOptions imageProcessingOptions, long timestampMs)
Sendet Live-Bilddaten, um eine Einbettungsextraktion durchzuführen. Die Ergebnisse sind über die in ImageEmbedder.ImageEmbedderOptions angegebene OutputHandler.ResultListener verfügbar.
void
embedAsync(MPImage-Bild, langer ZeitstempelMs)
Sendet Live-Bilddaten, um Einbettungen mithilfe von Standard-Bildverarbeitungsoptionen zu extrahieren, z.B.
ImageEmbedderResult
embedForVideo(MPImage-Bild, ImageProcessingOptions imageProcessingOptions, long timestampMs)
Führt eine Einbettungsextraktion auf den bereitgestellten Videoframe aus.
ImageEmbedderResult
embedForVideo(MPImage-Bild, langer ZeitstempelMs)
Führt eine Einbettungsextraktion für den bereitgestellten Videoframe mit Standardoptionen für die Bildverarbeitung durch, z.B.

Übernommene Methoden

Public Methods

public static double cosineSimilarity (Embedding u, Embedding v)

Dienstprogrammfunktion zum Berechnen der Kosinus-Ähnlichkeit zwischen zwei Embedding-Objekten.

Parameter
u
v
Löst aus
IllegalArgumentException die Einbettungen unterschiedlicher Typen (Gleitkommazahl oder quantisiert) sind, unterschiedliche Größen haben oder eine L2-Norm von 0 haben.

public static ImageEmbedder createFromBuffer (Kontextkontext, ByteBuffer modelBuffer)

Erstellt eine ImageEmbedder-Instanz aus einem Modellpuffer und dem Standard-ImageEmbedder.ImageEmbedderOptions.

Parameter
context ein Android-ERROR(/Context).
modelBuffer ein direktes ByteBuffer oder ein ERROR(/MappedByteBuffer) des Einbettungsmodells.
Löst aus
Wenn beim Erstellen von ImageEmbedder ein Fehler auftritt.

public static ImageEmbedder createFromFile (Kontextkontext, String modelPath)

Erstellt eine ImageEmbedder-Instanz aus einer Modelldatei und der Standard-ImageEmbedder.ImageEmbedderOptions.

Parameter
context ein Android-ERROR(/Context).
modelPath zum Einbettungsmodell in den Assets.
Löst aus
Wenn beim Erstellen von ImageEmbedder ein Fehler auftritt.

public static ImageEmbedder createFromFile (Kontextkontext, Datei Modelldatei)

Erstellt eine ImageEmbedder-Instanz aus einer Modelldatei und der Standard-ImageEmbedder.ImageEmbedderOptions.

Parameter
context ein Android-ERROR(/Context).
modelFile die File-Instanz des Einbettungsmodells.
Löst aus
IOException Wenn beim Öffnen der TFlite-Modelldatei ein E/A-Fehler auftritt.
Wenn beim Erstellen von ImageEmbedder ein Fehler auftritt.

public static ImageEmbedder createFromOptions (Context context, ImageEmbedder.ImageEmbedderOptions-Optionen)

Erstellt eine ImageEmbedder-Instanz aus einer ImageEmbedder.ImageEmbedderOptions-Instanz.

Parameter
context ein Android-ERROR(/Context).
Optionen Eine ImageEmbedder.ImageEmbedderOptions-Instanz.
Löst aus
Wenn beim Erstellen von ImageEmbedder ein Fehler auftritt.

public ImageEmbedderResult Einbettung (MPImage-Bild, ImageProcessingOptions imageProcessingOptions)

Führt eine Einbettungsextraktion für das bereitgestellte einzelne Bild durch. Verwenden Sie diese Methode nur, wenn das ImageEmbedder mit ERROR(/RunningMode.IMAGE) erstellt wird.

ImageEmbedder unterstützt die folgenden Farbraumtypen:

Parameter
Image Ein MediaPipe-MPImage-Objekt zur Verarbeitung
imageProcessingOptions den ImageProcessingOptions, der angibt, wie das Eingabebild vor dem Ausführen der Inferenz verarbeitet wird.
Löst aus
wenn ein interner Fehler vorliegt.

public ImageEmbedderResult embed (MPImage-Bild)

Führt eine Einbettungsextraktion auf dem bereitgestellten Einzelbild mit Standardoptionen für die Bildverarbeitung aus, d.h. es wird das gesamte Bild als interessierende Region verwendet, ohne dass eine Drehung angewendet wird. Verwenden Sie diese Methode nur, wenn das ImageEmbedder mit ERROR(/RunningMode.IMAGE) erstellt wird.

ImageEmbedder unterstützt die folgenden Farbraumtypen:

Parameter
Image Ein MediaPipe-MPImage-Objekt zur Verarbeitung
Löst aus
wenn ein interner Fehler vorliegt.

public void embedAsync (MPImage-Bild, ImageProcessingOptions imageProcessingOptions, long timestampMs)

Sendet Live-Bilddaten, um eine Einbettungsextraktion durchzuführen. Die Ergebnisse sind über die in ImageEmbedder.ImageEmbedderOptions angegebene OutputHandler.ResultListener verfügbar. Verwenden Sie diese Methode nur, wenn das ImageEmbedder mit ERROR(/RunningMode.LIVE_STREAM) erstellt wird.

Dabei muss ein Zeitstempel (in Millisekunden) angegeben werden, um anzugeben, wann das Eingabebild an den Objektdetektor gesendet wird. Die Eingabezeitstempel müssen kontinuierlich ansteigen.

ImageEmbedder unterstützt die folgenden Farbraumtypen:

Parameter
Image Ein MediaPipe-MPImage-Objekt zur Verarbeitung
imageProcessingOptions den ImageProcessingOptions, der angibt, wie das Eingabebild vor dem Ausführen der Inferenz verarbeitet wird.
timestampMs den Eingabezeitstempel (in Millisekunden).
Löst aus
wenn ein interner Fehler vorliegt.

public void embedAsync (MPImage-Bild, long timestampMs)

Sendet Live-Bilddaten, um eine Einbettungsextraktion mit Standard-Bildverarbeitungsoptionen durchzuführen, d. h., das gesamte Bild wird als interessierende Region und ohne angewendete Drehung verwendet. Die Ergebnisse sind über die OutputHandler.ResultListener verfügbar, die in ImageEmbedder.ImageEmbedderOptions angegeben ist. Verwenden Sie diese Methode nur, wenn das ImageEmbedder mit ERROR(/RunningMode.LIVE_STREAM) erstellt wird.

Dabei muss ein Zeitstempel (in Millisekunden) angegeben werden, um anzugeben, wann das Eingabebild an den Objektdetektor gesendet wird. Die Eingabezeitstempel müssen kontinuierlich ansteigen.

ImageEmbedder unterstützt die folgenden Farbraumtypen:

Parameter
Image Ein MediaPipe-MPImage-Objekt zur Verarbeitung
timestampMs den Eingabezeitstempel (in Millisekunden).
Löst aus
wenn ein interner Fehler vorliegt.

public ImageEmbedderResult embedForVideo (MPImage-Bild, ImageProcessingOptions imageProcessingOptions, long timestampMs)

Führt eine Einbettungsextraktion auf den bereitgestellten Videoframe aus. Verwenden Sie diese Methode nur, wenn das ImageEmbedder mit ERROR(/RunningMode.VIDEO) erstellt wird.

Sie müssen den Zeitstempel des Videoframes (in Millisekunden) angeben. Die Eingabezeitstempel müssen kontinuierlich ansteigen.

ImageEmbedder unterstützt die folgenden Farbraumtypen:

Parameter
Image Ein MediaPipe-MPImage-Objekt zur Verarbeitung
imageProcessingOptions den ImageProcessingOptions, der angibt, wie das Eingabebild vor dem Ausführen der Inferenz verarbeitet wird.
timestampMs den Eingabezeitstempel (in Millisekunden).
Löst aus
wenn ein interner Fehler vorliegt.

public ImageEmbedderResult embedForVideo (MPImage-Bild, langer ZeitstempelMs)

Führt eine Einbettungsextraktion auf dem bereitgestellten Videoframe mit Standardoptionen für die Bildverarbeitung aus, d.h. es wird das gesamte Bild als interessierende Region verwendet, ohne dass eine Drehung angewendet wird. Verwenden Sie diese Methode nur, wenn das ImageEmbedder mit ERROR(/RunningMode.VIDEO) erstellt wird.

Sie müssen den Zeitstempel des Videoframes (in Millisekunden) angeben. Die Eingabezeitstempel müssen kontinuierlich ansteigen.

ImageEmbedder unterstützt die folgenden Farbraumtypen:

Parameter
Image Ein MediaPipe-MPImage-Objekt zur Verarbeitung
timestampMs den Eingabezeitstempel (in Millisekunden).
Löst aus
wenn ein interner Fehler vorliegt.