---
type: paper
slug: junghee-lee-2020-cnn-spectral-transform
title: >-
  Different Spectral Domain Transformation for Land Cover Classification Using
  Convolutional Neural Networks with Multi-Temporal Satellite Imagery
authors:
  - '[[junghee-lee]]'
  - '[[daehyeon-han]]'
  - '[[minso-shin]]'
  - '[[jungho-im]]'
  - '[[junghyelee]]'
  - '[[lindi-j-quackenbush]]'
year: 2020
venue: '[[remote-sensing]]'
volume: '12'
pages: '1097'
doi: 10.3390/rs12071097
categories:
  - '[[remote-sensing]]'
  - '[[machine-learning]]'
methods:
  - '[[convolutional-neural-network]]'
  - '[[spectral-domain-transformation]]'
  - '[[occlusion-map]]'
  - '[[random-forest]]'
  - '[[support-vector-machine]]'
  - '[[friedman-test]]'
  - '[[wilcoxon-signed-rank-test]]'
themes:
  - '[[land-cover-classification]]'
  - '[[multitemporal-satellite]]'
  - '[[2d-graph-cnn]]'
  - '[[feature-engineering]]'
aliases: []
last_updated: '2026-05-17T21:30:00+09:00'
---
# Different Spectral Domain Transformation for Land Cover Classification Using Convolutional Neural Networks with Multi-Temporal Satellite Imagery

*[[junghee-lee]], [[daehyeon-han]], [[minso-shin]], [[jungho-im]], [[junghyelee]], [[lindi-j-quackenbush]] (2020)* · [[remote-sensing]] 12:1097 · [DOI ↗](https://doi.org/10.3390/rs12071097)

> 1D spectral vector 를 *2D 이미지* 로 변환하는 4 가지 방법 (Polygon graph, Line graph, 2D Matrix, 1D vector) 을 [[convolutional-neural-network]] 에 입력해 land cover 분류 성능을 체계적으로 비교한다. Landsat 8 다중시기 영상 + 3 개 지역 (Lake Tapps WA, Concord NH, Gwangju Korea) × 9 land cover class. *CNN-Polygon* 이 *작은 sample (<200/class) 영역* 에서 일관되게 우월하며 (Friedman test, p<10⁻⁶), sample 이 커지면 CNN-Matrix·CNN-1D 가 비등 또는 우월해진다. [[occlusion-map]] 기반 sensitivity 로 class 별 결정적 band 식별.

- **RQ**: 1D spectral vector 를 어떤 2D 변환 (polygon vs line vs matrix vs patch) 으로 CNN 에 입력해야 land cover 분류 정확도가 최대화되는가? Sample size 가 작을 때 / 클 때 최적 변환은 어떻게 달라지는가?
- **방법론**: [[convolutional-neural-network]], [[spectral-domain-transformation]] (polygon · line · matrix · patch), [[random-forest]], [[support-vector-machine]], [[occlusion-map]], [[friedman-test]], [[wilcoxon-signed-rank-test]]
- **데이터**: Landsat 8 OLI 4 계절 영상 × 3 지역 (Lake Tapps 1,575 train pts · Concord 1,490 · Gwangju 3,600 train), 7 spectral bands × 4 seasons = 28 input vars, 9 land cover classes (barren · cropland · grassland · water · evergreen · mixed · deciduous · high impervious · low impervious)
- **주요 발견**: (1) Original sample (~150~200/class): CNN-Polygon 평균 rank 1.00 (Lake Tapps OA) · 1.25 (Concord OA), 모든 비교 모형 압도 (Friedman p=1.29×10⁻⁷). (2) Oversampled (1,000/class): CNN-Polygon 우위 약화, Matrix 가 Concord 에서 평균 rank 1.40 으로 역전. (3) Gwangju undersampling: 50 samples/class 에서 CNN-Polygon rank 1.2 압도, 400 samples 에서 CNN-1D rank 1.30 으로 역전. (4) CNN-Patch (11×11 neighbor) 는 small sample 에 가장 약함 (rank 6.95) — patch 다양성에 large sample 필요. (5) [[occlusion-map]] 으로 *class 별* 결정적 band 식별 — NIR (band 5) 가 산림 분류에 결정적.
- **시사점**: 위성 영상 분류에서 *reference data 수집이 제약* (수작업 visual interpretation 의 high cost) 인 환경에 polygon graph CNN 권장. *시각적 직관성* 을 부여하는 representation 이 *작은 sample 에서 generalize* 잘 됨 — feature engineering 가 deep architecture 보다 우선.

![Polygon graph CNN 입력 생성 — 다중시기 × 다중밴드 reflectance 가 polar coordinate 위 꼭지점이 되어 closed polygon 으로 결합된다.](/papers/202003_LeeJ_Different_spectral_domain_transformation_for_land_cover_classification_using_convolutional_neural_networks_with_multi_temporal_satellite_imagery/fig1.png)

## 요약

이 paper 는 [[junghyelee]] 의 *원격탐사 + 머신러닝* 라인의 핵심 milestone — Kim et al. (2018) 의 line-graph CNN ([[miae-kim-2018-cnn-land-cover]]) 첫 제안을 *체계적 비교 실험* 으로 발전시킨다. 기존 land cover CNN 문헌은 (i) U-Net · FCN 같은 *architecture* 변형, (ii) patch-based input (3×3, 11×11 neighbor) 의 두 갈래였고, *1D spectral vector 를 어떻게 2D 로 reshape 할지* 의 *input representation* 자체가 비교된 적이 없었다. 이 paper 는 그 빈자리를 *4 변환 × 3 지역 × 3 sample-size 시나리오* 의 grid 로 채운다.

방법론 핵심은 두 새로운 input 표현이다. (1) **CNN-Polygon** — 28 개 reflectance 값을 polar coordinate 의 꼭지점으로 두고 (각도는 일정 간격) closed polygon 으로 연결, 100×100 binary grid 로 rasterize. (2) **CNN-Matrix** — 4 season × 7 band 의 2D matrix 직접 input (4×7). 비교군: CNN-Line (Kim et al. 2018), CNN-1D ([[lee-2018-1d-cnn]] 구조), CNN-Patch (11×11×28), [[random-forest]] (500 trees), [[support-vector-machine]] (linear, C=100). CNN-Polygon architecture: 3 conv (32→64→128 filters, 5×5→3×3) + max-pool + dropout 0.25 + FC (256→16→9). 다중-class softmax + categorical cross-entropy, Adam (lr=0.001). 통계 비교는 10 회 random split 의 [[friedman-test]] (multi-model) 와 [[wilcoxon-signed-rank-test]] (pairwise) — *non-parametric* 으로 정규성 가정 회피.

핵심 발견 두 가지가 정량적으로 강력하다. 첫째, *작은 sample regime* (50~200/class) 에서 CNN-Polygon 의 평균 rank 가 1.00~1.65 로 일관되게 최상위, Friedman p 가 10⁻⁶~10⁻⁸ 로 매우 유의. 둘째, *큰 sample regime* (oversampled 1,000/class, 또는 Gwangju 400/class) 에서는 CNN-Matrix 또는 CNN-1D 가 rank 1.40~1.30 으로 역전 — *시각적 redundancy* 가 large-data 환경의 학습 효율을 떨어뜨림. CNN-Patch 는 모든 small-sample 시나리오에서 worst rank (6.80~6.95) — *neighbor 다양성* 을 학습하려면 patch 당 큰 sample 필요. [[occlusion-map]] sensitivity 로 각 class 의 결정적 band 식별: 산림 (NIR), 도시 (SWIR), barren vs high impervious 의 spectral 혼동 해소 케이스 분석. 정책 함의는 *reference data 수집 비용이 높은 개발도상국·재난 상황* 의 land cover 분류에 polygon CNN 의 sample-efficiency 이점이 직결된다는 것. 한계: (i) polygon 의 *각도 ordering* (band 순서) 이 임의 결정, (ii) CNN-Matrix·CNN-1D 의 large-sample 우위의 *구조적 원인* 미규명, (iii) patch 모형의 stride·architecture 의 추가 tuning 여지 미탐색.

## 핵심 결과

| 시나리오 | 지역 | sample/class | 최상위 모형 (rank) | OA |
|---|---|---:|---|---:|
| Original | Lake Tapps | ~178 | **CNN-Polygon (1.00)** | ~93-95% |
| Original | Concord | ~165 | **CNN-Polygon (1.25)** | ~93-95% |
| Oversampled | Lake Tapps | 1,000 | **CNN-Polygon (1.65)** | ~94% |
| Oversampled | Concord | 1,000 | **CNN-Matrix (1.40)** | ~94% |
| Undersampled | Gwangju | 50 | **CNN-Polygon (1.20)** | 71.43% |
| Undersampled | Gwangju | 100 | **CNN-Polygon / CNN-1D tie (1.80)** | ~78% |
| Undersampled | Gwangju | 200 | **CNN-Polygon (1.65)** | 80-84% |
| Undersampled | Gwangju | 400 | **CNN-1D (1.30)** | 82.06% |
| Undersampled | Gwangju | 50 | CNN-Patch (worst: 6.95) | low |

Friedman p-values 모두 10⁻⁴ ~ 10⁻⁸ 로 모형 차이가 통계적으로 유의. CNN-Polygon 의 평균 OA: Concord/Lake Tapps 93~95%, Gwangju 80~84%.

## 방법론 노트

[[convolutional-neural-network]] 은 image input 에 강력하지만 *land cover 분류의 본질은 pixel-level spectral signature* — 1D vector 다. 이 paper 는 *1D 를 image-like 2D 로 변환* 함으로써 CNN 의 convolutional inductive bias (translation invariance, locality) 를 차용한다. 변환 자체가 *class signature 의 시각적 분리* 를 강화하면 small-sample 일반화가 좋아진다는 가설.

핵심 식. Polygon graph 변환: pixel $(m,n)$ 에서 multi-temporal-multispectral reflectance $p_{m,n,k}$ ($k=1,\ldots,K$, $K=N_{band} \times N_{time}=28$) 가 polar coordinate 의 꼭지점이 된다.

$$
v_k = \left(p_{m,n,k}\cos\theta_k,\ p_{m,n,k}\sin\theta_k\right), \quad \theta_k = \frac{2\pi(k-1)}{K}
$$

이웃한 $v_k, v_{k+1}$ 가 line segment 로 연결되어 closed polygon. Polygon 내부는 1, 외부는 0 으로 채워 100×100 binary image $X^{pol} \in \{0,1\}^{100\times100}$. CNN forward:

$$
\hat{y} = \text{softmax}\left(W_2\,\sigma(W_1\,\text{flatten}(\text{pool}(\text{conv}_{3}(X^{pol}))))\right)
$$

with cross-entropy loss $\mathcal{L} = -\sum_c y_c \log\hat{y}_c$.

식별 / 평가 전략: (i) 10 회 random 80:20 split 으로 *small-dataset test bias* 완화, (ii) Oversampling = 원 training 에 ±5% reflectance perturbation 으로 1,000/class 까지 증강, (iii) [[occlusion-map]] = 7×7 zero-fill window 를 image 위 sliding 시키며 accuracy drop 측정, normalize 후 class 별 sensitivity heatmap.

## 연구 계보

직접 predecessor 는 (i) [[miae-kim-2018-cnn-land-cover]] (Kim et al. 2018, *Remote Sensing of Environment*) — line graph CNN 의 첫 제안, 본 paper 의 method 출발점, (ii) Sharma et al. (2017), Hu et al. (2018) 의 patch-based land-cover CNN literature, (iii) Zeiler & Fergus (2014) 의 occlusion-based CNN visualization, (iv) Demšar (2006), García & Herrera (2008) 의 non-parametric multi-classifier 비교 protocol. [[junghyelee]] 의 *원격탐사 + 머신러닝* 라인 ([[junghyelee]] author page) 안에서 Kim et al. (2018) 의 conceptual proposal 을 *quantitative validation + 4 변환 비교* 로 발전시킨 sibling. UNIST [[jungho-im]] 의 [[remote-sensing]] 그룹과의 협업이 이 라인의 institutional anchor.

## See also

- [[junghyelee]]
- [[jungho-im]]
- [[junghee-lee]]
- [[miae-kim-2018-cnn-land-cover]]
- [[convolutional-neural-network]]
- [[spectral-domain-transformation]]
- [[occlusion-map]]
- [[land-cover-classification]]
- [[remote-sensing]]
