Führt eine Klassifizierung von 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:N-Klassen und entweder 2 oder 4 Dimensionen, z.B.[1 x N]oder[1 x 1 x 1 x N]- Optionale (aber empfohlene) Labels enthalten Karten mit dem Typ TENSOR_AXIS_LABELS als AssignedFile-s und enthalten ein Label pro Zeile. Das erste AssignedFile-Element (falls vorhanden) wird verwendet, um das Feld
class_nameder Ergebnisse zu füllen. Das Felddisplay_namewird aus der AssignedFile (falls vorhanden) gefüllt, deren Sprache mit dem Felddisplay_names_localederImageClassifierOptionsübereinstimmt, die bei der Erstellung verwendet wurde („en“ ist standardmäßig „en“, d.h. Englisch). Wenn keine dieser Optionen verfügbar sind, wird nur das Feldindexder Ergebnisse gefüllt. - Die optionale Punktzahl-Kalibrierung kann mithilfe von ScoreCalibrationOptions und einer AssignedFile vom Typ TENSOR_AXIS_INDEX_CALIBRATION angehängt werden. Weitere Informationen finden Sie unter metadata_schema.fbs.
Ein Beispiel für ein solches Modell finden Sie unter TensorFlow Hub.
Verschachtelte Klassen
| Klasse | ImageClassifier.ImageClassifierOptions | Optionen für die Einrichtung und ImageClassifier. |
|
Public Methods
| ImageClassifierResult | |
| ImageClassifierResult |
classify(MPImage-Bild, ImageProcessingOptions imageProcessingOptions)
Führt eine Klassifizierung für das bereitgestellte einzelne Bild durch.
|
| void |
classifyAsync(MPImage-Bild, ImageProcessingOptions imageProcessingOptions, long timestampMs)
Sendet Live-Bilddaten zur Klassifizierung. Die Ergebnisse sind über die in
ImageClassifier.ImageClassifierOptions angegebene OutputHandler.ResultListener verfügbar. |
| void |
classifyAsync(MPImage-Bild, langer ZeitstempelMs)
Sendet Live-Bilddaten zur Klassifizierung mit Standard-Bildverarbeitungsoptionen wie
|
| ImageClassifierResult |
classifyForVideo(MPImage-Bild, langer ZeitstempelMs)
Führt eine Klassifizierung des bereitgestellten Videoframes mit Standardoptionen für die Bildverarbeitung durch, z.B.
|
| ImageClassifierResult |
classifyForVideo(MPImage-Bild, ImageProcessingOptions imageProcessingOptions, long timestampMs)
Führt eine Klassifizierung für den bereitgestellten Videoframe durch.
|
| static ImageClassifier |
createFromBuffer(Kontextkontext, ByteBuffer modelBuffer)
Erstellt eine
ImageClassifier-Instanz aus einem Modellpuffer und dem Standard-ImageClassifier.ImageClassifierOptions. |
| static ImageClassifier |
createFromFile(Kontextkontext, String ModelPath)
Erstellt eine
ImageClassifier-Instanz aus einer Modelldatei und der Standard-ImageClassifier.ImageClassifierOptions. |
| static ImageClassifier |
createFromFile(Kontextkontext, File-Modelldatei)
Erstellt eine
ImageClassifier-Instanz aus einer Modelldatei und der Standard-ImageClassifier.ImageClassifierOptions. |
| static ImageClassifier |
createFromOptions(Context context, ImageClassifier.ImageClassifierOptions-Optionen)
Erstellt eine
ImageClassifier-Instanz aus einer ImageClassifier.ImageClassifierOptions-Instanz. |
Übernommene Methoden
Public Methods
public ImageClassifierResult Klassifizierung (MPImage-Bild)
Führt eine Klassifizierung für das bereitgestellte einzelne Bild mit Standard-Bildverarbeitungsoptionen durch, d.h. es wird das gesamte Bild als interessierende Region verwendet, ohne dass eine Drehung angewendet wird. Verwenden Sie diese Methode nur, wenn das ImageClassifier mit ERROR(/RunningMode.IMAGE) erstellt wird.
ImageClassifier unterstützt die folgenden Farbraumtypen:
Parameter
| Image | Ein MediaPipe-MPImage-Objekt zur Verarbeitung |
|---|
Löst aus
| wenn ein interner Fehler vorliegt. |
public ImageClassifierResult Klassifizierung (MPImage-Bild, ImageProcessingOptions imageProcessingOptions)
Führt eine Klassifizierung für das bereitgestellte einzelne Bild durch. Verwenden Sie diese Methode nur, wenn das ImageClassifier mit ERROR(/RunningMode.IMAGE) erstellt wird.
ImageClassifier 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 void classifyAsync (MPImage-Bild, ImageProcessingOptions imageProcessingOptions, long timestampMs)
Sendet Live-Bilddaten zur Klassifizierung. Die Ergebnisse sind über die in ImageClassifier.ImageClassifierOptions angegebene OutputHandler.ResultListener verfügbar. Verwenden Sie diese Methode nur, wenn das ImageClassifier 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.
ImageClassifier 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 classifyAsync (MPImage-Bild, langer ZeitstempelMs)
Sendet Live-Bilddaten zur Klassifizierung mit Standard-Bildverarbeitungsoptionen, d. h. es wird das gesamte Bild als interessierende Region und ohne angewendete Drehung verwendet. Die Ergebnisse sind über die OutputHandler.ResultListener in der ImageClassifier.ImageClassifierOptions verfügbar. Verwenden Sie diese Methode nur, wenn das ImageClassifier 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.
ImageClassifier 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 ImageClassifierResult classifyForVideo (MPImage-Bild, langer ZeitstempelMs)
Führt eine Klassifizierung des bereitgestellten Videoframes mit Standardoptionen für die Bildverarbeitung durch, d.h. es wird das gesamte Bild als interessierende Region verwendet, ohne dass eine Drehung angewendet wird. Verwenden Sie diese Methode nur, wenn das ImageClassifier mit ERROR(/RunningMode.VIDEO) erstellt wird.
Sie müssen den Zeitstempel des Videoframes (in Millisekunden) angeben. Die Eingabezeitstempel müssen kontinuierlich ansteigen.
ImageClassifier 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 ImageClassifierResult classifyForVideo (MPImage-Bild, ImageProcessingOptions imageProcessingOptions, longtimestampMs)
Führt eine Klassifizierung für den bereitgestellten Videoframe durch. Verwenden Sie diese Methode nur, wenn das ImageClassifier mit ERROR(/RunningMode.VIDEO) erstellt wird.
Sie müssen den Zeitstempel des Videoframes (in Millisekunden) angeben. Die Eingabezeitstempel müssen kontinuierlich ansteigen.
ImageClassifier 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 static ImageClassifier createFromBuffer (Kontextkontext, ByteBuffer modelBuffer)
Erstellt eine ImageClassifier-Instanz aus einem Modellpuffer und dem Standard-ImageClassifier.ImageClassifierOptions.
Parameter
| context | ein Android-ERROR(/Context). |
|---|---|
| modelBuffer | Ein direkter ByteBuffer oder ein ERROR(/MappedByteBuffer) des Klassifizierungsmodells. |
Löst aus
Wenn beim Erstellen von ImageClassifier ein Fehler auftritt.
|
public static ImageClassifier createFromFile (Kontextkontext, String modelPath)
Erstellt eine ImageClassifier-Instanz aus einer Modelldatei und der Standard-ImageClassifier.ImageClassifierOptions.
Parameter
| context | ein Android-ERROR(/Context). |
|---|---|
| modelPath | zum Klassifizierungsmodell in den Assets. |
Löst aus
Wenn beim Erstellen von ImageClassifier ein Fehler auftritt.
|
public static ImageClassifier createFromFile (Kontextkontext, Datei Modelldatei)
Erstellt eine ImageClassifier-Instanz aus einer Modelldatei und der Standard-ImageClassifier.ImageClassifierOptions.
Parameter
| context | ein Android-ERROR(/Context). |
|---|---|
| modelFile | Die File-Instanz des Klassifizierungsmodells. |
Löst aus
| IOException | Wenn beim Öffnen der TFlite-Modelldatei ein E/A-Fehler auftritt. |
|---|---|
Wenn beim Erstellen von ImageClassifier ein Fehler auftritt.
|
public static ImageClassifier createFromOptions (Context context, ImageClassifier.ImageClassifierOptions)
Erstellt eine ImageClassifier-Instanz aus einer ImageClassifier.ImageClassifierOptions-Instanz.
Parameter
| context | ein Android-ERROR(/Context). |
|---|---|
| Optionen | Eine ImageClassifier.ImageClassifierOptions-Instanz. |
Löst aus
Wenn beim Erstellen von ImageClassifier ein Fehler auftritt.
|