基于轻量化网络MobileViT的车载CAN总线异常检测方法
未命名
08-14
阅读:108
评论:0
基于轻量化网络mobilevit的车载can总线异常检测方法
技术领域
1.本发明属于网络与信息安全领域,具体涉及一种基于轻量化网络mobilevit的车载can总线异常检测方法。
背景技术:
2.当前,车载can(controller area network,控制器局域网)总线异常是车联网安全重大威胁之一。车载can总线异常是指在车辆正常行驶中,黑客在驾驶员未知或者未经驾驶员许可的情况下,使用非法的技术手段,攻击车载can总线,导致车载can总线出现异常的情况。车载can总线异常检测,旨在对车载can总线中经过的全部数据进行识别,以防止车载can总线异常从而对行车安全产生更大的危害。
3.传统车载can总线异常检测方法有基于信息熵的车载can总线异常检测方法和基于信息特征分类的车载can总线异常检测方法。基于信息熵的车载can总线异常检测方法是指计算出正常情况下车载can总线的信息熵,并将其标定为异常检测的基准线,再对每个时间片上的车载can总线的信息熵进行计算,将计算得到的车载can总线的信息熵与基准线进行对比,从而判断车载can总线是否出现异常。基于信息熵的车载can总线异常检测的缺点是基准线难以界定,稍高或稍低的基准线对检测结果准确性影响极大。基于信息特征分类的车载can总线异常检测方法是针对车载can总线被攻击后产生的异常行为,选取易于计算的异常行为的关键特征,作为车载can总线异常检测的依据,此种方法的缺点是难以计算出某些异常行为的关键特征,从而不能检测出车载can总线全部异常。此外,无论是基于信息熵还是基于信息特征分类的车载can总线异常检测方法,都需要进行复杂的计算,将消耗大量的硬件资源。
4.鉴于深度学习在图像处理、语音识别、自然语言处理等各个领域的成功应用,基于深度学习的车载can总线异常检测方法研究也成为了现今网络与信息安全领域的研究热点。javed等将卷积神经网络与融合了注意力机制的门控循环单元相结合,构建了车载can总线异常检测模型,并在收集的真实车载can总线上进行测试,最终能够识别出异常行为。这种方法仍旧存在明显的不足就是模型复杂庞大,难以在车载can总线上部署。lo等提出一种基于卷积神经网络和长短期记忆网络的入侵检测方法,利用卷积神经网络对特征提取的能力以及长短期记忆网络对时序性数据的适用性,在实际车载can总线上进行实验,实验表明该方法相比传统的机器学习方法,在检测精度和误报率指标上都有大幅度提升。但是存在模型训练的收敛速度过慢以及响应时间过长的问题。
5.综上所述,现有的这些基于深度学习的车载can总线异常检测方法都具有一定的检测能力,但是往往存在模型臃肿,参数众多,收敛速度较慢以及响应时间过长等问题。
技术实现要素:
6.本发明要解决的技术问题是针对上述现有技术的不足,提供一种基于轻量化网络mobilevit的车载can总线异常检测方法。
7.为解决上述技术问题,本发明所采取的技术方案是:
8.步骤1:获取原始数据集,并对该原始数据集中的行为流量样本进行预处理,将行为流量样本转化为相对应的行为样本图片,得到图片数据集,将图片数据集划分为训练集和测试集;
9.步骤2:构建轻量级网络模型mobilevit,输入训练集,对其网络参数进行初始化,得到初始车载can总线异常检测模型,并进行超参数优化;
10.步骤3:训练初始车载can总线异常检测模型,得到训练好的车载can总线异常检测模型;
11.步骤4:采用f1分数f1-score、查准率precision、召回率recall以及准确率accuracy作为评价指标,利用测试集评估训练好的车载can总线异常检测模型,将得到的指标结果与现有模型的指标进行对比,验证车载can总线异常检测模型的检测效果。
12.进一步的,所述步骤1包括:
13.步骤1.1:获取car-hacking dataset数据集作为原始数据集;
14.步骤1.2:对原始数据集中的行为流量样本进行预处理:对原始数据集进行数据清洗、维度转换,将行为流量样本转化为相对应的行为样本图片;
15.步骤1.3:根据预处理后得到的行为样本图片生成图片数据集,将图片数据集按8:2随机划分为训练集和测试集。
16.进一步的,所述步骤2包括:
17.步骤2.1:构建轻量化网络模型mobilevit,其结构包括:卷积层、mv2模块、mvit模块、全局池化层以及全连接层;
18.进一步的,所述步骤2.1还包括:
19.所述mv2模块是一个倒残差结构,包括:卷积核大小为1
×
1的卷积层,激活函数层为gelu函数,卷积核大小为3
×
3的深度可分离卷积层,激活函数层为gelu函数,卷积核大小为1
×
1的卷积层,激活函数层为线性激活函数;该倒残差结构只有当步幅stride为1且输入特征矩阵与输出特征矩阵形状相同时,才能有捷径shortcut相连;
20.所述mvit模块由三个功能子模块组成,分别为局部特征建模模块、全局特征建模模块、特征融合模块;其中:局部特征建模模块,包括卷积核为3
×
3的卷积层和卷积核大小为1
×
1的卷积层;全局特征建模模块为unfold-》transformer-》fold结构;特征融合模块,包括卷积核大小为1
×
1的卷积层、拼接操作、卷积核大小为3
×
3的卷积层;
21.步骤2.2:输入训练集,将轻量化网络模型mobilevit初始化,获得初始的车载can总线异常检测模型,得到模型初始化后的超参数;
22.步骤2.3:使用指数衰减算法自动更新学习率,训练更新模型初始化后的超参数,对初始车载can总线异常检测模型进行优化,指数衰减算法原理如下所示:
23.lr
t
=lr
×
gamma
epoch
24.其中,lr表示初始学习率;lr
t
表示当前学习率;gamma表示学习率衰减因子,即学习率调整倍数的底;epoch表示训练轮次。
25.进一步的,所述步骤3包括:
26.步骤3.1:将划分好的训练集输入优化后的初始车载can总线异常检测模型;
27.步骤3.2:使用随机梯度下降法根据损失函数计算的误差进行训练,在随机梯度下
降的每次迭代中,对数据样本随即均匀采样一个索引m,m∈{1,
…
,n},并计算梯度以更新x,得到训练好的车载can总线异常检测模型,公式如下:
[0028][0029]
其中,fm(x)是关于索引m的训练样本的损失函数,其中x是参数向量,fm(x)为目标函数的梯度,η为学习率;
[0030]
与现有技术相比,本发明提出的技术方案具有以下有益效果:
[0031]
(1)利用改进的轻量级mobilevit网络模型对基于car-hacking dataset数据集生成的行为样本图片进行分类,以此将车载can总线异常检测问题转换为图片分类问题,从而达到对异常行为的检测,实现了对行为流量样本高效识别,使车载can总线的异常检测不再耗费大量的计算资源,提升了检测效率,非常适用于车联网等算力较差的应用场景。
[0032]
(2)本发明首次将轻量化网络模型mobilevit应用于车载can总线的异常检测上。轻量级网络模型mobilevit中的mvit模块仅用少量参数就能实现充分提取图像信息的功能;mv2模块是一个倒残差结构,其中的深度可分离卷积能大幅度减少运算量和参数数量并保持特征矩阵深度不变。此外,再使用gelu替换mv2模块中的常规relu6作为该模块的激活函数,有效解决神经元死亡问题,提升模型收敛速度;在模型的训练过程中,使用指数衰减自动更新学习率,防止模型陷入局部最优的同时还减少了训练时间。从而本发明方法解决了现有基于深度学习方法下,车载can总线异常检测模型存在臃肿,参数众多以及响应时间过长等问题,且在消耗较少硬件资源的情景下,能够对车载can总线的异常进行高效的检测。
附图说明
[0033]
为了更清楚地说明本发明实施例中的具体方式,下面将对实施例中涉及的相关附图做简单说明,下面的附图仅仅是本发明的优选实施例,对于本领域普通技术人员来说,在没有创造性改变的前提下,可以根据这些附图获得其它的附图。
[0034]
图1为本实施例中基于轻量化网络mobilevit的车载can总线异常检测方法的流程示意图;
[0035]
图2为本实施例中轻量化网络mobilevit的结构示意图;
[0036]
图3为本实施例中mv2模块的结构示意图;(a)有shortcut捷径的mv2模块;(b)无shortcut捷径的mv2模块;
[0037]
图4为本实施例中基于car-hacking dataset数据集生成的行为样本图片;(a)基于正常行为normal生成的图片;(b)基于转速欺骗rpm-spoofing生成的图片;(c)基于挡位欺骗gear-spoofing生成的图片;(d)基于拒绝服务攻击dos生成的图片;(e)基于模糊攻击fuzzy生成的图片;
[0038]
图5为本实施例中mvit模块的结构示意图。
具体实施方式
[0039]
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0040]
本发明的核心思路是:通过对car-hacking dataset数据集进行数据清洗以及维
度转化,将car-hacking dataset数据集中的一种正常行为和四种攻击行为转化为对应的行为样本图片,得到行为样本图片数据集,将行为样本图片数据集划分为训练集和测试集;利用划分好的行为样本图片数据集构建并训练得到一个改进的轻量级网络模型mobilevit来实现对基于car-hacking dataset数据集生成的行为样本图片分类,以此将车载can总线异常检测问题转换为图片分类问题,从而达到对车载can总线异常进行检测。轻量级网络模型mobilevit中的mvit模块仅用少量参数就能实现充分提取图像信息的功能;mv2模块是一个倒残差结构,其中的深度可分离卷积能大幅度减少运算量和参数数量并保持特征矩阵深度不变。所述改进的轻量化mobilevit网络模型融合了卷积神经网络对特征提取的突出能力和transformer中的多头注意力机制,使网络模型能够并行捕捉输入数据中的不同特征和模式;通过对轻量化mobilevit网络模型中mv2模块的激活函数进行改进,使用gelu替换mv2模块中的常规relu6,有效解决神经元死亡问题,提升了模型收敛速度;在模型的训练过程中,使用指数衰减自动更新学习率,防止模型陷入局部最优的同时还减少了训练时间。本发明首次将轻量化网络mobilevit应用到车载can总线的异常检测上,在消耗较少硬件资源的情景下,能够对车载can总线的异常进行高效的检测。
[0041]
如图1所示,本实施例提供了一种基于轻量化网络mobilevit的车载can总线异常检测方法,包括以下步骤:
[0042]
步骤1:获取原始数据集,并对该原始数据集中的行为流量样本进行预处理,将行为流量样本转化为相对应的行为样本图片,得到图片数据集,将图片数据集划分为训练集和测试集;
[0043]
步骤1.1:获取car-hacking dataset数据集作为原始数据集;
[0044]
在本实施例中,获取由韩国高丽大学hcrl实验室提供的基于真实车辆环境构建的car-hacking dataset数据集,其具体行为流量样本类型以及数量如表1所示;
[0045]
表1car-hacking dataset数据集
[0046][0047]
步骤1.2:对原始数据集中的行为流量样本进行预处理,对原始数据进行数据清洗,维度转换,将行为流量样本转化为相对应的行为样本图片;
[0048]
步骤1.3:根据预处理后得到的行为样本图片生成图片数据集,将图片数据集按8:2随机划分为训练集和测试集。
[0049]
在本实施例中,对car-hacking dataset数据集的行为流量样本进行预处理:首先对car-hacking dataset数据集进行数据清洗,剔除car-hacking dataset数据集中的脏数据;然后使用分位数归一化的方法进行数据转换,将经过数据清洗后的行为流量样本转换
到0-255的范围;再基于行为流量样本的特征大小和时间戳,将转换到0-255的范围的行为流量样本转换为拥有3个通道的彩色行为样本图片,如图4所示;最后建立行为流量样本与行为样本图片之间的映射关系,5种行为流量样本对应5种行为样本图片,用数字0-4进行标注,所述5种行为流量样本与5种行为样本图片之间的映射关系如表2所示;
[0050]
表2行为流量样本与数字对应关系
[0051][0052][0053]
经上述预处理后,将所获取的car-hacking dataset数据集中的每种行为流量样本转化为对应的具有特定样式的行为样本图片,根据行为样式图片生成图片数据集,即将车载can总线异常检测问题转变为图片分类问题,简化了问题的复杂度。
[0054]
步骤2:构建轻量级网络模型mobilevit,输入训练集,对其网络参数进行初始化,得到初始车载can总线异常检测模型,并进行超参数优化;
[0055]
步骤2.1:构建轻量化网络模型mobilevit;
[0056]
在本实施例中,所构建的轻量级网络模型mobilevit,如图2所示,该网络模型融合了卷积神经网络对特征提取的突出能力和transformer中的多头注意力机制,其结构包括:卷积层、mv2模块、mvit模块、全局池化层以及全连接层;
[0057]
在本实施例中,mv2模块结构,如图3所示,该模块是一个倒残差结构,首先让特征图,即输入的行为样本图片经过上一级模块得到的输出,通过一个卷积核大小为1
×
1的卷积层,并利用经过gelu函数激活,再利用卷积核大小为3
×
3的深度可分离卷积层进行卷积操作,利用gelu函数激活,与传统卷积不同的是,深度可分离卷积能大幅减少运算量和参数数量,并保持特征矩阵深度不变;最后通过一个卷积核大小为1
×
1的卷积层,使用线性激活函数进行激活;该倒残差结构只有当步幅stride为1时,且输入特征矩阵与输出特征矩阵形状相同时,才能有捷径shortcut相连;
[0058]
在本实施例中,mobilevit模块的结构,如图5所示,由三个功能子模块组成,分别为局部特征建模模块、全局特征建模模块、特征融合模块;特征图首先通过局部特征建模模块,利用卷积核为3
×
3的卷积层对特征图进行局部特征建模,紧随一个卷积核大小为1
×
1的卷积层用于调整通道数;接着通过全局特征建模模块的unfold-》transformer-》fold结构进行全局特征建模,紧随一个卷积核大小为1
×
1的卷积层用于将通道数调整至初始大小;然后通过shortcut捷径分支沿着通道方向与原始输入特征图进行拼接;最后通过一个卷积核大小为3
×
3的卷积层进行特征融合得到输出;该模块仅用较少的参数就能实现充分提取图像特征信息的功能;
[0059]
在本实施例中,将训练集数据输入到mobilevit模型后,经过的模块,进行的操作,
以及输出的通道数如表3所示;
[0060]
表3mobilevit模型细节
[0061][0062]
其中,input代表数据输入尺寸;operator代表数据进行何种操作模块;out代表历经操作模块的输出通道数;l表示mvit模块中transformer模块的个数;s表示操作的步长;conv代表卷积操作;mv2代表mobilenetv2模块,mvit代表mobilevit模块;avgpool8
×
8代表大小为8
×
8的平均池化层;fc代表全连接层。
[0063]
步骤2.2:输入训练集,将轻量化网络模型mobilevit初始化,获得初始的车载can总线异常检测模型,得到模型初始化后的超参数;
[0064]
在本实施例中,采用的网络参数初始化方法为xavier方法,它为了保证正向传播和反向传播时每一层的方差一致,在正向传播时,每层的激活值的方差保持不变;在反向传播时,每层的梯度值的方差保持不变。根据每层的输入个数和输出个数来决定参数随机初始化的分布范围,是一个通过该层的输入和输出参数个数得到的分布范围内的均匀分布;此方法为了使得每一层的方差尽可能相等,使得网络中的信息更好地流动,将每一层权重初始化为如下范围内的均匀分布,其公式为:
[0065][0066]
其中,w~u表示对称区间均匀分布;nj表示第j层卷积有n个参数;
[0067]
步骤2.3:使用指数衰减算法自动更新学习率,训练模型初始化后的超参数,对初
始的车载can总线异常检测模型进行优化,指数衰减算法原理如下所示:
[0068]
lr
t
=lr
×
gamma
epoch
[0069]
其中,lr表示初始学习率;lr
t
表示当前学习率;gamma表示学习率衰减因子,即学习率调整倍数的底;epoch表示训练轮次;
[0070]
使用该学习率更新策略,既保证了模型的训练速度,也防止了模型训练初期学习率设置过大,梯度下降过程中在驻点发生震荡现象,也防止了一开始学习率设置过小使模型收敛至局部最优。
[0071]
步骤3:训练初始车载can总线异常检测模型,得到训练好的车载can总线异常检测模型;
[0072]
步骤3.1:将划分好的训练集输入优化后的初始车载can总线异常检测模型;
[0073]
步骤3.2:使用随机梯度下降法根据损失函数计算的误差进行训练,在随机梯度下降的每次迭代中,对数据样本随即均匀采样一个索引m,m∈{1,
…
,n},并计算梯度以更新x,得到训练好的车载can总线异常检测模型,公式如下:
[0074][0075]
其中,fm(x)是关于索引m的训练样本的损失函数,其中x是参数向量,fm(x)为目标函数的梯度,η为学习率。
[0076]
在本实施例中,选择交叉熵损失函数衡量训练过程中对行为样本图片分类结果与实际结果的误差,它是一个非负值函数,损失函数越小,模型的鲁棒性就越好,交叉熵损失函数的表示如下所示:
[0077][0078]
其中,pi代表概率分布,i=0,1,
…
,c-1,每个元素pi表示样本属于第i类行为样本图片的概率;yi代表标签的向量形式表示,i=0,1,
…
,c-1,当行为样本图片属于类别i时,yi=1,否则yi=0;c代表行为样本图片的标签。
[0079]
步骤4:采用f1分数f1-score、查准率precision、召回率recall以及准确率accuracy作为评价指标,利用测试集评估训练好的车载can总线异常检测模型,将得到的指标结果与现有模型的指标进行对比,验证车载can总线异常检测模型的检测效果;
[0080]
在本实施例中,采用该领域内公认的f1分数f1-score、查准率precision、召回率recall以及准确率accuracy作为评价指标,利用准确率指标,通过对各模型准确率值大小的对比,评估各模型的精确度。利用召回率指标,通过对比各模型在所有的真实值为正确的数据中,有多少能预测正确,来评估各模型的稳定性。利用查准率指标,通过对比各模型在所预测为正确的数据中,真实值为正确的比例,来评估各模型的鲁棒性。利用f1分数指标,通过对比各模型将正常行为流量和攻击行为流量进行正确分类的比例,评估各模型二分类的性能;
[0081]
此外,本实施例中还对比了参数量、训练时间以及测试时间这三种指标,对比各模型的参数量来评估训练好的车载can总线异常检测模型规模的大小,对比各模型的训练时间以及测试时间的长短来评估车载can总线异常检测模型的检测效率;
[0082]
在本实施例中,为验证本发明方法的有效性,以vgg16、inception、xception、
resnet、vision-transformer代表复杂化的网络模型,以shufflenetv2、mobilenetv3、mobilevit和改进后的网络模型mobilevit代表轻量化的网络模型,进行对比实验,实验结果如表4所示;
[0083]
表4车载can总线异常检测模型评估的实验结果
[0084][0085][0086]
通过实验结果可以得出以下结论,本实施例提供的改进的车载can总线异常检测模型的参数量最低,只有2.12m,测试时间最短代表着响应快,且检测准确率与复杂模型相同因此适用于车载can总线的异常检测。
[0087]
综上所述,本实施例实现了对行为流量样本高效识别,解决了现有基于深度学习方法下,车载can总线异常检测模型存在臃肿,参数众多以及响应时间过长等问题。此外,本实施例首次将轻量化网络mobilevit应用于车载can总线的异常检测上,而且模型训练后的大小只有2.12m,易于部署到车联网等低算力平台上。
[0088]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;因而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。
技术特征:
1.一种基于轻量化网络mobilevit的车载can总线异常检测方法,其特征在于:包括如下过程:步骤1:获取原始数据集,并对该原始数据集中的行为流量样本进行预处理,将行为流量样本转化为相对应的行为样本图片,得到图片数据集,将图片数据集划分为训练集和测试集;步骤2:构建轻量级网络模型mobilevit,输入训练集,对其网络参数进行初始化,得到初始车载can总线异常检测模型,并进行超参数优化;步骤3:训练初始车载can总线异常检测模型,得到训练好的车载can总线异常检测模型;步骤4:采用f1分数f1-score、查准率precision、召回率recall以及准确率accuracy作为评价指标,利用测试集评估训练好的车载can总线异常检测模型,将得到的指标结果与现有模型的指标进行对比,验证车载can总线异常检测模型的检测效果。2.如权利要求1所述一种基于轻量化网络mobilevit的车载can总线异常检测方法,其特征在于:所述步骤1包括:步骤1.1:获取car-hacking dataset数据集作为原始数据集;步骤1.2:对原始数据集中的行为流量样本进行预处理:对原始数据集进行数据清洗、维度转换,将行为流量样本转化为相对应的行为样本图片;步骤1.3:根据预处理后得到的行为样本图片生成图片数据集,将图片数据集按8:2随机划分为训练集和测试集。3.如权利要求1所述一种基于轻量化网络mobilevit的车载can总线异常检测方法,其特征在于:所述步骤2包括:步骤2.1:构建轻量化网络模型mobilevit,其结构包括:卷积层、mv2模块、mvit模块、全局池化层以及全连接层;步骤2.2:输入训练集,将轻量化网络模型mobilevit初始化,获得初始的车载can总线异常检测模型,得到模型初始化后的超参数;步骤2.3:使用指数衰减算法自动更新学习率,训练更新模型初始化后的超参数,对初始车载can总线异常检测模型进行优化,指数衰减算法原理如下所示:lr
t
=lr
×
gamma
epoch
其中,lr表示初始学习率;lr
t
表示当前学习率;gamma表示学习率衰减因子,即学习率调整倍数的底;epoch表示训练轮次。4.如权利要求3所述一种基于轻量化网络mobilevit的车载can总线异常检测方法,其特征在于:所述步骤2.1中所述mv2模块是一个倒残差结构,包括:卷积核大小为1
×
1的卷积层,激活函数层为gelu函数,卷积核大小为3
×
3的深度可分离卷积层,激活函数层为gelu函数,卷积核大小为1
×
1的卷积层,激活函数层为线性激活函数;该倒残差结构只有当步幅stride为1且输入特征矩阵与输出特征矩阵形状相同时,才能有捷径shortcut相连。5.如权利要求3所述一种基于轻量化网络mobilevit的车载can总线异常检测方法,其特征在于:所述步骤2.1中所述mvit模块由三个功能子模块组成,分别为局部特征建模模块、全局特征建模模块、特征融合模块;其中:局部特征建模模块,包括卷积核为3
×
3的卷积层和卷积核大小为1
×
1的卷积层;全局特征建模模块为unfold->transformer->fold结
构;特征融合模块,包括卷积核大小为1
×
1的卷积层、拼接操作、卷积核大小为3
×
3的卷积层。6.如权利要求1所述一种基于轻量化网络mobilevit的车载can总线异常检测方法,其特征在于:所述步骤3包括:步骤3.1:将划分好的训练集输入优化后的初始车载can总线异常检测模型;步骤3.2:使用随机梯度下降法根据损失函数计算的误差进行训练,在随机梯度下降的每次迭代中,对数据样本随即均匀采样一个索引m,m∈{1,...,n},并计算梯度以更新x,得到训练好的车载can总线异常检测模型,公式如下:其中,f
m
(x)是关于索引m的训练样本的损失函数,其中x是参数向量,为目标函数的梯度,η为学习率。
技术总结
本发明提供一种基于轻量化网络MobileViT的车载CAN总线异常检测方法,涉及网络与信息安全领域。通过对原始数据集进行数据清洗以及维度转化,得到行为样本图片数据集;构建并训练得到一个改进的轻量级网络模型MobileViT来实现对生成的行为样本图片分类,以此将车载CAN总线异常检测问题转换为图片分类问题。使用GELU作为轻量化MobileViT网络模型中MV2模块的激活函数,有效解决神经元死亡问题,提升了模型收敛速度;在模型的训练过程中,使用指数衰减自动更新学习率,防止模型陷入局部最优的同时还减少了训练时间。本发明首次将轻量化网络MobileViT应用到车载CAN总线的异常检测上,在消耗较少硬件资源的情景下,能够对车载CAN总线的异常进行高效的检测。CAN总线的异常进行高效的检测。CAN总线的异常进行高效的检测。
技术研发人员:陈虹 张立昂 刘腊梅
受保护的技术使用者:辽宁工程技术大学
技术研发日:2023.06.14
技术公布日:2023/8/13
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种视力表投影仪的制作方法 下一篇:一种钢衔架单元拼装胎架的制作方法
