1. 서론
광학위성센서는 자외선, 가시광선, 적외선 등 다양한 스펙트럼을 이용하여 지구를 관찰하고 있지만, 구름을 투과하여 센싱하지 못하기 때문에, 정확한 구름탐지는 원격탐사에서 가장 선행하는 핵심적인 과정이다. Sentinel-2는 분광파장대나 공간해상도 측면에서 차세대중형위성 4호(농림위성)의 모의영상으로 활용될 수 있기 때문에, Sentinel-2 영상을 이용한 구름탐지는 여러가지로 유용한 실험이라고 할 수 있다. European Space Agency (ESA)가 Sentinel-2의 구름마스크를 제공하고 있지만(ESA, 2022), 최근 딥러닝의 발전과 함께 Institute of Electrical and Electronics Engineers(IEEE), Radiant Earth Foundation (REF) 등의 국제조직에서도 딥러닝을 위한 Sentinel-2 구름영상을 학습 데이터셋으로 제공하고 있다. Convolutional Neural Network (CNN)으로 대표되던 딥러닝 영상인식 기술은, 2021년 Shifted Windows (Swin) Transformer (Liu et al., 2021)의 출시와 함께 성능 향상의 새로운 국면을 맞이하고 있다. 이 단보에서는 기존의 딥러닝 영상인식 기반 구름탐지 실험과는 달리, Sentinel-2 영상의 대용량 학습 데이터셋을 사용하였고 전통적인 CNN 계열 모델과 새로운 Transformer 계열모델의 비교평가를 수행하였다. 이를 통해 최신(stateof-the-art, SOTA) 모델의 구름탐지에 대한 적용가능성을 확인하였으며, 향후 우리나라 중심의 실험을 거쳐 농림위성영상 구름탐지에 활용될 수 있을 것이다.
2. 자료와 방법
1) 사용 영상
사용된 영상은 Machine Learning Hub (MLHub) 사이트에서 제공하는 Sentinel-2 Cloud Cover Segmentation Dataset으로(REF, 2022) 2018년부터 2020년까지 수집되었으며, 학습 데이터셋 11,748개와 시험 데이터셋 10,980개로 이루어져 있다. 입력 채널은 Blue (B02), Green (B03), Red (B04), Near Infrared (NIR, B08)의 4개 밴드이며, 10m 해상도의 512 × 512픽셀로 되어있다. 이 데이터셋은 두 단계를 거쳐 생성 및 검증되었다. 우선, 크라우드소싱(crowdsourcing) 대회 참가자들이 Sentinel-2 영상에 다각형을 그려 구름 영역 레이블을 생성하였고, 이때 구름 영역의 세부적인 가장자리가 미세하게 처리되도록 하였다. 그후 전문 레이블링 팀이 검수 작업을 통해 모든 영상을 검토하여 폴리곤(polygon)을 수정하거나 누락된 구름 영역에 대해 새로운 폴리곤을 추가했다.
2) 탐지 모델
이 단보에서는 DeepLabV3+와 Swin Transformer를 탐지모델로 사용하였다.DeepLabV3+는AtrousConvolution을 통해 동일한 계산량으로도 Field of View (FOV)를 증가시켜 입력 영상의 공간정보 커버리지를 향상시킨다. 또한 Atrous Spatial Pyramid Pooling (ASPP)을 통해 멀티스케일(multi-scale) Atrous Convolution을 병렬 처리하여 생성된 복수의 특징맵(feature map)을 다시 합쳐 활용함으로써 보다 정확한 영상분할을 수행한다(Chen et al., 2018) (Fig. 1). 최근에는, 시퀀스 처리를 위한 Transformer 모델을 영상인식에 적용하여 셀프어텐션(self-attention) 메커니즘을 통해 입력정보의 선택과 집중을 효율화함으로써 영상인식의 정확도를 향상시키는 Vision Transformer 기법이 개발되었다(Dosovitskiy et al., 2020). 디코더에서 데이터 출력 시 인코더의 입력 정보를 참조함에 있어, 출력 데이터에 적합하도록 보다 더 연관성 있는 영역 및 채널을 차별적으로 참조하는 셀프어텐션 메커니즘은2021년 마이크로소프트가 발표한 Swin Transformer를 통해 더욱 발전하였다. 모델 내부에 순차적으로 전달되는 입력값이 중첩된 블록에 설정된 창 크기만큼 교대되는 구조(hierarchical shifted windows)로 셀프어텐션을 국지적으로 적용시킴으로써(Fig. 2) (Liu et al., 2021) 기존의 CNN 계열 모델이나 Vision Transformer를 능가하는 성능을 나타내고 있다.
Fig. 1. Structure of DeepLabV3+ (Chen et al., 2018).
Fig. 2. Structure of Swin Transformer (Liu et al., 2021).
3) 평가 방법
시험 데이터셋에서 레이블 영상과 예측 영상을 비교하여 혼동행렬(confusionmatrix)을 작성하고,True Positive (TP), False Positive (FP), True Negative (TN), False Negative (FN)를 계산하였다. 또한 이를 통해 정확도(accuracy), 정밀도(precision), 재현율(recall), F1점수, 평균 교집합 대합집합 비율(Mean Intersection over Union, mIOU) 등의 성능지표를 산출하였다. 정확도는 예측 영상의 화소 중에 레이블 영상과 동일한 화소의 비율이다. 정밀도는 예측 영상 클래스별 화소 중에서 정답 화소의 비율이고, 재현율은 레이블 영상 클래스별 화소 중에서 정답 화소의 비율이며, F1점수는 정밀도와 재현율의 조화평균(harmonic mean)으로 계산한다. 컴퓨터비전 분야에서 표준 지표로 사용되는 Intersection over Union (IOU)는 레이블 영상과 예측 영상의 교집합 면적을 합집합 면적으로 나눈 비율이며, mIOU는 각 클래스별 IOU의 평균이다.
\(\begin{aligned}\begin{array}{c}\text { Accuracy }=\frac{T P+T N}{T P+T N+F P+F N} \\ \text { Precision }=\frac{T P}{T P+F P} \\ \text { Recall }=\frac{T P}{T P+F N} \\ \text { F1 score }=2 \times \frac{\text { Precision } \times \text { Recall }}{\text { Precision }+\text { Recall }} \\ \text { IoU }=\frac{T P}{T P+F P+F N}\end{array}\\\end{aligned}\)
3. 결과 및 토의
1) 학습 및 검증
입력 영상은 화소값을 평균(μ) 0, 표준편차(σ) 1의 분포가 되도록 z 표준화하여 사용하였다. 이는 스케일이 큰 입력변수의 영향이 과도해지거나 신경망이 로컬미니마(local minima)에 빠지는 위험을 줄이고 학습 속도를 향상시키는 효과가 있다.
\(\begin{aligned}z=\frac{x-\mu}{\sigma}\\\end{aligned}\)
전체 데이터는 학습 데이터셋 11,748개와 시험 데이터셋 10,980개로구성되며,학습데이터셋에대하여훈련대 검증 영상이 9:1의 비율이 되도록 구성하였다. DeepLabV3+와SwinTransformer 모델훈련에서 손실함수(lossfunction)는 Binary Cross Entropy (BCE)를 사용하였고, 세밀한 가중치 조정을 위해 학습률(learning rate)은 1e-6로 설정하였으며, 옵티마이저(optimizer)는 학습의 안정성과 속도를 보장하는 Adaptive Moment Estimation (ADAM)을 사용하였다. DeepLabV3+는 백본(backbone)으로 resnet-101을 사용하였고, Swin Transformer를 위한 모델 구조는 Pyramid Attention Network (PAN)을 사용하였다. Blue,Green, Red, NIR의 4개 입력채널을 가진 DeepLabV3+와 Swin Transformer 모델의 하이퍼파라미터와 구동환경은 다양한 실험을 거쳐 Table 1과 같이 설정되었다.
Table 1. Hyperparameter setting for cloud detection models
2) 평가 결과
학습 데이터셋 11,748개로 빌드한 모델에 대해, 시험데이터셋 10,980개를 평가한 결과는 Table 2에 레이블 영상과 예측 영상을 비교한 성능지표로 요약하였다. 모든 클래스에 대한 정확도는 DeepLabV3+가 0.819, Swin Transformer가 0.887로 나타났다. 예측 영상을 기준으로 정답률을 계산한 정밀도는 DeepLabV3+가 0.814, Swin Transformer가 0.886이 나왔고, 레이블 영상을 기준으로 정답률을 계산한 재현율은 각각 0.829, 0.875를 기록했다. 정밀도와 재현율의 조화평균인 F1점수는 0.816와 0.879로 나타났다. 딥러닝 영상인식에서 가장 중요한 지표인 mIOU는 DeepLabV3+가 0.690, Swin Transforme가 0.786으로 계산되었다. 여러 측도로 미루어 볼 때, 구름 탐지 성능은 두 모델 모두 안정적으로 높다고 볼 수 있으며, DeepLabV3+에 비해 Swin Transformer가 전반적으로 보다 나은 성능을 나타냈다. Fig. 3은 탐지 결과를 육안으로 비교하기 위해 시험 데이터셋에서 무작위로 추출된 데이터의 원본 영상, 레이블 영상, DeepLabV3+예측 영상, Swin Transformer 예측 영상을 비교한 것이며, 예측 영상이 실제와 상당히 유사하게 나타난 것을 확인할 수 있다.
Table 2. Performance comparison between DeepLabV3+ and Swin Transformer
Fig. 3. Example images for the cloud segmentation for Sentinel-2.
4. 결론
이단보에서는 향후 농림위성영상에 적용하기 위한 예비실험으로, 딥러닝 기술을 이용한 Sentinel-2 영상의 구름 탐지를 수행하였다. 전통적인 CNN 모델인 DeepLabV3+와 최신의 Transformer 모델인 Swin Transformer를 이용한 구름탐지 모델을 구축하고, REF에서 제공하는 22,728장의 학습자료에 대한 암맹평가 결과, Swin Transformer 모델이 상당히 앞선 성능을 나타냈다. 0.886의 정밀도와 0.875의 재현율로, 과탐지와 미탐지가 어느 한쪽으로 치우치지 않는 경향을 보였으며, 컴퓨터비전에서 가장 중요한 측도인 mIOU가 0.786로 나타났다. 구름은 높이나 모양에 따라 권적운, 권층운, 권운, 고적운, 고층운, 적란운 등으로 다양하게 구분되기 때문에(Kang et al., 2020), 이를 반영한 탐지 알고리듬 개선이 필요할 것이며, 우리나라 인근 지역의 영상을 위주로 한 모델의 최적화가 추가적으로 수반되어야 할 것이다.
사사
본 논문은 농촌진흥청 연구사업(과제번호: PJ0162342022)의 지원에 의해 이루어진 것입니다. 이 연구는 과학기술정보통신부의 재원으로 한국연구재단(2021R1F1A1062467)의 지원을 받았습니다.
참고문헌
- Chen, L.C., Y. Zhu, G. Papandreou, F. Schroff, and H. Adam, 2018. Encoder-decoder with atrous separable convolution for semantic image segmentation, arXiv preprint arXiv:1802.02611. https://doi.org/10.48550/arXiv.1802.02611
- Dosovitskiy, A., L. Beyer, A. Kolesnikov, D. Weissenborn, X. Zhai, T. Unterthiner, M. Dehghani, M. Minderer, G. Heigold, S. Gelly, J. Uszkoreit, and N. Houlsby, 2020. An Image is Worth 16 × 16 Words: Transformers for Image recognition at scale, arXiv preprint arXiv:2010.11929. https://doi.org/10.48550/arXiv.2010.11929
- ESA (European Space Agency), 2022. Cloud Masks, https://sentinels.copernicus.eu/web/sentinel/technical-guides/sentinel-2-msi/level-1c/cloud-masks, Accessed on Nov. 30, 2022.
- Kang, J., G. Kim, Y. Jeong, S. Kim, Y. Youn, S. Cho, and Y. Lee, 2021. U-Net cloud detection for the SPARCS cloud dataset from Landsat 8 images, Korean Journal of Remote Sensing, 37(5-1): 1149-1161. https://doi.org/10.7780/kjrs.2021.37.5.1.25
- Liu, Z., Y. Lin, Y. Cao, H. Hu, Y. Wei, Z. Zhang, S. Lin, and B. Guo, 2021. Swin Transformer: Hierarchical vision transformer using shifted windows, arXiv preprint arXiv:2103.14030. https://doi.org/10.48550/arXiv.2103.14030
- REF (Radiant Earth Foundation), 2022. Sentinel-2 Cloud Cover Segmentation Dataset, https://mlhub.earth/data/ref_cloud_cover_detection_challenge_v1, Accessed on Nov. 30, 2022.