1. 서론
위성원격탐사는 광범위한 영역을 주기적으로 관측하는 장점을 가지고 있기 때문에, 최근 그 활용도가 더욱 증가하고 있다. 위성의 광학 센서는 다양한 파장대의 복사 에너지 강도를 이용하여 지구 표면을 관찰한다. 그러나 가시광선과 적외선은 구름을 투과하지 못하기 때문에, 구름에 가려진 지역에 대한 정보는 광학 센서로 탐지되지 않는다. 이에, 광학 위성영상을 이용한 지구환경 분석에 있어서 가장 선행되어야 할 것이 구름 탐지라고 할 수 있다.
구름은 물리적 과정이 복잡하고 유형이 다양하기 때문에, 위성 광학 센서를 이용한 구름 탐지에는 많은 불확실성이 존재한다. 구름의 신호와 지표면의 신호가 혼합된 반투명 구름 문제, 또는 픽셀의 일부는 구름, 일부는 지표면이 탐지되는 혼합 픽셀 문제 등으로 인해 위성영상을 통한 구름 탐지는 더욱 어려워진다. 또한 구름에 의해 발생한 그림자와 지형적인 원인으로 만들어진 그림자도 식별하기 어렵다.
구름 탐지는 전통적으로 경계 값을 활용하여 수행되었다. 센서가 감지하는 근적외 또는 단파적외 채널의 반사도를, 과거 실험을 통해 도출된 경계 값과 비교함으로써 구름 여부가 판단되었다(Heidinger, 2011; Derrien, 2013). 또한 구름의 물리적 특성에 기초한 규칙을 사용하여 잠재적인 구름 픽셀과 맑은 하늘 픽셀을 구분하고, 해당 채널 밝기온도의 확률분포를 이용하여 육지나 물위의 픽셀에 대하여 구름일 확률을 계산한다(Zhu et al., 2012).
최근에 컴퓨터 비전 기술이 위성영상에 적용되면서, 딥러닝 영상인식을 이용한 구름 탐지가 수행되기 시작했다. CPU (Central Processing Unit)와 GPU (Graphics Processing Unit)의 발전, 그리고 가용한 영상 데이터의 증가에 힘입어, CNN (Convolutional Neural Network)이나 FCN (Fully Convolutional Network) 등 딥러닝 기법이 위성영상에 적극적으로 활용되고 있으며, 전통적인 컴퓨터 비전과 기계학습 기법보다 정확도와 효율성 측면에서 우수한 성능을 나타내고 있다. Ozkan et al. (2018)은 재귀적인 컨볼루션(convolution) 블록으로 구성된 DPN(Deep Pyramid Network)을 이용하여 RGB 영상으로부터 구름 탐지를 수행하였다. Guo et al. (2018)은 ASLIC(Adaptive Simple Linear Iterative Clustering)을 이용하여 유사성 기반 픽셀 그루핑을 통해 슈퍼픽셀(super pixel)을 획득하고, 최대 및 평균 풀링(pooling)으로 보간을 수행하는 SAP (Self-Adaptive Pooling)을 함께 이용하는 MCNNs(Multiple Convolutional Neural Networks)를 이용하여 구름 탐지를 수행하였다. Lia et al. (2018)은 FCN을 이용하여 SegNet과 유사한 구조를 가진 MSCFF (MultiScale Convolutional Feature Fusion) 기법을 개발하여 다종 센서의 영상으로부터 구름을 탐지하였다. Jeppesen et al. (2019)은 스킵 커넥션(skip connection) 기법을 통해 인코딩 시의 맥락정보를 디코딩 시에 참조함으로써 구름 탐지 정확도를 개선할 수 있는 RS-Net (Remote Sensing Network) 아키텍처를 제안하였다.
이처럼 지금까지 CNN과 FCN 기반의 구름 탐지를 위한 여러 시도가 있었으나, 레이블 데이터가 충분하지 않아 이들 기법의 적합성을 객관적으로 평가하기 쉽지 않았다. 이에 본연구에서는, 영상자료증대(image data augmentation) 기법을 활용하여 원본과 유사한 패턴을 가지지만 원본과는 다르게 변형된 영상을 발생시킴으로써 충분한 레이블 데이터를 확보하고, 이 데이터를 이용하여 구름 탐지 모델 최적화와 K폴드 교차검증(crossvalidation)을 적용함으로써 객관적인 정확도 평가를 수행하고자 한다. 구름 영상과 레이블 영상은 미국 정부 오픈데이터 플랫폼인 data.gov의 SPARCS (Spatial Procedures forAutomatedRemoval ofCloud and Shadow)Cloud Dataset 을 사용하였다(https://catalog.data.gov/dataset/l8-sparcscloud-validation-masks). Landsat 8의 적색, 근적외, 단파적 외 밴드 반사도를 입력채널로 하여 U-Net 구름 탐지 모델을 구성하고, Albumentations 라이브러리를 사용하여 영상자료증대를 통해 생성된 1800장의 레이블 데이터를 활용하였으며, 다양한 검증지수를 이용하여 정확도 평가를 수행하였다.
2. 이론적 배경
딥러닝은 고전적인 신경망과는 달리, 최근 컴퓨팅 파워의 향상과 함께 깊고 두터운 네트워크 구성 및 진보된 활성화함수(activation function)와 옵티마이저(optimizer)를 통해 예측 정확도를 더욱 향상시킨 기법이다. 딥러닝 영상 인식의 대표적인 기법인 CNN은 Fig. 1과 같이 (1) 컨볼루션 레이어와 풀링 레이어를 반복적으로 배치하여 이미지의 특징을 압축적으로 요약하는 과정, 그리고 (2) 전형적인 완전연결층(fully connected layer)과 출력층(output layer)을 거쳐 영상분류를 수행하는 과정으로 나눌 수 있다. 컨볼루션 필터는 CAM (Class Activation Map)을 히트맵(heat map) 형태로 산출하고(Fig. 2), 현재 레이어의 CAM과 다음 레이어의 CAM은 필터 뱅크(filter bank)라는 가중치체계에 의해 연결된다. 이러한 레이어 간의 정보 전달은 ReLU (Rectified Linear Unit)와 같은 비선형 활성화함수가 담당한다(LeCun et al., 2015)
Fig. 1. Structure of a convolutional neural network (Saha, 2018).
Fig. 2. Transforming fully connected layers into convolution layers (Long et al., 2015).
CNN은 기본적으로 영상을 분류하는 것에 목적을 두고 있기 때문에 하나의 영상에 하나의 레이블을 지정해주는 방식이다. 이에 반해 시맨틱 영상분할(Semantic Segmentation)는 영상 내 모든 화소에 대하여 분류를 수행함으로써 하나의 영상 전체를 분할하며, 이때 화소 간 또는 화소군 간의 맥락(semantics)을 고려하여 객체별로 영상을 분할하는 것이다. FCN은 전형적인 시맨틱 영상 분할 기법으로서, CNN과 달리 네트워크의 최종 레이어에서도 컨볼루션 레이어를 사용한다. CNN의 완전연결층은 영상분할에 있어서 화소의 위치정보를 반영하지 못하기 때문에, 이를 해결하기 위하여 FCN은 모든 레이어를 컨볼루션 레이어로 하는(end-to-end) 밀집 네트워크로 구성된다(Fig. 3) (Long et al., 2015).
Fig. 3. A fully convolutional network for semantic segmentation (Long et al., 2015).
U-Net은 이러한 FCN 기법을 확장하여 의학영상에 적용한 것으로서(Ronneberger et al., 2015), 최근 위성원격 탐사의 시맨틱 영상분할에도 널리 활용되고 있다. U-Net은 영상 특징과 맥락 정보를 추출하는 인코딩 또는 다운샘플링(down-sampling) 프로세스에 이어, 화소의 적절한 공간 배치를 수행하는 디코딩 또는 업샘플링(up-sampling) 프로세스가 결합된 U자형의 대칭구조를 가지고 있다(Fig. 4). 다운샘플링 시에는 컨볼루션과 풀링의 반복을 통해 특징 및 맥락 정보가 잘 요약되고, 업샘플링 시에는 스킵 커넥션(skip connection)을 통해 다운샘 플링으로부터 만들어진 CAM 정보를 참조함으로써 보다 적절한 국지화(localization)가 가능해진다. 또한 레이블 영상 수가 충분하지 않을 경우에는 영상자료증대 기법을 활용하여 레이블 영상의 수를 증가시킴으로써 모델의 정확도를 향상시킬 수 있다(Ronnebergeret al., 2015). 영상의학에서 시작된 U-Net은 비교적 적은 수의 영상으로도 암세포를 판별하는데 효과적이며(Ronneberger et al., 2015), 이러한 정상 화소와 비정상 화소를 구분하는 원리는 위성원격탐사에서 각 클래스 화소를 구분하는 데에도 적용 가능하다.
Fig. 4. U-Net architecture (Ronneberger et al., 2015).
3. 자료와 방법
1) 자료처리
본 연구에서 사용한 레이블 자료는 SPARCS Cloud Dataset이다. 이는 2013~2014년 무작위로 선택된 Landsat 8영상을 대상으로, SWIR(Shortwave Infrared) –NIR(Near Infrared) – Red 밴드로 구성된 위색영상(false-colorimage)을 만든 후 Adobe Photoshop 수작업을 통하여 레이블을 생성한 것이다(Hughes et al. 2019). Table 1과 같이 구름 그림자(cloud shadow), 물 위의 구름그림자(cloud shadow over water), 물(water), 얼음/눈(ice/snow), 땅(land), 구름(clouds), 범람지(flooded)로 레이블링 되어있다. 편의상 구름그림자와 물 위의 구름그림자는 하나의 레이블로 합쳐서 사용하였다(Table 1). Fig. 5는 SPARCS Cloud Dataset의 위색영상과 레이블영상의 예시이다.
Table 1. Label classification for SPARCS Cloud Dataset
Fig. 5. Examples of SPARCS Cloud Dataset: SWIR-NIR- Red false-color composite (left) and labeled images (right).
딥러닝 영상인식에서는 학습자료의 양과 질이 모델 성능에 결정적인 영향을 미친다. 데이터 양적인 증가는 영상자료증대 기법을 통해 보완할 수 있으며, 질적인 향상을 위해서는 노이즈 제거가 우선 수행되어야 한다. 본 연구에서는 육안식별을 통해 레이블의 적합도가 낮은 18개의 영상을 전체 78개 영상 중에서 제외하고, 60장의 영상만을 사용하였다. 제외된 영상은 Fig. 6과 같이 영상분할이 모호하거나, 레이블 분포가 비현실적이거나, 구름이 물 등 다른 클래스와 혼동된 경우들이었다.
Fig. 6. Examples of excluded data: (a) ambiguous segmen - tation, (b) unrealistic distribution, and (c) confusion with other classes.
학습 속도를 효율적으로 하기 위해, 1000×1000 화소를 가진 원래 입력 영상을 512×512 화소로 축소하였고, min-max normalization을 이용하여 SWIR, NIR, Red 반사도를 0에서 1 사이 스케일로 조정하였다. 또한 영상자료증대 기법을 통해 원본 레이블 60장을 이용해 30배 증가한 1800장의 학습자료 준비하여 U-Net 모델을 훈련시켰다. 본 연구에서는 Albumentations 라이브러리를 사용하여 가로회전(horizontal flip), 세로회전(vertical flip), 임의회전(random rotation), 광학왜곡(optical distortion), 격자왜곡(grid distortion) 등의 변형을 발생시켜 원본 데이터와 유사하지만 약간 다른 데이터를 발생시켜 훈련에 사용하였다(Fig. 7).
Fig. 7. Examples of image data augmentation using Albu - mentations library.
2) 모델 최적화 및 정확도 평가
이러한 학습자료 1800장을 이용한 10폴드 교차검증 (cross-validation)을 수행하여 구름 탐지 U-Net 모델의 정확도를 분석하였다. 이는 1800장의 영상을 180장씩 임의로 10개 그룹으로 나누어, 9개 그룹 영상 1620장을 이용하여 훈련하고, 나머지 1개 그룹 영상 180장을 이용하여 검증하는 것을, 서로 다른 10라운드에 대해 반복적으로 수행하는 것이다(Fig. 8). U-net 모델의 훈련과정에서 손실함수(loss function)는 SCCE (Sparse Categorical Cross-Entropy)를 사용하였고, 세밀한 가중치 부여를 위하여 학습률(learning rate)은 0.00005로 설정하였다. 옵티마이저는 학습의 안정성과 속도를 보장하는 ADAM(Adaptive Moment Estimation)을 사용하였다. 또한 미리 학습된 MobileNetV2 모델(Sandler et al., 2018)을 다운샘플링 시에 임포트하여 사용함으로써 학습 속도와 정확도를 향상시키고자 하였다. 본연구에서 U-Net 모델의 주요 초매개변수(hyperparameter)에 대한 설정은 Table 2와 같다.
Fig. 8. Concept of 10-fold cross-validation.
Table 2. Configuration for U-Net model
10폴드 교차검증을 위하여 레이블 영상과 예측 영상을 이용하여 혼동행렬(confusion matrix)을 작성하고, TP (true positive or hit), TN (true negative or correct rejection), FP (false positive or false alarm), FN (false negative or miss)를 계산하여, Accuracy, Precision, Recall, F1-score, IoU (Intersection over Union) 등의 정확도 측도를 산출하였다. Accuracy는 예측 영상의 모든 화소 중에서 레이블 영상과 동일한 화소의 비율이다. Precision은 예측 영상 각 클래스(구름그림자, 물, 얼음/눈, 땅, 구름)의 화소 중에서 정답 화소의 비율이며, Recall은 레이블 영상 각 클래스의 화소 중에서 정답 화소의 비율이다. F1-score는 Precision과 Recall의 조화평균(harmonic mean)으로 계산한다. IoU는 레이블 영상과 예측 영상의 합집합 영역에 대한 교집합 영역의 면적비로 구한다.
4. 결과 및 고찰
512×512 화소로 구성된 1800장의 학습자료는 총 471,859,200 화소를 가진다. U-Net 모델의 탐지실험 결과, 이러한 전체 화소에 대한 혼동행렬은 Table 3과 같이 산출되었고, 이를 백분비로 나타내면 Table 4와 같다. 이 혼동행렬로부터 도출한 Accuracy, Precision, Recall, F1-score, IoU는 Table 5와 같다. 혼동행렬 내에서 각 클래스의 TP 값이 전반적으로 높게 나타났으며, 모든 클래스에 대한 Accuracy는 0.821로 나타났다. Precision은 예측 영상을 기준으로 Accuracy를 계산한 것과 같으며, 0.847로 나왔고, Recall은 레이블 영상을 기준으로 Accuracy를 계산한 것으로서, 0.821을 기록했다. F1-score는 0.831, IoU는 0.723으로, 여러 측도를 이용하여 나타낸 구름탐지 정확도는 안정적으로 높은 값이라고 할 수 있다. 개별 영상의 Accuracy는 0.75~0.95인 경우가 대부분이었고, Fig. 9의 히스토그램에서 보듯이 Accuracy<0.75인 경우는 19.5%에 불과했다. 정확도가 높게 나온 영상은 특정 클래스가 높은 비율을 차지하는 경우가 많은 반면, 정확도가 낮게 나온 영상은 구름 클래스가 땅 클래스로 오인된 화소가 다수 존재했다. 모든 케이스를 집계해보면, 실제 구름그림자 중 14.5% 정도가 땅으로 잘못 예측되었고, 실제 구름 중 19.7% 정도가 땅으로 잘못 예측되기도 했다. 이는 구름이나 구름그림자가 가지는 탐지의 모호성 때문으로 사료되며, 향후 연구에서 레이블 데이터의 양과 질을 보다 더 향상시킴으로써 개선될 수 있을 것으로 기대한다. 또한, 탐지 결과의 육안비교를 위해 무작위로 추출한 16세트의 위색영상, 레이블영상, 예측 영상을 통해 볼 때, 예측 영상이 실제 영상과 상당히 유사하게 나타났음을 확인하였다(Fig. 10 to 13).
Table 3. Confusion matrix from the 10-fold cross-validation for 1800 datasets
Table 4. Confusion matrix in percentage (same as Table 3)
Table 5. Validation scores from the 10-fold cross-validation for 1800 datasets
Fig. 9. Histogram of the accuracy from the 10-fold cross validation for 1800 datasets.
Fig. 10. Four result datasets randomly chosen from Fold 1.
Fig. 11. Four result datasets randomly chosen from Fold 2.
Fig. 12. Four result datasets randomly chosen from Fold 4.
Fig. 13. Four result datasets randomly chosen from Fold 5.
5. Conclusion
본 연구에서는 SPARCS Cloud Dataset과 영상자료증대 기법을 활용하여 U-Net 구름탐지 모델링을 수행하고, 10폴드 교차검증을 통해 객관적인 정확도 평가를 수행하였다. 512×512 화소로 구성된 1800장의 학습자료에 대한 암맹평가 결과,Accuracy 0.821, Precision 0.847, Recall 0.821, F1-score 0.831, IoU 0.723의 비교적 높은 정확도를 나타냈다. 그러나 구름그림자 중 14.5%, 구름 중 19.7% 정도가 땅으로 잘못 예측되기도 했는데, 이는 학습자료의 양과 질을 보다 더 향상시킴으로써 개선 가능할 것으로 보인다. 또한 구름은 높이나 모양에 따라 권적운, 권층운, 권운, 고적운, 고층운, 적란운 등으로 다양하게 구분되기 때문에, 향후 이를 반영한 정확도 분석이 필요할 것으로 사료된다. 최근 각광받고 있는 DeepLab V3+ 모델이나 NAS (Neural Architecture Search) 최적화 기법을 통해 차세대중형위성 1, 2, 4호 등의 구름탐지에 활용 가능할 것으로 기대하며, 이때 SWIR 밴드가 없더라도 클래스 구분이 가능한 다른 방식의 위색영상을 이용하여 학습자료를 구축하는 것이 우선적으로 필요할 것이다.
사사
본 논문은 농촌진흥청 연구사업(과제번호: PJ0162342021)의 지원에 의해 이루어진 것입니다. 또한, 이 논문은 농촌진흥청 공동연구사업(PJ014787042020)의 지원을 받았으며, 이에 감사드립니다.
References
- Derrien, M., 2013. Algorithm Theoretical Basis Document for Cloud Products, available at http://www.nwcsaf.org/documents/20182/30662/NWC-CDOP2-GEO-MFL-SCI-ATBD-Cloud_v1.1.pdf/a5bb6eca-871b-4707-9c76-e0be09915d94, Accessed on Oct. 15, 2016.
- Guo, Z., C. Li, Z. Wang, E. Kwok, and X. Wei, 2018, A cloud boundary detection scheme combined with ASLIC and CNN using ZY-3, GF-1/2 satellite imagery, International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, XLII-3: 455-458.
- Heidinger, A., 2011. Algorithm Theoretical Basis Document: ABI Cloud Mask, available at https://www.star.nesdis.noaa.gov/goesr/docs/ATBD/Cloud_Mask.pdf, Accessed on Jun. 11, 2013.
- Hughes, M.J. and K. Robert, 2019. High-quality cloud masking of Landsat 8 imagery using convolutional neural networks, Remote Sensing, 11(21): 2591. https://doi.org/10.3390/rs11212591
- Jeppesen, J.H., R.H. Jacobsen, F. Inceoglu, and T.S. Toftegaard, 2019. A cloud detection algorithm for satellite imagery based on deep learning, Remote Sensing of Environment, 229(8): 247-259. https://doi.org/10.1016/j.rse.2019.03.039
- LeCun, Y., Y. Bengio, and G. Hinton, 2015. Deep learning, Nature, 521: 436-444. https://doi.org/10.1038/nature14539
- Li, Z., H. Shen, Q. Cheng, Y. Liu, S. You, and Z. He, 2019. Deep learning based cloud detection for medium and high resolution remote sensing images of different sensors, ISPRS Journal of Photogrammetry and Remote Sensing, 150: 197-212. https://doi.org/10.1016/j.isprsjprs.2019.02.017
- Ozkan, S., M. Efendioglu, and C. Demirpolat, 2018. Cloud detection from RGB color remote sensing images with deep pyramid networks, Proc. of 2018 IEEE International Geoscience and Remote Sensing Symposium, Valencia, ES, Jul. 22-27, pp. 6939-6942.
- Ronneberger, O., P. Fischer, and T. Brox, 2015. U-Net: convolutional networks for biomedical image segmentation, Proc. of Medical Image Computing and Computer-Assisted Intervention, Munich, DE, Oct. 5-9, pp. 234-241.
- Saha, S., 2018, A Comprehensive Guide to Convolutional Neural Networks, available at https://towardsdatascience.com/a-comprehensive-guide-to-convolutional-neural-networks-the-eli5-way-3bd2b1164a53, Accessed on Dec. 16, 2018.
- Sandler, M., A. Howard, M. Zhu, A. Zhmoginov, and L. Chen, 2018. MobileNetV2: Inverted residuals and linear bottlenecks, Proc. of The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) 2018, Salt Lake City, UT, USA, Jun. 18-23, pp. 4510-4520.
- Shelhamer, E., J. Long, and T. Darrell, 2017. Fully convolutional networks for semantic segmentation, IEEE Transactions on Pattern Analysis and Machine Intelligence, 39(4): 640-651. https://doi.org/10.1109/TPAMI.2016.2572683
- Zhu Z. and C.E. Woodcock, 2012. Object-based cloud and cloud shadow detection in Landsat imagery, Remote Sensing of Environment, 118: 83-94. https://doi.org/10.1016/j.rse.2011.10.028