Чтобы подготовить умных помощников для полевого приложения Survey123, у вас должна быть модель обнаружения объектов или модель классификации изображений. Вы можете создавать модели, используемые умными помощниками, загружать модели с ArcGIS Living Atlas of the World или получать доступ к моделям через встроенные API. Дополнительные сведения см. в разделе Умные помощники.
Добавление умных атрибутов в опрос
В следующих разделах описывается, как добавить умные атрибуты в опрос.
Добавление модели
Чтобы добавить в опрос модель, выполните следующие шаги:
- Создайте опрос в Survey123 Connect.
- Добавьте вопрос Изображение.
- Скопируйте файлы модели (<model_name>.tflite и <model_name>.txt или <model_name>.emd) в папку media опроса.
Имена файлов не должны содержать пробелов.
Для ознакомления с умными помощниками можно использовать модель Common Object Detection в ArcGIS Living Atlas of the World. Вы можете либо скачать эту модель, либо привязать эту модель к опросу.
- Добавьте параметр smartAttributes в столбец bind::esri:parameters и укажите имя модели.
smartAttributes=CommonObjectDetection
- Дополнительно после имени модели укажите свойства в столбце bind::esri:parameters, что позволит управлять минимальным уровнем достоверности, предварительным просмотром с камеры, надписями и классами объектов. В качестве разделителя свойств используйте символ амперсанда (&).
smartAttributes=CommonObjectDetection&minScore=0.6&cameraPreview=true
Когда изображение поймано, обнаруженные на нем объекты записываются в его метаданные EXIF. Вы можете использовать вычисления в этом опросе, чтобы извлечь атрибуты из изображения и использовать их в других вопросах.
В следующей таблице перечислены обязательные и необязательные свойства, которые можно использовать с параметром smartAttributes.
Свойство | Значение по умолчанию | Описание |
---|---|---|
<model_name> | Н/Д | Обязательно. Модель обнаружения объектов или классификации изображений. Имена моделей не должны содержать пробелы. Имя должно совпадать с именем файла модели (без расширения), хранящегося в папке media опроса. Значение: <model_name> Пример:
|
minScore | 0.5 | Необязательно. Укажите минимальный уровень достоверности для обнаружения объектов или классификации изображений. Значения: 0 - 1 Пример:
|
cameraPreview | false | Необязательно. Включите предварительный просмотр в режиме реального времени. Объекты, обнаруженные моделью, идентифицируются ограничивающими рамками в режиме реального времени с помощью камеры. Значения: true | false Пример:
|
label | true | Необязательно. Укажите, будут ли отображаться надписи классов объектов в режиме предварительного просмотра с камеры. Это действует только в том случае, если cameraPreview=true. Значения: true | false Пример:
|
класс | Н/Д (будут использоваться все классы в модели) | Необязательно. Классы объектов для обнаружения. Все остальные классы в этой модели будут игнорироваться. Имена классов должны быть идентичны классам в модели. Можно указать несколько классов, разделенных запятыми. Значение: <class name> Пример:
|
Извлечение атрибутов из изображения
Чтобы извлечь атрибуты из изображения, выполните следующие действия:
- Добавьте в опрос текстовый вопрос или вопрос calculate.
Если вы используете текстовый вопрос, в форме будет виден объект JSON. Если вы используете вопрос calculate, объект JSON не будет виден в форме, но другие вопросы могут ссылаться на значения.
- В столбце calculation введите следующее: string(pulldata("@exif", ${photo}, "ImageDescription"))
Это выражение выводит описание изображения из метаданных EXIF этого изображения в виде объекта JSON. Убедитесь, что в этом вопросе столбец bind::esri:fieldLength достаточно длинный, чтобы сохранить результат. JSON содержит информацию об объектах, обнаруженных на изображении, в котором classNames представляет собой разделенный запятыми список классов объектов, а classes содержит название, оценку и координаты ограничивающей рамки каждого объекта. См. пример ниже:
{ "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 } ] }
- Добавьте в опрос текстовый вопрос под именем results.
- В столбце calculation введите следующее: string(pulldata("@json", ${results}, "classNames"))
Это выражение возвращает значение classNames из объекта JSON.
Подробнее о функции pulldata("@json") см. Получение значения из JSON.
Отдельные результаты могут быть получены из вопроса Результат и использованы для заполнения Выбрать один, Выбрать несколько или других текстовых вопросов. Примеры см. в образце опроса Умные атрибуты в Survey123 Connect.
Добавление в опрос умной аннотации
Для добавления в опрос умной аннотации выполните следующие шаги:
- Создайте опрос в Survey123 Connect.
- Добавьте вопрос-изображение с оформлением аннотации.
Дополнительно, в качестве вопроса-изображения введите method=camera,browse в столбце body::esri:style. По умолчанию оформление аннотации подразумевает предоставление разрешения делать новые фотографии с помощью камеры в полевом приложении. Добавление method=camera,browse обеспечит возможность использования умных аннотаций с изображениями, выбранными из хранилища устройства, в дополнение к фотографиям, сделанным с помощью камеры.
- Скопируйте файлы модели (<model_name>.tflite и <model_name>.txt или <model_name>.emd) в папку media опроса.
Имена файлов не должны содержать пробелов.
Для ознакомления с умными помощниками можно использовать модель Common Object Detection в ArcGIS Living Atlas of the World. Вы можете либо скачать эту модель, либо привязать эту модель к опросу.
- Добавьте параметр smartAnnotation в столбец bind::esri:parameters и укажите имя модели.
smartAnnotation=CommonObjectDetection
- Дополнительно после имени модели укажите свойства в столбце bind::esri:parameters, что позволит управлять минимальным уровнем достоверности, предварительным просмотром с камеры, надписями, классами объектов, ограничивающими рамками и форматированием шрифта. В качестве разделителя свойств используйте символ амперсанда (&).
smartAnnotation=CommonObjectDetection&minScore=0.6&cameraPreview=true&class=car&fontSize=24
Когда изображение поймано, обнаруженные на нем объекты идентифицируются ограничивающими рамками и надписями панели аннотации. Аннотацию можно изменить, добавить или удалить.
В следующей таблице перечислены обязательные и необязательные свойства, которые можно использовать с параметром smartAnnotation.
Свойство | Значение по умолчанию | Описание |
---|---|---|
<model_name> | Н/Д | Обязательно. Модель обнаружения объектов. Имена моделей не должны содержать пробелы. Имя должно совпадать с именем файла модели (без расширения), хранящегося в папке media опроса. Значение: <model_name> Примеры:
|
minScore | 0.5 | Необязательно. Укажите минимальный уровень достоверности для обнаружения объектов. Значения: 0 - 1 Примеры:
|
cameraPreview | false | Необязательно. Включите предварительный просмотр в режиме реального времени. Объекты, обнаруженные моделью, идентифицируются ограничивающими рамками в режиме реального времени с помощью камеры. Значения: true | false Примеры:
|
label | true | Необязательно. Укажите, будут ли отображаться надписи классов объектов в режиме предварительного просмотра с камеры и на панелях аннотаций. Это действует только в том случае, если cameraPreview=true. Значения: true | false Примеры:
|
класс | Н/Д (будут использоваться все классы в модели) | Необязательно. Классы объектов для обнаружения. Все остальные классы в этой модели будут игнорироваться. Имена классов должны быть идентичны классам в модели. Можно указать несколько классов, разделенных запятыми. Значение: <class name> Примеры:
|
boundingBoxes | true | Необязательно. Укажите, будут ли для идентификации обнаруженных объектов создаваться полигоны ограничивающих рамок в качестве графических элементов на панели аннотаций. Значения: true | false Примеры:
|
outlineWidth | 2 | Необязательно. Укажите ширину ограничивающих рамок. Это действует только в том случае, если boundingBoxes=true. Значения: <integer> Примеры:
|
font | Шрифт полевого приложения Survey123 | Необязательно. Шрифт, который будет использоваться для надписей на панели аннотаций Примечание:На отдельных устройствах некоторые шрифты недоступны. Просмотрите аннотацию, созданную вашими предпочтительными устройствами, чтобы убедиться, что она отображается так, как положено. Значение: <font name> Примеры:
|
fontSize | 20 | Необязательно. Укажите размер надписей на панели аннотаций. Значение: <integer> Примеры:
|
bold | false | Необязательно. Укажите, будет ли применяться форматирование полужирного текста надписей на панели аннотаций. Значения: true | false Примеры:
|
italic | false | Необязательно. Укажите, будет ли применяться курсивное начертание к надписям на панели аннотаций. Значения: true | false Примеры:
|
Вы можете настроить, как будут отображаться аннотации объектов на панели, создав пользовательскую палитру аннотаций. Вы можете форматировать надписи и устанавливать стиль ограничивающих рамок или символов-маркеров, используемых для идентификации классов объектов. Чтобы применить пользовательский стиль аннотаций к классу объектов, значение в столбце Надпись в шаблоне XLSPalette должно совпадать с именем этого класса в модели. Дополнительные сведения см. в разделе Палитры инструментов рисования и аннотаций.
Примечание:
При использовании пользовательской палитры аннотаций с умными аннотациями игнорируются следующие свойства:
- label (только для панели аннотаций)
- boundingBoxes
- outlineWidth
- font
- fontSize
- bold
- italic
Добавление умной редактуры в опрос
В вопрос изображения опроса можно добавить редактуру, добавив параметр redaction в столбец bind::esri:parameters. Есть три способа настройки редактуры изображений в опросе:
- Добавить редактуру, включив модель. Этот метод поддерживается в Android., iOS и Windows.
- Добавить встроенную редактуру. Этот метод поддерживается на Android и iOS. Чтобы включить умную редактуру, пользователям может потребоваться включить расширенные функции камеры в полевом приложении. Дополнительную информацию см. в разделе Машинное обучение.
- Добавить редактуру в ручном режиме только. Этот метод позволяет пользователям скрывать лица на отдельных областях изображения вручную добавляя ограничивающие рамки. Этот метод поддерживается в Android., iOS и Windows.
В следующей таблице перечислены обязательные и необязательные свойства, которые можно использовать с параметром redaction.
Свойство | Значение по умолчанию | Описание |
---|---|---|
<model_name> | Н/Д | Обязательно. Модель обнаружения объектов. Имена моделей не должны содержать пробелы. Имя должно совпадать с именем файла модели (без расширения), хранящегося в папке media опроса. Можно использовать @faces, чтобы использовать встроенное обнаружение лиц, или @manual, чтобы активировать редактуру только вручную. Значения: <model_name> | @faces | @manual Примеры:
|
minScore | 0.5 | Необязательно. Укажите минимальный уровень достоверности для обнаружения объектов. Игнорируется, если именем модели является @faces или @manual. Значения: 0 - 1 Примеры:
|
cameraPreview | false | Необязательно. Включите предварительный просмотр в режиме реального времени. Объекты, обнаруженные моделью, идентифицируются ограничивающими рамками в режиме реального времени с помощью камеры. Игнорируется, если именем модели является @manual. Значения: true | false Примеры:
|
label | true | Необязательно. Укажите, будут ли отображаться надписи классов объектов в режиме предварительного просмотра с камеры. Это действует только в том случае, если cameraPreview=true. Значения: true | false Примеры:
|
класс | Н/Д (будут использоваться все классы в модели) | Необязательно. Классы объектов для обнаружения. Все остальные классы в этой модели будут игнорироваться. Имена классов должны быть идентичны классам в модели. Игнорируется, если именем модели является @faces или @manual. Значение: <class_name> с разделителями-запятыми (,) Примеры:
|
engine | Н/Д | Необязательно. Используйте встроенный Apple Vision API для обнаружения лиц. Дополнительную информацию см. в разделе Машинное обучение. Это свойство действует только в том случае, если именем модели является @faces, и поддерживается только на устройствах iOS. Значение: vision Примеры:
|
эффект | пикселизация | Необязательно. Укажите эффект редактуры, который будет применен к измененным областям. Значения: pixelate | blur | blockout | symbol Примеры:
|
символ | Н/Д | Необязательно. Символ, который будет применен к редактируемым областям. Это действует только в том случае, если effect=symbol. Значения: <Emoji> | <SVG file name> Примеры:
|
fillColor | #000000 | Необязательно. Цвет заливки полей blockout. Это действует только в том случае, если effect=blockout. Значения: <HTML color name> | <hex color code> Примеры:
|
масштаб | 1 | Необязательно. Задайте размер ограничивающих рамок максимум в два раза больше размера по умолчанию. Игнорируется, если именем модели является @manual. Значения: 1 | 2 Примеры:
|
Добавление обезличивания путем включения модели
Чтобы добавить в опрос редактуру путем включения модели обнаружения объектов, выполните следующие действия:
- Создайте опрос в Survey123 Connect.
- Добавьте вопрос Изображение.
- Скопируйте файлы модели (<model_name>.tflite и <model_name>.txt или <model_name>.emd) в папку media опроса.
Имена файлов не должны содержать пробелов.
Для ознакомления с умными помощниками можно использовать модель Common Object Detection в ArcGIS Living Atlas of the World. Вы можете либо скачать эту модель, либо привязать эту модель к опросу.
- Добавьте параметр redaction в столбец bind::esri:parameters и укажите имя модели.
redaction=CommonObjectDetection
- Дополнительно после имени модели укажите свойства в столбце bind::esri:parameters, что позволит контролировать минимальной уровень достоверности, предварительный просмотр с камеры, надписи, классы объектов, механизм и эффекты редактуры. В качестве разделителя свойств используйте символ амперсанда (&).
redaction=CommonObjectDetection&minScore=0.6&cameraPreview=true&effect=blur
Добавление встроенной функции редактуры
Чтобы добавить в опрос встроенную функцию редактуры без включения модели обнаружения объектов, выполните следующие действия:
- Создайте опрос в Survey123 Connect.
- Добавьте вопрос Изображение.
- Добавьте параметр redaction в столбец bind::esri:parameters и задайте для этой модели имя @faces.
redaction=@faces
Свойство @faces использует встроенную технологию, которая скрывает лица на изображениях. Чтобы технология скрытия лиц работала, в полевом приложении должны быть включены расширенные функции камеры. Дополнительную информацию см. в разделе Машинное обучение.
- Дополнительно после имени модели укажите свойства в столбце bind::esri:parameters, что позволит контролировать минимальной уровень достоверности, предварительный просмотр с камеры, надписи, классы объектов, механизм и эффекты редактуры. В качестве разделителя свойств используйте символ амперсанда (&).
redaction=@faces&cameraPreview=true&effect=blur
Добавление функции редактуры в ручном режиме
Чтобы добавить в опрос редактуру вручную, выполните следующие действия:
- Создайте опрос в Survey123 Connect.
- Добавьте вопрос Изображение.
- Добавьте параметр redaction в столбец bind::esri:parameters и задайте для этой модели имя @manual.
redaction=@manual
- Дополнительно после имени модели укажите свойства в столбце bind::esri:parameters, что позволит управлять эффектами редактуры. В качестве разделителя свойств используйте символ амперсанда (&).
redaction=@manual&effect=blockout&fillColor=#000000