ImageClassifier

classe pubblica finale ImageClassifier

Esegue la classificazione sulle immagini.

L'API prevede un modello TFLite con metadati del modello TFLite facoltativi, ma vivamente consigliati.

L'API supporta modelli con un tensore di input dell'immagine e uno o più tensori di output. Per essere più specifici, di seguito sono riportati i requisiti.

  • Tensore immagine di input (kTfLiteUInt8/kTfLiteFloat32)
    • immagine di dimensione [batch x height x width x channels].
    • l'inferenza batch non è supportata (batch deve essere 1).
    • sono supportati solo gli ingressi RGB (channels deve essere pari a 3).
    • se il tipo è kTfLiteFloat32, è necessario collegare NormalizationOptions ai metadati per la normalizzazione dell'input.
  • Almeno un tensore di output (kTfLiteUInt8/kTfLiteFloat32) con:
    • N classi e 2 o 4 dimensioni, ovvero [1 x N] o [1 x 1 x 1 x N]
    • mappe di etichette facoltative (ma consigliate) come AssociatedFile-s di tipo TENSOR_AXIS_LABELS, contenenti un'etichetta per riga. Il primo di questi file AssociatedFile (se presente) viene utilizzato per compilare il campo class_name dei risultati. Il campo display_name viene compilato dall'AssociatedFile (se presente), le cui impostazioni internazionali corrispondono al campo display_names_locale dell'elemento ImageClassifierOptions utilizzato al momento della creazione ("en" per impostazione predefinita, ovvero inglese). Se nessuno di questi valori è disponibile, verrà compilato solo il campo index dei risultati.
    • una calibrazione facoltativa del punteggio può essere collegata utilizzando ScoreCalibrationOptions e un AssociatedFile di tipo TENSOR_AXIS_SCORE_CALIBRATION. Consulta metadata_schema.fbs per ulteriori dettagli.

Puoi trovare un esempio di questo modello su TensorFlow Hub.

Corsi nidificati

classe ImageClassifier.ImageClassifierOptions Opzioni per la configurazione e ImageClassifier

Metodi pubblici

ImageClassifierResult
classify(immagine MPImage)
Esegue la classificazione sulla singola immagine fornita con le opzioni di elaborazione delle immagini predefinite, ad esempio
ImageClassifierResult
classify(MPImage image, ImageProcessingOptions imageElaborazioneOptions)
Esegue la classificazione sulla singola immagine fornita.
void
classifyAsync(MPImage immagine, ImageProcessingOptions image elaborazioneOptions, timestamp lunghiMs)
Invia i dati delle immagini in tempo reale per eseguire la classificazione e i risultati saranno disponibili tramite l'OutputHandler.ResultListener fornito in ImageClassifier.ImageClassifierOptions.
void
classifyAsync(immagine MPImage, timestampM lunghi)
Invia i dati delle immagini live per eseguire la classificazione con opzioni di elaborazione delle immagini predefinite, ad esempio
ImageClassifierResult
classifyForVideo(immagine MPImage, timestampM lunghi)
Esegue la classificazione sul frame video fornito con opzioni di elaborazione delle immagini predefinite, ad esempio
ImageClassifierResult
classifyForVideo(MPImage immagine, ImageProcessingOptions imageElaborazioneOptions, timestamp lunghiMs)
Esegue la classificazione sul frame video fornito.
statico ImageClassifier
createFromBuffer(Context context, ByteBuffer modelBuffer)
Crea un'istanza ImageClassifier da un buffer del modello e dal valore predefinito di ImageClassifier.ImageClassifierOptions.
statico ImageClassifier
createFromFile(Contesto del contesto, Stringa modelPath)
Crea un'istanza ImageClassifier da un file del modello e dal valore predefinito di ImageClassifier.ImageClassifierOptions.
statico ImageClassifier
createFromFile(Contesto del contesto, File modelFile)
Crea un'istanza ImageClassifier da un file del modello e dal valore predefinito di ImageClassifier.ImageClassifierOptions.
statico ImageClassifier

Metodi ereditati

Metodi pubblici

Public ImageClassifierResult classify (MPImage immagine)

Esegue la classificazione sulla singola immagine fornita con opzioni di elaborazione delle immagini predefinite, ovvero utilizzando l'intera immagine come regione di interesse e senza alcuna rotazione applicata. Utilizza questo metodo solo quando ImageClassifier viene creato con ERROR(/RunningMode.IMAGE).

ImageClassifier supporta i seguenti tipi di spazi colore:

Parametri
immagine un oggetto MPImage di MediaPipe per l'elaborazione.
Lanci
in caso di errore interno.

pubblici ImageClassifierResult classify (MPImage immagine, ImageProcessingOptions image elaborazioneOptions)

Esegue la classificazione sulla singola immagine fornita. Utilizza questo metodo solo quando ImageClassifier viene creato con ERROR(/RunningMode.IMAGE).

ImageClassifier supporta i seguenti tipi di spazi colore:

Parametri
immagine un oggetto MPImage di MediaPipe per l'elaborazione.
imageProcessingOptions ImageProcessingOptions che specifica come elaborare l'immagine di input prima di eseguire l'inferenza.
Lanci
in caso di errore interno.

Public void classifyAsync (immagine MPImage, ImageProcessingOptions image elaborazioneOptions, timestamp lungoMs)

Invia i dati delle immagini in tempo reale per eseguire la classificazione e i risultati saranno disponibili tramite l'OutputHandler.ResultListener fornito in ImageClassifier.ImageClassifierOptions. Utilizza questo metodo solo quando ImageClassifier viene creato con ERROR(/RunningMode.LIVE_STREAM).

È necessario fornire un timestamp (in millisecondi) per indicare quando l'immagine di input viene inviata al rilevatore di oggetti. I timestamp di input devono essere crescenti in modo monotonico.

ImageClassifier supporta i seguenti tipi di spazi colore:

Parametri
immagine un oggetto MPImage di MediaPipe per l'elaborazione.
imageProcessingOptions ImageProcessingOptions che specifica come elaborare l'immagine di input prima di eseguire l'inferenza.
timestampMs il timestamp di input (in millisecondi).
Lanci
in caso di errore interno.

Public void classifyAsync (immagine MPImage, timestampM lunghi)

Invia i dati delle immagini attive per eseguire la classificazione con opzioni di elaborazione delle immagini predefinite, ovvero utilizzando l'intera immagine come regione di interesse e senza alcuna rotazione applicata, e i risultati saranno disponibili tramite il OutputHandler.ResultListener fornito in ImageClassifier.ImageClassifierOptions. Utilizza questo metodo solo quando ImageClassifier viene creato con ERROR(/RunningMode.LIVE_STREAM).

È necessario fornire un timestamp (in millisecondi) per indicare quando l'immagine di input viene inviata al rilevatore di oggetti. I timestamp di input devono essere crescenti in modo monotonico.

ImageClassifier supporta i seguenti tipi di spazi colore:

Parametri
immagine un oggetto MPImage di MediaPipe per l'elaborazione.
timestampMs il timestamp di input (in millisecondi).
Lanci
in caso di errore interno.

pubblici ImageClassifierResult classifyForVideo (immagine MPImage, timestamp lungoMs)

Esegue la classificazione sul frame video fornito con opzioni di elaborazione delle immagini predefinite, ovvero utilizzando l'intera immagine come regione di interesse e senza alcuna rotazione applicata. Utilizza questo metodo solo quando ImageClassifier viene creato con ERROR(/RunningMode.VIDEO).

È necessario fornire il timestamp (in millisecondi) del frame video. I timestamp di input devono essere crescenti in modo monotonico.

ImageClassifier supporta i seguenti tipi di spazi colore:

Parametri
immagine un oggetto MPImage di MediaPipe per l'elaborazione.
timestampMs il timestamp di input (in millisecondi).
Lanci
in caso di errore interno.

pubblici ImageClassifierResult classifyForVideo (MPImage immagine, ImageProcessingOptions imageProcessOptions, timestamp lunghiMs)

Esegue la classificazione sul frame video fornito. Utilizza questo metodo solo quando ImageClassifier viene creato con ERROR(/RunningMode.VIDEO).

È necessario fornire il timestamp (in millisecondi) del frame video. I timestamp di input devono essere crescenti in modo monotonico.

ImageClassifier supporta i seguenti tipi di spazi colore:

Parametri
immagine un oggetto MPImage di MediaPipe per l'elaborazione.
imageProcessingOptions ImageProcessingOptions che specifica come elaborare l'immagine di input prima di eseguire l'inferenza.
timestampMs il timestamp di input (in millisecondi).
Lanci
in caso di errore interno.

statico pubblico ImageClassifier createFromBuffer (Context context, ByteBuffer modelBuffer)

Crea un'istanza ImageClassifier da un buffer del modello e dal valore predefinito di ImageClassifier.ImageClassifierOptions.

Parametri
context un ERROR(/Context) Android.
modelBuffer un ByteBuffer diretto o un ERROR(/MappedByteBuffer) del modello di classificazione.
Lanci
in caso di errore durante la creazione di ImageClassifier.

pubblico static ImageClassifier createFromFile (Contesto del contesto, Stringa modelPath)

Crea un'istanza ImageClassifier da un file del modello e dal valore predefinito di ImageClassifier.ImageClassifierOptions.

Parametri
context un ERROR(/Context) Android.
modelPath del modello di classificazione negli asset.
Lanci
in caso di errore durante la creazione di ImageClassifier.

statico pubblico ImageClassifier createFromFile (Contesto del contesto, File modelFile)

Crea un'istanza ImageClassifier da un file del modello e dal valore predefinito di ImageClassifier.ImageClassifierOptions.

Parametri
context un ERROR(/Context) Android.
modelFile l'istanza del modello di classificazione File.
Lanci
IOException se si verifica un errore I/O all'apertura del file del modello tflite.
in caso di errore durante la creazione di ImageClassifier.

pubblico static ImageClassifier createFromOptions (Context context, ImageClassifier.ImageClassifierOptions opzioni)

Parametri
context un ERROR(/Context) Android.
opzioni del modello. un'istanza ImageClassifier.ImageClassifierOptions.
Lanci
in caso di errore durante la creazione di ImageClassifier.