HyperAI초신경

원격 감지 리소스(1부): 오픈 소스 코드를 사용하여 토지 분류 모델 학습

特色图像

토지 분류는 원격 감지 이미지의 중요한 응용 시나리오 중 하나입니다. 이 글에서는 토지 분류의 몇 가지 일반적인 방법을 소개하고, 오픈 소스 의미 분할 코드를 사용하여 토지 분류 모델을 생성합니다.

원격 감지 이미지는 측량 및 지도 작성 지리 정보 작업에 중요한 데이터입니다. 이들은 국가의 지리적 상황을 모니터링하고 지리정보 데이터베이스를 업데이트하는 데 매우 중요한 역할을 하며, 군사, 상업, 민생 분야에서 점점 더 중요한 역할을 하고 있습니다.

최근 들어 국가의 위성영상 취득능력이 향상됨에 따라 원격탐사 영상데이터 수집의 효율이 크게 향상되어 저공간해상도, 고공간해상도, 광시야각, 멀티앵글, 레이더 등 다양한 센서가 공존하는 패턴이 형성되고 있습니다.

지구 원격 감지 데이터를 수집하는 궤도에 있는 랜드샛 2. 이 위성은 NASA 랜드샛 프로그램의 두 번째 위성으로, 중간 해상도의 전 세계 계절 데이터를 얻기 위해 1975년에 발사되었습니다.

다양한 목적에 따른 지구 관측의 필요성을 충족하는 광범위한 센서.그러나 이로 인해 원격 감지 이미지 데이터 형식이 일관되지 않고 저장 공간이 많이 소모되는 등의 문제가 발생했습니다.이미지 처리 과정에는 종종 큰 어려움이 따릅니다.

토지 분류를 예로 들면, 과거에는 원격 탐사 이미지를 이용해 토지를 분류했습니다.라벨링 및 통계를 위해 많은 인력을 사용하는 경우가 많습니다.몇 달, 심지어 1년이 걸립니다. 토지 유형의 복잡성과 다양성을 고려할 때, 인간의 통계적 오류는 불가피합니다.

인공지능 기술의 발전으로 원격 감지 이미지의 수집, 처리, 분석이 더욱 지능적이고 효율적으로 이루어졌습니다.

일반적인 토지 분류 방법

일반적으로 사용되는 토지 분류 방법은 기본적으로 세 가지 범주로 나뉩니다.GIS 기반의 기존 분류 방법, 머신 러닝 알고리즘 기반의 분류 방법, 신경망 의미 분할을 활용한 분류 방법.

기존 방식: GIS 분류 사용 

GIS는 원격 감지 이미지를 처리할 때 자주 사용되는 도구입니다. 전체 명칭은 지리정보시스템(Geographic Information System)이며, 지리정보시스템이라고도 합니다.여기에는 관계형 데이터베이스 관리, 효율적인 그래프 알고리즘, 보간, 구역 지정 및 네트워크 분석과 같은 고급 기술이 통합되어 있습니다.공간 분석을 간단하고 쉽게 만들어보세요.

GIS를 이용한 엘리자베스 강 동부 지류의 공간 분석

GIS 공간 분석 기술을 활용하여이를 통해 해당 토지 유형의 공간적 위치, 분포, 형태, 형성 및 진화에 대한 정보를 얻을 수 있습니다.지형적 특징을 파악하고 판단을 내리세요.

머신 러닝: 분류를 위한 알고리즘 사용 

전통적인 토지 분류 방법에는 감독 분류와 비감독 분류가 있습니다.

지도 분류는 훈련 분류라고도 합니다.이는 알려지지 않은 카테고리의 픽셀을 확인된 카테고리의 훈련 샘플의 픽셀과 비교하고 식별하는 것을 말합니다.이제 토지 유형 전체에 대한 분류를 완료하세요.

지도 분류에서는 학습 샘플이 충분히 정확하지 않을 경우, 일반적으로 학습 영역을 다시 선택하거나 수동으로 시각적으로 수정하여 학습 샘플 픽셀의 정확도를 보장합니다.

지도 분류 후 원격 탐사 이미지(왼쪽): 빨간색은 건설용지, 녹색은 비건설용지를 나타냄

비지도 분류란 사전에 사전 범주 기준을 얻을 필요가 없고, 원격 탐사 이미지의 픽셀의 스펙트럼 특성에 따라 전적으로 통계적 분류를 수행한다는 것을 의미합니다.이 방법은 높은 수준의 자동화를 갖추고 있으며 인간의 개입이 거의 필요하지 않습니다.

지원 벡터 머신 및 최대 우도법과 같은 머신 러닝 알고리즘의 도움으로 지도 학습 및 비지도 학습 분류의 효율성과 정확성을 크게 향상시킬 수 있습니다. 

신경망: 분류를 위한 의미론적 분할 사용 

의미론적 분할은 기계가 주변 풍경을 더 잘 이해할 수 있도록 돕는 종단 간 픽셀 수준 분류 방법으로, 자율 주행 및 토지 계획 분야에서 널리 사용됩니다.

딥 신경망을 기반으로 한 의미 분할 기술은 픽셀 수준의 분류 작업을 처리할 때 기존의 머신 러닝 방법보다 더 나은 성능을 발휘합니다.

의미론적 분할 알고리즘을 사용하여 특정 장소의 원격 감지 이미지를 식별하고 판단합니다.

고해상도 원격 감지 이미지는 장면이 복잡하고 세부 정보가 풍부하며, 객체 간의 스펙트럼 차이가 불확실하여 분할 정확도가 낮아지거나 분할이 잘못될 수 있습니다.

의미론적 분할을 사용하여 고해상도 및 초고해상도 원격 감지 이미지를 처리합니다.
영상의 픽셀 특징을 더욱 정확하게 추출하고, 특정 토지 유형을 빠르고 정확하게 식별하여 원격 감지 영상의 처리 속도를 향상시킬 수 있습니다.

일반적으로 사용되는 의미론적 분할 오픈 소스 모델

일반적으로 사용되는 픽셀 수준 의미 분할 오픈 소스 모델로는 FCN, SegNet, DeepLab 등이 있습니다.

1. 완전 합성곱 네트워크(FCN)

특성:종단간 의미론적 분할
이점:이미지 크기에 제한이 없고, 보편적이며 효율적입니다.
결점:실시간 추론을 빠르게 수행할 수 없고, 처리 결과가 충분히 세밀하지 않으며, 이미지 세부 사항에 민감하지 않습니다.

2. 세그넷 

특성:최대 풀링 인덱스를 디코더로 이동하여 분할 해상도를 개선합니다.
이점:빠른 학습 속도, 높은 효율성, 낮은 메모리 사용량
결점:테스트는 피드포워드가 아니며 MAP 레이블을 결정하기 위해 최적화되어야 합니다.

3. 딥랩 

DeepLab은 Google AI에서 출시되었습니다.DCNN을 사용하여 의미 분할 작업을 해결하는 것을 옹호합니다.총 4가지 버전이 있습니다: v1, v2, v3, v3+.

DeepLab-v1은 풀링으로 인해 발생하는 정보 손실 문제를 해결합니다.확장 합성곱 방법이 제안되었습니다.매개변수의 개수를 늘리지 않고도 수용 영역을 확대하는 동시에 정보가 손실되지 않도록 보장합니다.

DeepLab-v1 모델 프로세스 데모


DeepLab-v2는 v1을 기반으로 합니다.다중 스케일 병렬 처리가 추가되었습니다.서로 다른 크기의 객체를 동시에 분할하는 문제가 해결되었습니다.

딥랩-v3 홀 합성은 캐스케이드 모듈에 적용됩니다.ASPP 모듈이 개선되었습니다.

딥랩-v3+ SPP 모듈은 인코더-디코더 구조에 사용됩니다.섬세한 물체의 모서리를 복원할 수 있습니다. 세분화 결과를 구체화합니다.

모델 학습 준비

목적: DeepLab-v3+ 기반으로 토지 분류를 위한 7가지 분류 모델 개발

데이터:Google Earth에서 수집한 특정 지역의 원격 감지 이미지 304개. 원본 이미지 외에도 전문적으로 주석이 달린 7개 카테고리 이미지, 7개 카테고리 마스크, 25개 카테고리 이미지, 25개 카테고리 마스크 이미지가 포함되어 있습니다. 이미지 해상도는 560*560이고 공간 할당률은 1.2m입니다.

원본 이미지와 해당 7개 카테고리 이미지를 스티칭하는 예
위는 원본 이미지이고, 아래는 7단계 분류 이미지입니다.


매개변수 조정 코드는 다음과 같습니다.

net = DeepLabV3Plus(backbone = 'xception')criterion = CrossEntropyLoss()optimizer = optim.SGD(net.parameters(), lr=0.05, momentum=0.9,weight_decay=0.00001) lr_fc=lambda iteration: (1-iteration/400000)**0.9exp_lr_scheduler = lr_scheduler.LambdaLR(optimizer,lr_fc,-1)

교육 세부 정보

해시레이트 선택:엔비디아 T4
훈련 프레임워크:파이토치 V1.2
반복:600 에포크
훈련 기간:약 50시간
차용증:0.8285(훈련 데이터)
AC:0.7838(훈련 데이터)

데이터셋 링크: https://openbayes.com/console/openbayes/datasets/qiBDWcROayo

자세한 교육 과정 직접 링크: https://openbayes.com/console/openbayes/containers/dOPqM4QBeM6

원격탐사 이미지 랜드 7 분류 공개 튜토리얼 세부 정보

  튜토리얼 사용법 

튜토리얼의 샘플 디스플레이 파일은 predict.ipynb입니다. 이 파일을 실행하면 환경이 설치되고 기존 모델의 인식 효과가 표시됩니다.

  프로젝트 경로 

–  테스트 이미지 경로:

semantic_pytorch/out/result/pic3

–  마스크 이미지 경로:

semantic_pytorch/out/result/label

–  이미지 경로 예측:

semantic_pytorch/out/result/predict

–  훈련 데이터 목록:기차.csv

–  테스트 데이터 목록:테스트.csv

  지침 

학습 모델은 semantic_pytorch에 들어가고, 학습된 모델은 model/new_deeplabv3_cc.pt에 저장됩니다. 

이 모델은 DeepLabV3plus를 사용하고, 학습 매개변수에서 Loss는 이진 교차 엔트로피를 사용합니다. 에포크 번호는 600이고 초기 학습률은 0.05입니다.

  훈련 지침:

python main.py

우리가 훈련시킨 모델을 사용한다면, 그것을 모델 폴더 fix_deeplab_v3_cc.pt에 저장하고 predict.py에서 직접 호출하세요.

  예측 지침:

python predict.py

튜토리얼 주소:https://openbayes.com/console/openbayes/containers/dOPqM4QBeM6

모델 작성자:

왕 얀신, 헤이룽장 대학교에서 소프트웨어 공학을 전공하는 2학년 학생이며, 현재 OpenBayes에서 인턴으로 일하고 있습니다.

질문 1: 이 모델을 개발하기 위해 어떤 채널을 사용했고, 어떤 정보를 참고했습니까?

왕얀신:주로 기술 커뮤니티, GitHub 등의 채널을 통해 DeepLab-v3+ 논문과 관련 프로젝트 사례를 살펴보고, 함정이 무엇인지, 어떻게 극복할 수 있는지 미리 학습했으며, 이후 모델 개발 과정에서 문제가 발생할 경우 언제든지 질의하고 문제를 해결할 수 있도록 충분히 준비했습니다.

질문 2: 이 과정에서 어떤 어려움을 겪었나요? 어떻게 극복하셨나요?

왕얀신:데이터 양이 충분하지 않아 IoU와 AC의 성능이 평균 수준으로 저하됩니다. 다음에는 더 풍부한 데이터를 보유한 공공 원격 감지 데이터 세트를 사용해 보세요.

질문 3: 원격 감지와 관련하여 어떤 다른 방향을 시도하고 싶으신가요?

왕얀신:이번에는 토지를 분류해 보겠습니다. 다음으로, 머신 러닝과 원격 감지 기술을 결합하여 해양 풍경과 해양 요소를 분석하거나 음향 기술을 결합하여 해저 지형을 식별하고 판단하고자 합니다.


이 훈련에 사용된 데이터 양은 비교적 적고, 훈련 세트에 대한 IoU와 AC 성능은 평균입니다. 모델 학습을 위해 기존의 공개 원격 감지 데이터 세트를 사용해 볼 수도 있습니다. 일반적으로, 훈련이 철저하고 훈련 데이터가 풍부할수록 모델 성능이 좋아집니다.

이 시리즈의 다음 기사에서는우리는 11개의 주요 공공 원격 감지 데이터 세트를 편집하여 분류했습니다.귀하의 필요에 맞게 선택하고, 이 글에서 제공하는 학습 아이디어를 바탕으로 더욱 완전한 모델을 학습할 수 있습니다.

참조:

http://tb.sinomaps.com/CN/0494-0911/home.shtml
file:///Users/antonia0912/Downloads/2018-6A-50.pdf
https://zhuanlan.zhihu.com/p/75333140
http://www.mnr.gov.cn/zt/zh/zljc/201106/t20110619_2037196.html