Preparación de los asistentes inteligentes.

Para preparar asistentes inteligentes para la aplicación de campo Survey123, antes debe tener un modelo de detección de objetos o clasificación de imágenes. Puede crear los modelos utilizados por los asistentes inteligentes, descargar modelos de ArcGIS Living Atlas of the World o acceder a modelos a través de las API integradas. Para obtener más información, consulte Asistentes inteligentes.

Agregar atributos inteligentes a una encuesta

Las siguientes secciones describen cómo agregar atributos inteligentes a una encuesta.

Agregar un modelo

Para agregar un modelo a una encuesta, siga estos pasos:

  1. Cree una encuesta en Survey123 Connect.
  2. Agregue una pregunta de imagen.
  3. Copie los archivos del modelo (<model_name>.tflite y <model_name>.txt o <model_name>.emd) a la carpeta de medios de la encuesta.

    Los nombres de archivo no pueden contener espacios.

    Puede utilizar el modelo de Detección de objetos comunes de ArcGIS Living Atlas of the World para familiarizarse con los asistentes inteligentes. Puede descargar el modelo o vincularlo a la encuesta.

  4. Agregue el parámetro smartAttributes a la columna bind::esri:parameters y especifique el nombre del modelo.

    smartAttributes=CommonObjectDetection

  5. Opcionalmente, incluya propiedades después del nombre del modelo en la columna bind::esri:parameters para controlar la puntuación mínima de confianza, la vista previa de la cámara, las etiquetas y las clases de objetos. Use el símbolo et (&) para separar las propiedades.

    smartAttributes=CommonObjectDetection&minScore=0.6&cameraPreview=true

Cuando se captura una imagen, los objetos detectados en la imagen se escriben en sus metadatos EXIF. Puede usar los cálculos de la encuesta para extraer los atributos de una imagen y usarlos en otras preguntas.

En la siguiente tabla se enumeran las propiedades obligatorias y opcionales que se pueden usar con el parámetro smartAttributes.

PropiedadValor predeterminadoDescripción

<model_name>

N/A

Requerido. El modelo de detección de objetos o clasificación de imágenes. Los nombres de modelo no pueden contener espacios. El nombre debe coincidir con el nombre de archivo (sin la extensión) del archivo del modelo almacenado en la carpeta de medios de la encuesta.

Valor: <model_name>

Ejemplo:

smartAttributes=CommonObjectDetection

minScore

0.5

Opcional. Especifique el nivel mínimo de confianza para la detección de objetos o la clasificación de imágenes.

Valores: 0 - 1

Ejemplo:

minScore=0.7

cameraPreview

false

Opcional. Habilite la vista previa en tiempo real. Los objetos detectados por el modelo se identifican mediante cuadros delimitadores en la vista de cámara en vivo.

Valores: true | false

Ejemplo:

cameraPreview=true

etiqueta

verdadero

Opcional. Especifique si las etiquetas de clase de objeto se muestran en la vista previa de la cámara.

Esto sólo es válido cuando cameraPreview=true.

Valores: true | false

Ejemplo:

label=false

clase

N/A (se utilizarán todas las clases del modelo)

Opcional. Las clases de objetos a detectar. El resto de clases del modelo serán ignoradas. Los nombres de las clases deben ser idénticos a las clases del modelo. Se pueden proporcionar varias clases, separadas por comas.

Valor: <class name>

Ejemplo:

class=parking_meter,stop_sign,traffic_light

Extraer atributos de una imagen

Para extraer atributos de una imagen, siga estos pasos:

  1. Agregue un texto o una pregunta de cálculo a la encuesta.

    Si usa una pregunta de texto, el objeto JSON será visible en el formulario. Si usa una pregunta de cálculo, el objeto JSON no será visible en el formulario, pero se puede hacer referencia a los valores mediante otras preguntas.

  2. En la columna calculation, introduzca lo siguiente: string(pulldata("@exif", ${photo}, "ImageDescription"))

    Esta expresión recupera la descripción de la imagen de los metadatos EXIF de la imagen, en forma de objeto JSON. Asegúrese de que la columna bind::esri:fieldLength de la pregunta sea lo suficientemente larga para almacenar el resultado. El JSON contiene información sobre los objetos detectados en la imagen en la que classNames es una lista separada por comas de las clases de objetos y classes enumera el nombre, la puntuación y las coordenadas del cuadro delimitador de cada objeto. Vea el siguiente ejemplo:

    {
        "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. Agregue una pregunta de texto a la encuesta denominada results.
  4. En la columna calculation, introduzca lo siguiente: string(pulldata("@json", ${results}, "classNames"))

    Esta expresión recupera el valor classNames del objeto JSON.

    Para obtener más información sobre la función pulldata("@json"), consulte Recuperar un valor a partir de un JSON.

Los resultados individuales se pueden recuperar de la pregunta de resultado, y se pueden usar para completar las pregunta de tipo selección única, selección múltiple u otras preguntas de texto. Para ver ejemplos, consulte la encuesta de ejemplo con atributos inteligentes de Survey123 Connect.

Agregar anotación inteligente a una encuesta

Para agregar anotación inteligente a una encuesta, siga estos pasos:

  1. Cree una encuesta en Survey123 Connect.
  2. Agregue una pregunta de imagen con la apariencia de anotación.

    Si lo desea, escriba method=camera,browse en la columna body::esri:style para la pregunta de la imagen. El comportamiento predeterminado para la apariencia de anotación es permitir que se tomen nuevas fotos con la cámara en la aplicación de campo. Agregar method=camera,browse garantiza que la anotación inteligente se pueda usar con imágenes seleccionadas del almacenamiento del dispositivo, además de con las fotos que se toman con la cámara

  3. Copie los archivos del modelo (<model_name>.tflite y <model_name>.txt o <model_name>.emd) a la carpeta de medios de la encuesta.

    Los nombres de archivo no pueden contener espacios.

    Puede utilizar el modelo de Detección de objetos comunes de ArcGIS Living Atlas of the World para familiarizarse con los asistentes inteligentes. Puede descargar el modelo o vincularlo a la encuesta.

  4. Agregue el parámetro smartAnnotation a la columna bind::esri:parameters y especifique el nombre del modelo.

    smartAnnotation=CommonObjectDetection

  5. Opcionalmente, incluya propiedades después del nombre del modelo en la columna bind::esri:parameters para controlar la puntuación mínima de confianza, la vista previa de la cámara, las etiquetas, las clases de objetos, los cuadros delimitadores y el formato de fuente. Use el símbolo et (&) para separar las propiedades.

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

Cuando se captura una imagen, los objetos detectados en la imagen se identifican mediante cuadros delimitadores y etiquetas en el lienzo de anotaciones. Puede agregar, modificar y eliminar anotaciones.

En la siguiente tabla se enumeran las propiedades obligatorias y opcionales que se pueden usar con el parámetro smartAnnotation.

PropiedadValor predeterminadoDescripción

<model_name>

N/A

Requerido. El modelo de detección de objetos. Los nombres de modelo no pueden contener espacios. El nombre debe coincidir con el nombre de archivo (sin la extensión) del archivo del modelo almacenado en la carpeta de medios de la encuesta.

Valor: <model_name>

Ejemplos:

smartAnnotation=CommonObjectDetection

minScore

0.5

Opcional. Especifique el nivel mínimo de confianza para la detección de objetos.

Valores: 0 - 1

Ejemplos:

minScore=0.7

cameraPreview

false

Opcional. Habilite la vista previa en tiempo real. Los objetos detectados por el modelo se identifican mediante cuadros delimitadores en la vista de cámara en vivo.

Valores: true | false

Ejemplos:

cameraPreview=true

etiqueta

verdadero

Opcional. Especifique si las etiquetas de clase de objeto se muestran en la vista previa de la cámara y en el lienzo de anotaciones.

Esto sólo es válido cuando cameraPreview=true.

Valores: true | false

Ejemplos:

label=false

clase

N/A (se utilizarán todas las clases del modelo)

Opcional. Las clases de objetos a detectar. El resto de clases del modelo serán ignoradas. Los nombres de las clases deben ser idénticos a las clases del modelo. Se pueden proporcionar varias clases, separadas por comas.

Valor: <class name>

Ejemplos:

class=truck,car,motorcycle

boundingBoxes

verdadero

Opcional. Especifique si los polígonos de cuadro delimitador se crean como elementos gráficos en el lienzo de anotaciones para identificar los objetos detectados.

Valores: true | false

Ejemplos:

boundingBoxes=false

outlineWidth

2

Opcional. Especifique el ancho de los cuadros delimitadores. Esto sólo es válido cuando boundingBoxes=true.

Valores: <integer>

Ejemplos:

outlineWidth=3

font

Fuente de la aplicación de campo Survey123

Opcional. La fuente que se usará para las etiquetas en el lienzo de anotaciones.

Nota:

No todas las fuentes están disponibles en todos los dispositivos. Revise la anotación producida por sus dispositivos preferidos para asegurarse de que la anotación aparece según lo previsto.

Valor: <font name>

Ejemplos:

font=verdana

fontSize

20

Opcional. Especifique el tamaño de las etiquetas en el lienzo de anotaciones.

Valor: <integer>

Ejemplos:

fontSize=30

bold

false

Opcional. Especifique si el formato en negrita se aplica a las etiquetas del lienzo de anotaciones.

Valores: true | false

Ejemplos:

bold=true

italic

false

Opcional. Especifique si el formato en cursiva se aplica a las etiquetas del lienzo de anotaciones.

Valores: true | false

Ejemplos:

italic=true

Puede personalizar el modo en que se anotan los objetos en el lienzo creando una paleta de anotaciones personalizada. Puede dar formato a las etiquetas y definir el estilo de los cuadros delimitadores o los símbolos de marcador utilizados para identificar cada clase de objeto. Para aplicar un estilo de anotación personalizado a una clase de objeto, el valor de la columna label de la plantilla XLSPalette debe coincidir con el nombre de la clase en el modelo. Para obtener más información, consulte Paletas de dibujo y anotación.

Nota:

Cuando utiliza una paleta de anotaciones personalizadas con anotaciones inteligentes, se ignoran las siguientes propiedades:

  • label (solo para el lienzo de anotaciones)
  • boundingBoxes
  • outlineWidth
  • font
  • fontSize
  • bold
  • italic

Agregar edición inteligente a una encuesta

Puede agregar edición a una pregunta de imagen en una encuesta agregando el parámetro redaction a la columna bind::esri:parameters. Hay tres formas de configurar la edición de imágenes en una encuesta:

La siguiente tabla enumera las propiedades obligatorias y opcionales que se pueden usar con el parámetro redaction.

PropiedadValor predeterminadoDescripción

<model_name>

N/A

Requerido. El modelo de detección de objetos. Los nombres de modelo no pueden contener espacios. El nombre debe coincidir con el nombre de archivo (sin la extensión) del archivo del modelo almacenado en la carpeta de medios de la encuesta. También puede usar @faces para utilizar la detección de rostros incorporada o @manual para habilitar solo la edición manual.

Valores: <model_name> | @faces | @manual

Ejemplos:

redaction=CommonObjectDetection
redaction=@faces
redaction=@manual

minScore

0.5

Opcional. Especifique el nivel mínimo de confianza para la detección de objetos. Esto se ignora cuando el nombre del modelo es @faces o @manual.

Valores: 0 - 1

Ejemplos:

minScore=0.7

cameraPreview

false

Opcional. Habilite la vista previa en tiempo real. Los objetos detectados por el modelo se identifican mediante cuadros delimitadores en la vista de cámara en vivo. Esto se ignora cuando el nombre del modelo es @manual.

Valores: true | false

Ejemplos:

cameraPreview=true

etiqueta

verdadero

Opcional. Especifique si las etiquetas de clase de objeto se muestran en la vista previa de la cámara.

Esto sólo es válido cuando cameraPreview=true.

Valores: true | false

Ejemplos:

label=false

clase

N/A (se utilizarán todas las clases del modelo)

Opcional. Las clases de objetos a detectar. El resto de clases del modelo serán ignoradas. Los nombres de las clases deben ser idénticos a las clases del modelo. Esto se ignora cuando el nombre del modelo es @faces o @manual.

Valor: <class_name> separado por comas (,)

Ejemplos:

class=person,cat,dog

engine

N/A

Opcional. Utilice la API Vision integrada de Apple para la detección de rostros. Para obtener más información, consulte Aprendizaje automático. Esta propiedad solo es válida cuando el nombre del modelo es @faces y solo es compatible con dispositivos iOS.

Valor: vision

Ejemplos:

engine=vision

effect

pixelar

Opcional. Especifique un efecto de edición para aplicar a las áreas editadas.

Valores: pixelate | blur | blockout | symbol

Ejemplos:

effect=blur

símbolo

N/A

Opcional. El símbolo que se aplicará a las áreas editadas.

Esto sólo es válido cuando effect=symbol.

Valores: <Emoji> | <SVG file name>

Ejemplos:

symbol=🚫
symbol=blockout.svg

fillColor

#000000

Opcional. El color de relleno de los cuadros de boceto. Esto sólo es válido cuando effect=blockout.

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

Ejemplos:

fillColor=Blue

escala

1

Opcional. Especifique el tamaño de los cuadros delimitadores hasta un máximo del doble del tamaño predeterminado. Esto se ignora cuando el nombre del modelo es @manual.

Valores: 1 | 2

Ejemplos:

scale=2

Agregar edición incluyendo un modelo

Para agregar edición a una encuesta mediante la inclusión de un modelo de detección de objetos, siga estos pasos:

  1. Cree una encuesta en Survey123 Connect.
  2. Agregue una pregunta de imagen.
  3. Copie los archivos del modelo (<model_name>.tflite y <model_name>.txt o <model_name>.emd) a la carpeta de medios de la encuesta.

    Los nombres de archivo no pueden contener espacios.

    Puede utilizar el modelo de Detección de objetos comunes de ArcGIS Living Atlas of the World para familiarizarse con los asistentes inteligentes. Puede descargar el modelo o vincularlo a la encuesta.

  4. Agregue el parámetro redaction a la columna bind::esri:parameters y especifique el nombre del modelo.

    redaction=CommonObjectDetection

  5. Opcionalmente, incluya propiedades después del nombre del modelo en la columna bind::esri:parameters para controlar la puntuación mínima de confianza, la vista previa de la cámara, las etiquetas, las clases de objetos, el motor y los efectos de edición. Use el símbolo et (&) para separar las propiedades.

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

Agregar edición de rostros incorporada

Para agregar edición de rostros incorporada a una encuesta sin incluir un modelo de detección de objetos, siga estos pasos:

  1. Cree una encuesta en Survey123 Connect.
  2. Agregue una pregunta de imagen.
  3. Agregue el parámetro redaction a la columna bind::esri:parameters y llame al modelo @faces.

    redaction=@faces

    La propiedad @faces utiliza tecnología integrada para editar rostros en imágenes. Para que esta edición funcione, la aplicación de campo debe tener las funciones de cámara mejoradas habilitadas. Para obtener más información, consulte Aprendizaje automático.

  4. Opcionalmente, incluya propiedades después del nombre del modelo en la columna bind::esri:parameters para controlar la puntuación mínima de confianza, la vista previa de la cámara, las etiquetas, las clases de objetos, el motor y los efectos de edición. Use el símbolo et (&) para separar las propiedades.

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

Agregar edición manual

Para agregar edición manual a una encuesta, siga estos pasos:

  1. Cree una encuesta en Survey123 Connect.
  2. Agregue una pregunta de imagen.
  3. Agregue el parámetro redaction a la columna bind::esri:parameters y llame al modelo @manual.

    redaction=@manual

  4. Opcionalmente, incluya propiedades después del nombre del modelo en la columna bind::esri:parameters para controlar los efectos de edición. Use el símbolo et (&) para separar las propiedades.

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