首页> 中国专利> 基于每个相机位置优化的实体场景建模方法和系统

基于每个相机位置优化的实体场景建模方法和系统

摘要

本发明公开了一种用于实体场景建模的方法,包括:获取真实场景的多帧二维图像;确定当前图像是否为关键帧图像,其中所述关键帧图像的相机位置与其他关键帧图像的相机位置的距离大于一定阈值;如果当前图像是关键帧图像,则获取所有关键帧图像的优化前的相机位姿和地图点的三维坐标;确定所述地图点的实际投影坐标与计算投影坐标之间的误差;基于所述误差动态调整所述地图点的权重;基于所述权重优化相机位姿和地图点的三维坐标,得到优化后的相机位姿和地图点的三维坐标。

著录项

  • 公开/公告号CN106846467A

    专利类型发明专利

  • 公开/公告日2017-06-13

    原文格式PDF

  • 申请/专利权人 阿依瓦(北京)技术有限公司;

    申请/专利号CN201710050717.0

  • 发明设计人 肖东晋;张立群;刘顺宗;

    申请日2017-01-23

  • 分类号G06T17/00(20060101);

  • 代理机构31313 上海智晟知识产权代理事务所(特殊普通合伙);

  • 代理人张东梅

  • 地址 100083 北京市海淀区成府路28号优盛大厦C座1501

  • 入库时间 2023-06-19 02:31:39

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-05-05

    授权

    授权

  • 2017-07-07

    实质审查的生效 IPC(主分类):G06T17/00 申请日:20170123

    实质审查的生效

  • 2017-06-13

    公开

    公开

说明书

技术领域

本发明涉及图像处理领域,尤其涉及基于每个相机位置优化的实体场景建模方法。

背景技术

在计算机视觉领域,从二维图像中重建出物体的三维点云,一直是该领域的重点研究问题之一。它不仅综合了众多的学科知识,并且在航空测绘、场景模拟、视觉导航、医学诊断、文物保护、电子商务、虚拟现实等诸多领域都有着非常广阔的应用前景。基于图像的三维重建方法充分利用计算机视觉和计算机图形学的相关知识,从实际拍摄的单幅或多幅图像中恢复出物体的三维模型,可以把它认为是相机拍摄照片的一个逆过程。如何更逼真地、简便地获得真实世界的三维模型促使着计算机视觉研究者们不断地提出新的方法并完善现有方法。

计算机构建物体三维模型的技术手段通常分为以下三种:几何造型的方法、用三维扫描设备获取三维模型的方法和基于图像的三维重建方法。

几何造型的方法是指通过点、线、面、体等几何元素的平移、旋转、变比等几何变换以及并、交、差等集合运算,产生实际的或想象的物体模型。几何造型方法起源于上世纪七十年代,现在己经广泛地应用在计算机辅助设计、动画制作、广告制作、影视制作等领域。这种方法要求必须充分掌握场景数据,同时相关软件的操作比较复杂,往往需要熟练的操作人员且具备丰富的专业知识,创作过程相对比较复杂。

利用三维扫描设备可以获得精确的三维模型,这些设备包括深度扫描仪、三维相机、激光器等。利用三维扫描设备对物体进行三维重建的方法使用简单,精度非常高,并且构建模型所需时间相对较少,因此被广泛应用于逆向工程、虚拟现实、环境仿真等领域。但是,通常这些高精度的设备都非常昂贵,因此并不具备很好的普及性。

基于图像的三维重建方法充分利用计算机视觉和计算机图形学的相关知识,从实际拍摄的单幅或多幅图像中恢复出物体的三维模型,可以把它认为是相机拍摄照片的一个逆过程。

在通过实际拍摄的多幅图像进行实体场景建模中,由相机的成像畸变、成像像素位置精度、虚假匹配、位置计算等原因会导致相应的误差,光束平差是使误差最小化的优化过程。然而,图像中的点因为各种原因引起的误差有大有小,现有的光束平差并未将此因素考虑在内。

因此,需要一种在优化过程中将误差大小考虑在内的方案,从而获得更准确的场景模型。

发明内容

针对现有技术中存在的问题,本申请提供了一种基于每个相机位置优化的实体场景建模的方法和系统,通过减少误差大的地图点对优化过程的影响,获得更准确的场景模型。

根据本发明的一个方面,提供一种用于实体场景建模的方法,包括:获取真实场景的多帧二维图像;确定当前图像是否为关键帧图像,其中所述关键帧图像的相机位置与其他关键帧图像的相机位置的距离大于一定阈值;如果当前图像是关键帧图像,则获取所有关键帧图像的优化前的相机位姿和地图点的三维坐标;确定所述地图点的实际投影坐标与计算投影坐标之间的误差;基于所述误差动态调整所述地图点的权重;基于所述权重优化相机位姿和地图点的三维坐标,得到优化后的相机位姿和地图点的三维坐标。

进一步地,所述多帧二维图像是所述真实场景在不同相机位姿下的投影。

进一步地,当所述误差大于设定阈值时,缩小所述地图点的权重;当所述误差小于等于设定阈值时,增加所述地图点的权重。

进一步地,当所述误差大于设定阈值时,缩小所述地图点的权重μ,使得μ=μ·(1-f),其中0<f<1;当所述误差小于等于设定阈值时,增加所述地图点的权重μ,使得μ=μ·(1+f),其中0<f<1。

进一步地,预先设定N个阈值T1至TN,其中0<T1<T2<…<Tm<…<TN

当满足所述误差∈[0,T1)时,以比例γ1改变该所述地图点的权重μ,即μ=μ·γ1

当满足所述误差∈[T1,T2)时,以比例γ2改变所述地图点的权重μ,即μ=μ·γ2;以此类推

当满足所述误差∈[Tm-1,Tm)时,以比例γm改变所述地图点的权重μ,即μ=μ·γm;以此类推

当满足所述误差∈[TN-1,TN)时,以比例γN改变所述地图点的权重μ,即μ=μ·γN,其中γ1>γ2>…>1>γm>…>γN

进一步地,通过三角法得到优化前的关键帧图像的相机位姿和地图点的三维坐标。

进一步地,对于所述多帧二维图像中的关键帧图像,所述地图点在该帧图像中的实际投影坐标为(u,v);所述地图点的优化前的三维坐标在优化前的相机位姿中的计算投影坐标为(u′,v′),实际投影坐标(u,v)与计算投影坐标(u′,v′)之间的误差为:

e=(u’-u)2+(v’-v)2

进一步地,通过LM算法计算优化后的相机位姿和地图点的三维坐标,其中雅可比矩阵为其中μij是所述地图点的权重,xij是地图点的三维坐标,P是参数向量。

在本发明的另一个实施例中,提供一种用于实体场景建模的系统,包括:准备单元,用于基于真实场景的多帧二维图像获取优化前的相机位姿和地图点的三维坐标;优化单元,使用光束平差对相机位姿和地图点三维坐标进行优化;更新单元,用于获取优化后的相机位姿和地图点的坐标。

在该实施例中,进一步地,所述准备单元包括一个或多个相机,用于获取真实场景的多帧二维图像,所述多帧二维图像是所述真实场景在不同相机位姿下的投影,所述所述准备单元确定当前图像是否为关键帧图像,其中所述关键帧图像的相机位置与其他关键帧图像的相机位置的距离大于一定阈值。

在该实施例中,进一步地,所述优化单元确定所述地图点的实际投影坐标与计算投影坐标之间的误差;基于所述误差动态调整所述地图点的权重;基于所述权重优化相机位姿和地图点的三维坐标,得到优化后的相机位姿和地图点的三维坐标。

在该实施例中,进一步地,当所述误差大于设定阈值时,所述数据处理单元缩小所述地图点的权重;当所述误差小于等于设定阈值时,所述数据处理单元增加所述地图点的权重。

在该实施例中,进一步地,所述地图点在该帧图像中的实际投影坐标为(u,v);所述地图点的优化前的三维坐标在优化前的相机位姿中的计算投影坐标为(u′,v′),实际投影坐标(u,v)与计算投影坐标(u′,v′)之间的误差为:

e=(u’-u)2+(v’-v)2

在该实施例中,进一步地,通过LM算法计算优化后的相机位姿和地图点的三维坐标,其中雅可比矩阵为其中μij是所述地图点的权重,xij是地图点的三维坐标,P是参数向量。

在根据本发明的实施例中,减小误差大的点的影响是通过调整权重实现,即误差越大,权重会越小,因此减小它的影响。

附图说明

为了进一步阐明本发明的各实施例的以上和其它优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。在附图中,为了清楚明了,相同或相应的部件将用相同或类似的标记表示。

图1是根据本发明的一个实施例的实体场景建模系统的框图。

图2示出根据本发明的一个实施例的相机位姿和地图点的三维坐标的优化过程的流程图。

具体实施方式

在以下的描述中,参考各实施例对本发明进行描述。然而,本领域的技术人员将认识到可在没有一个或多个特定细节的情况下或者与其它替换和/或附加方法或组件一起实施各实施例。在其它情形中,未示出或未详细描述公知的结构或操作以免使本发明的各实施例的诸方面晦涩。类似地,为了解释的目的,阐述了特定数量和配置,以便提供对本发明的实施例的全面理解。然而,本发明可在没有特定细节的情况下实施。此外,应理解附图中示出的各实施例是说明性表示且不一定按比例绘制。

在本说明书中,对“一个实施例”或“该实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。在本说明书各处中出现的短语“在一个实施例中”并不一定全部指代同一实施例。

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。

结合图1介绍根据本发明的一个实施例的实体场景建模的系统100。如图1所示,该实体场景建模方法包括准备单元110、优化单元120和更新单元130。准备单元110用于获取相机位姿(位置和姿态)和地图点的三维坐标。优化单元120使用光束平差对相机位姿和地图点三维坐标进行优化。更新单元130获取最优化的相机位姿和地图点的坐标。

下面具体介绍实体场景建模的系统100具体的优化过程。在本发明的一个实施例中,首先,准备单元110使用相机在不同的位置、不同的角度对场景进行拍照,获得真实场景的二维图像序列。例如,可通过使用多个相机在不同位置对场景进行拍照以获取场景的不同投影。或者,可通过单个相机对场景的移动拍照来获取场景的不同的投影。然后,确定当前图像是否为关键帧图像。在进行实体场景建模的初始阶段,首先从图像序列中选取两个关键帧图像,使其满足两个关键帧图像的相机位置之间的距离大于一定阈值,对于后续的图像,关键帧是指当新来一帧图像,其相机的位置与其他关键帧的位置的距离大于一定的阈值,则这一帧就是关键帧。当有新的关键帧加入时,会根据这个关键帧与其最近的关键帧找出匹配的特征点对,通过三角法求出新的三维地图点加入到地图中。

接下来,优化单元120使用光束平差,获得关键帧图像的优化后的相机参数并得到在三维空间中地图点优化后的位置坐标。在实体场景建模中,由于相机的成像畸变、成像像素位置精度、虚假匹配、位置计算等原因会导致相应的误差,光束平差是使误差最小化的优化过程。考虑到地图中的点因为各种原因引起的误差有大有小,通过减少误差大的地图点对优化过程的影响,能够获得更准确的场景模型。

在本发明的实施例中,光束平差优化通过Levenberg-Marquardt(LM)算法来辅助完成。下面简要介绍LM算法的计算步骤。LM算法的目标是对函数关系x=f(p),给定f(·)与含噪声的观测向量x,估计p。具体地,步骤1取初始点p0,终止控制常数ε,计算ε0=||x-f(p0)||,令k=0,λ0=10-3,v=10(或其它大于1的数);步骤2计算雅可比(Jacobi)矩阵Jk,计算构造增量正规方程步骤3求解增量正规方程得到δk,(1)如果||x-f(pkk)||<εk,则令pk+1=pkk,若||δk||<ε,停止迭代,输出结果;否则令λk+1=λk/v,转到步骤2,(2)如果||x-f(pkk)||≥εk,则令λk+1=v·λk,重新解正规方程得到δk,返回步骤(1)。

下文中,以场景中的三维点(x,y,z)为例,介绍具体的优化过程。在光束平差中,x为地图中三维点(x,y,z)在相机获取的图像中位置(u,v),f(p0)为地图中三维点(x,y,z)在相机位姿RT中的投影坐标(u′,v′)。

参数向量P是由m个位姿,以及n个三维点组成:

X是所有地图点的三维坐标:

即,雅可比矩阵

地图中的点因为各种原因引起的误差有大有小,为了在优化过程中将该误差考虑在内,在根据本发明的光束平差优化过程中,首先,计算该误差。对于图像序列中的关键帧图像,假设已知光束平差优化前的相机的位姿(RT)和地图点的三维坐标(x,y,z),地图点在该帧图像中的实际投影坐标为(u,v);而地图点的优化前的三维坐标(x,y,z)对于优化前的相机位姿(RT)的计算投影坐标为(u′,v′),实际投影坐标(u,v)与计算投影坐标(u′,v′)之间的误差为:

e=(u’-u)2+(v’-v)2

将误差e作为该地图点对于该帧图像的误差,当e大于设定阈值时,按特定比例缩小这个三维点(x,y,z)的权重μ,即μ=μ·(1-f),其中0<f<1,降低该点对优化的影响。

否则增加这个三维点(x,y,z)的权重μ,即μ=μ·(1+f),其中0<f<1,增加该点对优化的影响。在本发明的一个具体实施例中,f=0.01。对于图像序列中的每帧图像,更新这个权重。

使得雅可比矩阵为

然后,通过LM算法求出优化后的相机位姿(RT)和地图点的三维坐标(x,y,z)

在根据本发明的数据处理过程中,通过动态调整地图点的权重来降低总误差,进而获得更准确的地图点坐标和相机位姿,也就获得了更准确的场景模型。

以上结合特定的实施例,介绍了动态调整地图点的权重的一种方式。本领域的技术人员应该认识到,可按照其他方式来动态调整地图点的权重。

例如,在本发明的一个实施例中,可预先设定N个阈值T1至TN,其中0<T1<T2<…<Tm<…<TN

当满足误差e∈[0,T1)时,以比例γ1增加该三维点(x,y,z)的权重μ,即μ=μ·γ1

当满足误差e∈[T1,T2)时,以比例γ2增加该三维点(x,y,z)的权重μ,即μ=μ·γ2;以此类推

当满足误差e∈[Tm-1,Tm)时,以比例γm缩小该三维点(x,y,z)的权重μ,即μ=μ·γm;以此类推

当满足误差e∈[TN-1,TN)时,以比例γN缩小该三维点(x,y,z)的权重μ,即μ=μ·γN,其中γ1>γ2>…>1>γm>…>γN

本领域的技术人员能够理解,在实际的计算过程中,可根据需要设定比例γ的具体值。

数据更新单元130获取优化后的相机位姿(RT)和地图点的三维坐标(x,y,z)优。

在本发明的一个实施例中,当有新的关键帧加入时,会根据这个关键帧与其最近的关键帧找出匹配的特征点对,通过三角法求出新的三维地图点加入到地图中。

如前所述,在本发明的实施例中,在进行实体场景建模的初始阶段,首先从图像序列中选取两个关键帧图像,使其满足两个关键帧图像的相机位置之间的距离大于一定阈值,通过两帧图像中的特征点匹配点对计算两帧图像对应的相机位姿,并通过三角法求得匹配点对对应的地图点的三维坐标。由于所求得的相机位姿态和三维点坐标都是有误差的,需要优化,因此从第二个关键帧开始进行上述光束平差过程。

本领域的技术人员应该理解,也可以每隔特定的时间间隔进行优化过程。例如,可每隔特定时间段对所有的关键帧和所有的地图点做优化,或者做部分优化,也就是取关键帧中的一部分和部分地图点,做一次光束平差优化。

接下来,基于取优化后的相机位姿(RT)和地图点的三维坐标(x,y,z),通过本领域的技术人员已知的各种方法,可快速获得三维场景,由于相机的位姿以及地图点的坐标得到了优化,因此能够获得更准确的场景模型。

下面结合图2介绍具体的优化过程。图2示出根据本发明的一个实施例的相机位姿和地图点的三维坐标的优化过程的流程图。

在步骤210,获取真实场景的多帧二维图像中的一帧。例如,可使用多个相机在不同的位置、不同的角度对场景进行拍照以获取场景的不同投影,或者可通过单个相机对场景进行移动拍照来获取场景的不同的投影。

在步骤220,确定当前图像是否为关键帧图像,其中所述关键帧图像的相机位置与其他关键帧图像的相机位置的距离大于一定阈值。在进行实体场景建模的初始阶段,首先从图像序列中选取两个关键帧图像,使其满足两个关键帧图像的相机位置之间的距离大于一定阈值,通过两帧图像中的特征点匹配点对计算两帧图像对应的相机位姿,并通过三角法求得匹配点对对应的地图点的三维坐标。由于所求得的相机位姿态和三维点坐标都是有误差的,需要优化,因此从第二个关键帧开始进行光束平差过程。对于后续的图像,关键帧是指当新来一帧图像,其相机的位置与其他关键帧的位置的距离大于一定的阈值,则这一帧就是关键帧。当有新的关键帧加入时,会根据这个关键帧与其最近的关键帧找出匹配的特征点对,通过三角法求出新的三维地图点加入到地图中。

在步骤230,获得所有关键帧图像的优化前的相机的位姿(RT)和地图点的三维坐标(x,y,z)

在步骤240,基于地图点在当前相机位置的投影中的位置和实际投影的位置来获取地图点的误差。对于图像序列中的一帧图像,三维点(x,y,z)在该帧图像中的实际投影坐标为(u,v);而地图点的三维坐标(x,y,z)在相机的位姿(RT)中的计算投影坐标为(u′,v′),实际投影坐标为(u,v)与计算投影坐标为(u′,v′)之间的误差为:

e=(u’-u)2+(v’-v)2

将误差e作为该地图点对于该帧图像的误差,在步骤250,基于地图点的误差动态调整地图点的权重。当e大于设定阈值时,按特定比例缩小这个三维点(x,y,z)的权重μ,即μ=μ·(1-f),其中0<f<1,降低该点对优化的影响。

否则增加这个三维点(x,y,z)的权重μ,即μ=μ·(1+f),其中0<f<1,增加该点对优化的影响。在本发明的一个具体实施例中,f=0.01。对于图像序列中的每帧图像,更新这个权重。

使得雅可比矩阵为

在步骤260,基于调整后的地图点的权重优化相机位姿和地图点的三维坐标,得到优化后的相机位姿和地图点的三维坐标。在一个实施例中,通过LM算法求出优化后的相机位姿(RT)和地图点的三维坐标(x,y,z)

在根据本发明的数据处理过程中,通过动态调整地图点的权重来降低总误差,进而获得更准确的地图点坐标和相机位姿,也就获得了更准确的场景模型。

本领域的技术人员应该认识到,在步骤250,可按照其他方式来动态调整地图点的权重。

例如,在本发明的一个实施例中,可预先设定N个阈值T1至TN,其中0<T1<T2<…<Tm<…<TN

当满足误差e∈[0,T1)时,以比例γ1增加该三维点(x,y,z)的权重μ,即μ=μ·γ1

当满足误差e∈[T1,T2)时,以比例γ2增加该三维点(x,y,z)的权重μ,即μ=μ·γ2

当满足误差e∈[Tm-1,Tm)时,以比例γm缩小该三维点(x,y,z)的权重μ,即μ=μ·γm

当满足误差e∈[TN-1,TN)时,以比例γN缩小该三维点(x,y,z)的权重μ,即μ=μ·γN,其中γ1>γ2>…>1>γm>…>γN

本领域的技术人员能够理解,在实际的计算过程中,可根据需要设定比例γ的具体值。

本领域的技术人员应该理解,在本发明的一个实施例中,可以每隔特定的时间间隔进行优化过程。例如,可每隔特定时间段对所有的关键帧和所有的地图点做优化,或者做部分优化,也就是取关键帧中的一部分和部分地图点,做一次光束平差优化。

另外,可以把各实施例提供为可包括其上存储有机器可执行指令的一个或多个机器可读介质的计算机程序产品,这些指令在由诸如计算机、计算机网络或其他电子设备等的一个或多个机器执行时,可以引起一个或多个机器执行根据本发明的各实施例的操作。机器可读介质可以包括但不限于软盘、光盘、CD-ROM(紧致盘只读存储器)和磁光盘、ROM(只读存储器)、RAM(随机存取存储器)、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、磁或光卡、闪速存储器或适用于存储机器可执行指令的其他类型的介质/机器可读介质。

此外,可以作为计算机程序产品下载各实施例,其中,可以经由通信链路(例如,调制解调器和/或网络连接)由载波或其他传播介质实现和/或调制的一种或多种数据信号把程序从远程计算机(例如,服务器)传输给请求计算机(例如,客户机)。因此,在此所使用的机器可读介质可以包括这样的载波,但对此不作要求。

尽管上文描述了本发明的各实施例,但是,应该理解,它们只是作为示例来呈现的,而不作为限制。对于相关领域的技术人员显而易见的是,可以对其做出各种组合、变型和改变而不背离本发明的精神和范围。因此,此处所公开的本发明的宽度和范围不应被上述所公开的示例性实施例所限制,而应当仅根据所附权利要求书及其等同替换来定义。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号