航空发动机运输安装车是航空发动机安装时的搬运、举升工具,由于存在体积大、机动性差、安装舱空间狭小等问题,目前国内的飞机维修场普遍采用人工与机械辅助结合的操作方式。这种方式虽然在一定程度上避免了发动机与安装舱之间的碰撞,但其存在人工劳动量大、定位不精确、生产效率低等缺陷,给飞机发动机的安装和维修带来了极大的困难[2-3]。因此,实现以计算机视觉技术为依托的航空发动机运输安装车的自动化定位是必然趋势。
李洋和谢曦鹏[4]进行了飞机发动机数字化安装的工艺的研究,将传统的人工安装模式上升到数字化安装模式的研究层面;高航和宋强等[5]研制了一台具有调姿安装功能的发动机运输车,可以完成在发动机安装过程中的姿态调节工作。上述研究表明,目前国内的航空发动机自动化安装意识初步形成,但仍然处于理论研究阶段,其高昂的成本导致这些方法目前无法应用于实际的生产当中;同时,这些方法着重研究平台或车体的机构设计及发动机的周转搬运过程,对定位的问题研究少之又少。
卷积神经网络(Convolution Neural Network,CNN)的出现使计算机视觉技术得到飞速发展。2016年,Liu等[6]提出了单发多框检测器(Single Shot multibox Detector,SSD)模型,其核心思想是Anchor锚点机制,以特征图的像素点为中心生成多个候选框,在保证精度的同时提高了检测速度,具有很好的实时性,适用于实际生产。尽管SSD模型在PASCALVOC等大型数据集上取得了不错的检测效果,但对于小目标的检测精度有待提高[7]。
为了提高运输安装车的定位精度及航空发动机的安装效率,本文以发动机前后安装工位作为检测对象,将SSD模型中的主干网络VGG16替换为残差网络ResNet-101,并增加其输出特征图上的预选框数量,提高模型对小目标物体的特征抓取能力;结合膨胀卷积扩大网络的感受野,解决由于网络层数的增加而带来局部细节信息丢失的问题,最终实现对航空发动机安装工位的准确检测,满足航空发动机安装时平均检测精度不低于85%的需求。
1 SSD目标检测经典模型 SSD算法是一种端到端、单次多框实时检测的深度神经网络模型,其融合了YOLO的回归思想和Faster R-CNN的候选框机制;此外,为了提高自身对不同大小目标物体的敏感程度,SSD算法选取了网络中多个层次的特征图进行预测。对比其他常见的目标检测算法,SSD算法的优点在于保证了检测精度的同时,大幅度地提高了检测速度,为模型在实际应用中保持良好的实时性提供了保障[8]。本文利用4 500张安装工位图像作为交叉验证集对SSD模型进行训练,其中900张作为验证集用作模型筛选,获得性能最佳的训练模型并进行测试,测试集包含500张图像,检测效果如图 1所示。
图 1 SSD安装工位检测效果 Fig. 1 SSD detection effect of installation station |
图选项 |
在360×640分辨率的安装舱图中,正常情况下,检测目标安装工位的分辨率约为120×120;而在航空发动机运输安装车驶入安装舱之前及刚驶入时,车载相机与目标相距较远,且所获得图像训练前需要进行空白填充预处理,此时的安装工位分辨率远小于120×120。本文将安装工位面积在整幅图像中占比小于3%的安装工位定义为小目标。通过检测效果图 1可以看出,SSD模型对正常大小安装工位的检测精度较高;但是对于小目标安装工位的检测效果较差,置信度普遍不高,且预测框位置不精确,这种现象的出现是由于模型主干网络VGG16中的Conv4_3卷积层在低级卷积特征层中提取的语义信息不够导致的。
加深网络可以提高模型对小目标的特征提取能力。随着网络层的增加,训练时的成本函数逐渐下降,且逐渐趋于饱和;但是增加的层数一旦超过一定值,成本函数反而会增大,即出现“网络退化”现象[9],这时,浅层网络能够达到比深层网络更好的训练效果。所以,针对航空发动机小目标安装工位的检测,本文提出了一种残差网络与膨胀卷积相融合的SSD改进算法(ResNet-Dilated SSD,R-D SSD)。
2 R-D SSD算法 为改善SSD模型对小目标不敏感的缺陷,本文将主干网络VGG16替换为残差网络ResNet-101,并增加其输出特征图上的预选框数量;同时,为避免残差网络的过度下采样带来的图像边缘细节信息丢失的问题,利用膨胀卷积扩大网络的感受野。融合后的R-D SSD网络结构如图 2所示。
图 2 R-D SSD网络结构 Fig. 2 R-D SSD network structure |
图选项 |
2.1 利用残差网络提取深度特征 为避免“网络退化”现象的出现, 本文将原始SSD模型中的主干网络VGG16替换为深度残差网络ResNet-101[10-11],解决原始模型对小目标安装工位检测效果差的问题。
残差网络是由若干个残差块组成的,其结构如图 3所示。一个残差单元可以表示为
(1) |
图 3 残差学习单元 Fig. 3 Residual learning unit |
图选项 |
式中:X为该段神经网络的输入;Wi为第i层网络的权重。当输入X经过恒等映射(Identity Mapping)时, 其部分分支直接输出作为初始结果, 同时在残差部分分支进行卷积得到残差F(X, Wi), 最后两部分结果通过加法器得网络期望输出H(X)=F(X, Wi)+X;当F(X, Wi)=0时,H(X)=X,即恒等映射。此时,ResNet-101相当于将学习目标改变了,目标不再是学习一个完整的输出,而是H(X)和X的差值,即残差F(X, Wi)=H(X)-X。
因此,后面的训练目标就是要将残差逼近于0,保证了即使增加网络层数,也不会导致后面网络层中的精度下降。
残差单元通过恒等映射在输入和输出之间建立了一条直联通道,从而使得有参层集中学习输入和输出之间的残差。当输入和残差的维度相同时,输出即为H(X)=F(X, Wi)+X;当输入维度与残差的维度不相同时,如下:
(2) |
式中:Ws为一个线性投影,用作匹配维度。
2.2 增加预选框数量提高小目标提取能力 为了进一步提高模型对小目标安装工位的检测能力,本文在ResNet-101网络输出的特征图上(即Res5c_relu层输出的特征图上)增加了预选框的数量,针对特征图上的每个像素点,生成预选框的数量由4个增加到6个,示意图如图 4所示,其中图 4(b)中较图 4(a)中多出的2个方框为本文新增加的2个预选框。
图 4 增加预选框数量 Fig. 4 Increasing the number of preselected boxes |
图选项 |
SSD算法中的预选框机制是在不同尺度的特征图获取不同大小和纵横比的预选框,其中第k张特征图上预选框大小的计算公式为
(3) |
式中:Sk为第k张特征图上预选框的大小;m为模型多尺度预测中的特征图数量;Smin为最低层特征图上预选框的大小,取默认值0.2;Smax为最高层特征图上预选框的大小,取默认值0.95。
预选框的纵横比取值为1、2、1/2、3、1/3,当纵横比为1时,模型将会新增一个预选框,该框的宽度和高度为
(4) |
式中:wk为第k张特征图上预选框的宽度;hk为第k张特征图上预选框的高度;Sk+1为第k+1张特征图上预选框的大小。在原始的SSD算法中,主干网络所输出的特征图的每个像素点上,所生成的预选框数量为4个,即纵横比为1、1、2、1/2的预选框。由于越低层的特征图所包含的小目标信息越丰富,增加其预选框数量可以有效提高整个模型对小目标的敏感程度。为此,R-D SSD算法在Res5c_relu层输出的特征图上,增加了纵横比为3、1/3的2种预选框,在每个像素点上生成的预选框数量由4个增加到6个。
2.3 引入膨胀因子减少特征信息丢失 在使用ResNet-101残差网络代替VGG16网络解决小目标检测效果较差的问题时,过度下采样导致特征图中目标的局部细节信息丢失,这严重影响了检测模型对目标边缘信息的保留能力,出现漏检、误检、检测框偏离等现象。
为此,本文采用膨胀卷积的方法,膨胀卷积又称空洞卷积[12]。相对于原始网络的池化下采样操作,膨胀卷积添加了一个膨胀因子d,卷积核将扩张到该因子所约束的尺度中,即在标准的卷积核中注入空洞0,卷积核kernel的间隔数量为d-1,增大感受野,不损失细节信息。
传统的卷积运算公式为
(5) |
式中:x、y分别为输入图片中进行卷积操纵的像素横、纵坐标值;i、j分别为卷积核kernel中像素的横、纵坐标值;b为偏置参数。输入图片像素值函数f与卷积核kernel像素函数g进行卷积操作提取特征后,得到输出特征图,函数z为特征图像素值。
膨胀卷积运算公式为
(6) |
图 5显示了不同膨胀因子下的感受野。其中,图 5(a)表示d=1的膨胀卷积核,与普通的卷积操作相同,感受野3×3;图 5(b)表示d=2的膨胀卷积核,感受野为7×7;图 5(c)表示d=3的膨胀卷积核,感受野为11×11。
图 5 膨胀卷积 Fig. 5 Dilation convolution |
图选项 |
在ResNet-101的前5层残差网络区域块中,总共对原始的输入图像进行了64倍的下采样操作,特征图信息的丢失严重影响了模型对安装工位边缘的检测精度。其中,前3层残差块输出所包含的信息相对于输入降低了8倍,其特征图的分辨率足够识别出目标的物体结构,保留了输入图像的大部分信息;但后2块残差区域对特征图的下采样分别是2倍和4倍,所输出的特征图严重丢失信息。为了解决信息不足的问题,本文在ResNet-101的第4层残差区域和第5层残差区域分别引入了膨胀因子2和膨胀因子4,使整个残差网络输出的感受野与第3层输出相同。
残差网络与膨胀卷积的结合,在加深网络来提高小目标检测精度的同时,增大卷积视野,保留了特征图足够的分辨率,且不需要通过池化处理,也可以学习到高层的语义特征,解决边缘结构信息丢失的问题;同时,膨胀因子的引入并未使网络增加额外结构,保证训练时的运行速度。相对于原始的SSD算法,R-D SSD算法提高了小目标安装工位的检测精度。
3 实验与结果分析 3.1 实验工具及参数配置 实验所需要的环境及相对应的软硬件设备为:Ubuntu18.04系统、Intel Core i5-9400型号CPU、NVIDIA GeForce GTX 1660Ti型号GPU、6 GB显存、16 GB内存、CUDA10.1及对应的CUDNN7.6.4深度神经网络加速库。
由于该融合模型的复杂度较大,总迭代次数设置为160 000次。其中,前80 000次迭代的学习率设置为0.000 1,后80 000次迭代的学习率下降到0.000 01,动量设置为0.9,图像批处理大小设置为4。
3.2 实验数据 本文的实验数据是由包含航空发动机安装工位的5 000张真实图像组成的,数据集中图像的类型有3种:前安装工位、后安装工位和前后安装工位。将其转换成VOC2007数据集格式,并使用labelImg标记工具对数据集中安装工位的类别和位置信息进行标注。为增加模型训练样本选取的随机性,4 500张作为训练集,500张作为测试集,在训练集当中,以900张图片为单位对训练模型进行交叉验证。数据集具体划分信息如表 1所示。
表 1 实验数据集划分 Table 1 Experimental dataset partition
类别 | 训练集/张 | 占比/% | 测试集/张 | 占比/% |
前安装工位 | 2 069 | 41 | 236 | 5 |
后安装工位 | 1 881 | 38 | 192 | 4 |
前安装工位+后安装工位 | 550 | 11 | 79 | 1 |
表选项
3.3 实验结果及分析
3.3.1 R-D SSD算法的检测效果 针对图 1中含小目标安装工位的2张图片,本文将其放入改进后的模型重新检测,效果如图 6所示。其中,图 6(a)、(b)为小目标前安装工位检测效果对比,图 6(c)、(d)为小目标后安装工位检测效果对比。通过对比可以看出,R-D SSD算法对图片中的小目标更加敏感,检测精度提升较大,同时对目标的位置预测也更加准确。同样,图 7为2种算法对图 1中正常大小安装工位的检测效果对比。可以看出,算法改进前后对正常大小目标的检测效果差异很小,略有提升。
图 6 小目标检测效果对比 Fig. 6 Comparison of small target detection effect |
图选项 |
图 7 正常大小目标检测效果对比 Fig. 7 Comparison of normal-size target detection effect |
图选项 |
3.3.2 小目标检测效果的对比 为了验证R-D SSD算法相对于SSD算法在小尺寸安装工位上检测效果的提升程度,本文将平均检测精度mAP[13]和检测速度作为模型性能的评价指标。检测精度AP是综合数据样本中某个类别的精确率(P)和召回率(R)的评价指标,如式(7)和式(8)所示;其中,精确率是被检测模型判定为正确目标样本(TP)占真正的正样本(TP+FP)的比重,召回率是被检测模型正确判定为正确目标样本占总正样本(TP+FN)的比重。mAP则是AP的算术平均值,能够反映模型的全局性能;检测速度反映了模型的检测速度,即每秒能够检测的图片数量。
(7) |
(8) |
本文从整个样本数据集中,挑选出1 200张安装工位面积占比小于3%的图片作为小目标样本数据集;在此基础上,又以0.2的比例划分出240张图片作为验证集输入到训练好的模型当中,以验证R-D SSD算法对小目标检测效果的提升程度,验证结果如表 2所示。
表 2 小目标检测精度对比 Table 2 Comparison of small target detection accuracy
检测算法 | 检测对象 | AP/% | mAP/% |
SSD | 前安装工位 | 67.2 | 71.9 |
后安装工位 | 76.6 | ||
R-D SSD | 前安装工位 | 77.9 | 80.5 |
后安装工位 | 83.1 |
表选项
通过表 2可以看出,本文的R-D SSD算法对图像中小尺度安装工位的mAP相对SSD提高了8.6%;R-D SSD算法对小目标前安装工位检测效果的提升更加明显,其AP值比SSD提高了10.7%。
3.3.3 正常大小目标检测效果的对比 同样,为了验证改进后模型对正常大小安装工位检测效果的影响,本文从剔除小目标数据集后的数据样本中,仍以0.2的比例划分出720张图片作为验证集对模型进行验证,结果如表 3所示。
表 3 正常大小目标检测精度对比 Table 3 Comparison of normal-size target detection accuracy
检测算法 | mAP/% |
SSD | 86.7 |
R-D SSD | 88.1 |
表选项
通过表 3可以看出,对于正常大小的安装工位,R-D SSD的检测精度比原算法略有提高,提升了1.4%。
3.3.4 整体样本检测效果与其他检测算法的对比 对于整个数据集,除了采用SSD算法和R-D SSD算法对比外,本文还尝试了Faster R-CNN[14-15]和YOLOv3[16]2种算法在相同设备条件下,对航空发动机安装工位数据集进行训练、测试,其中数据集的划分、迭代次数、学习率等参数与上述方法一致。4种算法的检测效果如表 4所示。
表 4 不同检测算法性能比较 Table 4 Comparison of performance among different detection algorithms
检测算法 | 主干网络 | mAP/% | 检测速度/(帧·s-1) |
Faster R-CNN | ResNet50 | 88.5 | 8.2 |
YOLOv3 | Darknet-53 | 83.2 | 51.0 |
SSD | VGG16 | 82.9 | 52.6 |
R-D SSD | ResNet-101 | 86.9 | 40.5 |
表选项
通过表 4可以看出,在整个安装工位数据集上,Faster R-CNN算法的平均检测精度最高,但由于其采用滑动窗口遍历特征图的方法来确定候选框,导致其检测速度较慢;YOLOv3和SSD在候选框的选取上都采用了锚点机制,检测速度有了明显的提升,但是mAP较Faster R-CNN算法有所下降;R-D SSD算法通过替换主干网络、增加低层特征图的预选框数量和增大感受野,明显地提高了检测精度,同时由于网络层的加深,导致其检测速度有所下降,但实时性仍然满足发动机安装时检测速度不小于30帧/s的需求。
通过数据分析可以看出,R-D SSD算法的mAP较SSD算法提高了4.0%,较YOLOv3算法提高了3.7%;本文R-D SSD算法的检测速度约为Faster R-CNN的5倍,略低于YOLOv3算法和SSD算法,满足实际应用的实时性要求。
此外,图 8为SSD算法和R-D SSD算法针对安装工位数据集的混淆矩阵,其中行标签表示预测值,列标签表示真实值。可以看出,改进后算法正确划分的测试样本数量相对原始算法有着明显提高。
图 8 混淆矩阵 Fig. 8 Confusion matrix |
图选项 |
4 结论 本文在SSD算法的基础上,融合了残差网络和膨胀卷积2种思想,并增加了特征图预选框数量,提出并设计了适用于航空发动机前后安装工位的检测算法R-D SSD。有以下特点:
1) 引入残差网络ResNet-101并增加其输出特征图的预选框数量,使得R-D SSD算法可以实现较为优秀的小目标检测性能,针对图像中较小的安装工位,其平均检测精度可达到80.5%,比SSD算法提高了8.6%。
2) 添加膨胀因子,解决了因引入残差网络带来的细节特征信息丢失的问题,保证了R-D SSD算法在提高小目标检测效果的同时,对正常大小目标检测精度不下降。对于整个数据集,平均检测精度可达到86.9%,比SSD算法提高了4.0%,可满足航空发动机安装定位时平均检测精度不低于85%的要求。
参考文献
[1] | GULA P, ULMA D, ZUREK K, et al. Challenges of turboprop engine installation on small aircraft[J]. Aircraft Engineering and Aerospace Technology, 2019, 91(7): 938-948. DOI:10.1108/AEAT-09-2017-0198 |
[2] | 赵哲. 航空发动机数控安装架车的研制[D]. 大连: 大连理工大学, 2014: 14-20. ZHAO Z. Research on NC installation vehicle for aero-engine[D]. Dalian: Dalian University of Technology, 2014: 14-20(in Chinese). |
[3] | GAO H, LEI H, ZHAO Z, et al. The large aero-engine NC installation method and its multi-axial position adjustment platform design[C]//2013 IEEE International Symposium on Assembly and Manufacturing. Piscataway: IEEE Press, 2013: 270-273. |
[4] | 李洋, 谢曦鹏. 飞机发动机数字化对接安装工艺研究[J]. 装备制造技术, 2013(9): 90-92. LI Y, XIE X P. Research on aeroengine digital assembly technology[J]. Equipment Manufacturing Technology, 2013(9): 90-92. (in Chinese) |
[5] | 高航, 宋强, 刘国, 等. 航空发动机整机数控安装多轴调姿方法及其应用[J]. 航空制造技术, 2017, 60(11): 16-21. GAO H, SONG Q, LIU G, et al. Method and application for aeroengine overall unit NC installation with multi-axis attitude adjustment[J]. Aeronautical Manufacturing Technology, 2017, 60(11): 16-21. (in Chinese) |
[6] | LIU W, ANGUELOV D, ERHAN D, et al. SSD: Single shot multibox detector[C]//Proceedings of the European Conference on Computer Vision. Berlin: Springer, 2016: 21-37. |
[7] | 陈映雪, 丁文锐, 李红光, 等. 基于视频帧间运动估计的无人机图像车辆检测[J]. 北京航空航天大学学报, 2020, 46(3): 634-642. CHEN Y X, DING W R, LI H G, et al. Vehicle detection in UAV image based on video interframe motion estimation[J]. Journal of Beijing University of Aeronautics and Astronsutics, 2020, 46(3): 634-642. (in Chinese) |
[8] | 李慧. 飞机蒙皮图像的深度特征学习与损伤监测[D]. 北京: 北京邮电大学, 2019: 35-36. LI H. High-level feature learning and damage monitoring of aircraft surface images[D]. Beijing: Beijing University of Posts and Telecommunications, 2019: 35-36(in Chinese). |
[9] | LIU S, DENG W. Very deep convolutional neural network based image classification using small training sample size[C]//3rd IAPR Asian Conference on Pattern Recognition. Kuala Lumpur: Institute of Electrical and Electronics Engineers Inc., 2015: 730-734. |
[10] | 黄豪杰, 段先华, 黄欣辰. 基于深度学习水果检测的研究与改进[J]. 计算机工程与应用, 2020, 56(3): 127-133. HUANG H J, DUAN X H, HUANG X C. Research and improvement of fruits detection based on deep learning[J]. Computer Engineering and Applications, 2020, 56(3): 127-133. (in Chinese) |
[11] | HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE Press, 2016: 770-778. |
[12] | TIAN Y L, ZHANG Q S, REN Z L, et al. Multi-scale dilated convolution network based depth estimation in intelligent transportation systems[J]. IEEE Access, 2019, 7: 185179-185188. DOI:10.1109/ACCESS.2019.2960520 |
[13] | IOFFE S, SZEGEDY C. Batch normalization: Accelerating deep network training by reducing internal covariate shift[J]//International Conference on Machine Learning, 2015, 1: 448-456. |
[14] | REN S, HE K, GIRSHICK R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149. |
[15] | GIRSHICK R. Fast R-CNN[C]//Proceedings of the IEEE International Conference on Computer Vision. Piscataway: IEEE Press, 2015: 1440-1448. |
[16] | REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: Unified, real-time object detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE Press, 2016: 779-788. |