基于改进Faster R-CNN的失效卫星部件检测方法*

2022-06-11 01:45程向红李丹若刘宗明牟金震
飞控与探测 2022年2期
关键词:特征提取部件分辨率

曹 毅,程向红,李丹若,刘宗明,牟金震

(1.东南大学 仪器科学与工程学院·南京·210096;2. 微惯性仪表与先进导航技术教育部重点实验室·南京·210096;3.上海航天控制技术研究所·上海·201109;4.上海市空间智能控制技术重点实验室·上海·201109)

0 引 言

失效卫星由于故障或寿命终结而被丢弃在太空中,表现为非合作旋转,随时存在解体可能,威胁着太空安全且浪费轨道资源,需要对其进行捕获与回收。在进行捕获或回收等近距离作业时,准确识别失效卫星的对接环、天线、星敏感器等多部件,可以为后续的位姿解算提供有效的特征输入。准确检测失效卫星部件的位置与类型是目标检测领域的一个关键问题,可以根据目标、形状、颜色、边缘等特征的差异性来解决。然而,由于曝光或低照度的空间环境导致的图像分辨率不高以及部件间差异性不大,高精度的失效卫星部件检测仍然具有挑战性。

当前,针对失效卫星部件的目标检测算法主要分为非深度学习的传统算法与深度学习算法两类。由于计算能力的限制,传统算法主要从少量的先验数据中进行学习,再对目标的特征部位进行检测,可以分为基于模块匹配的方法和基于手工设计特征的方法。杨明冬等提出了一种改进的加权绝对差之和(Sum of Weighted Absolute Differences,SWAD)模块匹配算法和亚像素拟合算法检测卫星目标,并通过引入变系数模板更新方法,提高了算法对卫星姿态变化的适应性。但当卫星角度、大小、灰度同时变化时,算法检测精度不高。Peng J.等提出了一种基于最大外轮廓识别的卫星检测算法,通过融合运动特征与形状特征提取卫星底座,采用“粗+精”组合识别方法,提高了卫星底座的检测精度与速度。Gao X.H.等针对卫星外形中常见的矩形特征,利用边缘检测与Hough变化进行卫星目标检测。传统的目标检测算法计算简单,效率高。但是其特征为人为设计的低级图像特征,这导致传统算法每次只能检测出具有相同特征信息的单个或多个类似的目标,算法计算效率低。此外,卫星姿态与周围光照条件的剧烈变化,使得传统算法的召回率低,算法的泛化能力不强。

深度学习技术将多个低级图像特征与来自目标检测器和场景分类器的高级上下文特征相结合,利用数据集本身的特点进行自学习。随着例如YOLO、Faster R-CNN、Cascade R-CNN等基于深度学习的目标检测理论的飞速发展,以及计算机硬件与空间成像技术的进步,深度学习技术逐渐被应用到空间失效卫星目标检测上。Chen Y.等提出了一种基于Mask R-CNN的卫星部件检测算法,在Mask R-CNN的基础上,为了提高小目标的检测率,结合密集连接结构、残差结构和特征金字塔构建新的特征提取结构,其准确率和召回率可达93%。Yan Z.等提出了一种基于YOLO V2的卫星主体检测算法,使用Blender软件模拟器生成不同环境下的卫星,并利用数据增强和微调技术增加训练样本的数量,避免训练过程中的过拟合,其平均精度可达80.16%以上。Chen B.等提出了一种基于Faster R-CNN与高分辨率网络(High Resolution Network,HRNet)的卫星关键点检测算法,关键点包括天线顶端、电池4个角点等。首先,利用Faster R-CNN进行卫星主体检测,然后将裁减的卫星目标输入到HRNet中预测出11个卫星关键点,最后,将序列图像的关键点输入到位姿解算算法中进行位姿解算,其在公开的SPEED数据集上准确率可以达到95%以上。以上基于深度学习的卫星目标检测算法可以改善传统方法的不足,具有更好的泛化性。然而,上述算法的研究对象多是卫星主体或个别部件,缺少对卫星多部件检测的深入研究;而且上述算法采用的验证数据集多为通过模拟软件获取的,而在实际空间环境中,当近距离捕获卫星目标时,光照与运动的变化会对卫星部件检测带来巨大影响。因此,实现在接近实际环境下的高精度的卫星部件检测是迫切需要的。

针对上述问题,本文工作贡献如下:1)由于在捕获对接平面上,失效卫星部件多为小目标,且由于失效卫星部件会因为自旋产生成像分辨率不高的问题,将高分辨网络与Faster R-CNN中的特征提取主干网络融合,可提高小目标检测精度;2)针对失效卫星部件数据难获取的问题,在模拟真实空间环境的条件下,利用1∶1的嫦娥卫星模型构建了一个包含九类不同部件信息的失效卫星部件数据集。

1 Faster R-CNN原理与改进

1.1 Faster R-CNN基本原理及流程

目前,基于深度学习的目标检测算法主要分为两类,即单阶段和双阶段目标检测算法。双阶段算法的特点是识别精度较高。其第一阶段利用区域建议网络寻找目标存在的区域,第二阶段对建议区域进行分类和回归,以获得更准确的目标位置,双阶段算法的典型代表有Faster R-CNN等。单阶段目标检测算法比较简单和快速。其将目标检测视为一个回归或分类问题,采用统一的框架直接实现目标的分类与定位,单阶段算法的典型代表有YOLO等。考虑到高精度识别失效卫星部件是卫星捕获与相对导航作业的首要前提,本文选择Faster R-CNN作为目标检测框架,同时利用高分辨网络对特征提取主干网络进行优化,实现对恶劣成像环境下失效卫星部件的精准检测。

图1所示为Faster R-CNN的原理图,Faster R-CNN主要由特征提取主干网络、区域建议网络、感兴趣区域池化层3个模块组成。其具体流程如下:

图1 Faster R-CNN原理图Fig.1 Schematic diagram of Faster R-CNN

1)输入待检测的图像。

2)使用特征提取主干网络进行图像的初始特征提取,这些特征将在后续的区域建议网络和全连接层中得到共享。原始的Faster R-CNN选取的主干特征提取网络为深度残差网络(Deep Residual Network,ResNet),ResNet利用残差学习解决特征提取网络随着深度增加而出现的退化问题。但是针对低分辨率的失效卫星目标图像,ResNet缺少特征融合策略。如果使用ResNet特征提取主干网络,在降采样过程中,失效卫星部件中的小目标会出现漏检或检测精度低的现象。

3)在ResNet生成的特征图上使用区域建议网络生成候选框,并将生成的候选框投影到特征图上得到相应的特征矩阵,即为图1中的紫色阴影框。

4)将每个特征矩阵通过感兴趣区域池化层缩放成为7×7大小的特征图,即为图1中的红框。

5)通过全连接层将特征图展平,并输入到回归与分类端,进行目标检测框与分类数据的输出。

1.2 针对低分辨率成像的改进

如图2所示,失效卫星部件在捕获对接平面上多为密集排列的小目标。此外,随着视角的变化,图像中的小目标更容易因光照、运动状态的变化出现成像模糊或曝光的现象,这使得采用原有的Faster R-CNN模型会出现小目标检测精度下降的问题。原有Faster R-CNN使用ResNet特征提取主干网络,该网络通常是由上一层特征图与下一层特征图逐个串联,其分辨率逐渐下降。已知感受野的定义为特征提取网络中每一层输出特征图上的一个点映射到每一层特征图上的像素数,感受野越大,目标检测的范围越广,特征越抽象。为了保证感受野,ResNet采用降采样的方式。但是,降采样的缺点是导致小目标出现漏检和检测精度低的问题。因此,针对失效卫星目标检测过程中存在小目标及图像分辨率不高的问题,选择高分辨率网络(HRNet)替换ResNet作为特征提取主干网络进行特征提取。HRNet是2019年Li等提出的一种新型神经网络。与ResNet相比,HRNet采用了并行多分辨率子网络策略,在整个特征提取过程中始终输出强语义表达和可靠的高分辨率特征图。

(a) 前视角拍摄

HRNet特征提取主干网络由4个阶段组成,从高分辨率的子网作为第一阶段开始,每增加一个阶段便增加一个低分辨率的子网,依次生成多分辨率子网的并行连接结构。在整个过程中,并行多分辨率卷积层中的信息被反复交换,以执行重复的多尺度融合,使得HRNet生成可靠的高分辨率特征表征,并可以完成多尺度目标的精确检测。并行连接结构与多尺度融合具体原理如下。

并行连接结构:如图3(a)所示,该方法将特征图依据分辨率从高到低串联起来,并通过下采样将相邻子网的分辨率减半。假设是第阶段的子网,是每一阶段的特征图顺序,为分辨率,为网络的4个阶段,其分辨率从高到低的排序可以表示为

⟹⟹⟹

(1)

分辨率可表示为

(2)

其中,-1为后一层特征图分辨率;为前一层特征图分辨率。

由式(1)和图3(b)可以看出,在HRNet的4个阶段中,每递进一个阶段便增加一个低分辨率子网,其特征图的尺寸就会减半,通道数加倍。假设阶段得到的特征图尺寸为256×256×64(长度×宽度×通道数,长度、宽度的单位为像素),则、和阶段得到的特征图尺寸分别为128×128×128、64×64×256和32×32×512。

多尺度融合:如图3(b)所示,通过并行结构设计输出四种不同尺度的特征图后,首先对低分辨率特征图进行上采样操作;然后,与高分辨率特征图进行通道数拼接,再对特征图进行卷积运算,特征图分辨率依次下降至1/2、1/4、1/8,形成多尺度特征融合。

(a) 多尺度融合示意图

2 实验数据集

2.1 数据集获取

文献[15-16]采用仿真生成的数据作为卫星目标检测系统的输入,忽略了实际空间环境存在的光照、运动等对实际检测的影响。本文设置的采集环境能较为真实地反映空间环境。实验环境为近距离(2.5m内),模拟“卫星静止,相机接近”、“卫星自转,相机静止”两种相对运动,实验室暗室环境如图4(a)所示,所用运动装置为转台,如图4(b)所示。当“卫星自转,相机静止”时,卫星模型固定于转台上,以15(°)/s的角速度绕竖直轴匀速运动。对失效卫星的模拟采用了1∶1的真实嫦娥卫星模型,表面贴有热控多层反光材料,同时,采用高亮度LED光源与交叉亮度光源,模拟复杂的太空光照环境,模拟入射的太阳光。随着失效卫星的转动,其表面的光照条件不断变化,会出现曝光、低照度以及运动模糊的现象。采集设备为奥比中光Astra S单目相机。

(a) 实验暗室

2.2 数据集分析

为了保证失效卫星图像的质量并避免数据集中的图像重复,剔除了高度曝光与视角重复的图像,共获得1602张图片组成的失效卫星数据集。此外,为了增强模型的稳定性并避免过度拟合,对训练集进行了数据增强,以扩展失效卫星数据集,并尽可能保证数据的丰富性。在数据增强中,采用上下翻转以及旋转90°、180°、270°等几何变换方式,将原来的训练集数量扩展到2000幅图像。数据集被按照9∶1的比例随机划分为训练集、验证集,其数量分别为1800和200。训练集用于训练模型的参数,验证集用于评估每批训练的结果和调整超参数后模型的泛化能力。在构建数据集后,使用LabelImg软件并参考COCO数据集格式制作样本标签,表1所示为数据集标签对应的失效卫星部件名称。其中,推进器、太阳敏感器部件在不同视角下多为小目标。数据集中的图像尺寸被统一调整为640×480。

表1 失效卫星部件名称

3 仿真实验及结果分析

本实验的目的是验证基于改进Faster R-CNN的检测方法在失效卫星部件检测中的有效性和优越性。将该算法应用于失效卫星目标捕获对接工作,可减轻工作负担,提高小目标部件检测的效率。

3.1 实验平台与参数设置

本文所有实验的软件环境是Ubuntu 18.04系统,编程语言选用Python 3.7,CUDA 11.0。深度学习框架使用了由商汤科技和香港中文大学联合开发的开源深度学习基于Pytorch的目标检测工具箱MMdetection来构建模型,该工具箱的特点之一是可以将每个组件进行单独的编译打包;在使用时,只需要组装每个部件就可以搭建一个目标检测任务模型。硬件包括Intel(R) Core(TM) i7-10700 CPU@2.0GHz和NVIDIA GeForce GTX 3080Ti GPU。本文所有实验的参数设置如下:

学习率为0.001,动量为0.9,权值的衰减系数为0.0001,epoch为50,迭代次数为35000次,每迭代一个epoch保存一次模型,最终选取精度最高的模型。在训练过程中,验证集用于对训练效果进行评估和参数调优。系统的学习率调节采用warm up策略,初始学习率0.0001并按照线性规律逐渐增大,迭代500次后,增加到0.001。这种方法既可以获得很高的准确率,又可避免模型训练过拟合。

3.2 实验结果与对比

本文分别选取了改进前的Faster R-CNN以及Cascade R-CNN进行实验对比,选择Cascade R-CNN的原因为:Cascade R-CNN是由Faster R-CNN改进而来,目前被广泛应用在水下、地下等成像质量较差的环境,且其具有较好的检测效果。通过与改进前的Faster R-CNN对比,可以证明本文改进策略的可行性;通过与Cascade R-CNN对比,可以证明本文改进策略相对其他改进策略在失效卫星部件检测方面的优越性。为了公平对比实验结果,除使用的特征网络不同以外,参数设置、训练步骤均保持一致。本文选取的评价指标定义如下:

:模型预测的所有目标中,预测正确的比例,称为准确率。值越高,表示算法的检测精度越高。

(3)

其中,为IoU>05的检测框数量,为IoU≤0.5的检测框数量。IoU即交并比,表示候选框与原始标定框的重叠度。在对模型进行测试时,先使用非极大值抑制将多余候选框移除,再计算剩余有效候选框的交并比,规定当交并比大于设定阈值时检测正确。当增大交并比阈值时,提高了对预测框与实际边界框重复度的要求,利于评价模型在进行小目标位置回归时的性能。

:所有真实目标中,模型正确预测目标的比例,称为召回率。值越高,表示算法错误预测的比例越低。

(4)

其中,为没有检测到目标的数量。

具体实验结果如下所示:

图5所示为本文提出的改进Faster R-CNN算法(improved Faster R-CNN)与传统的Faster R-CNN和Cascade R-CNN损失函数值的对比曲线。

图5 训练过程中损失函数变化Fig.5 Change of the loss function during training

从图5可以看出,本文算法在迭代6000次后开始收敛,且收敛后的损失函数值比原来的Faster R-CNN和Cascade R-CNN要小。因此,本文利用HRNet改进后的Faster R-CNN模型的收敛性更好。表2所示为实验的准确率、召回率与实时性的结果对比。

表2 网络验证结果

从表2可以看出,本文算法的平均精度最高,平均召回率也最高,相比Faster R-CNN和Cascade R-CNN准确率和召回率分别平均提高了3.8%与6.1%。在针对失效卫星部件中的小目标检测实验中,本文算法的平均精度与召回率也最高,且分别平均提高了9.8%与5.4%。实验表明,本文利用HRNet对Faster R-CNN的改进对失效卫星部件的检测是有效的,且改进后的网络模型相比Cascade R-CNN也具有一定的优势。此外,本文改进的Faster R-CNN模型每秒可以处理15张图片,可以满足实际工程应用中的实时性要求。

利用改进的Faster R-CNN对失效卫星验证集中的检测结果进行可视化,选取不同距离、不同运动状态的部分结果如图6所示。图6(a)为“卫星静止,相机运动”状态下的检测结果,且为运动模糊条件下的拍摄结果;图6(b)、(c)与(d)为“卫星自旋,相机静止”状态下的检测结果,其中图6(b)为低照度光照条件下的拍摄结果,图6(c)为轻微曝光条件下的拍摄结果,图6(d)为运动模糊条件下的拍摄结果。低照度、曝光、运动模糊等成像条件都会对小目标部件的检测产生干扰,相对良好成像质量条件,这些干扰都会增加小目标部件的检测难度。

(a) 运动模糊

从图6可以看出,在两种运动状态下以及不同光照条件下,本文所提算法都具有良好的检测效果。

综上所述,本文利用HRNet改进的Faster R-CNN模型与原始的Faster R-CNN模型以及Cascade R-CNN相比,在准确率与召回率方面具有一定的优势,证明了本文所提改进策略是有效的。此外,本文设计的网络模型满足实时性的需求,本文所提改进策略在空间失效卫星检测领域具有工程应用价值。

4 结 论

本文主要针对失效卫星目标检测中存在的小目标、光照条件变化以及运动模糊问题,提出了一种基于改进Faster R-CNN的失效卫星部件目标检测方法。该方法通过将HRNet融入Faster R-CNN中,构建并行高分辨率特征提取结构并进行多尺度融合,完成了高分辨的特征表征输出及小目标检测。经过实验对比,本文方法相对改进前方法和Cascade R-CNN具有较高的平均准确率与平均召回率。本文方法建立在接近实际环境的失效卫星数据集上,其准确率可以达到93.6%,且每秒可以检测出15张图片,证明了本文方法在实际工程应用中的可行性。但是本文方法还存在不足,主要表现在:本文方法面对极端恶劣光照条件如强曝光或较低照度时,会出现检测精度下降或误检的问题。因此,后续将研究图像增强与图像预处理算法,将图像的干扰因素减轻后,再输入到特征提取网络中,以提高模型在极端恶劣光照条件下的鲁棒性。

猜你喜欢
特征提取部件分辨率
同步定位与建图特征提取和匹配算法研究
我国科学家发明计算超分辨图像重建算法拓展荧光显微镜分辨率极限
一种陀飞轮表的双秒轮结构
现代汉字的两种分析法与国家文字规范(四)
基于MED—MOMEDA的风电齿轮箱复合故障特征提取研究
古文字中“口”部件的作用研究
基于曲率局部二值模式的深度图像手势特征提取
将Widget小部件放到
ARM发布显示控制器新品重点强化对分辨率的支持
从600dpi到9600dpi