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.
- immagine di dimensione
- 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 campodisplay_name
viene compilato dall'AssociatedFile (se presente), le cui impostazioni internazionali corrispondono al campodisplay_names_locale
dell'elementoImageClassifierOptions
utilizzato al momento della creazione ("en" per impostazione predefinita, ovvero inglese). Se nessuno di questi valori è disponibile, verrà compilato solo il campoindex
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 | |
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 |
createFromOptions(Contesto del contesto, opzioni ImageClassifier.ImageClassifierOptions)
Crea un'istanza
ImageClassifier da un'istanza ImageClassifier.ImageClassifierOptions . |
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)
Crea un'istanza ImageClassifier
da un'istanza ImageClassifier.ImageClassifierOptions
.
Parametri
context | un ERROR(/Context) Android. |
---|---|
opzioni del modello. | un'istanza ImageClassifier.ImageClassifierOptions . |
Lanci
in caso di errore durante la creazione di ImageClassifier .
|