一种用于视觉定位的特征提取模型的训练方法及装置
未命名
09-16
阅读:132
评论:0

1.本发明涉及视觉定位技术领域,具体涉及一种用于视觉定位的特征提取模型的训练方法及装置。
背景技术:
2.视觉定位是一个估计6自由度(dof)相机姿态的问题,由此获取一幅图像相对于给定的参考场景的表示。相机姿态用于描述相机在世界坐标系(3d空间)中的位置和方向。相较于全球定位系统(gps)、激光雷达、毫米波雷达,将摄像头作为传感器部署在车辆上成本较低,且摄像头所拍摄的视觉内容丰富。因此视觉定位成为目前最主流的辅助自动驾驶定位技术之一。除了应用于自动驾驶外,视觉定位也是增强、混合虚拟现实的关键技术,还可以为环境感知和路径规划等提供参考和指导。增强现实(ar)技术可以通过投影将三维(3d)虚拟对象叠加到真实环境的图像上,以增强实时图像。增强现实在军事训练、教育、游戏和娱乐等方面具有广泛的应用前景。对于ar游戏来说,相机姿态的准确估计可以改善ar游戏体验。对于ar导航系统来说,视觉定位技术可以提供更高精度的定位来实现精确的ar交互显示,带来更加身临其境的实景导航体验。除此之外,视觉定位还可以应用于无人机驾驶,确保无人机稳定悬停,保证飞机姿态修正和基准定位。
3.综上所述,视觉定位是自动驾驶和增强虚拟现实等领域的核心技术之一,其在现实生活中有着广泛的应用前景。视觉定位方法主要包括基于图像检索的定位方法、基于结构的定位方法和基于分层的定位方法等。基于图像的检索定位方法精度较差,无法满足高精度应用场景的需求。基于结构的定位方法通常从数据库图像中建立sfm模型,在查询图像和点云之间建立2d-3d对应关系,然后利用这些对应关系进行相机姿态估计,从而计算查询图像的摄像机姿态。然而,其需要搜索每个3d点以查询特征,效率并不高。基于分层的定位方法简单有效,结合了基于图像检索和基于结构的定位方法的优点。基于分层的定位方法将定位问题划分为特征提取、全局检索、局部特征匹配和精细位姿估计四部分。通常,训练cnn网络用于特征提取,回归图像的局部描述子用于2d-3d匹配,使用先进的全局描述子用于图像检索,最后利用基于ransac的方法进行相机姿态估计。这种从粗到细的分层定位方法可以较好地平衡了定位过程中准确性和效率的问题。
4.近年来,视觉定位研究在一些公开数据集上取得了良好的效果,但仍面临着来自光照和环境变化的挑战。针对同一个场景,假设建图的时间是白天,而定位的时间是晚上,方法的定位精度较低。同样地,当建图与定位遇到的天气状况、季节不同时,视觉定位系统的精度也难以满足要求。其原因是在大的条件变化下,特征提取任务能够提取到的特征信息数量和质量是不稳定的。
技术实现要素:
5.本发明的目的在于提供一种用于视觉定位的特征提取模型的训练方法及装置,旨在解决现有技术中特征提取任务能够提取到的特征信息数量和质量不稳定的问题。
6.为实现上述目的,本发明提供如下技术方案:
7.一方面提供了一种用于视觉定位的特征提取模型的训练方法,所述训练方法包括如下步骤:
8.将无标签的原始训练集图像进行数据增强得到无标签的真实训练集图像,所述无标签的真实训练集图像包括景深图像和雾图像;
9.根据所述真实训练集图像得到第一图像对并将其输入融合自注意力和卷积混合模块的模型得到第一特征点概率图;
10.将所述真实训练集图像输入所述特征提取基础模块得到第二特征点概率图和描述子;
11.根据所述第一特征点概率图、所述描述子以及所述第二特征点概率图计算得到最终损失。
12.另一方面提供了一种用于视觉定位的特征提取模型的训练系统,所述训练系统包括至少一个处理器;以及存储器,其存储有指令,当通过至少一个处理器来执行该指令时,实施按照前述的方法的步骤。
13.本发明的有益效果在于,通过自监督的方式同时提取图像特征点和描述子,将3dcc变换应用于训练阶段,通过模拟现实世界中计算机视觉模型将遇到的自然分布变化进行离线数据增强,提高了模型的健壮性;使用融合了自注意力和卷积混合模块的sp-ac模型推理真实训练集的伪标签,增强了伪标签的质量,从而提高了模型特征提取的质量且保持计算成本不变;应用于视觉定位中的特征提取任务,使得定位技术能够提取到的特征信息的数量和质量大大提高,从而有效提高了定位精度;本发明在提高定位精度的同时仅消耗较小的定位时间,较好地权衡了定位过程中准确性和效率。
附图说明
14.图1是本发明中训练系统的示意图;
15.图2是本发明中特征提取模型的训练过程示意图;
16.图3是本发明中训练步骤的示意图;
17.图4是本发明中实现定位的流程示意图;
18.图5是本发明中sp-ac模型的结构示意图;
19.图6是本发明中acmix层的结构示意图;
20.图7是本发明中superpoint模型的结构示意图。
具体实施方式
21.下面将结合本发明的附图及实施方式,对本发明的技术方案进行清楚、完整地描述。
22.在目前相关的视觉定位方法中,视觉定位方法包括全局检索模型、特征提取模型、局部特征匹配模型和精细位姿估计模型,所述全局检索模型包括获取查询图像后得到所述查询图像在3d地图中的地理位置,所述特征提取模型包括获取查询图像后得到特征点及描述子,所述局部特征匹配模型包括获取所述地理位置和所述特征点及描述子后得到图像对应关系,所述精细位姿估计模型包括获取所述图形对应关系后得到6自由度相机姿态。
23.本发明的一些实施方式涉及一种用于视觉定位的特征提取模型的训练系统,如图1所示,所述训练系统包括至少一个处理器1;以及存储器2,其存储有指令,当通过至少一个处理器1来执行该指令时,用于实施以下方法实施方式中的所有步骤。
24.在一些用于视觉定位的特征提取模型的训练方法实施方式中,训练方法包括如如下步骤:
25.将无标签的原始训练集图像进行数据增强得到无标签的真实训练集图像,所述无标签的真实训练集图像包括景深图像和雾图像;
26.根据所述真实训练集图像得到第一图像对并将其输入融合自注意力和卷积混合模块的模型得到第一特征点概率图;
27.将所述真实训练集图像输入所述特征提取基础模块得到第二特征点概率图和描述子;
28.根据所述第一特征点概率图、所述描述子以及所述第二特征点概率图计算得到最终损失。
29.在一些用于视觉定位的特征提取模型的训练方法实施方式中,将无标签的原始训练集图像进行数据增强得到无标签的真实训练集图像包括:
30.将所述原始训练集图像中的场景分割为若干个层,并获取焦点区域;
31.根据所述若干个层与所述焦点区域的距离计算得到每个层的相应模糊级别得到若干个模糊图像层,将若干个所述模糊图像层进行合成得到景深图像。
32.在一些用于视觉定位的特征提取模型的训练方法实施方式中,将无标签的原始训练集图像进行数据增强得到无标签的真实训练集图像还包括:
33.将所述原始训练集图像以及所述原始训练集图像的深度图基于雾的标准光学模型得到雾图像;
34.所述雾的标准光学模型的表达式如式(1)所示:
35.i(x)=r(x)t(x)+a(1-t(x))(1)
36.其中,i(x)表示像素x处生成的雾图像;r(x)表示原始训练集图像;a表示大气光;
37.式(1)中,t(x)表示到达相机的光量的传输函数,其表达式如式(2)所示:
38.t(x)=exp(-βd(x))(2)
39.其中,d(x)表示原始训练集图像的深度图;β表示控制雾厚度的衰减系数。
40.在一些用于视觉定位的特征提取模型的训练方法实施方式中,根据所述真实训练集图像得到第一图像对并将其输入融合自注意力和卷积混合模块的模型得到第一特征点概率图包括:
41.将所述真实训练集图像通过几何变换得到变换训练集图像,每张所述真实训练集图像与其相应的变换训练集图像构成第一图像对;
42.将所述第一图像对输入第一共享编码器模块得到降维特征图;
43.将所述降维特征图输入第一特征点检测解码器模块得到第一特征点概率图。
44.在一些用于视觉定位的特征提取模型的训练方法实施方式中,第一共享编码器模块包括acmix层、第一conv层、maxpool层、第一非线性函数relu层和第一batchnorm归一化层,所述acmix层被配置为:
45.接收初始特征并通过卷积运算进行投影并重塑得到中间特征;
46.将所述中间特征输入全连接层得到全层特征;
47.将所述中间特征输入自注意力层得到组别特征;
48.将所述全层特征和所述组别特征相加得到融合特征,并将融合特征进行输出。
49.在一些用于视觉定位的特征提取模型的训练方法实施方式中,第一特征点检测解码器模块被配置为:
50.将降维特征图输入crb模块得到第一特征图;
51.将所述第一特征图输入softmax层得到第二特征图;
52.将所述第二特征图输入reshape层得到第一特征点概率图;
53.所述crb模块包括第二conv层、第二非线性函数relu层和第二batchnorm归一化层。
54.在一些用于视觉定位的特征提取模型的训练方法实施方式中,将所述真实训练集图像输入所述特征提取基础模块得到第二特征点概率图和描述子包括:
55.根据所述真实训练集图像随机截取若干张尺寸相同的小图,并将其转换为灰度图;
56.将所述灰度图依次通过随机高斯模糊、运动模糊和亮度变化得到若干张训练图像;
57.将所述若干张训练图像通过几何变换得到若干张变换图像,每张所述训练图像与其相应的变换图像构成第二图像对;
58.将所述第二图像对输入基础模块得到第二特征点概率图和描述子,所述基础模块包括superpoint模型。
59.在一些用于视觉定位的特征提取模型的训练方法实施方式中,最终损失的计算表达式如式(3)所示:
60.l(x,x',d,d',y,y',s)=l
p
(x,y)+l
p
(x',y')+λld(d,d',s)(3)
61.其中,x表示训练图像的第二特征点概率图;x'表示变换图像的第二特征点概率图;d表示训练图像的描述子;d'表示变换图像的描述子;y表示真实训练集图像的第一特征点概率图;y'表示变换训练集图像的第一特征点概率图;s表示全部对应关系集合;λ表示平衡l
p
损失和ld损失的权重。
62.式(3)中,l
p
表示特征点损失函数,其表达式如式(4)所示:
[0063][0064]
其中,hc表示特征图的高;wc表示特征图的宽;x
hw
表示x在(h,w)处的值;y
hw
表示y在(h,w)处的值;
[0065]
式(4)中,
[0066]
其中,x
hwy
表示x
hw
在y
hw
所对应的通道上的值;x
hwk
表示x
hw
在第k个通道的值;
[0067]
式(3)中,ld表示描述子损失函数,其表达式如式(5)所示:
[0068][0069]
其中,d
hw
∈d且来自训练图像;d'
h'w'
∈d'且来自变换图像;s
hwh'w'
表示训练图像(h,
w)单元和变换图像(h',w')单元中所有对应关系的集合;
[0070]
式(5)中,ld(d
hw
,d'
h'w'
;s
hwh'w'
)=λd*s
hwh'w'
*max(0,m
p-d
hwt
d'
h'w'
)+(1-s
hwh'w'
)*max(0,d
hwt
d'
h'w'-mn)
[0071]
其中,*表示相乘;λd表示权重;m
p
表示正边缘对应阈值;mn表示负边缘对应阈值;t表示矩阵的转置。
[0072]
在一些用于视觉定位的特征提取模型的训练方法实施方式中,式(5)中,训练图像(h,w)单元和变换图像(h',w')单元中所有对应关系的集合的关系表达式如式(6)所示:
[0073][0074]
其中,hp
hw
表示将单元中心位置p
hw
乘以单应性矩阵h并除以后者的坐标;p
h'w'
表示变换图像(h',w')单元的中心位置。
[0075]
在一些用于视觉定位的特征提取模型的训练方法实施方式中,特征提取模型的训练过程包括以下步骤:
[0076]
步骤1:通过3dcc变换(3dcc变换为现有技术,在本发明中对其不再详细描述)对无标签的原始训练集图像进行离线数据增强,包括通过景深变化得到的景深图像和通过天气变化得到的雾图像,组成无标签的真实训练集图像。
[0077]
1)通过离散场景深度图将场景分割为多个层,然后选择一个区域保持对焦。使用针孔相机模型,根据它们与焦点区域的距离,计算每个层的相应模糊级别。通过对模糊图像层进行合成,得到最终的重新聚焦后的景深图像。
[0078]
2)针对天气变化的数据增强,选择雾天气进行模拟。雾的标准光学模型为ix=rxtx+a1-tx,其中ix表示像素x处生成的雾图像,rx表示原始训练集图像,a是大气光,tx是描述到达相机的光量的传输函数。当介质均匀时,传输取决于与相机的距离:tx=exp-βdx,其中dx表示原始训练集图像的深度图,β是控制雾厚度的衰减系数。
[0079]
步骤2:将无标签的真实训练集图像通过几何变换得到变换训练集图像,每张所述真实训练集图像与其相应的变换训练集图像构成第一图像对,将第一图像对输入sp-ac模型即融合自注意力和卷积混合模块的模型,推理得到特征点伪标签即第一特征点概率图。sp-ac模型通过第一共享编码器模块来降低输入图像的维数并提取特征。在第一共享编码器模块之后,通过第一特征点检测解码器模块用于特征点检测。
[0080]
1)第一共享编码器模块从输入图像中提取特征图,输入图像大小从(c
×h×
w)变为(c2×
h/8
×
w/8)。第一共享编码器模块具体由依次连接的conv3
×3×c×
c1(其中“3
×
3”表示卷积核大小,
“×
c”表示输入通道数,
“×c1”表示输出通道数)、conv3
×3×
c1×
c1、maxpool(2)、acmix(c1,c1)、maxpool(2)、acmix(c1,c2)、maxpool(2)、acmix(c2,c2)构成,每个卷积层后均设置非线性函数relu层和batchnorm归一化层。
[0081]
i.acmix层包括两个阶段。在第一阶段中,输入的初始特征通过三个1
×
1卷积运算进行投影并重塑,得到3
×
n个丰富的中间特征。在第二阶段,它们被不同的范式使用,首先采用全连接层生成k2个特征映射,移动和聚合生成的这些特征得到全层特征。然后,采用自注意力层将中间特征分成n组得到组别特征,每组包含3个特征映射,分别为查询、键和值。最后,将两条路径输出的全层特征和组别特征加在一起得到融合特征,强度由两个可学习
标量控制。
[0082]
2)第一特征点检测解码器模块中,crb模块具体由依次连接的conv3
×3×
c2×
c3、conv1
×1×
c3×
c4组成,每个卷积层后均设置非线性函数relu层和batchnorm归一化层。输入大小从(c2×
h/8
×
w/8)变为(c4×
h/8
×
w/8),然后通过softmax层操作丢弃一个通道,变成(c
4-1
×
h/8
×
w/8)。最后使用reshape层操作进行维度切换,得到第一特征点概率图(h
×w×
1)。
[0083]
步骤3:从增强后的真实训练集图像中随机截取尺寸为n1×
n2的小图,并转换为灰度图。通过随机高斯模糊、运动模糊和亮度变化来对图像进行预处理,得到同一批训练b张的训练图像。
[0084]
步骤4:对训练图像进行几何变换得到变换图像,得到二者之间的单应性矩阵,每张训练图像与其相应的变换图像构成第二图像对,这样就拥有了已知位姿关系的第二图像对。
[0085]
步骤5:把已知位姿关系的第二图像对输入基础模块,优选的,基础模块为superpoint模型(基础模块还可以由lift模型、sift模型和orb模型中的其中任意一个模型代替),使用自监督的方式进行联合训练,提取特征即第二特征点概率图和描述子,完成前向传播。superpoint模型通过一个第二共享编码器模块来降低输入图像的维数并提取特征。在第二共享编码器模块之后,通过第二特征点检测解码器模块和描述子解码器模块学习特定任务的权重,第二特征点检测解码器模块用于特征点检测,描述子解码器模块用于生成描述子。
[0086]
1)第二共享编码器模块从输入图像中提取特征图,输入图像大小从(1
×h×
w)变为(c2×
h/8
×
w/8)。第二共享编码器模块具体由依次连接的conv3
×3×1×
c1、conv3
×3×
c1×
c1、maxpool(2)、conv3
×3×
c1×
c1、conv3
×3×
c1×
c1、maxpool(2)、conv3
×3×
c1×
c2、conv3
×3×
c2×
c2、maxpool(2)、conv3
×3×
c2×
c2、conv3
×3×
c2×
c2构成,每个卷积层后均设置非线性函数relu层和batchnorm归一化层。
[0087]
2)第二特征点检测解码器模块具体由依次连接的conv3
×3×
c2×
c3、conv1
×1×
c3×
c4组成,每个卷积层后均设置非线性函数relu层和batchnorm归一化层。输入大小从(c2×
h/8
×
w/8)变为(c4×
h/8
×
w/8),然后通过softmax操作丢弃一个通道,变成(c
4-1
×
h/8
×
w/8)。最后使用reshape操作进行维度切换,得到第二特征点概率图(h
×w×
1)。
[0088]
3)描述子解码器模块具体由依次连接的conv3
×3×
c2×
c3、conv1
×1×
c3×
c4组成,每个卷积层后均设置非线性函数relu层和batchnorm归一化层。输入大小从(c2×
h/8
×
w/8)变为(c4×
h/8
×
w/8),然后进行双三次线性插值以及l2归一化得到单位长度的稠密描述子向量(c4×h×
w)。
[0089]
步骤6:计算特征点损失和描述子损失,将同一批次b张图像的损失求和平均后作为最终损失。训练过程中使用一对图像,第二张图像是对第一张图像进行几何变换生成的。由于已知这一对图像的特征点伪标签和二者之间的单应性变换矩阵h,这允许模型同时优化两种损失,使用λ平衡两种损失,即l(x,x',d,d',y,y',s)=l
p
(x,y)+l
p
(x',y')+λld(d,d',s)。x表示训练图像的第二特征点概率图;x'表示变换图像的第二特征点概率图;d表示训练图像的描述子;d'表示变换图像的描述子;y表示真实训练集图像的第一特征点概率图;y'表示变换训练集图像的第一特征点概率图;s表示全部对应关系集合;λ表示平衡l
p
损
失和ld损失的权重。
[0090]
1)l
p
表示特征点损失函数,其表达式如式(4)所示:
[0091][0092]
其中,hc表示特征图的高;wc表示特征图的宽;x
hw
表示x在(h,w)处的值;y
hw
表示y在(h,w)处的值;
[0093]
式(4)中,
[0094]
其中,x
hwy
表示x
hw
在y
hw
所对应的通道上的值;x
hwk
表示x
hw
在第k个通道的值。
[0095]
2)ld表示描述子损失函数,其表达式如式(5)所示:
[0096][0097]
其中,d
hw
∈d且来自训练图像;d'
h'w'
∈d'且来自变换图像;s
hwhw'
表示训练图像(h,w)单元和变换图像(h',w')单元中所有对应关系的集合;
[0098]
式(5)中,ld(d
hw
,d'
h'w'
;s
hwh'w'
)=λd*s
hwh'w'
*max(0,m
p-d
hwt
d'
h'w'
)+(1-s
hwh'w'
)*max(0,d
hwt
d'
h'w'-mn)
[0099]
其中,*表示相乘;λd表示权重,可以平衡负对应比正对应多的问题;m
p
表示正边缘对应阈值;mn表示负边缘对应阈值;t表示矩阵的转置。
[0100]
训练图像(h,w)单元和变换图像(h',w')单元中所有对应关系的集合的关系表达式如式(6)所示:
[0101][0102]
其中,hp
hw
表示将单元中心位置p
hw
乘以单应性矩阵h并除以后者的坐标;p
h'w'
表示变换图像(h',w')单元的中心位置。
[0103]
步骤7:根据步骤6得到的损失结果进行反向传播,更新网络权重,继续下一次训练。
[0104]
步骤8:重复以上步骤,使损失趋近于零,直至网络收敛。保存验证效果最好的网络模型。
[0105]
在一些用于视觉定位的特征提取模型的训练方法实施方式中,基于特征提取模型实现视觉定位的具体流程,包括以下步骤:
[0106]
步骤1:考虑到内存的限制,对查询图像进行下采样处理,得到m
×
m大小的图像。使用netvlad模型(netvlad模型为现有技术,在本发明中对其不再详细描述)对查询图像提取全局描述子,全局描述子为d
global
×
1维度的特征向量。使用所述特征提取模型对查询图像提取特征点和局部描述子,对查询图像中检测到的关键点应用半径为q的非极大值抑制,并最大保留p个关键点。局部描述子为d
local
×
1维度的特征向量。
[0107]
步骤2:根据netvlad全局描述子使用nnsearch检索(nnsearch检索为现有技术,在本发明中对其不再详细描述),距离阈值设为t,得到查询图像的前k个相似图像(先验帧)。根据先验帧的共同特征点,在3d地图中得到一组不同的位置,这些位置应当与查询图像的
位置很接近。
[0108]
步骤3:对于每个位置,从3d地图中提取一个局部3d模型,将查询图像每个特征点对应的局部描述子与局部3d模型的细节特征进行匹配,即在参考场景与查询图像之间建立2d-3d的对应关系。
[0109]
步骤4:根据2d-3d的几何约束进行位姿估计。应用perspective-n-point(pnp)求解6dof摄像机姿态,使用locally optimized random sample consensus(lo_ransac)方法去除异常值。
[0110]
在一些用于视觉定位的特征提取模型的训练方法实施方式中,特征提取模型的训练过程具体包括以下步骤:
[0111]
步骤1:通过3dcc变换(3dcc变换为现有技术,在本发明中对其不再详细描述)对无标签的原始训练集图像进行离线数据增强,包括通过景深变化得到的景深图像和通过天气变化得到的雾图像,组成无标签的真实训练集图像,设置控制雾厚度的衰减系数β=[1,2,3,4,8,1,2,3,4,8]。
[0112]
步骤2:将无标签的真实训练集图像通过几何变换得到变换训练集图像,每张所述真实训练集图像与其相应的变换训练集图像构成第一图像对,将第一图像对输入sp-ac模型即融合自注意力和卷积混合模块的模型,推理得到特征点伪标签即第一特征点概率图。sp-ac模型通过第一共享编码器模块来降低输入图像的维数并提取特征。在第一共享编码器模块之后,通过第一特征点检测解码器模块用于特征点检测。
[0113]
1)第一共享编码器模块从输入图像中提取特征图,输入图像大小从(3
×
240
×
320)变为(128
×
30
×
40)。第一共享编码器模块具体由依次连接的conv3
×3×3×
64、conv3
×3×
64
×
64、maxpool(2)、acmix(64,64)、maxpool(2)、acmix(64,128)、maxpool(2)、acmix(128,128)构成,每个卷积层后均设置非线性函数relu层和batchnorm归一化层。
[0114]
i.acmix层包括两个阶段。在第一阶段中,输入的初始特征通过三个1
×
1卷积运算进行投影并重塑,得到3
×
n个丰富的中间特征,b=4。在第二阶段,它们被不同的范式使用。首先采用全连接层,生成k2个特征映射,移动和聚合生成的这些特征得到全层特征,其中k=3。然后,采用自注意力层将中间特征分成n组得到组别特征,每组包含3个特征映射,分别为查询、键和值。最后,将两条路径输出的全层特征和组别特征加在一起得到融合特征,强度由两个可学习标量控制。
[0115]
2)第一特征点检测解码器模块中,crb模块具体由依次连接的conv3
×3×
128
×
256、conv1
×1×
256
×
65组成,每个卷积层后均设置非线性函数relu层和batchnorm归一化层。输入大小从(128
×
30
×
40)变为(65
×
30
×
40),然后通过softmax层操作丢弃一个通道,变成(64
×
30
×
40)。最后使用reshape层操作进行维度切换,得到第一特征点概率图(240
×
320
×
1)。
[0116]
步骤3:从增强后的真实训练集图像中随机截取尺寸为240
×
320的小图,并转换为灰度图。通过随机高斯模糊、运动模糊和亮度变化来对图像进行预处理,得到同一批训练b张的训练图像。
[0117]
步骤4:对训练图像进行几何变换得到变换图像,得到二者之间的单应性矩阵,每张训练图像与其相应的变换图像构成第二图像对,这样就拥有了已知位姿关系的第二图像对。
[0118]
步骤5:把第二图像对输入superpoint模型,使用自监督的方式进行联合训练,得到第二特征点概率图和描述子,完成前向传播。superpoint模型通过一个第二共享编码器模块来降低输入图像的维数并提取特征。在第二共享编码器模块之后,通过第二特征点检测解码器模块和描述子解码器模块学习特定任务的权重,第二特征点检测解码器模块用于特征点检测,描述子解码器模块用于生成描述子。
[0119]
1)第二共享编码器模块从输入图像中提取特征图,输入图像大小从(1
×
240
×
320)变为(128
×
30
×
40)。第二共享编码器模块具体由依次连接的conv3
×3×3×
64、conv3
×3×
64
×
64、maxpool(2)、conv3
×3×
64
×
64、conv3
×3×
64
×
64、maxpool(2)、conv3
×3×
64
×
128、conv3
×3×
128
×
128、maxpool(2)、conv3
×3×
128
×
128、conv3
×3×
128
×
128构成,每个卷积层后均设置非线性函数relu层和batchnorm归一化层。输入图像从大小为(1
×
240
×
320)变为(128
×
30
×
40)。
[0120]
2)第二特征点检测解码器模块具体由依次连接的conv3
×3×
128
×
256、conv1
×1×
256
×
65组成,每个卷积层后均设置非线性函数relu层和batchnorm归一化层。输入大小从(128
×
30
×
40)变为(65
×
30
×
40),然后通过softmax操作丢弃一个通道,变成(64
×
30
×
40)。最后使用reshape操作进行维度切换,得到第二特征点概率图(240
×
320
×
1)。
[0121]
3)描述子解码器模块具体由依次连接的conv3
×3×
128
×
256、conv1
×1×
128
×
256组成,每个卷积层后均设置非线性函数relu层和batchnorm归一化层。输入大小从(128
×
30
×
40)变为(256
×
30
×
40),然后进行双三次线性插值以及l2归一化得到单位长度的稠密描述子向量(256
×
240
×
320)。
[0122]
步骤6:计算特征点损失和描述子损失,将同一批次4张图像的损失求和平均得到最终损失。训练的过程中使用一对图像,第二张图像是对第一张图像进行几何变换生成的。同时已知这一对图像的特征点伪标签和二者之间的单应性变换矩阵h,这允许模型同时优化两种损失,使用λ平衡两种损失:l(x,x',d,d',y,y',s)=l
p
(x,y)+l
p
(x',y')+λld(d,d',s)。x表示训练图像的第二特征点概率图;x'表示变换图像的第二特征点概率图;d表示训练图像的描述子;d'表示变换图像的描述子;y表示真实训练集图像的第一特征点概率图;y'表示变换训练集图像的第一特征点概率图;s表示全部对应关系集合;λ表示平衡l
p
损失和ld损失的权重。损失函数中参数设置为λd=250,m
p
=1,mn=0.2。
[0123]
步骤7:根据步骤6得到的损失结果进行反向传播,更新网络权重,继续下一次训练。
[0124]
步骤8:重复以上步骤,使损失趋近于零,直至网络收敛。保存验证效果最好的网络模型。使用adam优化器,学习率为0.0001。训练迭代20万次。
[0125]
在一些用于视觉定位的特征提取模型的训练方法实施方式中,基于特征提取模型实现视觉定位的具体流程,具体包括以下步骤:
[0126]
步骤1:考虑到内存的限制,对查询图像进行下采样处理,得到1024
×
1024大小的图像。使用netvlad模型对查询图像提取全局描述子,全局描述子为4096
×
1维度的特征向量。使用训练好的所述特征提取模型对查询图像提取特征点和局部描述子,对查询图像中检测到的关键点应用半径为4的非极大值抑制,并最大保留4096个关键点。局部描述子为256
×
1维度的特征向量。
[0127]
步骤2:根据netvlad全局描述子使用nnsearch检索,距离阈值设为0.7,得到查询
图像的前10个相似图像(先验帧)。根据先验帧的共同特征点,在3d地图中得到一组不同的位置,这些位置应当与查询图像的位置很接近。
[0128]
步骤3:对于每个位置,从3d地图中提取一个局部3d模型,将查询图像每个特征点对应的局部描述子与局部3d模型的细节特征进行匹配,即在参考场景与查询图像之间建立2d-3d的对应关系。
[0129]
步骤4:根据2d-3d的几何约束进行位姿估计。应用perspective-n-point(pnp)求解6dof摄像机姿态,使用locally optimized random sample consensus(lo_ransac)方法去除异常值。
[0130]
本说明书中描述的主题的实施方式和功能性操作可以在以下中实施:数字电子电路,有形实施的计算机软件或者固件,计算机硬件,包括本说明书中公开的结构及其结构等同体,或者上述中的一者以上的组合。本说明书中描述的主题的实施方式可以被实施为一个或多个计算机程序,即,一个或多个有形非暂时性程序载体上编码的计算机程序指令的一个或多个模块,用以被数据处理设备执行或者控制数据处理设备的操作。
[0131]
作为替代或者附加,程序指令可以被编码在人工生成的传播信号上,例如,机器生成的电信号、光信号或者电磁信号,上述信号被生成为编码信息以传递到用数据处理设备执行的适当的接收器设备。计算机存储介质可以是机器可读存储装置、机器可读的存储基片、随机或者串行存取存储器装置或者上述装置中的一种或多种的组合。
[0132]
术语“数据处理设备”包含所有种类的用于处理数据的设备、装置以及机器,作为实例,包括可编程处理器、计算机或者多重处理器或者多重计算机。设备可以包括专用逻辑电路,例如,fpga(现场可编程门阵列)或者asic(专用集成电路)。设备除了包括硬件之外,还可以包括创建相关计算机程序的执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或者它们中的一种或多种的组合代码。
技术特征:
1.一种用于视觉定位的特征提取模型的训练方法,其特征在于,所述训练方法包括如下步骤:将无标签的原始训练集图像进行数据增强得到无标签的真实训练集图像,所述无标签的真实训练集图像包括景深图像和雾图像;根据所述真实训练集图像得到第一图像对并将其输入融合自注意力和卷积混合模块的模型得到第一特征点概率图;将所述真实训练集图像输入所述特征提取基础模块得到第二特征点概率图和描述子;根据所述第一特征点概率图、所述描述子以及所述第二特征点概率图计算得到最终损失。2.根据权利要求1所述的一种用于视觉定位的特征提取模型的训练方法,其特征在于,所述将无标签的原始训练集图像进行数据增强得到无标签的真实训练集图像包括:将所述原始训练集图像中的场景分割为若干个层,并获取焦点区域;根据所述若干个层与所述焦点区域的距离计算得到每个层的相应模糊级别得到若干个模糊图像层,将若干个所述模糊图像层进行合成得到景深图像。3.根据权利要求1所述的一种用于视觉定位的特征提取模型的训练方法,其特征在于,所述将无标签的原始训练集图像进行数据增强得到无标签的真实训练集图像还包括:将所述原始训练集图像以及所述原始训练集图像的深度图基于雾的标准光学模型得到雾图像;所述雾的标准光学模型的表达式如式(1)所示:i(x)=r(x)t(x)+a(1-t(x))(1)其中,i(x)表示像素x处生成的雾图像;r(x)表示原始训练集图像;a表示大气光;式(1)中,t(x)表示到达相机的光量的传输函数,其表达式如式(2)所示:t(x)=exp(-βd(x))(2)其中,d(x)表示原始训练集图像的深度图;β表示控制雾厚度的衰减系数。4.根据权利要求1所述的一种用于视觉定位的特征提取模型的训练方法,其特征在于,所述根据所述真实训练集图像得到第一图像对并将其输入融合自注意力和卷积混合模块的模型得到第一特征点概率图包括:将所述真实训练集图像通过几何变换得到变换训练集图像,每张所述真实训练集图像与其相应的变换训练集图像构成第一图像对;将所述第一图像对输入第一共享编码器模块得到降维特征图;将所述降维特征图输入第一特征点检测解码器模块得到第一特征点概率图。5.根据权利要求4所述的一种用于视觉定位的特征提取模型的训练方法,其特征在于,所述第一共享编码器模块包括acmix层、第一conv层、maxpool层、第一非线性函数relu层和第一batchnorm归一化层,所述acmix层被配置为:接收初始特征并通过卷积运算进行投影并重塑得到中间特征;将所述中间特征输入全连接层得到全层特征;将所述中间特征输入自注意力层得到组别特征;将所述全层特征和所述组别特征相加得到融合特征,并将融合特征进行输出。6.根据权利要求5所述的一种用于视觉定位的特征提取模型的训练方法,其特征在于,
所述第一特征点检测解码器模块被配置为:将降维特征图输入crb模块得到第一特征图;将所述第一特征图输入softmax层得到第二特征图;将所述第二特征图输入reshape层得到第一特征点概率图;所述crb模块包括第二conv层、第二非线性函数relu层和第二batchnorm归一化层。7.根据权利要求6所述的一种用于视觉定位的特征提取模型的训练方法,其特征在于,所述将所述真实训练集图像输入所述特征提取基础模块得到第二特征点概率图和描述子包括:根据所述真实训练集图像随机截取若干张尺寸相同的小图,并将其转换为灰度图;将所述灰度图依次通过随机高斯模糊、运动模糊和亮度变化得到若干张训练图像;将所述若干张训练图像通过几何变换得到若干张变换图像,每张所述训练图像与其相应的变换图像构成第二图像对;将所述第二图像对输入基础模块得到第二特征点概率图和描述子,所述基础模块包括superpoint模型。8.根据权利要求7所述的一种用于视觉定位的特征提取模型的训练方法,其特征在于,所述最终损失的计算表达式如式(3)所示:l(x,x',d,d',y,y',s)=l
p
(x,y)+l
p
(x',y')+λl
d
(d,d',s) (3)其中,x表示训练图像的第二特征点概率图;x'表示变换图像的第二特征点概率图;d表示训练图像的描述子;d'表示变换图像的描述子;y表示真实训练集图像的第一特征点概率图;y'表示变换训练集图像的第一特征点概率图;s表示全部对应关系集合;λ表示平衡l
p
损失和l
d
损失的权重。式(3)中,l
p
表示特征点损失函数,其表达式如式(4)所示:其中,h
c
表示特征图的高;w
c
表示特征图的宽;x
hw
表示x在(h,w)处的值;y
hw
表示y在(h,w)处的值;式(4)中,其中,x
hwy
表示x
hw
在y
hw
所对应的通道上的值;x
hwk
表示x
hw
在第k个通道的值;式(3)中,l
d
表示描述子损失函数,其表达式如式(5)所示:其中,d
hw
∈d且来自训练图像;d'
h'w'
∈d'且来自变换图像;s
hwh'w'
表示训练图像(h,w)单元和变换图像(h',w')单元中所有对应关系的集合;式(5)中,l
d
(d
hw
,d'
h'w'
;s
hwh'w'
)=λ
d
*s
hwh'w'
*max(0,m
p-d
hwt
d'
h'w'
)+(1-s
hwh'w'
)*max(0,d
hwt
d'
h'w'-m
n
)其中,*表示相乘;λ
d
表示权重;m
p
表示正边缘对应阈值;m
n
表示负边缘对应阈值;t表示矩阵的转置。9.根据权利要求8所述的一种用于视觉定位的特征提取模型的训练方法,其特征在于,
所述式(5)中,训练图像(h,w)单元和变换图像(h',w')单元中所有对应关系的集合的关系表达式如式(6)所示:其中,hp
hw
表示将单元中心位置p
hw
乘以单应性矩阵h并除以后者的坐标;p
h'w'
表示变换图像(h',w')单元的中心位置。10.一种用于视觉定位的特征提取模型的训练系统,其特征在于,所述训练系统包括至少一个处理器;以及存储器,其存储有指令,当通过至少一个处理器来执行该指令时,实施按照权利要求1-9任一项所述的方法的步骤。
技术总结
本发明涉及一种用于视觉定位的特征提取模型的训练方法,所述训练方法包括如下步骤:将无标签的原始训练集图像进行数据增强得到无标签的真实训练集图像,所述无标签的真实训练集图像包括景深图像和雾图像;根据所述真实训练集图像得到第一图像对并将其输入融合自注意力和卷积混合模块的模型得到第一特征点概率图;通过自监督的方式同时提取图像特征点和描述子,将3DCC变换应用于训练阶段,通过模拟现实世界中计算机视觉模型将遇到的自然分布变化进行离线数据增强,提高了模型的健壮性;使用融合了自注意力和卷积混合模块的SP-AC模型推理真实训练集的伪标签,增强了伪标签的质量,从而提高了模型特征提取的质量且保持计算成本不变。计算成本不变。计算成本不变。
技术研发人员:李艳凤 张又 陈后金 孙嘉 陈紫微
受保护的技术使用者:北京交通大学
技术研发日:2023.05.16
技术公布日:2023/9/14
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/