Esegue la classificazione delle immagini.
L'API prevede un modello TFLite con metadati del modello TFLite facoltativi, ma fortemente consigliati. .
L'API supporta modelli con un tensore di input dell'immagine e un tensore di output della classificazione. Per essere più specifici, ecco i requisiti.
- Tensore immagine di input (
kTfLiteUInt8
/kTfLiteFloat32
)- input immagine di dimensioni
[batch x height x width x channels]
. - l'inferenza batch non è supportata (
batch
deve essere 1). - sono supportati solo gli ingressi RGB (
channels
devono essere 3). - se il tipo è
kTfLiteFloat32
, è necessario allegare NormalizationOptions ai metadati per la normalizzazione dell'input.
- input immagine di dimensioni
kTfLiteUInt8
/ kTfLiteFloat32
)- con
N
classi di 2 o 4 dimensioni, come[1 x N]
o[1 x 1 x 1 x N]
- è necessario che il file dell'etichetta sia compresso nei metadati. Guarda l' esempio di creazione di metadati per un classificatore di immagini . Se non sono compressi file di etichette, verrà utilizzato l'indice come etichetta nel risultato.
Un esempio di tale modello può essere trovato su TensorFlow Hub. .
Classi nidificate
classe | ImageClassifier.ImageClassifierOptions | Opzioni per l'impostazione di un ImageClassifier. |
Metodi pubblici
Metodi ereditati
Metodi pubblici
Elenco pubblico < Classificazioni > classifica (immagine TensorImage )
Esegue la classificazione effettiva sul TensorImage
fornito.
ImageClassifier
supporta i seguenti tipi di spazio colore TensorImage
:
Parametri
Immagine | un oggetto TensorImage UINT8 che rappresenta un'immagine RGB o YUV |
---|
Lancia
IllegalArgumentException | se il tipo di spazio colore dell'immagine non è supportato |
---|
Elenco pubblico < Classificazioni > classifica (immagine TensorImage , opzioni ImageProcessingOptions )
Esegue la classificazione effettiva sull'oggetto TensorImage
fornito con ImageProcessingOptions
.
ImageClassifier
supporta le seguenti opzioni:
- Regione di interesse (ROI) (tramite
ImageProcessingOptions.Builder.setRoi(Rect)
). Per impostazione predefinita, viene utilizzata l'intera immagine. - rotazione dell'immagine (tramite
ImageProcessingOptions.Builder.setOrientation(ImageProcessingOptions.Orientation)
). Il valore predefinito èImageProcessingOptions.Orientation.TOP_LEFT
.
ImageClassifier
supporta i seguenti tipi di spazio colore TensorImage
:
Parametri
Immagine | un oggetto TensorImage UINT8 che rappresenta un'immagine RGB o YUV |
---|---|
opzioni |
Lancia
IllegalArgumentException | se il tipo di spazio colore dell'immagine non è supportato |
---|
Elenco pubblico < Classificazioni > classifica (immagine MlImage )
Esegue la classificazione effettiva sul MlImage
fornito.
Parametri
Immagine | un oggetto MlImage che rappresenta un'immagine |
---|
Lancia
IllegalArgumentException | se il tipo di archiviazione o il formato dell'immagine non è supportato |
---|
Elenco pubblico < Classificazioni > classifica (immagine MlImage , opzioni ImageProcessingOptions )
Esegue la classificazione effettiva sul MlImage
fornito con ImageProcessingOptions
.
ImageClassifier
supporta le seguenti opzioni:
- Regione di interesse (ROI) (tramite
ImageProcessingOptions.Builder.setRoi(Rect)
). Per impostazione predefinita, viene utilizzata l'intera immagine. - rotazione dell'immagine (tramite
ImageProcessingOptions.Builder.setOrientation(ImageProcessingOptions.Orientation)
). Il valore predefinito èImageProcessingOptions.Orientation.TOP_LEFT
.MlImage.getRotation()
non è efficace.
Parametri
Immagine | un oggetto MlImage che rappresenta un'immagine |
---|---|
opzioni | configura le opzioni tra cui ROI e rotazione |
Lancia
IllegalArgumentException | se il tipo di archiviazione o il formato dell'immagine non è supportato |
---|
ImageClassifier statico pubblico createFromBuffer ( ByteBuffer modelBuffer)
Crea un'istanza ImageClassifier
con un buffer del modello e l' ImageClassifier.ImageClassifierOptions
predefinito.
Parametri
modelBuffer | un ByteBuffer diretto o un MappedByteBuffer del modello di classificazione |
---|
Lancia
IllegalArgumentException | se il buffer del modello non è un ByteBuffer diretto o un MappedByteBuffer |
---|---|
IllegalStateException | se c'è un errore interno |
RuntimeException | se è presente un errore altrimenti non specificato |
ImageClassifier statico pubblico createFromBufferAndOptions ( opzioni ByteBuffer modelBuffer, ImageClassifier.ImageClassifierOptions )
Crea un'istanza ImageClassifier
con un buffer del modello e ImageClassifier.ImageClassifierOptions
.
Parametri
modelBuffer | un ByteBuffer diretto o un MappedByteBuffer del modello di classificazione |
---|---|
opzioni |
Lancia
IllegalArgumentException | se il buffer del modello non è un ByteBuffer diretto o un MappedByteBuffer |
---|---|
IllegalStateException | se c'è un errore interno |
RuntimeException | se è presente un errore altrimenti non specificato |
public static ImageClassifier createFromFile (Contesto di contesto, String modelPath)
Crea un'istanza ImageClassifier
dall'oggetto ImageClassifier.ImageClassifierOptions
predefinito.
Parametri
contesto | |
---|---|
modelPath | percorso del modello di classificazione con metadati negli asset |
Lancia
IOException | se si verifica un errore I/O durante il caricamento del modello tflite |
---|---|
IllegalArgumentException | se un argomento non è valido |
IllegalStateException | se c'è un errore interno |
RuntimeException | se è presente un errore altrimenti non specificato |
ImageClassifier statico pubblico createFromFile ( File modelFile)
Crea un'istanza ImageClassifier
dall'oggetto ImageClassifier.ImageClassifierOptions
predefinito.
Parametri
modelFile | l'istanza File del modello di classificazione |
---|
Lancia
IOException | se si verifica un errore I/O durante il caricamento del modello tflite |
---|---|
IllegalArgumentException | se un argomento non è valido |
IllegalStateException | se c'è un errore interno |
RuntimeException | se è presente un errore altrimenti non specificato |
public static ImageClassifier createFromFileAndOptions (contesto di contesto, stringa modelPath, opzioni ImageClassifier.ImageClassifierOptions )
Crea un'istanza ImageClassifier
da ImageClassifier.ImageClassifierOptions
.
Parametri
contesto | |
---|---|
modelPath | percorso del modello di classificazione con metadati negli asset |
opzioni |
Lancia
IOException | se si verifica un errore I/O durante il caricamento del modello tflite |
---|---|
IllegalArgumentException | se un argomento non è valido |
IllegalStateException | se c'è un errore interno |
RuntimeException | se è presente un errore altrimenti non specificato |
public static ImageClassifier createFromFileAndOptions (opzioni File modelFile, ImageClassifier.ImageClassifierOptions )
Crea un'istanza ImageClassifier
.
Parametri
modelFile | l'istanza File del modello di classificazione |
---|---|
opzioni |
Lancia
IOException | se si verifica un errore I/O durante il caricamento del modello tflite |
---|---|
IllegalArgumentException | se un argomento non è valido |
IllegalStateException | se c'è un errore interno |
RuntimeException | se è presente un errore altrimenti non specificato |