* 종신회원 ․ 교신저자 ․ 한국건설기술연구원, 미래융합연구본부, 연구위원, 공학박사
(Corresponding Author․ Korea Institute of Civil Engineering and Building Technology ․ [email protected])
** 종신회원 ․ 한국건설기술연구원, 미래융합연구본부, 수석연구원, 공학박사
(Korea Institute of Civil Engineering and Building Technology․ [email protected]) Received November 15, 2018/ revised November 20, 2018/ accepted November 22, 2018
Copyright ⓒ 2018 by the Korean Society of Civil Engineers
DOI: https://doi.org/10.12652/Ksce.2018.38.6.0859
www.kscejournal.or.kr
달기지 건설을 위한 딥러닝 기반 달표면 크레이터 자동 탐지
신휴성*ㆍ홍성철**
Shin, Hyu Soung*, Hong, Sung Chul**
A Deep-Learning Based Automatic Detection of Craters on Lunar Surface for Lunar Construction
ABSTRACT
A construction of infrastructures and base station on the moon could be undertaken by linking with the regions where construction materials and energy could be supplied on site. It is necessary to detect craters on the lunar surface and gather their topological information in advance, which forms permanent shaded regions (PSR) in which rich ice deposits might be available. In this study, an effective method for automatic detection of lunar craters on the moon surface is taken into consideration by employing a latest version of deep-learning algorithm. A training of a deep-learning algorithm is performed by involving the still images of 90000 taken from the LRO orbiter on operation by NASA and the label data involving position and size of partly craters shown in each image. the Faster RCNN algorithm, which is a latest version of deep-learning algorithms, is applied for a deep-learning training. The trained deep-learning code was used for automatic detection of craters which had not been trained. As results, it is shown that a lot of erroneous information for crater’s positions and sizes labelled by NASA has been automatically revised and many other craters not labelled has been detected.
Therefore, it could be possible to automatically produce regional maps of crater density and topological information on the moon which could be changed through time and should be highly valuable in engineering consideration for lunar construction.
Key words : Deep-learning algorithm, Lunar construction, Lunar craters, Optimum landing sites on the moon 초 록
달 지상 인프라 및 기지 건설은 건설재료나 에너지 확보가 가능한 지역과 연계되어야 하며, 얼음 등의 핵심 자원이 풍부한 영구음영 지역을 형성 하는 달 크레이터 지형의 탐지와 정보 수집이 선행되어야 한다. 본 연구에서는 이러한 달 크레이터(crater) 객체 정보를 최신 딥러닝 알고리즘을 이용해 효과적으로 자동 탐지하는 방안에 대해 고찰하였다. 딥러닝 학습을 위해 NASA LRO 달 궤도선의 레이저 고도계 데이터를 기반으로 구 축된 9만개의 수치표고모델과 개별 수치표고모델에 존재하는 크레이터들의 위치와 크기를 레이블링한 자료를 활용하였다. 딥러닝 학습은 최신 알고리즘인 Faster RCNN (Regional Convolution Neural Network)을 자체적으로 코드화하여 적용하였다. 이를 통해 학습된 딥러닝 시스 템은 학습되지 않은 달표면 이미지 내 크레이터를 자동 인식하는데 적용되었으며, NASA에서 인력에 의해 정의한 크레이터 정보들의 오류를 자동 보정 가능하고, 정의되지 않은 많은 크레이터 까지도 자동 인식 가능함을 보였다. 이를 통해 공학적으로 매우 가치가 있는 각 지역별 크레이 터들의 크기 분포 특성 및 발생 빈도 분석 등이 가능하게 되었으며, 향후에는 시간 이력별 변화추이도 분석 가능할 것으로 판단된다.
검색어 : 딥러닝 알고리즘, 달기지 건설, 달 크레이터, 최적 달 건설부지 선정
Geotechnical Engineering
지반공학1. 서 론
1960 년대 아폴로 유인탐사와 최근까지 진행된 무인 달탐사 미션들에 이어, 근래에는 달의 자원을 개발하고, 화성 등 더욱 먼 심우주로 나아가기 위한 전초기지로서 달을 활용하기 위한 다양한 구상과 제안이 활발히 이루어지고 있다(Kim, 2017; Hong et al., 2018). 이에, 본 연구에서는 달기지 건설에 요구되는 건설재 료 및 물 수급을 위한 최적 부지의 중요한 단초를 제공하는 달 크레이터(Crater) 정보를 효과적으로 확보할 수 있는 방안을 고찰하 였다. 달의 크레이터는 외부에서 쏟아지는 크고 작은 운석 및 소행성 들이 달 표면과 충돌하여 발생한다. 달에는 대기가 없어 지구와 같은 풍화작용이 없으므로, 달 크레이터는 충돌 당시의 모습을 가지고 있고, 태양계의 생성과 진화 과정을 연구하는데 귀중한 과학적 단서를 제공한다(Chen et al., 2018; Salamuniccar and Loncaric, 2010). 특히 달 극지역의 크레이터에는 태양의 낮은 고도로 인해 영구 음영지역(Permanent Shadow Region)이 존재한 다. 이들 영구 음영지역은 달기지 건설뿐만 아니라 에너지 수급 및 유인탐사 동안 우주인의 식수로도 사용될 수 있는 다량의 얼음을 내포하고 있을 가능성이 큰 지역이다(Kim, 2017).
이에, NASA 등에서는 달 궤도를 돌고 있는 달 궤도선 LRO (Lunar Reconnaissance Orbiter) 에서 촬영되는 실시간 이미지를 바탕으로 (NASA, 2018), 많은 인력을 동원해 지난 오랜 시간 동안 이미지 내 달 크레이터들을 정의하고 정보화하는 작업을 진행해 왔다. 이를 위해 많은 인력과 예산이 소요되어 왔지만, 구축되는 달 크레이터 데이터베이스의 객관적인 신뢰성과 정확도 에도 많은 문제가 제기되어 왔다. 따라서 다양한 연구자들은 이러한 달 크레이터 정보화룰 자동으로 수행하는 방안에 대해 연구해 왔으며, 본 연구에서는 현재까지 진행된 달 크레이터 자동 인식 연구 현황을 파악하고, 최신 딥러닝 알고리즘을 도입하여 기존 연구의 한계를 극복함으로써 보다 효과적이고 신뢰성 있는 달 크레이터 자동 탐지 기술을 확보할 수 있도록 하였다.
2. 달 크레이터 자동 탐지 연구 동향 분석
전통적으로 달 크레이터의 탐지는 사람의 육안을 통해 진행되어 왔다. 하지만 이러한 접근법은 무수히 많은 직경 1km이하 급의 크레이터에 적용하기는 현실적으로 불가능하다(Stepinski et al., 2012; Bandeira et al., 2012). 또한, 이러한 인력에 의한 크레이터 탐지 및 데이터베이스 구축은 작성된 자료의 약 40 % 정도가 실제와 불일치하는 것으로 알려진다(Robbins et al., 2014).
따라서 많은 연구자들은 달 크레이터를 효과적으로 탐지하기 위해 크레이터 정보와 특성 분류를 자동으로 수행하고자 하는
다양한 시도를 해왔다. 일례로, 이미지 픽셀 값들에 대한 수학적 처리에 기반을 둔 전통적인 이미지처리 알고리즘인 모서리 인식 기술(Edge detection), 허프변환(Hough transforms) 알고리즘 등을 활용한 연구들(Emami et al., 2015; Salamuniccar and Loncaric, 2010) 과 인공지능에 기반을 둔 서포트벡터머신(Support vector machine, SVM), 결정트리(Decision trees) 및 인공신경망(Neural networks) 등을 활용하여 크레이터 객체 정보를 분류하는 연구들이 등이 진행되었다(Wetzler et al., 2005; Stepinski et al., 2012;
Cohen et al., 2016; Palafox et al., 2017). 이러한 인공지능에 기반을 둔 크레이터 탐지 연구들은 이미 정의되어 주어진 학습된 자료들에 대해서는 잘 예측하는 결과를 보였으나, 정의되지 않은 크레이터 객체들에 대한 탐지에 있어서는 한계가 있었다. 또한, 기존의 크레이터 탐지 방식들은 크레이터의 다양한 형태와 이미지 내의 조도 특성, 편차가 큰 크레이터 크기, 크레이터들이 서로 겹쳐져 있는 경우와 일부가 뭉개져 퇴화된 크레이터 등과 같이 복잡한 크레이터들의 형상 특성에 대해서 매우 민감함을 보이며, 일관성 있는 탐지가 어려웠다.
일반적인 달 크레이터 자동 탐지를 위한 연구는 수동으로 작업이 불가능한 직경 1 km이하 급의 많은 작은 크레이터들을 탐지하려는 시도이다. 하지만, 자동 탐지의 주요 대상인 작은 규모의 크레이터들 과 매우 큰 규모의 크레이터들을 함께 탐지하는데 있어서는 적용성 이 떨어진다는 한계가 있었다. 또한, 육안으로도 탐지 가능하지만 매우 작은 크레이터들을 놓치는 경우가 빈번하였다.
최근 Silburt et al.(2018)은 이미지를 기반으로 하는 딥러닝 알고 리즘인 합성곱인공신경망(Convolution neural network, CNN)을 적용하여 달 크레이터를 객체로써 인식해 내고, 크레이터 개수, 위치 및 크기 정보를 산출코자한 연구를 수행하였다. 학습을 위해 LRO의 LOLA 데이터를 기반으로 제작된 9만 장의 수치지형모델 (DEM) 과 NASA에서 레이블링한 크레이터 정보 자료를 활용하였 다. Silburt et al.(2018)은 CNN 학습에 사용된 크레이터들의 92 % 를 재탐지 하였으며, 학습에 사용되지 않은 361개의 크레이터 에 대해서는 11 %의 오차 내에서 자동 탐지에 성공하였다 보고한 바 있다.
3. 달 크레이터 이미지 및 레이블 데이터 준비
3.1 달 크레이터 기초자료 분석
본 연구에서는 Silburt et al.(2018)이 온라인 상에 공개한 이미지 자료와 크레이터 레이블 자료를 다운받아 활용하였다. LRO에 탑재된 레이저 고도 계측기(LOLA) 데이터를 기반으로 제작된 수치표고모델은 총 9만 개이고 달 경위도 좌표정보를 포함한다.
또한 각각의 수치표고모델은 256X256 픽셀로 구성되어있으며 공간
해상력은 118 m이다. 수치지형모델은 Fig. 1 과 같이 크레이터 형상 왜곡을 최소화하기 위해 이미지 가장자리가 구부러진 이미지들을 다량 포함하고 있다. 9만장의 수치지형모델과 연계되어 레이블링된 크레이터 개수는 총 6,352,525개이다. 대부분의 크레이터의 면적은 22,000 픽셀 이하이며, 학습에 사용할 이미지의 해상도가 257×256 임을 감안하여 크레이터 면적이 22,000픽셀 수(면적에 포함된 총 픽셀 개수) 이상인 매우 큰 크레이터는 본 연구에서 제외시켰다.
활용한 크레이터들의 면적 크기별 분포도는 Fig. 2와 같다.
3.2 달 크레이터 기초이미지의 전처리
본 연구에서는 3.1절에서 설명된 영상학습을 위해 음영기복도 (Hillshaded Map) 를 사용하였다. Fig. 3에서 보여주듯이 고도 정보 만을 나타내는 수치표고모델을 이용하여 크레이터를 육안으로 구 분하기는 용이하지 않다. 딥러닝 학습능력 향상을 위해서는 육안으 로 식별이 용이한 음영기복도를 사용하는 것이 유리할 것이라 판단 하였기 때문에, Python과 GDAL (Geospatial Data Abstraction Library)’을 이용하여 수치표고모델을 음영기복도로 변환 하였다.
변환된 이미지의 예는 Fig. 3과 같다.
Fig. 1. A Case Study on Lunar Crater Detection by CNN (Honda et al., 2018)
Fig. 2. Crater Size Distribution Used in This Study
(a) DEM1 (b) Hill_Shade1 (c) DEM2 (d) Hill_Shade2
Fig. 4 는 수치지형모델로부터 변환된 음영기복도와 크레이터 레이블 정보를 중첩하여 보여준다. Fig. 4(a)는 명확히 크고 작은 크레이터가 존재함에도 레이블링으로 크레이터가 정의되어 있지 않은 사례이다. Fig. 4(c)의 큰 붉은색 원으로 정의된 크레이터는 실제 크레이터가 아님을 알 수 있다. 또한 Fig. 4(c)상에서 볼 수 있듯이, 작은 크레이터들의 레이블링이 누락되어 있었다.
본 연구에서는 600여장에 대한 원본 레이블 정보를 음영기복도 에 도시하고, 잘못 지정된 레이블과 누락된 레이블링 정보를 Figs. 4(b) and 4(d) 와 같이 제거/수정/추가하는 작업을 진행 하였다. 보정된 레이블 정보 데이터셋은 딥러닝 학습에 적용하 였다.
4. 사용된 딥러닝 알고리즘 및 학습 조건
본 연구에서 사용된 딥러닝 알고리즘은 CNN계열로 Ren et al.(2015)이 개발한 최신 Faster Regional Convolution Neural Network (Faster RCNN) 을 사용하였다. Faster RCNN은 기존 합성곱 인공신경망(Convolution Neural Network, CNN)을 기반 으로 이미지내의 다수의 개별 객체를 개별 박스로 정의하고, 개별
박스 영역 내 객체를 대상으로 학습을 진행하며, 전통적인 인공신경 망 알고리즘을 적용해 학습된 박스 내의 객체의 종류나 특성들을 학습하고 추론하는 과정을 거친다(Ren et al., 2015). 따라서 본 Faster RCNN은 합성곱으로 원본이미지의 특징들을 추출하고 분 해하는 단계인 CNN단계, 3×3 합성곱 필터를 사용한 구역제안신경 망(Region Proposal Network, RPN)으로 이미지 내 객체를 추출 하고 학습하는 단계, 개별 객체의 종류와 특징을 학습하고 추론하는 완전연결 인공신경망(Fully Connected Neural Network)과 같은 3 단계의 매우 깊은 구조로 구성된다. 본 알고리즘은 바로 이전 버전인 Fast RCNN (Girshick, 2015)에 비해 최소 10배 이상 빠른 학습 및 추론성능을 보인다(Ren et al., 2016).
본 연구에서 적용한 딥러닝 학습 환경은 Table 1과 같다. Table 1 에서와 같이, 4개의 NVIDIA의 GTX1080 GPU를 사용하였으며 Ubuntu Linux OS환경에서 운영하였다. Faster RCNN 딥러닝 코드는 Tensorflow와 Python으로 작성되었다. 본 딥러닝 알고리즘 의 학습단계에서 설정된 주요 학습상수들은 Table 1과 같다. 보정된 이미지와 레이블 자료 600쌍 전체를 200회 반복하여 학습을 진행하 였고, 총 5시간의 학습시간이 소요되었다.
(a) Original (b) Correction (c) Original (d) Correction
Fig. 4. Crater Labelling Status and Correction
Table 1. Training Environment for Faster RCNN
Specification of Hardware and Software Hyper Parameters of Faster RCNN Training
CPU Intel Xeon E5-2660 v3 Epoch 200
RAM 128 GB Optimizer Momentum
GPU NVIDIA
GTX 1080 x 4 ea Momentum Optimizer Value 0.9
OS Ubuntu 16.04 LTS Learning rates
(0 %, 50 %, 75 %) 0.0003, 0.00003, 0.000003
Python Version 3.6.6 Training time 5 hours
CUDA Version 9.0 Trained image size (pixel) 256 x 256
cuDNN Version 7.0 - -
Tensorflow Version 1.11.0 - -
OpenCV Version 3.4.3.18 - -
5. 딥러닝 학습 및 추론 결과 분석
본 절에서는 보정된 600개의 보정된 학습자료를 통하여 딥러닝 학습을 진행하고 딥러닝 학습 결과를 정리하였다. 일반적으로 딥러 닝 학습에 대한 성능 평가는 학습자료에서 정의된 이미지 내 객체를 얼마나 잘 인식하였는지의 척도인 재현율(Recall)과 인식된 객체들 의 종류/특성(Class)을 얼마나 잘 분류해 냈는지의 척도인 정밀도 (Precision)의 의미가 통합된 지표인 평균정밀도(Average precision) 으로 평가한다(Zhu, 2004). AP값은 0에서 1의 범위를 가지며, 1에 가까울수록 완전한 추론이 이루어졌다는 것을 의미한다. 본 딥러닝 학습을 종료시키고, 보정된 학습자료인 600개의 이미지와 레이블 자료 데이터셋에 대한 재추론 결과는 AP값이 0.79으로 평가되어 매우 양호하게 학습이 이루어진 것을 알 수 있었다. 참고 로, 본 논문에서는 제시되지 않았지만, 가용한 총 9만개의 이미지 중 3만개의 원본 수치표고모델과 보정되지 않은 크레이터 레이블 자료에 대한 학습 결과는 학습자료에 대한 재추론 평가에서 AP값이 0.3 에 이르기 힘들 정도로 학습에 어려움을 보였다. 따라서 음영기 복도로의 변환과 오류나 누락이 많았던 크레이터 레이블자료의 보정 작업은 보다 효과적인 학습에 큰 도움이 된 것으로 판단된다.
Fig. 5는 학습자료에 대한 재추론 결과를 도시적으로 보여준다.
Fig. 5 의 좌측은 학습에 사용된 정답(Ground-truth)에 해당하는 학습자료 이미지이고, 우측은 학습 완료 후 추론에 의해 작성된 결과이다. Fig. 5와 같이 비교적 정확히 크레이터가 탐지되었음을 알 수 있다. 그림에서 확인할 수 있듯이, 학습자료 내에 잘못 정의된 크레이터가 존재하였으며, 딥러닝 추론에 의해 오류 크레이터가
제거되면서 오류 자동 필터링 기능을 의미하는 긍정적인 결과를 보인 반면, 일부 올바르게 정의된 크레이터가 누락되어 추론된 부정적인 결과도 보였다. 특히, 크기가 작은 크레이터에 대한 추론 성능이 상대적으로 좋지 않았다. 하지만, 보다 많고 보다 정확히 정의된 학습자료가 확보된다면 추론 성능은 자동으로 향상될 것이라 판단한다. 공개된 자료에서 얻어진 원본 수치표고모델의 픽셀 당 실제길이는 470 m/pixel로서 LRO 수피표고모델(픽 셀크기 118 m/pixel)로부터 발췌하여 분해시킬 때, 메모리 용량상의 문제로 해상도도 함께 저하 시킨바 있다. 따라서 해상도 의 저하 없이 보다 높은 해상도의 이미지 학습자료를 적용한다면 보다 작은 크레이터에 대한 높은 탐지 성능도 확보할 수 있을 것이다.
Fig. 6 은 학습에 사용되지 않은 데이터셋에 대한 추론결과를 보여준다. 비학습자료에 대한 추론 성능은 성능평가 지표인 AP값이 0.77 로 평가되면서, 학습자료에 대한 추론성능 수준과 유사한 추론 성능을 보였다. 이는 딥러닝 학습의 일반화가 확보되었다는 것을 의미한다. 딥러닝 학습의 일반화는 사전에 준비되어 학습에 사용된 이미지와 객체정보에 대한 추론(재추론) 성능도 매우 높지만, 새롭 게 주어지는 이미지에 대한 추론도 재추론 성능과 동등 수준의 성능을 보이는 것을 의미하므로, 딥러닝 학습에 있어서는 매우 중요한 검토 항목이다. Fig. 6에서도 전체적인 크레이터의 인식은 양호하게 진행되었으나, Fig. 5에서와 같이 작은 크레이터 객체에 대한 추론이 상대적으로 잘 이루어지지 않았다. 이는 앞에서 언급된 바 같이 보다 높은 해상도의 이미지로 학습한다면 해결될 수 있을 것으로 판단된다.
(a) Ground-Truth (b) Prediction (a) Ground-Truth (b) Prediction
Fig. 7은 보정된 레이블이 없는 새롭게 주어진 이미지에 대한 추론 결과를 보여준다. Fig. 7에서 파란색으로 표시된 원형 레이블 은 수작업으로 정의된 보정되지 않은 원본 레이블이다. 이는 오류 를 내포하고 있으므로 정답 크레이터 레이블 자료로 활용되기는 곤란하나, 직관적인 추론성능 평가에 좋은 참고가 될 수 있다.
또한, 본 추론 시험은 정답이 없는 관계로, 정량적인 추론성능 지표인 AP값을 산출할 수 없다. AP값은 정답 레이블이 존재할 때 추론된 레이블과 비교하여 계산될 수 있는 값이기 때문이다.
Fig. 7와 같이, 본 추론 시험에서는 크레이터가 아닌데 크레이터로 오판하여 정의된 레이블들이 자동 제거되었으며, 명확히 크레이터 이나 레이블링되지 않았던 많은 크레이터 객체들이 추가로 탐지되 었다.
6. 결 론
달의 과학적·경제적 가치가 증가함에 따라 우리나라를 포함한 세계 주요국들은 달 자원개발과 달기지 건설을 위해 달 탐사를 경쟁적으로 진행하고 있다. 달 표면의 크레이터는 태양계 기원 및 진화에 대한 과학적 단서를 제공한다. 또한 영구음영지역을 형성하는 달 극지역의 크레이터는 얼음과 휘발성 자원을 포함하고 있어, 향후 유인 탐사와 기지건설에 필요한 물, 산소, 에너지 원료를 제공할 수 있을 것으로 기대된다. 그동안 달 표면의 크레이터는 주로 육안에 의해 탐지돼왔으나, 직경 1 km 이하의 수많은 크레이터 들을 판별하기에는 많은 인원과 시간이 소요되었다. 또한 다양한 크레이터 자동 탐지 기법이 제안되었으나, 달 크레이터는 다양한
크기와 형태를 지니고 있어 정확하고 일관된 탐지가 어려웠다.
이에 본 연구에서는 최신 딥러닝 알고리즘인 Faster RCNN을 이용한 크레이터 자동탐지 기법을 제안하였다. 제한한 기법에서는 공개된 9만장의 수치표고모델을 육안으로 크레이터 식별이 용이한 음영기복도로 변환하여 학습자료로 활용하였다. 우선 변환된 음영 기복도를 이용하여 공개된 자료에서 달 크레이터의 위치와 크기를 정의한 레이블 자료의 오류를 수정할 수 있었다. 세부적으로 600여 장의 이미지에 대한 레이블 보정작업을 통하여 표준정밀도 0.79 수준의 재추론 성능을 확보할 수 있었다. 또한 비학습자료에 대한 추론 성능은 표준정밀도 0.77 수준으로, 학습자료와 유사한 추론 성능을 보여주는 것을 확인할 수 있었다.
본 연구를 통해 반자동으로 진행하던 달 크레이터 객체들의 정보화를 자동화할 수 있으며, 달 궤도이미지로 부터 보다 신뢰성 있는 달 크레이터 분포 특성을 파악할 수 있을 것으로 판단된다.
이러한 결과는 달 크레이터 정보의 통계화와 도식화가 가능하게 하므로 전 세계의 달 관련 연구자들에게 달 크레이터 관련 중요한 기초자료를 제공할 수 있을 것이다. 본 연구를 통해 확보된 Faster RCNN 이미지처리 딥러닝 알고리즘은 달 착륙선 또는 현지 로버 에서 촬영되는 달 기지 건설 지역 내 주요 객체 및 지장물들의 자동 탐지와 변화 탐지에 활용될 예정이다. 또한, 달기지 건설 지역의 공간정보화 및 구조물 설계에도 적용될 예정이며, 건설되 는 구조물의 크기와 형태를 시공 단계별로 자동 탐지함으로서 원격 구조물 시공관리를 위한 주요 객체 정보를 제공할 수 있을 것이다.
Fig. 7. Prediction for the Untrained Dataset Without Labels