Esegue il rilevamento di oggetti sulle immagini.
L'API prevede un modello TFLite con metadati di modelli TFLite.
L'API supporta modelli con un tensore di input dell'immagine e quattro 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
- I tensori di output devono essere i quattro output di un'operazione
DetectionPostProcess
, ad esempio:- Tensore di località (
kTfLiteFloat32
):- tensore della dimensione
[1 x num_results x 4]
, l'array interno che rappresenta i riquadri di delimitazione nel formato [in alto, a sinistra, a destra, in basso]. - I campi
BoundingBoxProperties
devono essere allegati ai metadati e devono specificaretype=BOUNDARIES
ecoordinate_type=RATIO
.
- tensore della dimensione
- Tensore di classi (
kTfLiteFloat32
):- tensore di dimensione
[1 x num_results]
, ciascun valore rappresenta l'indice intero di una classe. - Se ai metadati sono allegate mappe di etichette come file associati a
TENSOR_VALUE_LABELS
, vengono utilizzate per convertire i valori tensore in etichette.
- tensore di dimensione
- tensore dei punteggi (
kTfLiteFloat32
):- tensore di dimensione
[1 x num_results]
, ciascun valore rappresenta il punteggio dell'oggetto rilevato.
- tensore di dimensione
- Numero di tensore di rilevamento (
kTfLiteFloat32
):- numero intero num_results come un tensore di dimensione
[1]
.
- numero intero num_results come un tensore di dimensione
- Tensore di località (
Puoi trovare un esempio di questo modello su TensorFlow Hub.
Corsi nidificati
classe | ObjectDetector.ObjectDetectorOptions | Opzioni per configurare un ObjectDetector . |
Metodi pubblici
ObjectDetector statico |
createFromBuffer(Context context, ByteBuffer modelBuffer)
Crea un'istanza
ObjectDetector da un buffer del modello e il valore predefinito ObjectDetector.ObjectDetectorOptions . |
ObjectDetector statico |
createFromFile(Contesto del contesto, Stringa modelPath)
Crea un'istanza
ObjectDetector da un file del modello e dal valore predefinito ObjectDetector.ObjectDetectorOptions . |
ObjectDetector statico |
createFromFile(Contesto del contesto, File modelFile)
Crea un'istanza
ObjectDetector da un file del modello e dal valore predefinito ObjectDetector.ObjectDetectorOptions . |
ObjectDetector statico |
createFromOptions(Contesto del contesto, ObjectDetector.ObjectDetectorOptions detectorOptions)
Crea un'istanza
ObjectDetector da un ObjectDetector.ObjectDetectorOptions . |
ObjectDetectorResult | |
ObjectDetectorResult |
detect(MPImage immagine, ImageProcessingOptions imageElaborazioneOptions)
Esegue il rilevamento degli oggetti sull'immagine singola fornita.
|
void |
detectAsync(MPImage immagine, ImageProcessingOptions image elaborazioneOptions, timestamp lunghiMs)
Invia i dati delle immagini in tempo reale per eseguire il rilevamento degli oggetti e i risultati saranno disponibili tramite il
OutputHandler.ResultListener fornito in ObjectDetector.ObjectDetectorOptions . |
void |
detectAsync(immagine MPImage, timestamp lunghiM)
Invia i dati delle immagini in tempo reale per il rilevamento degli oggetti con opzioni di elaborazione delle immagini predefinite, ad esempio
|
ObjectDetectorResult |
detectForVideo(MPImage immagine, ImageProcessingOptions imageElaborazioneOptions, timestamp lunghiMs)
Esegue il rilevamento di oggetti sul frame video fornito.
|
ObjectDetectorResult |
detectForVideo(immagine MPImage, timestamp lunghiM)
Esegue il rilevamento di oggetti sul frame video fornito con opzioni di elaborazione delle immagini predefinite, ad esempio
|
Metodi ereditati
Metodi pubblici
pubblico statico ObjectDetector createFromBuffer (Context context, ByteBuffer modelBuffer)
Crea un'istanza ObjectDetector
da un buffer del modello e il valore predefinito ObjectDetector.ObjectDetectorOptions
.
Parametri
context | un ERROR(/Context) Android. |
---|---|
modelBuffer | un ByteBuffer diretto o un ERROR(/MappedByteBuffer) del modello di rilevamento. |
Lanci
in caso di errore durante la creazione di ObjectDetector .
|
pubblico statico ObjectDetector createFromFile (Contesto del contesto, String modelPath)
Crea un'istanza ObjectDetector
da un file del modello e dal valore predefinito ObjectDetector.ObjectDetectorOptions
.
Parametri
context | un ERROR(/Context) Android. |
---|---|
modelPath | percorso del modello di rilevamento con metadati negli asset. |
Lanci
in caso di errore durante la creazione di ObjectDetector .
|
pubblico statico ObjectDetector createFromFile (Contesto del contesto, File modelFile)
Crea un'istanza ObjectDetector
da un file del modello e dal valore predefinito ObjectDetector.ObjectDetectorOptions
.
Parametri
context | un ERROR(/Context) Android. |
---|---|
modelFile | l'istanza del modello di rilevamento 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 ObjectDetector .
|
pubblico statico ObjectDetector createFromOptions (Context context, ObjectDetector.ObjectDetectorOptions detectorOptions)
Crea un'istanza ObjectDetector
da un ObjectDetector.ObjectDetectorOptions
.
Parametri
context | un ERROR(/Context) Android. |
---|---|
detectorOptions | un'istanza ObjectDetector.ObjectDetectorOptions . |
Lanci
in caso di errore durante la creazione di ObjectDetector .
|
Public ObjectDetectorResult detect (MPImage immagine)
Esegue il rilevamento degli oggetti sulla singola immagine fornita con opzioni di elaborazione delle immagini predefinite,
ovvero senza alcuna rotazione applicata. Utilizza questo metodo solo quando ObjectDetector
viene
creato con ERROR(/RunningMode.IMAGE)
.
ObjectDetector
supporta i seguenti tipi di spazi colore:
Parametri
immagine | un oggetto MPImage di MediaPipe per l'elaborazione. |
---|
Lanci
in caso di errore interno. |
pubblici ObjectDetectorResult detect (MPImage immagine, ImageProcessingOptions imageElaborazioneOptions)
Esegue il rilevamento degli oggetti sull'immagine singola fornita. Utilizza questo metodo solo quando ObjectDetector
viene creato con ERROR(/RunningMode.IMAGE)
.
ObjectDetector
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. Tieni presente che la regione di interesse non è supportata da questa attività: se specifichi ImageProcessingOptions.regionOfInterest() , questo metodo genererà un'eccezione di IllegalArgumentException. |
Lanci
IllegalArgumentException | se ImageProcessingOptions specifica una
regione di interesse. |
---|---|
in caso di errore interno. |
Public void detectAsync (immagine MPImage, ImageProcessingOptions imageElaborazioneOptions, timestamp lunghiMs)
Invia i dati delle immagini in tempo reale per eseguire il rilevamento degli oggetti e i risultati saranno disponibili tramite il OutputHandler.ResultListener
fornito in ObjectDetector.ObjectDetectorOptions
. Utilizza questo metodo solo quando
ObjectDetector
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.
ObjectDetector
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. Tieni presente che la regione di interesse non è supportata da questa attività: se specifichi ImageProcessingOptions.regionOfInterest() , questo metodo genererà un'eccezione di IllegalArgumentException. |
timestampMs | il timestamp di input (in millisecondi). |
Lanci
IllegalArgumentException | se ImageProcessingOptions specifica una
regione di interesse. |
---|---|
in caso di errore interno. |
Public void detectAsync (immagine MPImage, timestamp lunghiM)
Invia i dati delle immagini in tempo reale per eseguire il rilevamento degli oggetti con opzioni di elaborazione delle immagini predefinite, ovvero
senza alcuna rotazione applicata, e i risultati saranno disponibili tramite l'OutputHandler.ResultListener
fornito in ObjectDetector.ObjectDetectorOptions
. Utilizza questo metodo solo quando ObjectDetector
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.
ObjectDetector
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. |
Public ObjectDetectorResult detectForVideo (immagine MPImage, ImageProcessingOptions imageElaborazioneOptions, timestamp lunghiMs)
Esegue il rilevamento di oggetti sul frame video fornito. Utilizza questo metodo solo quando ObjectDetector
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.
ObjectDetector
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. Tieni presente che la regione di interesse non è supportata da questa attività: se specifichi ImageProcessingOptions.regionOfInterest() , questo metodo genererà un'eccezione di IllegalArgumentException. |
timestampMs | il timestamp di input (in millisecondi). |
Lanci
IllegalArgumentException | se ImageProcessingOptions specifica una
regione di interesse. |
---|---|
in caso di errore interno. |
Public ObjectDetectorResult detectForVideo (immagine MPImage, timestamp lungoMs)
Esegue il rilevamento degli oggetti sul frame video fornito con opzioni di elaborazione delle immagini predefinite, ovvero senza alcuna rotazione applicata. Utilizza questo metodo solo quando ObjectDetector
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.
ObjectDetector
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. |