Esegue la segmentazione delle immagini.
L'API prevede un modello TFLite con metadati del modello TFLite. .
L'API supporta modelli con un tensore di input dell'immagine e un tensore di output. 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
)- tensore di dimensione
[batch x mask_height x mask_width x num_classes]
, dovebatch
deve essere 1,mask_width
emask_height
sono le dimensioni delle maschere di segmentazione prodotte dal modello enum_classes
è il numero di classi supportate dal modello. - le mappe di etichette facoltative (ma consigliate) possono essere allegate come AssociatedFile con tipo TENSOR_AXIS_LABELS, contenenti un'etichetta per riga. Il primo AssociatedFile (se presente) viene utilizzato per riempire il nome della classe, ovvero
ColoredLabel.getlabel()
dei risultati. Il nome visualizzato, ovveroColoredLabel.getDisplayName()
, viene compilato dall'AssociadFile (se presente) la cui locale corrisponde al campo `display_names_locale` di `ImageSegmenterOptions` utilizzato al momento della creazione ("en" per impostazione predefinita, ovvero inglese). Se nessuno di questi è disponibile, verrà compilato solo il campo "indice" dei risultati.
Un esempio di tale modello può essere trovato su TensorFlow Hub. .
Classi nidificate
classe | ImageSegmenter.ImageSegmenterOptions | Opzioni per impostare un ImageSegmenter . |
Metodi pubblici
Metodi ereditati
Metodi pubblici
ImageSegmenter pubblico statico createFromBuffer ( ByteBuffer modelBuffer)
Crea un'istanza ImageSegmenter
con un buffer del modello e l' ImageSegmenter.ImageSegmenterOptions
predefinito.
Parametri
modelBuffer | un ByteBuffer diretto o un MappedByteBuffer del modello di segmentazione |
---|
Lancia
IllegalStateException | se c'è un errore interno |
---|---|
RuntimeException | se è presente un errore altrimenti non specificato |
IllegalArgumentException | se il buffer del modello non è un ByteBuffer diretto o un MappedByteBuffer |
ImageSegmenter pubblico statico createFromBufferAndOptions ( opzioni ByteBuffer modelBuffer, ImageSegmenter.ImageSegmenterOptions )
Crea un'istanza ImageSegmenter
con un buffer del modello e ImageSegmenter.ImageSegmenterOptions
.
Parametri
modelBuffer | un ByteBuffer diretto o un MappedByteBuffer del modello di segmentazione |
---|---|
opzioni |
Lancia
IllegalStateException | se c'è un errore interno |
---|---|
RuntimeException | se è presente un errore altrimenti non specificato |
IllegalArgumentException | se il buffer del modello non è un ByteBuffer diretto o un MappedByteBuffer |
ImageSegmenter statico pubblico createFromFile (contesto di contesto, stringa modelPath)
Crea un'istanza ImageSegmenter
dall'oggetto ImageSegmenter.ImageSegmenterOptions
predefinito.
Parametri
contesto | |
---|---|
modelPath | percorso del modello di segmentazione 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 |
ImageSegmenter pubblico statico createFromFile ( File modelFile)
Crea un'istanza ImageSegmenter
dall'oggetto ImageSegmenter.ImageSegmenterOptions
predefinito.
Parametri
modelFile | l'istanza File del modello di segmentazione |
---|
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 ImageSegmenter createFromFileAndOptions ( file modelFile, opzioni ImageSegmenter.ImageSegmenterOptions )
Crea un'istanza ImageSegmenter
da ImageSegmenter.ImageSegmenterOptions
.
Parametri
modelFile | l'istanza File del modello di segmentazione |
---|---|
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 ImageSegmenter createFromFileAndOptions (contesto di contesto, string modelPath, opzioni ImageSegmenter.ImageSegmenterOptions )
Crea un'istanza ImageSegmenter
da ImageSegmenter.ImageSegmenterOptions
.
Parametri
contesto | |
---|---|
modelPath | percorso del modello di segmentazione 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 |
segmento public List < Segmentation > (lungo frameBufferHandle, opzioni ImageProcessingOptions )
Parametri
frameBufferHandle | |
---|---|
opzioni |
segmento pubblico Elenco < Segmentazione > (immagine TensorImage )
Esegue la segmentazione effettiva sull'immagine fornita.
ImageSegmenter
supporta i seguenti tipi di spazio colore TensorImage
:
Parametri
Immagine | un oggetto TensorImage UINT8 che rappresenta un'immagine RGB o YUV |
---|
ritorna
- risultati dell'esecuzione della segmentazione delle immagini. Tieni presente che al momento è previsto che venga restituito un singolo elemento
Segmentation
. Il risultato viene memorizzato in unList
per una successiva estensione, ad esempio, ai modelli di segmentazione delle istanze, che possono restituire una segmentazione per oggetto.
Lancia
IllegalStateException | se c'è un errore interno |
---|---|
RuntimeException | se è presente un errore altrimenti non specificato |
IllegalArgumentException | se il tipo di spazio colore dell'immagine non è supportato |
segmento pubblico Elenco < Segmentazione > (immagine MlImage )
Esegue la segmentazione effettiva sul MlImage
fornito.
Parametri
Immagine | una MlImage da segmentare. |
---|
ritorna
- risultati dell'esecuzione della segmentazione delle immagini. Tieni presente che al momento è previsto che venga restituito un singolo elemento
Segmentation
. Il risultato viene memorizzato in unList
per una successiva estensione, ad esempio, ai modelli di segmentazione delle istanze, che possono restituire una segmentazione per oggetto.
Lancia
IllegalStateException | se c'è un errore interno |
---|---|
RuntimeException | se è presente un errore altrimenti non specificato |
IllegalArgumentException | se il tipo di archiviazione o il formato dell'immagine non è supportato |
segmento public List < Segmentation > (immagine TensorImage , opzioni ImageProcessingOptions )
Esegue la segmentazione effettiva sull'immagine fornita con ImageProcessingOptions
.
ImageSegmenter
supporta i seguenti tipi di spazio colore TensorImage
:
ImageSegmenter
supporta le seguenti opzioni:
- rotazione dell'immagine (tramite
ImageProcessingOptions.Builder.setOrientation(ImageProcessingOptions.Orientation)
). Il valore predefinito èImageProcessingOptions.Orientation.TOP_LEFT
Parametri
Immagine | un oggetto TensorImage UINT8 che rappresenta un'immagine RGB o YUV |
---|---|
opzioni | le opzioni configurano come preelaborare l'immagine |
ritorna
- risultati dell'esecuzione della segmentazione delle immagini. Tieni presente che al momento è previsto che venga restituito un singolo elemento
Segmentation
. Il risultato viene memorizzato in unList
per una successiva estensione, ad esempio, ai modelli di segmentazione delle istanze, che possono restituire una segmentazione per oggetto.
Lancia
IllegalStateException | se c'è un errore interno |
---|---|
RuntimeException | se è presente un errore altrimenti non specificato |
IllegalArgumentException | se il tipo di spazio colore dell'immagine non è supportato |
segmento pubblico Elenco < Segmentazione > (immagine MlImage , opzioni ImageProcessingOptions )
Esegue la segmentazione effettiva sul MlImage
fornito con ImageProcessingOptions
.
ImageSegmenter
supporta le seguenti opzioni:
- rotazione dell'immagine (tramite
ImageProcessingOptions.Builder.setOrientation(ImageProcessingOptions.Orientation)
). Il valore predefinito èImageProcessingOptions.Orientation.TOP_LEFT
.MlImage.getRotation()
non è efficace.
Parametri
Immagine | una MlImage da segmentare. |
---|---|
opzioni | le opzioni configurano come preelaborare l'immagine. |
ritorna
- risultati dell'esecuzione della segmentazione delle immagini. Tieni presente che al momento è previsto che venga restituito un singolo elemento
Segmentation
. Il risultato viene memorizzato in unList
per una successiva estensione, ad esempio, ai modelli di segmentazione delle istanze, che possono restituire una segmentazione per oggetto.
Lancia
IllegalStateException | se c'è un errore interno |
---|---|
RuntimeException | se è presente un errore altrimenti non specificato |
IllegalArgumentException | se il tipo di spazio colore dell'immagine non è supportato |