APP下载

月表陨坑检测轻量化深度学习方法

2022-07-12周永军王俊伟兀泽朝

宇航学报 2022年6期
关键词:剪枝卷积轻量化

高 艾,周永军,王俊伟,兀泽朝

(1. 北京理工大学宇航学院,北京 100081;2. 深空自主导航与控制工业和信息化部重点实验室,北京 100081;3. 飞行器动力学与控制教育部重点实验室,北京 100081)

0 引 言

月球是地球唯一的天然卫星,也是距离地球最近的天体,是人类进行空间探测和开发利用太空的首选目标。美国、俄罗斯、欧空局和中国都将地月空间的开发列为未来航天发展的着力点,规划了多个月球探测任务,未来载人登月、月球基地建设以及月球原位资源开发等月球探测活动将成为人类航天的热点。

着陆探测是开展月球表面原位探测与科学研究的必要前提,并且着陆探测任务需要兼顾工程安全性与科学价值,其中,月表陨坑检测是提高着陆安全性和评估着陆区科学价值的关键技术。一方面,月表陨坑会对月球着陆探测器的安全性带来威胁,基于月表陨坑检测的障碍规避是保障月球着陆器着陆安全的关键途径。另一方面,月表陨坑还蕴含着科学研究价值信息,月表陨坑检测对于探测器着陆区的选取具有重要参考意义。除此之外,陨石坑在月球表面分布范围广,特征明显,是重要的导航信标。基于月表陨坑检测和匹配的地形相对导航是提高导航精度的重要途径,能够提高未来载人月球着陆探测器的定点着陆能力。因此,实现月表陨坑的快速准确检测对于提高月球探测器着陆精度和着陆安全性以及评估着陆区科学研究价值具有重要意义。

目前,陨坑检测算法主要可以分为两类,基于传统图像处理的方法和基于深度学习的方法。对于传统图像处理方法。Cheng等利用Canny边缘算子提取图像中陨坑的边缘,然后将属于同一个陨坑的边缘片段进行匹配,之后再进行椭圆拟合实现陨坑检测,该算法对小行星表面陨坑的检出率高达90%,误检率小于5%。但是边缘检测的结果中包含许多假边缘和难以解释的不规则曲线,田阳利用张量投票算法剔除了边缘检测结果中无意义的点和噪声点,提升了拟合的正确率。Bandeira等实现了基于模板匹配的陨坑检测方法,针对火星表面的灰度图像,该算法达到了86.57%的检出率和15.95%的误检率。由于陨坑被光照射后,通常会呈现成对的亮暗区域。根据这一特性,Urbach等将图像中高亮和阴暗的特征进行匹配,标记出可能为陨石坑的区域,最终,该算法对火星表面亚公里的陨坑检测精度达到70%,但是这种方法对太阳高度角具有较高要求。陈建清等提出了一种基于灰度方差的陨坑检测方法,避免了对太阳高度角的依赖性。传统图像处理方法通常根据边缘、阴影等陨坑特征完成检测,计算量较小。但是在一些复杂情况下,边缘模糊或者形状不规则的陨坑难以应用椭圆拟合或者模板匹配的方法,光照角度不合适使得阴影不明显等原因,导致了这类算法在复杂环境条件下的检测查全率偏低。

随着深度学习算法的发展,基于卷积神经网络的图像处理方法被应用于陨坑检测,这类算法能够实现特征自动提取,避免了复杂的人工特征设计流程。Wang等提出了CraterIDNet算法,利用了一个全卷积神经网络实现对火星遥感图像中的陨坑检测。Silburt等提出了DeepMoon算法,利用一个“U”型卷积神经网络,实现对数字高程图像中陨坑的像素级分割分类。但是DeepMoon只能处理数字高程数据,难以应用于月球探测的场景中。Downes等在DeepMoon算法的基础上提出了LunaNet算法,能够检测灰度图像中的陨坑,并且验证了陨坑在相对导航中的应用潜力。此外,LunaNet算法的检测能力相比于DeepMoon提升了一倍,并且对亮度变化、图像噪声等具有一定的鲁棒性。与传统陨坑检测方法相比,基于深度学习的陨坑检测方法在准确性和鲁棒性方面有了明显的提升,但陨坑检测速度却因为神经网络结构的复杂性受到限制。

针对上述问题,本文提出了一种轻量化的深度学习陨坑检测方法,通过模型剪枝和卷积替换的方式对复杂神经网络结构模型进行轻量化模型压缩,在保证检测准确性和鲁棒性的同时陨坑检测速度提升了90%以上。首先设计一个结构复杂、检测能力强的陨坑检测模型,然后使用深度学习中的模型剪枝方法和网络轻量化技术对该模型进行压缩,得到参数量和计算量都大幅度减少的轻量化模型。在训练过程中利用数据增强技术,提升陨坑检测模型对图像噪声、光照条件变化、拍摄角度变化等因素的鲁棒性。

1 陨坑数据集构建

陨坑检测数据集的构建是陨坑检测模型训练的基础和前提,陨坑图像样本的数量和质量会直接影响陨坑检测模型训练的效果,进而严重影响陨坑检测结果的准确性和鲁棒性。因此,需要获取足够数量规模的高质量陨坑图像样本来构建陨坑数据集,为陨坑模型的训练和检测过程奠定良好的基础。

本文使用的陨坑数据来源于月球勘测轨道器相机(Lunar reconnaissance orbiter camera, LROC),该相机包含一个广角相机和窄角相机,提供了分辨率为100米/像素的月球全球成像图。为了减少扭曲变形,随机裁剪了靠近赤道的100幅灰度图像,并使用labelme工具对每幅图像中的陨坑进行手动标记,得到陨坑图像逐像素的标注结果,作为陨坑图像样本。随机选取其中80幅图像作为训练集,20幅作为验证集。部分陨坑图像和标注结果如图1所示。

图1 陨坑图像和标注结果

由于手工标注图像样本耗时长,难以满足网络训练需求,本文采用了数据增强方法来扩充陨坑图像样本数据集。同时,考虑到本算法的使用场景,通过对陨坑图像进行了垂直翻转、水平翻转、转置、旋转处理,模拟着陆时不同的光照角度和拍摄角度;将陨坑图像的亮度增加和减少30%,模拟着陆时月球表面不同的光照强度;在陨坑图像中加入均值为10、方差为15的高斯噪声,模拟光学相机由于温度过高或者着陆环境亮度偏低产生的成像噪声。采取数据增强方法,最终得到800幅陨坑图像。数据增强不仅能够大幅增加数据集的规模,还能在保留陨坑特征的同时,增加训练样本的多样性,提高网络的泛化能力。

2 陨坑检测深度学习轻量化方法

2.1 陨坑检测卷积神经网络结构设计

Unet(Unet Networking)网络结构最早提出是为了解决医学图像分割问题,目前已经在医疗图像分割、遥感图像分割、自动驾驶图像分割等领域取得了广泛应用。Unet在训练样本数量较少的情况下依然能够实现高精度的图像分割。基于这一优势,本部分利用Unet设计陨坑检测卷积神经网络结构,该网络结构由编码网络和解码网络两个部分组成,整体结构呈对称的“U”型,网络结构如图2所示。

图2 Unet网络结构示意图

在编码网络中,输入尺寸为416×416的陨坑灰度图像,使用多次卷积和池化操作进行输入图像和特征图的特征提取和下采样,可以得到一系列不同尺寸和通道数的特征图。编码网络在训练过程中不断调整卷积核的参数,从而能够自动提取出图像中陨坑的浅层特征,包括陨坑边缘、轮廓、纹理等信息。

随着下采样的进行,使用卷积进行特征提取时,卷积核的感受野不断扩大,网络不仅能够检测出图像中面积较大的陨坑,还能获取陨坑在整个图像中的上下文信息,即陨坑和背景之间关系的特征。

在解码网络中,输入为编码网络中尺寸最小、通道数最多的特征图,经过多次卷积和最近邻插值进行特征提取和上采样,可以得到一系列尺寸和通道数与编码网络特征一致的特征图。编码网络中的特征图在每次进行最近邻插值操作后,都会与编码网络中尺寸和通道数均相同的特征图在通道维度上进行拼接,再使用卷积操作进行特征提取。

在解码网络上采样的过程中,由于使用了编码网络中的浅层特征,有效缓解了神经网络训练过程中的梯度消失问题。同时,编码网络中的浅层特征能够提供较为准确的陨坑位置和边缘等信息,进一步提升了对陨坑图像分割的精度。解码网络的特征图随着上采样的进行,特征图的尺寸将逐渐恢复至输入陨坑图像的尺寸。

网络最后的输出层是一个卷积核尺寸为1×1的卷积层,通过对解码网络输出的特征图进行降维,可以得到尺寸与输入图像一致、通道数为1的特征图。对输出特征图进行降维后,使用sigmoid激活函数将网络的输出转换为取值在0和1之间的概率值,表征陨坑灰度图像中各像素点属于陨坑的预测概率。

Unet是一个全卷积神经网络,卷积的参数占了整个网络参数的绝大部分。Unet结构中的卷积操作如图3所示,其中输入图像或特征图的形状为××,使用个形状为××的卷积核进行卷积后,输出形状为××的特征图。、、分别是输入输出图像或特征图的宽高、卷积核的宽高、输入图像或特征图的通道数、输出特征图的通道数。因此,Unet中的一个卷积层包含×××个参数,根据此结果可以统计网络模型中的参数量。

图3 卷积示意图

通过定义合适的损失函数,可以计算陨坑检测网络的预测结果和标注结果之间的误差。根据误差使用反向传播算法调整陨坑检测网络中的参数,从而使网络实现陨坑检测的功能。本文使用的损失函数融合了交叉熵损失和dice损失,其表达式为:

(1)

损失函数中的二值交叉熵损失部分,可以衡量陨坑网络模型预测概率分布和真实分布之间的差异。经过统计,本文使用的全部陨坑图像中,陨坑像素平均占比为10.1%,背景像素平均占比89.9%。因此,陨坑检测任务中存在着严重的类别不均衡问题,导致陨坑检测网络在训练过程中,更加倾向于学习背景的特征而忽略陨坑的特征。损失函数中的dice损失部分可以自动调整陨坑像素和背景像素对损失贡献的权重,从而缓解类别不均衡的问题。

利用数据增强后的训练集对Unet进行训练,训练完成后,利用验证集中的陨坑图像进行测试,Unet图像分割结果如图4所示,Unet图像测试数据结果如表1所示。

表1 Unet图像测试数据结果

图4 Unet图像分割结果

上述的图像和数据结果表明,基于Unet的陨坑检测算法能够实现对灰度图像中陨坑的精准分割,并且对图像中较小的陨坑也有较好的检测效果。此外,该算法具有较好的鲁棒性,在图像旋转时,准确率下降了约1.1%。在亮度发生变化或有噪声扰动的情况下,检测准确率下降不到0.1%。

2.2 网络结构轻量化处理

基于Unet的陨坑检测卷积神经网络结构能够实现对陨坑图像高精度的像素级分割,但是需要占用大量的存储空间和计算资源,推理速度也较慢,难以应用到实时性要求较高的探测任务中。因此,本文采用了两个步骤对Unet陨坑检测神经网络进行轻量化处理,在确保网络检测精度基本不变的前提下,降低网络的参数量、提升推理速度。第一步,使用通道剪枝方法,可以成倍减少网络参数量,加快网络推理速度;第二步,采用深度可分离卷积替换普通卷积,进一步提升网络检测效率。

..剪枝

剪枝(Pruning)是降低网络复杂度最常用的方法之一,在深度学习的模型压缩领域得到了广泛的研究。其主要的思想就是将模型中冗余的参数进行删减,在保证模型精度基本不变的前提下,大幅降低网络的参数量。

将单张陨坑图像输入到基于Unet的陨坑检测卷积神经网络中,并对每一层的特征图进行可视化。以第四个卷积层的输出为例,可视化结果表明卷积层的输出中存在大量相似的特征图,部分相似特征图的可视化结果如图5所示。可以看出,模型中的多个卷积核提取了相同的特征。因此,可以通过通道剪枝的方式删减Unet陨坑检测网络中功能冗余的卷积核,在尽可能不影响性能的前提下,实现模型的压缩和加速。

图5 相似特征图可视化结果

本文使用的通道剪枝流程如图6所示,定义一个剪枝参数,直接将陨坑检测网络中除输出层外所有卷积层的卷积核数量减少为原来的1。当=1时,剪枝网络就是原始Unet。然后,将剪枝得到的网络进行随机初始化,在训练数据上重新训练。最后,根据剪枝模型在测试集上的检测效果确定最佳的剪枝参数。在本文后续的陨坑检测模型轻量化设计分析中,最终确定采用的剪枝参数为4。

图6 剪枝流程示意图

..卷积替换

为了进一步减少网络的复杂度,本文对陨坑检测模型P4_Unet中的卷积进行替换,将除输入层和输出层之外的标准卷积替换为深度可分离卷积(Depthwise separable convolution)。深度可分离卷积将标准卷积在空间结构与通道方面进行解耦,分解为逐通道卷积和逐点卷积。

图8 逐点卷积示意图

深度可分离卷积的逐通道卷积和逐点卷积如图7、8所示。逐通道卷积使用个××1的卷积核在输入图像或特征图的个通道上进行卷积,得到××的特征图。逐点卷积是在逐通道卷积的基础上,使用个1×1×的卷积核在××的特征图上进行卷积,最终得到××的输出特征图。逐通道卷积和逐点卷积的参数量分别为××1×和1×1××。深度可分离卷积和标准卷积参数量的比值为:

图7 逐通道卷积示意图

(2)

在本文使用的陨坑检测网络结构中,卷积核的尺寸均为3×3,每个卷积层输出的特征图通道数通常较大,因此1可以忽略。深度可分离卷积的参数量约为标准卷积的1/9。最终,经过剪枝和卷积替换后得到的网络结构DS_P4_Unet如图9所示。

图9 DS_P4_Unet网络结构示意图

3 仿真结果分析

本文中模型训练的超参数如表2所示。表中batch size为网络更新一次权值所使用的图像数量。max epoch是指网络在整个训练集上迭代的最大次数。学习率采用动态更新的方式,当网络在训练集上迭代20次而在验证集上的准确率没有提升时,则将学习率乘以0.1。在训练集上迭代结束后,将在验证集上准确率最高的模型保存为最佳模型。

表2 训练超参数

在进行对比实验时,本文采用了语义分割中常用的评价指标准确率、查准率、查全率和分数对陨坑检测网络的分割结果进行评估。上述指标的计算公式为:

(3)

式中:为检测到的正确陨坑像素数目;为未检测到的陨坑像素数目;为检测到的非陨坑像素数目;为未检测到的非陨坑像素数目。

3.1 陨坑检测模型轻量化设计分析

为了验证本文轻量化方法的有效性,本文设计了两个仿真实验定量分析剪枝和卷积替换对网络模型性能的影响。首先采用不同的剪枝参数,对网络进行训练,并在测试集上完成评估,仿真测试结果如表3所示。

表中Pn_Unet指剪枝参数为时对应的剪枝模型。通过对比表3中剪枝网络和原始网络的精度可以看出,对复杂的网络进行适当的剪枝,可以在确保网络性能的前提下,提升陨坑检测的效率。当剪枝参数不大于8时,剪枝精度与原始网络精度相差不多,剪枝对网络的性能影响基本可以忽略,验证了原始模型中卷积核的冗余性。当剪枝参数过大时,网络精度会出现较大的下降。根据对比结果权衡模型的精度和复杂度,并考虑后续卷积替换操作带来的精度影响,最终选择模型的剪枝参数为4。

表3 不同剪枝模型的数据测试结果

将剪枝参数设置为4后,得到P4_Unet模型。将P4_Unet中除输入层和输出层外的标准卷积替换为深度可分离卷积后,在训练集上对网络进行重新训练。训练完成后在验证集上完成评估。卷积替换的实验结果如表4所示,表中DS_P4_Unet代表模型P4_Unet进行卷积替换得到的网络模型。

表4 模型轻量化实验对比结果

将标准卷积替换为深度可分离卷积后,陨坑检测模型的分割精度有了略微的下降,但是参数量减少了87.7%,单张图像的测试时间减少了43%,进一步增加了陨坑检测算法在实时性要求较高的探测任务中的应用潜力。

3.2 陨坑检测执行效能对比分析

P1_Unet(原始Unet)和DS_P4_Unet之间性能的对比结果如表4所示,两个模型在验证集图像上的预测结果如图10所示。在引入各种图像噪声作用的情况下,P1_Unet和DS_P4_Unet的预测结果如图11所示。

图11 P1_Unet和DS_P4_Unet在不同图像噪声作用下的图像预测结果

根据表4的结果,DS_P4_Unet与P1_Unet相比,准确率下降了约0.5%,查准率、查全率和F1 score下降约3%。但是参数量减少了99.2%,单张图像的测试时间较少了94.0%,陨坑检测模型的效率得到了显著的提升。通过图10、11的结果,可以看出DS_P4_Unet和P1_Unet的检测性能相差不多,对于部分形态较复杂的超大陨坑,DS_P4_Unet的边缘检测存在少量错误,对中、小型陨坑,两者的检测能力基本相当。此外,DS_P4_Unet也能适应亮度、噪声和拍摄角度等扰动的影响,具有良好的鲁棒性。通过上述结果可以看出,本文提出的DS_P4_Unet在检测效率上具有明显的优势,以略微的检测精度代价,显著提升了陨坑检测的速度。

图10 P1_Unet和DS_P4_Unet的图像预测结果

4 结 论

针对目前基于深度学习的陨坑检测算法复杂度高,推理时间长的问题,本文在Unet网络结构的基础上,结合通道剪枝和深度可分离卷积方法,设计了一种轻量化的陨坑检测模型DS_P4_Unet。相比于原始的Unet网络模型,DS_P4_Unet陨坑检测模型的参数量压缩了99.2%,检测时间减少了94.0%。经过仿真实验验证,在处理尺寸为416×416像素的陨坑图像时,DS_P4_Unet对像素分类的准确率能够保证在98%以上,在单张陨坑图像检测平均耗时仅为0.80 s,该方法在保证陨坑检测较高准确性的基础上大幅度提升了陨坑检测的速度。除此之外,该算法能够在复杂的背景下检测出形状不规则的陨坑,并且对亮度、噪声、拍摄条件的变化具有较好的适应性。综上所述,本文提出的轻量化陨坑检测深度学习方法能够以较低的准确性损失为代价大幅提升陨坑检测效率,并且具备较强的鲁棒性,在实时性要求高的探测任务中具有较高的应用潜力。

猜你喜欢

剪枝卷积轻量化
基于全卷积神经网络的猪背膘厚快速准确测定
轻量化材料在商用车白车身的应用
基于ABAQUS的某轻卡车蓄电池支架轻量化
某商用车前护板轻量化结构优化及分析
基于图像处理与卷积神经网络的零件识别
基于深度卷积网络与空洞卷积融合的人群计数
一种改进的MEP决策树剪枝算法
一种轻量化自卸半挂车结构设计
一种轻量化自卸半挂车结构设计
花匠(外一首)