基于归一化注意力机制YOLOv7的交通标志检测方法
未命名
09-15
阅读:72
评论:0

基于归一化注意力机制yolov7的交通标志检测方法
技术领域
1.本发明属于图像处理方法技术领域,具体涉及一种基于归一化注意力机制yolov7(normalization-based attention,nam-yolov7)的交通标志检测方法。
背景技术:
2.交通标志检测技术作为无人驾驶重要的一环,它可以辅助驾驶员准确、高效地识别道路交通标志,有效避免驾驶员识别错误,减轻疲劳驾驶,从而保障道路安全。在真实场景中,能够及时并准确的检测出交通标志,对无人驾驶系统有着极为重要的作用。
3.近年,陆续出现了许多基于yolov7的交通标志检测方法,这些方法取得了相当好的检测结果。然而,当对背景复杂或刮风下雨起雾等天气情况下获得的交通标志进行检测时,这些方法的精度往往并不高。
技术实现要素:
4.本发明的是提供一种基于归一化注意力机制yolov7的交通标志检测方法,解决了现有技术中背景复杂下交通标志检测精度低的问题。
5.本发明所采用的技术方案是,基于归一化注意力机制yolov7的交通标志检测方法,具体如下:
6.步骤1,获取自动驾驶时拍摄的交通标志的系列图像;
7.步骤2,将步骤1获取的交通标志的系列图像裁剪或填充成固定尺寸的大小图像并把它们都转变成张量;
8.步骤3,对原yolov7网络中的backbone模块及neck模块进行改进,将步骤2得到的张量送入到改进后的backbone模块及neck模块进行特征提取;
9.步骤4,在步骤3对原yolov7网络改进的基础上继续对原有的head模块进行改进,将步骤3获得特征张量送入到改进后的head模块;
10.步骤5,根据步骤4得到的特征张量送入改进后的head模块的repconv层,再经过检查头,从而输出交通标志检测结果。
11.本发明的特征还在于,
12.步骤1具体按照以下步骤实施:
13.步骤1.1,通过opencv视频的获取操作函数获得驾驶员驾驶过程的视频源;
14.步骤1.2,经过步骤1.1获得驾驶员驾驶过程的视频源之后,设置定时器周期,连接定时器周期溢出的槽函数,用于显示一帧视频,加载成图像帧之后,读取视频的每一帧画面,获取交通标志的系列图像。
15.步骤2具体按照以下步骤实施:
16.步骤2.1,将步骤1获取的交通标志的系列图像进行裁剪或填充操作,使图像的尺寸大小保持一致;
17.步骤2.2,将步骤2.1获得的系列图像中内存不连续存储的数组转换为内存连续存
储的numpy数组;
18.步骤2.3,将步骤2.2处理之后的numpy数组转换为pytorch中的张量。
19.步骤3具体按照以下步骤实施:
20.步骤3.1,在原yolov7网络的backbone模块中的bconv层和mpconv层和neck模块中的mpconv层均引入了专门针对视觉任务的激活函数frelu;
21.步骤3.2,使用参数化池窗口来创建空间依赖项,定义frelu激活函数的形式如式(1)及(2)所示:
22.f(x
c,i,j
)=max(x
c,i,j
,t(x
c,i,j
))
ꢀꢀ
(1)
[0023][0024]
其中,x
c,i,j
为非线性激活,f(
·
)在第c个通道上二维空间位置(i,j)的输入像素;函数t(
·
)表示漏斗条件,表示kh×kw
;以x
c,i,j
为中心的参数化池化窗口,表示该窗口在同一通道上共享的系数,(
·
)表示点乘;
[0025]
步骤3.3,将步骤2得到的张量送入到改进后的backbone模块中进行特征提取,得到输出特征张量,张量一张一张进入,实时监测;
[0026]
步骤3.4,将改进后的backbone模块的输出特征张量送进改进后的neck模块,此外,将改进后的backbone模块中的倒数二三层的elen层的特征张量再送入到改进后的neck模块,进行特征图融合获得特征张量。
[0027]
步骤4具体按照以下步骤实施:
[0028]
步骤4.1,在步骤3对原yolov7网络改进的基础上在原有的head模块中repconv层之前加入归一化nam注意力机制;
[0029]
步骤4.1中,nam注意力机制中包含通道注意力机制模块和空间注意力机制模块,通道注意力机制模块和空间注意力机制模块均使用批归一化(bn)中的比例因子,比例因子如下式(3)所示:
[0030][0031]
其中,μb和σb为小批量b的平均值和标准差,γ和β是可训练的仿射变换参数,b
in
是批量b的输入,b
out
是批量b的输出;
[0032]
步骤4.2,步骤3获得特征张量首先会进入到通道注意力机制模块中,得到通道注意力机制模块的输出特征mc;
[0033]
步骤4.2中,通道注意力机制模块的输出特征如式(4)所示:
[0034]
mc=sigmoid(wγ(bn(f1)))(4)
[0035]
其中,mc表示通道注意力机制模块的输出特征,w
γ
为通道权值,为通道权值,γ为各通道的缩放因子(缩放因子反映出各个通道的变化的大小),k为通道数,bn是比例因子,f1是进入通道注意力机制模块的输入特征;
[0036]
步骤4.3,将得到的通道注意力机制模块的输出特征mc继续输入到到空间注意力机制模块中得到空间注意力机制模块的输出特征ms;
[0037]
步骤4.3中,空间注意力机制模块的输出特征ms如式(5)所示:
[0038]
ms = sigmoid(w
λ
(bns(f2)))
ꢀꢀ
(5)
[0039]
其中,ms表示空间注意力机制模块的输出特征,w
λ
为空间像素权值,λ为各像素的比例参数,n为像素数,bns是空间比例因子,f2是通道注意力机制模块的输出特征;
[0040]
步骤5具体按照以下步骤实施:
[0041]
将步骤4获得的空间注意力机制模块的输出特征ms送入到repconv层得到的张量a,将得到的张量a进入到检测头中,检测头接受输入repconv层输出的张量a并返回最终的输出张量列表z;在预测期间,使用forward方法对a中的每个元素应用卷积层;然后,它重新整形输出张量并对其应用sigmoid激活函数;最后,它将输出张量附加到列表z并返回它;该张量列表z是一个包含框和分数张量的元组,通过该元组中的分数和框判断出该交通标志是哪种交通标志;然后继续循环执行步骤1,实时进行判断交通标志的表示。
[0042]
本发明的有益效果是:
[0043]
本发明方法相较于一些其它的交通标志检测方法来说,本方法用frelu激活函数替代yolov7网络的backbone模块bconv层和mpconv层及网络的neck模块mpconv层的silu激活函数,提升了nam-yolov7网络的学习能力和提取特征能力,使其在背景复杂环境下,仍能够捕捉目标的精细特征,进行像素级建模。其次,本方法在网络的head模块repconv层前加入归一化注意力机制(nam),该注意力机制包含两个模块——通道注意力模块和空间注意力模块。该机制首先使用非局部均值池化(non-local mean pooling)操作来计算各模块张量中不同位置之间的相似度,得到一个权重矩阵,再计算其加权平均值。通过抑制不太显著的权重,将通道注意力模块和空间注意力模块分别得到的特征张量使其进行融合。归一化注意力机制(nam)进一步提高了nam-yolov7网络在背景复杂的目标检测精度,判断交通标志更加准确。
附图说明
[0044]
图1是本发明一种基于归一化注意力机制yolov7的交通标志检测方法的流程图;
[0045]
图2是本发明一种基于归一化注意力机制yolov7的交通标志检测方法的网络结构图;
[0046]
图3是本发明方法中修改的frelu激活函数示意图;
[0047]
图4是本发明方法加入的nma注意力机制后的框架图;
[0048]
图5是本发明方法在实际场景中最终检测到的禁止标志效果图;
[0049]
图6是本发明方法在实际场景中最终检测到的指示标志效果图;
[0050]
图7是本发明方法在实际场景中最终检测到的警告标志效果图。
具体实施方式
[0051]
下面结合附图和具体实施方式对本发明进行详细说明。
[0052]
本发明提供一种基于归一化注意力机制yolov7的交通标志检测方法,如图1所示,具体包括如下步骤:
[0053]
步骤1,获取自动驾驶时拍摄的交通标志的系列图像;
[0054]
步骤1具体按照以下步骤实施:
[0055]
步骤1.1,通过opencv视频的获取操作函数获得驾驶员驾驶过程的视频源;
[0056]
步骤1.2,经过步骤1.1获得驾驶员驾驶过程的视频源之后,设置定时器周期,连接定时器周期溢出的槽函数,用于显示一帧视频,加载成图像帧之后,读取视频的每一帧画面,获取交通标志的系列图像;
[0057]
步骤2,将步骤1获取的交通标志的系列图像裁剪或填充成固定尺寸的大小图像并把它们都转变成张量;
[0058]
步骤2具体按照以下步骤实施:
[0059]
步骤2.1,将步骤1获取的交通标志的系列图像进行裁剪或填充操作,使图像的尺寸大小保持一致;
[0060]
步骤2.2,将步骤2.1获得的系列图像中内存不连续存储的数组转换为内存连续存储的numpy数组,使得运行速度更快;
[0061]
步骤2.3,将步骤2.2处理之后的numpy数组转换为pytorch中的张量,且numpy数组和pytorch中的张量共享内存;
[0062]
nam-yolov7通过在原yolov7网络的基础上,在backbone模块的bconv层和mpconv层和neck模块的mpconv层分别引入frelu激活函数,来提高nam-yolov7网络的捕捉特征能力;在原yolov7网络的head模块中repconv层之前加入归一化注意力机制,改善nam-yolov7网络提取交通标志特征的精细的程度,同时抑制其不太明显的权重。nam-yolov7网络结构图如图2所示。
[0063]
步骤3,对原yolov7网络中的backbone模块及neck模块进行改进,将步骤2得到的张量送入到改进后的backbone模块及neck模块进行特征提取;
[0064]
步骤3具体按照以下步骤实施:
[0065]
步骤3.1,在原yolov7网络的backbone模块中的bconv层和mpconv层和neck模块中的mpconv层均引入了专门针对视觉任务的激活函数frelu,改进后的backbone模块和neck模块能够增加模型对特征的提取融合能力,使神经网络具有去线性化的能力,使得到的特征更具表达性,frelu激活函数的结构如图3所示;
[0066]
步骤3.2,frelu激活函数是一种专门针对视觉任务的激活函数,又是非线性激活函数,在只增加一点点的计算负担的情况下,将relu和prelu扩展成2d激活函数,解决了激活函数中的空间不敏感问题,使规则(普通)的卷积也具备捕获复杂的视觉布局能力,使模型具备像素级建模的能力。为了实现空间条件,使用参数化池窗口来创建空间依赖项,定义frelu激活函数的形式如式(1),(2)所示:
[0067]
f(x
c,i,j
)=max(x
c,i,j
,t(x
c,i,j
))
ꢀꢀ
(1)
[0068][0069]
其中,x
c,i,j
为非线性激活,f(
·
)在第c个通道上二维空间位置(i,j)的输入像素;函数t(
·
)表示漏斗条件,表示kh×kw
;以x
c,i,j
为中心的参数化池化窗口,表示该窗口在同一通道上共享的系数,(
·
)表示点乘;
[0070]
步骤3.3,将步骤2得到的张量送入到nam-yolov7网络的改进后的backbone模块中进行特征提取,得到输出特征张量,张量一张一张进入,实时监测;
[0071]
步骤3.4,将改进后的backbone模块的输出特征张量送进改进后的neck模块,此
外,将改进后的backbone模块中的倒数二三层的elen层的特征张量再送入到改进后的neck模块,进行特征图融合获得特征张量;经过backbone模块和neck模块得到的特征张量会更加精细和具有表达性,尤其是经过特征融合操作。
[0072]
步骤4,在步骤3对原yolov7网络改进的基础上继续对原有的head模块进行改进,最终得到nam-yolov7网络,将步骤3获得特征张量送入到改进后的head模块;
[0073]
步骤4的具体过程为:
[0074]
步骤4.1,在步骤3对原yolov7网络改进的基础上在原有的head模块中repconv层之前加入归一化nam注意力机制,提高模型的特征提取能力,nam注意力机制框架图如图4所示,最终得到nam-yolov7网络;将改进后的neck模块输出的特征张量送入到改进后的head模块中的nam模块中进行进一步的特征提取;由于head模块引入了nam注意力机制,其输出的交通标志特征进一步精细和更加明显;
[0075]
步骤4.1中,nam注意力机制是一种轻量级的高效的注意力机制,通过利用训练模型权重的方差测量来突出显着特征,采用cbam的模块整合,nam注意力机制中包含通道注意力机制模块和空间注意力机制模块,重新设计了通道和空间注意力子模块,通道注意力机制模块和空间注意力机制模块均使用批归一化(bn)中的比例因子,比例因子如下式(3)所示:
[0076][0077]
其中,μb和σb为小批量b的平均值和标准差,γ和β是可训练的仿射变换参数,b
in
是批量b的输入,b
out
是批量b的输出。
[0078]
步骤4.2,步骤3获得特征张量首先会进入到通道注意力机制模块中,
[0079]
得到通道注意力机制模块的输出特征mc;
[0080]
步骤4.2中,通道注意力机制模块的输出特征如式(4)所示:
[0081]
mc=sigmoid(wγ(bn(f1)))(4)
[0082]
其中,mc表示通道注意力机制模块的输出特征,w
γ
为通道权值,为通道权值,γ为各通道的比例参数(缩放因子反映出各个通道的变化的大小),k为通道数,bn是比例因子,f1是进入通道注意力机制模块的输入特征;
[0083]
步骤4.3,将得到的通道注意力机制模块的输出特征mc继续输入到到空间注意力机制模块中得到空间注意力机制模块的输出特征ms,在空间维度上应用了bn的比例因子来衡量像素的重要性,称之为像素归一化;
[0084]
步骤4.3中,空间注意力机制模块的输出特征ms如式(5)所示:
[0085]
ms = sigmoid(w
λ
(bns(f2)))
ꢀꢀ
(5)
[0086]
其中,ms表示空间注意力机制模块的输出特征,w
λ
为空间像素权值,λ为各像素的比例参数,n为像素数,bns是空间比例因子,f2是通道注意力机制模块的输出特征;
[0087]
步骤5,根据步骤4得到的特征张量(空间注意力机制模块的输出特征ms)送入改进后的head模块的repconv层,再经过检查头,从而输出交通标志检测结果。
[0088]
步骤5的具体过程为:
[0089]
将步骤4获得的空间注意力机制模块的输出特征ms送入到repconv层得到的张量a,将得到的张量a进入到检测头中,检测头接受输入repconv层输出的张量a并返回最终的输出张量列表z;在预测期间,使用forward方法对a中的每个元素应用卷积层;然后,它重新整形输出张量并对其应用sigmoid激活函数;最后,它将输出张量附加到列表z并返回它;该张量列表z是一个包含框和分数张量的元组,通过该元组中的分数和框判断出该交通标志是哪种交通标志,提前进行规避风险;然后继续循环执行步骤1,实时进行判断交通标志的表示。
[0090]
本发明首先将含交通标志的图像裁剪成固定尺寸的图像并转化成张量,作为nam-yolov7网络的输入;由nam-yolov7的backbone模块对交通标志图像张量进行特征提取;backbone模块的输出送入neck模块,此外,再将backbone模块中倒数二三层elen层得到的特征张量,送进neck模块,与前者进行特征融合,使neck模块输出的特征张量更具有表达性;然后,经过head模块,由于head模块引入归一化注意力机制(nam),nam-yolov7网络能够更好地捕捉特征张量中的长距离依赖关系,通过在不同位置之间建立的依赖关系(通道注意力和空间注意力),使特征图更加明显;最后经过repconv层,由检测头得出结果。
[0091]
实验结果:
[0092]
本研究采用的数据集为全新中国交通标志检测数据集2021-cctsdb 2021,该交通标志的检测是自主驾驶和智能交通系统的重要组成部分,在数据集里用困难的样本替换了许多原始的易检测图像,以适应复杂多变的检测环境。由于困难样本数量的增加,新的基准测试与旧版本相比可以在一定程度上提高检测网络的鲁棒性。
[0093]
实验的软件环境为:操作系统linux,python3.9.13,pytorch1.8.1,cuda11.3.1,硬件环境为:gpu3070ti,cpu为intel(r)xeon(r)silver 4110cpu@2.10ghz。
[0094]
实验参数设置:优化器使用随机梯度下降sgd,学习率为1e-4,权重衰减为5e-4,动量为0.8,batch size的大小为8,训练300个epoch,workers默认值为8。
[0095]
实验评价指标:本实验使用所有类别的识别平均准确率均值map@0.5(mean average precision,iou阈值取大于0.5)作为评价指标。其中各项结果如表1所示:
[0096]
表1
[0097] map@.5(%)r(%)warning9085.7prohibited89.583.6mandatory94.888.5
[0098]
nam-yolov7网络与原网络的对比如表2所示,其中还使用了不同的权重文件进行对比,nam-yolov7使用的是yolov7权重文件:
[0099]
表2
[0100]
网络模型p(%)r(%)map@.5(%)map@.5:.95(%)yolov78280.286.762.7yolov7-x79.472.579.253.6yolov7-w680.166.374.146.3yolov7-e681.572.781.855.8
yolov7-d684.265.575.948.2nam-yolov787.585.991.468.5
[0101]
由图5可以看出,禁止标志一般为白色背景,红色圆圈和斜杠,以及黑色主体物,起到禁止或限制一系列行为的作用,例如禁止行人或车辆通行。
[0102]
由图6可以看出,指示标志背景通常为蓝色,白色主体物,标志牌主要为圆形,长方形,以及正方形,起到指示和指路的作用,例如指引车辆或行人通行,指引道路方向和距离等。
[0103]
由图7可以看出,警告标志背景通常为黄色,边框采用黑色,主体物采用黑色,形状一般为三角形,作用主要为警示车辆前方存在危险,例如前方有落石等危险或者前方有学校。
[0104]
由上述实验结果可知,该网络通过在yolov7的backbone模块的bconv层和mpconv层和neck模块的mpconv层分别引入frelu激活函数,来提高nam-yolov7网络的捕捉特征能力;通过在yolov7网络的head模块加入归一化注意力机制(normalizationattention,nam),改进后的nam-yolov7网络提取交通标志特征的精细的程度大大提高,同时抑制其不太明显的权重。该网络解决了现有技术中背景复杂下交通标志检测精度低的问题,同时使用的yolov7保证了交通标志检测的实时性的问题。
技术特征:
1.基于归一化注意力机制yolov7的交通标志检测方法,其特征在于,具体如下:步骤1,获取自动驾驶时拍摄的交通标志的系列图像;步骤2,将步骤1获取的交通标志的系列图像裁剪或填充成固定尺寸的大小图像并把它们都转变成张量;步骤3,对原yolov7网络中的backbone模块及neck模块进行改进,将步骤2得到的张量送入到改进后的backbone模块及neck模块进行特征提取;步骤4,在步骤3对原yolov7网络改进的基础上继续对原有的head模块进行改进,将步骤3获得特征张量送入到改进后的head模块;步骤5,根据步骤4得到的特征张量送入改进后的head模块的repconv层,再经过检查头,从而输出交通标志检测结果。2.根据权利要求1所述的基于归一化注意力机制yolov7的交通标志检测方法,其特征在于,步骤1具体按照以下步骤实施:步骤1.1,通过opencv视频的获取操作函数获得驾驶员驾驶过程的视频源;步骤1.2,经过步骤1.1获得驾驶员驾驶过程的视频源之后,设置定时器周期,连接定时器周期溢出的槽函数,用于显示一帧视频,加载成图像帧之后,读取视频的每一帧画面,获取交通标志的系列图像。3.根据权利要求1所述的基于归一化注意力机制yolov7的交通标志检测方法,其特征在于,步骤2具体按照以下步骤实施:步骤2.1,将步骤1获取的交通标志的系列图像进行裁剪或填充操作,使图像的尺寸大小保持一致;步骤2.2,将步骤2.1获得的系列图像中内存不连续存储的数组转换为内存连续存储的numpy数组;步骤2.3,将步骤2.2处理之后的numpy数组转换为pytorch中的张量。4.根据权利要求1所述的基于归一化注意力机制yolov7的交通标志检测方法,其特征在于,步骤3具体按照以下步骤实施:步骤3.1,在原yolov7网络的backbone模块中的bconv层和mpconv层和neck模块中的mpconv层均引入了专门针对视觉任务的激活函数frelu;步骤3.2,使用参数化池窗口来创建空间依赖项,定义frelu激活函数的形式如式(1)及(2)所示:f(x
c,i,j
)=max(x
c,i,j
,t(x
c,i,j
))
ꢀꢀ
(1)其中,x
c,i,j
为非线性激活,f(
·
)在第c个通道上二维空间位置(i,j)的输入像素;函数t(
·
)表示漏斗条件,表示k
h
×
k
w
;以x
c,i,j
为中心的参数化池化窗口,表示该窗口在同一通道上共享的系数,(
·
)表示点乘;步骤3.3,将步骤2得到的张量送入到改进后的backbone模块中进行特征提取,得到输出特征张量,张量一张一张进入,实时监测;步骤3.4,将改进后的backbone模块的输出特征张量送进改进后的neck模块,此外,将改进后的backbone模块中的倒数二三层的elen层的特征张量再送入到改进后的neck模块,进行特征图融合获得特征张量。5.根据权利要求1所述的基于归一化注意力机制yolov7的交通标志检测方法,其特征
在于,步骤4具体按照以下步骤实施:步骤4.1,在步骤3对原yolov7网络改进的基础上在原有的head模块中repconv层之前加入归一化nam注意力机制;步骤4.1中,nam注意力机制中包含通道注意力机制模块和空间注意力机制模块,通道注意力机制模块和空间注意力机制模块均使用批归一化中的比例因子,比例因子如下式(3)所示:其中,μ
b
和σ
b
为小批量b的平均值和标准差,γ和β是可训练的仿射变换参数,b
in
是批量b的输入,b
out
是批量b的输出;步骤4.2,步骤3获得特征张量首先会进入到通道注意力机制模块中,得到通道注意力机制模块的输出特征mc;步骤4.2中,通道注意力机制模块的输出特征如式(4)所示:mc=sigmoid(wγ(bn(f1)))(4)其中,mc表示通道注意力机制模块的输出特征,w
γ
为通道权值,为通道权值,γ为各通道的比例参,k为通道数,bn是比例因子,f1是进入通道注意力机制模块的输入特征;步骤4.3,将得到的通道注意力机制模块的输出特征mc继续输入到到空间注意力机制模块中得到空间注意力机制模块的输出特征ms;步骤4.3中,空间注意力机制模块的输出特征ms如式(5)所示:ms = sigmoid(w
λ
(bns(f2)))
ꢀꢀ
(5)其中,ms表示空间注意力机制模块的输出特征,w
λ
为空间像素权值,λ为各像素的比例参数,n为像素数,bns是空间比例因子,f2是通道注意力机制模块的输出特征。6.根据权利要求4所述的基于归一化注意力机制yolov7的交通标志检测方法,其特征在于,步骤5具体按照以下步骤实施:将步骤4获得的空间注意力机制模块的输出特征ms送入到repconv层得到的张量a,将得到的张量a进入到检测头中,检测头接受输入repconv层输出的张量a并返回最终的输出张量列表z;在预测期间,使用forward方法对a中的每个元素应用卷积层;然后,它重新整形输出张量并对其应用sigmoid激活函数;最后,它将输出张量附加到列表z并返回它;该张量列表z是一个包含框和分数张量的元组,通过该元组中的分数和框判断出该交通标志是哪种交通标志;然后继续循环执行步骤1,实时进行判断交通标志的表示。
技术总结
本发明公开基于归一化注意力机制YOLOv7的交通标志检测方法,具体如下:步骤1,获取自动驾驶时拍摄的交通标志的系列图像;步骤2,将步骤1获取的交通标志的系列图像裁剪或填充成固定尺寸的大小图像并把它们都转变成张量;步骤3,将步骤2得到的张量送入到改进后的backbone模块及neck模块进行特征提取;步骤4,在步骤3对原YOLOv7网络改进的基础上继续对原有的head模块进行改进,将步骤3获得特征张量送入到改进后的head模块;步骤5,根据步骤4得到的特征张量送入改进后的head模块的REPConv层,再经过检查头,从而输出交通标志检测结果。解决了现有技术中背景复杂下交通标志检测精度低的问题。度低的问题。度低的问题。
技术研发人员:刘晶 刘俊伟
受保护的技术使用者:西安理工大学
技术研发日:2023.05.30
技术公布日:2023/9/14
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/