Skip To Content

래스터 분석에서 딥러닝

ArcGIS Image Server를 사용하여 원격 감지 이미지를 분류하기 위해 통계 또는 머신 러닝 분류 방법을 사용할 수 있습니다. 딥러닝은 모델에 설명된 피처 식별 및 패턴 인식을 위한 비선형 처리의 다중 레이어를 사용하는 머신 러닝 유형입니다. 딥러닝 모델은 객체 감지 및 이미지 구별을 위해 ArcGIS Image Server와 통합될 수 있습니다. ArcGIS Pro에서 분류 교육 샘플 관리자 도구를 사용하여 관심 피처 또는 객체의 교육 샘플을 생성한 다음, 딥러닝 프레임워크에서 사용할 수 있는 형식으로 변환합니다. 이러한 교육 샘플은 데이터 과학자 또는 이미지 과학자가 서드 파티 딥러닝 프레임워크를 통해 모델을 학습하는 데 사용됩니다. 숙련된 모델은 모델 정의 파일(및 선택적으로 파이썬 래스터 함수 스크립트 파일)과 함께 래스터 분석 추론 도구를 실행하는 데 사용되는 딥러닝 패키지(dlpk) 항목으로 압축되어 공유됩니다. 추론 도구는 특정 피처를 추출하거나 이미지의 픽셀을 분류합니다. dlpk 항목은 래스터 분석 도구에 대한 입력으로 여러 번 사용할 수 있으므로 모델을 교육한 후 다양한 위치와 시간대에 걸쳐 여러 이미지를 쉽게 평가할 수 있습니다.

딥러닝 워크플로

워크플로 항목 1

ArcGIS Pro에서 교육 샘플 관리자를 사용하여 교육 샘플을 만들고 ArcGIS REST API에서 딥러닝을 위한 교육 데이터 내보내기 래스터 분석 도구를 사용하거나, ArcGIS API for Python에서 데이터 과학자를 위한 데이터를 준비합니다.

워크플로 항목 2

데이터 과학자는 교육 데이터를 사용하여 서드 파티 딥러닝 프레임워크로 모델을 개발합니다.

워크플로 항목 3

데이터 과학자는 모델 정의 파일과 숙련된 모델 및/또는 파이썬 스크립트로 구성된 딥러닝 패키지를 전달하고 ArcGIS Image Server 래스터 분석 환경으로 돌아갑니다.

워크플로 항목 4

딥러닝 패키지(.dlpk) 항목을 생성하고 포털에 공유합니다. dlpk 항목이 있으면 딥러닝 기반 객체 감지 도구 또는 딥러닝 기반 픽셀 분류 도구를 실행하여 결과를 생성할 수 있습니다.

워크플로 항목 5

ArcGIS API for Python을 사용하여 딥러닝 프레임워크로 모델을 학습할 수 있습니다.

피처 및 기능

딥러닝 래스터 분석 도구가 있으면 향상된 머신 러닝 분류 기술을 사용할 수 있습니다.

  • 이미지 분류를 위해 컨볼루션 신경망을 사용합니다.
  • 딥러닝 모델을 사용하여 이미지 픽셀을 분류하거나 비행기, 나무, 차량, 수역, 유정 패드 등의 객체를 감지합니다.
  • Keras, TensorFlow, CNTK, PyTorch를 포함한 외부 딥러닝 모델 프레임워크를 통합합니다.
  • 모델 정의 파일을 여러 번 사용하여 시간에 따른 변화를 감지하거나 다른 관심 영역의 객체를 감지합니다.
  • 추가 분석 또는 워크플로에 사용될 감지된 객체를 표시하는 폴리곤 피처 클래스를 생성합니다.
  • 딥러닝 추론 도구는 분산 처리를 위해 CPU를 사용할 수 있거나, 사용 가능한 경우 각 서버 노드에서 강력한 GPU를 사용할 수 있습니다.

딥러닝 시작하기

학습 샘플의 생성 및 내보내기는 관련 분야의 이해도가 높은 이미지 분석가가 이미지 분류 워크플로에 대한 강력한 지식을 필요로 하기 때문에 ArcGIS에서 수행됩니다. 딥러닝 모델은 데이터 과학자 또는 딥러닝 모델 학습 경험자가 딥러닝 프레임워크를 사용하여 ArcGIS 외부에서 학습합니다. 모델이 Esri 모델 정의 파일 .emd에서 교육 및 정의되면 dlpk 항목을 Portal for ArcGIS에 공유하고 래스터 분석 도구를 실행하여 객체를 감지하거나 Map Viewer, ArcGIS API for Python, ArcGIS REST API, ArcGIS Pro에서 픽셀을 분류합니다. 경우에 따라 딥러닝 모델 및 ArcGIS 이미지 분류 경험이 있는 분석가가 세 단계를 모두 완료할 수 있습니다.

ArcGIS API for Python Python 3 환경에 적절한 딥러닝 프레임워크 ArcGIS Server(TensorFlow, CNTK, PyTorch, Keras)을 설치해야 합니다. 그렇지 않으면 도구에 dlpk 항목을 추가할 때 오류가 발생합니다. Esri 모델 정의 파일 생성자로부터 적절한 프레임워크 정보 얻기

설치에 대한 도움말은 프레임워크 설명서를 참조하세요. 래스터 분석을 위한 ArcGIS Enterprise 구성 및 배포에 대한 도움말은 도움말 설명서를 참조하세요.

  1. 교육 샘플을 생성하고 내보냅니다.
    1. ArcGIS Pro에서 교육 샘플 관리자를 사용하여 분류 스키마를 선택하거나 생성합니다.
    2. 관심 있는 클래스 범주 또는 피처에 대한 교육 사이트 샘플을 생성합니다. 교육 샘플 파일을 저장합니다.
    3. 딥러닝을 위한 학습 데이터 내보내기 래스터 분석 도구를 실행하여 원본 영상과 학습 샘플을 딥러닝 학습 데이터로 변환합니다. 원본 이미지는 이미지 서비스일 수 있습니다. 이 도구의 결과물은 결과 이미지 칩, 레이블, 메타데이터 파일이 저장되는 데이터 저장소 문자열입니다. 도구의 추가 결과물은 데이터 과학자가 채울 템플릿 .emd 파일입니다.
  2. 딥러닝 모델을 교육합니다.
    1. 위의 1단계에서 생성된 이미지 칩을 사용하여 TensorFlow, CNTK, PyTorch, Keras 등의 딥러닝 프레임워크로 모델을 교육합니다.
    2. 딥러닝 프레임워크의 이름, 모델 구성, 기타 선택적 등록정보로 .emd 파일을 업데이트합니다. .emd 파일의 필수 및 선택적 매개변수에 대한 자세한 내용은 아래의 Esri 모델 정의 파일 섹션을 참고하세요.
  3. Map Viewer, ArcGIS API for Python, ArcGIS REST API 또는 ArcGIS Pro에서 추론 래스터 분석 도구를 실행합니다.
    1. 딥러닝을 사용하여 객체 감지 또는 딥러닝을 사용하여 픽셀 분류 래스터 분석 도구를 사용하여 이미지를 처리합니다. 숙련된 모델이 사용자 정의 Python 래스터 함수를 민감도 세밀 조정을 위한 신뢰 임계값 또는 패딩 같은 추가 변수와 통합한 경우 이러한 변수는 사용자 입력을 위해 ArcGIS Pro 또는 Map Viewer 래스터 분석 도구의 대화 상자에 나타납니다. 문자열 또는 숫자와 같은 데이터 유형은 파이썬 래스터 함수에 지정됩니다. 이상적인 추가 추론 매개변수는 2개로 제한해야 합니다.

      딥러닝을 사용하여 객체 감지 도구의 결과는 모델에서 감지한 객체를 보여주는 피처 클래스이며, 딥러닝을 사용하여 픽셀 분류 도구는 분류된 래스터를 출력합니다.

      비고:

      추론 논리가 프레임워크 Python API에 빌트인되어 있고 계산에 필요하기 때문에 추론 도구를 실행하기 위해 래스터 분석 서비스 머신에 딥러닝 모델 프레임워크를 설치해야 합니다.

Esri 모델 정의 파일

.emd 파일은 교육된 딥러닝 모델을 설명하는 JSON 파일입니다. 여기에는 추론 도구를 실행하는 데 필요한 모델 정의 매개변수가 포함되어 있으며, 모델을 교육한 데이터 과학자가 수정해야 합니다. 아래 테이블에 설명된 대로 필수 및 선택적 매개변수가 파일에 있습니다.

모델 정의 파일 매개변수설명

프레임워크

모델 교육에 사용된 딥러닝 프레임워크의 이름입니다.

다음과 같은 3개의 딥러닝 프레임워크가 지원됩니다.

  • TensorFlow
  • CNTK
  • Keras
  • PyTorch

InferenceFunction

ModelConfiguration

모델 구성의 이름입니다.

모델 구성은 모델 입력 및 결과, 추론 논리, 모델 입력 및 출력에 대한 가정을 정의합니다. 표준 입력 및 결과 구성과 추론 논리를 정의하는 기존의 오픈 소스 딥러닝 워크플로가 있습니다. ArcGIS는 미리 정의된 다음 구성을 지원합니다.

TensorFlow

CNTK

Keras

PyTorch

미리 정의된 구성 중 하나를 사용한 경우 .emd 파일에 구성의 이름을 입력합니다. 사용자 정의 구성을 사용하여 딥러닝 모델을 교육한 경우에는 .emd 파일 또는 사용자 정의 파이썬 파일의 입력과 결과를 전체적으로 설명해야 합니다.

ModelFile

교육된 딥러닝 모델 파일의 경로입니다. 많은 모델 프레임워크 파일 형식은 프로토콜 버퍼를 기반으로 하므로 교육된 딥러닝 모델은 .pb 파일이지만 다른 파일 형식도 지원됩니다.

ModelType

모델 유형입니다. 다음 중 하나의 유형일 수 있습니다.

  • ImageClassification - 픽셀 분류용
  • ObjectDetection - 객체 또는 피처 감지용

InferenceFunction

(선택)

추론 함수의 경로입니다.

추론 함수는 교육된 모델 데이터 파일을 파악하고 추론 논리를 제공합니다. ArcGIS 딥러닝 래스터 분석 도구에서 지원되는 6가지의 추론 함수가 있습니다.

  • TensorFlow에 대한 객체 감지
  • Tensor Flow에 대한 픽셀 분류
  • CNTK에 대한 객체 감지
  • CNTK에 대한 픽셀 분류
  • Keras에 대한 객체 감지
  • Pytorch에 대한 객체 감지
위의 추론 함수 중 하나를 사용하는 경우에는 .emd 파일에 지정할 필요가 없습니다. 모델이 아직 지원되지 않는 딥러닝 모델 구성을 사용하여 교육되었거나 특수 추론 논리가 필요한 경우, 교육된 추론 함수(파이썬 모듈)가 교육된 모델과 함께 필요합니다. 이 경우에는 InferenceFunction을 Python 모듈 경로로 설정합니다.

ImageHeight

(선택)

분류 또는 처리 중인 이미지의 행 개수입니다.

ImageWidth

(선택)

분류 또는 처리 중인 이미지의 열 개수입니다.

ExtractBands

(선택)

입력 이미지에서 추출할 밴드 색인 또는 밴드 이름입니다.

클래스

(선택)

결과 클래스 범주 또는 객체에 대한 정보입니다.

다음은 표준 모델 구성을 사용하는 모델 정의 파일(.emd)의 예시입니다.

{
    "Framework": "TensorFlow",
    "ModelConfiguration": "ObjectDetectionAPI",
    "ModelFile":"tree_detection.pb",
    "ModelType":"ObjectionDetection",
    "ImageHeight":850,
    "ImageWidth":850,
    "ExtractBands":[0,1,2],
    "Classes" : [
      {
        "Value": 0,
        "Name": "Tree",
        "Color": [0, 255, 0]
      }
    ]
}

딥러닝 패키지(dlpk) 항목

딥러닝 래스터 분석 도구는 입력으로 딥러닝 모델 패키지(dlpk)가 필요합니다. 딥러닝 모델 패키지는 Esri 모델 정의 JSON 파일(.emd), 딥러닝 이진 모델 파일, 필요한 경우 사용할 파이썬 래스터 함수로 구성됩니다.

모든 컴포넌트가 준비되면 모든 파일을 .zip 파일로 압축하고 .zip 파일을 dlpk 항목으로 포털에 업로드할 수 있습니다. 자세한 내용은 컴퓨터의 파일 추가를 참조하세요. 또한 항목을 추가할 때 dlpk 항목 유형이 자동으로 감지되도록 .zip 파일 확장자를 .dlpk로 변경할 수 있습니다.