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:
- Cree una encuesta en Survey123 Connect.
- Agregue una pregunta de imagen.
- 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.
- Agregue el parámetro smartAttributes a la columna bind::esri:parameters y especifique el nombre del modelo.
smartAttributes=CommonObjectDetection
- 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.
Propiedad | Valor predeterminado | Descripció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:
|
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:
|
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:
|
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:
|
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:
|
Extraer atributos de una imagen
Para extraer atributos de una imagen, siga estos pasos:
- 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.
- 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 } ] }
- Agregue una pregunta de texto a la encuesta denominada results.
- 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:
- Cree una encuesta en Survey123 Connect.
- 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
- 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.
- Agregue el parámetro smartAnnotation a la columna bind::esri:parameters y especifique el nombre del modelo.
smartAnnotation=CommonObjectDetection
- 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.
Propiedad | Valor predeterminado | Descripció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:
|
minScore | 0.5 | Opcional. Especifique el nivel mínimo de confianza para la detección de objetos. Valores: 0 - 1 Ejemplos:
|
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:
|
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:
|
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:
|
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:
|
outlineWidth | 2 | Opcional. Especifique el ancho de los cuadros delimitadores. Esto sólo es válido cuando boundingBoxes=true. Valores: <integer> Ejemplos:
|
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:
|
fontSize | 20 | Opcional. Especifique el tamaño de las etiquetas en el lienzo de anotaciones. Valor: <integer> Ejemplos:
|
bold | false | Opcional. Especifique si el formato en negrita se aplica a las etiquetas del lienzo de anotaciones. Valores: true | false Ejemplos:
|
italic | false | Opcional. Especifique si el formato en cursiva se aplica a las etiquetas del lienzo de anotaciones. Valores: true | false Ejemplos:
|
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:
- Agregar edición incluyendo un modelo con la encuesta. Este método es compatible con Android, iOS y Windows.
- Agregar edición de rostros incorporada. Este método es compatible con Android y iOS. Es posible que los usuarios deban activar las funciones de cámara mejoradas en la aplicación de campo para habilitar la edición inteligente. Para obtener más información, consulte Aprendizaje automático.
- Agregar edición manual solamente. Este método permite a los usuarios editar áreas de una imagen agregando manualmente cuadros delimitadores. Este método es compatible con Android, iOS y Windows.
La siguiente tabla enumera las propiedades obligatorias y opcionales que se pueden usar con el parámetro redaction.
Propiedad | Valor predeterminado | Descripció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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
effect | pixelar | Opcional. Especifique un efecto de edición para aplicar a las áreas editadas. Valores: pixelate | blur | blockout | symbol Ejemplos:
|
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:
|
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:
|
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:
|
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:
- Cree una encuesta en Survey123 Connect.
- Agregue una pregunta de imagen.
- 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.
- Agregue el parámetro redaction a la columna bind::esri:parameters y especifique el nombre del modelo.
redaction=CommonObjectDetection
- 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:
- Cree una encuesta en Survey123 Connect.
- Agregue una pregunta de imagen.
- 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.
- 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:
- Cree una encuesta en Survey123 Connect.
- Agregue una pregunta de imagen.
- Agregue el parámetro redaction a la columna bind::esri:parameters y llame al modelo @manual.
redaction=@manual
- 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