스마트 도우미 준비

Survey123 현장 앱용 스마트 도우미를 준비하려면 객체 감지 또는 이미지 분류 모델이 있어야 합니다. 스마트 도우미가 사용하는 모델을 생성하거나, ArcGIS Living Atlas of the World에서 모델을 다운로드하거나, 빌트인 API를 통해 모델에 접근할 수 있습니다. 자세한 내용은 스마트 도우미를 참고하세요.

현장조사에 스마트 속성 추가

다음 섹션은 현장조사에 스마트 속성을 추가하는 방법을 설명합니다.

모델 추가

현장조사에 모델을 추가하려면 다음 단계를 완료합니다.

  1. Survey123 Connect에서 현장조사를 생성합니다.
  2. 이미지 질문을 추가합니다.
  3. 현장조사의 미디어 폴더에 모델 파일(<model_name>.tflite<model_name>.txt 또는 <model_name>.emd)을 복사합니다.

    파일 이름은 공백을 포함할 수 없습니다.

    스마트 도우미에 익숙해지기 위해 ArcGIS Living Atlas of the World의 일반적인 객체 감지 모델을 사용할 수 있습니다. 모델을 다운로드하거나 현장조사에 모델을 연결할 수 있습니다.

  4. bind::esri:parameters 열에 smartAttributes 매개변수를 추가하고 모델의 이름을 지정합니다.

    smartAttributes=CommonObjectDetection

  5. 필요한 경우, bind::esri:parameters 열의 모델 이름 뒤에 등록정보를 포함하여 최소 신뢰도 점수, 카메라 미리 보기, 레이블, 객체 클래스를 제어합니다. 앰퍼샌드(&)를 사용하여 등록정보를 구분합니다.

    smartAttributes=CommonObjectDetection&minScore=0.6&cameraPreview=true

이미지가 캡처되면 이미지에서 감지된 객체가 EXIF 메타데이터에 작성됩니다. 현장조사의 계산을 사용하여 이미지에서 속성을 추출하고 다른 질문에 사용할 수 있습니다.

다음 테이블에는 smartAttributes 매개변수와 함께 사용할 수 있는 필수 및 선택적 등록정보가 나와 있습니다.

등록정보기본 값설명

<model_name>

N/A

필수입니다. 객체 감지 또는 이미지 분류 모델입니다. 모델 이름은 공백을 포함할 수 없습니다. 이름은 현장조사의 미디어 폴더에 저장된 모델 파일의 이름과 일치해야 합니다(확장자 제외).

값: <model_name>

예:

smartAttributes=CommonObjectDetection

minScore

0.5

선택 사항입니다. 객체 감지 또는 이미지 분류를 위한 최소 신뢰도 수준을 지정합니다.

값: 0 - 1

예:

minScore=0.7

cameraPreview

false

선택 사항입니다. 실시간 미리 보기를 활성화합니다. 모델이 감지한 객체는 라이브 카메라 뷰에서 경계 상자를 통해 식별됩니다.

값: true | false

예:

cameraPreview=true

레이블

true

선택 사항입니다. 카메라 미리 보기에 객체 클래스 레이블이 표시되는지 여부를 지정합니다.

이는 cameraPreview=true인 경우에만 유효합니다.

값: true | false

예:

label=false

클래스

N/A(모델의 모든 클래스가 사용됨)

선택 사항입니다. 감지할 객체 클래스입니다. 모델의 다른 모든 클래스는 무시됩니다. 클래스 이름은 모델의 클래스와 동일해야 합니다. 여러 클래스를 쉼표로 구분하여 제공할 수 있습니다.

값: <class name>

예:

class=parking_meter,stop_sign,traffic_light

이미지에서 속성 추출

이미지에서 속성을 추출하려면 다음 단계를 완료합니다.

  1. 텍스트 또는 계산 질문을 현장조사에 추가합니다.

    텍스트 질문을 사용하는 경우, JSON 객체가 양식에 표시됩니다. 계산 질문을 사용하는 경우, JSON 객체가 양식에 표시되지 않지만 다른 질문이 값을 참조할 수 있습니다.

  2. 계산 열에 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
            }
        ]
    }
  3. results라는 이름의 현장조사에 텍스트 질문을 추가합니다.
  4. 계산 열에 string(pulldata("@json", ${results}, "classNames"))를 입력합니다.

    이 식은 JSON 객체에서 classNames 값을 가져옵니다.

    pulldata("@json") 함수에 대한 자세한 내용은 JSON에서 값 가져오기를 참고하세요.

결과 질문에서 개별 결과를 가져와 단답형, 선다형 또는 기타 텍스트 질문을 채우는 데 사용할 수 있습니다. 예시는 Survey123 Connect의 스마트 속성 샘플 현장조사를 확인하세요.

현장조사에 스마트 애노테이션 추가

현장조사에 스마트 애노테이션을 추가하려면 다음 단계를 완료합니다.

  1. Survey123 Connect에서 현장조사를 생성합니다.
  2. 애노테이트 모양의 이미지 질문을 추가합니다.

    필요한 경우, 이미지 질문에 대해 body::esri:style 열에 method=camera,browse를 입력합니다. 애노테이트 모양의 기본 동작은 현장 앱에서 카메라로 새 사진을 촬영하도록 허용하는 것입니다. method=camera,browse를 추가하면 카메라로 촬영한 사진에 더해, 기기 저장소에서 선택한 이미지와 함께 스마트 애노테이션을 사용할 수 있습니다.

  3. 현장조사의 미디어 폴더에 모델 파일(<model_name>.tflite<model_name>.txt 또는 <model_name>.emd)을 복사합니다.

    파일 이름은 공백을 포함할 수 없습니다.

    스마트 도우미에 익숙해지기 위해 ArcGIS Living Atlas of the World의 일반적인 객체 감지 모델을 사용할 수 있습니다. 모델을 다운로드하거나 현장조사에 모델을 연결할 수 있습니다.

  4. bind::esri:parameters 열에 smartAnnotation 매개변수를 추가하고 모델의 이름을 지정합니다.

    smartAnnotation=CommonObjectDetection

  5. 필요한 경우, bind::esri:parameters 열의 모델 이름 뒤에 등록정보를 포함하여 최소 신뢰도 점수, 카메라 미리 보기, 레이블, 객체 클래스, 경계 상자, 글꼴 서식 지정을 제어합니다. 앰퍼샌드(&)를 사용하여 등록정보를 구분합니다.

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

이미지가 캡처되면 이미지에서 감지된 객체는 애노테이션 캔버스의 경계 상자 및 레이블로 식별됩니다. 애노테이션을 추가, 수정, 삭제할 수 있습니다.

다음 테이블에는 smartAnnotation 매개변수와 함께 사용할 수 있는 필수 및 선택적 등록정보가 나와 있습니다.

등록정보기본 값설명

<model_name>

N/A

필수입니다. 객체 감지 모델입니다. 모델 이름은 공백을 포함할 수 없습니다. 이름은 현장조사의 미디어 폴더에 저장된 모델 파일의 이름과 일치해야 합니다(확장자 제외).

값: <model_name>

예:

smartAnnotation=CommonObjectDetection

minScore

0.5

선택 사항입니다. 객체 감지를 위한 최소 신뢰도 수준을 지정합니다.

값: 0 - 1

예:

minScore=0.7

cameraPreview

false

선택 사항입니다. 실시간 미리 보기를 활성화합니다. 모델이 감지한 객체는 라이브 카메라 뷰에서 경계 상자를 통해 식별됩니다.

값: true | false

예:

cameraPreview=true

레이블

true

선택 사항입니다. 카메라 미리 보기 및 애노테이션 캔버스에 객체 클래스 레이블이 표시되는지 여부를 지정합니다.

이는 cameraPreview=true인 경우에만 유효합니다.

값: true | false

예:

label=false

클래스

N/A(모델의 모든 클래스가 사용됨)

선택 사항입니다. 감지할 객체 클래스입니다. 모델의 다른 모든 클래스는 무시됩니다. 클래스 이름은 모델의 클래스와 동일해야 합니다. 여러 클래스를 쉼표로 구분하여 제공할 수 있습니다.

값: <class name>

예:

class=truck,car,motorcycle

boundingBoxes

true

선택 사항입니다. 감지된 객체를 식별하기 위해 경계 상자 폴리곤이 애노테이션 캔버스에서 그래픽 요소로 생성되도록 할지 여부를 지정합니다.

값: true | false

예:

boundingBoxes=false

outlineWidth

2

선택 사항입니다. 경계 상자의 너비를 지정합니다. 이는 boundingBoxes=true인 경우에만 유효합니다.

값: <integer>

예:

outlineWidth=3

font

Survey123 현장 앱 글꼴

선택 사항입니다. 애노테이션 캔버스의 레이블에 사용할 글꼴입니다.

비고:

일부 글꼴은 몇몇 기기에서 사용할 수 없습니다. 기본 기기에서 제작한 애노테이션을 검토하여 애노테이션이 제대로 표시되는지 확인합니다.

값: <font name>

예:

font=verdana

fontSize

20

선택 사항입니다. 애노테이션 캔버스의 레이블 크기를 지정합니다.

값: <integer>

예:

fontSize=30

굵게

false

선택 사항입니다. 애노테이션 캔버스에서 레이블에 굵게 형식을 적용할지 여부를 지정합니다.

값: true | false

예:

bold=true

기울임꼴

false

선택 사항입니다. 애노테이션 캔버스에서 레이블에 기울임꼴 형식을 적용할지 여부를 지정합니다.

값: true | false

예:

italic=true

사용자 설정 애노테이션 팔레트를 생성하여 캔버스에서 객체가 애노테이션되는 방법을 사용자 정의할 수 있습니다. 레이블의 형식을 지정하고 경계 상자 또는 각 객체 클래스를 식별하는 데 사용되는 표시 심볼의 스타일을 정의할 수 있습니다. 객체 클래스에 사용자 설정 애노테이션 클래스를 적용하려면 XLSPalette 템플릿의 레이블 열 값이 모델의 클래스 이름과 일치해야 합니다. 자세한 내용은 그리기 및 애노테이트 팔레트를 참고하세요.

비고:

스마트 애노테이션과 함께 사용자 설정 애노테이션 팔레트를 사용하면 다음과 같은 등록정보가 무시됩니다.

  • label(애노테이션 캔버스만)
  • boundingBoxes
  • outlineWidth
  • font
  • fontSize
  • bold
  • italic

현장조사에 스마트 감추기 추가

bind::esri:parameters 열에 redaction 매개변수를 추가하여 현장조사의 이미지 질문에 감추기를 추가할 수 있습니다. 현장조사에서 이미지 감추기를 구성하는 방법에는 세 가지가 있습니다.

  • 현장조사가 있는 모델을 포함하여 감추기를 추가합니다. 이 방법은 Android, iOS, Windows에서 지원됩니다.
  • 빌트인 얼굴 감추기를 추가합니다. 이 방법은 AndroidiOS 에서 지원됩니다. 스마트 감추기를 활성화하려면 사용자가 현장 앱에서 고급 카메라 기능을 켜야 할 수 있습니다. 자세한 내용은 머신 러닝을 참고하세요.
  • 수동 감추기만 추가합니다. 이 방법을 사용하면 사용자가 경계 상자를 수동으로 추가하여 이미지의 영역을 감출 수 있습니다. 이 방법은 Android, iOS, Windows에서 지원됩니다.

다음 테이블에는 redaction 매개변수와 함께 사용할 수 있는 필수 및 선택적 등록정보가 나열되어 있습니다.

등록정보기본 값설명

<model_name>

N/A

필수입니다. 객체 감지 모델입니다. 모델 이름은 공백을 포함할 수 없습니다. 이름은 현장조사의 미디어 폴더에 저장된 모델 파일의 이름과 일치해야 합니다(확장자 제외). 또는 @faces를 사용하여 빌트인 얼굴 감지를 사용하거나 @manual을 사용하여 수동 감추기만 활성화할 수 있습니다.

값: <model_name> | @faces | @manual

예:

redaction=CommonObjectDetection
redaction=@faces
redaction=@manual

minScore

0.5

선택 사항입니다. 객체 감지를 위한 최소 신뢰도 수준을 지정합니다. 이는 모델 이름이 @faces 또는 @manual인 경우 무시됩니다.

값: 0 - 1

예:

minScore=0.7

cameraPreview

false

선택 사항입니다. 실시간 미리 보기를 활성화합니다. 모델이 감지한 객체는 라이브 카메라 뷰에서 경계 상자를 통해 식별됩니다. 이는 모델 이름이 @manual인 경우 무시됩니다.

값: true | false

예:

cameraPreview=true

레이블

true

선택 사항입니다. 카메라 미리 보기에 객체 클래스 레이블이 표시되는지 여부를 지정합니다.

이는 cameraPreview=true인 경우에만 유효합니다.

값: true | false

예:

label=false

클래스

N/A(모델의 모든 클래스가 사용됨)

선택 사항입니다. 감지할 객체 클래스입니다. 모델의 다른 모든 클래스는 무시됩니다. 클래스 이름은 모델의 클래스와 동일해야 합니다. 이는 모델 이름이 @faces 또는 @manual인 경우 무시됩니다.

값: 쉼표(,)로 구분된 <class_name>

예:

class=person,cat,dog

엔진

N/A

선택 사항입니다. 얼굴 감지를 위해 Apple 빌트인 Vision API를 사용합니다. 자세한 내용은 머신 러닝을 참고하세요. 이 등록정보는 모델 이름이 @faces일 때만 유효하며 iOS 기기에서만 지원됩니다.

값: vision

예:

engine=vision

효과

픽셀화

선택 사항입니다. 감춘 영역에 적용할 감추기 효과를 지정합니다.

값: pixelate | blur | blockout | symbol

예:

effect=blur

심볼

N/A

선택 사항입니다. 감춘 영역에 적용할 심볼입니다.

이는 effect=symbol인 경우에만 유효합니다.

값: <Emoji> | <SVG file name>

예:

symbol=🚫
symbol=blockout.svg

fillColor

#000000

선택 사항입니다. 가리기 상자의 채우기 색상입니다. 이는 effect=blockout인 경우에만 유효합니다.

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

예:

fillColor=Blue

크기 조정

1

선택 사항입니다. 경계 상자 크기를 기본 크기보다 최대 두 배 더 크게 지정합니다. 이는 모델 이름이 @manual인 경우 무시됩니다.

값: 1 | 2

예:

scale=2

모델을 포함하여 감추기 추가

객체 감지 모델을 포함하여 현장조사에 감추기를 추가하려면 다음 단계를 완료합니다.

  1. Survey123 Connect에서 현장조사를 생성합니다.
  2. 이미지 질문을 추가합니다.
  3. 현장조사의 미디어 폴더에 모델 파일(<model_name>.tflite<model_name>.txt 또는 <model_name>.emd)을 복사합니다.

    파일 이름은 공백을 포함할 수 없습니다.

    스마트 도우미에 익숙해지기 위해 ArcGIS Living Atlas of the World의 일반적인 객체 감지 모델을 사용할 수 있습니다. 모델을 다운로드하거나 현장조사에 모델을 연결할 수 있습니다.

  4. bind::esri:parameters 열에 redaction 매개변수를 추가하고 모델의 이름을 지정합니다.

    redaction=CommonObjectDetection

  5. 필요한 경우, bind::esri:parameters 열의 모델 이름 뒤에 등록정보를 포함하여 최소 신뢰도 점수, 카메라 미리 보기, 레이블, 객체 클래스, 엔진, 감추기 효과를 제어합니다. 앰퍼샌드(&)를 사용하여 등록정보를 구분합니다.

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

빌트인 얼굴 감추기 추가

객체 감지 모델을 포함하지 않고 현장조사에 빌트인 얼굴 감추기를 추가하려면 다음 단계를 완료합니다.

  1. Survey123 Connect에서 현장조사를 생성합니다.
  2. 이미지 질문을 추가합니다.
  3. bind::esri:parameters 열에 redaction 매개변수를 추가하고 모델의 이름을 @faces로 지정합니다.

    redaction=@faces

    @faces 등록정보는 빌트인 기술을 사용하여 이미지의 얼굴을 감춥니다. 이 감추기 기능이 작동하려면 현장 앱에서 고급 카메라 기능을 활성화해야 합니다. 자세한 내용은 머신 러닝을 참고하세요.

  4. 필요한 경우, bind::esri:parameters 열의 모델 이름 뒤에 등록정보를 포함하여 최소 신뢰도 점수, 카메라 미리 보기, 레이블, 객체 클래스, 엔진, 감추기 효과를 제어합니다. 앰퍼샌드(&)를 사용하여 등록정보를 구분합니다.

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

수동 감추기 추가

현장조사에 수동 감추기를 추가하려면 다음 단계를 완료합니다.

  1. Survey123 Connect에서 현장조사를 생성합니다.
  2. 이미지 질문을 추가합니다.
  3. bind::esri:parameters 열에 redaction 매개변수를 추가하고 모델의 이름을 @manual로 지정합니다.

    redaction=@manual

  4. 필요한 경우, bind::esri:parameters 열의 모델 이름 뒤에 등록정보를 포함하여 감추기 효과를 제어합니다. 앰퍼샌드(&)를 사용하여 등록정보를 구분합니다.

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