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:
- Crie uma pesquisa no Survey123 Connect.
- Adicione uma pergunta de imagem.
- 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.
- Adicione o parâmetro smartAttributes na coluna bind::esri:parameters e especifique o nome do modelo.
smartAttributes=CommonObjectDetection
- 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.
Propriedade | Valor padrão | Descriçã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:
|
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:
|
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:
|
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:
|
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:
|
Extrair atributos de uma imagem
Para extrair atributos de uma imagem, complete as seguintes etapas:
- 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.
- 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 } ] }
- Adicione uma pergunta de texto à pesquisa denominada results.
- 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:
- Crie uma pesquisa no Survey123 Connect.
- 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.
- 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.
- Adicione o parâmetro smartAnnotation na coluna bind::esri:parameters e especifique o nome do modelo.
smartAnnotation=CommonObjectDetection
- 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.
Propriedade | Valor padrão | Descriçã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:
|
minScore | 0.5 | Opcional. Especifique o nível mínimo de confiança para detecção de objetos. Valores: 0 - 1 Exemplos:
|
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:
|
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:
|
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:
|
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:
|
outlineWidth | 2 | Opcional. Especifique a largura das caixas delimitadoras. Isso é válido apenas quando boundingBoxes=true. Valores: <integer> Exemplos:
|
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:
|
fontSize | 20 | Opcional. Especifique o tamanho dos rótulos na tela de anotação. Valor: <integer> Exemplos:
|
negrito | falso | Opcional. Especifique se a formatação em negrito é aplicada aos rótulos na tela de anotação. Valores: true | false Exemplos:
|
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:
|
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:
- Adicione revisão incluindo um modelo com a pesquisa. Este método é suportado no Android, iOS, e Windows.
- Adicionar revisão de rosto integrada. Este método é suportado no Android e iOS. Talvez seja necessário que usuários ativem os recursos avançados da câmera no aplicativo de campo para habilitar a revisão inteligente. Para mais informações, consulte Aprendizagem automática.
- Adicione somente revisão manual. Este método permite aos usuários revisar regiões de uma imagem adicionando caixas delimitadoras manualmente. Este método é suportado no Android, iOS, e Windows.
A tabela a seguir lista as propriedades obrigatórias e opcionais que podem ser usadas com o parâmetro redaction.
Propriedade | Valor padrão | Descriçã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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
efeito | pixelizar | Opcional. Especifique um efeito de revisão a ser aplicado às regiões editadas. Valores: pixelate | blur | blockout | symbol Exemplos:
|
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:
|
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:
|
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:
|
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:
- Crie uma pesquisa no Survey123 Connect.
- Adicione uma pergunta de imagem.
- 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.
- Adicione o parâmetro redaction na coluna bind::esri:parameters e especifique o nome do modelo.
redaction=CommonObjectDetection
- 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:
- Crie uma pesquisa no Survey123 Connect.
- Adicione uma pergunta de imagem.
- 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.
- 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:
- Crie uma pesquisa no Survey123 Connect.
- Adicione uma pergunta de imagem.
- Adicione o parâmetro redaction na coluna bind::esri:parameters e nomeie o modelo @manual.
redaction=@manual
- 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