三维重建中的图像选择方法及装置与流程

文档序号:16393654发布日期:2018-12-25 19:34阅读:313来源:国知局
三维重建中的图像选择方法及装置与流程
本发明涉及图像处理
技术领域
,具体而言,涉及一种三维重建中的图像选择方法及装置。
背景技术
随着互联网规模图像数量的爆发式增长和计算机计算能力的提高,高效获取大场景精确的三维模型在数字娱乐、增强现实、文物保护等领域具有广泛的应用前景。多视立体视觉(multi-viewstereo,mvs)从多视点图像重建密集的三维模型成为计算机视觉领域一个主要研究方向。三维重建是指对三维物体建立适合计算机表示和处理的数学模型,在计算机视觉中,三维重建是指根据单视图或者多视图的图像重建三维信息的过程。基于深度图融合的多视立体三维重建技术是解决大型场景三维重建的重要手段。它首先通过匹配技术计算每张图像所对应的深度图,然后通过深度融合算法对多个深度图进行融合并进行表面计算,融合出完整的场景三维数据,故单幅深度图的精度将直接影响最终模型的精度。另外大型场景三维重建,涉及到大量的输入图像,在数以万计的大量图片中运行mvs算法进行三维重建,如何提高三维重建的计算效率是亟需解决的问题。现有技术中,对于提高三维重建的计算效率的研究主要集中在如何提高深度图的计算效率和精度,传统的深度图融合的算法需要对场景中每张图像计算深度图。由于三维重建中需要的图像数量比较多,三维重建过程的计算量依然很大,影响了三维重建的计算效率。技术实现要素:有鉴于此,本发明实施例的目的在于提供一种三维重建中的图像选择方法及装置、三维重建方法及装置,以解决上述技术问题。第一方面,本发明实施例提供了一种三维重建中的图像选择方法,包括:获取三维重建中的标定图像集合、三维点集合;根据所述三维点集合,从所述标定集合中选取一个子集作为参考图像集合,所述参考图像集合中的各参考图像对应的三维点的并集覆盖所述三维重建对应的场景的三维点;将所述参考图像集合作为所述三维重建中图像选择的结果。进一步地,所述从所述标定集合中选取一个子集作为参考图像集合,包括:利用下述公式选取所述参考图像集合:上式中,x*表示所述参考图像集合,i表示第i张图像,bi表示第i张图像对应的二进制比特串,ci+1表示第i+1张图像对应的二进制比特串,ii+1表示第i+1张图像,i表示所述标定图像集合,ri表示经过第i张图像ii的参考图像集合。第二方面,本发明实施例提供了一种三维重建方法,包括:应用上述第一方面所述的三维重建中的图像选择方法确定所述三维重建图像选择结果;利用所述三维重建图像选择结果进行深度图计算和深度图融合,生成三维模型。第三方面,本发明实施例提供了一种三维重建中的图像选择装置,包括:图像获取模块,用于获取三维重建中的标定图像集合、三维点集合;图像选择模块,用于根据所述三维点集合,从所述标定集合中选取一个子集作为参考图像集合,所述参考图像集合中的各参考图像对应的三维点的并集覆盖所述三维重建对应的场景的三维点;图像选择结果确定模块,用于将所述参考图像集合作为所述三维重建中图像选择的结果。第四方面,本发明实施例提供了一种三维重建装置,包括:图像处理模块,用于应用上述第一方面所述的三维重建中的图像选择方法确定所述三维重建图像选择结果;三维模型生成模块,用于利用所述三维重建图像选择结果进行深度图计算和深度图融合,生成三维模型。第五方面,本发明实施例提供一种电子设备,包括:处理器、存储器和总线,其中,所述处理器和所述存储器通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面的方法步骤。第六方面,本发明实施例提供一种非暂态计算机可读存储介质,包括:所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面的方法步骤。第七方面,本发明实施例提供一种电子设备,包括:处理器、存储器和总线,其中,所述处理器和所述存储器通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第二方面的方法步骤。第八方面,本发明实施例提供一种非暂态计算机可读存储介质,包括:所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第二方面的方法步骤。本发明实施例通过选择标定图像集合中的一个子集作为参考图像集去计算深度图,不同于传统的基于深度图融合的算法给标定图像集合中的每张图像计算深度图,减少了深度图计算中图像的数量,提高了深度图计算的效率,进一步提高了三维重建的计算效率。本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本发明实施例提供的一种三维重建中的图像选择方法流程示意图;图2是本发明一个实施例中深度图误差与三维空间误差的示意图;图3是本发明一个实施例中重建误差分析的示意图;图4是本发明又一个实施例提供的三维重建中图像选择方法的流程示意图;图5为本发明实施例提供的一种三维重建方法的流程示意图;图6为本发明实施例提供的一种三维重建中的图像选择装置结构示意图;图7为本发明实施例提供的一种三维重建装置的结构示意图。具体实施方式下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。通常情况下,三维重建的主要过程可以包括:1)无序图像经过sfm(structure-from-motion,运动恢复结构)算法获得相机位置与场景稀疏三维点坐标;2)参考图像与邻近图像的选择;3)深度图计算;4)深度图融合、点云优化、三维模型生成。图像上每个点给出一个深度值,然后以图像的存储格式保存起来可以表示深度图。本发明实施例中的三维重建中的图像选择可以理解为确定进行深度图计算的图像,如:可以包括参考图像的选择、邻近图像的选择。图1为本发明实施例提供的一种三维重建中的图像选择方法流程示意图,如图1所示,该方法包括:步骤101:获取三维重建中的标定图像集合、三维点集合。在具体的实施过程中,标定图像集合可以表示标定了图像对应相机参数的图像的集合,三维点集合可以表示通过图像之间的特征点匹配而后通过多视几何关系求得的三维点集合。一个三维点可以对应2张或者以上图像中的一个二维点,设标定图像集合为i包含n张图像,三维点集合为p包含m个三维点。则标定图像集合和三维点集合之间的关系可以采用下述公式(1)表示:上式中,p代表三维点集合,代表图像in中可见的三维点集,也可以理解为图像in的三维点子集。标定图像集合和三维点集合可以在三维重建中的图像输入的过程中,利用sfm算法获得,当然也可以通过其他的方式获取,本说明书实施例不作具体限定。步骤102:根据所述三维点集合,从所述标定集合中选取一个子集作为参考图像集合,所述参考图像集合中的各参考图像对应的三维点的并集覆盖所述三维重建对应的场景的三维点。在具体的实施过程中,三维重建中的深度图融合需要计算单张深度图,单张深度图对应的二维图像即参考图像。由于一个三维点是通过多张图像中相匹配的二维点求出,故对于任意图像ij存在多个k,k≠j,使得:根据公式(2)可以看出,标定图像集合中存在大量的冗余图像,即去掉公式(1)中等号右边某些项,等号依旧成立。本发明的一个实施例中,可以利用步骤101中获得的三维点集合和标定图像集合,选择标定图像集合中的一个子集作为参考图像集合计算深度图。参考图像集合越小越好,以便提高计算效率,然而另外一方面需要考虑场景的完整性,即参考图像集合中的所有参考图像对应的三维点的并集需完整的覆盖三维重建场景中全部的三维点。对于参考图像集合的选择方法可以通过图像拟合、计算机编程处理等方法实现,例如:可以将标定图像集合划分为多个子集,根据三维点集合,获取各子集中图像对应的三维点,分析各子集中图像对应的三维点是否能够覆盖三维重建场景中全部的三维点。选择能够覆盖三维重建场景中全部的三维点的最小的子集作为参考图像集合。步骤103:将所述参考图像集合作为所述三维重建中图像选择的结果。在具体的实施过程中,选择出参考图像集合后,可以将参考图像集合作为三维重建中图像选择的结果,利用参考图像集合进行深度图的计算、深度融合等处理,实现三维重建。本发明实施例选择标定图像集合中的一个子集作为参考图像集去计算深度图,不同于传统的基于深度图融合的算法给标定图像集合中的每张图像计算深度图,减少了深度图计算中图像的数量,提高了深度图计算的效率,进一步提高了三维重建的计算效率。在上述实施例的基础上,所述从所述标定集合中选取一个子集作为参考图像集合,包括:利用下述公式选取所述参考图像集合:上式中,x*表示所述参考图像集合,i表示第i张图像,bi表示第i张图像对应的二进制比特串,ci+1表示第i+1张图像对应的二进制比特串,ii+1表示第i+1张图像,i表示所述标定图像集合,ri表示经过第i张图像ii的参考图像集合。在具体的实施过程中,可以记向量s=[x1,x2,…,xn]t表示确定出的参考图集合,其中xi∈{0,1},(1≤i≤n),若xi=1表示图像ii被选中,反之则没有被选中。记向量其中(1≤k≤m)表示第j张图像是否包含三维点k,若则第j张图像包含三维点k,反之则不包含。记向量n=[1,1,…1]t,其中每个分量都1。则从标定图像集合中选出一个子集即参考图像集合,可以理解为求解一个包含全部场景的最少图像集合等价于以下优化问题:s*=argmin||s||1s.t.[p0,…,pn]s≥n(4)公式(4)所描述的问题是一个0-1规划问题,该类问题是非凸的。对于该类问题,可以使用枚举法、隐枚举法等、割平面等方法进行求解。但是,在一个典型的sfm输出结果中包含数万个三维点,以及成百上千张图片,故在公式(4)中约束条件存在数万项,优化参数数量也较大。本发明一个实施例中给出了参考图像集合选择的方法如下:记集合ri代表经过第i张图像ii选择的参考图像集,bi,ci是第i张图像对应的二进制比特串,其中每个比特位与集合p中三维点一一对应,一个比特是一个位,多个比特构成一个串,比特串可以看做一个二进制序列。bi代表ri中所已经包含的三维点,ci代表图像ii中包含的三维点。对待选的第i+1张图像ii+1,则可以使用上述公式(3)求得上述公式(4)的优化解,获得参考图像集合。上述公式(3)中的counts()是一个计算一个比特串中包含1的个数的函数,|是比特串的或操作,⊙是比特串的异或操作。可以利用计算机的cpu中集成的运算指令集实现上述公式(3)的计算,如sse(streamingsimdextensions,指令集)等。选择参考图像集合的具体算法流程可以参考下述表1:表1:计算参考图像集合本发明实施例实现了从标定图像集合中筛选出能够覆盖三维重建场景的三维点的参考图像集合的计算方法,方法简单,减少了三维重建中深度图计算过程中冗余图像的计算量,提高了深度图计算的计算效率,进一步提高了三维重建的计算效率。在上述实施例的基础上,所述方法还包括:获取所述标定图像集合中的图像与所述参考图像集合中的参考图像之间的覆盖率;将所述覆盖率大于预设阈值的图像的集合作为所述参考图像集合中的参考图像对应的邻近图像集合;将所述邻近图像集合和所述参考图像集合作为所述三维重建的图像选择结果。在具体的实施过程中,三维重建过程中,深度图的计算还需要使用参考图像的邻近图像,邻近图像可以表示与参考图像相距较近的图像。参考图像集合确定后,本说明书实施例中还可以筛选出参考图像的邻近图像,选取少量可覆盖全部场景的图像进行计算,这样一方面减少了计算量,另外一方面也可以防止多张深度图因为误差而导致的深度不一致的现象。传统的邻近图像选择算法,只考虑了深度图的误差,但深度图的误差与空间中三维点之间的误差并不完全一致。图2是本发明一个实施例中深度图误差与三维空间误差的示意图,如图2所示,三维空间中真实位置p与计算得到的位置p1的三维空间误差为||pp1||,而深度图误差为向量pp1在相机主光轴上的投影||qq1||。本发明一个实施例中提出一种基于空间三维点误差分析的邻近图像选择方法,能够提供减小重建误差的更优图像选择。本说明书一个实施例中的深度图重建方法可以采用基于patchmatch的多视立体匹配方法,它具有精度高速度快的优点,且能计算浮点数精度的深度。patchmatch算法的核心目的是在两张图片之间快速寻找对应的小区域,“patch”指的是图片的一个小区域。由于多视三维重建中涉及大量计算,基于patchmatch的多视立体匹配能够在计算效率和重建精度上都满足条件的一种方法。给定参考图像ir及某一邻近图像il,由这二者计算的深度图中点(x,y)的深度值为:其中,r是参考图像的旋转矩阵,k是参考图像的相机内参矩阵,c是参考图像的相机中心,cost()是聚合匹配代价函数,它定义了参考图像一个区域与邻近图像一个区域之间的相似性,而这两个区域通过三维空间中某个平面映射得到。可以看出,计算参考图像上某个点的深度,等价于把一个三维点沿着以参考图像相机中心为起点的一条射线移动,在移动过程中通过与邻近图像上的某个区域进行相似度计算,如果匹配代价得到一个极小值即两个图像区域相似性最大的时候,就得到了求得了该点深度值。由于图像区域之间的匹配误差难以避免,特别是多视图三维重建中计算量大无法采用太过于复杂的图像匹配方法,故深度图计算也必然存在误差。图3是本发明一个实施例中重建误差分析的示意图,如图3所示,π1表示一个平面,r、r’、r表示射线,θ表示相机主光轴的夹角,c1、c3为参考图像c2的邻近图像,p点为图像c2中某个点对应的正确三维点,p是图像c1中与之对应的正确的二维点,但由于匹配的误差,使得我们求得的匹配代价最小的点为p',故实际求得的三维点为p2,p3表示p在c3上的三维点,|pp2|即为重建误差,邻近图像的选择的标准就是使得这个误差尽可能的小。本发明一个实施例中,利用参考图像和邻近图像之间的覆盖率,筛选出参考图像的邻近图像。如:可以依次计算参考图像集合中各个参考图像与相邻图像之间的覆盖率,将覆盖率小于预设阈值的图像剔除,保留覆盖率大于预设阈值的图像,获得参考图像对应的邻近图像集合。一个参考图像可以对应一个或多个邻近图像,一个参考图像可以对应一个邻近图像集合,也可以将参考图像集合中各个参考图像对应的邻近图像的总和作为一个邻近图像集合。再利用邻近图像集合和参考图像集合中的图像进行深度图计算,深度融合等,实现三维重建。其中,预设阈值可以根据实际需要进行设置,本发明实施例不作具体限定。从上述实施例的分析可以看出,深度图的计算依赖于参考图像与其邻近图像之间的重叠区域,本申请实施例根据两个图像之间的覆盖率,为参考图像选择邻近图像,可以祛除大部分候选者缩小搜索范围,同时也减少了深度图计算的计算量。在上述实施例的基础上,所述获取所述标定图像集合中的图像与所述参考图像集合中的参考图像之间的覆盖率,包括:根据下述公式获取所述标定图像集合中的图像与所述参考图像集合中的参考图像之间的覆盖率:上式中,α表示所述覆盖率,cr表示第r张图像ir对应的二进制比特串,cj表示第j张图像ij对应的二进制比特串。在具体的实施过程中,可以利用上述公式(6)依次计算参考图像与其相邻图像之间的覆盖率,根据两个图像之间的覆盖率选择出相邻图像集合,再利用相邻图像集合和参考图像集合中的图像进行深度图计算。本说明书一个实施例中,可以将预设阈值设置为0.3,删除α<0.3的候选图像,确定出邻近图像集合。本发明实施例给出了参考图像和邻近图像之间覆盖率的计算方法,根据本说明书实施例提供的方法,可以筛选出覆盖率满足预设阈值的图像,减少了深度图计算的计算量。在上述实施例的基础上,所述方法还包括:基于匹配误差建立所述邻近图像集合中所述邻近图像的第一评价函数;选择所述第一评价函数的值大于第一预设函数值的邻近图像,构建第一目标邻近图像集合;将所述第一目标邻近图像集合和所述参考图像集合作为所述三维重建的图像选择结果。在具体的实施过程中,如图2所示,π表示平面,三维重建误差一方面是由于匹配误差(参考图像中一个点匹配邻近图像中一个点的误差)导致,另外一方面是由于参考图像与邻近图像对应的相机位置关系引起的。若参考图像的某个区域与邻近图像的某个区域是一个刚性变换,则因采样频率不一致以及插值误差等引起匹配误差可以缩减至最小。仅当两个相机的主光轴方向一致且尺度一致即焦距与三维点到成像平面的距离满足反比关系的时候与三维空间中对应的两个图像区域存在一个刚性变换使得二者重合。本说明书一个实施例中,基于匹配误差建立邻近图像集合中各邻近图像的第一评价函数,第一评价函数可以包括邻近图像与参考图像之间的匹配误差与邻近图像的三维点之间的关系。可以选择第一评价函数值大于第一预设函数值的邻近图像,获得第一目标邻近图像集合,完成基于匹配误差进行邻近图像的选择。本发明实施例基于匹配误差构建邻近图像的第一评价函数,筛选出满足第一预设函数值的邻近图像,构建出第一目标邻近图像集合。基于第一目标邻近图像集合和参考图像集合进行深度图的计算,不仅可以提高计算效率,还可以降低三维重建误差,提高三维重建的精度。在上述实施例的基础上,所述第一评价函数包括:上式中,eerrormatch表示所述第一评价函数,escale表示尺度评价因子,edirection表示相机主光轴夹角的权重因子,pr表示图像ir包含的三维点子集,pl表示图像il包含的三维点子集,pi表示三维点,表示三维点pi到图像ir的像平面的距离,表示三维点pi到图像il的像平面的距离,fl表示图像il以像素为单位的焦距,fr表示图像ir以像素为单位的焦距,rr表示图像ir对应的相机旋转矩阵,rl表示图像il对应的相机旋转矩阵,表示第一平滑参数。在具体的实施过程中,上述公式(7)中的表示带宽,可以根据实际经验确定,本说明书一个实施例中可以设置为利用上述公式(7)可以计算出邻近图像集合中各邻近图像的第一评价函数的值,根据各邻近图像对应的第一评价函数的值,可以筛选出匹配误差满足一定要求的邻近图像。本发明实施例基于匹配误差建立的第一评价函数,经过匹配误差筛选条件,选出的参考图像距离三维点的距离以及它们主光轴的方向尽可能的一致,此时匹配误差最小化后且相机主光轴的夹角以及邻近图像的距离三维点的距离都大致确定,为后续深度图的计算提供了准确的数据基础。在上述实施例的基础上,所述方法还包括:根据所述第一评价函数基于三维点与相机中心夹角构建所述邻近图像集合中邻近图像的第二评价函数;所述第二评价函数包括:上式中,e表示所述第二评价参数,escale表示所述尺度评价因子,edirection表示所述相机主光轴夹角的权重因子,eangle表示三维点与相机中心夹角的评价因子,pr表示图像ir包含的三维点子集,pl表示图像il包含的三维点子集,pi表示三维点,cr表示第r张图像ir对应的二进制比特串,cl表示第l张图像il对应的二进制比特串,表示第二平滑参数;相应地,所述选择所述第一评价函数的值大于第一预设函数值的邻近图像,构建第一目标邻近图像集合,包括:选择所述第二评价函数的值大于第二预设函数值的邻近图像,构建第二目标邻近图像集合;将所述第二目标邻近图像集合和所述参考图像集合作为所述三维重建的图像选择结果。在具体的实施过程中,要进一步减少三维重建误差还需考虑三维点与参考图像和邻近图像之间的夹角θ。如图2所示,固定匹配误差|pp'|当且仅当从参考图像相机中心发出的与三维点连接的射线垂直于邻近图像发出的射线r'时候重建误差最小。三维重建误差与θ相关,易知θ=∠pc1p'+∠c3pc1而由于匹配误差一般都较小,即||pp'||一般小于2个像素单位长度,而||c1p||大于等于焦距,通常情况下会大于1000个像素单位长度,故θ近似等于参考图像相机中心与三维点的连线和邻近图像相机中心与三维点的连线的夹角。本发明一个实施例基于三维点与相机中心夹角构建邻近图像的第二评价函数如上述公式(8)所示。上述公式(8)中的可以表示带宽,可以根据实际经验设置,本发明一个实施例中,可以设置为利用上述公式(8)可以计算出某参考图像对应的邻近图像集合中各个邻近图像对应的第二评价函数的值,可以根据第二评价函数的值从大到小对邻近图像进行排序,选择第二评价函数的值排在预设名次内的邻近图像,构建出第二目标邻近图像集合。如:可以选择第二评价函数的值排在前3名的邻近图像作为某个参考图像的邻近图像。图4是本发明又一个实施例提供的三维重建中图像选择方法的流程示意图,如图4所示,本说明书一个实施例中,三维重建中图像选择方法还可以包括:步骤401:获取三维重建中的标定图像集合、三维点集合。步骤402:根据标定图像集合、三维点集合,从标定点集合中确定一个子集作为参考图像集合。步骤403:基于两个图像之间的覆盖率,为参考图像集合中的参考图像去除覆盖率小于预设阈值的邻近图像的候选图像,获得邻近图像集合。如:为参考图像a筛选邻近图像,可以根据参考图像a与其邻近的各图像之间的覆盖率的大小,构建出参考图像a的邻近图像集合。步骤404:基于匹配误差为邻近图像集合中的图像构建第一评价函数。步骤405:在第一评价函数的基础上,基于三维点与相机中心夹角为邻近图像集合中的图像构建第二评价函数。步骤406:根据邻近图像集合中各图像对应的第二评价函数的值的大小,选择预设数量个图像作为参考图像的邻近图像。如:为参考图像a选择邻近图像,可以根据上述步骤403-405,获得经过覆盖率筛选后的邻近图像集合中各图像对应的第二评价函数的值,可以将第二函数的值进行降序排序,选择前k个图像作为参考图像a的邻近图像。k的取值可以根据实际需要设置,如:本说明书一个实施例中k可以取3。利用步骤403-406可以依次为参考图像集合中的参考图像选择邻近图像。步骤407:将参考图像集合和参考图像对应的邻近图像作为三维重建的图像选择结果。本发明实施例在确定出参考图像后,根据三维重建的误差影响因素,基于覆盖率、匹配误差、三维点与相机中心夹角进行参考图像的邻近图像的选择。具体给出了基于匹配误差的第一评价函数、基于三维点与相机中心夹角的第二评价函数,为后续三维重建的深度图计算提供了准确的数据基础,并且可以降低三维重建的误差,提高了三维重建的精度。图5为本发明实施例提供的一种三维重建方法的流程示意图,如图5所示,在上述实施例的基础上,本发明一个实施例中,三维重建方法可以包括:步骤501、应用上述实施例的方法确定所述三维重建图像选择结果。如:可以利用上述实施例的方法确定出三维重建需要的参考图像和/或邻近图像,作为三维重建图像选择结果。步骤502、利用所述三维重建图像选择结果进行深度图计算和深度图融合,生成三维模型。如:可以利用上述实施例选择出的参考图像和邻近图像进行深度图计算,在进行深度图融合、点云优化等,生成三维模型,完成三维重建过程。本发明一个实施例中还可以将本发明提供的三维重建方法与现有技术中其他三维重建方法进行对比,具体过程如下:本发明一个实施例中将基于深度图融合的三维重建的4个流程中,除图像选择以外的其余流程都设置为一致的算法。如:摄像机(或相机)内外参及三维点信息均使用sfm算法求出,深度图计算和融合也采用相同的方法。本发明实施例中的三维重建过程可以在计算机等数据处理设备上进行,如:可以在一台pc(personalcomputer,个人计算机)上,cpu(centralprocessingunit/processor,中央处理器)可以为e31230(4核8线程主频3.5ghz),内存32gb,显卡为gtx1080ti。其中,深度图的计算可以启用cpu多线程和gpu(graphicsprocessingunit,图形处理器)运算法。本发明一个实施例中,对三种图像选择方法在运行时间、场景重建精度、场景重建完整度上进行了对比。运行时间的统计从图像选择开始至三维点云生成为止。表2统计了每种方法重建时间的对比,从表2可以看出,本发明的方法只需要选择能覆盖全部场景的最小图像集图进行深度图计算,其运行时间相对于另外两种方法减少了一半以上。表2选图方法三维重建时间对比本发明的方法现有技术方法一现有技术方法二5:3311:4013:10三维重建的精度通常可以被定义为重建点云集合中所有点到真实点云集合中最小距离的平均值,三维重建的完整性是指场景被还原的程度,即是否被完整的重建出来。本发明一个实施例中对三种三维重建方法进行了精度和完整性的对比,表3是本发明一个实施例中三维重建的完整性和精度的对比,如表3所示,本发明实施例的方法更加精确的三维空间重建误差分析,而另外两种方法的误差分析只局限于深度图,本发明实施例的方法三维重建的完整性和精度都高于其他两种方法。表3完整性和精度对比方法完整性精度本发明的方法93%1.41cm现有技术方法一89%1.48cm现有技术方法二87%1.52cm本发明实施例中,提出了一种针对深度图融合的三维重建的图像选择方法,在参考图像的选择上分析了如何减少重建时间并确立了参考图像选择方法,在邻近图像的选择上分析重建误差的影响因素,并依此制定了邻近图像选择方法,明显的提高三维重建效率和重建精度。图6为本发明实施例提供的一种三维重建中的图像选择装置结构示意图,如图6所示,该三维重建中的图像选择装置包括图像获取模块601、图像选择模块602、图像选择结果确定模块603,其中,图像获取模块601用于获取三维重建中的标定图像集合、三维点集合;图像选择模块602用于根据所述三维点集合,从所述标定集合中选取一个子集作为参考图像集合,所述参考图像集合中的各参考图像对应的三维点的并集覆盖所述三维重建对应的场景的三维点;图像选择结果确定模块603用于将所述参考图像集合作为所述三维重建中图像选择的结果。在上述实施例的基础上,所述图像选择模块具体用于:利用下述公式选取所述参考图像集合:上式中,x*表示所述参考图像集合,i表示第i张图像,bi表示第i张图像对应的二进制比特串,ci+1表示第i+1张图像对应的二进制比特串,ii+1表示第i+1张图像,i表示所述标定图像集合,ri表示经过第i张图像ii的参考图像集合。在上述实施例的基础上,所述装置还包括邻近图像选择模块,用于:获取所述标定图像集合中的图像与所述参考图像集合中的参考图像之间的覆盖率;将所述覆盖率大于预设阈值的图像的集合作为所述参考图像集合的邻近图像集合;将所述邻近图像集合和所述参考图像集合作为所述三维重建的图像选择结果。在上述实施例的基础上,所述邻近图像选择模块具体用于:根据下述公式获取所述标定图像集合中的图像与所述参考图像集合中的参考图像之间的覆盖率:上式中,α表示所述覆盖率,cr表示第r张图像ir对应的二进制比特串,cj表示第j张图像ij对应的二进制比特串。在上述实施例的基础上,所述邻近图像选择模块还包括评价函数构建单元用于:基于匹配误差建立所述邻近图像集合中所述邻近图像的第一评价函数;选择所述第一评价函数的值大于第一预设函数值的邻近图像,构建第一目标邻近图像集合;将所述第一目标邻近图像集合和所述参考图像集合作为所述三维重建的图像选择结果。在上述实施例的基础上,所述第一评价函数包括:上式中,eerrormatch表示所述第一评价函数,escale表示尺度评价因子,edirection表示相机主光轴夹角的权重因子,pr表示图像ir包含的三维点子集,pl表示图像il包含的三维点子集,pi表示三维点,表示三维点pi到图像ir的像平面的距离,表示三维点pi到图像il的像平面的距离,fl表示图像il以像素为单位的焦距,fr表示图像ir以像素为单位的焦距,rr表示图像ir对应的相机旋转矩阵,rl表示图像il对应的相机旋转矩阵,表示第一平滑参数。在上述实施例的基础上,所述评价函数构建单元还用于:根据所述第一评价函数,基于三维点与相机中心夹角构建所述邻近图像集合中邻近图像的第二评价函数;所述第二评价函数包括:上式中,e表示所述第二评价参数,escale表示所述尺度评价因子,edirection表示所述相机主光轴夹角的权重因子,eangle表示三维点与相机中心夹角的评价因子,pr表示图像ir包含的三维点子集,pl表示图像il包含的三维点子集,pi表示三维点,cr表示第r张图像ir对应的二进制比特串,cl表示第l张图像il对应的二进制比特串,表示第二平滑参数;相应地,所述选择所述第一评价函数的值大于第一预设函数值的邻近图像,构建第一目标邻近图像集合,包括:选择所述第二评价函数的值大于第二预设函数值的邻近图像,构建第二目标邻近图像集合;将所述第二目标邻近图像集合和所述参考图像集合作为所述三维重建的图像选择结果。本发明实施例选择标定图像集合中的一个子集作为参考图像集去计算深度图,不同于传统的基于深度图融合的算法给标定图像集合中的每张图像计算深度图,减少了深度图计算中图像的数量,提高了深度图计算的效率,进一步提高了三维重建的计算效率。在确定出参考图像后,根据三维重建的误差影响因素,基于覆盖率、匹配误差、三维点与相机中心夹角进行参考图像的邻近图像的选择。为后续三维重建的深度图计算提供了准确的数据基础,并且可以降低三维重建的误差,提高了三维重建的精度。图7为本发明实施例提供的一种三维重建装置的结构示意图,如图7所示,该认证设备包括:图像处理模块701和三维模型生成模块702,其中,图像处理模块701用于应用上述实施例的方法确定所述三维重建图像选择结果;三维模型生成模块702用于利用所述三维重建图像选择结果进行深度图计算和深度图融合,生成三维模型。本发明实施例提出了一种针对深度图融合的三维重建的图像选择方法,在参考图像的选择上分析了如何减少重建时间并确立了参考图像选择方法,在邻近图像的选择上分析重建误差的影响因素,并依此制定了邻近图像选择方法,基于图像选择结果进行三维重建,明显的提高三维重建效率和重建精度。在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1