ObjectDetector

ObjectDetector de classe finale publique

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.
  • Les tenseurs de sortie doivent être les 4 sorties d'une opération 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écifier type=BOUNDARIES et coordinate_type=RATIO .
    • Tenseur des classes ( 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.
    • tenseur des scores ( kTfLiteFloat32 ):
      • tenseur de taille [1 x num_results] , chaque valeur représentant le score de l'objet détecté.
    • Nombre de tenseur de détection ( 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

Détecteur d'objet statique
createFromBuffer ( ByteBuffer modelBuffer)
Crée une instance ObjectDetector avec un tampon de modèle et le ObjectDetector.ObjectDetectorOptions par défaut.
Détecteur d'objet statique
Détecteur d'objet statique
createFromFile (contexte contextuel, String modelPath)
Crée une instance ObjectDetector à partir de ObjectDetector.ObjectDetectorOptions par défaut.
Détecteur d'objet statique
createFromFile ( Fichier modèleFichier)
Crée une instance ObjectDetector à partir de ObjectDetector.ObjectDetectorOptions par défaut.
Détecteur d'objet statique
createFromFileAndOptions (contexte contextuel, chaîne modelPath, options ObjectDetector.ObjectDetectorOptions )
Crée une instance ObjectDetector à partir de ObjectDetector.ObjectDetectorOptions .
Détecteur d'objet statique
Liste < Détection >
détecter (image MlImage )
Effectue une détection réelle sur le MlImage fourni.
Liste < Détection >
détecter (image TensorImage , options ImageProcessingOptions )
Effectue une détection réelle sur l’image fournie.
Liste < Détection >
détecter (image MlImage , options ImageProcessingOptions )
Effectue une détection réelle sur le MlImage fourni avec ImageProcessingOptions .
Liste < Détection >
détecter (image TensorImage )
Effectue une détection réelle sur l’image fournie.

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 :

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 :

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