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 :
- Créez une enquête dans Survey123 Connect.
- Ajoutez une question image.
- 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.
- Ajoutez le paramètre smartAttributes dans la colonne bind::esri:parameters, puis indiquez le nom du modèle.
smartAttributes=CommonObjectDetection
- 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éfaut | Description |
---|---|---|
<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 :
|
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 :
|
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 :
|
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 :
|
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 :
|
Extraire les attributs d’une image
Pour extraire les attributs d’une image, procédez comme suit :
- 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.
- 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 } ] }
- Ajoutez une question de type texte à l’enquête nommée results.
- 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 :
- Créez une enquête dans Survey123 Connect.
- 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.
- 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.
- Ajoutez le paramètre smartAnnotation à la colonne bind::esri:parameters, puis indiquez le nom du modèle.
smartAnnotation=CommonObjectDetection
- 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éfaut | Description |
---|---|---|
<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 :
|
minScore | 0,5 | Facultatif. Indication du niveau de confiance minimal pour la détection d’objets. Valeurs : 0 - 1 Exemples :
|
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 :
|
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 :
|
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 :
|
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 :
|
outlineWidth | 2 | Facultatif. Indication de la largeur des emprises. Cette propriété est valide uniquement lorsque boundingBoxes=true. Valeurs : <integer> Exemples :
|
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 :
|
fontSize | 20 | Facultatif. Indication de la taille des étiquettes sur la toile d’annotation. Valeur : <integer> Exemples :
|
gras | false | Facultatif. Application ou non de la mise en gras aux étiquettes sur la toile d’annotation. Valeurs : true | false Exemples :
|
italique | false | Facultatif. Application ou non de la mise en italique aux étiquettes sur la toile d’annotation. Valeurs : true | false Exemples :
|
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éfaut | Description |
---|---|---|
<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 :
|
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 :
|
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 :
|
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 :
|
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 :
|
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 :
|
effect | pixelliser | Facultatif. Indication d’un effet d’édition à appliquer aux régions éditées. Valeurs : pixelate | blur | blockout | symbol Exemples :
|
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 :
|
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 :
|
é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 :
|
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 :
- Créez une enquête dans Survey123 Connect.
- Ajoutez une question image.
- 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.
- Ajoutez le paramètre redaction à la colonne bind::esri:parameters, puis indiquez le nom du modèle.
redaction=CommonObjectDetection
- 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 :
- Créez une enquête dans Survey123 Connect.
- Ajoutez une question image.
- 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.
- 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 :
- Créez une enquête dans Survey123 Connect.
- Ajoutez une question image.
- Ajoutez le paramètre redaction à la colonne bind::esri:parameters, puis nommez le modèle @manual.
redaction=@manual
- 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
Vous avez un commentaire à formuler concernant cette rubrique ?