CN112446951B - 三维重建方法、装置、电子设备及计算机存储介质 - Google Patents
三维重建方法、装置、电子设备及计算机存储介质 Download PDFInfo
- Publication number
- CN112446951B CN112446951B CN202011232094.7A CN202011232094A CN112446951B CN 112446951 B CN112446951 B CN 112446951B CN 202011232094 A CN202011232094 A CN 202011232094A CN 112446951 B CN112446951 B CN 112446951B
- Authority
- CN
- China
- Prior art keywords
- communities
- community
- target
- adjacent
- matching
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000003860 storage Methods 0.000 title claims abstract description 14
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 57
- 230000009466 transformation Effects 0.000 claims abstract description 21
- 238000005457 optimization Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 14
- 230000011218 segmentation Effects 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000010276 construction Methods 0.000 claims description 6
- 238000001914 filtration Methods 0.000 claims description 5
- 230000003044 adaptive effect Effects 0.000 claims description 2
- 101100365794 Schizosaccharomyces pombe (strain 972 / ATCC 24843) sim3 gene Proteins 0.000 description 15
- 239000011159 matrix material Substances 0.000 description 8
- 238000001514 detection method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000005520 cutting process Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种三维重建方法、装置、电子设备和计算机存储介质,其中,该方法包括:将大规模场景的多张图像中的每张图像作为一个节点构建无向图,其中,无向图中每条边的匹配权重是根据两个相邻节点上的图像的特征点计算得到的,根据各条边的匹配权重利用Louvain算法分割无向图得到多个目标社区,基于动态规划算法根据任意两个相邻的目标社区之间的匹配权重最大的边进行搜索,得到任意两个相邻的目标社区的共同图像,对多个目标社区分别基于SFM算法进行三维重建得到多个子图,并将任意两个相邻的目标社区根据共同图像进行相似变换,合并多个子图得到目标三维地图。通过本申请,解决了对大规模场景进行三维重建存在效率低的问题。
Description
技术领域
本发明涉及计算机视觉计算领域,尤其涉及一种三维重建方法、装置、电子设备及计算机存储介质。
背景技术
使用传统SFM(Structure From Motion,也称为从运动恢复结构)技术,对某个场景进行视觉三维重建,分为以下几个步骤:1、图像特征点提取;2、两两图像匹配和几何校验;3、多张图像特征点跟踪;4、两/多张图像做三角化;5、多张图像做BA(BundleAdjustment,也称为光束平差)整体优化。但是,对大规模场景诸如城市级别的航拍图像进行三维重建,全局BA优化会非常缓慢,且图像数据量过大使得计算机内存无法同时加载。因此,需要在步骤3之后对所有图像的匹配关系进行分割得到多个社区,然后针对每个社区分块进行步骤4和步骤5,即对多个社区分块进行三维重建得到多个子图,最后合并多个子图来获得三维地图。在相关技术中,通过对大规模场景的多张图像之间的特征点匹配数定义匹配权重,然后使用归一化切割算法对多张图像的匹配关系进行分割得到多个社区,再根据设定的交并集比例做约束,以保证两两社区之间有足够约束可以进行拼接,在拼接时使用运动平均后再进行全局BA优化,以获得三维地图。但是归一化切割算法本身很慢,且需要用到矩阵求解,在矩阵过大时计算机容易内存溢出,使得三维重建的效率较低。
针对相关技术中,对大规模场景进行三维重建存在效率低的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种三维重建方法、装置、电子设备和计算机存储介质,以至少解决相关技术中,对大规模场景进行三维重建存在效率低的问题。
第一方面,本申请实施例提供了一种三维重建方法,所述方法包括:
将大规模场景的多张图像中的每张所述图像作为一个节点,构建无向图,其中,所述无向图包括多条边,每条所述边的匹配权重是根据两个相邻节点上的图像的特征点计算得到的;
根据各条所述边的匹配权重,利用Louvain算法对所述无向图进行分割得到多个目标社区,其中,各所述目标社区包括的节点个数均小于预设的节点个数阈值;
基于动态规划算法,根据任意两个相邻的目标社区之间的匹配权重最大的边进行搜索,得到任意两个所述相邻的目标社区的共同图像;
对多个所述目标社区分别基于SFM算法进行三维重建得到多个子图,并将任意两个所述相邻的目标社区根据所述共同图像进行相似变换,合并多个所述子图得到目标三维地图。
在其中一些实施例中,每条所述边的匹配权重通过下述方式获得:
根据匹配特征点个数在各层网格占据的网格数和各层所述网格的权重进行计算,得到图像特征均匀度得分,其中,所述匹配特征点个数是根据第一图像的第一特征点个数和第二图像的第二特征点个数通过特征匹配和几何过滤得到的,所述第一图像和所述第二图像分别是两个所述相邻节点上的图像;
根据所述第一特征点个数、所述第二特征点个数和所述匹配特征点个数进行计算,得到所述第一图像和所述第二图像之间的匹配质量得分;
将所述图像特征均匀度得分和所述匹配质量得分按照预设的权重进行加法计算,得到两个所述相邻节点之间的边的匹配权重。
在其中一些实施例中,所述根据各条所述边的匹配权重,利用Louvain算法对所述无向图进行分割得到多个目标社区,包括:
将每个节点作为一个初始社区,根据各条所述边的匹配权重进行计算得到第一模块度增量,并根据所述第一模块度增量将各所述节点分配到相邻节点所属的初始社区;
在基于第一模块度确定各所述节点所属的社区不变的情况下,得到多个第一社区,其中,各所述第一社区包括至少一个所述节点,所述第一模块度是根据各所述节点所属的社区和各条所述边的匹配权重进行计算得到的;
将每个所述第一社区作为一个新节点,根据各条边的匹配权重进行计算得到第二模块度增量,并根据所述第二模块度增量将各所述新节点分配到相邻新节点所属的第一社区;
在基于第二模块度确定各所述新节点所属的社区不变的情况下,得到多个第二社区,其中,各所述第二社区包括至少一个所述新节点,所述第二模块度是根据各所述新节点所属的社区和各条所述边的匹配权重进行计算得到的;
在各所述第二社区包括的节点个数均小于所述节点个数阈值的情况下,将各所述第二社区分别作为各所述目标社区。
在其中一些实施例中,所述根据各条边的匹配权重进行计算得到第二模块度增量,包括:
将每个所述第一社区中各节点之间的边的匹配权重相加,得到一个所述新节点的环的权重,将各所述第一社区之间的边的匹配权重转化为各所述新节点之间的匹配权重;
根据各所述新节点的环的权重和各所述新节点之间的匹配权重进行模块度增量计算,得到第二模块度增量。
在其中一些实施例中,所述在基于第二模块度确定各所述新节点所属的社区不变的情况下,得到多个第二社区之后,在多个所述第二社区中存在至少一个第二社区为过大社区的情况下,所述过大社区包括的节点个数大于或等于所述节点个数阈值,所述方法还包括:
根据预设比率对预设的第一分辨率进行自适应调节,得到第二分辨率,其中,所述第二分辨率小于所述第一分辨率;
根据所述第二分辨率,利用Louvain算法对所述过大社区进行分割,得到多个第三社区;
在各所述第三社区包括的节点个数均小于所述节点个数阈值的情况下,将多个所述第二社区中除了过大社区的其他第二社区以及多个所述第三社区分别作为各所述目标社区;
在多个所述第三社区中存在至少一个第三社区为所述过大社区的情况下,根据所述预设比率对所述第二分辨率执行所述自适应调节以对所述过大社区继续进行分割,以得到多个所述目标社区。
在其中一些实施例中,所述基于动态规划算法,根据任意两个相邻的目标社区之间的匹配权重最大的边进行搜索,得到任意两个所述相邻的目标社区的共同图像,包括:
从第一相邻社区和第二相邻社区之间的若干条边中选择匹配权重最大的边,并将所述第一相邻社区中与所述匹配权重最大的边连接的第一相邻节点作为第一搜索起点,将所述第二相邻社区中与所述匹配权重最大的边连接的第二相邻节点分别作为第二搜索起点,其中,所述第一相邻社区和所述第二相邻社区为任意两个所述相邻的目标社区;
基于动态规划算法,从所述第一搜索起点向所述第一相邻社区根据预设的深度阈值进行搜索,得到第一目标节点,从所述第二搜索起点向所述第二相邻社区根据所述深度阈值进行搜索,得到第二目标节点;
将所述第一目标节点上的图像复制到所述第二相邻社区,将所述第二目标节点上的图像复制到所述第一相邻社区,并将所述第一目标节点和所述第二目标节点上的图像作为所述共同图像。
在其中一些实施例中,所述将任意两个所述相邻的目标社区根据所述共同图像进行相似变换,合并多个所述子图得到目标三维地图之后,所述方法包括:
根据多张所述图像进行三角化,得到多个空间点的三维位置和多张所述图像的三维位姿,并基于光束平差法优化多个所述空间点的三维位置和多张所述图像的三维位姿,得到多个所述空间点优化后的三维位置和多张所述图像优化后的三维位姿;
根据多个所述空间点优化后的三维位置和多张所述图像优化后的三维位姿优化所述目标三维地图。
第二方面,本申请实施例提供了一种三维重建装置,所述装置包括无向图构建模块、分割模块、交集模块和合并模块:
所述无向图构建模块,用于将大规模场景的多张图像中的每张所述图像作为一个节点,构建无向图,其中,所述无向图包括多条边,每条所述边的匹配权重是根据两个相邻节点上的图像的特征点计算得到的;
所述分割模块,用于根据各条所述边的匹配权重,利用Louvain算法对所述无向图进行分割得到多个目标社区,其中,各所述目标社区包括的节点个数均小于预设的节点个数阈值;
所述交集模块,用于基于动态规划算法,根据任意两个相邻的目标社区之间的匹配权重最大的边进行搜索,得到任意两个所述相邻的目标社区的共同图像;
所述合并模块,用于对多个所述目标社区分别基于SFM算法进行三维重建得到多个子图,并将任意两个所述相邻的目标社区根据所述共同图像进行相似变换,合并多个所述子图得到目标三维地图。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的三维重建方法。
第四方面,本申请实施例提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的三维重建方法。
相比相关技术,本申请实施例提供的三维重建方法,通过将大规模场景的多张图像中的每张图像作为一个节点,构建无向图,其中,无向图包括多条边,每条边的匹配权重是根据两个相邻节点上的图像的特征点计算得到的,根据各条边的匹配权重,利用Louvain算法对无向图进行分割得到多个目标社区,其中,各目标社区包括的节点个数均小于预设的节点个数阈值,基于动态规划算法,根据任意两个相邻的目标社区之间的匹配权重最大的边进行搜索,得到任意两个相邻的目标社区的共同图像,对多个目标社区分别基于SFM算法进行三维重建得到多个子图,并将任意两个相邻的目标社区根据共同图像进行相似变换,合并多个子图得到目标三维地图,解决了对大规模场景进行三维重建存在效率低的问题,提高了对大规模场景进行三维重建的效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的三维重建方法的流程图;
图2是根据本申请实施例的获得每条边的匹配权重的方法流程图;
图3是根据本申请实施例的分割无向图的方法流程图;
图4是根据本申请实施例的分割过大社区的方法流程图;
图5是根据本申请实施例的另一种三维重建方法的流程图;
图6是根据本申请实施例的三维重建装置的结构示意图;
图7是根据本申请实施例的电子设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本实施例提供了一种三维重建方法。图1是根据本申请实施例的三维重建方法的流程图,如图1所示,该流程包括如下步骤:
S110、将大规模场景的多张图像中的每张图像作为一个节点,构建无向图。大规模场景采集的多张图像可以是对城市级别或超过城市级别的场景进行多视角拍摄,而获得的多张航拍图像或者航拍视频中截取得到的多张图像。将每张图像作为一个节点,并根据各张图像之间的匹配关系,构建无向图。每个节点上有一张图像。将无向图包括的节点个数记为N,即大规模场景有N张图像。无向图包含多条边,两个节点之间可以直接与同一条边连接,或者不与同一条边直接连接,而是通过多条边产生连接关系。将直接与同一条边连接的两个节点称为两个相邻节点,即相邻节点之间只与同一条边直接连接。根据任意两个相邻节点上的图像的特征点进行计算,可以得到各条边的匹配权重。
S120、根据各条边的匹配权重,利用Louvain算法对无向图进行分割得到多个目标社区,其中,各目标社区包括的节点个数均小于预设的节点个数阈值。Louvain算法是一种基于图凝聚思想的层次社区划分算法,它利用模块度来评价划分质量,能够快速有效地对大型网络进行社区划分,且划分精准度高,能够有效辨别有层次的社区结构。Louvain算法包括两个阶段。第一阶段中,将每个节点当作一个独立的初始社区,初始社区的个数和节点个数相同。然后针对每个节点i,i=1,...,N,N表示无向图的节点数量,计算将节点i尝试分配到其各相邻节点所属社区的模块度增量,模块度增量表示模块度在节点i分配后相对于分配前的变化量。模块度可以评估一个社区网络划分的好坏,该值越大,表示划分效果越好。将节点i分配到模块度增量最大的那个相邻节点所属的社区。迭代上述分配步骤,直到基于不变或变小的模块度,确定各节点所属的社区不再变化。第二阶段中,将第一阶段形成的每个社区缩成一个新节点,社区内节点之间的边的匹配权重转化为新节点的环的权重,将社区间的边的匹配权重转化为新节点间的匹配权重。重复第一阶段中的节点分配,直到无向图的模块度不变或变小,各节点所属的社区不再变化。对无向图的分割完成,每个目标社区包括多个节点,即每个目标社区包括多张图像。并且通过预设的节点个数阈值,可以限制每个目标社区的规模,有利于加快后续流程执行的速度。
基于Louvain算法可以检测层次性社区。比如原本有200个节点,初始时每个节点为一个社区,经过第一阶段形成了20个社区,实际应用中,每个社区包括的节点个数根据算法产生,不一定相同,假设其中有社区A1包括10个节点。在第二阶段将20个社区缩成20个新节点,对20个新节点继续第一阶段,形成了5个社区。假设有社区A2包括4个新节点,这4个新节点中有一个是社区A1缩成的新节点,可以理解的是社区A2就有了层次性,一开始10个是第一层,4个新节点是第二层,从而体现了Louvain算法的层次性检测。在Louvain算法的执行过程中,因为一开始涉及到的节点多,每次都要计算分配到各相邻节点的模块度增量,计算量比较大。而一旦涉及到第二阶段,再执行第一阶段,所有的节点和边的数量显著减少,计算量会显著降低。
S130、基于动态规划算法,根据任意两个相邻的目标社区之间的匹配权重最大的边进行搜索,得到任意两个相邻的目标社区的共同图像。
优选地,第一相邻社区和第二相邻社区为无向图中任意两个相邻的目标社区。第一相邻社区和第二相邻社区之间有若干条边,每条边连接的两个相邻节点分别属于第一相邻社区和第二相邻社区。从这若干条边中选择匹配权重最大的边,并第一相邻社区中与匹配权重最大的边连接的第一相邻节点作为第一搜索起点,将第二相邻社区中与匹配权重最大的边连接的第二相邻节点分别作为第二搜索起点。根据预设的深度阈值记为K,使用动态规划算法从第一搜索起点向第一相邻社区搜索得到K个第一目标节点,从第二搜索起点向第二相邻社区搜索得到K个第二目标节点。具体地,使用动态规划算法从第一搜索起点向第一相邻社区进行搜索分为K个阶段。从第一搜索起点开始,根据与第一搜索起点连接的边的匹配权重,进行第一阶段搜索,得到第一个节点。然后根据与第一节点连接的边的匹配权重,进行第二阶段搜索,得到第二个节点,继续搜索直到完成K个阶段的搜索。在每个阶段的搜索过程中,通过决策保留有可能使K个目标节点之间的边的匹配权重之和达到最大的节点,即该阶段有可能达到最优的局部解,为下一节点的搜索提供有用信息,从而可以通过局部最优解来推导全局最优解,以搜索到K个第一目标节点。同样地,通过动态规划算法从第二搜索起点向第二相邻社区进行K个阶段的搜索,可以搜索到K个第二目标节点。将K个第一目标节点上的图像复制到第二相邻社区,将K个第二目标节点上的图像复制到第一相邻社区,并将第一目标节点和第二目标节点上的2K张图像作为共同图像。
S140、对多个目标社区分别基于SFM算法进行三维重建得到多个子图,并将任意两个相邻的目标社区根据共同图像进行相似变换,合并多个子图得到目标三维地图。对每个目标社区中的多个节点上的图像进行三角化得到目标社区中多个子图空间点的三维位置和目标社区中多张图像的三维位姿,并基于光束平差法优化各个子图空间点的三维位置和目标社区中多张图像的三维位姿,得到一个目标社区中多个子图空间点优化后的三维位置和目标社区中多张图像优化后的三维位姿。将目标社区的个数记为M,对M个目标社区分块分别进行三角化和BA(Bundle Adjustment,也称为光束平差)全局优化,可以得到M个子图。将任意两个相邻的目标社区根据共同图像进行sim3变换,合并多个子图得到目标三维地图。
对于M个目标社区中的任意两个相邻的目标社区,根据其中一个相邻的目标社区包括的K张共同图像与另一个相邻的目标社区所包括的K张共同图像之间的对应关系,对这2K张共同图像之间匹配的子图空间点进行sim3求解,得到这2K张共同图像之间的sim3变换矩阵。sim3求解方法来自1987年Berthold K.P.Horn发表的论文《Closed-form solutionof absolute orientation using unit quaternions》,通过对当前关键帧和闭环候选帧之间匹配的空间点进行sim3求解,通过sim3变换解出当前关键帧和闭环候选帧的匹配空间点之间的旋转矩阵、平移向量、尺度变换,也就得到了当前关键帧到闭环关键帧之间的sim3变换矩阵。使用这个sim3变换矩阵乘上闭环关键帧的sim3位姿矩阵,就可以得到当前关键帧的sim3位姿,之后在闭环校正中使用这个sim3位姿转换为SE3位姿后对当前关键帧进行位姿校正,也对关键帧对应的空间点以及其共视的关键帧进行校正。本实施例中,根据这2K张共同图像之间的sim3变换矩阵,对由这两个相邻的目标社区得到的两个子图中所包括的各个子图空间点的位姿进行调整,进而合成这两个子图。通过对任意两个相邻的目标社区根据2K张共同图像进行相似变换,可以合并任意两个相邻的目标社区,进而得到目标三维地图。
通过上述步骤,使用Louvain算法基于模块度对无向图进行社区检测实现分割,基于模块度进行社区检测算法本身速度就很快,并且相较于相关技术中针对大规模场景的多张图像,使用归一化切割算法需要求解很大的矩阵,由于计算机硬件的限制计算速度会很慢甚至内存溢出无法计算,使用Louvain算法进行分割无需求解矩阵,不会因计算机硬件导致计算速度收到限制,然后对每个符合预设规模大小的目标社区分块进行三维重建,可以避免对规模很大的目标社区进行三维重建而导致三维重建花费的时间过多,整体减少多个目标社区三维重建的时间,最后将无向图中任意两个相邻的目标社区根据共同图像进行sim3相似变换,来合并多个子图得到目标三维地图,解决了对大规模场景进行三维重建存在效率低的问题,提高了对大规模场景进行三维重建的效率。
在一些实施例中,获得无向图中每条边的匹配权重的方法相同,图2是根据本申请实施例的获得每条边的匹配权重的方法流程图,如图2所示,该流程包括如下步骤:
S210、根据匹配特征点个数在各层网格占据的网格数和各层网格的权重进行计算,得到图像特征均匀度得分。匹配特征点个数是根据第一图像的第一特征点个数和第二图像的第二特征点个数通过特征匹配和几何过滤得到的,第一图像和第二图像分别是两个相邻节点上的图像,第一特征点个数是对第一图像检测得到的原始特征点的个数,第二特征点个数是对第二图像检测得到的原始特征点的个数。本实施例中,第一层网格为2*2的网格,第二层网格为4*4的网格,第三层网格为8*8的网格,将匹配特征点个数通过公式1进行计算可以得到图像特征均匀度得分:
even_score=w1*n/(2*2)+w2*n/(4*4)+w3*n/(8*8) 公式1
其中,n表示匹配特征点个数,w1表示第一层网格的权重,w2表示第二层网格的权重,w3表示第三层网格的权重,even_score表示图像特征均匀度得分,各层网格的权重可以通过公式2计算得到:
通过公式2计算可以得到w1=0.143,w2=0.286,w3=0.571,将各层网格的权重代入公式1计算可以得到图像特征均匀度得分。
S220、根据第一特征点个数、第二特征点个数和匹配特征点个数进行计算,得到第一图像和第二图像之间的匹配质量得分。将第一特征点个数、第二特征点个数和匹配特征点个数通过公式3计算可以得到第一图像和第二图像之间的匹配质量得分:
match_score=2*n/(n0+n1) 公式3
其中,n表示匹配特征点个数,n0表示第一特征点个数,n1表示第二特征点个数,match_score表示匹配质量得分。
S230、将图像特征均匀度得分和匹配质量得分按照预设的权重进行加法计算,得到两个相邻节点之间的边的匹配权重。将图像特征均匀度得分和匹配质量得分通过公式4计算可以得到一条边的匹配权重:
edge_weight=alpha*even_score+(1-alpha)*match_score 公式4
其中,alpha表示预设的权重,一般情况下alpha取值为0.5,even_score表示图像特征均匀度得分,match_score表示匹配质量得分,edge_weight表示两个相邻节点之间的边的匹配权重。
通过上述步骤,根据相邻节点上的图像的特征点,可以更加精确得计算得到无向图中每条边的匹配权重,更加符合多张图像之间的实际关系。
在一些实施例中,根据无向图中各条边的匹配权重,利用Louvain算法对无向图进行分割得到多个目标社区,图3是根据本申请实施例的分割无向图的方法流程图,如图3所示,该流程包括如下步骤:
S310、将每个节点作为一个初始社区,根据各条边的匹配权重进行计算得到第一模块度增量,并根据第一模块度增量将各节点分配到相邻节点所属的初始社区。将无向图中的节点个数记为N,初始社区的个数和节点个数相同,初始社区的个数为N。对于无向图中的每个节点i(i=1,...,N),依次尝试把节点i分配到其每个相邻节点所在的初始社区,并计算分配前与分配后的第一模块度增量,记录第一模块度增量最大的那个相邻节点。如果这个最大的第一模块度增量的值大于0,则把节点i分配到第一模块度增量最大的那个相邻节点所在的初始社区,否则保持节点i在其原始的初始社区i不变。第一模块度增量通过公式5计算得到:
其中,ΔQ表示第一模块度增量,∑in表示节点i的一个相邻节点所在的初始社区c内的边的匹配权重之和,∑tot表示与初始社区c内的节点相连的所有边的匹配权重之和,ki表示所有与节点i相连的边的匹配权重之和,ki,in表示将节点i分配到初始社区c后初始社区c内的边的匹配权重之和,m表示无向图中所有边的匹配权重之和。
S320、在基于第一模块度确定各节点所属的社区不变的情况下,得到多个第一社区。各第一社区包括至少一个节点,第一模块度是根据各节点所属的社区和各条边的匹配权重进行计算得到的。在将节点i分配到第一模块度增量最大的那个相邻节点所在的初始社区后,根据无向图中各条边的匹配权重,通过公式6计算第一模块度:
其中,Q表示第一模块度,m表示无向图中所有边的匹配权重之和,Aij表示节点i与节点j之间的边的匹配权重,节点i和节点j是无向图中的任意两个节点;ki表示所有与节点i相连的边的匹配权重之和;ki=∑jAij,kj表示所有与节点j相连的边的匹配权重之和,kj=∑iAij,ci表示节点i所属的初始社区,cj表示节点j所属的初始社区,当节点i和节点j属于同一社区时,δ(ci,cj)等于1,否则δ(ci,cj)等于0。第一模块度可以评估第一轮社区网络划分的好坏,取值范围在[0,1]之间,该值越大,表示划分效果越好。
利用公式5迭代对各个节点进行分配,在每次分配后利用公式6计算第一模块度,在第一模块度不变或者变小的情况下,可以确定各个节点所属的社区不再改变,此时根据各个节点分配后形成的社区得到多个第一社区。
S330、将每个第一社区作为一个新节点,根据各条边的匹配权重进行计算得到第二模块度增量,并根据第二模块度增量将各新节点分配到相邻新节点所属的第一社区。将每个第一社区中的所有节点压缩成为一个新节点,假设新节点的数量为N’。将每个第一社区中各节点之间的边的匹配权重相加,可以得到一个新节点的环的权重,并将各第一社区之间的边的匹配权重转化为各新节点之间的匹配权重。依次尝试把新节点i’(i’=1,...,N’)分配到其每个相邻新节点所在的第一社区,并根据各新节点的环的权重和各新节点之间的匹配权重进行模块度增量计算,得到分配前与分配后的第二模块度增量,记录第二模块度增量最大的相邻新节点。如果这个最大的第二模块度增量的值大于0,则把新节点i’分配到第二模块度增量最大的这个相邻新节点所在的第一社区,否则保持新节点i’在其原始的第一社区i’不变。
S340、在基于第二模块度确定各新节点所属的社区不变的情况下,得到多个第二社区。各第二社区包括至少一个新节点,第二模块度是根据各新节点所属的社区和各条边的匹配权重进行计算得到的。在将新节点i’分配到第二模块度增量最大的那个相邻新节点所在的第一社区后,根据各新节点所属的社区和各条边的匹配权重进行计算,得到无向图中第一社区网络的第二模块度。在第二模块度不变或变小的情况下,可以确定各个新节点所属的社区不再改变,此时根据各个新节点分配后形成的社区得到多个第二社区。
S350、在各第二社区包括的节点个数均小于预设的节点个数阈值的情况下,将各第二社区分别作为各目标社区。
通过上述步骤,根据无向图中各条边的匹配权重,通过计算无向图中社区网络的模块度,对无向图进行分割得到多个目标社区,保证各个目标社区的节点个数均小于节点个数阈值,使得目标社区的划分更加准确,也可以减少对规模很大的目标社区进行三维重建所需的时间,从而在整体上提高对大规模场景进行三维重建的效率。
在一些实施例中,在利用Louvain算法对无向图进行分割得到多个第二社区之后,在多个第二社区中存在至少一个第二社区为过大社区的情况下,过大社区包括的节点个数大于或等于预设的节点个数阈值,通过自适应调节分辨率对过大社区进一步分割以控制目标社区的规模,图4是根据本申请实施例的分割过大社区的方法流程图,如图4所示,该流程包括如下步骤:
S410、根据预设比率对预设的第一分辨率进行自适应调节,得到第二分辨率,其中,第二分辨率小于第一分辨率。预设的第一分辨率为1,预设比率的取值范围在(0.0,1.0)之间,一般情况下预设比率取值为0.9。
S420、根据第二分辨率,利用Louvain算法对过大社区进行分割,得到多个第三社区。通过预设比率使第一分辨率减小为第二分辨率,可以使得本来不可分的过大社区变得可分,对过大社区利用Louvain算法再次进行分割,得到多个第三社区。
S430、在各第三社区包括的节点个数均小于节点个数阈值的情况下,将多个第二社区中除了过大社区的其他第二社区以及多个第三社区分别作为各目标社区。即将节点个数小于预设的节点个数阈值的每个第二社区和第三社区都作为目标社区。
S440、在多个第三社区中存在至少一个第三社区为过大社区的情况下,根据预设比率对第二分辨率执行自适应调节以对过大社区继续进行分割,以得到多个目标社区。
通过上述步骤,对分割得到的社区中的过大社区,不断根据预设比率动态调节分辨率并利用Louvain算法进行分割,直到分割得到的社区中不再存在过大社区,最终得到多个目标社区,可以限制目标社区的大小,使其可以快速进行三维重建,整体提高对大规模场景进行三维重建的效率。
图5是根据本申请实施例的另一种三维重建方法的流程图,如图5所示,该流程包括如下步骤:
S510、将大规模场景的多张图像中的每张图像作为一个节点,构建无向图。无向图包括多条边,与同一条边直接连接的两个节点称为两个相邻节点。第一图像和第二图像分别是任意两个相邻节点上的图像,第一特征点个数是对第一图像检测得到的原始特征点的个数,第二特征点个数是对第二图像检测得到的原始特征点的个数。根据第一图像的第一特征点个数和第二图像的第二特征点个数通过特征匹配和几何过滤得到匹配特征点个数。根据匹配特征点个数在各层网格占据的网格数和各层网格的权重进行计算,得到图像特征均匀度得分。根据第一特征点个数、第二特征点个数和匹配特征点个数进行计算,得到第一图像和第二图像之间的匹配质量得分。将图像特征均匀度得分和匹配质量得分按照预设的权重进行加法计算,得到任意两个相邻节点之间的边的匹配权重。
S520、根据各条边的匹配权重,利用Louvain算法对无向图进行分割得到多个目标社区,其中,各目标社区包括的节点个数均小于预设的节点个数阈值。根据无向图中各条边的匹配权重,通过计算无向图中社区网络的模块度,对无向图进行分割得到多个目标社区,保证各个目标社区的节点个数均小于节点个数阈值。
S530、基于动态规划算法,根据任意两个相邻的目标社区之间的匹配权重最大的边进行搜索,得到任意两个相邻的目标社区的共同图像。将匹配权重最大的边连接的两个相邻节点分别作为两个搜索起点,根据预设的深度阈值记为K,使用动态规划算法每个搜索起点向该搜索起点所属的目标社区进行搜索,可以通过局部最优解来推导全局最优解,使得从一个搜索起点所属的目标社区中搜索到边的匹配权重之和最大的K个目标节点。将K个目标节点上的图像复制到另一个搜索起点所属的目标社区,并将这两个搜索起点所属的目标社区(即这两个相邻的目标社区)中的目标节点上的图像作为共同图像。从两个相邻的目标社区中可以分别搜索到K个目标节点,得到的2K张共同图像为2K个目标节点上的图像。
S540、对多个目标社区分别基于SFM算法进行三维重建得到多个子图,并将任意两个相邻的目标社区根据共同图像进行相似变换,合并多个子图得到目标三维地图。对任意两个相邻的目标社区,根据其中一个相邻的目标社区包括的K张共同图像与另一个相邻的目标社区所包括的K张共同图像之间的对应关系进行sim3变换,以合并多个子图得到目标三维地图。
S550、根据多张图像进行三角化和BA全局优化,对目标三维地图进行优化。根据多张图像进行三角化得到多个空间点的三维位置和多张图像的三维位姿,并基于光束平差法优化多个空间点的三维位置和多张图像的三维位姿得到多个空间点优化后的三维位置和多张图像优化后的三维位姿,根据多个空间点优化后的三维位置和多张图像优化后的三维位姿优化目标三维地图。
通过步骤S510至步骤S540,使用Louvain算法基于模块度对无向图进行社区检测可以快速实现分割,并且对每个符合预设规模大小的目标社区分块进行三维重建,可以整体减少多个目标社区三维重建的时间,然后将无向图中任意两个相邻的目标社区根据共同图像进行sim3相似变换,来合并多个子图就可以得到目标三维地图,提高了对大规模场景进行三维重建的效率,在此基础上,对大规模场景的多张图像进行三角化和BA全局优化,可以进一步优化目标三维地图的准确度。
本申请实施例提供了一种三维重建装置。图6是根据本申请实施例的三维重建装置的结构示意图,如图6所示,该装置包括无向图构建模块610、分割模块620、交集模块630和合并模块640:无向图构建模块610,用于将大规模场景的多张图像中的每张图像作为一个节点,构建无向图,其中,无向图包括多条边,每条边的匹配权重是根据两个相邻节点上的图像的特征点计算得到的;分割模块620,用于根据各条边的匹配权重,利用Louvain算法对无向图进行分割得到多个目标社区,其中,各目标社区包括的节点个数均小于预设的节点个数阈值;交集模块630,用于基于动态规划算法,根据任意两个相邻的目标社区之间的匹配权重最大的边进行搜索,得到任意两个相邻的目标社区的共同图像;合并模块640,用于对多个目标社区分别基于SFM算法进行三维重建得到多个子图,并将任意两个相邻的目标社区根据共同图像进行相似变换,合并多个子图得到目标三维地图。
关于三维重建装置的具体限定可以参见上文中对于三维重建方法的限定,在此不再赘述。上述三维重建装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本申请实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
另外,结合上述实施例中的三维重建方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种三维重建方法。
在一个实施例中,图7是根据本申请实施例的电子设备的内部结构示意图,如图7所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图7所示。该电子设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的数据库用于存储数据。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种三维重建方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种三维重建方法,其特征在于,所述方法包括:
将大规模场景的多张图像中的每张所述图像作为一个节点,构建无向图,其中,所述无向图包括多条边,每条所述边的匹配权重是根据两个相邻节点上的图像的特征点计算得到,包括:根据匹配特征点个数在各层网格占据的网格数和各层所述网格的权重进行计算,得到图像特征均匀度得分,其中,所述匹配特征点个数是根据第一图像的第一特征点个数和第二图像的第二特征点个数通过特征匹配和几何过滤得到的,所述第一图像和所述第二图像分别是两个所述相邻节点上的图像;
根据所述第一特征点个数、所述第二特征点个数和所述匹配特征点个数进行计算,得到所述第一图像和所述第二图像之间的匹配质量得分;
将所述图像特征均匀度得分和所述匹配质量得分按照预设的权重进行加法计算,得到两个所述相邻节点之间的边的匹配权重;
根据各条所述边的匹配权重,利用Louvain算法对所述无向图进行分割得到多个目标社区,其中,各所述目标社区包括的节点个数均小于预设的节点个数阈值;
基于动态规划算法,根据任意两个相邻的目标社区之间的匹配权重最大的边进行搜索,得到任意两个所述相邻的目标社区的共同图像;
对多个所述目标社区分别基于SFM算法进行三维重建得到多个子图,并将任意两个所述相邻的目标社区根据所述共同图像进行相似变换,合并多个所述子图得到目标三维地图。
2.根据权利要求1所述的方法,其特征在于,所述根据各条所述边的匹配权重,利用Louvain算法对所述无向图进行分割得到多个目标社区,包括:
将每个节点作为一个初始社区,根据各条所述边的匹配权重进行计算得到第一模块度增量,并根据所述第一模块度增量将各所述节点分配到相邻节点所属的初始社区;
在基于第一模块度确定各所述节点所属的社区不变的情况下,得到多个第一社区,其中,各所述第一社区包括至少一个所述节点,所述第一模块度是根据各所述节点所属的社区和各条所述边的匹配权重进行计算得到的;
将每个所述第一社区作为一个新节点,根据各条边的匹配权重进行计算得到第二模块度增量,并根据所述第二模块度增量将各所述新节点分配到相邻新节点所属的第一社区;
在基于第二模块度确定各所述新节点所属的社区不变的情况下,得到多个第二社区,其中,各所述第二社区包括至少一个所述新节点,所述第二模块度是根据各所述新节点所属的社区和各条所述边的匹配权重进行计算得到的;
在各所述第二社区包括的节点个数均小于所述节点个数阈值的情况下,将各所述第二社区分别作为各所述目标社区。
3.根据权利要求2所述的方法,其特征在于,所述根据各条边的匹配权重进行计算得到第二模块度增量,包括:
将每个所述第一社区中各节点之间的边的匹配权重相加,得到一个所述新节点的环的权重,将各所述第一社区之间的边的匹配权重转化为各所述新节点之间的匹配权重;
根据各所述新节点的环的权重和各所述新节点之间的匹配权重进行模块度增量计算,得到第二模块度增量。
4.根据权利要求2所述的方法,其特征在于,所述在基于第二模块度确定各所述新节点所属的社区不变的情况下,得到多个第二社区之后,在多个所述第二社区中存在至少一个第二社区为过大社区的情况下,所述过大社区包括的节点个数大于或等于所述节点个数阈值,所述方法还包括:
根据预设比率对预设的第一分辨率进行自适应调节,得到第二分辨率,其中,所述第二分辨率小于所述第一分辨率;
根据所述第二分辨率,利用Louvain算法对所述过大社区进行分割,得到多个第三社区;
在各所述第三社区包括的节点个数均小于所述节点个数阈值的情况下,将多个所述第二社区中除了过大社区的其他第二社区以及多个所述第三社区分别作为各所述目标社区;
在多个所述第三社区中存在至少一个第三社区为所述过大社区的情况下,根据所述预设比率对所述第二分辨率执行所述自适应调节以对所述过大社区继续进行分割,以得到多个所述目标社区。
5.根据权利要求1所述的方法,其特征在于,所述基于动态规划算法,根据任意两个相邻的目标社区之间的匹配权重最大的边进行搜索,得到任意两个所述相邻的目标社区的共同图像,包括:
从第一相邻社区和第二相邻社区之间的若干条边中选择匹配权重最大的边,并将所述第一相邻社区中与所述匹配权重最大的边连接的第一相邻节点作为第一搜索起点,将所述第二相邻社区中与所述匹配权重最大的边连接的第二相邻节点分别作为第二搜索起点,其中,所述第一相邻社区和所述第二相邻社区为任意两个所述相邻的目标社区;
基于动态规划算法,从所述第一搜索起点向所述第一相邻社区根据预设的深度阈值进行搜索,得到第一目标节点,从所述第二搜索起点向所述第二相邻社区根据所述深度阈值进行搜索,得到第二目标节点;
将所述第一目标节点上的图像复制到所述第二相邻社区,将所述第二目标节点上的图像复制到所述第一相邻社区,并将所述第一目标节点和所述第二目标节点上的图像作为所述共同图像。
6.根据权利要求1所述的方法,其特征在于,所述将任意两个所述相邻的目标社区根据所述共同图像进行相似变换,合并多个所述子图得到目标三维地图之后,所述方法包括:
根据多张所述图像进行三角化,得到多个空间点的三维位置和多张所述图像的三维位姿,并基于光束平差法优化多个所述空间点的三维位置和多张所述图像的三维位姿,得到多个所述空间点优化后的三维位置和多张所述图像优化后的三维位姿;
根据多个所述空间点优化后的三维位置和多张所述图像优化后的三维位姿优化所述目标三维地图。
7.一种三维重建装置,其特征在于,所述装置包括无向图构建模块、分割模块、交集模块和合并模块:
所述无向图构建模块,用于将大规模场景的多张图像中的每张所述图像作为一个节点,构建无向图,其中,所述无向图包括多条边,每条所述边的匹配权重是根据两个相邻节点上的图像的特征点计算得到,包括:根据匹配特征点个数在各层网格占据的网格数和各层所述网格的权重进行计算,得到图像特征均匀度得分,其中,所述匹配特征点个数是根据第一图像的第一特征点个数和第二图像的第二特征点个数通过特征匹配和几何过滤得到的,所述第一图像和所述第二图像分别是两个所述相邻节点上的图像;
根据所述第一特征点个数、所述第二特征点个数和所述匹配特征点个数进行计算,得到所述第一图像和所述第二图像之间的匹配质量得分;
将所述图像特征均匀度得分和所述匹配质量得分按照预设的权重进行加法计算,得到两个所述相邻节点之间的边的匹配权重;
所述分割模块,用于根据各条所述边的匹配权重,利用Louvain算法对所述无向图进行分割得到多个目标社区,其中,各所述目标社区包括的节点个数均小于预设的节点个数阈值;
所述交集模块,用于基于动态规划算法,根据任意两个相邻的目标社区之间的匹配权重最大的边进行搜索,得到任意两个所述相邻的目标社区的共同图像;
所述合并模块,用于对多个所述目标社区分别基于SFM算法进行三维重建得到多个子图,并将任意两个所述相邻的目标社区根据所述共同图像进行相似变换,合并多个所述子图得到目标三维地图。
8.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的三维重建方法。
9.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至6中任一项所述的三维重建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011232094.7A CN112446951B (zh) | 2020-11-06 | 2020-11-06 | 三维重建方法、装置、电子设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011232094.7A CN112446951B (zh) | 2020-11-06 | 2020-11-06 | 三维重建方法、装置、电子设备及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112446951A CN112446951A (zh) | 2021-03-05 |
CN112446951B true CN112446951B (zh) | 2024-03-26 |
Family
ID=74736673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011232094.7A Active CN112446951B (zh) | 2020-11-06 | 2020-11-06 | 三维重建方法、装置、电子设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112446951B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113178000B (zh) * | 2021-03-26 | 2022-06-24 | 杭州易现先进科技有限公司 | 三维重建方法、装置、电子设备及计算机存储介质 |
CN115100535B (zh) * | 2022-02-24 | 2023-03-28 | 中国科学院自动化研究所 | 基于仿射相机模型的卫星遥感图像快速重建方法及装置 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005081178A1 (en) * | 2004-02-17 | 2005-09-01 | Yeda Research & Development Co., Ltd. | Method and apparatus for matching portions of input images |
US7352386B1 (en) * | 1999-06-22 | 2008-04-01 | Microsoft Corporation | Method and apparatus for recovering a three-dimensional scene from two-dimensional images |
CN102169576A (zh) * | 2011-04-02 | 2011-08-31 | 北京理工大学 | 一种图像拼接算法定量评价方法 |
WO2011151500A1 (en) * | 2010-05-31 | 2011-12-08 | Helsingin Yliopisto | Arrangement and method for finding relationships among data |
US8917951B1 (en) * | 2013-07-19 | 2014-12-23 | Hong Kong Applied Science and Technology Research Institute Company Limited | Method of on-the-fly image stitching |
WO2015188445A1 (zh) * | 2014-06-13 | 2015-12-17 | 中国科学院深圳先进技术研究院 | 点云三维模型重建方法及系统 |
WO2016001321A1 (en) * | 2014-07-04 | 2016-01-07 | Mapillary Ab | Methods for navigating through a set of images |
CN106575447A (zh) * | 2014-06-06 | 2017-04-19 | 塔塔咨询服务公司 | 构建3d结构 |
WO2018061010A1 (en) * | 2016-09-28 | 2018-04-05 | Pixtier Maps Ltd. | Point cloud transforming in large-scale urban modelling |
CN109685879A (zh) * | 2018-12-13 | 2019-04-26 | 广东启慧城市信息有限公司 | 多视影像纹理分布的确定方法、装置、设备和存储介质 |
WO2019169540A1 (zh) * | 2018-03-06 | 2019-09-12 | 斯坦德机器人(深圳)有限公司 | 紧耦合视觉slam的方法、终端及计算机可读存储介质 |
WO2019170164A1 (zh) * | 2018-03-05 | 2019-09-12 | 清华-伯克利深圳学院筹备办公室 | 基于深度相机的三维重建方法、装置、设备及存储介质 |
CN110322500A (zh) * | 2019-06-28 | 2019-10-11 | Oppo广东移动通信有限公司 | 即时定位与地图构建的优化方法及装置、介质和电子设备 |
CN110910493A (zh) * | 2019-11-29 | 2020-03-24 | 广州极飞科技有限公司 | 三维重建方法、装置及电子设备 |
WO2020206903A1 (zh) * | 2019-04-08 | 2020-10-15 | 平安科技(深圳)有限公司 | 影像匹配方法、装置及计算机可读存储介质 |
CN111833447A (zh) * | 2020-07-13 | 2020-10-27 | Oppo广东移动通信有限公司 | 三维地图构建方法、三维地图构建装置及终端设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9740963B2 (en) * | 2014-08-05 | 2017-08-22 | Sri International | Multi-dimensional realization of visual content of an image collection |
US10152828B2 (en) * | 2015-09-30 | 2018-12-11 | Umap AV Corp. | Generating scene reconstructions from images |
US10109055B2 (en) * | 2016-11-21 | 2018-10-23 | Seiko Epson Corporation | Multiple hypotheses segmentation-guided 3D object detection and pose estimation |
CN109241844B (zh) * | 2018-08-03 | 2020-11-17 | 百度在线网络技术(北京)有限公司 | 三维物体的姿态估计方法、装置、设备及存储介质 |
-
2020
- 2020-11-06 CN CN202011232094.7A patent/CN112446951B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7352386B1 (en) * | 1999-06-22 | 2008-04-01 | Microsoft Corporation | Method and apparatus for recovering a three-dimensional scene from two-dimensional images |
WO2005081178A1 (en) * | 2004-02-17 | 2005-09-01 | Yeda Research & Development Co., Ltd. | Method and apparatus for matching portions of input images |
WO2011151500A1 (en) * | 2010-05-31 | 2011-12-08 | Helsingin Yliopisto | Arrangement and method for finding relationships among data |
CN102169576A (zh) * | 2011-04-02 | 2011-08-31 | 北京理工大学 | 一种图像拼接算法定量评价方法 |
US8917951B1 (en) * | 2013-07-19 | 2014-12-23 | Hong Kong Applied Science and Technology Research Institute Company Limited | Method of on-the-fly image stitching |
CN106575447A (zh) * | 2014-06-06 | 2017-04-19 | 塔塔咨询服务公司 | 构建3d结构 |
WO2015188445A1 (zh) * | 2014-06-13 | 2015-12-17 | 中国科学院深圳先进技术研究院 | 点云三维模型重建方法及系统 |
WO2016001321A1 (en) * | 2014-07-04 | 2016-01-07 | Mapillary Ab | Methods for navigating through a set of images |
WO2018061010A1 (en) * | 2016-09-28 | 2018-04-05 | Pixtier Maps Ltd. | Point cloud transforming in large-scale urban modelling |
WO2019170164A1 (zh) * | 2018-03-05 | 2019-09-12 | 清华-伯克利深圳学院筹备办公室 | 基于深度相机的三维重建方法、装置、设备及存储介质 |
WO2019169540A1 (zh) * | 2018-03-06 | 2019-09-12 | 斯坦德机器人(深圳)有限公司 | 紧耦合视觉slam的方法、终端及计算机可读存储介质 |
CN109685879A (zh) * | 2018-12-13 | 2019-04-26 | 广东启慧城市信息有限公司 | 多视影像纹理分布的确定方法、装置、设备和存储介质 |
WO2020206903A1 (zh) * | 2019-04-08 | 2020-10-15 | 平安科技(深圳)有限公司 | 影像匹配方法、装置及计算机可读存储介质 |
CN110322500A (zh) * | 2019-06-28 | 2019-10-11 | Oppo广东移动通信有限公司 | 即时定位与地图构建的优化方法及装置、介质和电子设备 |
CN110910493A (zh) * | 2019-11-29 | 2020-03-24 | 广州极飞科技有限公司 | 三维重建方法、装置及电子设备 |
CN111833447A (zh) * | 2020-07-13 | 2020-10-27 | Oppo广东移动通信有限公司 | 三维地图构建方法、三维地图构建装置及终端设备 |
Non-Patent Citations (3)
Title |
---|
Studying ice dynamic of the Morteratsch glacier complex(Switzerland) with UAV acquired photography and structure from motion algorithms;L Van等;Geophysical;全文 * |
基于区域邻接图的立体视觉边缘匹配算法;李苏祺;张广军;魏振忠;;光电工程(第10期);全文 * |
复杂网络理论在彩色图像分割中的应用研究;王林;徐兴敏;张智欢;付欣;;计算机测量与控制(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112446951A (zh) | 2021-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11250591B2 (en) | Target detection method, system, and non-volatile storage medium | |
CN111598779B (zh) | 图像超分辨率处理方法和装置、电子设备及存储介质 | |
US9679223B2 (en) | Image processing method and apparatus | |
US20120251003A1 (en) | Image processing system and method | |
CN112446951B (zh) | 三维重建方法、装置、电子设备及计算机存储介质 | |
CN111291768B (zh) | 图像特征匹配方法及装置、设备、存储介质 | |
CN112232426B (zh) | 目标检测模型的训练方法、装置、设备及可读存储介质 | |
EP0624981B1 (en) | Motion vector detecting circuit | |
CN106952304A (zh) | 一种利用视频序列帧间相关性的深度图像计算方法 | |
CN111627119A (zh) | 纹理贴图方法及装置、设备、存储介质 | |
CN111275616B (zh) | 低空航拍图像拼接方法和装置 | |
CN116893904A (zh) | 神经网络模型的内存管理方法、装置、设备、介质及产品 | |
JP5192437B2 (ja) | 物体領域検出装置、物体領域検出方法および物体領域検出プログラム | |
CN112819937B (zh) | 一种自适应多对象光场三维重建方法、装置及设备 | |
CN108986155B (zh) | 多视点图像的深度估计方法和深度估计设备 | |
KR20100088586A (ko) | 분할된 도메인들의 중요 샘플링을 위한 시스템, 방법 및 컴퓨터 판독가능 기록 매체 | |
CN113808033A (zh) | 图像文档校正方法、系统、终端及介质 | |
CN111027551B (zh) | 图像处理方法、设备和介质 | |
EP2966613A1 (en) | Method and apparatus for generating a super-resolved image from an input image | |
CN111860287A (zh) | 一种目标检测方法及装置、存储介质 | |
CN113963221B (zh) | 一种图像聚类方法、装置、计算机设备及可读存储介质 | |
CN113965697B (zh) | 基于连续帧信息的视差成像方法、电子设备及存储介质 | |
CN116385369A (zh) | 深度图像质量评价方法、装置、电子设备及存储介质 | |
CN115294361A (zh) | 一种特征提取的方法及装置 | |
CN115272549A (zh) | 一种超大数字场景的存储和渲染调度方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |