Esegue il rilevamento degli oggetti sulle immagini.
L'API prevede un modello TFLite con metadati del modello TFLite. .
L'API supporta modelli con un tensore di input dell'immagine e quattro tensori 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
DetectionPostProcess
, ovvero:- Tensore di posizione (
kTfLiteFloat32
):- tensore di dimensione
[1 x num_results x 4]
, l'array interno che rappresenta i riquadri di delimitazione nella forma [in alto, a sinistra, a destra, in basso]. - È necessario che
BoundingBoxProperties
sia allegato ai metadati e deve specificaretype=BOUNDARIES
ecoordinate_type=RATIO
.
- tensore di dimensione
kTfLiteFloat32
):- tensore di dimensione
[1 x num_results]
, ogni valore rappresenta l'indice intero di una classe. - se le mappe delle etichette sono allegate ai metadati come file associati
TENSOR_VALUE_LABELS
, vengono utilizzate per convertire i valori del tensore in etichette.
kTfLiteFloat32
):- tensore di dimensione
[1 x num_results]
, ciascun valore rappresenta il punteggio dell'oggetto rilevato.
kTfLiteFloat32
):- intero num_results come tensore di dimensione
[1]
.
Un esempio di tale modello può essere trovato su TensorFlow Hub. .
Classi nidificate
classe | ObjectDetector.ObjectDetectorOptions | Opzioni per impostare un ObjectDetector. |
Metodi pubblici
Metodi ereditati
Metodi pubblici
ObjectDetector pubblico statico createFromBuffer ( ByteBuffer modelBuffer)
Crea un'istanza ObjectDetector
con un buffer del modello e l' ObjectDetector.ObjectDetectorOptions
predefinito.
Parametri
modelBuffer | un ByteBuffer diretto o un MappedByteBuffer del modello di rilevamento |
---|
Lancia
IllegalArgumentException | se il buffer del modello non è un ByteBuffer diretto o un MappedByteBuffer * @throws IllegalStateException se è presente un errore interno |
---|---|
RuntimeException | se è presente un errore altrimenti non specificato |
ObjectDetector pubblico statico createFromBufferAndOptions (opzioni ByteBuffer modelBuffer, ObjectDetector.ObjectDetectorOptions )
Crea un'istanza ObjectDetector
con un buffer del modello e ObjectDetector.ObjectDetectorOptions
.
Parametri
modelBuffer | un ByteBuffer diretto o un MappedByteBuffer del modello di rilevamento |
---|---|
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 |
oggettoDetector statico pubblico createFromFile (contesto di contesto, stringa modelPath)
Crea un'istanza ObjectDetector
dall'oggetto ObjectDetector.ObjectDetectorOptions
predefinito.
Parametri
contesto | |
---|---|
modelPath | percorso al modello di rilevamento con metadati nelle risorse |
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 |
oggettoDetector statico pubblico createFromFile ( File modelFile)
Crea un'istanza ObjectDetector
dall'oggetto ObjectDetector.ObjectDetectorOptions
predefinito.
Parametri
modelFile | l'istanza File del modello di rilevamento |
---|
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 |
ObjectDetector pubblico statico createFromFileAndOptions (contesto di contesto, stringa modelPath, opzioni ObjectDetector.ObjectDetectorOptions )
Crea un'istanza ObjectDetector
da ObjectDetector.ObjectDetectorOptions
.
Parametri
contesto | |
---|---|
modelPath | percorso al modello di rilevamento con metadati nelle risorse |
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 ObjectDetector createFromFileAndOptions ( file modelFile, opzioni ObjectDetector.ObjectDetectorOptions )
Crea un'istanza ObjectDetector
da ObjectDetector.ObjectDetectorOptions
.
Parametri
modelFile | l'istanza File del modello di rilevamento |
---|---|
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 |
Elenco pubblico <Rilevamento> rileva (immagine MlImage )
Esegue il rilevamento effettivo sul MlImage
fornito.
Parametri
Immagine | un oggetto MlImage che rappresenta un'immagine |
---|
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 |
elenco pubblico < rilevamento > rilevamento (immagine TensorImage , opzioni ImageProcessingOptions )
Esegue il rilevamento effettivo sull'immagine fornita.
ObjectDetector
supporta i seguenti tipi di spazio colore TensorImage
:
ObjectDetector
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 per configurare come preelaborare l'immagine |
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 |
elenco pubblico < rilevamento > rilevamento (immagine MlImage , opzioni ImageProcessingOptions )
Esegue il rilevamento effettivo sull'oggetto MlImage
fornito con ImageProcessingOptions
.
ObjectDetector
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 | un oggetto MlImage che rappresenta un'immagine |
---|---|
opzioni | le opzioni per configurare come preelaborare l'immagine |
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 |
Elenco pubblico < Rilevamento > rileva (immagine TensorImage )
Esegue il rilevamento effettivo sull'immagine fornita.
ObjectDetector
supporta i seguenti tipi di spazio colore TensorImage
:
Parametri
Immagine | un oggetto TensorImage UINT8 che rappresenta un'immagine RGB o YUV |
---|
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 |