一种动态置信度的跨域行人重识别方法及系统
未命名
10-18
阅读:99
评论:0
1.本发明涉及行人重识别领域,特别是涉及一种动态置信度的跨域行人重识别方法及系统。
背景技术:
2.行人重识别(person re-identification也称行人再识别,简称为reid,是利用计算机视觉技术判断图像或者视频序列中是否存在特定行人的技术;或者说,行人重识别是指在已有的可能来源与非重叠摄像机视域的视频序列中识别出目标行人。广泛被认为是一个图像检索的子问题。给定一个监控行人图像,检索跨设备下的该行人图像。在监控视频中,由于相机分辨率和拍摄角度的缘故,通常无法得到质量非常高的人脸图片。当人脸识别失效的情况下,reid就成为了一个非常重要的替代品技术。reid有一个非常重要的特性就是跨摄像头,所以学术论文里评价性能的时候,是要检索出不同摄像头下的相同行人图片。reid已经在学术界研究多年,但直到最近几年随着深度学习的发展,才取得了非常巨大的突破。
3.随着深度学习的飞速发展,结合深度神经网络在语义特征抽取、端到端训练优势的深度学习,逐步进入人们的眼帘。相比于传统方法,深度网络可以抽取到更加具有辨识性的特征,从而更好的完成行人重识别任务,有监督的行人重识别技术在近年来也有很大的突破,但由于不同数据集之间存在域差异,导致在一个数据集上表现较好的模型不能应用到其他数据集上,这对行人重识别的实际应用产生了很大的阻碍,因此无监督域自适应行人重识别(unsupervised domain adaptive person re-identification,uda-reid)逐渐引起了人们的注意。
4.现有技术缺点1:基于聚类的uda-reid在分配伪标签的时候,由于一开始模型在目标域上表现并不是很好,一定会存在噪声样本,而之前的方法一般是通过一些标签细化的方法进一步对伪标签细化,并不能完全去除噪声样本,这就导致了噪声样本会极大损害模型的训练。
5.现有技术缺点2:k-means聚类由于需要提前设定簇的数量,对于复杂数据的聚类表现并不是很好,而dbscan聚类算法就没有这种缺点,但是dbscan在聚类时也会存在离群值,这些离群值并没有在簇中,因此在训练时就会被忽略,这就导致训练数据不完整,模型可能会陷入局部优。
6.由上述可知,现有方法都存在各自的不稳定问题,因此,亟需一种新的行人重识别方法或系统,以提高uda-reid技术的性能。
技术实现要素:
7.本发明的目的是提供一种动态置信度的跨域行人重识别方法及系统,能够提高行人重识别的性能。
8.为实现上述目的,本发明提供了如下方案:
9.一种动态置信度的跨域行人重识别方法,包括:
10.利用源域训练集预训练resnet-50网络,得到当前模型;所述源域为带有标签的行人重识别数据集;所述源域训练集为行人重识别数据集中用于模型训练的数据;
11.确定当前模型在源域测试集的均值平均精度map;并利用map估计当前模型在目标域无标签数据集上的置信度;所述源域测试集分为查询集query sets和参考集gallery sets;
12.利用当前模型抽取目标域无标签数据集的特征;并利用dbscan算法对抽取的特征进行聚类,将聚类后的聚类id作为目标域无标签数据集中对应行人图片的伪标签,得到目标域伪标签数据集;
13.利用聚类产生的离群值特征初始化记忆库;所述记忆库用于存储离群值特征;并用于离群值特征损失函数的计算;
14.利用目标域伪标签数据集、置信度以及记忆库训练当前模型,并在之后每一轮的训练当中,都重新构建目标域伪标签数据集、置信度和记忆库,直至当前模型达到最优,得到跨域行人重识别模型;
15.利用跨域行人重识别模型对待识别的行人图片进行识别。
16.可选地,所述利用源域训练集预训练resnet-50网络,得到当前模型,具体包括:
17.使用交叉熵损失函数和三元组损失函数联合预训练resnet-50网络。
18.可选地,联合预训练的过程为:
19.在经过resnet-50网络的池化层之后的特征使用三元组损失函数;
20.在经过resnet-50网络的全连接层之后的使用交叉熵损失函数。
21.可选地,所述确定当前模型在源域测试集的均值平均精度map,具体包括:
22.将当前模型最后的全连接层去掉,保留自适应平均池化层;
23.利用处理后的当前模型分别抽取查询集query sets的特征和参考集gallery sets的特征;
24.计算查询集query sets中每一行人图片与参考集gallery sets中每一行人图片的相似度;
25.根据相似度计算当前模型在源域测试集上的map。
26.可选地,所述利用目标域伪标签数据集、当前置信度以及记忆库训练当前模型,直至当前模型达到最优,得到跨域行人重识别模型,具体包括:
27.在当前模型之后加入一个全连接层,输出维度为聚类的簇数量;
28.目标域无标签数据集抽取的特征用于三元组损失函数的计算;并将目标域无标签数据集抽取的特征输入全连接层获得分类结果并用于分类损失函数的计算;
29.根据目标域伪标签数据集和置信度进行监督学习;并根据记忆库确定离群值特征损失函数,利用离群值特征损失函数对离群值特征进行实时更新。
30.可选地,所述离群值特征损失函数为:
[0031][0032]
其中,l
discret
为离群值特征损失函数值,f
it
为目标域行人图片特征,fk相似度排名
前k的特征,fn为相似度排名不在前k的其他特征,m为超参数,nb为此时mini-batch中的行人图片数量,n2为离群值特征的数量。
[0033]
可选地,并根据memory bank确定离群值特征损失函数,利用离群值特征损失函数对离群值特征进行实时更新,具体包括以下公式:
[0034][0035]
其中,为离群值特征损失函数相对于特征fj的偏导值,用于特征的更新,ki为相似度排名前k的特征。
[0036]
一种动态置信度的跨域行人重识别系统,包括:
[0037]
预训练模块,用于利用源域训练集预训练resnet-50网络,得到当前模型;所述源域为带有标签的行人重识别数据集;所述源域训练集为行人重识别数据集中用于模型训练的数据;
[0038]
置信度确定模块,用于确定当前模型在源域测试集的均值平均精度map;并利用map估计当前模型在目标域无标签数据集上的当前置信度;所述源域测试集分为查询集query sets和参考集gallery sets;
[0039]
目标域伪标签数据集确定模块,用于利用当前模型抽取目标域无标签数据集的特征;并利用dbscan算法对抽取的特征进行聚类,将聚类后的聚类id作为目标域无标签数据集中对应行人图片的伪标签,得到目标域伪标签数据集;
[0040]
记忆库初始化模块,用于利用聚类产生的离群值特征初始化记忆库;所述记忆库用于存储离群值特征;并用于离群值特征损失函数的计算;
[0041]
跨域行人重识别模型确定模块,用于利用目标域伪标签数据集、置信度以及记忆库训练当前模型,并在之后每一轮的训练当中,都重新构建目标域伪标签数据集、置信度和记忆库,直至当前模型达到最优,得到跨域行人重识别模型;
[0042]
识别模块,用于利用跨域行人重识别模型对待识别的行人图片进行识别。
[0043]
根据本发明提供的具体实施例,本发明公开了以下技术效果:
[0044]
本发明所提供的一种动态置信度的跨域行人重识别方法及系统,首先在源域上预训练模型,在预训练完成之后,再使用无标签的目标域去调整模型,提高模型在目标域上的性能。由于一开始模型中的参数都是根据源域上的样本去训练得到的,因此在模型调整阶段一开始,模型在源域上的性能依旧会很好,但随着模型在目标域上的不断调整,模型在源域上的性能会逐渐下降,而在目标域上的性能会逐渐提高。在调整阶段,通过map体现,并通
过map计算此时模型的置信度,此置信度会结合损失函数进行此时的损失计算,由于置信度在模型调整的一开始阶段会比较小,会一定程度缓解噪声样本对于模型更新的损害,减弱噪声样本的影响,随着,模型的更新调整,置信度也会变高,可以更加充分利用伪标签;在样本分配伪标签之后,结合离群值损失,会进一步促使模型学习到具有辨别力的特征,能够更加充分的利用全部数据,提高模型的性能。
附图说明
[0045]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0046]
图1为本发明所提供的一种动态置信度的跨域行人重识别方法流程示意图;
[0047]
图2为跨域行人重识别模型确定的流程示意图。
具体实施方式
[0048]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0049]
本发明的目的是提供一种动态置信度的跨域行人重识别方法及系统,能够提高行人重识别的性能。
[0050]
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0051]
如图1和图2所示,本发明所提供的一种动态置信度的跨域行人重识别方法,包括:
[0052]
s101,利用源域训练集xs预训练resnet-50网络,得到当前模型;所述源域为带有标签的行人重识别数据集;所述源域训练集为行人重识别数据集中用于模型训练的数据。
[0053]
resnet-50是残差学习网络,包括layer1-4、池化层和1000维输出的全连接层,仅保存模型中layer4之前的网络,此网络用来抽取图片的高维特征,并添加一个自适应平均池化层,可以将高维特征降低维度f
is
,并用作之后三元组损失的计算,在自适应平均池化层之后添加完全连接(fc)层,用来分类,fc层的输出维度为s
id
维,s
id
为源域训练集的id个数。
[0054]
使用交叉熵损失函数和三元组损失函数联合训练模型,具体的,在经过池化层之后的特征使用三元组损失函数,将其视为验证问题,在fc层之后的使用交叉熵损失,将其视为分类问题,两种损失函数共同训练模型直至模型收敛,生成初始的re-id模型,损失计算公示如下:
[0055][0056]
式中,l
cls
为分类损失值,l
ce
为交叉熵损失值,nb为此时mini-batch中的行人图片
数量,l
ce
为所计算的单人交叉熵损失函数值,所有行人交叉熵损失值求和平均值后为分类损失值,f
is
为源域行人图片特征,φ(f
is
)为经过全连接层之后的分类结果,yi当前行人图片的真实标签,l
tri
为三元组损失值,δ为超参数,即为人工设置的常数,f
i+
为当前行人在mini-batch中最难的正样本,即当前行人特征距离最远的正样本,f
i-为当前行人在mini-batch中最近的负样本,即当前行人距离最近的负样本。
[0057]
s102,确定当前模型在源域测试集的均值平均精度map;并利用map估计当前模型在目标域无标签数据集上的置信度,所述源域测试集分为查询集query sets和参考集gallery sets。
[0058]
s102具体包括:
[0059]
将当前模型最后的全连接层去掉,保留自适应平均池化层;
[0060]
利用处理后的当前模型分别抽取查询集query sets的特征和参考集gallery sets的特征;
[0061]
计算查询集query sets中每一行人图片与参考集gallery sets中每一行人图片的相似度;
[0062]
根据相似度计算当前模型在源域测试集上的map,具体的计算方法如下:
[0063][0064]
式中,ω为计算的置信度值,map为meanaverageprecision,api为当前图片x在gallery sets中排在第i位的真正例的平均准确率,i的取值为{1,2,3,...,k},k为gallery sets中与当前图片x同一标签的行人数量,真正例为gallery sets中与当前图片x同一标签的行人图片,真正例数量为排在第i位的真正例(同一行人图片)之前所有真正例的数量,预测正例为排在第i位的真正例(同一行人图片)之前的所有行人图片,预测正例数量排在第i位的真正例(同一行人图片)之前的所有行人图片的数量。
[0065]
s103,利用当前模型抽取目标域无标签数据集的特征;并利用dbscan算法对抽取的特征进行聚类,将聚类后的聚类id作为目标域无标签数据集中对应行人图片的伪标签,得到目标域伪标签数据集。
[0066]
将目标域中的每个数据输入到网络中抽取特征将所有图片的特征利用dbscan算法进行聚类,将簇id当做伪标签,则此时数据集变为因为dbscan聚类会产生离群值,即不在簇中的数据,将所有不在簇中的数据特征收集起来可以得到其中n1+n2=n
t
,其中n1为被分配了伪标签的行人图片数量,n2为离群值特征的数量,即没有被分配伪标签的行人数量,n1为目标域所有行人图片的数量。
[0067]
s104,利用聚类产生的离群值特征初始化记忆库;所述记忆库用于存储离群值特征;并用于离群值特征损失函数的计算。
[0068]
s105,利用目标域伪标签数据集、当前置信度以及记忆库训练当前模型,重复
s102-s105,直至当前模型达到最优,得到跨域行人重识别模型。
[0069]
s105具体包括:
[0070]
在当前模型之后加入一个全连接层,输出维度为聚类的簇数量;
[0071]
目标域无标签数据集抽取的特征f
it
用于三元组损失函数的计算;并将目标域无标签数据集抽取的特征输入全连接层获得分类结果并用于分类损失函数的计算;
[0072]
损失函数为:
[0073][0074]
式中,l
cls
为分类损失值,l
ce
为交叉熵损失值,nb为此时mini-batch中的行人图片数量,l
ce
为所计算的单人交叉熵损失函数值,所有行人交叉熵损失值求和平均值后为分类损失值,f
is
为源域行人图片特征,φ(f
is
)为经过全连接层之后的分类结果,yi当前行人图片的真实标签,l
tri
为三元组损失值,δ为超参数,用来平衡当前特征与正负样本特征之间的距离,f
i+
为当前行人在mini-batch中最难的正样本,即当前行人特征距离最远的正样本,f
i-为当前行人在mini-batch中最近的负样本,即当前行人距离最近的负样本,ω为所计算的置信度值。
[0075]
根据目标域伪标签数据集和置信度进行监督学习;并根据memory bank确定离群值损失函数,利用离群值特征损失函数对离群值特征进行实时更新。
[0076]
根据离群值初始化的memory bank提出了离群值特征损失函数,结合其他损失函数共同优化模型,在一个数据输入到模型得到特征f
it
之后,计算此特征与f
discret
中每一个特征的相似度,假设相似度排名前k个为正样本,其余为负样本,损失函数主要用于增大与正样本之间的相似性,同时缩小与负样本之间的相似度,将前k个特征记为ki,离群值特征损失函数为:
[0077][0078]
其中,l
discret
为离群值特征损失函数值,f
it
为目标域行人图片特征,fk相似度排名前k的特征,fn为相似度排名不在前k的其他特征,m为超参数,nb为此时mini-batch中行人图片数量,n2为离群值特征的数量。
[0079]
计算损失函数并且以最小化损失函数为目标,采用梯度下降法优化行人重识别模型中的参数,损失函数的公式如下:
[0080]
l=l
cls
+l
tri
+l
discret
。
[0081]
式中,l为总损失值,l
cls
为分类损失值,l
ce
为交叉熵损失值,l
discret
为离群值特征损失函数值。
[0082]
由于模型更新方式为批处理更新,会导致批处理的过程中离群值特征与模型更新不一致的情况,即模型在一次批处理更新之后,离群值特征没有相应更新,针对此情况,结合离群值特征损失对离群值特征进行实时更新,方式如下:
[0083]
其中,为离群值特征损失函数想对于特征fj的偏导值,用于特征的更新,ki为相似度排名前k的特征。
[0084]
s106,利用跨域行人重识别模型对待识别的行人图片进行识别。待识别的行人图片为要查找的行人图片和待识别的行人图片。
[0085]
根据特征抽取单元抽取的行人特征,计算两行人特征之间距离,距离计算公式如下:
[0086][0087]
式中,d(xi,xj)为行人xi与行人xj之间的特征距离值,xi为要查找的行人图片,xj为待识别的行人图片,f(xi)为要查找的行人图片特征,f(xj)为待识别的行人特征。
[0088]
根据计算单元所得到的两行人之间的特征距离,判断是否小于提前设定好的阈值,若小于,则为同一行人,否则就不是。
[0089]
本发明实施上述方案的原理如下:在无监督域自适应行人重识别中,由于源域和目标域存在域差异,会导致在源域上预训练的模型在目标域上的表现会有很大程度的下降,而基于聚类的方法由于源域和目标域在样本的背景、摄像头的像素等等原因,模型抽取到的目标域特征不具有特别好的辨别能力,因此会导致一开始聚类的过程中,同一个簇中可能会存在不止一个人,即将不同类的伪标签是一致的,因而导致大量噪声存在于伪标签中。
[0090]
不同的聚类方法也会产生不同的效果,本发明中所采用的dbscan聚类方法具有无需提前设置簇的数量和簇形状多变的优点,但是聚类完成之后会有大量的离群值,即有很多样本并没有被分到簇中,在以往方法中可能会直接忽略这些样本,但是这些样本也具有一定的价值。
[0091]
作为另一个具体的实施例,本发明所提供的一种动态置信度的跨域行人重识别系统,包括:
[0092]
预训练模块,用于利用源域训练集预训练resnet-50网络,得到当前模型;所述源域为带有标签的行人重识别数据集;所述源域训练集为行人重识别数据集中用于模型训练的数据。
[0093]
置信度确定模块,用于确定当前模型在源域测试集的均值平均精度map;并利用map估计当前模型在目标域无标签数据集上的当前置信度,所述源域测试集分为查询集
query sets和参考集gallery sets。
[0094]
目标域伪标签数据集确定模块,用于利用当前模型抽取目标域无标签数据集的特征;并利用dbscan算法对抽取的特征进行聚类,将聚类后的聚类id作为目标域无标签数据集中对应行人图片的伪标签,得到目标域伪标签数据集。
[0095]
记忆库初始化模块,用于利用聚类产生的离群值特征初始化记忆库;所述记忆库用于存储离群值特征;并用于离群值特征损失函数的计算。
[0096]
跨域行人重识别模型确定模块,用于利用目标域伪标签数据集、当前置信度以及记忆库训练当前模型,直至当前模型达到最优,得到跨域行人重识别模型。
[0097]
识别模块,用于利用跨域行人重识别模型对待识别的行人图片进行识别。
[0098]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0099]
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
技术特征:
1.一种动态置信度的跨域行人重识别方法,其特征在于,包括:利用源域训练集预训练resnet-50网络,得到当前模型;所述源域为带有标签的行人重识别数据集;所述源域训练集为行人重识别数据集中用于模型训练的数据;确定当前模型在源域测试集的均值平均精度map;并利用map估计当前模型在目标域无标签数据集上的置信度;所述源域测试集为行人重识别数据集中用于测试模型性能的数据,分为查询集query sets和参考集gallery sets;利用当前模型抽取目标域无标签数据集的特征;并利用dbscan算法对抽取的特征进行聚类,将聚类后的聚类id作为目标域无标签数据集中对应行人图片的伪标签,得到目标域伪标签数据集;利用聚类产生的离群值特征初始化记忆库;所述记忆库用于存储离群值特征;并用于离群值特征损失函数的计算;利用目标域伪标签数据集、置信度以及记忆库训练当前模型,并在每一轮的训练当中,重新构建目标域伪标签数据集、置信度和记忆库,直至当前模型达到最优,得到跨域行人重识别模型;利用跨域行人重识别模型对待识别的行人图片进行识别。2.根据权利要求1所述的一种动态置信度的跨域行人重识别方法,其特征在于,所述利用源域训练集预训练resnet-50网络,得到当前模型,具体包括:使用交叉熵损失函数和三元组损失函数联合预训练resnet-50网络。3.根据权利要求2所述的一种动态置信度的跨域行人重识别方法,其特征在于,联合预训练的过程为:在经过resnet-50网络的池化层之后的特征使用三元组损失函数;在经过resnet-50网络的全连接层之后的使用交叉熵损失函数。4.根据权利要求1所述的一种动态置信度的跨域行人重识别方法,其特征在于,所述确定当前模型在源域测试集的均值平均精度map,具体包括:将当前模型最后的全连接层去掉,保留自适应平均池化层;利用处理后的当前模型分别抽取查询集query sets的特征和参考集gallery sets的特征;计算查询集query sets中每一行人图片与参考集gallery sets中每一行人图片的相似度;根据相似度计算当前模型在源域测试集上的map。5.根据权利要求1所述的一种动态置信度的跨域行人重识别方法,其特征在于,所述利用目标域伪标签数据集、置信度以及记忆库训练当前模型,直至当前模型达到最优,得到跨域行人重识别模型,具体包括:在当前模型之后加入一个全连接层,输出维度为聚类的簇数量;目标域无标签数据集抽取的特征用于三元组损失函数的计算;并将目标域无标签数据集抽取的特征输入全连接层获得分类结果并用于分类损失函数的计算;根据目标域伪标签数据集和置信度进行监督学习;并根据记忆库计算离群值特征损失函数,利用离群值特征损失函数对离群值特征进行实时更新。6.根据权利要求5所述的一种动态置信度的跨域行人重识别方法,其特征在于,所述离
群值特征损失函数为:其中,l
discret
为离群值特征损失函数值,f
it
为目标域行人图片特征,f
k
相似度排名前k的特征,f
n
为相似度排名不在前k的其他特征,m为超参数,n
b
为此时mini-batch中的行人图片数量,n2为离群值特征的数量。7.根据权利要求6所述的一种动态置信度的跨域行人重识别方法,其特征在于,根据记忆库确定离群值特征损失函数,利用离群值特征损失函数对离群值特征进行实时更新,具体包括以下公式:其中,为离群值特征损失函数相对于特征f
j
的偏导值,用于特征的更新,k
i
为相似度排名前k的特征。8.一种动态置信度的跨域行人重识别系统,其特征在于,包括:预训练模块,用于利用源域训练集预训练resnet-50网络,得到当前模型;所述源域为带有标签的行人重识别数据集;所述源域训练集为行人重识别数据集中用于模型训练的数据;置信度确定模块,用于确定当前模型在源域测试集的均值平均精度map;并利用map估计当前模型在目标域无标签数据集上的置信度;所述源域测试集分为查询集query sets和参考集gallery sets;目标域伪标签数据集确定模块,用于利用当前模型抽取目标域无标签数据集的特征;并利用dbscan算法对抽取的特征进行聚类,将聚类后的聚类id作为目标域无标签数据集中对应行人图片的伪标签,得到目标域伪标签数据集;记忆库初始化模块,用于利用聚类产生的离群值特征初始化记忆库;所述记忆库用于存储离群值特征;并用于离群值特征损失函数的计算;跨域行人重识别模型确定模块,用于利用目标域伪标签数据集、置信度以及记忆库训练当前模型,并在每一轮的训练当中,重新构建目标域伪标签数据集、置信度和记忆库,直至当前模型达到最优,得到跨域行人重识别模型;识别模块,用于利用跨域行人重识别模型对待识别的行人图片进行识别。
技术总结
本发明公开一种动态置信度的跨域行人重识别方法及系统,涉及行人重识别领域,该方法包括利用源域训练集预训练ResNet-50网络;确定当前模型在源域测试集的mAP;并利用mAP估计当前模型在目标域无标签数据集上的置信度;利用当前模型抽取目标域无标签数据集的特征;并利用DBSCAN算法对抽取的特征进行聚类,将聚类后的聚类id作为目标域无标签数据集中对应行人图片的伪标签;利用聚类产生的离群值特征初始化记忆库;利用目标域伪标签数据集、置信度以及记忆库训练当前模型,之后重新构建目标域伪标签数据集、置信度和记忆库,直至当前模型达到最优;利用跨域行人重识别模型对待识别的行人图片进行识别。本发明能够提高行人重识别的性能。的性能。的性能。
技术研发人员:魏巍 孙智豪 李琳 郭少杰 王锋
受保护的技术使用者:山西大学
技术研发日:2023.07.17
技术公布日:2023/10/11
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
