레이블이 QGIS 실습인 게시물을 표시합니다. 모든 게시물 표시
레이블이 QGIS 실습인 게시물을 표시합니다. 모든 게시물 표시

2026-10-06

NaGeoAI 실제 QGIS 실습 9 | Lightning 체크포인트 학습과 NDVI 픽셀 회귀 검증

실습일: 2026년 10월 6일 · QGIS 3.44.12 · NaGeoAI

1. 실습 목적과 확인 범위

본 실습에서는 Landsat 예제 영상과 기준 NDVI를 이용하여 GeoAI Lightning 체크포인트를 학습하고, NaGeoAI의 픽셀 회귀 패널에서 예측 GeoTIFF를 생성하였다. 자료의 좌표계와 격자 정합, 체크포인트 재로딩, QGIS 실제 실행 및 출력의 공간 범위 보존 여부를 확인하는 것을 목적으로 한다. 공개된 완성 체크포인트를 다운로드한 실습이 아니라, 공식 예제 자료를 이용하여 새 모델을 학습한 실습이다.

2. 플러그인 설치와 예제 자료 다운로드

NaGeoAI 1.9.1 배포 ZIP을 받은 뒤 QGIS의 플러그인 → 플러그인 관리 및 설치 → ZIP 파일에서 설치에서 해당 파일을 선택하고 설치한다. 설치 후 NaGeoAI 활성화 상태를 확인한다. 필요한 Python 환경은 NaGeoAI 메뉴의 ‘필수 환경·모델 설치’에서 확인한다. 본 회차에서는 기존 설치 환경을 사용했으므로 새 설치 화면을 촬영하거나 재설치했다고 표시하지 않는다. 설치 화면은 실습 1의 실제 과거 캡처를 참고한다. 해당 글 역시 ZIP 선택 화면과 재설치 완료 증거를 구분하고 있다.

자료의 출처는 GeoAI 공식 Pixel-Level Regression 예제이다. 아래 링크에서 입력 영상과 기준 NDVI를 별도 폴더에 다운로드한다. 본 글은 원본 래스터와 모델을 재배포하지 않으며, 자료의 외부 재배포에는 제공처의 최신 이용 조건을 별도로 확인해야 한다.

다운로드한 원본은 보존하고, 타일·모델·예측 결과는 별도 실습 폴더에 저장한다. 이 자료는 한국 현장 관측 자료가 아니라 공식 문서의 예제 자료이며, 배경지도만을 입력으로 분석한 것이 아니다.

3. 입력 자료와 모델 학습

두 원본 래스터는 EPSG:3857, 706×649 픽셀, 90m 격자로 확인되었다. 입력은 8밴드, 기준 NDVI는 1밴드이다. 밴드 설명이 없으므로 임의의 밴드 명칭을 붙이지 않고 원본의 8밴드 순서를 유지하였다. 입력과 기준 영상의 좌표 변환 및 격자 일치 여부를 확인하였다. 원본의 Y 방향 픽셀 간격은 +90m이며, 출력에서도 동일한 지리참조를 보존하였다.

128×128 픽셀의 중첩 없는 타일을 구성하였다. 왼쪽 2개 열의 10개 타일을 학습에 사용하고, 한 열을 비운 뒤 5개 타일을 검증, 별도 5개 타일을 최종 평가에 사용하였다. 경계 잔여 픽셀은 제외하였다. 최종 평가 타일은 모델 선택에 사용하지 않았다. 공식 문서의 무작위 분할 및 학습 설정을 그대로 복제한 것이 아니라, 본 회차의 작은 실습 범위에 맞추어 조정한 구성이다.

항목실제 설정
구조 / 인코더U-Net / ResNet18
입력 채널 / 사전학습 가중치8 / 사용하지 않음
학습 반복 / 배치50 epochs / 2
학습률 / 손실0.001 / MSE
seed / workers42 / 0
학습 장치NVIDIA GeForce RTX 3080 Ti
최선 체크포인트resnet18_unet_epoch=48_val_loss=0.0043.ckpt

학습과 추론에는 일관된 입력 정규화를 적용하였다. 이번 입력 값 범위에서 GeoAI 전처리는 입력을 0~1로 제한하므로 일부 음의 입력값은 0으로 처리된다. 원본 파일 자체는 변경하지 않았다. 체크포인트는 GeoAI PixelRegressionModel.load_from_checkpoint로 재로딩하여 검증하였다. 임의의 다른 모델 .ckpt 파일은 구조·입력 채널이 다를 수 있어 대체할 수 없다. 재학습은 공식 문서의 train_pixel_regressor 절차를 따르되 위 설정과 공간 분할을 동일하게 적용해야 한다.

4. QGIS 시작 프로젝트와 실습 입력

시작 프로젝트 QGIS_Play.qgz를 열고, 분석 레이어를 추가하기 전에 QGIS_Play_NaGeoAI_20261006_pixel_regression.qgz로 별도 저장하였다. 원본 프로젝트는 덮어쓰지 않았다. 최종 평가 영역 중 test_0_512_input.tif와 test_0_512_target.tif를 각각 입력 영상과 기준 NDVI 레이어로 추가하였다. QGIS에서 유효한 래스터임을 확인하고 실습 복사본의 프로젝트 CRS를 EPSG:3857로 설정하였다.

5. NaGeoAI 픽셀 회귀 설정

  1. NaGeoAI 도구 모음에서 ‘추가 분석’을 연다.
  2. 기능 목록에서 ‘픽셀 회귀’를 선택한다.
  3. 입력 래스터에 test_0_512_input.tif를 지정한다.
  4. 모델 체크포인트에 위에서 학습한 최선 .ckpt 파일을 지정한다.
  5. 타일 크기 128, 중첩 크기 0을 입력한다.
  6. 새 출력 파일 qgis_pixel_regression_20261006.tif를 지정하고 ‘공간 결과를 지도에 추가’를 선택한다.
실제 QGIS 입력 및 기준 NDVI 레이어와 NaGeoAI 픽셀 회귀 설정 화면
그림 1. 실제 입력 레이어와 픽셀 회귀 패널. 체크포인트·타일 크기 128·중첩 0·출력 경로를 확인한다. 이미지를 클릭하면 원본 크기로 볼 수 있다.

6. 실행과 처리 로그 확인

‘실행’을 누른 뒤 시작 로그와 처리 완료를 확인하였다. 이번 입력은 128×128 픽셀의 한 타일이므로 로그에는 Total tiles: 1이 표시된다. 처리 중 동일 출력으로 다시 실행하거나 기존 결과를 덮어쓰지 않는다.

NaGeoAI 픽셀 회귀 실행 직후 시작 로그
그림 2. 실행 직후 ‘픽셀 회귀 시작’ 로그. 이 화면은 완료 결과가 아니라 처리 시작 단계이다.
QGIS 지도에 추가된 NDVI 예측 출력과 Pixel regression complete 로그
그림 3. 예측 결과 레이어와 처리 완료 로그. Output dimensions: 128x128 및 Pixel regression complete를 확인한다. 회색조 화면의 명암은 NDVI 값의 표시이며 실제 색상 영상이 아니다.

7. 출력 격자와 수치 검증

출력 레이어를 더블클릭하여 ‘정보’에서 너비·높이·자료형·범위를 확인하였다. 출력은 1밴드 Float32 GeoTIFF이며, EPSG:3857과 입력의 좌표 변환·공간 범위를 그대로 보존하였다. 별도 파일 검사에서 모든 출력값이 유한한 수임을 확인하였다.

QGIS 출력 레이어 속성의 128×128 크기와 Float32 자료형 검증 화면
그림 4. 실제 출력 레이어 속성. 128×128 크기, 1밴드, Float32 및 공간 범위를 확인한다.
검증 범위결과
최종 평가 5타일 / 81,920픽셀RMSE 0.05297 / MAE 0.03715 / R² 0.60326
학습 평균값 기준선 RMSE0.15594
QGIS 실제 실행 1타일 RMSE0.04544
QGIS 1타일 예측 범위0.11157~0.99660
QGIS와 CPU 동일 타일 예측의 최대 절대 차이0.0005221

5타일 평가는 체크포인트를 재로딩한 CPU 추론 결과이며, QGIS 실제 패널에서 실행한 것은 그중 1타일이다. 두 검증 범위를 혼동하지 않아야 한다. 동일 영상 내 공간 분리 평가이므로 다른 연도·지역에 대한 일반화 성능은 확인하지 않았다. 모든 평가 타일을 합친 예측 범위는 0.07456~1.07403으로, 일부 픽셀은 NDVI 상한 1을 초과하였다. 이번 출력에는 사후 값 제한을 적용하지 않았다.

8. 저장, 종료와 주의사항

처리 완료 후 출력 레이어 속성 창에서 QGIS가 일시적으로 ‘응답 없음’ 상태가 나타났다. 당시 강제 종료하지 않았으며, 후속 확인에서 실습 복사본에 입력·기준 NDVI·예측 결과 3개 레이어가 저장되어 있고 QGIS 창과 프로세스가 더 이상 실행 중이 아닌 것을 확인하였다. 자동 정리 시점에는 정상 종료를 확인하지 못했으므로, 이를 오류 없이 자동 저장·종료한 사례로 해석해서는 안 된다.

실습을 재현할 때는 모델 입력 채널 수, 밴드 순서, 전처리, CRS, 타일 크기를 함께 확인해야 한다. NDVI는 필요한 밴드가 있으면 산식으로 직접 계산할 수도 있으며, 본 실습은 딥러닝 회귀와 체크포인트 연결 과정의 검증을 위한 것이다. 실제 식생 상태 평가나 현장 의사결정에 사용하려면 별도의 지역·시기 자료와 독립 기준 자료를 이용한 추가 검증이 필요하다.

GeoAI 위성·드론 영상 분석, 재난대응 산업이 뜬다 | 재난안전과 GeoAI

GeoAI 위성·드론 영상 분석 기술이 재난대응 산업의 중심으로 떠오르고 있다. 누리호 5차 발사, 위성·드론 영상 분석 스타트업, ArcGIS 경사지 위험 분석 서비스까지 오늘의 관련 소식을 정리했다. 📌 3줄 요약 아크넥사는 위성·드론 영상을...