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

图像特征的提取方法、装置、计算机设备及存储介质

文献发布时间:2023-06-19 11:14:36


图像特征的提取方法、装置、计算机设备及存储介质

技术领域

本公开涉及图像处理的技术领域,具体而言,涉及一种图像特征的提取方法、装置、计算机设备及存储介质。

背景技术

目前,同时定位与地图构建(simultaneous localization and mapping,SLAM)系统已经成为增强现实(augmented reality,AR),虚拟现实(virtual reality,VR)和混合现实(mixed reality,MR)应用中最为核心的系统。随着AR,VR,MR的广泛应用,其使用环境也越来越广泛。此时,SLAM系统提取有效的特征,进一步估计准确的位姿是非常困难的。

在移动设备上应用AR,VR,MR时要求移动设备续航能力持久。如果移动设备消耗较多CPU资源时,会因为功耗问题导致CPU温度过高,致使CPU工作频率降低。此时,CPU的图像处理速度下降,容易出现显示掉帧的情况。在SLAM系统图像特征提取方法所使用的FAST,ORB特征点或直接对图像像素的方法,容易导致移动设备上CPU的频率降低,从而出现应用显示掉帧的情况。

发明内容

本公开实施例至少提供一种图像特征的提取方法、装置、计算机设备及存储介质。

第一方面,本公开实施例提供了一种图像特征的提取方法,包括:获取待处理图像,并获取对所述待处理图像和所述待处理图像的上一帧图像进行特征跟踪时获取到的目标跟踪特征,其中,所述目标跟踪特征用于表示上一图像帧的图像特征中包含在所述待处理图像中的图像特征;通过所述目标跟踪特征在所述待处理图像中确定特征提取区域;在所述特征提取区域中确定候选特征点和候选特征点的质量值;并根据所述候选特征点的质量值和所述目标跟踪特征确定所述待处理图像的目标图像特征。

通过上述描述可知,通过候选特征点的质量值来确定待处理图像的目标图像特征的方式,还能够提高特征提取的精度,得到更加精准的图像特征。

一种可选的实施方式中,所述通过所述目标跟踪特征在所述待处理图像中确定特征提取区域,包括:通过所述目标跟踪特征对所述待处理图像进行区域过滤,得到所述待处理图像中的特征提取区域。

通过上述描述可知,在本公开实施例中,在对待处理图像进行特征提取之前,通过目标跟踪特征在待处理图像中过滤出特征提取区域的方式,能够避免对待处理图像的整个图像区域进行特征提取,从而简化了数据计算过程,减少了CPU的消耗。

一种可选的实施方式中,所述通过所述目标跟踪特征对所述待处理图像进行区域过滤,得到所述待处理图像中的特征提取区域,包括:确定所述目标跟踪特征中已跟踪特征点在所述待处理图像中的位置,得到目标位置;根据所述目标位置在所述待处理图像中确定第一图像区域;将所述待处理图像中除所述第一图像区域之外的其他区域确定为所述特征提取区域。

在本公开实施例中,通过对待处理图像进行区域过滤的方式,能够简化CPU的计算逻辑,从而进一步减少CPU资源的消耗,避免CPU因为资源消耗过多导致的工作频率降低的技术问题。

一种可选的实施方式中,所述根据所述候选特征点的质量值和所述目标跟踪特征确定所述待处理图像的目标图像特征,包括:在所述候选特征点中选择至少一个质量值最高的候选特征点作为目标候选特征点;根据所述目标候选特征点和所述目标跟踪特征确定所述待处理图像的目标图像特征。

一种可选的实施方式中,所述在所述候选特征点中选择至少一个质量值最高的候选特征点作为所述目标候选特征点,包括:在所述候选特征点所属的特征点队列中选择质量值最高的候选特征点作为目标候选特征点,其中,所述特征点队列中包含每个候选特征点的质量值;根据所述目标候选特征点在所述待处理图像中的位置,在所述特征提取区域中确定新的过滤区域;在所述特征点队列中删除位于所述新的过滤区域内的候选特征点的信息,得到更新之后的特征点队列;在更新之后的特征点队列中选择质量值最高的特征点作为目标候选特征点,直至选择出的目标候选特征点的数量达到预设数量。

在本实施例中,采用在特征提取区域确定候选特征点,并计算候选特征点的质量值,以根据质量值确定目标候选特征点的方式,能够得到质量更强,鲁棒性更高的候选特征点,从而得到精度更高的目标图像特征。同时,本公开实施例能够将高质量的特征点加入到SLAM系统中,这使得图像特征分布均匀并且大幅度降低耗时,应用于SLAM系统中能够有效提升定位和建图精度。

一种可选的实施方式中,所述在所述特征提取区域中确定候选特征点,包括:针对所述特征提取区域中的每个像素点,根据每个像素点的位置信息在所述特征提取区域中确定第二图像区域;若确定出所述第二图像区域内目标像素点的数量大于预设数量,则确定该像素点为所述候选特征点;其中,所述目标像素点与该像素点之间的像素差值大于预设像素值。

一种可选的实施方式中,所述候选特征点的数量为多个;所述方法还包括:在所述特征提取区域中确定候选特征点和候选特征点的质量值之后,通过非极大值抑制算法对多个所述候选特征点进行过滤,得到过滤之后的候选特征点;所述根据所述候选特征点的质量值和所述目标跟踪特征确定所述待处理图像的目标图像特征,包括:根据所述过滤之后的候选特征点的质量值和所述目标跟踪特征确定所述待处理图像的目标图像特征。

一种可选的实施方式中,所述在所述特征提取区域中确定所述候选特征点的质量值,包括:在所述待处理图像中确定每个候选特征点所对应的图像区域的图像数据,并计算所述图像数据的特征值,得到多个特征值;在所述多个特征值中选择最小特征值作为每个候选特征点的质量值。

在本公开实施例中,采用质量值来确定待处理图像的目标图像特征的方式,能够解决现有技术提取的特征点质量较差,分布不均匀导致的SLAM系统定位质量较差的问题。同时,采用非极大值抑制算法对候选特征点进行过滤的方式,能够进一步筛选出鲁棒性高的候选特征点,从而进一步保证了目标图像特征的精度。

一种可选的实施方式中,所述方法还包括:确定所述目标跟踪特征中所包含的已跟踪特征点的数量;根据所述已跟踪特征点的数量和/或所述待处理图像的图像帧属性确定所述待处理图像是否满足区域过滤条件;其中,所述图像帧属性用于确定所述待处理图像是否为关键帧;若判断出满足所述区域过滤条件,则执行步骤通过所述目标跟踪特征对所述待处理图像进行区域过滤。

一种可选的实施方式中,所述根据所述已跟踪特征点的数量和/或所述待处理图像的图像帧属性确定所述待处理图像是否满足区域过滤条件,包括:若所述已跟踪特征点的数量小于第一数量,则确定所述待处理图像满足所述区域过滤条件;或者,若所述已跟踪特征点的数量大于或者等于所述第一数量,小于第二数量,且根据所述图像帧属性确定出所述待处理图像为关键帧,则确定所述待处理图像满足所述区域过滤条件。

在本公开实施例中,通过SLAM系统目标跟踪特征的数量以及待处理图像是否是关键帧来判断是否对待处理图像执行特征提取的操作,若是,则对待处理图像进行区域过滤,得到过滤之后的特征提取区域,最后,在特征提取区域中进行特征提取,能够大幅度降低提取特征的耗时,减少CPU资源的消耗,避免CPU出现工作频率降低的问题。

一种可选的实施方式中,所述在所述特征提取区域中确定候选特征点之前,还包括:对所述待处理图像的边缘区域进行裁剪,得到裁剪之后的待处理图像;所述在所述特征提取区域中确定候选特征点和候选特征点的质量值,包括:在裁剪之后的待处理图像所包含的特征提取区域中确定所述候选特征点和候选特征点的质量值。

在本公开实施例中,在得到裁剪之后的待处理图像之后,就可以在裁剪之后的待处理图像中所包含的特征提取区域内确定候选特征点,从而保证在边缘区域不提取候选特征点,以降低边缘噪声的干扰。

第二方面,本公开实施例还提供一种图像特征的提取装置,包括:获取单元,用于获取待处理图像,并获取对所述待处理图像和所述待处理图像的上一帧图像进行特征跟踪时获取到的目标跟踪特征,其中,所述目标跟踪特征用于表示上一图像帧的图像特征中包含在所述待处理图像中的图像特征;第一确定单元,用于通过所述目标跟踪特征在所述待处理图像中确定特征提取区域;第二确定单元,用于在所述特征提取区域中确定候选特征点和候选特征点的质量值;并根据所述候选特征点的质量值和所述目标跟踪特征确定所述待处理图像的目标图像特征。

第三方面,本公开实施例还提供一种计算机设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。

第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。

关于上述图像特征的提取方法、装置以及计算机设备的效果描述参见上述图像特征的提取方法的说明,这里不再赘述。

为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本公开实施例所提供的一种SLAM系统的结构框图;

图2示出了本公开实施例所提供的一种图像特征的提取方法的流程图;

图3示出了本公开实施例所提供的图像特征的提取方法中,判断待处理图像是否满足区域过滤条件的具体方法的流程图;

图4示出了本公开实施例所提供的图像特征的提取方法中,通过目标跟踪特征对所述待处理图像进行区域过滤的具体方法的流程图;

图5(a)示出了本公开实施例所提供的一种待处理图像frame

图5(b)示出了本公开实施例所提供的一种多个已跟踪特征点在待处理图像中的分布情况的示意图;

图5(c)示出了本公开实施例所提供的一种待处理图像中非特征提取区域或者特征提取区域的示意图;

图6(a)示出了本公开实施例所提供的一种过滤之后的待处理图像的示意图;

图6(b)示出了本公开实施例所提供的一种裁剪之后的待处理图像的图像区域的示意图;

图6(c)示出了本公开实施例所提供的另一种裁剪之后的待处理图像的图像区域的示意图;

图7示出了本公开实施例所提供的图像特征的提取方法中,根据候选特征点的质量值和目标跟踪特征确定所述待处理图像的目标图像特征的具体方法的流程图;

图8(a)示出了本公开实施例所提供的一种在待处理图像中的特征提取区域所确定的多个候选特征点的分布示意图的示意图;

图8(b)示出了本公开实施例所提供的一种在多个候选特征点中选择质量值最高的目标候选特征点的示意图;

图9示出了本公开实施例所提供的另一种图像特征的提取方法的流程图;

图10示出了本公开实施例所提供的一种图像特征的提取装置的示意图;

图11示出了本公开实施例所提供的一种计算机设备的示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

经研究发现,在现有的特征提取方案,主要对图像整个图像区域进行特征提取,但是,采用该方法进行特征提取时,耗时较大,这将导致消耗CPU的大量资源,从而导致CPU温度升高。在CPU温度升高之后,CPU的工作频率就会降低,从而就会出现掉帧的情况。

基于上述研究,本公开提供了一种图像特征的提取方法,该方法在对待处理图像进行特征提取之前,通过目标跟踪特征在待处理图像中过滤出特征提取区域的方式,能够避免对待处理图像的整个图像区域进行特征提取,从而简化了数据计算过程,减少了CPU的消耗;再通过候选特征点的质量值来确定待处理图像的目标图像特征的方式,还能够提高特征提取的精度,得到更加精准的图像特征。经过研究发现,在640×480的图像上,如果SLAM系统目标跟踪特征数量超过80个的情况下,将会降低CPU70%上的功耗。

针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

为便于对本实施例进行理解,首先对本公开实施例所公开的一种图像特征的提取方法进行详细介绍,本公开实施例所提供的图像特征的提取方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该图像特征的提取方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。

下面以执行主体为终端设备为例对本公开实施例提供的图像特征的提取方法加以说明。

实施例一

参见图1所示,为本公开实施例提供的SLAM系统的结构框图。如图1所示,该SLAM系统包括:传感器数据获取模块,前端视觉里程计模块,后端非线性优化模块,地图构建模块和回环检测模块。前端视觉里程计模块是SLAM系统的核心模块,影响整个系统的精度和稳定性能。

传感器数据获取模块,被配置成获取SLAM系统中传感器采集到的图像数据。前端视觉里程计模块,被配置成根据图像数据中相邻图像帧的图像特征确定出摄像装置的运动位姿。后端非线性优化模块,被配置成根据前端视觉里程计模块输出运动位姿确定摄像装置的状态预测数据。地图构建模块,被配置成根据状态预测数据进行地图的构建。回环检测模块,被配置当SLAM系统所属移动载体识别当前所处场景为曾经所达到的场景,从而使得自主移动载体在移动过程中所建立的地图形成闭环。

需要说明的是,图像的特征提取过程是前端视觉历程计模块的核心过程,本发明所提出的图像特征的提取方法可以应用到上述前端视觉历程计模块中,下面将结合具体实施例介绍该前端视觉历程计模块的工作过程。

需要说明的是,本公开实施例所提供的图像特征的提取方法可以集成到终端设备(例如,移动终端)的AR/VR系统中,以通过该方法提升SLAM系统的定位精度。本公开实施例所提供的方法可以降低SLAM系统的功耗,能够持久稳定地运行保证应用图像的帧率不降低。

实施例二

参见图2所示,为本公开实施例提供的图像特征的提取方法的流程图,所述方法包括步骤S201~S205,其中:

S201:获取待处理图像,并获取对所述待处理图像和所述待处理图像的上一帧图像进行特征跟踪时获取到的目标跟踪特征,其中,所述目标跟踪特征用于表示上一图像帧的图像特征中包含在所述待处理图像中的图像特征。

在本公开实施例中,目标跟踪特征可以理解为前后帧图像(即,待处理图像及其上一帧图像)的跟踪特征。其中,待处理图像的上一帧图像可以理解为待处理图像的上一帧待处理的图像。例如,待处理图像的上一个图像帧的图像特征中包含在待处理图像中的图像特征。上述所描述的待处理图像和上一个图像帧为如图1所示的SLAM系统中传感器数据获取模块所获取到的图像数据。

需要说明的是,在本公开实施例中,目标跟踪特征可以理解为图像中的多个已跟踪特征点。

S203:通过所述目标跟踪特征在所述待处理图像中确定特征提取区域。

S205:在所述特征提取区域中确定候选特征点和候选特征点的质量值;并根据所述候选特征点的质量值和所述目标跟踪特征确定所述待处理图像的目标图像特征。

在本公开实施例中,在确定出特征提取区域之后,就可以在特征提取区域中确定至少一个角点作为候选特征点,并根据待处理图像中每个角点(即,候选特征点)所对应的图像区域的特征值来计算每个角点(即,候选特征点)的质量值。

在本公开实施例中,质量值用于表征每个候选特征点对确定出的待处理图像的目标图像特征的精度的影响程度,以及表征每个候选特征点对CPU资源消耗大小的影响。例如,在根据质量值高的候选特征点确定待处理图像的目标图像特征时,可以得到精度更高的目标图像特征,且对CPU资源消耗最小;相反,在根据质量值低的候选特征点确定待处理图像的目标图像特征时,得到精度降低的目标图像特征,且对CPU资源消耗随之增大。因此,在本公开实施例中,采用质量值来确定待处理图像的目标图像特征的方式,能够解决现有技术提取的特征点质量较差,以及分布不均匀导致的SLAM系统定位质量较差的问题。

在一个可选的实施方式中,可以通过所述目标跟踪特征对所述待处理图像进行区域过滤,得到所述待处理图像中的特征提取区域。

具体地,在确定目标跟踪特征之后,就可以根据目标跟踪特征对待处理图像进行区域过滤,从而过滤掉待处理图像中的非特征提取区域。在过滤掉非特征提取区域之后,就可以对过滤之后得到的特征提取区域进行特征提取,从而简化了待处理图像中的待处理图像区域,以降低CPU的消耗,以避免由于CPU消耗过高导致的CPU工作频率降低的问题。

如果目标跟踪特征为多个已跟踪特征点,那么已跟踪特征点的数量越多,从待处理图像过滤出的非特征提取区域也就越大,此时,过滤之后得到的特征提取区域的越小,从而进一步降低了CPU的消耗。

通过上述描述可知,在本公开实施例中,在对待处理图像进行特征提取之前,通过目标跟踪特征在待处理图像中过滤出特征提取区域的方式,能够避免对待处理图像的整个图像区域进行特征提取,从而简化了数据计算过程,减少了CPU的消耗;再通过候选特征点的质量值来确定待处理图像的目标图像特征的方式,还能够提高特征提取的精度,得到更加精准的图像特征。

通过上述描述可知,在本公开实施例中,在获取到待处理图像和SLAM系统的目标跟踪特征之后,就可以对待处理图像进行矫正畸变处理,得到矫正之后的待处理图像,进而通过目标跟踪特征对矫正之后的待处理图像进行区域过滤,得到待处理图像中的特征提取区域。其中,需要说明的是,对待处理图像进行矫正畸变处理是指对待处理图像的扭曲、变形、不平衡和倾斜等问题进行矫正处理,从而得到更加准确的待处理图像,以提高待处理图像的特征提取精度。

在一个可选的实施方式中,在通过目标跟踪特征对待处理图像进行区域过滤之前,还可以根据目标跟踪特征中已跟踪特征点的数量和目标获取到的待处理图像是否为关键帧来判断待处理图像是否满足区域过滤条件。如图3所示,上述过程具体描述为如下步骤:

步骤S301,确定所述目标跟踪特征中所包含的已跟踪特征点的数量;

步骤S302,根据所述已跟踪特征点的数量和/或所述待处理图像的图像帧属性确定所述待处理图像是否满足区域过滤条件;其中,所述图像帧属性用于确定所述待处理图像是否为关键帧。

在本公开实施例中,针对SLAM系统来说,关键帧为执行特征提取的图像。也就是说,在SLAM系统,并不是对每个图像都执行特征提取操作,而是对关键帧执行特征提取操作。例如,可以设定每隔3帧确定一个关键帧,然后,对该关键帧执行特征提取操作。因此,在本公开实施例中,可以根据当前待处理图像的图像帧属性来判断是否对该待处理图像执行特征提取操作。

除了根据图像帧属性来判断是否对待处理图像执行特征提取操作之外,还可以根据目标跟踪特征中已跟踪特征点的数量来判断是否对待处理图像执行特征提取操作。具体地,在本申请中,可以预先设定一个最小值和一个最大值,然后,将已跟踪特征点的数量分别与最小值和最大值进行比较,从而确定是否对待处理图像执行特征提取操作。

步骤S303,若判断出满足所述区域过滤条件,则通过所述目标跟踪特征对所述待处理图像进行区域过滤。

在本公开实施例中,若根据已跟踪特征点的数量和/或待处理图像的图像帧属性确定所述待处理图像满足区域过滤条件,则对待处理图像执行特征提取操作,即执行步骤S203和步骤S205。若根据已跟踪特征点的数量和/或待处理图像的图像帧属性确定该待处理图像不满足区域过滤条件,则舍弃该待处理图像,并继续获取下一个待处理图像,进而继续判断下一个待处理图像是否满足区域过滤条件。

在本公开实施例中,可以通过以下几种方式来判断待处理图像是否满足区域过滤条件。

方式一:

若所述已跟踪特征点的数量小于第一数量,则确定所述待处理图像满足所述区域过滤条件。

具体地,在本公开实施例中,SLAM系统的目标跟踪特征记为Feature

需要说明的是,在本公开实施例中,第一数量可以为相关技术人员预先根据经验选择一个的数值,例如,第一数量可以选择为20,除了20之外,还可以选择为其他数值,例如,21和22等,本申请对此不作具体限定。也即,如果已跟踪特征点的数量小于20个,则确定需要对该待处理图像执行特征提取操作,以避免特征较少导致的地图构建模块所构建的地图精度差的技术问题。

方式二:

若所述已跟踪特征点的数量大于或者等于所述第一数量,小于第二数量,且根据所述图像帧属性确定出所述待处理图像为关键帧,则确定所述待处理图像满足所述区域过滤条件。其中,第二数量大于第一数量。

具体地,在本公开实施例中,SLAM系统的目标跟踪特征记为Feature

也就是说,通过上述描述可知,在对待处理图像进行特征提取之前,首先要结合图像帧属性和已跟踪特征点的数量来判断待处理图像是否满足区域过滤条件。若满足,则执行后续的特征提取操作。采用该处理方式,能够对不符合要求的待处理图像进行进一步过滤,从而进一步简化了数据计算逻辑,减少了CPU资源的消耗。

在本公开实施例中,在判断出待处理图像满足区域过滤条件之后,就可以通过目标跟踪特征对所述待处理图像进行区域过滤,得到所述待处理图像中的特征提取区域。

在一个可选的实施方式中,如图4所示,步骤S203,通过所述目标跟踪特征对所述待处理图像进行区域过滤,得到所述待处理图像中的特征提取区域,包括如下过程:

步骤S2031,确定目标跟踪特征中已跟踪特征点在所述待处理图像中的位置,得到目标位置;

步骤S2032,根据目标位置在所述待处理图像中确定第一图像区域;

步骤S2033,将所述待处理图像中除所述第一图像区域之外的其他区域确定为所述特征提取区域。

下面将结合图5(a)至图5(c)介绍上述过程,如图5(a)所示即为待处理图像frame

若第一图像区域为圆形区域,那么以每个目标位置为中心,在待处理图像中确定多个圆形区域的过程可以描述如下:

设定目标跟踪特征Feature

此时,可以以像素坐标为(u

其中,η表示过滤半径,也即,圆形区域的半径。需要说明的是,在本公开实施例中,η的取值与待处理图像的大小相关联。例如,在640×480的待处理图像上,η可以取30个像素,在此情况下,所确定出的待处理图像的目标图像特征的准确度最高,且地图构建模块所构建的地图准确度也最高,从而获取最佳的跟踪效果。

在按照上述所描述的方式确定得到多个第一图像区域之后,就可以将待处理图像中除所述多个第一图像区域之外的其他区域确定为特征提取区域。例如,如图5(c)所示,图5(c)中圆形区域即为非特征提取区域,待处理图像中除了圆形区域之外的区域即为特征提取区域。

在确定出特征提取区域之后,就可以对特征提取区域进行处理,从而得到待处理图像的目标图像特征。通过上述描述可知,在本公开实施例中,通过对待处理图像进行区域过滤的方式,能够简化CPU的计算逻辑,从而进一步减少CPU资源的消耗,避免CPU因为资源消耗过多导致的工作频率降低的技术问题。

在本公开实施例中,在按照上述所描述的方式确定出特征提取区域之后,就可以在特征提取区域中确定候选特征点,以及确定候选特征点的质量值。

在一个可选的实施方式中,在所述特征提取区域中确定候选特征点可以描述为如下过程:

首先,针对所述特征提取区域中的每个像素点,根据每个像素点的位置信息,在所述特征提取区域中确定第二图像区域;

其次,若确定出所述第二图像区域内目标像素点的数量大于预设数量,则确定该像素点为所述候选特征点;其中,所述目标像素点与该像素点之间的像素差值大于预设像素值。

具体地,在本公开实施例中,在特征提取区域中确定候选特征点时,可以首先对待处理图像的边缘区域进行裁剪,得到裁剪之后的待处理图像;从而在裁剪之后的待处理图像所包含的特征提取区域中确定候选特征点。

如图6(a)表示过滤非特征提取区域之后的待处理图像的图像区域Oi。之后,可以对如图6(a)所示的图像区域Oi的边缘区域进行裁剪,从而去除图像区域Oi位于边缘区域的ξ个像素,如图6(b)所示的图像区域Fi即为裁剪之后的待处理图像的图像区域。其中,

在本公开实施例中,在得到如图6(c)所示的裁剪之后的待处理图像的图像区域Fi之后,就可以对该图像区域Fi中的像素点

需要说明的是,在本公开实施例中,预设像素值可以选择为10个像素点,预设数量可以选择为5个像素点。

下面以第二图像区域是圆形区域为例来进行进一步介绍,在此情况下,预设像素值为10个像素点,预设数量为5个像素点。针对图像区域Fi中的像素点Pi,以该像素点Pi所在位置为圆心,以3个像素点为半径,在特征提取区域中确定一个圆形区域。通过确定可知,在该圆形区域内包含16个像素点,分别是p1,p2,...,p16。下面计算这16个像素点中与像素点Pi之间的像素差值超过10个像素点的目标像素点的数量。若该数量大于5个像素点,则确定像素点Pi为候选特征点。

在本公开实施例中,针对图像区域Fi中的每个像素点,均采用上述所描述的方式确定该像素点是否为候选特征点,此处不再一一赘述。

在本公开实施例中,在确定出候选特征点之后,就可以确定特征点的质量值,具体地,可以在所述待处理图像中确定每个候选特征点所对应的图像区域的图像数据,并计算所述图像数据的特征值,得到多个特征值;从而在所述多个特征值中选择最小特征值作为每个候选特征点的质量值。

在本公开实施例中,可以在待处理图像的特征提取区域中确定一个n*n的图像区域,例如,5*5的图像区域。然后,确定该n*n的图像区域的图像数据,例如,n*n的图像区域的像素矩阵。接下来,对该n*n的图像区域的图像数据进行特征值计算,得到多个特征值,最后,在多个特征值中选择最小特征值作为每个候选特征点的质量值。

具体地,可以根据公式Score

在本公开实施例中,在所述特征提取区域中确定候选特征点和候选特征点的质量值之后,还可以通过非极大值抑制算法对多个所述候选特征点进行过滤,得到过滤之后的候选特征点,从而使得过滤之后的候选特征点在特征提取区域所对应的5*5的图像区域内包含一个最强的候选特征点。其中,最强的候选特征点可以理解为鲁棒性高的候选特征点。

在得到过滤之后的候选特征点后,就可以根据所述过滤之后的候选特征点的质量值和所述目标跟踪特征确定所述待处理图像的目标图像特征。

通过上述描述可知,在本公开实施例中,质量值用于表征每个候选特征点对确定出的待处理图像的目标图像特征的精度的影响程度,以及表征每个候选特征点对CPU资源消耗大小的影响。因此,在本公开实施例中,采用质量值来确定待处理图像的目标图像特征的方式,能够解决现有技术提取的特征点质量较差,分布不均匀导致的SLAM系统定位质量较差的问题。同时,采用非极大值抑制算法对候选特征点进行过滤的方式,能够进一步筛选出鲁棒性高的候选特征点,从而进一步保证了目标图像特征的精度。

在本公开的一个可选实施方式中,如图7所示,步骤根据所述候选特征点的质量值和所述目标跟踪特征确定所述待处理图像的目标图像特征,包括如下过程:

步骤S701,在所述候选特征点中选择至少一个质量值最高的候选特征点作为所述目标候选特征点;

步骤S702,根据所述目标候选特征点和所述目标跟踪特征确定所述待处理图像的目标图像特征。

具体地,在本公开实施例中,可以根据多个候选特征点的质量值,依次从多个候选特征点中选择至少一个质量值最高的目标候选特征点。然后,确定目标候选特征点的特征,并将确定出的目标候选特征点的特征加入到目标跟踪特征中,从而得到目标图像特征。

需要说明的是,在本公开实施例中,在确定目标图像特征时,除了要考虑候选特征点的质量值之外,还需要考虑目标图像特征的分布均匀性,因为若获取到特征分布均匀的目标图像特征,能够有效提升SLAM系统定位和建图的精度。

基于此,在本公开实施例中,步骤:在所述候选特征点中选择至少一个质量值最高的候选特征点作为所述目标候选特征点可以描述为:

(1)、在所述候选特征点所属的特征点队列中选择质量值最高的候选特征点作为目标候选特征点,其中,所述特征点队列中包含每个候选特征点的质量值。

在本公开实施例中,候选特征点对应一个特征点队列,包含每个候选特征点的特征点信息和质量值。其中,在该特征点队列中,质量值可以按照由高到低的顺序进行排列,或者,按照由低到高的顺序进行排列。

在本公开实施例中,可以先从特征点队列中选择一个质量值最高的候选特征点作为目标候选特征点,并将该目标候选特征点加入到已跟踪特征点所属的特征点队列中。

(2)、根据所述目标候选特征点在所述待处理图像中的位置,在所述特征提取区域中确定新的过滤区域。

在确定出目标候选特征点之后,需要在待处理图像中确定目标候选特征点所对应的一个图像区域,例如,以该目标候选特征点为圆心,r个像素点为半径确定一个圆形区域,其中,该圆形区域即为新的过滤区域。

(3)、在所述特征点队列中删除位于所述新的过滤区域内的候选特征点的信息,得到更新之后的特征点队列。

(4)、在更新之后的特征点队列中选择质量值最高的特征点作为目标候选特征点,直至选择出的目标候选特征点的数量达到预设数量。

接下来,要在多个候选特征点中确定位于该新的过滤区域内的候选特征点,并在特征点队列中删除该候选特征点的标识信息和质量值。并在特征点队列的剩余候选特征点中选择一个质量值最高的候选特征点作为目标候选特征点。

在确定出又一个目标候选特征点之后,需要返回执行步骤(2)至步骤(4),直至确定出的目标候选特征点的数量与已跟踪特征点的数量总和达到上述所描述的第二数量(例如,120个)。其中,预设数量即第二数值与已跟踪特征点的数量之间的差值。

例如,如图8(a)至8(b)所示,以图6(c)所示的过滤之后的待处理图像为例,图8(a)所示的即为在待处理图像中的特征提取区域所确定的多个候选特征点的分布示意图。图8(b)所示的即为在多个候选特征点中选择质量值最高的目标候选特征点,并根据该目标候选特征点确定新的过滤区域,以及删除位于该新的过滤区域内的候选特征点的示意图。

通过上述描述可知,在本公开实施例中,在每次确定出一个目标候选特征点之后,都会根据该目标候选特征点对待处理图像进行区域过滤和候选特征点的过滤,从而保证确定出的目标候选特征点的分布是均匀的,从而提升SLAM系统定位和建图的精度。

实施例三

参见图9所示,为本公开实施例提供的图像特征的提取方法的流程图,所述方法包括步骤S901~S913,其中:

步骤S901,获取待处理图像,并对待处理图像进行矫正畸变处理。

对待处理图像frame

步骤S902,获取SLAM系统对待处理图像和待处理图像的上一帧图像进行特征跟踪得到的目标跟踪特征。

在本公开实施例中,目标跟踪特征可以理解为前后帧图像(即,待处理图像及其上一帧图像)的跟踪特征,例如,待处理图像的上一个图像帧的图像特征中包含在待处理图像中的图像特征。上述所描述的待处理图像和上一个图像帧为如图1所示的SLAM系统中传感器数据获取模块所获取到的图像数据。

步骤S903,判断目标跟踪特征的数量是否小于第一数量,若是,则执行步骤S906;若否,则执行步骤S904。

第一数量记为Number

步骤S904,判断目标跟踪特征的数量是否小于第二数量,若是,则执行步骤S905;若否,则返回执行步骤S901;

第二数值即为上述所描述的最大值,记为Number

步骤S905,判断待处理图像是否为关键帧;若是,则执行步骤S906;若否,则返回执行步骤S901。

针对SLAM系统来说,关键帧为执行特征提取的图像。也就是说,在SLAM系统,并不是对每个图像都执行特征提取操作,而是对关键帧执行特征提取操作。例如,可以设定每隔3帧确定一个关键帧,然后,对该关键帧执行特征提取操作。此时,可以判断待处理图像是否为关键帧,若是,则执行步骤S906,否则,返回步骤S901,继续获取下一个待处理图像。

步骤S906,通过目标跟踪特征对所述待处理图像进行区域过滤,得到所述待处理图像中的特征提取区域。

在本公开实施例中,可以采用上述实施例中图4所描述的方式对待处理图像进行区域过滤,得到所述待处理图像中的特征提取区域,此处不再详细介绍。

步骤S907,在所述特征提取区域中确定候选特征点。

在本公开实施例中,针对所述特征提取区域中的每个像素点,以每个像素点的位置信息为中心,在所述特征提取区域中确定第二图像区域;若确定出所述第二图像区域内目标像素点的数量大于预设数量,则确定该像素点为所述候选特征点;其中,所述目标像素点与该像素点之间的像素差值大于预设像素。

具体地,在本公开实施例中,在特征提取区域中确定候选特征点时,可以首先对待处理图像的边缘区域进行裁剪,得到裁剪之后的待处理图像;从而在裁剪之后的待处理图像所包含的特征提取区域中确定候选特征点。

步骤S908,计算候选特征点的质量值。

在本公开实施例中,可以在待处理图像的特征提取区域中确定一个n*n的图像区域,例如,5*5的图像区域,然后,确定该n*n的图像区域的图像数据,例如,n*n的图像区域的像素矩阵;接下来,对该n*n的图像区域的图像数据进行特征值计算,得到多个特征值,最后,在多个特征值中选择最小特征值作为每个候选特征点的质量值。

具体地,可以根据公式Score

步骤S909,选择一个质量值最高的目标候选特征点加入到目标跟踪特征所属特征点队列中。

步骤S910,判断目标候选特征点的坐标是否位于待处理图像内;若是,则执行步骤S911;若否,则返回执行步骤S909。

步骤S911,根据所述目标候选特征点在所述待处理图像中的位置,在所述特征提取区域中确定新的过滤区域。

具体地,在本公开实施例中,可以根据多个候选特征点的质量值,依次从多个候选特征点中选择至少一个质量值最高的目标候选特征点。然后,将确定出的目标候选特征点的特征加入到目标跟踪特征中,得到目标图像特征。

需要说明的是,在本公开实施例中,在确定目标图像特征时,除了要考虑候选特征点的质量值之外,还需要考虑目标图像特征的分布均匀性,因为若获取到特征分布均匀的目标图像特征,能够有效提升SLAM系统定位和建图的精度。

步骤S912,更新目标跟踪特征所属特征点队列中特征点的数量。

步骤S913,判断该数量是否小于第二数量,若是,则结束流程;若否,则返回执行步骤S909。

通过上述描述可知,在本公开实施例中,在对待处理图像进行特征提取之前,通过目标跟踪特征在待处理图像中过滤出特征提取区域的方式,能够避免对待处理图像的整个图像区域进行特征提取,从而简化了数据计算过程,减少了CPU的消耗;再通过候选特征点的质量值来确定待处理图像的目标图像特征的方式,还能够提高特征提取的精度,得到更加精准的图像特征。

本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。

基于同一发明构思,本公开实施例中还提供了与图像特征的提取方法对应的图像特征的提取装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述图像特征的提取方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。

实施例四

参照图10所示,为本公开实施例提供的一种图像特征的提取装置的架构示意图,所述装置包括:获取单元11、第一确定单元12、第二确定单元13;其中,

获取单元11,用于获取待处理图像,并获取对所述待处理图像和所述待处理图像的上一帧图像进行特征跟踪时获取到的目标跟踪特征,其中,所述目标跟踪特征用于表示上一图像帧的图像特征中包含在所述待处理图像中的图像特征;

第一确定单元12,用于通过所述目标跟踪特征在所述待处理图像中确定特征提取区域;

第二确定单元13,用于在所述特征提取区域中确定候选特征点和候选特征点的质量值;并根据所述候选特征点的质量值和所述目标跟踪特征确定所述待处理图像的目标图像特征。

通过上述描述可知,在本公开实施例中,通过候选特征点的质量值来确定待处理图像的目标图像特征的方式,还能够提高特征提取的精度,得到更加精准的图像特征。

一种可能的实施方式中,第一确定单元12,还用于:通过所述目标跟踪特征对所述待处理图像进行区域过滤,得到所述待处理图像中的特征提取区域。

一种可能的实施方式中,第一确定单元12,还用于:确定所述目标跟踪特征中已跟踪特征点在所述待处理图像中的位置,得到目标位置;根据所述目标位置在所述待处理图像中确定第一图像区域;将所述待处理图像中除所述第一图像区域之外的其他区域确定为所述特征提取区域。

一种可能的实施方式中,第二确定单元13,还用于:在目标跟踪特征包括多个已跟踪特征点的情况下;在所述候选特征点中选择至少一个质量值最高的候选特征点作为所述目标候选特征点;根据所述目标候选特征点和所述目标跟踪特征确定所述待处理图像的目标图像特征。

一种可能的实施方式中,第二确定单元13,还用于:在所述候选特征点所属的特征点队列中选择质量值最高的候选特征点作为目标候选特征点,其中,所述特征点队列中包含每个候选特征点的标识信息和每个候选特征点的质量值;根据所述目标候选特征点在所述待处理图像中的位置,在所述特征提取区域中确定新的过滤区域;在所述特征点队列中删除位于所述新的过滤区域内的候选特征点的信息,得到更新之后的特征点队列;在更新之后的特征点队列中选择质量值最高的特征点作为目标候选特征点,直至选择出的目标候选特征点的数量达到预设数量。

一种可能的实施方式中,第二确定单元13,还用于:针对所述特征提取区域中的每个像素点,根据每个像素点的位置信息在所述特征提取区域中确定第二图像区域;若确定出所述第二图像区域内目标像素点的数量大于预设数量,则确定该像素点为所述候选特征点;其中,所述目标像素点与该像素点之间的像素差值大于预设像素值。

一种可能的实施方式中,在候选特征点的数量为多个的情况下,该装置还用于:在所述特征提取区域中确定候选特征点和候选特征点的质量值之后,通过非极大值抑制算法对多个所述候选特征点进行过滤,得到过滤之后的候选特征点;确定单元,还用于:根据所述过滤之后的候选特征点的质量值和所述目标跟踪特征确定所述待处理图像的目标图像特征。

一种可能的实施方式中,第二确定单元13,还用于:在所述待处理图像中确定每个候选特征点所对应的图像区域的图像数据,并计算所述图像数据的特征值,得到多个特征值;在所述多个特征值中选择最小特征值作为每个候选特征点的质量值。

一种可能的实施方式中,该装置还用于:确定所述目标跟踪特征中所包含的已跟踪特征点的数量;根据所述已跟踪特征点的数量和/或所述待处理图像的图像帧属性确定所述待处理图像是否满足区域过滤条件;其中,所述图像帧属性用于确定所述待处理图像是否为关键帧;若判断出满足所述区域过滤条件,则执行步骤通过所述目标跟踪特征对所述待处理图像进行区域过滤。

一种可能的实施方式中,该装置还用于:若所述已跟踪特征点的数量小于第一数量,则确定所述待处理图像满足所述区域过滤条件;或者,若所述已跟踪特征点的数量大于或者等于所述第一数量,小于所述第二数量,且根据所述图像帧属性确定出所述待处理图像为关键帧,则确定所述待处理图像满足所述区域过滤条件。

一种可能的实施方式中,该装置还用于:在所述特征提取区域中确定候选特征点之前,对所述待处理图像的边缘区域进行裁剪,得到裁剪之后的待处理图像;第二确定单元,还用于:在裁剪之后的待处理图像所包含的特征提取区域中确定所述候选特征点和候选特征点的质量值。

实施例五

基于同一技术构思,本公开实施例还提供了一种计算机设备。参照图11所示,为本公开实施例提供的计算机设备100的结构示意图,包括处理器1101、存储器1102、和总线1103。其中,存储器1102用于存储执行指令,包括内存11021和外部存储器11022;这里的内存11021也称内存储器,用于暂时存放处理器1101中的运算数据,以及与硬盘等外部存储器11022交换的数据,处理器1101通过内存11021与外部存储器11022进行数据交换,当计算机设备1100运行时,处理器1101与存储器1102之间通过总线703通信,使得处理器1101在执行以下指令:

获取待处理图像,并获取对所述待处理图像和所述待处理图像的上一帧图像进行特征跟踪时获取到的目标跟踪特征,其中,所述目标跟踪特征用于表示上一图像帧的图像特征中包含在所述待处理图像中的图像特征;

通过所述目标跟踪特征在所述待处理图像中确定特征提取区域;

在所述特征提取区域中确定候选特征点和候选特征点的质量值;并根据所述候选特征点的质量值和所述目标跟踪特征确定所述待处理图像的目标图像特征。

本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的图像特征的提取方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。

本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的图像特征的提取方法的步骤,具体可参见上述方法实施例,在此不再赘述。

其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

相关技术
  • 图像特征提取方法、装置、计算机设备及存储介质
  • 图像特征的提取方法、装置、计算机设备及存储介质
技术分类

06120112858752