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.
- 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. |