1. 서 론
위성을 통한 원격탐사는 지형관측, 원격탐사, 기상관측, 지리정보시스템(GIS : Geographic Information System) 및 지도 제작과 같은 민간 분야를 비롯하여 군사 정찰, 국경 감시 등 국방 분야에서 필수적인 데이터로 그 중요성이 더욱 커지고 있다. 더 정확한 분석과 모델링을 위해 고해상도 위성영상에 대한 수요는 꾸준히 증가하고 있으나 고해상도 위성의 개발, 발사 및 운영을 위해 큰 비용과 시간이 소모되며, 고해상도 위성영상 데이터를 구매하는 비용 또한 매우 높다는 단점이 존재한다. 이러한 단점들을 보완하기 위해 비교적 저비용의 저해상도 위성영상을 고해상도 위성영상으로 복원하여 활용하려는 연구가 지속되어 왔다[1].
초해상도(SR : Super-Resolution) 기술은 저해상도 이미지를 고해상도 이미지로 복원하는 기술이다. 딥러닝 기반 초해상도 모델은 다수의 저해상도(LR : Low Resolution)-고해상도(HR : High Resolution) 쌍으로 구성된 대규모 데이터셋을 학습하여, 저해상도 이미지에서 잃어버린 고주파 정보를 복원하고 고품질의 고해상도 이미지로 복원하는 기술이다. 기존 연구에서는 위성영상에 초해상도 기술을 적용하여 공간해상도를 향상하여 건물, 차량, 항공기, 전략무기 등을 식별, 검출, 감시하는 기법[2,3]과 초해상도 기술을 응용하여 딥러닝 기반 팬샤프닝 영상을 생성[5,6]하는 등의 연구가 주로 이루어졌다.
본 논문에서는 저해상도 위성영상을 딥러닝 기반 초해상도 모델을 통해 고해상도 위성영상으로 복원하고 RPC(Rational Polynomial Coefficient) 오차 보정, 포인트 클라우드 생성(Point Cloud Generation), 수치고도 자료(DEM : Digital Elevation Model)를 생성하여 지도를 제작한다. 위성영상 초해상화를 통해 제작된 지도의 정확도, 해상도를 원본 위성영상을 통해 제작한 지도와 비교, 분석하여 지도 제작에 있어 딥러닝 기반 초해상도 기술의 유효성을 검증한다.
2. 딥러닝 기반 초해상도 모델 설계 및 학습
2.1 딥러닝 기반 초해상도 모델 설계
초해상도 위성영상으로 RPC 오차 보정, 포인트 클라우드 생성, 수치고도 자료를 생성하는 지도 제작에서 가장 중요한 것은 초해상화 과정서 영상의 왜곡과 변형을 최소화하는 것이다. CNN 기반의 딥러닝 모델은 지역적 특징 학습, 연산의 가중치를 공유한다는 특성으로 인해 초해상화 과정에서 왜곡과 변형이 적다는 장점이 있으며, 여러 초해상도 모델을 위성영상에 적용하여 비교한 Kang의 연구에서 확인할 수 있다[4]. 본 논문에서는 대표적인 고성능 CNN 기반 딥러닝 초해상도 모델인 VDSR(Very Deep Super-Resolution)[5]을 바탕으로 모델을 구축하고 학습을 진행하였다. 지도 제작에 사용되는 위성영상은 흑백 PAN(Panchromatic) 영상을 사용한다. 따라서 설계하는 초해상도 모델의 입력 데이터와 출력 데이터는 PAN 영상으로 설계하였다.
본 논문에서 사용하는 모델의 전체적인 구상도는 아래 Fig. 1과 같다. Convolution Layer와 Leaky ReLu Layer를 한 개의 블록으로 하여 총 20개의 블록을 사용하는 모델을 구성하였다. 더 높은 성능과 학습 속도를 위해 Kim[5]이 제안한 것과 같이 마지막 레이어에 원본 이미지를 더해 Ground-Truth와 차이를 학습하도록 하는 잔차 학습(Residual Learning) 방법을 사용하였다. VDSR 논문에서는 LR 이미지를 생성할 때 원본 이미지인 HR 이미지를 Bicubic 알고리즘을 통해 다운샘플링(Down-sampling) 한 LR 이미지를 다시 Bicubic 알고리즘을 통해 업샘플링(Up-sampling) 한 ILR(Interpolated Low Resolution)을 모델에 통과시킨 결과와 HR 이미지와 잔차를 학습한다. 모델의 입력값으로 HR 이미지와 동일한 해상도의 ILR을 모델의 입력으로 사용하면 계산량이 많고 Bicubic 알고리즘과 같은 보간법(Interpolation)을 통한 업샘플링은 LR 이미지의 고주파 정보를 재구성하지 않아 성능에 도움이 되지 않는다는 문제점을 ESPN(Efficient Sub-Pixel Convolutional Neural Network)[6] 논문에서 지적한 바 있다. Wang[7]은 입력 이미지가 CNN 모델을 통과하기 이전 업샘플링을 하는 Pre-Upsampling SR 모델이 CNN 모델을 통과 후 업샘플링을 하는 Post-Upsampling SR 모델 대비 연산량이 많아 효율적이지 못하기 때문에 Post-Upsampling SR 형식이 더 효과적이고 주류 모델이 되었다고 하였다. 본 모델에서는 모델의 마지막 레이어에서 픽셀 셔플(Pixel Shuffle)을 통해 이미지의 해상도를 올려주는 Post-Upsampling 방식을 사용하여 계산량을 줄이고 성능을 개선하였다. 손실 함수(Loss Function)는 Hang[8]이 제안한 방법인 L1 Loss와 MS-SSIM[9]을 각각 0.78, 0.22 가중치를 곱하여 사용하였다. 손실 함수의 계산 방법은 아래의 수식과 같다.
Fig. 1.
Schematic illustration of a super-resolution model incorporating residual learning and Pixel Shuffle based on a CNN based on the VDSR model

해당 손실 함수를 구성하는 L1, MS-SSIM, SSIM 손실 함수의 수식은 아래와 같다.
aj : 스케일 가중치로, 합이 1
μx, μy : 이미지 패치 x, y 평균
σxy : 이미지 패치 공분산
C1, C2 : 안정성을 위한 작은 상수
2.2 데이터 세트 구축
본 논문에서 사용한 위성영상은 GeoEye1, Pleiades 1B, World View 3이다. 각각의 위성영상은 밴드 개수가 1개인 흑백 PAN 영상과 밴드 개수가 1개 이상인 MS(Multi Spectral) 영상이다. 각각의 PAN, MS 영상은 촬영된 시각, 각도가 동일하며, PAN 영상과 MS 영상의 공간해상도는 Table 1에서 확인할 수 있다. 학습에는 GeoEye1, Pleiades 1B 영상을 사용하였으며, 검증에는 World View 3 영상을 사용하였다.
Table 1.
Satellite image types and spatial resolution
Type | Spatial Resolution | |
---|---|---|
GeoEye1 | PAN | 30 cm |
MS | 1.2 m | |
Pleiades 1B | PAN | 70 cm |
MS | 2.8 m | |
World View 3 | PAN | 30 cm |
MS | 1.2 m |
VDSR 모델 논문을 비롯하여 이미지 및 위성영상 초해상도 학습을 다루는 연구들에서 LR 이미지와 HR 이미지를 구성할 때 원본 이미지를 HR로 사용하고 Bicubic, Lanczos, Gaussian 등 다양한 알고리즘을 통해 다운샘플링(Down-sampling) 하여 LR 이미지를 생성하여 학습에 사용하고 있다. 이렇게 생성된 LR 이미지는 실제 위성영상 센서의 노이즈, 블러, 왜곡을 반영하지 못한다는 단점이 존재한다. 이를 해결하기 위해 위성영상 초해상도 연구에서 Deng[10], Masi[11]는 MS 영상을 모델의 입력 데이터로 사용하고 팬샤프닝(Pansharpening) 영상을 GT(Ground-truth) 데이터로 사용하여 CNN 기반 팬샤프닝 모델을 학습하였으며, Müller[18]는 팬샤프닝 영상을 GT, MS 영상을 LR로 사용하여 4배 초해상도 모델을 학습하였다. 본 논문에서 사용하는 모델은 팬샤프닝 영상을 다운샘플링 하여 MS 영상에 대한 GT로 사용하여 첫 번째 데이터 셋을 구축하고, 1/2 다운 샘플링한 영상을 LR, 팬샤프닝 영상을 GT로 사용하는 두 번째 데이터 셋을 구축하여 2배 초해상도 모델을 학습하였다. 데이터 세트 구축 방법은 아래와 같다.
본 논문에서 사용하는 위성영상은 팬샤프닝을 할 수 있게 가공된 영상으로 PAN 영상과 MS 영상은 촬영 시각, 각도가 동일하며, PAN 영상이 MS 영상 대비 공간해상도가 4배 높다. 학습을 위한 데이터 전처리로는 Fig. 2 (a)와 같이 PAN 영상과 MS 영상을 통해 팬샤프닝 영상 XPS를 생성하고 MS 영상과 동일한 알고리즘을 통해 흑백(Grayscale)으로 변환하여 XGPS, XGMS를 생성한다. XGPS 영상을 Lanczos 알고리즘과 가우시안 필터를 사용하여 PAN 영상과 MS 영상 중간 해상도의 YGPS를 생성하였다.
Fig. 2.
Build data for training,
PAN : Panchromatic image,
MS : Multi spectral image,
PS : Pansharpening image

본 논문에서는 총 2개의 데이터 셋을 구성하여 2배 초해상도 모델을 학습하였다. 첫 번째 데이터 셋은 XGMS를 LR 데이터로 사용하고 YGPS를 HR 데이터로 사용하는 데이터 세트며, 두 번째 데이터 셋은 YGPS를 LR로 사용하고 XGPS를 HR로 사용하는 데이터 세트다. Fig. 2 (b)는 (a)에서 전처리 된 데이터가 어떻게 구성되고 손실(Loss)을 계산하는지 설명하는 그림이다. 첫 번째 데이터 세트에서는 XGMS가 LR로 입력이 되면, 이를 모델을 통해 2배 초해상화 한 X′GMS를 생성하고 이를 HR 데이터인 YGPS와 비교하여 손실을 계산한다. 두 번째 데이터 세트에서는 YGPS가 LR로 입력이 되면, 이를 모델을 통해 2배 초해상화 한 X′GPS를 생성하고 이를 HR 데이터인 XGPS와 비교하여 손실을 계산한다.
본 논문에서 중간 해상도 YGPS 데이터를 생성한 이유는 부족한 데이터를 보간(Interpolation)하고 특정 위성에 과적합하게 모델이 학습되는 것을 방지하기 위함이다. 팬샤프닝 영상과 MS 영상을 학습 데이터로 사용하지 않는 것은 지도 생성 시 PAN 영상을 주로 사용하며, 본 논문에서 설계한 VDSR 기반 초해상도 모델은 각 Band 들의 상호 영향을 고려하지 않은 단일 Band 초해상도 모델로 설계하여 흑백으로 변환하여 학습하였다. 또한 PAN 영상을 GT로 사용하지 않고 팬샤프닝 영상을 생성 후 흑백으로 변환하는 것은 MS 영상을 흑백으로 만드는 과정에서 PAN 영상과의 색상이 상이하여 학습에 영향을 미칠 수 있으므로 동일한 알고리즘을 통해 흑백으로 변환하여 색상을 동일하게 만들어 변수를 줄였다.
2.3 학습 결과
학습 결과는 Table 2를 통해 학습에 사용된 데이터에 대한 손실값, PSNR 값을 확인할 수 있다. 전체 데이터의 1/8을 검증 데이터, 7/8을 학습 데이터로 사용하였다. 25 Epochs 이상에서는 유의미한 성능 향상이 보이지 않아 25 Epochs 학습 값을 사용하였다. 학습은 LR 영상은 128*128 해상도 HR 영상은 256*256 해상도로 타일링하여 학습을 진행하였다. 각 타일의 데이터가 존재하지 않는 부분이 20 %를 넘어가는 타일은 제거하여 약 280,000쌍의 데이터를 사용하였으며, Batch size는 16, Optimizer는 Adam을 사용하여 학습을 진행하였다.
2.4 성능
본 논문의 모델은 GeoEye1, Pleiades 1B 위성의 북한(평양, 영변)지역 영상으로 모델 학습을 진행하였다. 성능 검증에서는 모델의 학습 데이터로 사용되지 않은 30cm급 World-View 3 위성의 남한(포항)지역 영상을 통해 성능을 측정하였으며, 성능 측정에 사용한 지표는 PSNR(Peak Signal-to-noise ratio), VIF(Visual Information Fidelity)[12], MS-SSIM(Multiscale Structural Similarity Index Measure)[9], SSIM(Structural Similarity Index Measure)이다. Fig. 3에서는 LR, 보간법, 초해상도 결과물, 원본을 비교하였다. GT는 포항지역 PAN 영상(30cm급)이며, LR은 고주파 데이터를 잘 보존하는 OpenCV 라이브러리의 INTER_AREA 알고리즘을 통해 1/2 다운샘플링 후 가우시안 필터(Gaussian filter)를 통해 추가로 블러(Blur) 적용하여 생성한 PAN 영상(60cm급). LR 영상을 Input으로 사용하여 OpenCV 라이브러리의 Lanczos 알고리즘으로 보간한 결과물과 본 논문의 초해상도 모델을 적용하여 30cm급 PAN 영상으로 복원하여 GT(원본) 영상과 비교하였다. 성능 검증에서 MS 영상을 흑백으로 변환한 영상을 Input으로, 팬샤프닝 영상을 1/2로 다운샘플링 한 후 흑백으로 변환한 영상을 GT로 사용하지 않은 이유는 Fig. 3에서도 확인할 수 있듯이 1.2m급 MS 영상을 초해상화 하여 60cm급 GT와 비교하는 것은 육안, 수치상으로 큰 의미가 없으므로 30cm급 PAN 영상을 후처리하여 60cm급 LR를 생성하여 성능 측정에 사용하였다.
Fig. 3.
Images comparing Lanczos algorithm with super-resolution : The image below is an enlarged view of the square portion

아래 Table 3은 PSNR, VIF, MS-SSIM, SSIM을 측정하여 수치적인 성능을 제시한다.
Table 3.
Superresolution outcome measures
학습 데이터와 다른 검증 데이터를 사용하였음에도 PSNR, VIF 지표에서는 딥러닝 기반 초해상도 모델이 Lanczos 보간법보다 5∼10 % 수치가 더 높은 것을 확인할 수 있으며, MS-SSIM과 SSIM 측정치에서는 초해상도 영상이 수치는 더 높지만 1∼3 % 차이로 유의미한 차이는 없었다.
Fig. 4는 포항지역 원본 PAN 영상(30cm급)과 초해상도 영상(15cm급)을 비교한 영상으로 초해상도 영상의 차도, 횡단보도, 정지 표시가 더 선명하게 나타나는 모습을 볼 수 있다.
3. 지도 제작 및 유효성 검증
본 3장에서는 2장의 초해상도 모델을 통해 고해상도로 변환된 위성영상과 원본 위성영상을 사용하여 RPC 오차 보정, 포인트 클라우드 생성, DEM 생성한 뒤 비교하여 지도 제작에 있어 초해상도의 유효성을 검증한다. DEM의 경우 크게 건물을 포함하는 DSM (Digital Surface Model)과 건물을 제거하고 지형정보만 사용하는 DTM(Digital Terrain Model)이 있으며, 본 논문에서는 DSM을 생성하여 비교하였다.
본 논문에서 DSM 제작은 Hirschmuller가 제안한 SGM (Semi-Global Matching)[13] 매칭 기법을 사용한다. DSM 생성 과정은 첫 번째로 위성영상과 함께 제공되는 RPC를 기준점으로 이용하여 오차를 보정한다. RPC 오차 보정에는 Grodecki, Dial이 제시한 RPC 블록 모델링 기법[14]을 이용하였다. 두 번째로 에피폴라 영상을 생성한 뒤 기-보유 중인 DTM을 이용하여 입체영상 간의 Disparity의 범위를 추정한 후 SGM 알고리즘을 이용하여 에피폴라 영상을 매칭하였다[15,16]. 세 번째로 매칭 결과인 Disparity Map을 사용하여 좌, 우 영상의 동일한 포인트로 포인트 클라우드를 생성하였다. 네 번째로 포인트 클라우드를 일정 격자로 나누어 DSM을 생성하였다.
RPC 오차 보정의 정확도를 측정하기 위하여 평양, 포항지역 위성영상을 사용하여 초해상도 영상과 원본 영상의 RPC 오차를 확인하였다. 원본 영상의 경우 평양지역 RPC 오차는 1.89 픽셀, 포항지역 RPC 오차는 0.54 픽셀로 나타나며, 초해상도 영상은 평양지역이 1.91 픽셀, 포항지역은 0.59 픽셀로 나타났다. RPC 오차는 크게 변하지 않았으나 초해상도 작업을 통해 영상의 해상도가 가로, 세로 2배씩 증가하였으므로 실제 오차 거리는 약 1/2로 줄어들어 오차 보정에 있어서 유의미한 결과가 있었다.
포항지역이 원본, 초해상도에서 RPC 오차가 평양과 비교하여 적은 이유는 포항지역은 실제 측량을 통해 정밀한 관측점을 알 수 있으나, 평양은 직접 측량이 불가능하여 건물의 모서리, 차도 등을 통해 비교적 정밀함이 낮은 관측점을 통해 RPC 오차를 측정하기 때문이다.
포인트 클라우드 생성에서는 Fig. 5와 같이 육안으로 건물과 도로의 형태가 더 잘 나타나 포인트 클라우드의 해상도가 더 높아졌다고 할 수 있다. 하지만 영상의 우하단과 같이 초해상화 과정에서 부각된 노이즈 등의 이유로 원본 영상으로 생성한 포인트 클라우드 대비 잡음이 늘어났다. 이는 추후 잡음 제거 등 후처리 작업을 통해 잡음을 정리할 수 있을 것으로 예상된다.
Fig. 5.
Comparison image of point cloud creation results, Left) Original image, right) Super resolution image

DSM에서 정확도를 측정하기 위해 지상 기준점 데이터와 DSM에서의 높이를 비교하여 오차를 측정하는 방법을 사용하였다. 북한지역의 경우 실제 측량 데이터가 존재하지 않으므로 실제 측량 데이터가 존재하는 포항지역 영상으로 위 실험을 진행하였다. 포항지역의 지상 기준점 데이터는 국토교통부 국토지리정보원에서 공개한 정밀 도로 지도 자료의 측량 기준점을 사용하였다[17]. DSM 생성에 사용된 위성영상은 포항지역을 촬영한 World-View 3 영상이며, 위도는 36.0350530 ∼ 36.045996, 경도는 129.3603 ∼ 129.370986의 범위를 가지며 해상도는 30cm급 위성영상이다.
총 9곳의 DSM 높이와 지상 기준점 높이를 비교한 결과는 Table 4와 같다. 원본 영상과 초해상도 영상으로 생성한 DSM의 정확도는 초해상도 영상이 원본 영상보다 전체적으로 오차가 작았다. 오차가 큰 위치의 경우 초해상도 영상이 원본 영상 대비 오차가 크게 줄어들어 더 정확한 모습을 보여주었으나 오차가 적은 위치의 경우 포인트 클라우드에서 DSM을 생성하는 과정에서 생기는 오차를 생각하면 유의미한 차이는 없다.
Table 4.
DSM accuracy measurements
4. 결 론
본 논문에서는 VDSR 초해상도 모델을 기반으로 한 CNN 초해상도 모델을 설계한 뒤 학습을 통해 위성영상 특화 모델을 만들었다. 초해상도 모델을 사용하여 위성 영상을 고해상도 영상으로 변환한 뒤 RPC 오차 보정, 포인트 클라우드 생성 그리고 DSM을 생성하여 원본 영상으로 제작한 지도와 차이를 비교하였다. RPC 오차 보정에서는 수치상으로 오차가 약 1/2로 줄어드는 유의미한 결과가 있었다. 포인트 클라우드 생성에서는 초해상도 영상으로 생성한 결과가 원본으로 생성한 결과 대비 건물, 도로에서 포인트가 더 많아 육안상으로 구분이 잘 되었으며 해상도가 더 높아졌다고 할 수 있었다. DSM 생성 부분에서는 실측 지상 기준점과 원본 영상, 초해상도 영상으로 만든 DSM의 높이를 비교한 정확도에서 원본에서 오차가 큰 위치에 대해서는 오차가 크게 줄었으며, 오차가 적은 위치에서는 유의미한 차이는 없었다.
결론적으로 결과물의 해상도가 높아져도 정확도는 향상되거나 유지된다는 측면에서 초해상도 모델이 지도 제작에 유효성이 있다고 판단된다. 초해상도 영상을 통해 지도 제작에 있어 초해상도 영상 변환 과정과 늘어난 해상도로 인한 처리 속도 저하의 단점 있으나 육안, 수치상으로 개선 사항이 있으며, 정확도 측면에서 손실은 발생하지 않아 실제 활용 가능성은 있다. 향후 연구에서는 초해상도 모델을 조금 더 진보된 모델로 변경하거나 기존 CNN 기반 모델에서 GAN 기반 모델로 변경하여 DSM의 정확도를 높이는 방향으로 진행할 계획이다.