Effectue la détection d'objets sur les images.
L'API attend un modèle TFLite avec des métadonnées de modèle TFLite. .
L'API prend en charge les modèles avec un tenseur d'entrée d'image et quatre tenseurs de sortie. Pour être plus précis, voici les exigences.
- Tenseur d'image d'entrée (
kTfLiteUInt8
/kTfLiteFloat32
)- entrée d'image de taille
[batch x height x width x channels]
. - L'inférence par lots n'est pas prise en charge (
batch
doit être 1). - seules les entrées RVB sont prises en charge (
channels
doivent être au nombre de 3). - si le type est
kTfLiteFloat32
, les NormalizationOptions doivent être attachées aux métadonnées pour la normalisation des entrées.
- entrée d'image de taille
DetectionPostProcess
, c'est à dire :- Tenseur de localisation (
kTfLiteFloat32
) :- tenseur de taille
[1 x num_results x 4]
, le tableau interne représentant les cadres de délimitation sous la forme [haut, gauche, droite, bas]. -
BoundingBoxProperties
doivent être attachées aux métadonnées et doivent spécifiertype=BOUNDARIES
etcoordinate_type=RATIO
.
- tenseur de taille
kTfLiteFloat32
) :- tenseur de taille
[1 x num_results]
, chaque valeur représentant l'index entier d'une classe. - si les cartes d'étiquettes sont attachées aux métadonnées en tant que fichiers associés
TENSOR_VALUE_LABELS
, elles sont utilisées pour convertir les valeurs du tenseur en étiquettes.
kTfLiteFloat32
):- tenseur de taille
[1 x num_results]
, chaque valeur représentant le score de l'objet détecté.
kTfLiteFloat32
) :- entier num_results comme tenseur de taille
[1]
.
Un exemple d'un tel modèle peut être trouvé sur TensorFlow Hub. .
Classes imbriquées
classe | ObjectDetector.ObjectDetectorOptions | Options de configuration d'un détecteur d'objets. |
Méthodes publiques
Méthodes héritées
Méthodes publiques
public static ObjectDetector createFromBuffer ( ByteBuffer modelBuffer)
Crée une instance ObjectDetector
avec un tampon de modèle et le ObjectDetector.ObjectDetectorOptions
par défaut.
Paramètres
modèleBuffer | un ByteBuffer direct ou un MappedByteBuffer du modèle de détection |
---|
Jetés
Exception d'argument illégal | si le tampon du modèle n'est pas un ByteBuffer direct ou un MappedByteBuffer * @throws IllegalStateException s'il y a une erreur interne |
---|---|
Exception d'exécution | s'il y a une erreur autrement non spécifiée |
public static ObjectDetector createFromBufferAndOptions (options ByteBuffer modelBuffer, ObjectDetector.ObjectDetectorOptions )
Crée une instance ObjectDetector
avec un tampon de modèle et ObjectDetector.ObjectDetectorOptions
.
Paramètres
modèleBuffer | un ByteBuffer direct ou un MappedByteBuffer du modèle de détection |
---|---|
choix |
Jetés
Exception d'argument illégal | si le tampon de modèle n'est pas un ByteBuffer direct ou un MappedByteBuffer |
---|---|
IllegalStateException | s'il y a une erreur interne |
Exception d'exécution | s'il y a une erreur autrement non spécifiée |
public static ObjectDetector createFromFile (contexte contextuel, String modelPath)
Crée une instance ObjectDetector
à partir de ObjectDetector.ObjectDetectorOptions
par défaut.
Paramètres
contexte | |
---|---|
modèleChemin | chemin d'accès au modèle de détection avec des métadonnées dans les actifs |
Jetés
IOException | si une erreur d'E/S se produit lors du chargement du modèle tflite |
---|---|
Exception d'argument illégal | si un argument n'est pas valide |
IllegalStateException | s'il y a une erreur interne |
Exception d'exécution | s'il y a une erreur autrement non spécifiée |
public static ObjectDetector createFromFile ( Fichier modelFile)
Crée une instance ObjectDetector
à partir de ObjectDetector.ObjectDetectorOptions
par défaut.
Paramètres
fichier modèle | le modèle de détection Instance File |
---|
Jetés
IOException | si une erreur d'E/S se produit lors du chargement du modèle tflite |
---|---|
Exception d'argument illégal | si un argument n'est pas valide |
IllegalStateException | s'il y a une erreur interne |
Exception d'exécution | s'il y a une erreur autrement non spécifiée |
public static ObjectDetector createFromFileAndOptions (contexte de contexte, String modelPath, options ObjectDetector.ObjectDetectorOptions )
Crée une instance ObjectDetector
à partir de ObjectDetector.ObjectDetectorOptions
.
Paramètres
contexte | |
---|---|
modèleChemin | chemin d'accès au modèle de détection avec des métadonnées dans les actifs |
choix |
Jetés
IOException | si une erreur d'E/S se produit lors du chargement du modèle tflite |
---|---|
Exception d'argument illégal | si un argument n'est pas valide |
IllegalStateException | s'il y a une erreur interne |
Exception d'exécution | s'il y a une erreur autrement non spécifiée |
public static ObjectDetector createFromFileAndOptions (options de fichier modelFile, ObjectDetector.ObjectDetectorOptions )
Crée une instance ObjectDetector
à partir de ObjectDetector.ObjectDetectorOptions
.
Paramètres
fichier modèle | le modèle de détection Instance File |
---|---|
choix |
Jetés
IOException | si une erreur d'E/S se produit lors du chargement du modèle tflite |
---|---|
Exception d'argument illégal | si un argument n'est pas valide |
IllegalStateException | s'il y a une erreur interne |
Exception d'exécution | s'il y a une erreur autrement non spécifiée |
liste publique < Détection > détecter (image MlImage )
Effectue une détection réelle sur le MlImage
fourni.
Paramètres
image | un objet MlImage qui représente une image |
---|
Jetés
IllegalStateException | s'il y a une erreur interne |
---|---|
Exception d'exécution | s'il y a une erreur autrement non spécifiée |
Exception d'argument illégal | si le type ou le format de stockage de l'image n'est pas pris en charge |
liste publique < Détection > détecter (image TensorImage , options ImageProcessingOptions )
Effectue une détection réelle sur l’image fournie.
ObjectDetector
prend en charge les types d'espace colorimétrique TensorImage
suivants :
ObjectDetector
prend en charge les options suivantes :
- rotation de l'image (via
ImageProcessingOptions.Builder.setOrientation(ImageProcessingOptions.Orientation)
). La valeur par défaut estImageProcessingOptions.Orientation.TOP_LEFT
.
Paramètres
image | un objet UINT8 TensorImage qui représente une image RVB ou YUV |
---|---|
choix | les options pour configurer comment prétraiter l'image |
Jetés
IllegalStateException | s'il y a une erreur interne |
---|---|
Exception d'exécution | s'il y a une erreur autrement non spécifiée |
Exception d'argument illégal | si le type d'espace colorimétrique de l'image n'est pas pris en charge |
liste publique < Détection > détecter (image MlImage , options ImageProcessingOptions )
Effectue une détection réelle sur le MlImage
fourni avec ImageProcessingOptions
.
ObjectDetector
prend en charge les options suivantes :
- rotation de l'image (via
ImageProcessingOptions.Builder.setOrientation(ImageProcessingOptions.Orientation)
). La valeur par défaut estImageProcessingOptions.Orientation.TOP_LEFT
.MlImage.getRotation()
n'est pas efficace.
Paramètres
image | un objet MlImage qui représente une image |
---|---|
choix | les options pour configurer comment prétraiter l'image |
Jetés
IllegalStateException | s'il y a une erreur interne |
---|---|
Exception d'exécution | s'il y a une erreur autrement non spécifiée |
Exception d'argument illégal | si le type ou le format de stockage de l'image n'est pas pris en charge |
liste publique < Détection > détecter (image TensorImage )
Effectue une détection réelle sur l’image fournie.
ObjectDetector
prend en charge les types d'espace colorimétrique TensorImage
suivants :
Paramètres
image | un objet UINT8 TensorImage qui représente une image RVB ou YUV |
---|
Jetés
IllegalStateException | s'il y a une erreur interne |
---|---|
Exception d'exécution | s'il y a une erreur autrement non spécifiée |
Exception d'argument illégal | si le type d'espace colorimétrique de l'image n'est pas pris en charge |