Prepare smart assistants

Para preparar assistentes inteligentes para o Survey123 field app, você deve ter um modelo de detecção de objetos ou classificação de imagens. Você pode criar os modelos usados por assistentes inteligentes, baixar modelos do ArcGIS Living Atlas of the World ou acessar modelos por meio de APIs integradas. Para mais informações, consulte Assistentes inteligentes.

Adicionar atributos inteligentes a uma pesquisa

As seguintes seções descrevem como adicionar atributos inteligentes a uma pesquisa.

Adicionar um modelo

Para adicionar um modelo a uma pesquisa, complete as seguintes etapas:

  1. Crie uma pesquisa no Survey123 Connect.
  2. Adicione uma pergunta de imagem.
  3. Copie os arquivos de modelo (<model_name>.tflite e <model_name>.txt ou <model_name>.emd) para a pasta de mídia da pesquisa.

    Os nomes de arquivo não podem conter espaços.

    O modelo Detecção de Objetos Comuns noArcGIS Living Atlas of the World pode ser usado para se familiarizar com assistentes inteligentes. Você pode baixar o modelo ou vinculá-lo à pesquisa.

  4. Adicione o parâmetro smartAttributes na coluna bind::esri:parameters e especifique o nome do modelo.

    smartAttributes=CommonObjectDetection

  5. Opcionalmente, inclua propriedades após o nome do modelo na coluna bind::esri:parameters para controlar a pontuação mínima de confiança, visualização da câmera, rótulos e classes de objeto. Use um e comercial (&) para separar as propriedades.

    smartAttributes=CommonObjectDetection&minScore=0.6&cameraPreview=true

Quando uma imagem é capturada, os objetos detectados na imagem são gravados em seus metadados EXIF. Você pode usar cálculos na pesquisa para extrair os atributos de uma imagem e usá-los em outras perguntas.

A tabela a seguir lista as propriedades obrigatórias e opcionais que podem ser usadas com o parâmetro smartAttributes.

PropriedadeValor padrãoDescrição

<nome_modelo>

Não Aplicável

Obrigatório. O modelo de detecção de objetos ou classificação de imagens. Os nomes de modelo não podem conter espaços. O nome deve corresponder ao nome de arquivo (sem a extensão) do arquivo de modelo armazenado na pasta de mídia da pesquisa.

Valor: <model_name>

Exemplo:

smartAttributes=CommonObjectDetection

minScore

0.5

Opcional. Especifique o nível mínimo de confiança para detecção de objetos ou classificação de imagens.

Valores: 0 - 1

Exemplo:

minScore=0.7

cameraPreview

falso

Opcional. Habilite a visualização em tempo real. Os objetos detectados pelo modelo são identificados por caixas delimitadoras na visualização da câmera em tempo real.

Valores: true | false

Exemplo:

cameraPreview=true

rótulo

verdadeiro

Opcional. Especifique se os rótulos da classe de objeto são mostrados na visualização da câmera.

Isso é válido apenas quando cameraPreview=true.

Valores: true | false

Exemplo:

label=false

classe

N/A (todas as classes no modelo serão usadas)

Opcional. As classes de objeto a serem detectadas. Todas as outras classes no modelo serão ignoradas. Os nomes de classe devem ser idênticos às classes no modelo. Várias classes podem ser fornecidas, separadas por vírgulas.

Valor: <class name>

Exemplo:

class=parking_meter,stop_sign,traffic_light

Extrair atributos de uma imagem

Para extrair atributos de uma imagem, complete as seguintes etapas:

  1. Adicione um texto ou uma pergunta de cálculo à pesquisa.

    Se você usar uma pergunta de texto, o objeto JSON ficará visível no formulário. Se você usar uma pergunta de cálculo, o objeto JSON não ficará visível no formulário, mas os valores poderão ser referenciados por outras perguntas.

  2. Na coluna de cálculo, insira o seguinte: string(pulldata("@exif", ${photo}, "ImageDescription"))

    Essa expressão recupera a descrição da imagem dos metadados EXIF da imagem, na forma de um objeto JSON. Certifique-se que a coluna bind::esri:fieldLength da pergunta seja longa o suficiente para armazenar o resultado. O JSON contém informações sobre os objetos detectados na imagem na qual classNames é uma lista separada por vírgulas das classes de objeto e classes lista o nome, a pontuação e as coordenadas da caixa delimitadora de cada objeto. Veja os seguintes exemplos:

    {
        "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. Adicione uma pergunta de texto à pesquisa denominada results.
  4. Na coluna de cálculo, insira o seguinte: string(pulldata("@json", ${results}, "classNames"))

    Essa expressão recupera o valor classNames do objeto JSON.

    Para obter mais informações sobre a função pulldata("@json"), consulte Recuperar um valor de JSON.

Os resultados individuais podem ser recuperados da pergunta de resultado e usados para preencher select one, select multiple ou outras perguntas de texto. Para exemplos, consulte a amostra da pesquisa Atributos Inteligentes no Survey123 Connect.

Adicionar anotação inteligente a uma pesquisa

Para adicionar anotação inteligente a uma pesquisa, complete as seguintes etapas:

  1. Crie uma pesquisa no Survey123 Connect.
  2. Adicione uma pergunta de imagem com a aparência anotação.

    Opcionalmente, digite method=camera,browse na coluna body::esri:style para a pergunta da imagem. O comportamento padrão para a aparência anotação é permitir que novas fotos sejam tiradas com a câmera no aplicativo de campo. Adicionar method=camera,browse garante que a anotação inteligente possa ser usada com imagens selecionadas do armazenamento do dispositivo, além de fotos tiradas com a câmera.

  3. Copie os arquivos de modelo (<model_name>.tflite e <model_name>.txt ou <model_name>.emd) para a pasta de mídia da pesquisa.

    Os nomes de arquivo não podem conter espaços.

    O modelo Detecção de Objetos Comuns noArcGIS Living Atlas of the World pode ser usado para se familiarizar com assistentes inteligentes. Você pode baixar o modelo ou vinculá-lo à pesquisa.

  4. Adicione o parâmetro smartAnnotation na coluna bind::esri:parameters e especifique o nome do modelo.

    smartAnnotation=CommonObjectDetection

  5. Opcionalmente, inclua propriedades após o nome do modelo na coluna bind::esri:parameters para controlar a pontuação mínima de confiança, classes de objeto, caixas delimitadoras e formatação de fonte. Use um e comercial (&) para separar as propriedades.

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

Quando uma imagem é capturada, os objetos detectados na imagem são identificados por caixas delimitadoras e rótulos na tela de anotação. Você pode adicionar, modificar e excluir anotações.

A tabela a seguir lista as propriedades obrigatórias e opcionais que podem ser usadas com o parâmetro smartAnnotation.

PropriedadeValor padrãoDescrição

<nome_modelo>

Não Aplicável

Obrigatório. O modelo de detecção de objetos. Os nomes de modelo não podem conter espaços. O nome deve corresponder ao nome de arquivo (sem a extensão) do arquivo de modelo armazenado na pasta de mídia da pesquisa.

Valor: <model_name>

Exemplos:

smartAnnotation=CommonObjectDetection

minScore

0.5

Opcional. Especifique o nível mínimo de confiança para detecção de objetos.

Valores: 0 - 1

Exemplos:

minScore=0.7

cameraPreview

falso

Opcional. Habilite a visualização em tempo real. Os objetos detectados pelo modelo são identificados por caixas delimitadoras na visualização da câmera em tempo real.

Valores: true | false

Exemplos:

cameraPreview=true

rótulo

verdadeiro

Opcional. Especifique se os rótulos da classe de objeto são mostrados na visualização da câmera e tela de anotação.

Isso é válido apenas quando cameraPreview=true.

Valores: true | false

Exemplos:

label=false

classe

N/A (todas as classes no modelo serão usadas)

Opcional. As classes de objeto a serem detectadas. Todas as outras classes no modelo serão ignoradas. Os nomes de classe devem ser idênticos às classes no modelo. Várias classes podem ser fornecidas, separadas por vírgulas.

Valor: <class name>

Exemplos:

class=truck,car,motorcycle

boundingBoxes

verdadeiro

Opcional. Especifique se os polígonos da caixa delimitadora são criados como elementos gráficos na tela de anotação para identificar os objetos detectados.

Valores: true | false

Exemplos:

boundingBoxes=false

outlineWidth

2

Opcional. Especifique a largura das caixas delimitadoras. Isso é válido apenas quando boundingBoxes=true.

Valores: <integer>

Exemplos:

outlineWidth=3

fonte

Fonte do Survey123 field app

Opcional. A fonte a ser usada para rótulos na tela de anotação.

Anotação:

Nem todas as fontes estão disponíveis em todos os dispositivos. Revise a anotação produzida por seus dispositivos preferidos para garantir que a anotação apareça como pretendida.

Valor: <font name>

Exemplos:

font=verdana

fontSize

20

Opcional. Especifique o tamanho dos rótulos na tela de anotação.

Valor: <integer>

Exemplos:

fontSize=30

negrito

falso

Opcional. Especifique se a formatação em negrito é aplicada aos rótulos na tela de anotação.

Valores: true | false

Exemplos:

bold=true

itálico

falso

Opcional. Especifique se a formatação em itálico é aplicada aos rótulos na tela de anotação.

Valores: true | false

Exemplos:

italic=true

Você pode personalizar como os objetos são anotados na tela criando uma paleta de anotação personalizada. Você pode formatar rótulos e definir o estilo das caixas delimitadoras ou símbolos de marcadores usados para identificar cada classe de objeto. Para aplicar um estilo de anotação personalizado a uma classe de objeto, o valor na coluna de rótulo no modelo XLSPalette deve corresponder ao nome da classe no modelo. Para obter mais informações, consulte Paletas de desenhar e anotar.

Anotação:

Ao usar uma paleta de anotação personalizada com anotação inteligente, as seguintes propriedades são ignoradas:

  • label (apenas para a tela de anotação)
  • boundingBoxes
  • outlineWidth
  • font
  • fontSize
  • bold
  • italic

Adicionar revisão inteligente a uma pesquisa

Você pode adicionar redação a uma pergunta de imagem em uma pesquisa adicionando o parâmetro redaction à coluna bind::esri:parameters. Há três maneiras de configurar a revisão de imagem em uma pesquisa:

A tabela a seguir lista as propriedades obrigatórias e opcionais que podem ser usadas com o parâmetro redaction.

PropriedadeValor padrãoDescrição

<nome_modelo>

Não Aplicável

Obrigatório. O modelo de detecção de objetos. Os nomes de modelo não podem conter espaços. O nome deve corresponder ao nome de arquivo (sem a extensão) do arquivo de modelo armazenado na pasta de mídia da pesquisa. Alternativamente, use @faces para usar a detecção de rosto integrada ou @manual para habilitar apenas a revisão manual.

Valores: <model_name> | @faces | @manual

Exemplos:

redaction=CommonObjectDetection
redaction=@faces
redaction=@manual

minScore

0.5

Opcional. Especifique o nível mínimo de confiança para detecção de objetos. Isso é ignorado quando o nome do modelo é @faces ou @manual.

Valores: 0 - 1

Exemplos:

minScore=0.7

cameraPreview

falso

Opcional. Habilite a visualização em tempo real. Os objetos detectados pelo modelo são identificados por caixas delimitadoras na visualização da câmera em tempo real. Isso é ignorado quando o nome do modelo é @manual.

Valores: true | false

Exemplos:

cameraPreview=true

rótulo

verdadeiro

Opcional. Especifique se os rótulos da classe de objeto são mostrados na visualização da câmera.

Isso é válido apenas quando cameraPreview=true.

Valores: true | false

Exemplos:

label=false

classe

N/A (todas as classes no modelo serão usadas)

Opcional. As classes de objeto a serem detectadas. Todas as outras classes no modelo serão ignoradas. Os nomes de classe devem ser idênticos às classes no modelo. Isso é ignorado quando o nome do modelo é @faces ou @manual.

Valor: <class_name> separado por vírgula (,)

Exemplos:

class=person,cat,dog

mecanismo

Não Aplicável

Opcional. Use a API Vision embutida da Apple para detecção de rosto. Para mais informações, consulte Aprendizagem automática. Esta propriedade é válida somente quando o nome do modelo é @faces e apenas suportada em dispositivos iOS.

Valor: vision

Exemplos:

engine=vision

efeito

pixelizar

Opcional. Especifique um efeito de revisão a ser aplicado às regiões editadas.

Valores: pixelate | blur | blockout | symbol

Exemplos:

effect=blur

símbolo

Não Aplicável

Opcional. O símbolo a ser aplicado a regiões revisadas.

Isso é válido apenas quando effect=symbol.

Valores: <Emoji> | <SVG file name>

Exemplos:

symbol=🚫
symbol=blockout.svg

fillColor

#000000

Opcional. A cor de preenchimento das caixas de bloqueio. Isso é válido apenas quando effect=blockout.

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

Exemplos:

fillColor=Blue

escala

1

Opcional. Especifique o tamanho das caixas delimitadoras até no máximo o dobro do tamanho padrão. Isso é ignorado quando o nome do modelo é @manual.

Valores: 1 | 2

Exemplos:

scale=2

Adicionar revisão incluindo um modelo

Para adicionar revisão a uma pesquisa incluindo um modelo de detecção de objeto, complete as seguintes etapas:

  1. Crie uma pesquisa no Survey123 Connect.
  2. Adicione uma pergunta de imagem.
  3. Copie os arquivos de modelo (<model_name>.tflite e <model_name>.txt ou <model_name>.emd) para a pasta de mídia da pesquisa.

    Os nomes de arquivo não podem conter espaços.

    O modelo Detecção de Objetos Comuns noArcGIS Living Atlas of the World pode ser usado para se familiarizar com assistentes inteligentes. Você pode baixar o modelo ou vinculá-lo à pesquisa.

  4. Adicione o parâmetro redaction na coluna bind::esri:parameters e especifique o nome do modelo.

    redaction=CommonObjectDetection

  5. Opcionalmente, inclua propriedades após o nome do modelo na coluna bind::esri:parameters para controlar a pontuação mínima de confiança, visualização da câmera, rótulos, classes de objeto, mecanismo e efeitos de edição. Use um e comercial (&) para separar as propriedades.

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

Adicionar revisão de rosto integrada

Para adicionar revisão de rosto integrada a uma pesquisa incluindo um modelo de detecção de objeto, complete as seguintes etapas:

  1. Crie uma pesquisa no Survey123 Connect.
  2. Adicione uma pergunta de imagem.
  3. Adicione o parâmetro redaction na coluna bind::esri:parameters e nomeie o modelo @faces.

    redaction=@faces

    A propriedade @facesusa tecnologia integrada para revisar rostos em imagens. Os recursos melhorados da câmera devem ser habilitados no aplicativo de campo para que essa revisão funcione. Para mais informações, consulte Aprendizagem automática.

  4. Opcionalmente, inclua propriedades após o nome do modelo na coluna bind::esri:parameters para controlar a pontuação mínima de confiança, visualização da câmera, rótulos, classes de objeto, mecanismo e efeitos de edição. Use um e comercial (&) para separar as propriedades.

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

Adicionar revisão manual

Para adicionar revisão manual a uma pesquisa, complete as seguintes etapas:

  1. Crie uma pesquisa no Survey123 Connect.
  2. Adicione uma pergunta de imagem.
  3. Adicione o parâmetro redaction na coluna bind::esri:parameters e nomeie o modelo @manual.

    redaction=@manual

  4. Opcionalmente, inclua propriedades após o nome do modelo na coluna bind::esri:parameters para controlar os efeitos de revisão. Use um e comercial (&) para separar as propriedades.

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