陨石坑是陨石体高速运动并撞击到天体表面或天体内部熔岩喷发后所形成的坑穴。这种坑穴蕴含着丰富的信息, 如陨石坑大小和个数的统计形成了月球和火星的地质地层学, 并且陨石坑的数目已成为衡量遥远行星地质形成年龄的唯一工具; 陨石坑形态学促进了自然降解过程、地质的区域性差异、地下挥发物质的分布等大量的行星地质问题的研究[1-2]; 陨石坑因其显著的地形特征, 常常作为深空星体探测时的地面标志物和导航路标, 用于探测器的位置定位及着陆避障任务中[3]。陨石坑在星际探测多个方面都得到了广泛的研究和应用, 因此, 如何识别星体表面的各种陨石坑, 为星际任务提供应用基础, 已成为航天领域研究的热点和难点。
近年来, 国内外****对星体表面陨石坑的识别方法进行了深入的研究。美国喷气推进实验室(JPL)的Cheng等[3]将光照方向与陨石坑边缘信息相结合, 通过陨石坑边缘锚点之间的几何相关性实现了陨石坑的识别; Sawabe[4]和Kim[5]等根据陨石坑的特定形状, 构造相对应的陨石坑模板, 通过模板匹配实现陨石坑的检测; 冯军华等[6]基于Canny方法及边缘配对完成陨石坑检测; 丁萌等[7]利用基于弦中点Hough变换的方法, 有效结合Kanade-Luca-Tomasi (KLT)特征检测算法实现了陨石坑的检测。这些传统的基于图像处理及图像配准的陨石坑识别方法, 虽然有效地对陨石坑进行了较为准确的识别, 但工作量大, 任务繁琐, 并且缺乏实时性。
得益于近年来人工智能的发展, 现在关于陨石坑识别的研究越来越趋向于机器学习和神经网络方面的自动识别领域[8-9]。例如, 文献[10]中利用主成分分析(PCA)方法统计纹理测量信息, 并应用纹理分析分割图像达到检测陨石坑的目的; Boukercha等[11]利用机器学习增强算法对陨石坑进行初步筛选得到陨石坑候选区域, 结合支持向量机(SVM)和多项式分类器对陨石坑进行进一步的检测; Silburt等[12]利用卷积神经网络实现了数字高程模型(Digital Elevation Model, DEM)中陨石坑的识别。这些方法虽然实现了陨石坑的自动识别, 提高了识别效率和精度, 但均将陨石坑统一拟合为椭圆或圆, 对小型陨石坑采用正负样本的二分类方法, 对于较大的、形态不规则的复杂陨石坑及陨石坑撞击盆地并不能有效识别。相比小型陨石坑生命周期较短并存在侵蚀、覆盖、掩埋及转化问题, 大型陨石坑能够在漫长的时间长河里保持形态和结构稳定性, 无论是在天体地质学还是作为路标导航方面的研究, 大型陨石坑都具有很强的时效性。因此, 本文以星体宏观视角下的大型陨石坑作为研究对象, 创建了不同数据源的陨石坑样本数据库, 构建了基于深度学习的多尺度陨石坑自动识别网络框架, 改进了目标检测时常用的非极大值抑制(Non-Maximum Suppression, NMS)算法, 提出了一种效率更高的陨石坑多分类识别方法。
1 陨石坑样本数据库构建 1.1 数据来源 陨石坑作为本文研究对象及训练深度学习识别网络的核心组成部分, 其数据来源的真实性和图片质量的清晰度是选取数据时应该重点考虑的2个因素, 但由于能够查阅到的各天体大型陨石坑图片资料相对较少, 本文选取了人类研究最多且最为熟悉的月球作为数据采集对象。月球表面拥有大量的各类陨石坑, 对于很多大型环形山类型的陨石坑, 人类在地球上用肉眼即可观测到, 并且用天文拍摄设备可以取得质量较好的大型陨石坑图片。因此, 本文选取了在不同月相情况下月球表面的多个大型陨石坑作为识别对象。
具体数据来源有2个方面:①公布在美国国家航空航天局(NASA)科学可视化工作室官网[13]的2018年全年高清仿真月相图, 该月相图的生成参数源自2009年开始执行绕月飞行的月球勘测轨道飞行器(Lunar Reconnaissance Orbiter, LRO), 其所携带的激光高度计和航天照相机使得以前所未有的清晰度来观察月球成为可能。本文选取了2018年每个月由新月到月盈、再到月亏的月相图作为大型陨石坑样本提取和检测数据源, 图 1为2018年2月的部分月相图[13]。②笔者于2018年11月和12月利用专业相机拍摄的月相图, 拍摄设备主要由相机、二倍镜及长镜头构成, 最大焦距可达400 mm, 能够较清晰地拍摄到月球表面众多大型陨石坑。由于拍摄天气及环境等因素影响, 本文只选取了部分清晰度高的月相图作为实验数据, 图 2为2018年12月的部分月相图。
![]() |
图 1 NASA官网提供的仿真月相图[13] Fig. 1 Simulated moon phases provided by NASA official website[13] |
图选项 |
![]() |
图 2 专业相机拍摄的真实月相图 Fig. 2 Real moon phases captured by a professional camera |
图选项 |
1.2 陨石坑样本数据集 本文选择了月球表面的危海(Mare Crisium)、澄海(Mare Serenitatis)及第谷(Tycho)3个具有代表性的大型陨石坑作为识别的对象。危海是位于月球东北半球的月海, 直径605 km, 面积约17.6×104 km2[14]。澄海是月球上大型月海陨石坑之一, 直径约600 km, 环形结构可延伸至880 km[15-16], 基于其退化的外观, 澄海陨石坑被一些研究者认为是月球上最古老的陨石坑之一[17]。哥白尼时代被广泛研究的第谷陨石坑, 是月球正面最年轻、最显著的大型陨石坑之一[18]。危海有类似尾巴的部分, 澄海有一个突出的三角, 而第谷周围有以其为中心的放射状沟壑, 均具备显著特征, 如图 3所示。
![]() |
图 3 危海、澄海及第谷陨石坑 Fig. 3 Mare Crisium, Mare Serenitatis and Tycho craters |
图选项 |
通过2个不同的数据源, 本文采集了大量陨石坑样本块, 并构成了样本数据库。样本数据库具体包含3个不同的陨石坑样本数据集:①单独从NASA官网下载的月球图片中采集样本构成第1个陨石坑样本数据集(NASA crater, Ncrater); ②单独从专业相机拍摄的月球图片中采集样本构成第2个陨石坑样本数据集(Camera crater, Ccrater); ③将前2个陨石坑样本数据集合并, 构成同时含有2个不同数据源样本的第3个陨石坑样本数据集(NASA and Camera crater, NCcrater)。为了提高识别精度, 增加样本间的差异性, 上述每个样本数据集中除了包含待识别的危海、澄海、第谷这3种陨石坑样本外, 还增加了负样本, 构成用于四分类问题研究的样本数据集。
由于能够直接采集得到的陨石坑数量很难满足训练识别网络的需求, 本文采用了数据增强的方法, 对上述3种样本数据集中原有的每个样本分别通过镜像、均值滤波、加少量椒盐噪声和高斯噪声等9种图像处理方法来扩充数据, 并将新生成的样本保存到各自对应的样本数据集中, 从而将原来的3个样本数据集的样本数扩充了10倍。表 1为数据增强后3个样本数据集各自包含的各类样本总数。图 4显示了样本数据集中各类陨石坑样本块, 每个样本块尺寸为3×227×227。采取数据增强的方法, 不仅能大幅度增加每个样本数据集样本数量, 而且在保持待识别目标主要特征的同时, 一定程度上增加了样本的多样性, 提高了网络模型的泛化能力。
表 1 数据增强后各类样本数 Table 1 Number of different types of samples after data augmentation
样本类别 | Ncrater | Ccrater | NCcrater |
危海 | 10 000 | 10 000 | 20 000 |
澄海 | 8 500 | 10 000 | 18 500 |
第谷 | 8 500 | 10 000 | 18 500 |
负样本 | 16 000 | 25 000 | 41 000 |
总数 | 43 000 | 55 000 | 98 000 |
表选项
![]() |
图 4 四类陨石坑样本 Fig. 4 Four types of crater samples |
图选项 |
2 陨石坑识别网络框架搭建 2.1 识别网络的选择 随着近年来人工智能领域的飞速发展, 越来越多的深度学习神经网络模型进入大众的视野, 如卷积神经网络(CNN)、递归神经网络(RNN)及最近几年热门的生成对抗网络(GAN)等。CNN由于其独特的卷积结构, 在图像处理领域有着明显的优势。过去几年中, CNN已成功应用于许多经典图像处理问题, 如图像去噪[19]、超分辨率图像重建[20]、图像分割[21]、目标检测[22-24]、物体分类[25-26]等。通常, 越深层的网络将具备越强的学习能力, 近年来CNN网络发展迅速, 并趋向于更加深层次的网络模型。然而, 层数越深的网络训练起来就会越困难。一方面, 网络训练多采用梯度反向传播算法进行参数学习和优化, 过深的网络因为层数太多会出现梯度消失的情况, 造成网络无法收敛; 另一方面, 越是深层的网络对训练设备和训练样本数量有着越高的要求, 性能普通的设备训练时间将会十分漫长, 而较少的训练样本将会造成网络过拟合。本文选用CNN作为陨石坑识别网络, 并且通过综合考虑训练时间消耗、识别精度、现有的训练设备性能和陨石坑样本数量等方面因素, 发现相比于GoogLeNet等近年来发展的新型深层网络, 选择CaffeNet模型对陨石坑样本图像进行分类, 不仅能保证较高的识别精度, 还能够节约大量的时间成本, 同时避免了更深层网络中过拟合现象的出现。CaffeNet模型是基于Krizhevsky等[27]针对数据集ImageNet训练生成的神经网络架构AlexNet, 并在AlexNet基础上进行了一定的优化, 近年来在各种图像处理任务中仍展现着出色的表现。
2.1.1 卷积神经网络模型 一个典型的CNN网络由多个卷积层、池化层及全连接层组成。卷积层是CNN中计算量最大的部分, 同时也是最重要的结构。卷积层内部包含多个卷积核, 组成卷积核的每个元素都对应着一个权重系数和一个偏差量, 卷积核与输入数据进行卷积运算, 从而提取输入的不同特征, 第一层卷积层可能只能提取一些如边缘、线条和角等低级的特征, 深层的卷积网络能从低级特征中不断迭代提取更复杂的特征。卷积层的作用多为检测特征, 池化层的作用则是提取、凝炼特征。池化层基本执行向下采样操作, 类别得分在全连接层之后计算, 正因如此, 池化层常常被放置在卷积层之后。全连接层的作用是把所有局部特征进行汇总变成全局特征, 用来计算最后每一类的得分。
选用CNN作为陨石坑识别网络有着多方面的优势。CNN具有极强的通用性, 可以近似于任何线性或非线性转换, 能够有效地提取各类陨石坑特征; CNN不需要通过手工制作的过滤器来进行目标物特征的提取, 取而代之的是机器自动学习算法; 同时, 得益于GPU的并行计算能力, CNN能够高速处理输入数据。
2.1.2 随机梯度下降法 在选择了用于陨石坑识别的神经网络模型后, 就可以通过一些优化策略来进行网络训练参数学习。通常用于训练CNN模型参数的算法是随机梯度下降(Stochastic Gradient Descent, SGD)法, 其使用反向传播来计算梯度进行权重的更新, 通过不断减小损失函数输出值来进行参数的自动学习。反向传播是多层网络中最常用的算法, 该算法的核心是应用链式法则计算网络中各权值对损失函数的影响[28], 从而寻找网络的全局最优解。
SGD法的目标是使损失函数最小化, 从而在CNN模型中找到对目标问题具有良好泛化能力的最优参数[29]。为了量化SGD法的作用, 定义损失函数的形式为
![]() | (1) |
式中:w为网络中权重的集合; b为偏置的集合; n为每个批次中样本的个数; a为输入为x时的输出; y(x)为对应的期望输出或为每个类别样本预先贴上的分类标签值; 求和是在总的训练输入x上进行的。SGD法的基本思想是:通过随机选取小批量训练输入样本, 不断计算使损失函数C(w, b)输出值减小的梯度, 同时更新网络参数, 从而寻找损失函数全局最小值时的最优解。网络权重和偏置的具体更新方式为
![]() | (2) |
![]() | (3) |
式中:m为随机小批量数据样本大小; η为学习率, 是一个很小的正数。
2.2 陨石坑识别网络框架 在训练陨石坑识别网络的过程中, 先将包含各类陨石坑的样本数据集以3×227×227尺寸输入到网络, 并以CaffeNet的卷积层和全连接层作为各类陨石坑特征的提取器, 将提取到的各类特征信息输入到相当于分类器的Softmax层, 并结合预先设置的标签进行陨石坑分类, 对全部输入的样本数据集进行3 000次训练, 生成多类陨石坑识别网络模型, 进而利用该模型结合目标检测算法实现多类陨石坑的识别。具体方法流程如图 5所示。
![]() |
图 5 陨石坑识别流程 Fig. 5 Flowchart of crater identification |
图选项 |
2.3 陨石坑检测算法 在实际中, 各类陨石坑分布在地形图的任意位置, 同一幅图片中可能会存在多种陨石坑, 但采用的识别网络输入尺寸是固定的, 训练网络时用的只是每类陨石坑的3×227×227样本块, 因此需要一种有效的检测算法, 在可能存在陨石坑的图片中判断是否有待检测的目标, 并对其进行分类和标注。本文在目标检测研究中常用的NMS算法基础上, 结合陨石坑检测时的实际情况, 对NMS算法进行了优化, 提出了一种准确率更高的陨石坑检测算法, 经过参数优化和实验验证构建了基于深度学习的多尺度多类别的陨石坑自动识别网络框架。
2.3.1 基于NMS的目标检测算法 通常, 基于深度学习的目标检测算法包括3个步骤:①通过目标样本集训练好最优的识别和分类网络模型; ②在待检测的图中以网络输入要求的尺寸, 通过遍历的方式选取待识别对象输入到训练好的网络模型进行分类, 并返回位置信息和类别信息; ③通过NMS算法选出有效检测结果, 并在原图中标注。
NMS算法的基本思想为抑制非极大值的元素, 是广泛应用于目标检测中寻求局部最大值的算法, 主要目的是消除冗余(交叉重复)的窗口, 找到最佳目标检测位置。传统的NMS算法流程如下:
步骤1??对根据识别网络输出得到的目标检测候选框所对应的置信度得分进行排序。
步骤2??选择置信度最高的检测框添加到最终输出列表中, 并将其从候选框列表中删除。
步骤3??计算置信度最高的检测框与其他候选框的IoU (Intersection over Union), IoU指2个候选框的交集部分与并集部分的面积比值。
步骤4??将IoU小于阈值(一般取0.3~0.5)的候选框按置信度得分重新排序, 重复步骤2、步骤3。
步骤5??重复上述过程, 直至候选框列表为空, 最终输出框中存有的即为所求的目标检测框。
当将上述传统的目标检测算法运用于本文的陨石坑检测时, 主要存在3点不足:①待检测的多类陨石坑以相同比例尺呈现在一幅图中, 因此其大小有较大差别的, 传统以网络输入尺寸对待测图片进行遍历的单个检测框, 并不能将所有不同类别的陨石坑在一次遍历搜索中检测出来; ②识别网络模型对目标并不总能做到百分百的正确识别, 因此目标候选框中会存在个别与置信度最高的框没有相交面积, 或者相交面积太小的误检测框, 此时运用NMS算法会将这些误检测框作为正确信息输出; ③当对图片中目标进行分类和标注时只需一个最准确的检测框就行, 但当用到NMS算法时最终往往会输出多个满足条件的检测框, 通常解决此问题的方法是不断改变IoU的阈值直到最终只输出一个检测框, 这种做法随机性太大, 手动干预太多, 效率太低。
2.3.2 检测算法优化 针对基于深度学习的传统检测算法的不足, 本文提出了多尺度的陨石坑自动识别网络框架。首先, 对识别网络模型读取待测图片的方式进行了改善, 设置了一个缩放因子(本文取0.9)。当检测框每次对待测图片遍历后, 将当前图尺寸按缩放因子缩放, 进行下一次的遍历, 直到待测图片接近检测框尺寸, 并在每轮遍历结束时将得到的目标候选框在原始图中对应的位置信息及置信度存储。对NMS算法, 本文结合实际情况也进行了相应优化, 增加了IoU阈值下限, 并将阈值固定为
![]() | (4) |
这样就可以淘汰与置信度最高的框没有相交面积或者相交面积太小的误检测框, 并且提高算法的自动检测效率。
同时, 在NMS算法输出最终检测框的部分也进行了相应优化, 增加了最大差值法, 即在最终输出的各检测框的顶点间实行x轴和y轴2个方向上的差值运算, 取差值最大的4个点作为最终输出的唯一检测框的顶点, 从而在保证检测准确度的同时, 避免了传统NMS算法带来的最终检测结果中多个检测框框出同一目标的冗余问题。图 6为本文优化后的多尺度多分类陨石坑检测算法的流程。其中, 待检测的原图像尺寸在实际检测中均大于3×227×227, craterNMS为优化后的NMS算法。
![]() |
图 6 多尺度陨石坑检测流程 Fig. 6 Flowchart of multi-scale crater detection |
图选项 |
3 实验结果及分析 为了验证本文提出的基于深度学习的大型陨石坑识别方法的可行性, 主要从以下3方面进行相关实验:①在不同网络训练参数优化方法下, 陨石坑识别网络模型的训练效果; ②不同数据来源的训练集对识别网络的泛化能力的影响; ③基于craterNMS的多尺度多分类的陨石坑检测算法与传统方法的检测结果比较。
在实验过程中, 将3个陨石坑样本数据集Ncrater、Ccrater和NCcrater, 依次按7:3的数量比例构建训练集和测试集, 得到3组单独的网络训练集。分别对本文的陨石坑识别网络进行训练, 且训练集和测试集仅用于网络模型的训练过程中, 不参与训练完毕后网络模型泛化能力等性能的验证。
3.1 网络参数优化方法 训练一个有效的深度学习网络, 调参是永恒不变的话题。如何让各个网络参数随着训练数据的输入自动学习, 从而使网络训练朝着所需要的方向收敛是当前人工智能领域研究的热点。因此, 越来越多的网络训练参数优化策略被提出, 近年来经常被应用于网络训练时参数学习的优化方法主要有SGD法、AdaDelta优化法[30]、Adam优化法[31]、RMSprop优化法[32]等, 这些方法均为基于梯度的网络参数优化方法。
SGD法是目前使用最多的一种优化方法; AdaDelta是一种“鲁棒的学习率方法”, 通过把历史梯度累积窗口限制为固定的大小来调节参数; Adam是一种自适应学习率的方法, 与AdaDelta不同的是, 其使用了动量进行学习率衰减; RMSprop与AdaDelta类似, 但在调参时添加了衰变因子防止历史梯度求和过大。
本文分别利用上述4种优化方法在构建的3种样本数据集上进行了陨石坑识别网络模型的训练。采用样本数据集Ncrater和Ccrater时的初始学习率为η=0.000 5, 样本数据集为NCcrater时η=0.001。表 2为本文实验的计算机测试环境。表 3~表 5统计了4种优化方法在3种样本数据集上训练网络时最终的准确率、最低损失代价值及训练时间。可知, 4种优化方法在3种样本数据集上训练网络都取得了很不错的效果, 最后的训练结果都相差较小, 但依旧不难发现无论利用哪个样本数据集, SGD法取得的精度都是最高, 最低损失代价值都最小, 训练时间都最少。由此可见, 训练陨石坑识别网络模型时, SGD法的参数优化效果最好, 鲁棒性最强, 因此在其他关于陨石坑识别方法研究的实验中, 均采用SGD法作为网络参数优化策略。
表 2 计算机配置参数 Table 2 Computer configuration parameters
计算机配置 | 具体参数 |
中央处理器(CPU) | Intel(R) Xeon(R) W-2125 CPU @ 4.00 GHz |
图形处理器(GPU) | NVIDIA GeForce GTX 1070 |
操作系统 | 64位Windows10操作系统 |
运行内存 | 16 GB |
表选项
表 3 样本数据集Ncrater训练结果 Table 3 Training results of sample data set Ncrater
优化方法 | 训练时间/s | 准确率 | 最低损失代价 |
SGD | 1 401 | 0.998 6 | 0.007 7 |
AdaDelta | 1 423 | 0.998 1 | 0.007 8 |
Adam | 1 414 | 0.997 8 | 0.008 8 |
RMSprop | 1 418 | 0.997 9 | 0.009 1 |
表选项
表 4 样本数据集Ccrater训练结果 Table 4 Training results of sample data set Ccrater
优化方法 | 训练时间/s | 准确率 | 最低损失代价 |
SGD | 1 523 | 0.997 6 | 0.009 5 |
AdaDelta | 1 533 | 0.997 1 | 0.011 2 |
Adam | 1 550 | 0.996 3 | 0.015 2 |
RMSprop | 1 551 | 0.997 2 | 0.012 5 |
表选项
表 5 样本数据集NCcrater训练结果 Table 5 Training results of sample data set NCcrater
优化方法 | 训练时间/s | 准确率 | 最低损失代价 |
SGD | 2 124 | 0.998 6 | 0.005 4 |
AdaDelta | 2 199 | 0.995 9 | 0.012 7 |
Adam | 2 139 | 0.994 6 | 0.017 9 |
RMSprop | 2 163 | 0.993 9 | 0.016 7 |
表选项
3.2 不同数据源样本数据集网络泛化效果 从3.1节的实验结果可以看出, 陨石坑识别网络模型的训练准确率已经达到了很高的水平, 但这并不能充分说明深度学习方法在实际陨石坑检测中也能有很好的效果。这是由于时间和数据资源的限制, 能够用于本文研究的陨石坑样本数据集数量并不是很庞大, 因此在训练时可能会出现过拟合的现象; 同时, 在衡量一个网络模型的优劣时, 训练过程中准确率及最低损失代价值只是一部分的参考指标, 主要用于监测网络的训练情况, 而网络模型的泛化能力才是最为关注的关键性指标。泛化能力越强的网络模型, 在未被用于训练的验证样本数据集(以下简称验证集)上的识别准确率就越高, 在执行实际的识别任务时的效果相应就会越好。因此, 选用网络在验证集上的识别准确率作为陨石坑识别网络模型的评估指标, 定义Pi为特定陨石坑的识别准确率, Ni为该类陨石坑正确识别数, Si为验证集中该类陨石坑总数, Pn为网络模型识别准确率, I为验证集中样本类别总数, 评价公式为
![]() | (5) |
![]() | (6) |
为了研究通过训练集和测试集训练完毕生成的网络模型的泛化能力等性能, 从2个不同数据源重新采样, 构造了2个未参与陨石坑识别网络训练过程的验证集VNcrater (Validation NASA crater)和VCcrater (Validation Camera crater)。验证集中各类样本的数量如表 6所示。
表 6 验证集中各类样本数 Table 6 Number of different types of samples in verification set
样本类别 | VNcrater | VCcrater |
危海 | 40 | 50 |
澄海 | 40 | 50 |
第谷 | 40 | 50 |
负样本 | 80 | 100 |
总数 | 200 | 250 |
表选项
如表 7和表 8所示, 分别利用构造的3个训练集训练网络模型, 然后在2个验证集上统计每个网络模型对各类样本的识别准确率。表中:Nnet、Cnet和NCnet分别代表利用训练集Ncrater、Ccrater和NCcrater训练得到的陨石坑识别网络模型, 总准确率即为网络模型识别准确率Pn。
表 7 验证集VNcrater上的识别准确率 Table 7 Identification accuracy on verification set VNcrater
样本类别 | Nnet | Cnet | NCnet |
危海 | 1.000 | 0.625 | 0.975 |
澄海 | 0.975 | 0.825 | 1.000 |
第谷 | 1.000 | 1.000 | 1.000 |
负样本 | 0.963 | 1.000 | 0.987 |
总准确率 | 0.985 | 0.863 | 0.991 |
表选项
表 8 验证集VCcrater上的识别准确率 Table 8 Identification accuracy on verification set VCcrater
样本类别 | Nnet | Cnet | NCnet |
危海 | 0.580 | 0.720 | 0.820 |
澄海 | 0.680 | 0.980 | 0.980 |
第谷 | 0.640 | 0.980 | 1.000 |
负样本 | 0.810 | 1.000 | 0.980 |
总准确率 | 0.678 | 0.920 | 0.945 |
表选项
从实验结果可知, Nnet、Cnet在与其训练样本来自同一个数据源的验证集上测试时, 分别达到了0.985和0.920高识别准确率; 由于NCnet的训练集来自2个数据源, 因此在验证集VNcrater和VCcrater上都展现了不错的识别效果, 分别取得了0.991和0.945的识别准确率; 同时, 用Nnet、Cnet在与其训练样本数据来源完全不同的验证集上检验时, 虽然识别准确率有所下降, 但还是取得了不错的效果, 特别是Cnet能在异源验证集VNcrater上准确地识别出第谷和负样本, 并取得了0.863的总准确率。在实验结果中可以注意到一点, 对危海的识别准确率并没有其他类陨石坑的高, 这是由于危海位于月球边缘地带, 在月相发生变化时, 其形态特征在地球观测者视角里将随之发生一些变化, 因此对识别精度产生了一定的影响。
同时, 表 7和表 8中实验结果都反映了本文提出的陨石坑识别网络模型具有较强的泛化能力, 不管在同源还是异源的验证集上实验都能达到较高的识别准确率。因此, 在实际应用中构造网络对其他陨石坑进行识别时, 可以利用由本文建立的陨石坑样本数据库训练得到的网络模型, 结合迁移学习方法进行参数初始化, 从而有效避免因待测陨石坑样本少而出现过拟合的现象, 提高识别精度。
3.3 多尺度多分类陨石坑检测算法 本文优化了传统基于NMS算法的目标检测算法, 并结合陨石坑识别的实际情况, 提出了基于craterNMS的多尺度多分类陨石坑检测算法。为了验证该算法的有效性, 本节分别用Ccrater和Ncrater这2个样本数据集训练网络模型, 并用各自数据源中未用来采集样本的图片对上述2种算法进行对比实验。其中, 选自NASA官网的仿真月相测试图有12张, 选自专业相机拍摄的真实月相测试图有18张, 2类测试图均包含了从新月到月盈、再到月亏等多种形态的月相图。在训练网络模型时, 选取的参数学习策略为SGD法, 初始学习率均为η=0.000 5, Softmax输出各类陨石坑置信度得分的阈值均为0.5, 检测框滑动步长为45像素。实验结果如图 7和图 8所示, 每一行图片依次为未采用NMS算法、采用传统NMS算法(IoU阈值为0.4)和craterNMS算法得到的陨石坑检测结果, 红色框为危海检测框, 绿色框为澄海检测框, 蓝色框为第谷检测框, 同时在craterNMS算法检测图中显示了黄色虚线框表示的真实框标注, 用作实验结果对比。由于受光线、天气等因素影响, 专业相机拍摄的月相图比仿真月相图图像特征更具多样化, 相应地更能验证本文陨石坑检测算法的鲁棒性, 且篇幅有限, 因此图 7仅展示了2幅NASA官网仿真月相图的陨石坑检测结果, 图 8展示了5幅专业相机拍摄的月相图陨石坑检测结果。
![]() |
图 7 样本数据集Ncrater的实验结果 Fig. 7 Experimental results of sample data set Ncrater |
图选项 |
![]() |
图 8 样本数据集Ccrater的实验结果 Fig. 8 Experimental results of sample data set Ccrater |
图选项 |
由于Softmax进行陨石坑分类时置信度阈值选取的较低, 在未采用NMS算法时会有许多误检测框出现, 采用NMS算法后效果有所改善, 但仍然有一些误检测框存在。当然, 在前2种算法中可以通过反复调节识别网络模型中Softmax分类置信度和NMS算法中IoU这2个阈值的大小来剔除误检测框, 但需要手动不断干预检测过程, 效率太低, 并且当替换一副不同的陨石坑待测图进行检测时, 又要重新调试阈值, 泛化性能很差。
相比前2种检测算法的不足, 第3种采用craterNMS的多尺度陨石坑检测算法得到的结果效果显著, 能在分类置信度和IoU这2个阈值都固定的情况下成功得到各类陨石坑唯一的精准检测框, 充分说明本文陨石坑检测算法的确能在很大程度上改善陨石坑识别效果, 并且具有通用性, 在不同的样本数据集上都能实现自动精准检测陨石坑的目的。同时, 图 7和图 8的检测结果也很好地验证了本文提出的陨石坑识别方法的有效性。例如, 图 8第1行月相图片中澄海较大部分面积已进入阴影, 但仍能被本文方法准确地检测到。
![]() | (7) |
![]() | (8) |
为了对上述3种陨石坑检测算法的检测结果进行定量的数据分析, 引入了平均检测准确率P和平均检测框冗余数R两个评价指标, N为2种数据源待测试的月相图总数, Kj为当前测试图中正确检测框数, Ks为该测试图中检测框总数, Kr为该测试图中冗余正确检测框数, 评价公式为式(7)和式(8)。
表 9为各类陨石坑置信度得分阈值均为0.5时, 总数共30张的2种数据源待测月相图最后检测结果的P、R值统计。可知, 相对于前2种算法, 本文提出的craterNMS的多尺度陨石坑检测算法不仅能消除冗余检测框, 而且能在分类置信度阈值较低的情况下准确地检测出各类目标陨石坑。
表 9 三种检测算法数据分析 Table 9 Data analysis of three detection algorithms
检测算法 | P | R |
未采用NMS算法 | 0.825 | 18 |
传统NMS算法 | 0.886 | 6 |
craterNMS算法 | 1 | 0 |
表选项
4 结论 本文以星体宏观视角下的大型陨石坑作为研究对象, 结合图像处理和神经网络等方面的知识, 提出了一种基于深度学习的多尺度陨石坑自动识别网络框架和陨石坑检测算法, 经实验验证主要得出以下结论:
1) 从2个不同数据源采集样本进行实验, 陨石坑识别网络在与训练集同源的验证集上的识别率可以分别达到0.985和0.920, 在异源的验证集上的识别率最高可达到0.863, 说明本文的陨石坑识别方法具有良好的泛化能力, 同时证明了训练集的数量及来源对识别网络模型的泛化能力和识别精度都能产生较大的影响。在条件允许的范围内, 样本数据集数量越大、数据来源越丰富, 将越有利于网络泛化能力和识别准确率的提高。
2) 训练网络模型时, 网络参数优化方法的选取也十分关键, 需要根据实验的具体情况选择适合当前研究的优化策略。通过多种优化方法的实验结果对比, 发现SGD法在基于深度学习的陨石坑识别方法研究中具有良好的参数优化效果。
3) 通过改进传统陨石坑二分类方法, 以及优化基于NMS的目标检测算法, 实现了多种陨石坑的有效分类, 并且不同于传统方法需反复调试阈值, 能在分类置信度和IoU这2个阈值都固定的情况下, 成功得到各类陨石坑唯一的精准检测框, 节约了时间成本, 提高了陨石坑自动检测的准确率。
4) 通过实验论证了基于深度学习的大型陨石坑识别方法的可行性。
随着科技的发展, 将人工智能引入星际探测等领域的研究将具有更为广阔的应用实践和发展前景。
参考文献
[1] | GROUP C A T W, ARVIDSON R E, BOYCE J, et al. Standard techniques for presentation and analysis of crater size-frequency data[J]. Icarus, 1979, 37(2): 467-474. DOI:10.1016/0019-1035(79)90009-5 |
[2] | PALAFOX L F, HAMILTON C W, SCHEIDT S P, et al. Automated detection of geological landforms on Mars using convolutional neural networks[J]. Computers & Geosciences, 2017, 101: 48-56. |
[3] | CHENG Y, JOHNSON A E, MATTHIES L H, et al.Optical landmark detection for spacecraft navigation[C]//Proceedings of the 13th Annual AAS/AIAA Space Flight Mechanics Meeting, 2003: 1785-1803. |
[4] | SAWABE Y, MATSUNAGA T, ROKUGAWA S. Automated detection and classification of lunar craters using multiple approaches[J]. Advances in Space Research, 2006, 37(1): 21-27. DOI:10.1016/j.asr.2005.08.022 |
[5] | KIM J R, MULLER J, VAN GASSELT S, et al. Automated crater detection, a new tool for Mars cartography and chronology[J]. Photogrammetric Engineering & Remote Sensing, 2005, 71(10): 1205-1217. |
[6] | 冯军华, 崔祜涛, 崔平远, 等. 行星表面陨石坑检测与匹配方法[J]. 航空学报, 2010, 31(9): 1858-1863. FENG J H, CUI H T, CUI P Y, et al. Autonomous crater detection and matching on planetary surface[J]. Acta Aeronautica et Astronautica Sinica, 2010, 31(9): 1858-1863. (in Chinese) |
[7] | DING M, CAO Y F, WU Q X. Method of passive image based crater autonomous detection[J]. Chinese Journal of Aeronautics, 2009, 22(3): 301-306. DOI:10.1016/S1000-9361(08)60103-X |
[8] | CRACKNELL M J, READING A M. Geological mapping using remote sensing data: A comparison of five machine learning algorithms, their response to variations in the spatial distribution of training data and the use of explicit spatial information[J]. Computers & Geosciences, 2014, 63: 22-33. |
[9] | CHRISTOFF N, MANOLOVA A, JORDA L, et al.Morphological crater classification via convolutional neural network with application on MOLA data[C]//Advances in Neural Networks and Applications 2018, 2018: 1-5. |
[10] | BARATA T, ALVES E I, SARAIVA J, et al.Automatic recognition of impact craters on the surface of Mars[C]//International Conference Image Analysis and Recognition.Berlin: Springer, 2004: 489-496. |
[11] | BOUKERCHA A, AL-TAMEEMI A, GRUMPE A, et al.Automatic crater recognition using machine learning with different features and their combination[C]//Lunar and Planetary Science Conference, 2014, 45: 2842. |
[12] | SILBURT A, ALI-DIB M, ZHU C, et al. Lunar crater identification via deep learning[J]. Icarus, 2019, 317: 27-38. DOI:10.1016/j.icarus.2018.06.022 |
[13] | WRIGHT E.SVS: Moon phase and libration, 2018[EB/OL].(2019-01-28)[2019-06-12].https://svs.gsfc.nasa.gov/4604. |
[14] | HEAD J W, ADAMS J B, MCCORD T B, et al.Regional stratigraphy and geologic history of Mare Crisium[C]//Mare Crisium: The View From Luna 24, 1978: 43-74. |
[15] | WATTERS T R, KONOPLIV A S. The topography and gravity of Mare Serenitatis:Implications for subsidence of the mare surface[J]. Planetary and Space Science, 2001, 49(7): 743-748. DOI:10.1016/S0032-0633(01)00007-1 |
[16] | SOLOMON S C, HEAD J W. Vertical movement in mare basins:Relation to mare emplacement, basin tectonics, and lunar thermal history[J]. Journal of Geophysical Research: Solid Earth, 1979, 84(B4): 1667-1682. DOI:10.1029/JB084iB04p01667 |
[17] | SCHULTZ P H, STAID M I, PIETERS C M. Lunar activity from recent gas release[J]. Nature, 2006, 444(7116): 184-186. DOI:10.1038/nature05303 |
[18] | KRVGER T, VAN DER BOGERT C H, HIESINGER H. Geomorphologic mapping of the lunar crater Tycho and its impact melt deposits[J]. Icarus, 2016, 273: 164-181. DOI:10.1016/j.icarus.2016.02.018 |
[19] | ZHANG K, ZUO W, CHEN Y, et al. Beyond a Gaussian denoiser:Residual learning of deep CNN for image denoising[J]. IEEE Transactions on Image Processing, 2017, 26(7): 3142-3155. DOI:10.1109/TIP.2017.2662206 |
[20] | DONG C, LOY C C, HE K, et al. Image super-resolution using deep convolutional networks[J]. IEEE transactions on Pattern Analysis and Machine Intelligence, 2015, 38(2): 295-307. |
[21] | LONG J, SHELHAMER E, DARRELL T.Fully convolutional networks for semantic segmentation[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.Piscataway: IEEE Press, 2015: 3431-3440. |
[22] | MALTEZOS E, DOULAMIS N, DOULAMIS A, et al. Deep convolutional neural networks for building extraction from orthoimages and dense image matching point clouds[J]. Journal of Applied Remote Sensing, 2017, 11(4): 42620. |
[23] | ZHANG N, DONAHUE J, GIRSHICK R, et al.Part-based R-CNNs for fine-grained category detection[C]//European Conference on Computer Vision.Berlin: Springer, 2014: 834-849. |
[24] | 黄洁, 姜志国, 张浩鹏, 等. 基于卷积神经网络的遥感图像舰船目标检测[J]. 北京航空航天大学学报, 2017, 43(9): 1841-1848. HUAGN J, JIANG Z G, ZHANG H P, et al. Ship object detection in remote sensing images using convolutional neural networks[J]. Journal of Beijing University of Aeronautics and Astronautics, 2017, 43(9): 1841-1848. (in Chinese) |
[25] | JIAO L, LIANG M, CHEN H, et al. Deep fully convolutional network-based spatial distribution prediction for hyperspectral image classification[J]. IEEE Transactions on Geoscience and Remote Sensing, 2017, 55(10): 5585-5599. DOI:10.1109/TGRS.2017.2710079 |
[26] | 韩京冶, 许福, 陈志泊, 等. 一种基于深度学习的交互式电话号码识别方法[J]. 北京航空航天大学学报, 2018, 44(5): 1074-1080. HAN J Y, XU F, CHEN Z B, et al. A deep learning based interactive recognition method for telephone numbers[J]. Journal of Beijing University of Aeronautics and Astronautics, 2018, 44(5): 1074-1080. (in Chinese) |
[27] | KRIZHEVSKY A, SUTSKEVER I, HINTON G E.Imagenet classification with deep convolutional neural networks[C]//Advances in Neural Information Processing Systems, 2012: 1097-1105. |
[28] | RIEDMILLER M, BRAUN H.A direct adaptive method for faster backpropagation learning: The RPROP algorithm[C]//Proceedings of the IEEE International Conference on Neural Networks.Piscataway: IEEE Press, 1993: 586-591. |
[29] | ZEILER M D, FERGUS R.Visualizing and understanding convolutional networks[C]//European Conference on Computer Vision.Berlin: Springer, 2014: 818-833. |
[30] | ZEILER M D.ADADELTA: An adaptive learning rate method[EB/OL].(2012-12-22)[2019-06-20].https://arxiv.org/abs/1212.5701. |
[31] | KINGMA D P, BA J.Adam: A method for stochastic optimization[EB/OL].(2014-12-22)[2019-06-20].https://arxiv.org/abs/1412.6980. |
[32] | TIELEMAN T, HINTON G. RMSPROP:Divide the gradient by a running average of its recent magnitude[J]. Neural Networks for Machine Learning, 2012, 4: 26-30. |