掌桥专利:专业的专利平台
掌桥专利
首页

基于卷积神经网络的特征点提取方法、设备及存储介质

文献发布时间:2023-06-19 12:19:35


基于卷积神经网络的特征点提取方法、设备及存储介质

技术领域

本发明属于图像处理技术领域,具体涉及一种基于卷积神经网络的特征点提取方法、设备及存储介质。

背景技术

特征点提取是指从图像输入中检测出具有明显几何特征的点,如灰度变化较大点、角点和椭圆中心点等,并将特征点周围的局部特征表示为特征点的描述子(多为128维或256维浮点数向量)。其中,局部特征要求具有不变性和可区分性两重特性:不变性指特征点周围的局部图像经过旋转变换、视角变换、光度变换及缩放后,仍然具有相似的描述子。可区分性指的是,不同局部图像的描述子要有尽可能大的差异。

特征点提取是同步定位建图(SLAM)的重要组成部分。在同步定位建图中,通过一定的策略,利用两张图片中特征点的描述子信息,对两张图片中描述子差异(通常体现为欧氏距离)较小的特征点进行匹配,进而通过匹配的特征点分别在两张图片中的坐标,推知两张图片拍摄的视角在空间中的几何关系,从而判断拍摄的主题(如机器人、无人机)自身的位姿。

基于卷积神经网络的特征点提取的两个主要任务是:特征点检测以及描述子的计算。在传统的基于卷积神经网络的特征点提取方法中,这两项任务的计算流程是分别进行的,以LF-NET(Learning Local Features from Images)为例,首先利用神经网络检测特征点,再根据检测出的特征点处的局部图像生成描述子。然而,这样的计算策略没有充分利用特征点检测与描述共同关注的低维几何信息,造成了计算量的浪费。

在现有的代表性特征点提取方式(如SuperPoint方式,基于自监督训练的特征点检测和描述符提取方法)的处理策略中,将特征点检测和描述所需的特征提取使用一个公共的卷积神经网络编码器完成,然后将卷积神经网络编码器编码后的信息分别送入两个解码器:特征点检测解码器和描述子解码器。其中特征点检测解码器将卷积神经网络编码器提取的信息解码为一张与输入图像尺寸相同的热图,并使用非极大值抑制保留热图中的区域极大点作为特征点。而描述子解码器将卷积神经网络编码器输出的信息解码为与描述子维度相同的张量,然后根据特征点检测解码器输出的特征点坐标对该张量进行插值,以作为对应特征点的描述子。

在本发明的技术方案的实现过程中,发明人发现:上述处理策略使特征点提取和描述子生成充分利用了共同的特征提取模块,从而降低了整个特征点提取任务的计算量。但是该处理策略存在一定的局限性:(1)尽管相比其他处理方式已有明显改进,但是对于低算力、没有图形处理器(GPU)的嵌入式平台而言计算量仍然较大,而嵌入式平台如机器人、无人机等恰恰是特征点提取作为同步定位建图前站的主要应用场景。(2)特征点检测时所利用的主要是低维几何信息,可是却与生成局部描述子(包含全局语义信息)采用同样深度的卷积神经网络编码器,一方面导致了特征点检测所利用的特征维度的冗余,另一方面特征点提取的损失函数进行反向传播也会对卷积神经网络编码器生成描述子的解释能力造成负面影响。(3)基于卷积神经网络的特征点提取方式在计算特征点检测结果时,先生成一张与输入图像同尺寸的热图,其中每个像素的数值代表该处是特征点的置信值,然后对该热图进行非极大值抑制,而这一步骤消耗了大量的操作数,并已成为整个系统耗时的瓶颈。

发明内容

本发明实施例提供了一种基于卷积神经网络的特征点提取方法、设备及存储介质,以实现对图像的特征点提取处理的轻量化和高性能。

一方面,本发明实施例提供了一种基于卷积神经网络的特征点提取方法,包括:

将待提取图像输入第一卷积神经网络编码器,进行特征提取,得到尺寸为

将第一特征张量分别输入特征点检测解码器和第二卷积神经网络编码器,所述特征点检测解码器用于获取与待提取图像的尺寸相同的置信值图,基于所述置信值图检测出特征点并将特征点坐标输入描述子解码器;所述第二卷积神经网络编码器对第一特征张量进行特征提取,得到第二特征张量并输入描述子解码器,所述第二特征张量的通道数与预设的描述子的维度相同,且第二卷积神经网络编码器的下采样倍数与特征点检测解码器中的下采样倍数相同;

所述特征点检测解码器包括置信值图解码模块和交错下采样的非极大值抑制模 块,所述置信值图解码模块通过步长为

计算第四特征张量的张量指数

根据预设的第一阈值T,计算第二阈值

将特征张量

所述交错下采样的非极大值抑制模块,通过窗口为2×2的最大池化层对输入的置 信图进行两次下采样,得到两幅尺寸分别为

所述描述子解码器基于特征点坐标对第二特征张量进行插值处理,以提取各特征点的描述子。

在一种可能的实现方式中,第一卷积神经网络编码器为带有空洞和分支融合的卷积神经网络的堆叠结构。

进一步的,所述第一卷积神经网络编码器包括4层带有空洞和分支融合的卷积神经网络,卷积步长从第1层至第四层依次为:1、2、1、2,膨胀系数从第1层至第4层依次为:1、3、2、3,卷积核的输出通道数从第1层至第四层依次为:64、64、64、128,且4层卷积的卷积核大小均为3×3。

在一种可能的实现方式中,所述交错下采样的非极大值抑制模块进行非极大值抑制处理时采用的非极大值抑制窗口大小为3×3。

在一种可能的实现方式中,所述第二卷积神经网络编码器为带有空洞的卷积神经网络的堆叠结构。

进一步的,所述第二卷积神经网络编码器包括3层带有空洞的卷积神经网络,从第1层至第3层,各层的卷积核大小均设置为3×3,膨胀系数依次设置为:2、3、1,卷积步长依次设置为:1、2、1,卷积核的通道数依次设置为:128、128、256。

在一种可能的实现方式中,所述描述子解码器提取各特征点的描述子具体为:将插值处理后的第二特征张量通过一层卷积层进行卷积运算,得到各个特征点的初始描述子,其中,对插值处理后的第二特征张量进行卷积运算的卷积层的通道数与描述子的维数相同,卷积核大小为1×1,且卷积步长和膨胀系数均为1;再对特征点的初始描述子进行2范数归一化处理,得到各特征点的描述子。

另一方面,本发明实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行,以实现上述任一所述的基于卷积神经网络的特征点提取方法。

另一方面,本发明实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行,以实现上述任一所述的基于卷积神经网络的特征点提取方法。

本发明实施例提供的技术方案至少带来如下有益效果:

本发明实施例提供的基于卷积神经网络的特征点提取方法主要通过以下几种机制在降低计算复杂度的同时保持精度:

(1)通过两段式编码器机制,使特征点提取与描述子生成在编码器提取了低维特征之后即解耦合,在几乎不影响特征点检测性能的同时,降低第二段编码器所需的数据带宽和层数,从而降低计算复杂度。

(2)在卷积神经网络编码器中使用空洞卷积扩大感受野,取代传统提取方案中的池化层,保证了与传统提取方案相近的感受野,同时减少了池化的计算量;

(3)通过阈值筛选与Softmax逻辑回归的融合,大幅度减少了Softmax逻辑回归所需的除法次数。

(4)通过交错下采样的非极大值抑制机制,在提供相比传统非极大值抑制相似甚至更优的精度的同时大幅度降低计算量。

(5)先对编码器输出的高维信息张量进行插值再进行后处理,避免了对没有特征点被提取出来的区域进行描述子的逐点卷积和2范数归一化计算。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1是本发明实施例提供的一种基于卷积神经网络的特征点提取方法的处理过程示意图;

图2是本发明实施例提供的一种基于卷积神经网络的特征点提取方法中所采用的交错下采样的非极大值抑制模块的结构示意图;

图3是本发明实施例提供的一种基于卷积神经网络的特征点提取方法中采用的描述子后处理模块的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

传统的具有公共编码器的卷积神经网络特征点提取方法具有良好的精度,但是对于嵌入式平台以及无GPU的平台仍然具有较大的计算复杂度。本发明实施例提出了一种基于卷积神经网络的特征点提取方法,在保持和传统提取方案相似的精度的同时,大幅度降低计算复杂度,为该类提取方案在嵌入式平台的部署提供可能性。

参见图1,本发明实施例提供的基于卷积神经网络的特征点提取方法,包括下列步骤:

将待提取图像(输入图像)输入(公共的)卷积神经网络编码器1,对其进行特征提 取,得到待提取图像的第一特征张量(低维的特征张量),其中,输入图像为灰度图像,第一 特征张量的尺寸可以表示为

将特征点检测与描述子的生成进行解耦合,即将第一特征张量分别输入特征点检测解码器和卷积神经网络编码器2;其中,第一特征张量经过特征点检测解码器的计算,得到一张与输入图像尺寸相同的稀疏的置信值图,置信值图的非零像素为检测出的特征点,并将特征点检测解码器检测出的特征点坐标输入到描述子解码器。

输入到卷积神经网络编码器2的第一特征张量经过进一步编码提取高维特征,得到第二特征张量(即高纬特征张量),并将第二特征张量输入描述子解码器。

描述子解码器基于特征点解码器输出的特征点坐标(特征点在置信值图中的相对坐标)对卷积神经网络编码器2输出的高维特征张量进行插值,得到一系列指定维数(例如256维)的向量,这些向量经过描述字后处理后即作为对应特征点的描述子。

本发明实施例中,最终得到的特征点提取结果(即描述子信息)包括:特征点在置信值图中的坐标、置信值,以及每个特征点对应的256维描述子。

所述输入图像为任意尺寸1×H×W的灰度图,其中,数字1表示输入图像的通道数(即张量维度),H×W表示输入图像的空间尺寸,即H、W分别表示输入图像的高和宽。

在一种可能的实现方式中,所述卷积神经网络编码器1为带有空洞和分支融合的卷积神经网络的堆叠结构,即包括多层带有空洞和分支融合的卷积神经网络。当然,卷积神经网络编码器1也可以是多层卷积神经网络的堆叠结构。

进一步的,所述卷积神经网络编码器1包括4层带有空洞和分支融合的卷积神经网络,卷积步长从第一层至第四层依次为1、2、1、2,4层的卷积核大小均设置为3×3,4层的卷积核的输出通道数依次设置为:64、64、64、128,且4层的膨胀系数依次设置为:1、3、2、3。卷积神经网络编码器1计算得到第一特征张量的尺寸为128×(H/4)×(W/4),为包含图像低维度几何特征的张量,并将第一特征张量分别传送给特征点检测解码器与卷积神经网络编码器2进行下一步计算。

在一种可能的实现方式中,所述特征点检测解码器包含两个模块,第一个模块为置信值图解码模块。输入该模块的第一特征张量尺寸为128×(H/4)×(W/4),第一特征张量通过步长为2的卷积层升维得到尺寸为256×(H/8)×(W/8)的第三特征张量;接着通过1×1卷积层降维为65维,得到65×(H/8)×(W/8)的第四特征张量。再对第四特征张量进行Softmax逻辑回归运算与阈值筛选。即本发明实施例中,特征点检测解码器包括2层卷积层,第1层至第2层的卷积核的输出通道数分别为256和65,卷积核大小依次为3×3和1×1,卷积步长从第1层至第2层依次为2和1,膨胀系数均为1。

在现有的特征点提取处理方案中,通常是先进行Softmax逻辑回归得到各个点是 特征点的置信值

首先,对于第四特征张量的各张量值

接着,延张量E的维度方向计算每65个张量指数

然后,根据阈值T计算第二阈值:

再对张量

最后,将特征张量

所述特征点检测解码器的第二个模块为交错下采样的非极大值抑制模块,其包含以下几个子模块:交错下采样模块、两个非极大值抑制模块和交叉融合模块,如图2所示。为降低传统非极大值抑制的计算量,本发明实施例中,首先采用两次窗口为2×2的最大池化层对输入的1×H×W置信图进行下采样,其中两次池化的窗口正好在横纵方向上分别错开一个像素,得到尺寸分别为1×(H/2)×(W/2)和1×(H/2-1)×(W/2-1)的两张第二置信值图(小尺寸置信值图),再分别送入一个非极大值抑制模块中,完成对两张小尺寸置信值图的非极大值抑制的并行处理。在两个非极大值抑制模块中,所采用的非极大值抑制窗口尺寸相同,均为3×3的非极大值抑制运算,得到两张小尺寸的经过非极大值抑制的置信值图,并送入交叉融合模块。在交叉融合模块中,首先对两张小尺寸的经过非极大值抑制的置信值图进行2倍最近邻插值,其中尺寸为1×(H/2-1) ×(W/2-1)的小尺寸置信值图经过2倍最近邻插值后在最外圈补零,使得两张经过非极大值抑制的小尺寸置信值图分别恢复到原尺寸1×H×W。最后,对这两个尺寸为1×H×W的置信值图取交集,即同一像素若数值相同则保留,数值不同则置零,作为最终的非极大值抑制结果。该结果为尺寸为1×H×W的张量,张量中数值非零的像素为检测出的特征点,其数值为该点是特征点的置信值。这些特征点的坐标被传送到描述子解码器,以供描述子的计算,至此,特征点检测解码器的计算处理结束。

卷积神经网络编码器1输出的第一特征张量在传送到特征点检测解码器的同时,也会传送到卷积神经网络编码器2。由于描述子通常包含更多的高维特征和语义信息,因此使用卷积神经网络编码器2对输入的第一特征张量进行进一步特征提取。

在一种可能的实现方式中,卷积神经网络编码器2为带有空洞的卷积神经网络的堆叠结构,卷积神经网络编码器2输出的第二特征张量的通道数与指定的描述子的维数相同,例如设置为256。需要说明的是,卷积神经网络编码器2也可以是多层的卷积神经网络的堆叠结构。本发明实施例中,将第二特征张量的尺寸设置为256×(H/8)×(W/8)。进一步的,卷积神经网络编码器2包括3层带有空洞的卷积神经网络,从第1层至第3层,各层的卷积核大小均设置为3×3,膨胀系数依次设置为:2、3、1,卷积步长依次设置为:1、2、1,卷积核的通道数依次设置为:128、128、256。

描述子解码器由两个模块构成,第一个模块为插值模块。如图3所示,描述子解码器根据从特征点检测解码器输出的特征点坐标,计算特征点在(H/8)×(W/8)图片上的相对坐标。利用该相对坐标,对卷积神经网络编码器2输出的尺寸为256×(H/8)×(W/8)的包含高维特征的张量进行插值。每一个特征点的坐标通过插值可以获得一个对应的256维高维特征向量。这些特征向量被送入描述子后处理模块进行进一步运算。

描述子解码器的第二个模块为描述子后处理模块,该模块的输入是一系列与特征 点一一对应的256维向量。如图3所示,首先使用256个尺寸为256×1×1的卷积核对这些256 维向量进行逐点卷积运算,其相当于对每一个向量分别进行全连接运算,得到一组新的256 维向量。即描述子后处理模块包括一层卷积层,其卷积核大小为1×1,输出通道数为256,卷 积步长和膨胀系数均为1,该卷积层输出的特征张量尺寸为256×1×

本发明实施例中,所涉及的卷积神经网络相关参数如表1所示:

在本发明实施例中,采用两段式编码器机制,使特征点提取与描述子生成在卷积神经网络编码器1提取了低维特征之后即解耦合,在几乎不影响特征点检测性能的同时,带来了以下几点好处:

(1)由于卷积神经网络编码器2仅服务于描述子生成任务,因此可以降低第二段编码器的维度(部分层维度减少一半)和层数(相比SuperPoint减少两层),在降低计算复杂度的同时,描述子性能保持不变。

(2)由于卷积神经网络编码器1运算结束后,张量即送入特征点检测解码器进行运算,特征点检测任务的开始和完成时刻在整个处理过程中都有所提前。这使得在具备并行条件的情况下(如在现场可编程逻辑门阵列中),特征点检测解码器与卷积神经网络编码器2的运算可以并行进行。在完成卷积神经网络编码器2的运算并准备开始描述子解码器的运算时,特征点解码器已经完成特征点坐标的运算,可以直接送入描述子解码器用于插值,大幅提高了整个算法流程的并行度。

在本发明实施例中,采用步长为2的卷积进行下采样,使用空洞卷积扩大感受野。在避免了池化层的计算量的同时,保证了在层数减少的情况下编码器也能提供足够大的感受野。其中空洞卷积的膨胀系数为2和3交替,避免在此类稠密输出的算法中引入棋盘效应。在训练时,所采用的卷积神经网络编码器1和2均采用批标准化(Batch Normalization)融合以及类似于RepVGG(一种在训练时分别训练卷积层的三个分支,在推理时将三个分支的参数相加的策略)的分支融合,进一步增强编码器的性能。

本发明实施例中,采用了阈值筛选与Softmax逻辑回归计算的融合的机制,在计算Softmax逻辑回归的除法之前即可通过变换的阈值对张量中的数据进行阈值筛选,筛选过后的非零值才进行Softmax逻辑回归的除法计算,大幅度减少了Softmax逻辑回归所需的除法次数。

本发明实施例中,采用交错下采样的非极大值抑制机制,经过两次下采样之后的缩小置信值图,面积为原置信值图的四分之一。并在缩小置信值图中进行3×3的非极大值抑制运算,经还原后可以近似代替在原置信值图中进行7×7的非极大值抑制运算,该非极大值抑制处理策略,在提供相比传统非极大值抑制相似的精度的同时大幅度降低计算量85%以上。

本发明实施例中,对编码器输出的高维信息张量直接进行插值获取包含高维特征的向量,再对插值获得的向量进行描述子后处理,能避免描述子解码器中70%以上的1×1卷积和2范数归一化计算。

本发明实施例提出了一种低算力的基于卷积神经网络的特征点提取方法,尤其适用于没有图形处理器的平台的部署,其具有高性能和轻量化的处理优势。本发明实施例提出的方法具有和代表性的特征点算法SuperPoint几乎一致的性能指标。通过在HPatches数据集中生成相关评价指标,在有关描述子生成的指标方面,本发明实施例更优;本发明实施例相较于现有的特征点提取方案,大幅度降低了参数量和计算复杂度(如表1所示)。例如对于640×480的输入图像,本发明实施例与SuperPoint相比,使用图形处理器(GPU)推理时帧率提高了30%,仅使用中央处理器(CPU)推理时帧率提高了350%以上,使用图形处理器(GPU)推理神经网络部分且使用中央处理器(CPU)处理非神经网络部分时,帧率提高了150%以上。

在示例性实施例中,还提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条计算机程序。该至少一条计算机程序由一个或者一个以上处理器加载并执行,以实现上述任一种基于卷积神经网络的特征点提取方法。

在示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条计算机程序,该至少一条计算机程序由计算机设备的处理器加载并执行,以实现上述任一种基于卷积神经网络的特征点提取方法。

在一种可能实现方式中,上述计算机可读存储介质可以是只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact DiscRead-Only Memory,CD-ROMD)、磁带和光数据存储设备等。

需要说明的是,本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例方式并不代表与本发明相一致的所有实施方式。想法,它们仅是与如所附权利要求书中所详细的、本发明的一些方面相一致的装置和方法的例子。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

以上所述的仅是本发明的一些实施方式。对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

相关技术
  • 基于卷积神经网络的特征点提取方法、设备及存储介质
  • 一种基于Y-net多层卷积神经网络的焊缝特征点提取方法
技术分类

06120113254902