Préparer des assistants intelligents

Pour préparer des assistants intelligents destinés à l’application de terrain Survey123, vous avez besoin d’un modèle de classification d’images ou d’un modèle de détection d’objets. Vous pouvez créer les modèles utilisés par les assistants intelligents, télécharger des modèles depuis ArcGIS Living Atlas of the World ou accéder à des modèles via des API intégrées. Pour plus d’informations, reportez-vous à la rubrique Assistants intelligents.

Ajouter des attributs intelligents à une enquête

Les sections ci-après indiquent la marche à suivre pour ajouter des attributs intelligents à une enquête.

Ajouter un modèle

Pour ajouter un modèle à une enquête, procédez comme suit :

  1. Créez une enquête dans Survey123 Connect.
  2. Ajoutez une question image.
  3. Copiez les fichiers de modèle (<model_name>.tflite et <model_name>.txt ou <model_name>.emd) dans le dossier media de l’enquête.

    Les noms de fichier ne doivent pas contenir d’espaces.

    Vous pouvez utiliser le modèle Détection des objets communs du ArcGIS Living Atlas of the World pour vous familiariser avec les assistants intelligents. Vous avez le choix entre télécharger le modèle et lier le modèle à l’enquête.

  4. Ajoutez le paramètre smartAttributes dans la colonne bind::esri:parameters, puis indiquez le nom du modèle.

    smartAttributes=CommonObjectDetection

  5. Vous pouvez également indiquer des propriétés après le nom du modèle dans la colonne bind::esri:parameters, pour contrôler le score de confiance minimal, l’aperçu de la caméra, les étiquettes et les classes d’objets. Utilisez une esperluette (&) pour séparer les propriétés.

    smartAttributes=CommonObjectDetection&minScore=0.6&cameraPreview=true

Les objets détectés dans une image capturée sont écrits dans ses métadonnées EXIF. Vous pouvez utiliser des calculs dans l’enquête pour extraire les attributs d’une image et les utiliser dans d’autres questions.

La table suivante répertorie les propriétés obligatoires et facultatives qu’il est possible d’utiliser avec le paramètre smartAttributes :

PropriétéValeur par défautDescription

<nom_modèle>

N/D

(obligatoire). Modèle de classification d’images ou de détection d’objets. Les noms de modèle ne doivent pas contenir d’espaces. Le nom doit correspondre au nom de fichier (sans l’extension) du fichier de modèle stocké dans le dossier media de l’enquête.

Valeur : <model_name>

Exemple :

smartAttributes=CommonObjectDetection

minScore

0,5

Facultatif. Indication du niveau de confiance minimal pour la classification d’images ou la détection d’objets.

Valeurs : 0 - 1

Exemple :

minScore=0.7

cameraPreview

false

Facultatif. Activation de l’aperçu en temps réel. Les objets détectés par le modèle sont signalés par des emprises dans la vue de la caméra en direct.

Valeurs : true | false

Exemple :

cameraPreview=true

label

vrai

Facultatif. Affichage ou non des étiquettes de classe d’objets dans l’aperçu de la caméra.

Cette propriété est valide uniquement lorsque cameraPreview=true.

Valeurs : true | false

Exemple :

label=false

classe

N/A (toutes les classes du modèle sont utilisées)

Facultatif. Classes d’objets à détecter. Toutes les autres classes du modèle sont ignorées. Les noms de classe doivent être identiques à ceux des classes du modèle. Il est possible d’indiquer plusieurs classes, chacune séparée par une virgule.

Valeur : <class name>

Exemple :

class=parking_meter,stop_sign,traffic_light

Extraire les attributs d’une image

Pour extraire les attributs d’une image, procédez comme suit :

  1. Ajoutez une question de type texte ou calcul à l’enquête.

    Si vous utilisez une question de type texte, l’objet JSON est visible sur le formulaire. Si vous utilisez une question de type calcul, l’objet JSON n’est pas visible sur le formulaire, mais les valeurs peuvent être référencées par d’autres questions.

  2. Dans la colonne calculation, saisissez ce qui suit : string(pulldata("@exif", ${photo}, "ImageDescription"))

    Cette expression extrait la description de l’image des métadonnées EXIF de l’image, sous la forme d’un objet JSON. Assurez-vous que la colonne bind::esri:fieldLength est suffisamment longue pour contenir le résultat. L’objet JSON contient des informations sur les objets détectés dans l’image, dans laquelle classNames est une liste de classes d’objets séparées par des virgules et classes répertorie le nom, le score et les coordonnées de l’emprise de chaque objet. Consultez l’exemple ci-dessous :

    {
        "classNames": "person,bottle,keyboard",
        "classes": [
            {
                "name": "person",
                "score": 0.67421875,
                "xmin": 47,
                "ymin": 20,
                "xmax": 1086,
                "ymax": 262
            },
            {
                "name": "bottle",
                "score": 0.7625,
                "xmin": 237,
                "ymin": 469,
                "xmax": 552,
                "ymax": 639
            },
            {
                "name": "keyboard",
                "score": 0.55078125,
                "xmin": 28,
                "ymin": 49,
                "xmax": 1078,
                "ymax": 385
            }
        ]
    }
  3. Ajoutez une question de type texte à l’enquête nommée results.
  4. Dans la colonne calculation, saisissez ce qui suit : string(pulldata("@json", ${results}, "classNames"))

    Cette expression extrait la valeur classNames de l’objet JSON.

    Pour plus d’informations sur la fonction pulldata("@json"), consultez Extraire une valeur d’un objet JSON.

Il est également possible d’extraire des résultats individuels de la question résultat et de les utiliser pour remplir des questions à sélection unique, à sélection multiple ou d’autres questions Texte. En guise d’exemples, consultez l’exemple d’enquête portant sur les attributs intelligents dans Survey123 Connect.

Ajouter une annotation intelligente à une enquête

Pour ajouter une annotation intelligente à une enquête, procédez comme suit :

  1. Créez une enquête dans Survey123 Connect.
  2. Ajoutez une question de type image avec l’apparence annotate (annoter).

    Vous pouvez également saisir method=camera,browse dans la colonne body::esri:style de la question de type image. Par défaut, l’apparence annotate permet de prendre de nouvelles photos avec la caméra de l’application de terrain. L’ajout de method=camera,browse permet d’utiliser l’annotation intelligente avec les images sélectionnées dans l’emplacement de stockage de l’appareil, en plus des photos prises avec la caméra.

  3. Copiez les fichiers de modèle (<model_name>.tflite et <model_name>.txt ou <model_name>.emd) dans le dossier media de l’enquête.

    Les noms de fichier ne doivent pas contenir d’espaces.

    Vous pouvez utiliser le modèle Détection des objets communs du ArcGIS Living Atlas of the World pour vous familiariser avec les assistants intelligents. Vous avez le choix entre télécharger le modèle et lier le modèle à l’enquête.

  4. Ajoutez le paramètre smartAnnotation à la colonne bind::esri:parameters, puis indiquez le nom du modèle.

    smartAnnotation=CommonObjectDetection

  5. Vous pouvez également indiquer des propriétés après le nom du modèle dans la colonne bind::esri:parameters, pour contrôler le score de confiance minimal, l’aperçu de la caméra, les étiquettes, les classes d’objets, les emprises et la mise en forme des caractères. Utilisez une esperluette (&) pour séparer les propriétés.

    smartAnnotation=CommonObjectDetection&minScore=0.6&cameraPreview=true&class=car&fontSize=24

Les objets détectés dans une image capturée sont signalés par des emprises et des étiquettes sur la toile d’annotation. Vous pouvez ajouter, modifier et supprimer une annotation.

La table suivante répertorie les propriétés obligatoires et facultatives qu’il est possible d’utiliser avec le paramètre smartAnnotation :

PropriétéValeur par défautDescription

<nom_modèle>

N/D

(obligatoire). Modèle de détection d’objets. Les noms de modèle ne doivent pas contenir d’espaces. Le nom doit correspondre au nom de fichier (sans l’extension) du fichier de modèle stocké dans le dossier media de l’enquête.

Valeur : <model_name>

Exemples :

smartAnnotation=CommonObjectDetection

minScore

0,5

Facultatif. Indication du niveau de confiance minimal pour la détection d’objets.

Valeurs : 0 - 1

Exemples :

minScore=0.7

cameraPreview

false

Facultatif. Activation de l’aperçu en temps réel. Les objets détectés par le modèle sont signalés par des emprises dans la vue de la caméra en direct.

Valeurs : true | false

Exemples :

cameraPreview=true

label

vrai

Facultatif. Affichage ou non des étiquettes de classe d’objets dans l’aperçu de la caméra et sur la toile d’annotation.

Cette propriété est valide uniquement lorsque cameraPreview=true.

Valeurs : true | false

Exemples :

label=false

classe

N/A (toutes les classes du modèle sont utilisées)

Facultatif. Classes d’objets à détecter. Toutes les autres classes du modèle sont ignorées. Les noms de classe doivent être identiques à ceux des classes du modèle. Il est possible d’indiquer plusieurs classes, chacune séparée par une virgule.

Valeur : <class name>

Exemples :

class=truck,car,motorcycle

boundingBoxes

vrai

Facultatif. Création ou non des polygones d’emprise sous forme d’éléments graphiques dans la toile d’annotation pour identifier les objets détectés.

Valeurs : true | false

Exemples :

boundingBoxes=false

outlineWidth

2

Facultatif. Indication de la largeur des emprises. Cette propriété est valide uniquement lorsque boundingBoxes=true.

Valeurs : <integer>

Exemples :

outlineWidth=3

police

Police de l’application de terrain Survey123

Facultatif. Police de caractères à utiliser pour les étiquettes sur la toile d’annotation.

Remarque :

Toutes les polices ne sont pas disponibles sur tous les appareils. Vérifiez l’annotation générée par vos appareils favoris pour vous assurer que son apparence correspond à vos attentes.

Valeur : <font name>

Exemples :

font=verdana

fontSize

20

Facultatif. Indication de la taille des étiquettes sur la toile d’annotation.

Valeur : <integer>

Exemples :

fontSize=30

gras

false

Facultatif. Application ou non de la mise en gras aux étiquettes sur la toile d’annotation.

Valeurs : true | false

Exemples :

bold=true

italique

false

Facultatif. Application ou non de la mise en italique aux étiquettes sur la toile d’annotation.

Valeurs : true | false

Exemples :

italic=true

Vous pouvez créer une palette d’annotation sur mesure pour personnaliser la façon dont les objets sont annotés sur la toile d’annotation. Vous pouvez mettre en forme les étiquettes et définir le style des emprises ou des symboles ponctuels utilisés pour identifier chaque classe d’objets. Pour appliquer un style d’annotation personnalisé à une classe d’objets, la valeur de la colonne label du modèle XLSPalette doit correspondre au nom de la classe du modèle. Pour plus d’informations, consultez Palettes Dessiner et annoter.

Remarque :

Lorsque vous utilisez une palette d’annotation personnalisée avec une annotation intelligente, les propriétés suivantes sont ignorées :

  • label (uniquement pour la toile d’annotation)
  • boundingBoxes
  • outlineWidth
  • font
  • fontSize
  • bold
  • italic

Ajouter une édition intelligente à une enquête

Vous pouvez ajouter le paramètre redaction à la colonne bind::esri:parameters pour insérer une édition dans une question de type image d’une enquête. Il existe trois façons de configurer une édition d’image dans une enquête :

  • Ajouter une édition par l’inclusion d’un modèle avec l’enquête. Cette méthode est prise en charge sur Android, sur iOS et sous Windows.
  • Ajouter une édition des visages intégrée. Cette méthode est prise en charge sur Android et sur iOS. Il peut être nécessaire d’activer les fonctions de caméra améliorées dans l’application de terrain pour pouvoir utiliser l’édition intelligente. Pour plus d’informations, reportez-vous à la section Machine Learning.
  • Ajouter une édition manuelle uniquement. Cette méthode permet aux utilisateurs d’éditer des régions d’une image en ajoutant manuellement des emprises. Cette méthode est prise en charge sur Android, sur iOS et sous Windows.

Le tableau suivant répertorie les propriétés obligatoires et facultatives qu’il est possible d’utiliser avec le paramètre redaction.

PropriétéValeur par défautDescription

<nom_modèle>

N/D

(obligatoire). Modèle de détection d’objets. Les noms de modèle ne doivent pas contenir d’espaces. Le nom doit correspondre au nom de fichier (sans l’extension) du fichier de modèle stocké dans le dossier media de l’enquête. Vous pouvez également utiliser @faces pour avoir recours à la détection des visages intégrée ou @manual pour activer l’édition manuelle uniquement.

Valeurs : <model_name> | @faces | @manual

Exemples :

redaction=CommonObjectDetection
redaction=@faces
redaction=@manual

minScore

0,5

Facultatif. Indication du niveau de confiance minimal pour la détection d’objets. Cette propriété est ignorée lorsque le nom du modèle est @faces ou @manual.

Valeurs : 0 - 1

Exemples :

minScore=0.7

cameraPreview

false

Facultatif. Activation de l’aperçu en temps réel. Les objets détectés par le modèle sont signalés par des emprises dans la vue de la caméra en direct. Cette propriété est ignorée lorsque le nom du modèle est @manual.

Valeurs : true | false

Exemples :

cameraPreview=true

label

vrai

Facultatif. Affichage ou non des étiquettes de classe d’objets dans l’aperçu de la caméra.

Cette propriété est valide uniquement lorsque cameraPreview=true.

Valeurs : true | false

Exemples :

label=false

classe

N/A (toutes les classes du modèle sont utilisées)

Facultatif. Classes d’objets à détecter. Toutes les autres classes du modèle sont ignorées. Les noms de classe doivent être identiques à ceux des classes du modèle. Cette propriété est ignorée lorsque le nom du modèle est @faces ou @manual.

Valeur : <class_name>, séparée par une virgule (,)

Exemples :

class=person,cat,dog

engine

N/D

Facultatif. Utilisation de l’API Vision intégrée de la marque Apple pour la détection des visages. Pour plus d’informations, reportez-vous à la section Machine Learning. Cette propriété est valide uniquement lorsque le nom du modèle est @faces. Elle est prise en charge uniquement sur les appareils iOS.

Valeur : vision

Exemples :

engine=vision

effect

pixelliser

Facultatif. Indication d’un effet d’édition à appliquer aux régions éditées.

Valeurs : pixelate | blur | blockout | symbol

Exemples :

effect=blur

symbole

N/D

Facultatif. Symbole à appliquer aux régions éditées.

Cette propriété est valide uniquement lorsque effect=symbol.

Valeurs : <Emoji> | <SVG file name>

Exemples :

symbol=🚫
symbol=blockout.svg

fillColor

#000000

Facultatif. Couleur de remplissage des zones de masquage. Cette propriété est valide uniquement lorsque effect=blockout.

Valeurs : <HTML color name> | <hex color code>

Exemples :

fillColor=Blue

échelle

1

Facultatif. Indication de la taille des emprises, qui est limitée au double de la taille par défaut. Cette propriété est ignorée lorsque le nom du modèle est @manual.

Valeurs : 1 | 2

Exemples :

scale=2

Ajouter une édition par l’inclusion d’un modèle

Pour ajouter une édition à une enquête en incluant un modèle de détection d’objets, procédez comme suit :

  1. Créez une enquête dans Survey123 Connect.
  2. Ajoutez une question image.
  3. Copiez les fichiers de modèle (<model_name>.tflite et <model_name>.txt ou <model_name>.emd) dans le dossier media de l’enquête.

    Les noms de fichier ne doivent pas contenir d’espaces.

    Vous pouvez utiliser le modèle Détection des objets communs du ArcGIS Living Atlas of the World pour vous familiariser avec les assistants intelligents. Vous avez le choix entre télécharger le modèle et lier le modèle à l’enquête.

  4. Ajoutez le paramètre redaction à la colonne bind::esri:parameters, puis indiquez le nom du modèle.

    redaction=CommonObjectDetection

  5. Vous pouvez également indiquer des propriétés après le nom du modèle dans la colonne bind::esri:parameters, pour contrôler le score de confiance minimal, l’aperçu de la caméra, les étiquettes, les classes d’objets, le moteur et les effets de l’édition. Utilisez une esperluette (&) pour séparer les propriétés.

    redaction=CommonObjectDetection&minScore=0.6&cameraPreview=true&effect=blur

Ajouter une édition des visages intégrée

Pour ajouter une édition des visages intégrée à une enquête sans inclure de modèle de détection d’objets, procédez comme suit :

  1. Créez une enquête dans Survey123 Connect.
  2. Ajoutez une question image.
  3. Ajoutez le paramètre redaction à la colonne bind::esri:parameters, puis nommez le modèle @faces.

    redaction=@faces

    La propriété @faces utilise la technologie intégrée pour éditer des visages dans des images. Les fonctions de caméra améliorées doivent être activées dans l’application de terrain pour que cette édition fonctionne correctement. Pour plus d’informations, reportez-vous à la section Machine Learning.

  4. Vous pouvez également indiquer des propriétés après le nom du modèle dans la colonne bind::esri:parameters, pour contrôler le score de confiance minimal, l’aperçu de la caméra, les étiquettes, les classes d’objets, le moteur et les effets de l’édition. Utilisez une esperluette (&) pour séparer les propriétés.

    redaction=@faces&cameraPreview=true&effect=blur

Ajouter une édition manuelle

Pour ajouter une édition manuelle à une enquête, procédez comme suit :

  1. Créez une enquête dans Survey123 Connect.
  2. Ajoutez une question image.
  3. Ajoutez le paramètre redaction à la colonne bind::esri:parameters, puis nommez le modèle @manual.

    redaction=@manual

  4. Vous pouvez également indiquer des propriétés après le nom du modèle dans la colonne bind::esri:parameters, pour contrôler les effets de l’édition. Utilisez une esperluette (&) pour séparer les propriétés.

    redaction=@manual&effect=blockout&fillColor=#000000