안녕하세요! 지난 글들에서 Moondream VLM이나 DeepForest처럼 특정 목적에 특화된 모델들을 살펴보았는데요. 이번에는 GeoAI 플러그인의 핵심 기능 중 하나인 Segmentation(세그멘테이션) 패널을 소개해 드리려고 합니다.
이 기능은 단순히 객체를 찾는 것을 넘어, 영상 내의 모든 픽셀을 분류하여 '무엇'인지 식별해냅니다. 특히 사용자가 직접 보유한 데이터를 기반으로 모델을 학습시키고, 이를 새로운 영상에 적용해 결과물을 벡터로 만드는 전체 워크플로우를 QGIS 안에서 완결할 수 있다는 점이 가장 큰 매력입니다.
QGIS Plugin - GeoAI
QGIS Plugin for GeoAI A QGIS plugin that brings the geoai models into dockable panels (Moondream VLM, semantic segmentation, instance segmentation, SamGeo, DeepForest, water segmentation) so you can keep QGIS as your main workspace while experimenting with
opengeoai.org

0. 시작하기 전에: Segmentation 패널의 구조
GeoAI 플러그인의 세그멘테이션 패널은 사용자의 작업 흐름에 맞춰 세 개의 탭으로 구성되어 있습니다.
- Create Training Data: 학습용 이미지 칩 생성
- Train Model: 딥러닝 모델 학습
- Run Inference: 학습된 모델을 활용한 추론 및 벡터화

1. 1단계: 학습 데이터 생성 (Create Training Data)
딥러닝의 시작은 양질의 데이터입니다. 이 탭에서는 원본 래스터(GeoTIFF)와 라벨링된 벡터 데이터를 활용해 모델이 공부할 수 있는 '이미지 칩(Tiles)'을 만듭니다.
- 설정 항목: 타일 크기(Tile Size), 중첩도(Stride) 등을 설정하여 정해진 규격으로 데이터를 잘라냅니다.
- 결과: 지정된 폴더에 이미지와 라벨 칩들이 생성되며, 이는 다음 단계인 모델 학습의 기초 자료가 됩니다.



2. 2단계: 모델 학습하기 (Train Model)
데이터가 준비되었다면 이제 인공지능을 훈련시킬 차례입니다. GeoAI 플러그인은 전문가 수준의 다양한 딥러닝 아키텍처를 지원합니다.
- 지원 아키텍처: U-Net, U-Net++, DeepLabV3, DeepLabV3+, FPN, PSPNet 등
- 지원 인코더: ResNet(34, 50, 101), EfficientNet, MobileNetV2 등
- 학습 과정: 에포크(Epochs)와 학습률(Learning Rate)을 설정하고 학습을 시작하면, 실시간으로 IoU(Intersection over Union), Loss 등의 지표를 확인할 수 있습니다.
학습 결과 예시 (Architecture: unet / Encoder: resnet34)
- Total epochs: 50
- Best validation IoU: 0.9283
- Final validation Precision: 0.9641
- Final validation Recall: 0.9603
이처럼 높은 정확도(IoU 0.92 이상)가 확보되면 실무에 적용할 준비가 된 것입니다.



Training completed on: 2026-02-25 02:33:59
Architecture: unet
Encoder: resnet34
Total epochs: 50
Best validation IoU: 0.9283
Final validation IoU: 0.9283
Final validation F1: 0.9621
Final validation Precision: 0.9641
Final validation Recall: 0.9603
Final validation loss: 0.0500

3. 3단계: 추론 및 결과 벡터화 (Run Inference)
학습된 모델(.pth 또는 .onnx)을 실제 현장 영상에 적용하는 단계입니다.
- 추론 수행: 새로운 래스터 레이어를 선택하고 학습된 모델 파일을 로드하여 실행합니다.
- 벡터화 및 후처리: 분석 결과는 래스터로 생성될 뿐만 아니라, 즉시 벡터(Polygon) 레이어로 변환할 수 있습니다. 이때 경계선을 매끄럽게 다듬는 'Smoothing' 기능을 활용하면 훨씬 깔끔한 GIS 데이터를 얻을 수 있습니다.






마치며
GeoAI 플러그인의 Segmentation 기능을 활용하면, 단순히 공개된 모델을 사용하는 것을 넘어 '우리 지역, 우리 데이터'에 최적화된 인공지능을 직접 만들 수 있습니다. 건물 추출, 토지 피복 분류, 변화 탐지 등 다양한 공간 분석 업무의 자동화를 꿈꾸신다면 반드시 익혀두어야 할 강력한 도구입니다.