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 (
batchmuss 1 sein). - Es werden nur RGB-Eingaben unterstützt (
channelsmuss 3 sein). - Wenn der Typ „kTfLiteFloat32“ ist, müssen „NormalizationOptions“ für die Eingabenormalisierung an die Metadaten angehängt werden.
- Bildeingabe mit der Größe
- 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 | |
| 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. |