基于迭代剪枝VGGNet的火星图像分类
火星是21世纪深空探测的主要目标。为了进一步探索火星,人类相继发射Spirit、Opportunity和好奇号着陆火星表面。这些火星车均携带了全景相机。Spirit在运行的6年时间里,分析了Gusev Crater底部的玄武岩、火山岩和火山碎屑岩[1]。Opportunity在运行期间穿越40余公里,探索了火山口中的沉积岩[2]和粗玄武岩[3]。寻找古代沉积岩,已成为火星车的重点工作。这是因为古代沉积岩是液态水存在的证据,也是寻找外星生命的线索[4]。研究岩石还将为地形的物理性质提供语义描述,有助于火星车避障[5]。火星环绕器需要作为中继通信卫星,为火星车建立稳定的中继通信链路,才能传回火星岩石图像供科学研究分析[6]。这就要求火星车对拍摄的火星图像具有较强的分类能力,传回重要的火星图像,以节约火星车的能量。因此,提高火星图像的分类能力具有重要的实用价值和必要性。
近年来,鉴于深度学习算法在图像分类任务上的优良性能以及有用特征的推断能力,使得它们在火星探测任务中具有广泛的应用前景。Anirudh提出了一种深度学习算法MRSCAtt,该算法联合使用空间和通道注意机制来弥补火星图像在色调、质量、照明和清晰度方面与地球图像之间的差异,从而进行精确的图像分类[7]。Li利用VGG-16和迁移学习进行火星图像分类,在MSL Analyst火星岩石图像库上取得了较好的分类效果[5]。Shang提出基于模糊粗糙特征选择与支持向量机结合的图像分类器,用于解决类别多、数量大等问题[8]。Wagstaff为帮助科学家找到感兴趣图像,开发了基于内容搜索的图像分类器[9]。Lu在美国国家航空航天局的行星数据系统图像制图节点中部署了多种经典分类器[10]。柳思聪研制了“天问一号”着陆区域的高分辨率三维地形图,并通过深度卷积神经网络对着陆区地形地貌进行了分类[11]。
虽然这些深度学习图像分类算法应用于真实火星图像时可以取得较好效果[12],但是无法部署到火星车上。这是由于受到两个限制:卷积神经网络的复杂结构和内存容量。火星车的硬件资源宝贵,图像分类任务不能占用所有计算资源。
为了解决这个问题,本文利用迭代裁剪方式,对VGGNet[13]进行模型压缩。在保持VGGNet高分类准确率的基础上,减小VGGNet占用的内存资源和计算资源。需要注意的是,需根据剪枝后的权重参数重新训练VGGNet。对于裁剪较敏感的层,使用小的裁剪力度或者不裁剪。采用迭代裁剪方式对模型进行压缩有助于减少图像分类器的内存占用量。该方法具体如下;首先,采用迁移学习训练网络的连通性,以便评估神经元的重要性;其次,通过迭代剪枝方法修剪不重要的神经元,以便将全连接层的参数量和内存占用量减少;最后,采用K-means++聚类实现权重参数的量化,利用霍夫曼编码压缩迭代剪枝与量化后的VGGNet权重参数,达到减少存储量和浮点数运算量的作用。此外,本文通过5种数据增强方法进行数据扩充,目的是解决类别不平衡的问题。为了验证压缩后的模型有效性,将其与轻量级ShuffleNet[14]、MobileNet[15]和EfficientNet[16]模型进行了比较。实验结果表明,所提模型具有更好的性能。
2 数据集及数据处理
2.1 数据集
Mars32K数据集为好奇号火星车MAHLI相机在2012年8月至2018年11月期间采集的图像。该数据集给出了火星的地理和地质特征,如山脉、山谷、陨石坑、沙丘和岩石地形。本文对Mars32K火星表面数据集进行类别划分,表1给出了岩石类别和对应标签,图1给出了7种火星图像示例。玄武岩高度氧化,呈弱碱性,通常二氧化硅不饱和[17-18]。层状沉积岩是一种岩石露头,显示出层状特征[19],其分层称为“交叉层理”,表明砂岩是由风沉积而成的迁移沙丘[20]。细粒岩是火星地表暴露最多的砾石,其质地呈斑状或隐晶质,有时呈水泡状[21]。砾岩在不同深度的分离结晶含水量不同,产生了粗面岩、粗面玄武岩、夏威夷岩以及堆积的辉石岩、沙丘岩。粗玄武岩的来源尚未明确,可能是从陨石坑壁脱落或火山喷射物[22]。机车和沙顾名思义,不再赘述。
表1 图像类别及其标签
Tab.1 Image categories and their labels
类别描述 标签
玄武岩 G1
砾岩 G2
机车 G3
细粒岩 G4
层状沉积岩 G5
沙 G6
粗玄武岩 G7
下载: 导出CSV