相机位姿优化方法、装置、电子设备和计算机可读介质与流程

文档序号:17332312发布日期:2019-04-05 22:09阅读:161来源:国知局
相机位姿优化方法、装置、电子设备和计算机可读介质与流程

本发明涉及图像处理的技术领域,尤其是涉及一种相机位姿优化方法、装置、电子设备和计算机可读介质。



背景技术:

在目前的视觉同步定位与地图构建系统中,研究员通常采用视觉里程计,利用前后图像帧之间的匹配估计相机运动,并利用重投影误差来优化相机位姿。在这一过程中,算法的准确率受到了多方面的制约。

例如,由于前后图像帧之间的匹配完全依赖于特征点的对应,假如特征点在图像的不同区域产生了大的响应值,此时,很难将不同帧进行配准。另外,在实际处理中,室外环境的光照变化范围通常较大,这将会大大影响图像特征的提取与图片的匹配,昏暗灯光(例如,夜晚、雪景)等情况甚至导致特征点数量的急剧减少,无法提供鲁棒的优化措施。再者,由于相机运动由前后图像帧相对位置确定,每一帧位姿估计都依赖于前一图像帧的位置,因此,假如在某个位置的运动估计产生误差,该错误信息将在系统中一直传递,并不断累计,最终可能导致轨迹的漂移。



技术实现要素:

有鉴于此,本发明的目的在于提供一种相机位姿优化方法、装置、电子设备和计算机可读介质,以缓解了现有的视觉同步定位与地图构建系统在进行相机位姿的优化时,优化效果较差的技术问题。

第一方面,本发明实施例提供了一种相机位姿优化方法,包括:获取目标摄像机拍摄的待处理关键帧;对所述待处理关键帧进行语义分割,得到语义分割结果,所述语义分割结果中包括至少一个分割区域和每个分割区域的类别信息;结合全局地图中的历史语义路标标记,在所述全局地图中为所述待处理关键帧中的目标对象建立语义路标标记,并对各个所述语义路标标记进行更新,以更新各个所述语义路标标记所属的地图点;利用更新之后的语义路标标记优化所述目标摄像机的位姿信息。

进一步地,对所述待处理关键帧进行语义分割,得到语义分割结果包括:通过语义分割模型对所述待处理关键帧进行语义分割,得到至少一个分割区域,并将所述至少一个分割区域作为所述语义分割结果,其中,每个分割区域对应所述待处理关键帧中的一个目标对象。

进一步地,对各个所述语义路标标记进行更新包括:更新所述全局地图中地图点的属性信息,得到更新之后的地图点,其中,更新属性信息包括:地图点所属分割区域的类别信息和类别置信度,以及地图点所对应的语义路标标记的标识信息;利用所述更新之后的地图点对各个语义路标标记进行更新。

进一步地,所述待处理关键帧中包括多个特征点;更新所述全局地图中地图点的属性信息包括:在所述待处理关键帧中确定与所述地图点相对应的特征点,得到目标特征点;利用所述目标特征点的类别信息更新所述全局地图中目标地图点的类别信息,其中,所述目标地图点为所述全局地图中与所述目标特征点相对应的地图点,所述目标特征点的类别信息包括:目标特征点所属分割区域的类别信息和类别置信度。

进一步地,利用所述更新之后的地图点对各个语义路标标记进行更新包括:若所述更新之后的地图点位于分割区域内,且所述更新之后的地图点所属于所述待处理关键帧中目标语义路标标记,则将所述更新之后的地图点融合至所述目标语义路标标记;其中,所述更新之后的地图点与所述目标语义路标标记在三维空间中维护的三维中心点的距离小于预设距离,所述三维中心点与所述更新之后的地图点位于所述待处理关键帧的同一分割区域内,且所述更新之后的地图点的类别信息与所述目标语义路标标记的类别信息相同。

进一步地,利用所述更新之后的地图点对各个语义路标标记进行更新还包括:若所述更新之后的地图点位于所述分割区域内,且所述更新之后的地图点不属于所述待处理关键帧中的语义路标标记,则为所述更新之后的地图点创建新的语义路标标记,并将新创建的语义路标标记存储在所述全局地图对应的数据库中。

进一步地,利用更新之后的语义路标标记优化所述目标摄像机的位姿信息包括:利用公式优化所述目标摄像机的位姿信息,其中,dt为距离变换函数,x表示地图点在待处理关键帧上的对应投影点,s表示所述待处理关键帧的语义分割结果,z为观测值,l为中间变量,x为优化之后的目标摄像机的位姿信息,λ为置信度因子,gradient表示初始位置距离图谱上的梯度,vector表示向量,所述初始位置为所述全局地图中地图点投影的初始位置,π(x,l)表示观测值在所述全局地图中的投影位置。

进一步地,所述方法还包括:利用三维距离信息和/或类别信息对所述待处理关键帧中的语义路标标记进行更新,以删除所述语义路标标记中的外部地图点,其中,所述三维距离信息为所述语义路标标记内地图点之间的三维距离,所述类别信息为所述语义路标标记内地图点的类别信息。

进一步地,结合全局地图中的历史语义路标标记,在所述全局地图中为所述待处理关键帧中的目标对象建立语义路标标记包括:将所述全局地图中的历史语义路标标记映射到所述待处理关键帧中,以确定与所述待处理关键帧中的每个第一目标对象相对应的语义路标标记,并将所述相对应的语义路标标记确定为所述第一目标对象的语义路标标记。

进一步地,所述方法还包括:若所述待处理关键帧中的第二目标对象未映射到对应的语义路标标记,则为所述第二目标对象构建对应的语义路标标记。

第二方面,本发明实施例提供了一种相机位姿优化装置,包括:获取单元,用于获取目标摄像机拍摄的待处理关键帧;语义分割单元,用于对所述待处理关键帧进行语义分割,得到语义分割结果,所述语义分割结果中包括至少一个分割区域和每个分割区域的类别信息;建立单元,用于结合全局地图中的历史语义路标标记,在所述全局地图中为所述待处理关键帧中的目标对象建立语义路标标记,并对各个所述语义路标标记进行更新,以更新各个所述语义路标标记所属的地图点;优化单元,用于利用更新之后的语义路标标记优化所述目标摄像机的位姿信息。

第三方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述的方法。

第四方面,本发明实施例提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述第一方面中任一项所述的方法。

在本发明实施例中,首先,获取目标摄像机拍摄的待处理关键帧,然后,对待处理关键帧进行语义分割,得到语义分割结果,之后,结合全局地图中的历史语义路标标记,在全局地图中为待处理关键帧中的目标对象建立语义路标标记,并对各个语义路标标记进行更新,以更新各个语义路标标记所属的地图点,最后,利用更新之后的语义路标标记优化目标摄像机的位姿信息。采用本实施例所提供的上述所描述的相机位姿的优化方法,不依赖于视频流前后帧之间的关联,且不会受到外界环境因素的影响,因而,本实施例所提供的相机位姿优化进而缓解了现有的视觉同步定位与地图构建系统在进行相机位姿的优化时,优化效果较差的技术问题,从而达到了提高相机位姿优化的优化效果的目的。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

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

附图说明

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

图1是根据本发明实施例的一种电子设备的示意图;

图2是根据本发明实施例的一种相机位姿优化方法的流程图;

图3是根据本发明实施例的一种相机位姿优化装置的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1:

首先,参照图1来描述用于实现本发明实施例的电子设备100,该电子设备可以用于运行本发明各实施例的相机位姿优化方法。

如图1所示,电子设备100包括一个或多个处理器102、一个或多个存储器104、输入装置106、输出装置108以及摄像机110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。

所述处理器102可以采用数字信号处理器(dsp,digitalsignalprocessing)、现场可编程门阵列(fpga,field-programmablegatearray)、可编程逻辑阵列(pla,programmablelogicarray)和asic(applicationspecificintegratedcircuit)中的至少一种硬件形式来实现,所述处理器102可以是中央处理单元(cpu,centralprocessingunit)、图形处理器(gpu,graphicsprocessingunit)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制所述电子设备100中的其它组件以执行期望的功能。

所述存储器104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。

所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。

所述输出装置108可以向外部(例如,用户)输出各种信息(例如,图像或声音),并且可以包括显示器、扬声器等中的一个或多个。

所述摄像机110用于进行图像帧采集,其中,摄像机所采集的关键帧经过所述相机位姿优化方法进行处理之后得到优化之后目标摄像机的位姿信息,例如,摄像机可以拍摄用户期望的多帧图像,然后,将该多帧图像中的关键帧经过所述相机位姿优化方法进行处理之后得到优化之后目标摄像机的位姿信息,摄像机还可以将所拍摄的图像存储在所述存储器104中以供其它组件使用。

示例性地,用于实现根据本发明实施例的相机位姿优化方法的电子设备可以被实现为诸如移动智能机器人智能设备。

实施例2:

根据本发明实施例,提供了一种相机位姿优化方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图2是根据本发明实施例的一种相机位姿优化方法的流程图,如图1所示,该方法包括如下步骤:

步骤s202,获取目标摄像机拍摄的待处理关键帧;

步骤s204,对所述待处理关键帧进行语义分割,得到语义分割结果,所述语义分割结果中包括至少一个分割区域和每个分割区域的类别信息;

步骤s206,结合全局地图中的历史语义路标标记,在所述全局地图中为所述待处理关键帧中的目标对象建立语义路标标记,并对各个所述语义路标标记进行更新,以更新各个所述语义路标标记所属的地图点;

步骤s208,利用更新之后的语义路标标记优化所述目标摄像机的位姿信息。

在本发明实施例中,首先,获取目标摄像机拍摄的待处理关键帧,然后,对待处理关键帧进行语义分割,得到语义分割结果,之后,结合全局地图中的历史语义路标标记,在全局地图中为待处理关键帧中的目标对象建立语义路标标记,并对各个语义路标标记进行更新,以更新各个语义路标标记所属的地图点,最后,利用更新之后的语义路标标记优化目标摄像机的位姿信息。采用本实施例所提供的上述所描述的相机位姿的优化方法,不依赖于视频流前后帧之间的关联,且不会受到外界环境因素的影响,因而,本实施例所提供的相机位姿优化进而缓解了现有的视觉同步定位与地图构建系统在进行相机位姿的优化时,优化效果较差的技术问题,从而达到了提高相机位姿优化的优化效果的目的。

下面将结合具体实施方式介绍上述方法。

在本实施例中,上述步骤s202至步骤s208所描述的方法,可以应用在移动智能机器人中,该且移动智能机器人携带摄像装置。在本实施例中,可以通过该摄像装置拍摄待处理视频,待处理视频中包括多个图像帧。其中,图像帧包括关键帧和非关键帧。

在采集到待处理视频之后,就可以对待处理视频中的关键帧进行语义分割,得到语义分割结果。

在一个可选的实施方式中,步骤s204,对所述待处理关键帧进行语义分割,得到语义分割结果包括如下步骤:

通过语义分割模型对所述待处理关键帧进行语义分割,得到至少一个分割区域,并将所述至少一个分割区域作为所述语义分割结果,其中,每个分割区域对应所述待处理关键帧中的一个目标对象。

在本实施例中,可以对待处理视频中的关键帧(即步骤s204中描述的待处理关键帧)进行语义分割处理,得到至少一个分割区域。需要说明的是,在本实施例中,语义分割区域是待处理关键帧中的感兴趣区域,例如,楼房和行人等。

在按照语义分割模型对待处理关键帧进行分割处理之后,得到至少一个分割区域,每个分割区域对应一个类别信息。例如,若分割区域所表征的目标对象为楼房,那么该类别信息用于表征该分割区域的类别为楼房。

在通过语义分割模型对待处理关键帧进行语义分割处理之后,还可以对待处理关键帧中的特征点进行标注,以标注每个特征点所属的类别信息和每个类别的概率信息,其中,特征点所属的类别信息是指每个特征点所属的分割区域,类别概率信息是指每个特征点在对应的分割区域出现的概率或者出现的可能性。

之后,就可以结合全局地图中的历史语义路标标记,在全局地图中未待处理关键帧中的目标对象建立语义路标标记。在本实施例中,全局地图是即时定位与地图构建系统(simultaneouslocalizationandmapping,简称slam)在完全未知环境中创建的地图。全局地图是一个三维模型,在该全局地图中包括基于每个关键帧建立的语义路标标记。

在本实施例中,语义路标标记在全局地图中通过点云的形式来体现。也就是说,一个语义路标标记可以包括多个三维坐标点组成。除此之外,还可以选择其他的形式来表现语义路标标记,本实施例中不做具体限定。

若步骤s202中获取到待处理关键帧为移动智能机器人采集到的第一个关键帧,则在全局地图中还未标记语义路标标记,则历史语义路标标记即为空。若步骤s202中获取到待处理关键帧不是移动智能机器人采集到的第一个关键帧,则在全局地图中包含基于之前采集到的关键帧构建的语义路标标记,即为历史语义路标标记。

在一个可选的实施方式中,步骤s206,结合全局地图中的历史语义路标标记,在所述全局地图中为所述待处理关键帧中的目标对象建立语义路标标记包括如下步骤:

将所述全局地图中的历史语义路标标记映射到所述待处理关键帧中,以确定与所述待处理关键帧中的每个第一目标对象相对应的语义路标标记,并将所述相对应的语义路标标记确定为所述第一目标对象的语义路标标记。

在本实施例中,若全局地图中历史语义路标标记不为空,则可以将全局地图中的历史语义路标标记映射到待处理关键帧中,从而实现将三维坐标信息映射到二维图像中。

在将全局地图中的历史语义标记映射到待处理关键帧之后,就可以将历史语义标记和待处理关键帧所对应的分割区域进行对应。若在全局地图中的历史语义标记映射到待处理关键帧上时,若映射到待处理关键帧之外的区域,则表征未找到与之对应的分割区域。

通过上述描述可知,在本实施例中,对待处理关键帧进行语义分割之后,得到感兴趣区域的语义分割结果。且一个语义分割结果对应待处理关键帧中的一个感兴趣目标对象。此时,可以从感兴趣目标对象中选择非背景的目标对象,并为非背景的目标对象建立语义路标标记。因此,在本实施例中,在将历史语义路标标记和待处理关键帧所对应的分割区域进行对应之后,可以基于该对应关系为待处理关键帧中的非背景的目标对象确定对应的语义路标标记。其中,非背景的目标对象即为上述步骤中所描述的第一目标对象。

需要说明的是,在待处理关键帧中可能包括未映射到历史语义路标标记的非背景目标对象,即上述步骤中所描述的第二目标对象。

基于此,在本实施例中,若所述待处理关键帧中的第二目标对象未映射到对应的语义路标标记,则为所述第二目标对象构建对应的语义路标标记。

也就是说,在本实施例中,在将全局地图中的历史语义路标标记映射到待处理关键帧的二维图像之后,若待处理关键帧中的第二目标对象未映射到相应的语义路标标记,则可以在全局地图中为第二目标对象构建对应的语义路标标记,其中,此时为第二目标对象构建的对应的语义路标标记同样可以为一团点云。

在为待处理关键帧中的非背景目标对象建立语义路标标记之后,就可以对语义路标标记进行更新,其中,此处所描述的更新是指更新全局地图中的语义路标标记所属的地图点。

在移动智能机器人在运动的过程中,通过计算自身的位姿来进行建图,建图是一个三维模型。若某些特征点被移动智能机器人观测到多次,且这些特征点的鲁棒性较高,则这些点称为地图点。

地图点的获取方式为:针对移动智能机器人采集到的待处理视频中,针对每帧图像都提取orb特征算子,鲁棒性较高的orb特征算子在经过多帧图像之间的匹配之后,生成orb特征算子的三维位置,进而得到地图点。综上,在本实施例中,地图点是指通过待处理视频中的每帧图像的特征点生成的空间中的三维点。

在一个可选的实施方式中,步骤s206,对各个所述语义路标标记进行更新包括如下步骤:

步骤s2061,更新所述全局地图中地图点的属性信息,得到更新之后的地图点,其中,更新属性信息包括:地图点所属分割区域的类别信息和类别置信度,以及地图点所对应的语义路标标记的标识信息;

步骤s2062,利用所述更新之后的地图点对各个语义路标标记进行更新。

在本实施例中,首先,可以先更新全局地图中地图点的属性信息。可选地,可以利用待处理关键帧中的特征点的属性信息更新全局地图中的地图点。

具体包括:在所述待处理关键帧中确定与所述地图点相对应的特征点,得到目标特征点;然后,利用所述目标特征点的类别信息更新所述全局地图中目标地图点的类别信息,其中,所述目标地图点为所述全局地图中与所述目标特征点相对应的地图点,所述目标特征点的类别信息包括:目标特征点所属分割区域的类别信息和类别置信度。

通过上述描述可知,在通过语义分割模型对待处理关键帧进行语义分割处理之后,还可以对待处理关键帧中的特征点进行标注,以标注每个特征点所属的类别信息和每个类别的概率信息,其中,特征点所属的类别信息是指每个特征点所属的分割区域,类别概率信息是指每个特征点在对应的分割区域出现的概率或者出现的可能性。

基于此,在本实施例中,可以在待处理关键帧中确定与全局地图中的地图点相对应的特征,记为目标特征点。然后,基于标注之后的目标特征点的类别信息和每个类别的概率信息更新全局地图中目标地图点的类别信息。其中,目标地图点是全局地图中与目标特征点相对应的地图点。

之后,该地图点更新之后的信息表示为:(当前帧相机的位姿,关键帧通过orb或sift等特征点提取算法提取出的特征向量,该地图点的类别信息,类别置信度,路标编号),其中,路标编号是指每个类别信息对应的语义路标标记的编号信息。

在一个可选的实施方式中,步骤s2062,利用所述更新之后的地图点对各个语义路标标记进行更新包括如下步骤:

步骤s11,若所述更新之后的地图点位于分割区域内,且所述更新之后的地图点所属于所述待处理关键帧中的目标语义路标标记,则将所述更新之后的地图点融合至所述目标语义路标标记。

在本实施例中,如果判断出更新之后的地图点存在分割信息,即位于分割区域内,且更新之后的地图点所属于待处理关键帧中的目标语义路标标记,那么判断该更新之后的地图点与目标语义路标标记的类别信息是否一致,如果一致,则将该更新之后的地图点融合进该目标语义路标标记中。

需要说明的是,由于每个地图点可能对应多个类别信息,此时,可以选择类别置信度较大的类别信息来进行判断,例如,某个地图点对应3个类别信息,分别为a、b和c。且每个类别置信度为a1、b1和c1,其中,a1大于预设阈值,b1和c1小于预设阈值,此时,可以判断该更新之后的地图点所属的类别信息a与目标语义路标标记的类别信息是否一致。针对其他更新之后的地图点均采用上述方法来进行处理,本实施例不做具体限定。

步骤s12,若所述更新之后的地图点位于所述分割区域内,且所述更新之后的地图点不属于所述待处理关键帧中的语义路标标记,则为所述更新之后的地图点创建新的语义路标标记,并将新创建的语义路标标记存储在所述全局地图对应的数据库中。

在本实施例中,如果更新之后的地图点存在分割信息(即,位于分割区域内),且更新之后的地图点不属于待处理关键帧中的任意一个语义路标标记,那么可以在全局地图中为该更新之后的地图点创建新的语义路标标记。

步骤s13,若更新之后的地图点未位于分割区域内,则对该类地图点不做任何处理。

在本实施例中,所述更新之后的地图点与所述目标语义路标标记在三维空间中维护的三维中心点的距离小于预设距离,所述三维中心点与所述更新之后的地图点位于所述待处理关键帧的同一分割区域内,且所述更新之后的地图点的类别信息与所述目标语义路标标记的类别信息相同。

在对各个语义路标标记进行更新之后,就可以利用更新之后的语义路标标记优化所述目标摄像机的位姿信息,具体包括:

利用公式优化所述目标摄像机的位姿信息,其中,dt为距离变换函数,x表示地图点在待处理关键帧上的对应投影点,s表示所述待处理关键帧的语义分割结果,z为观测值,l为中间变量,x为优化之后的目标摄像机的位姿信息,λ为置信度因子,gradient表示初始位置距离图谱上的梯度,vector表示向量,所述初始位置为所述全局地图中地图点投影的初始位置,π(x,l)表示观测值在所述全局地图中的投影位置。

对于一个坚固的三维物体,认为其三维形状的二维投影与二维分割的边界能够对齐。因此,希望所有语义路标标记都能被包括在二维分割区域的内部。基于这一想法,对关键帧的二维分割结果进行距离变换,使得靠近边缘的内部区域损失为0,向内或向外损失依照距离增加,目的是相机位姿在旋转或移动后,能够保证原先在边缘附近的地图点都落入边缘区域。

同时,希望保证优化方向沿着距离图谱的梯度方向,以此避免相机位置过拟合、地图点投影在边缘条带中滑动。为此,增加正弦损失,用于衡量远离梯度方向的距离。

总的来说,在图优化过程中,添加两个损失函数来优化相机位姿,具体公式描述如下:

第一项误差||dt(x,s)||即为简单的距离变化误差。第二项误差中λ||vector(z-π(x.l))*singradient||,z为观测值。在第二项误差中,直接使用地图点投影的初始位置作为参考,减去优化过程中地图点在关键帧上的投影位置,并沿着初始位置所在距离变换图谱的梯度方向进行分解,尽量使得优化方向与梯度方向一致。最后,由于分割结果不一定可信,为第二项添加一个置信度因子λ。认为地图点的三维位置可信,通过优化上述两项误差,希望将相机位姿调整到最优。

在本实施例中,该方法还包括:利用三维距离信息和/或类别信息对所述待处理关键帧中的语义路标标记进行更新,以删除所述语义路标标记中的外部地图点,其中,所述三维距离信息为所述语义路标标记内地图点之间的三维距离,所述类别信息为所述语义路标标记内地图点的类别信息。

具体地,针对某个待处理关键帧中某个待更新的语义路标标记,首先对该语义路标标记其中的所有地图点进行一次距离上的聚类分析。即,利用三维距离信息对地图点进行聚类分析,将其分为两个点集。当两个点集的体积(即内部点数量),差别过大时,认为其中一个点集可能为外部点集,其中,外部点集中包含多个外部地图点。此时,为外部点集建立新的语义路标标记,将其从原语义路标标记中剥离。

同时,在经过多次观测后,每个地图点都趋向于收敛到某一特定类别信息上,即地图点趋向于该类别信息的概率远大于其他类别信息,此时认为这种类别信息就是该地图点的最终类别信息。在本实施例中,通过比较语义路标标记内部所有地图点的类别信息与该语义路标标记的类别信息,将所有类别信息不一致的地图点排除。

综上所述,本实施例所提供的方法,具有以下优越性:

第一、本发明所使用的语义分割模型不依赖于前后帧关联,该类路标点不存在累积误差问题,因此在图优化中能够有效纠正错误位姿。

第二、不同光照、气候等环境因素对于语义分割的影响较小,因此,即便在定位过程中遇到不稳定的环境情况,语义路标标记也能较为稳定地进行匹配对应,减少环境对于算法的影响。

第三、人类事实上在辨认位置时通常使用语义信息而非关键点,因此,在机器人模拟真实人类行为的意义上,使用语义路标逐渐代替关键点路标是一个绝对准确而有意义的方向。

实施例3:

本发明实施例还提供了一种相机位姿优化装置,该相机位姿优化装置主要用于执行本发明实施例上述内容所提供的相机位姿优化方法,以下对本发明实施例提供的相机位姿优化装置做具体介绍。

图3是根据本发明实施例的一种相机位姿优化装置的示意图,如图3所示,该相机位姿优化装置主要包括获取单元10,语义分割单元20,建立单元30和优化单元40,其中:

获取单元10,用于获取目标摄像机拍摄的待处理关键帧;

语义分割单元20,用于对所述待处理关键帧进行语义分割,得到语义分割结果,所述语义分割结果中包括至少一个分割区域和每个分割区域的类别信息;

建立单元30,用于结合全局地图中的历史语义路标标记,在所述全局地图中为所述待处理关键帧中的目标对象建立语义路标标记,并对各个所述语义路标标记进行更新,以更新各个所述语义路标标记所属的地图点;

优化单元40,用于利用更新之后的语义路标标记优化所述目标摄像机的位姿信息。

在本发明实施例中,首先,获取目标摄像机拍摄的待处理关键帧,然后,对待处理关键帧进行语义分割,得到语义分割结果,之后,结合全局地图中的历史语义路标标记,在全局地图中为待处理关键帧中的目标对象建立语义路标标记,并对各个语义路标标记进行更新,以更新各个语义路标标记所属的地图点,最后,利用更新之后的语义路标标记优化目标摄像机的位姿信息。采用本实施例所提供的上述所描述的相机位姿的优化方法,不依赖于视频流前后帧之间的关联,且不会受到外界环境因素的影响,因而,本实施例所提供的相机位姿优化进而缓解了现有的视觉同步定位与地图构建系统在进行相机位姿的优化时,优化效果较差的技术问题,从而达到了提高相机位姿优化的优化效果的目的。

可选地,语义分割单元用于:通过语义分割模型对所述待处理关键帧进行语义分割,得到至少一个分割区域,并将所述至少一个分割区域作为所述语义分割结果,其中,每个分割区域对应所述待处理关键帧中的一个目标对象。

可选地,建立单元包括:第一更新模块,用于更新所述全局地图中地图点的属性信息,得到更新之后的地图点,其中,更新属性信息包括:地图点所属分割区域的类别信息和类别置信度,以及地图点所对应的语义路标标记的标识信息;第二更新模块,用于利用所述更新之后的地图点对各个语义路标标记进行更新。

可选地,所述待处理关键帧中包括多个特征点;第一更新模块用于:在所述待处理关键帧中确定与所述地图点相对应的特征点,得到目标特征点;利用所述目标特征点的类别信息更新所述全局地图中目标地图点的类别信息,其中,所述目标地图点为所述全局地图中与所述目标特征点相对应的地图点,所述目标特征点的类别信息包括:目标特征点所属分割区域的类别信息和类别置信度。

可选地,第二更新模块用于:若所述更新之后的地图点位于分割区域内,且所述更新之后的地图点所属于所述待处理关键帧中目标语义路标标记,则将所述更新之后的地图点融合至所述目标语义路标标记;其中,所述更新之后的地图点与所述目标语义路标标记在三维空间中维护的三维中心点的距离小于预设距离,所述三维中心点与所述更新之后的地图点位于所述待处理关键帧的同一分割区域内,且所述更新之后的地图点的类别信息与所述目标语义路标标记的类别信息相同。

可选地,第二更新模块还用于:若所述更新之后的地图点位于所述分割区域内,且所述更新之后的地图点不属于所述待处理关键帧中的语义路标标记,则为所述更新之后的地图点创建新的语义路标标记,并将新创建的语义路标标记存储在所述全局地图对应的数据库中。

可选地,优化单元用于:利用公式优化所述目标摄像机的位姿信息,其中,dt为距离变换函数,x表示地图点在待处理关键帧上的对应投影点,s表示所述待处理关键帧的语义分割结果,z为观测值,l为中间变量,x为优化之后的目标摄像机的位姿信息,λ为置信度因子,gradient表示初始位置距离图谱上的梯度,vector表示向量,所述初始位置为所述全局地图中地图点投影的初始位置,π(x,l)表示观测值在所述全局地图中的投影位置。

可选地,该装置还用于:利用三维距离信息和/或类别信息对所述待处理关键帧中的语义路标标记进行更新,以删除所述语义路标标记中的外部地图点,其中,所述三维距离信息为所述语义路标标记内地图点之间的三维距离,所述类别信息为所述语义路标标记内地图点的类别信息。

可选地,建立单元还用于:将所述全局地图中的历史语义路标标记映射到所述待处理关键帧中,以确定与所述待处理关键帧中的每个第一目标对象相对应的语义路标标记,并将所述相对应的语义路标标记确定为所述第一目标对象的语义路标标记。

可选地,该装置还用于:若所述待处理关键帧中的第二目标对象未映射到对应的语义路标标记,则为所述第二目标对象构建对应的语义路标标记。

本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

本发明还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述方法实施例中任一项所述的方法。

另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

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

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

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

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1