논문
딥러닝을 이용한 달 크레이터 탐지
Lunar Crater Detection using Deep-Learning
Haingja Seo
1,*, Dongyoung Kim
1, Sang-Min Park
1, Myungjin Choi
1
1HANCOM inSPACE, Daejeon 34103, Korea
© Copyright 2021 The Korean Space Science Society. This is an Open-Access article distributed under the terms of the
Creative Commons Attribution Non-Commercial License (http://creativecommons.org/licenses/by-nc/4.0/) which permits
unrestricted non-commercial use, distribution, and reproduction in any
medium, provided the original work is properly cited.
Received: May 19, 2021; Accepted: May 19, 2021
Published Online: May 31, 2021
요 약
태양계 천체 탐사는 다양한 탑재체를 통해 이루어지고 있고, 그에 따라 많은 연구 결과들이 나오고 있다. 우리는 태양계 천체 연구의 한 방법으로 딥러닝 적용을 시도해 보았다. 지구 관측 위성 자료와 다르게 태양계 천체 자료들은 천체들에 따라 탐사선에 따라 각 탐사선의 탑재체에 따라 그 자료의 형태가 매우 다르다. 그래서 학습시킨 모델로 다양한 자료에 적용이 어려울 수 있지만 사람에 의한 오류를 줄이거나, 놓치는 부분들을 보완해 줄 수 있을 것이라고 기대한다. 우리는 달 표면의 크레이터를 탐지하는 모델을 구현해 보았다. Lunar Reconnaissance Orbiter Camera (LROC) 영상과 제공하는 shapefile을 입력값으로 하여 모델을 만들었고, 이를 달 표면 영상에 적용하여 보았다. 결과가 만족스럽지는 못했지만 이후 이미지 전처리와 모델 수정 작업을 통해 최종적으로는 ShadowCam에 의해 획득되는 달의 영구음영지역 영상에 적용할 예정이다. 이 외에도 달 표면과 비슷한 형태를 가진 세레스와 수성에 적용을 시도하여 딥러닝이 태양계 천체 연구에 또 다른 방법임을 시사하고자 한다.
Abstract
The exploration of the solar system is carried out through various payloads, and accordingly, many research results are emerging. We tried to apply deep-learning as a method of studying the bodies of solar system. Unlike Earth observation satellite data, the data of solar system differ greatly from celestial bodies to probes and to payloads of each probe. Therefore, it may be difficult to apply it to various data with the deep-learning model, but we expect that it will be able to reduce human errors or compensate for missing parts. We have implemented a model that detects craters on the lunar surface. A model was created using the Lunar Reconnaissance Orbiter Camera (LROC) image and the provided shapefile as input values, and applied to the lunar surface image. Although the result was not satisfactory, it will be applied to the image of the permanently shadow regions of the Moon, which is finally acquired by ShadowCam through image pre-processing and model modification. In addition, by attempting to apply it to Ceres and Mercury, which have similar the lunar surface, it is intended to suggest that deep-learning is another method for the study of the solar system.
Keywords: 달 크레이터; 딥러닝; YOLOv5; 객체탐지; Lunar Reconnaissance Orbiter Camera (LROC)
Keywords: lunar crater; deep-learning; YOLOv5; object detection; Lunar Reconnaissance Orbiter Camera (LROC)
1. 서론
최근의 행성 자료들은 지상 관측보다는 여러 탐사선들의 다양한 탑재체들에 의해 많은 양의 자료가 여러가지 형태로 공개되고 있다. 천체에 근접하여 관측이 가능한 탐사선 자료는 특히 영상자료에서 두각을 드러낸다. 본 연구에서 활용한 달 영상의 경우에는 해상도 50 cm의 영상을 획득하였으며, 아폴로 착륙선의 형태를 인지할 수 있는 정도이다. 이런 양질의 행성 자료들은 연구의 방법을 다양하게 하고, 연구 내용 또한 풍부하게 만들어주고 있다.
태양계 천체에서 크레이터의 개수는 천체 표면의 상대적인 나이 계산에 이용되는 매우 유용한 나이 계산 연구 방법이다[1]. 특정 영역에 시간이 지남에 따라 일정 비율로 충돌 크레이터가 누적된다는 가정을 전제로 하여 상대적인 나이 계산을 수행하고 있다. Fig. 1에서 보여지는 것처럼 주어진 영역에 대해 다양한 크기의 충돌 크레이터가 몇 개나 있는지를 파악하면 축적된 시간을 알 수 있고, 표면의 생성 시점을 알 수가 있다. 이렇게 계산된 상대적인 나이는 아폴로 탐사선이 가져온 달의 샘플 토양의 방사선 연대 측정을 통해 검증되어질 수 있다.
Fig. 1.
The greater number of craters as older surface. Adopted from Strobel with permission of Author [2].
Download Original Figure
충돌 크레이터를 이용하여 천체 표면의 상대적인 생성 시기를 결정하는 천체는 대표적으로 화성, 수성, 세레스가 있으며, 그 외에도 명왕성처럼 lava flow가 행성표면을 덮은 시기, 달 표면에 바다가 형성된 시기, 엔셀라두스(토성의 위성)와 가니메데(목성의 위성) 등 얼음이 천체의 표면을 덮은 시기 등을 알 수가 있다.
2. 충돌 크레이터 검출
태양계 천체의 충동 크레이터는 영상을 눈으로 보고 직접 세는 방법으로 진행되어 오다가 최근에는 컴퓨터를 이용하여 머신러닝이나 딥러닝을 사용하여 탐지하고 있다. Robbins and Hynek(2012)[3]는 지름 1 km 이상 되는 크레이터를, Robbins는 지름 100 m 이상 되는 크레이터를 Mars Crater Catalog v1 Robbins라는 데이터 베이스로 정리도 하였다[4]. 수동으로 정리한 크레이터 개수는 지질학적인 의미는 보여 할 수 있으나, 수동 작업하는 과정에서 사람에 의한 오류가 다수 포함되기 때문에 특정 천체의 크레이터 개수의 정의는 내릴 수 없다.
사람에 의한 오차를 최소화하기 위해 자동화를 도입하는데, 크레이터 자동검출방법과 딥러닝을 이용하는 방법이 있다. Stepinski et al.(2012)[5]은 화성의 크레이터를 ‘크레이터 자동 검출(crataer detection algorithm, CDA)’이라는 머신러닝을 도입하여 식별하였다(Fig. 2).
Fig. 2.
ML detection for Mar's craters. (a) candidated crater, (b) predicted crater. Adopted from Stepinski et al. with permission of IGI Global [5].
Download Original Figure
크레이터에 대한 정의는 달의 DEM(digital elevation model)을 이용하는 방법과 panch-romatic 영상에서 크레이터를 정의하는 방법을 사용하였다. 머신 러닝에서 발전하여 딥러닝을 이용하여 크레이터 탐지를 시도하기도 하였다. Siburt et al.(2019)[6]은 convolutional neural networks(CNNs)를 이용하여 크레이터를 식별하였고, 달의 DEM를 정답지로 입력하여 모델을 학습시켰고, 학습 결과 기존에 알려진 크레이터보다 많은 수의 크레이터를 탐지할 수 있었다(Fig. 3).
Fig. 3.
The train data set. A left image is ground truth. red circle is newly detected crater, purple circle is missed result, blue circle is good. Adopted from Silburt et al. with permission of Elsevier [6].
Download Original Figure
우리는 달 크레이터 객체 검출이라는 문제 정의를 하고, 딥러닝을 이용하여 크레이터 객체검출을 시도하였다. Lunar Reconnaissance Orbiter(이하, LRO)에 탑재된 LROC WAC 데이터와 LRO archive에서 제공하는 지름 5–20 km 크기의 크레이터의 shapefile(labeling data)을 입력데이터로 사용하였다. 딥러닝 수행 과정은 1) train data set, validation data set, test data set 생성, 2) Yolov5로 객체 검출 모델 개발, 3) train data set, validation data set으로 모델 학습, 4) test data set으로 모델 테스트 및 성능평가를 수행하였다.
2.1 데이터셋 구축
데이터셋은 영상데이터와 라벨링 데이터를 세트로 구성하였다. 영상데이터는 LROC WAC 자료로 643 nm 영상, empirical normalized, 위도 ±60이내, 해상도는 약 470m 영상을 이용하였고(Table 1), 라벨링 데이터는 LROC archive 사이트에서 제공받았다. 우리는 지름 5 – 20 km에 대한 크레이터에 대해서만 딥러닝 모델을 생성하였다. Table 1은 영상 입력자료에 대한 정보이며, Table 2는 labeling data로 사용한 shapefile의 정보이며 shapefile 영상은 Fig. 4와 같다. Table 3은 각 데이터를 다운받을 수 있는 사이트 주소이다.
Table 1.
The metadata of image which is train dataset[7]
|
Product meta dataPDS
|
Product ID |
WAC_EMP_643NM_E300N1350_064P |
Data set ID |
LRO-L-LROC-5-RDR-V1.0 |
Volume ID |
LROLRC_2001 |
Product target |
MOON |
Product creation time |
2020-08-31T12:12:41.000 |
Relative volume path |
data\mdr\wac_emp\ |
Label file name |
wac_emp_643nm_e300n1350_064p.img |
Product type |
MDREMP |
Full product type name |
RDR |
Instrument host ID |
LRO |
Instrument ID |
LROC |
Spacecraft clock start count |
N/A |
Spacecraft clock stop count |
N/A |
Center latitude |
30 |
Center longitude |
135 |
Maximum latitude |
60 |
Minimum latitude |
0 |
Westernmost longitude |
90 |
Easternmost longitude |
180 |
Map resolution |
64.0 <PIX/DEG> |
Map scale |
473.80235037734 <METERS/PIXEL> |
Producer ID |
LRO_LROC_TEAM |
Product version ID |
v1.2 |
Download Excel Table
Table 2.
The information of shapefile
Vector map |
Craters 5 km to 20 km in diameter (60N to 60S, 0 to 90E) |
Base map |
Monochromatic (643 nm) LROC WAC morphologic map with a resolution of 100 meters/pixel |
Scale |
The crater rim is digitized 1:250,000 and 1:500,000 |
Coordinate system |
IAU Moon 2000 Geographic Coordinate System : –180 to 180 and 0 to 360 longitude domains - 180 domain: LROC_5TO20KM_CRATERS_0TO90E_180 - 360 domain: LROC_5TO20KM_CRATERS_0TO90E_360 |
Download Excel Table
Fig. 4.
Shapefile of lunar crater. Adopted from NASA with public domain [8]. LRO, lunar reconnaissance orbiter.
Download Original Figure
이렇게 획득한 데이터는 다음과 같은 전처리 과정을 거쳤다; 1) 달 좌표계를 픽셀 좌표계로 변환, 2) .img을 .tif와 .png를 거쳐 8bit 영상으로 변환, 3) 원본 영상, percentile_clip(0.5%) 영상, percentile_clip(1.0%) 영상으로 구현하였다. Percentile_clip이란 영상의 히스토그램을 추출한 후 전체 픽셀값 분포에서 상하위 지정 퍼센트에 해당되는 값들을 의미 없는 데이터로 간주하여 제외하는 기법이다. 예를 들면 전체 픽셀의 0.5% 미만과 99.5% 초과되는 픽셀들은 제외하고, 0.5%에서 99.5%로 clip해주는 과정을 의미한다. 영상에서 극단적으로 낮은 값이나 높은 값을 제외시키고자 함에 있다. 전처리된 영상들로 train set 3,800장, validation set 1,004장, test set 1,048장으로 구성하였고, YOLOv5s와 YOLOv5x를 이용하여 6개의 결과를 도출하였다.
2.2 객체검출 모델
객체검출 모델(object detection model)은 딥러닝 기반의 문제 해결 방법 중에 하나이다. 모델은 패치 이미지와 객체 바운딩 박스로 좌표, 카테고리 정보를 받고, 객체의 바운딩박스 좌표와 카테고리(클랙스) 등을 출력하게 된다. 본 연구에서는 YOLOv5s와 YOLOv5x 모델을 사용하였다.
2.2.1 YOLOv5
YOLOv5 모델은 single-stage detector인 YOLOv3를 향상시킨 모델로서, v3과 v4 모델의 장점을 살려서 성능을 향상시킨 모델이다. 기존 object detection model들에 비하여 상대적으로 작은 네트워크를 이용해서 학습 속도가 빠르며, YOLOv5의 구조는 일반적인 객체탐지 구성과 큰 차이는 없다[9]. Fig. 5의 구조와 같이 YOLOv5는 backbone, neck, head 부분으로 나눌 수 있으며, backbone은 영상으로부터 feature map을 추출하는 역할이며, CSP-Darknet을 사용하는 부분으로 YOLOv4와 유사하다. Neck은 backbone과 head를 연결해주는 역할이며, head는 추출된 feature map을 바탕으로 물체의 위치를 찾는 부분이다.
2.2.2 Backbone
YOLO5의 핵심 기술 중 하나는 DenseNet 기반의 CSP(Cross Stage Partial Networks)를 사용하는데 Fig. 6과 같은 구조를 가지고 있다.
Fig. 6.
The structure of models. (a) DenseNet, (b) Cross stage partial DenseNet (CSPDenseNet). Adopted from Wang et al. with permission of Author [10]. CSP, cross stage partial networks.
Download Original Figure
DenseNet은 layer가 깊어짐에 따라 발생하는 증감율 소멸 문제(gradient vanishing)를 해결하기 위해 고안되었는데, DenseNet의 최적화 과정 중 중복되는 증감율(gradient)을 줄여 연산량을 줄이고, 성능을 향상시키기 위해 CSP를 사용했다. 이러한 구조는 DenseNet의 출력값 연결을 통한 재사용을 유지하면서도 중복되는 기울기 정보(gradient information)가 많아지는 것을 방지해준다. 그 뒤 SPPNet(Spatial Pyramid Pooling Network)에 연결되어 neck 부분으로 연결되는데, SPPNet은 기존 CNN 구조들이 fully connected layer의 고정된 이미지 크기를 입력으로 받으며 발생하는 문제점들을 해결하기 위하여 고안되었다. 기존 CNN은 고정된 이미지 크기로 crop/warp 과정을 거치고, 각각의 모든 이미지들을 conv layers에 통과시킨 뒤 fully connected layer에 연결하는 방식이었다면, 이 SPPNet에서는 먼저 전체 이미지를 conv layer에 통과시킨 뒤 SPPNet을 거쳐 fully connected layer에 연결하는 방식이다[11]. Fig. 7에 일련의 과정들이 나와 있다.
Fig. 7.
The network structure. top) current CDNN, bottom) PPNet. Adopted from He et al. with permission of Author [11].
Download Original Figure
SPPNet는 local spatial bins를 polling하여 spatial 정보를 유지한다. Fig. 8과 같이 SPPNet은 YOLOv5에서는 spatial bins를 5 × 5, 9 × 9, 13 × 13 Feature Map을 사용했으며, 최종적으로 5 + 9 + 13 = 27의 크기로 고정된 1차원 배열을 생성하여 Fully Connected Layer의 입력으로 사용했다.
2.2.3 Neck
Neck은 backbone과 head부분을 이어주는 부분이다. 전체적으로는 PANet(Path Aggrega-tion Network)로 이루어져 있다. PANet은 FPN(feature pyramid network)에서 발전되었는데, FPN은 단계별로 신경망들을 통과하며 Feature Map을 구성 후 상위 레이어부터 내려오며, Feature를 합친 뒤 객체 탐지를 진행한다(Fig. 9)[12].
Fig. 9.
Top-down architecture with skip connection. Adopted from Lin et al. with permission of Author [13].
Download Original Figure
PANet 모델은 FPN에 모델을 덧붙여 만든 것으로서, 일반적으로 먼저 추출된 low-level feature일수록 마지막 단계까지 진행되었을 때(output까지 propagate되면) 먼거리로 인해(먼거리임에) 충분히 반영되지 않는 결과가 도출된다. 이를 방지하기 위해 low-level feature도 결과에 잘 반영되는 방안을 도입한 것이다(Fig. 10).
Fig. 10.
Illustration of framework. (a) FPN backbone, (b) bottom-up method, (c) adaptive feature pooling, (d) box branch, (e) fully-connected fusion (Path Aggregation Network for Instage Segmentation), Adopted from Liu et al. with permission of Author [12]. FPN, feature pyramid network.
Download Original Figure
2.2.4 Head
Head 부분은 추출된 feature map을 바탕으로 물체를 탐지하는 부분으로, Anchor Box를 처음에 설정하고, 이를 이용하여 최종적인 bounding box를 생성한다.
Yolov5는 S, M, L, X의 4종류가 있으며, 구조는 모두 같지만 depth_multiple, width_ multiple 2가지 변수의 차이로 구별을 한다. S가 두 가지 변수가 다 작고 X로 갈수록 커지는데, depth_multiple이 클수록 BottleneckCSP layer가 더 많이 반복되어 더 많은 layer로서 깊어지며, width_multiple이 클수록 모듈의 채널 수가 많아진다. 본 연구에서는 S모듈과 X모듈을 사용하여 결과값을 출력, 비교하였다.
2.3 모델 수행
학습시킨 내용을 정리하면 Table 4, 5와 같다. YOLOv5s, YOLOv5x를 backbone으로 하여 크레이터 객체 탐지를 수행하였다. 패치크기는 1,024 × 1,024, epoch는 300회로 모델을 구현하였다. 성능 평가를 위해 iou_threshold 0.6, conf_threshold 0.3을 기준으로 precision, recall, mAP를 계산하였다.
Table 4.
YOLOv5s
Testset result |
Model |
Img_size |
Conf_thres |
Iou_thres |
Precision |
Recall |
mAP @.5 |
mAP @.5: .95: 10 |
Org |
1,024 |
0.3 |
0.6 |
0.878 |
0.748 |
0.767 |
0.602 |
Percentileclip_0.5 |
1,024 |
0.3 |
0.6 |
0.829 |
0.773 |
0.774 |
0.582 |
Percentileclip_1 |
1,024 |
0.3 |
0.6 |
0.834 |
0.766 |
0.765 |
0.586 |
Download Excel Table
Table 5.
YOLOv5x
Testset result |
Model |
Img_size |
Conf_thres |
Iou_thres |
Precision |
Recall |
mAP @.5 |
mAP @.5: .95: 10 |
Org. |
1,024 |
0.3 |
0.6 |
0.894 |
0.767 |
0.783 |
0.633 |
Percentileclip_0.5 |
1,024 |
0.3 |
0.6 |
0.85 |
0.771 |
0.774 |
0.625 |
Percentileclip_1 |
1,024 |
0.3 |
0.6 |
0.843 |
0.782 |
0.776 |
0.628 |
Download Excel Table
3가지 전처리 과정을 거쳐 만들어진 기본 영상, percentile_clip(0.5%) 영상, percentile_ clip(1.0%) 영상에 YOLOv5s와 YOLOv5x를 적용한 크레이터 탐지 결과는 Fig. 11, 12에서 보여준다.
3. 토의
딥러닝을 이용하여 크레이터를 식별하는 방법에는 해결해야 할 몇 가지 문제점들이 남아 있다. 지금까지의 연구들은 연구자들마다 나름의 크레이터의 정의를 각자 세우고, 거기서부터 크레이터 식별이라는 문제를 풀었다. 이 연구도 마찬가지로 영상에서 크레이터의 정의 및 큰 크레이터들의 경계를 어떻게 둘 것인지에 대한 문제가 향후 과제로 남아 있다.
크레이터는 생성된 이후부터 시간이 갈수록 gardening 효과를 거치면서 그 형태가 뚜렷하지 않다. 딥러닝 라벨링 과정에서 이런 크레이터를 정확하게 라벨링할 수 있는지의 문제와, 이렇게 학습된 모델이 형태가 뚜렷하지 않은 크레이터를 찾아낼 수 있는지가 또 하나의 풀어야 할 과제이다(Fig. 13). 대기가 없는 천체의 표면 gardening 효과는 표면의 나이와도 직결된 문제이기 때문에 크레이터 카운팅을 하는 주 목적인 나이계산을 하기 위해서는 딥러닝을 수행하는 과정에서 정의가 된 후 수행되어야 한다.
또 다른 문제는 크레이터 크기와 형태이다. Siburt(2019)[6]는 그의 결과에서 약 15픽셀보다 작은 크레이터는 잘 탐지하지만, 큰 크레이터에 대해서는 탐지가 잘 되지 않는다고 하였다. 본 연구에서는 달 표면의 대부분을 차지하는 5 – 20 km를 가진 크레이터에 대해 수행하였다. 달 표면에서는 달 반구를 덮는 lunar basin 및 지름 5 km 미만의 크레이터도 많은 분포를 차지하고 있다. 본 연구에서 수행한 크레이터 지름 5 – 20 km의 모델은 지름 5 – 20 km 이외의 크레이터에 대해서는 탐지가 어려운 것으로 드러났다. 또한 이번 연구에서는 원형 또는 타원형의 독립 크레이터에 대해서만 학습을 하고 테스트를 수행하였다. 하지만 달 표면에는 다양한 크레이터가 분포하고 있고, 이에 대한 정의도 향후 수행되어야 할 과제이다(Fig. 14).
Fig. 14.
The various lunar crater types. left) a small crater is in a large carte, middle) connected rims of two craters, right) double rim [8].
Download Original Figure
이 연구의 최종 목적은 개발한 모델을 향후 획득하게 될 ShadowCam 영상에 적용하고자 함이다. ShadowCam은 시험용 달궤도선(Korea Pathfinder Lunar Orbiter, KPLO)에 탑재 예정인 NASA에서 개발 중인 달의 영구음영지역에서 물을 탐색하기 위한 목적으로 개발되고 있다. ShadowCam은 영구음영지역의 영상을 secondary scattering된 빛을 이용하여 촬영할 예정이며, 이렇게 획득된 영상은 일반적인 reflectance 영상과 다른 것으로 예상된다(Fig. 15). ShadowCam이 촬영한 기존 영상과는 다른 영상에 본 연구에서 개발한 딥러닝 모델을 적용하여 영구음영지역의 영상에서 크레이터를 식별하고자 한다. 획득되는 영상에서 크레이터 식별을 딥러닝을 통해 시도하는 것은 크기가 작거나 경계가 불분명하거나 또는 또 다른 이유로 인하여 육안으로 판단하기 어려운 영상에서 크레이터를 식별하는 하나의 방법이 될 것이다.
Fig. 15.
Lunar south pole, main target of ShadowCam. Adopted from ShadowCam with permission of ShadowCam [15].
Download Original Figure
향후, 이 연구는 ShdowCam에 의해 획득될 영상에 적용하여 그 결과를 지켜보고자 한다. 앞서 우리는 LROC/LRO 영상 외에도 MI/Selene data, HIRES data/Clementine 그리고 LOLA의 DEM 자료를 이용하여 모델 학습을 수행하고 결과를 분석할 예정이다. 또한 달 환경과 유사한 수성과 세레스에도 적용하여 딥러닝 기법이 태양계 천체 연구에 도움을 줄 수 있는 방법임을 알리고자 한다.
감사의 글
본 과제는 한국연구재단(NRF)의 지원을 받아서 연구를 수행하였습니다(2018M1A3A3A0 2065832).
References
Robbins SJ, Hynek BM, A new global database of Mars impact craters ≥1 km: 1. database creation, properties, and parameters, J. Geophys. Res. 117, E05004 (2012).
Stepinski TF, Ding W, Vilalta R, Detecting impact craters in planetary images using machine learning, in Intelligent Data Analysis for Real-Life Applications: Theory and Practice, eds. Benedito RM, Global IGI (IGI Global, Hershey, PA, 2012).
Silburt A, Ali-Dib M, Zhu C, Jackson A, Valencia D, et al., Lunar crater identification via deep learning, Icarus. 317, 27-38 (2019).
Bochkovskiy A, Wang CY, Liao HYM, YOLOv4: optimal speed and accuracy of object detection, in Conference on Computer Vision and Pattern Recognition, online, 23 Apr 2020.
Wang CY, Liao HYM, Yeh, IH, Wu YH, Chen PY, et al., CSPNET: a new backbone that can enhance learning capability of CNN, in Conference on Computer Vision and Pattern Recognition, Long Beach, CA, 15-21 Jun 2019.
He K, Zhang X, Ren S, Sun J, Spatial pyramid pooling in deep convolutional networks for visual recognition, in Conference on Computer Vision and Pattern Recognition, Brisbane, Australia, 23 Apr 2015.
Liu S, Qi L, Qin H, Shi J, Jia J, Path aggregation network for instance segmentation, Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Salt Lake City, UT, 18-22 Sep 2018.
Lin TY, Dollár P, Girshick R, He K, Hariharan B, et al., Feature pyramid networks for object detection, in Conference on Computer Vision and Pattern Recognition, Honolulu, HI, 21-26 Jul 2017.
Kirchoff MR, Chapman CR, Marchi S, Curtis KM, Enke B, et al., Ages of large lunar impact craters and implications for bombardment during the Moon’s middle age, Icarus. 225, 325-341 (2013).