本发明涉及计算机技术领域,特别涉及一种基于特征光流信息的视觉特征点追踪方法、装置、存储介质及终端。
背景技术:
光流(opticalflow),本质上是三维场景下的物体运动投影到二维图像平面上,表现出的像素点亮度变化。光流法是在计算机视觉领域发展起来的图像运动分析技术,作为机器视觉领域的重要研究课题。基于光流法的运动分析是很多视觉任务的基础。
目前的光流法主要包括horn&schunck(hs)和lucas&kanade(lk)法。hs和lk方法的提出均基于一个最基本的假设,即同一个像素点在相邻两帧图像内所显示的亮度(灰度值)是不变的。记一个在t时刻,位于坐标点(x,y)处的像素点的灰度为i(x,y,t),设t+dt时刻,它运动到坐标点(x+dx,y+dy)处。由于灰度不变,可以得到灰度为i(x+dx,y+dy,t+dt)=i(x,y,t)。由于在现实环境中,当获取的图像序列面临着明显的光照变化或者三维场景中的物体有着较大的运行状态时,光流估计就会有着较大的误差,从而影响追踪视觉特征点的准确性。
技术实现要素:
本申请实施例提供了一种基于特征光流信息的视觉特征点追踪方法、装置、存储介质及终端。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
第一方面,本申请实施例提供了一种图像特征光流信息生成方法,所述方法包括:
获取图像序列中的第一图像帧和第二图像帧;
将所述第一图像帧和第二图像帧输入预先训练的神经网络映射模型中,生成第一图像帧和第二图像帧的特征光流信息。
可选的,所述获取图像序列中的第一图像帧和第二图像帧之前,还包括:
创建双通道的图像金字塔神经网络模型;
获取预先采集的图像数据样本;
基于所述图像数据样本生成图像数据样本的真实光流信息图;
利用所述图像数据样本的真实光流信息图对所述图像金字塔神经网络模型进行训练,生成神经网络映射模型。
可选的,所述基于所述图像数据样本生成图像数据样本的真实光流信息图,包括:
获取所述图像数据样本中各图像帧;
将所述各图像帧作为各图像帧的背景图;
将预设3d模型的不同位姿投影至所述各图像帧的背景图中,生成各图像帧的第一相关图像帧和第二相关图像帧;
基于所述预设3d模型的不同位姿计算所述各图像帧的第一相关图像帧和第二相关图像帧对应的各像素点运动信息,生成各图像帧的真实光流信息图;
将所述各图像帧的真实光流信息图作为图像数据样本的真实光流信息图。
第二方面,本申请实施例提供了一种基于特征光流信息的视觉特征点追踪方法,所述方法包括:
获取第一图像帧和第二图像帧的特征光流信息;
基于所述第一图像帧和第二图像帧的特征光流信息追踪所述第二图像帧的特征点。
可选的,所述基于所述第一图像帧和第二图像帧的特征光流信息追踪所述第二图像帧的特征点,包括:
提取所述第一图像帧的特征点;
解析所述第一图像帧和第二图像帧的特征光流信息,生成解析后的特征光流信息;
利用所述第一图像帧的特征点和所述解析后的特征光流信息计算生成第二帧图像的特征点。
可选的,所述利用所述第一图像帧的特征点和所述解析后的特征光流信息计算生成第二帧图像的特征点之后,还包括:
利用ransac算法对所述第二帧图像的特征点筛选,去除跟踪失败的点生成去除失败点的第二帧图像的特征点;
当所述去除失败点的第二帧图像的特征点大于和/或等于预设阈值时,将所述去除失败点的第二帧图像的特征点作为当前图像帧特征点。
可选的,所述将所述去除失败点的第二帧图像的特征点作为当前图像帧特征点之后,还包括:
判断针对当前图像帧是否存在下一图像帧;
当不存在时,结束视觉特征点追踪。
第三方面,本申请实施例提供了一种基于特征光流信息的视觉特征点追踪装置,所述装置包括:
特征光流获取模块,用于获取第一图像帧和第二图像帧的特征光流信息;
特征点追踪模块,用于基于所述第一图像帧和第二图像帧的特征光流信息追踪所述第二图像帧的特征点。
第四方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
第五方面,本申请实施例提供一种终端,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
本申请实施例提供的技术方案可以包括以下有益效果:
在本申请实施例中,用户终端首先获取图像序列中的第一图像帧和第二图像帧,然后将所述第一图像帧和第二图像帧输入预先训练的神经网络映射模型中,生成第一图像帧和第二图像帧的特征光流信息,最后基于所述第一图像帧和第二图像帧的特征光流信息追踪所述第二图像帧的特征点。由于本申请实施例使用预先训练的深度神经网络进行光流特征提取,然后用提取的光流信息用于特征追踪计算,从而降低了计算开销,提升了追踪点的准确性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是本申请实施例提供的一种基于特征光流信息的视觉特征点追踪方法的流程示意图;
图2是本申请实施例提供的一种基于特征光流信息的视觉特征点追踪的神经网络模型示意图;
图3是本申请实施例提供的一种视觉特征点追踪的网络结构示意图;
图4是本申请实施例提供的另一种视觉特征点追踪的网络结构示意图;
图5是本申请实施例提供的一种基于特征光流信息的视觉特征点追踪的过程示意框图;
图6是本申请实施例提供的另一种基于特征光流信息的视觉特征点追踪方法的流程示意图;
图7是本申请实施例提供的一种基于特征光流信息的视觉特征点追踪装置的装置示意图;
图8是本申请实施例提供的一种终端的结构示意图。
具体实施方式
以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
到目前为止,目前的光流法主要包括horn&schunck(hs)和lucas&kanade(lk)法。hs和lk方法的提出均基于一个最基本的假设,即同一个像素点在相邻两帧图像内所显示的亮度(灰度值)是不变的。记一个在t时刻,位于坐标点(x,y)处的像素点的灰度为i(x,y,t),设t+dt时刻,它运动到坐标点(x+dx,y+dy)处。由于灰度不变,可以得到灰度为i(x+dx,y+dy,t+dt)=i(x,y,t)。由于在现实环境中,当获取的图像序列面临着明显的光照变化或者三维场景中的物体有着较大的运行状态时,光流估计就会有着较大的误差,从而影响追踪视觉特征点的准确性。为此,本申请提供了一种基于特征光流信息的视觉特征点追踪方法、装置、存储介质及终端,以解决上述相关技术问题中存在的问题。本申请提供的技术方案中,由于本申请实施例使用预先训练的深度神经网络进行光流特征提取,然后用提取的光流信息用于特征追踪计算,从而降低了计算开销,提升了追踪点的准确性,下面采用示例性的实施例进行详细说明。
下面将结合附图1-附图5,对本申请实施例提供的基于特征光流信息的视觉特征点追踪方法进行详细介绍。该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的基于特征光流信息的视觉特征点追踪装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。其中,本申请实施例中的基于特征光流信息的视觉特征点追踪装置可以为用户终端,包括但不限于:个人电脑、平板电脑、手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中用户终端可以叫做不同的名称,例如:用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置、蜂窝电话、无绳电话、个人数字处理(personaldigitalassistant,pda)、5g网络或未来演进网络中的终端设备等。
请参见图1,为本申请实施例提供了一种基于特征光流信息的视觉特征点追踪方法的流程示意图。如图1所示,本申请实施例的所述方法可以包括以下步骤:
s101,获取图像序列中的第一图像帧和第二图像帧;
其中,图像序列是在不同时间、不同方位对目标依序连续获取的系列图像,第一图像帧和第二图像帧是该系列图像中下标连续的两个图像,例如第一图像帧的下标为0,则第二图像帧的下标为1。
在一种可能的实现方式中,在进行视觉特征点追踪时,首先需要生成图像帧的特征光流信息,在生成图像帧的特征光流信息时,需要获取目标对象的图像序列中的第一图像帧和第二图像帧。
s102,将所述第一图像帧和第二图像帧输入预先训练的神经网络映射模型中,生成第一图像帧和第二图像帧的特征光流信息;
其中,光流(opticalflow),本质上是三维场景下的物体运动投影到二维图像平面上,表现出的像素点亮度变化。神经网络映射模型用于预测光流信息的数学模型。
在一种可能的实现方式中,基于步骤s101可得到第一图像帧和第二图像帧,然后将第一图像帧和第二图像帧输入预先训练的神经网络映射模型中进行处理,处理完成后生成第一图像帧和第二图像帧的特征光流信息。
进一步地,在使用模型预测光流信息时,需要提前创建以及训练该模型,训练结束后才具备预测光流信息的能力,在进行模型创建和训练时,首先需要创建双通道的图像金字塔神经网络模型,再获取预先采集的图像数据大样本(即采集图像数据和特征光流真实值的数据集大样本),然后基于图像数据大样本生成图像数据样本的真实光流信息图,再利用图像数据大样本的真实光流信息图对图像金字塔神经网络模型进行训练,生成神经网络映射模型。
进一步地,在基于图像数据大样本生成图像数据样本的真实光流信息图时,首先获取图像数据样本中各图像帧,再将各图像帧作为各图像帧的背景图,然后将预设3d模型的不同位姿投影至各图像帧的背景图中,生成各图像帧的第一相关图像帧和第二相关图像帧,然后基于预设3d模型的不同位姿计算各图像帧的第一相关图像帧和第二相关图像帧对应的各像素点运动信息,生成各图像帧的真实光流信息图,最后将各图像帧的真实光流信息图作为图像数据样本的真实光流信息图。
具体的,神经网络映射模型例如图2所示,神经网络映射模型在对图像帧进行处理时的具体步骤如下。第一步:采用神经网络算法建立图像金字塔网络,其中
s103,基于所述第一图像帧和第二图像帧的特征光流信息追踪所述第二图像帧的特征点。
在一种可能的实现方式中,基于步骤s102得到两帧图像的特征光流信息后,首先提取第一图像帧的特征点,再解析第一图像帧和第二图像帧的特征光流信息,生成解析后的特征光流信息,再利用第一图像帧的特征点和解析后的特征光流信息计算生成第二帧图像的特征点,然后利用ransac算法对第二帧图像的特征点筛选,去除跟踪失败的点生成去除失败点的第二帧图像的特征点,当去除失败点的第二帧图像的特征点大于和/或等于预设阈值时,将去除失败点的第二帧图像的特征点作为当前图像帧特征点,最后判断针对当前图像帧是否存在下一图像帧,当不存在时,结束视觉特征点追踪。
例如图5所示,图5是本申请实施例提供的基于特征光流信息的视觉特征点追踪的流程示意图,视觉特征点追踪的具体步骤包括以下步骤。步骤1:对于图像序列的第一帧图像i1,提取fast特征点,表示为:
在本申请实施例中,用户终端首先获取图像序列中的第一图像帧和第二图像帧,然后将所述第一图像帧和第二图像帧输入预先训练的神经网络映射模型中,生成第一图像帧和第二图像帧的特征光流信息,最后基于所述第一图像帧和第二图像帧的特征光流信息追踪所述第二图像帧的特征点。由于本申请实施例使用特定的深度神经网络进行光流特征提取,然后用提取的光流信息用于特征追踪计算,从而降低了计算开销,提升了追踪点的准确性。
请参见图6,为本申请实施例提供的一种基于特征光流信息的视觉特征点追踪方法的流程示意图。本实施例以基于特征光流信息的视觉特征点追踪方法应用于用户终端中来举例说明。该基于特征光流信息的视觉特征点追踪方法可以包括以下步骤:
s201,创建双通道的图像金字塔神经网络模型;
s202,获取预先采集的图像数据样本;
s203,基于所述图像数据样本生成图像数据样本的真实光流信息图;
s204,利用所述图像数据样本的真实光流信息图对所述图像金字塔神经网络模型进行训练,生成神经网络映射模型;
s205,获取图像序列中的第一图像帧和第二图像帧;
s206,将所述第一图像帧和第二图像帧输入预先训练的神经网络映射模型中,生成第一图像帧和第二图像帧的特征光流信息;
s207,提取所述第一图像帧的特征点;
s208,解析所述第一图像帧和第二图像帧的特征光流信息,生成解析后的特征光流信息;
s209,利用所述第一图像帧的特征点和所述解析后的特征光流信息计算生成第二帧图像的特征点;
s210,利用ransac算法对所述第二帧图像的特征点筛选,去除跟踪失败的点生成去除失败点的第二帧图像的特征点;
s211,当所述去除失败点的第二帧图像的特征点大于和/或等于预设阈值时,将所述去除失败点的第二帧图像的特征点作为当前图像帧特征点;
s212,判断针对当前图像帧是否存在下一图像帧;
s213,当不存在时,结束视觉特征点追踪。
在本申请实施例中,用户终端首先获取图像序列中的第一图像帧和第二图像帧,然后将所述第一图像帧和第二图像帧输入预先训练的神经网络映射模型中,生成第一图像帧和第二图像帧的特征光流信息,最后基于所述第一图像帧和第二图像帧的特征光流信息追踪所述第二图像帧的特征点。由于本申请实施例使用特定的深度神经网络进行光流特征提取,然后用提取的光流信息用于特征追踪计算,从而降低了计算开销,提升了追踪点的准确性。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
请参见图7,其示出了本发明一个示例性实施例提供的基于特征光流信息的视觉特征点追踪装置的结构示意图。该基于特征光流信息的视觉特征点追踪装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。该装置1包括特征光流获取模块10、特征点追踪模块20。
特征光流获取模块10,用于获取第一图像帧和第二图像帧的特征光流信息;
特征点追踪模块20,用于基于所述第一图像帧和第二图像帧的特征光流信息追踪所述第二图像帧的特征点。
需要说明的是,上述实施例提供的基于特征光流信息的视觉特征点追踪装置在执行基于特征光流信息的视觉特征点追踪方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于特征光流信息的视觉特征点追踪装置与基于特征光流信息的视觉特征点追踪方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请实施例中,用户终端首先获取图像序列中的第一图像帧和第二图像帧,然后将所述第一图像帧和第二图像帧输入预先训练的神经网络映射模型中,生成第一图像帧和第二图像帧的特征光流信息,最后基于所述第一图像帧和第二图像帧的特征光流信息追踪所述第二图像帧的特征点。由于本申请实施例使用特定的深度神经网络进行光流特征提取,然后用提取的光流信息用于特征追踪计算,从而降低了计算开销,提升了追踪点的准确性。
本发明还提供一种计算机可读介质,其上存储有程序指令,该程序指令被处理器执行时实现上述各个方法实施例提供的基于特征光流信息的视觉特征点追踪方法。
本发明还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各个方法实施例所述的基于特征光流信息的视觉特征点追踪方法。
请参见图8,为本申请实施例提供了一种终端的结构示意图。如图8所示,所述终端1000可以包括:至少一个处理器1001,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。
其中,通信总线1002用于实现这些组件之间的连接通信。
其中,用户接口1003可以包括显示屏(display)、摄像头(camera),可选用户接口1003还可以包括标准的有线接口、无线接口。
其中,网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。
其中,处理器1001可以包括一个或者多个处理核心。处理器1001利用各种借口和线路连接整个电子设备1000内的各个部分,通过运行或执行存储在存储器1005内的指令、程序、代码集或指令集,以及调用存储在存储器1005内的数据,执行电子设备1000的各种功能和处理数据。可选的,处理器1001可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器1001可集成中央处理器(centralprocessingunit,cpu)、图像处理器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1001中,单独通过一块芯片进行实现。
其中,存储器1005可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory)。可选的,该存储器1005包括非瞬时性计算机可读介质(non-transitorycomputer-readablestoragemedium)。存储器1005可用于存储指令、程序、代码、代码集或指令集。存储器1005可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图8所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于特征光流信息的视觉特征点追踪应用程序。
在图8所示的终端1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;而处理器1001可以用于调用存储器1005中存储的基于特征光流信息的视觉特征点追踪应用程序,并具体执行以下操作:
获取图像序列中的第一图像帧和第二图像帧;
将所述第一图像帧和第二图像帧输入预先训练的神经网络映射模型中,生成第一图像帧和第二图像帧的特征光流信息;
基于所述第一图像帧和第二图像帧的特征光流信息追踪所述第二图像帧的特征点。
在一个实施例中,所述处理器1001在执行所述基于所述第一图像帧和第二图像帧的特征光流信息追踪所述第二图像帧的特征点时,具体执行以下操作:
提取所述第一图像帧的特征点;
解析所述第一图像帧和第二图像帧的特征光流信息,生成解析后的特征光流信息;
利用所述第一图像帧的特征点和所述解析后的特征光流信息计算生成第二帧图像的特征点。
在一个实施例中,所述处理器1001在执行所述利用所述第一图像帧的特征点和所述解析后的特征光流信息计算生成第二帧图像的特征点之后时,还执行以下操作:
利用ransac算法对所述第二帧图像的特征点筛选,去除跟踪失败的点生成去除失败点的第二帧图像的特征点;
当所述去除失败点的第二帧图像的特征点大于和/或等于预设阈值时,将所述去除失败点的第二帧图像的特征点作为当前图像帧特征点。
在一个实施例中,所述处理器1001在执行所述所述将所述去除失败点的第二帧图像的特征点作为当前图像帧特征点之后时,还执行以下操作:
判断针对当前图像帧是否存在下一图像帧;
当不存在时,结束视觉特征点追踪。
在本申请实施例中,用户终端首先获取图像序列中的第一图像帧和第二图像帧,然后将所述第一图像帧和第二图像帧输入预先训练的神经网络映射模型中,生成第一图像帧和第二图像帧的特征光流信息,最后基于所述第一图像帧和第二图像帧的特征光流信息追踪所述第二图像帧的特征点。由于本申请实施例使用特定的深度神经网络进行光流特征提取,然后用提取的光流信息用于特征追踪计算,从而降低了计算开销,提升了追踪点的准确性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。