【技术实现步骤摘要】
一种基于全局特征和引导信息的特征点检测与描述方法
[0001]本专利技术属于图像处理和计算机视觉领域,特别涉及一种基于全局特征和引导信息的特征点检测与描述方法。
技术介绍
[0002]特征点检测与描述作为计算机视觉中一个重要的研究问题,是三维重建、运动估计结构和同时定位与建图等视觉任务的基础。特征点检测与描述是在不同视角和成像条件下在不同图像的相同场景中检测出稀疏的特征点并加以向量描述,核心问题是检测的稳定性和描述的鲁棒性。
[0003]特征点检测与描述方法经历了传统方法到深度学习方法的发展。在计算机视觉早期,研究人员根据自身的相关经验与领域知识,提出许多方法如经典的SIFT算法来提取稳定的特征点和生成鲁棒的描述符,虽然这些方法具有优秀的特征如尺度不变、旋转不变、对噪声和光照鲁棒等,但是受限于研究人员的先验知识和检测的感受野,检测精度和描述符性能有限。近年来,由于卷积神经网络(Convolutional Neural Networks,CNN)的强大特征提取能力,基于CNN的特征点检测与描述算法快速发展起来。参考文献“LIFT:Learned Invariant Feature Transform[C],Yi K M,Trulls E,Lepetit V,et al.,European conference on computer vision.2016:467
‑
483”中Yi等人提出了SIFT的可训练版本LIFT算法,利用CNN网络进行特征点检测、方向估计和特征点描述符的计算。为了将三个 ...
【技术保护点】
【技术特征摘要】
1.一种基于全局特征和引导信息的特征点检测与描述方法,其特征在于,该方法包括以下步骤:S1)构造训练数据集:收集一系列图片数据,构建训练数据集D,对于训练数据集D中任意一张图片I∈D,大小为W
×
H
×
C,其中W、H、C分别表示图片I的宽、高、通道数;将I输入步骤2构建的网络N中;S2)构建端到端的特征点检测和描述网络N,将图片I输入构建的网络N中,得到图片I的描述符向量图,其中,网络N由编码器网络N
E
、引导信息生成网络N
G
和解码器网络N
D
组成;S3)对图片I增加随机噪声δ,进行随机平移、旋转和颜色变化,得到增广图片I
*
,大小为W
×
H
×
C,其中W、H、C分别表示增广图片I
*
的宽、高、通道数;设单应性矩阵为图片I和增广图片I
*
间重叠区域的像素位置对应关系,表示实数域,表示所有3
×
3实矩阵;将增广图片I
*
输入步骤S2)构建的网络N中,得到位置响应图和描述符向量图大小分别为W
×
H和W
×
H
×
N
F
;S4)构建网络N的损失函数L(I,I
*
),损失函数L(I,I
*
)由特征点位置损失L
P
(I,I
*
)和描述符损失L
D
(I,I
*
)组成:L(I,I
*
)=L
P
(I,I
*
)+βL
D
(I,I
*
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)其中,超参数β用于平衡特征点位置损失和描述符损失的比例;S5)训练特征点检测和描述网络N遍历训练数据集D中所有图片,实施步骤S2)到S4),完成一轮训练;当完成预设的e轮训练后,得到训练完成的特征点检测和描述网络N;S6)测试特征点检测和描述网络N将测试图片I
t
输入训练完成的特征点检测和描述网络N,最终得到特征点集合,其中测试图片I
t
的大小为W
t
×
H
t
×
C
t
,W
t
、H
t
、C
t
分别表示测试图片I
t
的宽、高、通道数。2.根据权利要求1所述的基于全局特征和引导信息的特征点检测与描述方法,其特征在于,所述步S2)具体包括:S21)设计编码器网络N
E
,N
E
由分块层N
EB
、线性嵌入层N
EE
、位置编码层N
EP
和特征编码层N
EF
组成;分块层N
EB
将输入图片I划分为不重叠的M块,块大小为S
×
S
×
C,其中S、C分别表示块的空间大小和通道数,块数与块大小的关系为将每个块展平为1维列向量,大小为(S
·
S
·
C)
×
1,得到块向量序列{b
(1)
,b
(2)
,...,b
(M)
},其中表示第i
b
个块向量,i
b
∈{1,2,...,M};S22)将块向量序列{b
(1)
,b
(2)
,...,b
(M)
}输入线性嵌入层N
EE
,得到嵌入向量序列{e
(1)
,e
(2)
,...,e
(M)
},其中表示第i
e
个嵌入向量,i
e
∈{1,2,...,M},其中,线性嵌入层N
EE
由n层多层感知机级联组成,将块向量通过公式(2)映射为嵌入向量通过公式(2)映射为嵌入向量的大小为N
e
×
1,其中i
be
∈{1,2,...,M},N
e
表示嵌入向量的元素个数,其中,N
EE
(
·
)表示线性嵌入层执行的操作,W
EE
和b表示线性嵌入层的权重和偏置;S23)将嵌入向量序列{e
(1)
,e
(2)
,...,e
(M)
}输入位置编码层N
EP
,输出位置嵌入向量序列其中,位置编码层N
EP
将嵌入向量与第i
ep
块区域的可学习位置参数
相加,得到位置嵌入向量相加,得到位置嵌入向量和大小都为N
e
×
1,其中i
ep
∈{1,2,...,M},其中,N
EP
(
·
)表示位置编码层执行的操作;S24)将位置嵌入向量序列输入特征编码层N
EF
,输出编码特征序列其中的大小为N
f
×
1,i=1,2,...,M,N
f
表示编码特征的元素个数,特征编码层N
EF
由L个transformer基本块重复级联组成,其中,每个transformer基本块由一个多头自注意力层MSA、一层多层感知机MLP和两个层正则LN组成;设第j个transformer基本块的输入序列为其中j∈{1,2,...,L},设向量序列与矩阵一一对应,其中矩阵Z
j
由向量序列按列拼接得到,向量序列由矩阵Z
j
按列分块得到,第j+1个transformer基本块将序列映射编码为序列映射编码为序列其中,LN(
·
)表示层正则操作,MSA(
·
)表示多头注意力操作,Z
j
和Z
j+1
分别表示第j个transformer基本块输入序列对应的矩阵和输出序列对应的矩阵,MSA(
·
)函数的计算如下所示:其中,X表示MSA(
·
)的输入矩阵,head
k
表示多头自注意力层第k个头的输出,Concat表示在行维度上的拼接操作,h表示多头自注意力层中头的个数,W
O
表示多头自注意力层的输出映射矩阵,分别表示第k个头的查询映射矩阵、键映射矩阵、值映射矩阵,k∈{1,2,...,h},d
X
表示输入矩阵X的行数;MLP(
·
)函数的计算如下所示:Y=MLP(X
′
)=W
M
·
X
′
+b
M
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)其中,X
′
表示MLP(
·
)函数的输入矩阵,W
M
和b
M
为MLP的权重和偏置;将记为作为特征编码层最终输出的编码特征序列;S25)设计引导信息生成网络N
G
,N
G
由检测层N
GD
、分块层N
GB
和线性嵌入层N
GE
级联组成,检测层N
GD
使用其他任意特征点检测算法A对输入图片I进行特征点检测,得到掩膜矩阵M
mask
,大小为W
×
H
×
C,其中矩阵M
mask
中非特征点位置处C个通道的值均为0,特征点位置处C个通道的值均为1;S26)分块层N
GB
对掩膜矩阵M
mask
进行分块,每个块大小为S
×
S
×
C,块数为M;将每个块展平为1维列向量,得到掩膜向量序列{m
(1)
,m
(2)
,...,m
(M)
},其中第i
m
个掩膜向量的大小为(S
·
S...
【专利技术属性】
技术研发人员:王正宁,商勇彬,曾珍妮,罗兴隆,冯妤婕,
申请(专利权)人:电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。