CN112258647B - 地图重建方法及装置、计算机可读介质和电子设备 - Google Patents
地图重建方法及装置、计算机可读介质和电子设备 Download PDFInfo
- Publication number
- CN112258647B CN112258647B CN202011263937.XA CN202011263937A CN112258647B CN 112258647 B CN112258647 B CN 112258647B CN 202011263937 A CN202011263937 A CN 202011263937A CN 112258647 B CN112258647 B CN 112258647B
- Authority
- CN
- China
- Prior art keywords
- video frame
- loop
- pairs
- sequence
- 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 61
- 238000012216 screening Methods 0.000 claims description 7
- 238000005457 optimization Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000013529 biological neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000013519 translation 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
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Remote Sensing (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Image Analysis (AREA)
Abstract
本公开提供一种地图重建方法、地图重建装置、计算机可读介质和电子设备,涉及计算机技术领域。该方法包括:获取视频帧序列中包括的视频帧匹配对,并根据所述视频帧序列对所述视频帧匹配对进行分类,得到序列对集合和回环对集合;基于所述视频帧序列的初始点云对所述回环对集合中的错误回环对进行剔除,得到正确回环对集合;基于所述序列对集合和所述正确回环对集合进行三维重建,得到目标点云。本公开避免由于错误匹配对造成的重建精度降低,重建失败等问题,提高重建精度和重建的成功率。
Description
技术领域
本公开涉及计算机技术领域,具体涉及一种地图重建方法、地图重建装置、计算机可读介质和电子设备。
背景技术
随着科学技术的不断发展,与计算机视觉相关的技术层出不穷。在计算机视觉领域中,常常使用运动恢复结构(Structure from motion,SFM)这种技术对三维环境的空间结构进行恢复。
SFM是一种通过分析图像序列得到相机参数并进行三维重建的技术。传统的SFM通常SFM算法通常由特征提取与匹配、计算初始匹配对及点云、光束平差、然后重复添加新的图像帧数据再结合一定策略进行光束平差等步骤一次进行。其中,特征匹配环节通常采用序列化匹配或全局暴力匹配的方式进行。然而,无论是序列化匹配还是全局暴力匹配,都依赖于图像特征、描述子的鲁棒性。因此在出现局部相似纹理时,就会出现匹配错误的情况(例如,相同的标志牌、logo等特征相似的图像出现在不同地方时,会出现将不属于同一地方的图片相互关联的情况),进而导致三维重建精度降低,甚至重建失败的问题。
发明内容
本公开的目的在于提供一种地图重建方法、地图重建装置、计算机可读介质和电子设备,进而至少在一定程度上避免由于错误匹配对造成的重建精度降低,重建失败等问题,提高重建精度和重建的成功率。
根据本公开的第一方面,提供一种地图重建方法,包括:获取视频帧序列中包括的视频帧匹配对,并根据所述视频帧序列对所述视频帧匹配对进行分类,得到序列对集合和回环对集合;基于所述视频帧序列的初始点云对所述回环对集合中的错误回环对进行剔除,得到正确回环对集合;基于所述序列对集合和所述正确回环对集合进行三维重建,得到目标点云。
根据本公开的第二方面,提供一种地图重建装置,包括:数据分类模块,用于获取视频帧序列中包括的视频帧匹配对,并根据所述视频帧序列对所述视频帧匹配对进行分类,得到序列对集合和回环对集合;数据筛选模块,用于基于所述视频帧序列的初始点云对所述回环对集合中的错误回环对进行剔除,得到正确回环对集合;三维重建模块,用于基于所述序列对集合和所述正确回环对集合进行三维重建,得到目标点云。
根据本公开的第三方面,提供一种计算机可读介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的方法。
根据本公开的第四方面,提供一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述的方法。
本公开的一种实施例所提供的地图重建方法,通过获取视频帧序列中包括的视频帧匹配对,并根据所述视频帧序列对所述视频帧匹配对进行分类,可以得到序列对集合和回环对集合;然后基于所述视频帧序列的初始点云对所述回环对集合中的错误回环对进行剔除,得到正确回环对集合;进而基于所述序列对集合和所述正确回环对集合进行三维重建,得到目标点云。本公开的技术方案,通过对视频帧匹配对进行分类,并对回环对集合中的错误匹配对剔除,一方面可以避免由于错误匹配对造成的重建精度降低,重建失败等问题;另一方面,即使在重复纹理多、存在弱纹理等图像特征不可靠的建图场景中,也可以提高重建精度和重建的成功率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了可以应用本公开实施例的一种示例性系统架构的示意图;
图2示出了可以应用本公开实施例的一种电子设备的示意图;
图3示意性示出本公开示例性实施例中一种地图重建方法的流程图;
图4示意性示出本公开示例性实施例中一种三维重建过程的示意图;
图5示意性示出本公开示例性实施例中地图重建装置的组成示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图1示出了可以应用本公开实施例的一种地图重建方法及装置的示例性应用环境的系统架构的示意图。
如图1所示,系统架构100可以包括终端设备101、102、103中的一个或多个,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备101、102、103可以是各种具有图像处理功能的电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等等。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。
本公开实施例所提供的地图重建方法一般由终端设备101、102、103中执行,相应地,地图重建装置一般设置于终端设备101、102、103中。但本领域技术人员容易理解的是,本公开实施例所提供的地图重建方法也可以由服务器105执行,相应的,地图重建装置也可以设置于服务器105中,本示例性实施例中对此不做特殊限定。举例而言,在一种示例性实施例中,可以是用户通过终端设备101、102、103采集视频帧序列,并将视频帧序列发送至服务器105,服务器105通过本公开实施例所提供的地图重建方法得到目标点云后,再将目标点云传输给终端设备101、102、103等。
本公开的示例性实施方式提供一种用于实现地图重建方法的电子设备,其可以是图1中的终端设备101、102、103或服务器105。该电子设备至少包括处理器和存储器,存储器用于存储处理器的可执行指令,处理器配置为经由执行可执行指令来执行地图重建方法。
下面以图2中的移动终端200为例,对电子设备的构造进行示例性说明。本领域技术人员应当理解,除了特别用于移动目的的部件之外,图2中的构造也能够应用于固定类型的设备。在另一些实施方式中,移动终端200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或软件和硬件的组合实现。各部件间的接口连接关系只是示意性示出,并不构成对移动终端200的结构限定。在另一些实施方式中,移动终端200也可以采用与图2不同的接口连接方式,或多种接口连接方式的组合。
如图2所示,移动终端200具体可以包括:处理器210、内部存储器221、外部存储器接口222、通用串行总线(Universal Serial Bus,USB)接口230、充电管理模块240、电源管理模块241、电池242、天线1、天线2、移动通信模块250、无线通信模块260、音频模块270、扬声器271、受话器272、麦克风273、耳机接口274、传感器模块280、显示屏290、摄像模组291、指示器292、马达293、按键294以及用户标识模块(subscriber identification module,SIM)卡接口295等。其中传感器模块280可以包括深度传感器2801、压力传感器2802、陀螺仪传感器2803等。
处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(Application Processor,AP)、调制解调处理器、图形处理器(Graphics ProcessingUnit,GPU)、图像信号处理器(Image Signal Processor,ISP)、控制器、视频编解码器、数字信号处理器(Digital Signal Processor,DSP)、基带处理器和/或神经网络处理器(Neural-Network Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,NPU为神经网络(Neural-Network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。在一些实施例中,可以基于NPU执行深度学习的方法提取视频帧序列中各视频帧的图像特征。
GPU为图像处理的微处理器,连接显示屏290和应用处理器,可以应用于执行数学和几何计算、图形渲染等方面。例如,在一些实施例中,GPU可以用于执行三维重建的过程。
移动终端200可以通过ISP、摄像模组291、视频编解码器、GPU、显示屏290及应用处理器等实现拍摄功能。通过该拍摄功能,可以获取视频帧序列,进而根据视频帧序列进行地图重建。
深度传感器2801用于获取景物的深度信息。在一些实施例中,深度传感器可以设置于摄像模组291,用于获取视频帧序列中各视频帧的深度数据,进而根据深度数据得到各视频帧的初始点云。
陀螺仪传感器2803可以用于确定移动终端200的运动姿态。在一些实施方式中,可以通过陀螺仪传感器2803确定移动终端200围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器2803可以用于拍摄防抖、导航、体感游戏场景等。在一些实施例中,陀螺仪传感器可以用于视频帧序列中各视频帧在相机坐标系下的初始位姿。
在相关技术中,特征匹配环节往往仅依赖于图像特征、描述子的鲁棒性。例如,在专利CN102005041A中公开了一种针对存在循环回路的图像序列的特征点匹配方法,包括如下步骤:1)从图像序列中的每一帧图像上提取特征点;2)在图像序列的连续帧之间进行两遍特征匹配,生成与场景三维点对应的特征轨迹;3)根据与场景三维点对应的特征轨迹生成特征轨迹描述量,并由所述特征轨迹描述量得到各特征轨迹之间的匹配关系,根据特征轨迹之间的匹配关系计算图像序列的图像相似矩阵;4)根据所述图像相似矩阵检测出图像序列中存在的循环回路,对每个循环回路中的子序列进行特征点匹配;然后将匹配成功的对应同一个场景三维点的特征轨迹进行合并。其中步骤1)、2)、3)共同确定了特征轨迹之间的匹配关系,但其匹配关系仍然依赖于图像特征。而单纯依赖图像特征的匹配,极有可能因为存在局部相同纹理,导致特征特征轨迹之间的匹配关系发生错误。例如,在位置A的标志牌的轨迹中夹杂了在位置B的标志牌轨迹。
基于上述一个或多个问题,本示例实施方式提供了一种地图重建方法,该方法以应用于上述服务器105,也可以应用于上述终端设备101、102、103中的一个或多个,本示例性实施例中对此不做特殊限定。参考图3所示,该方法可以包括以下步骤S310至步骤S330:
在步骤S310中,获取视频帧序列中包括的视频帧匹配对,并根据所述视频帧序列对所述视频帧匹配对进行分类,得到序列对集合和回环对集合。
在一示例性实施例中,在获取视频帧匹配对时,可以先提取视频帧序列中每一帧视频帧对应的图像特征,然后基于图像特征对视频帧序列进行全局匹配,进而获取视频帧序列中包括的视频帧匹配对。
具体的,在提取视频帧序列中每一帧视频帧对应的图像特征时,可以采用人工设计的方式、基于深度学习的方式或者基于上述两种方式相结合提取视频帧上的图像特征。其中,图像特征可以包括视频帧包括的特征点和对应的描述子。
在一示例性实施例中,上述全局匹配可以通过以下方式实现:可以先对视频帧序列中的所有视频帧进行两两组合,得到所有可能的视频帧组合。针对得到的每组视频帧组合,通过比较图像特征确定图像特征之间的匹配关系,确定每组视频帧组合中两个视频帧包含的特征匹配对,并统计该特征匹配对的数量,得到每组视频帧组合包含的特征匹配对的数量。随后,可以根据每组视频帧组合包含的特征匹配对的数量与数量阈值之间的关系,确定该视频帧组合是否可以构成视频帧匹配对。在特征匹配对的数量大于数量阈值时,可以确定视频帧组合构成了视频帧匹配对,而在特征匹配对的数量小于等于数量阈值时,可以确定该视频帧组合不构成视频帧匹配对。
其中,数量阈值可以是用户根据不同需求自定义的。例如,在视频序列采集的位置跨度较小时,可以选择更大的数量阈值,即当某组视频帧对中包含的特征匹配对很多时,才可以确定两帧视频帧构成视频帧匹配对;在视频序列采集的位置跨较大时,可以选择较小的数量阈值,即当某组视频帧包含的特征匹配对较少时,就可以确定两帧视频帧构成视频帧匹配对。
在一示例性实施例中,若图像特征包括视频帧包括的特征点和对应的描述子,则在比较图像特征确定图像特征之间的匹配关系时可以通过比较两个视频帧包括的描述子之间的距离确定特征点的匹配关系。具体的,若视频帧1中的特征点A对应的描述子a和视频帧2中的特征点B对应的描述子b之间的距离小于预设值时,可以确定特征点A和特征点B之间匹配;而在描述子a和描述子b之间的距离大于等于预设值时,则可以确定特征点A和特征点B之间不匹配。
需要说明的是,在统计每组视频帧包含的特征匹配对的数量之前,可以先通过几何约束对特征匹配对进行筛选,将不满足几何约束的特征匹配对从该视频帧组合对应的特征匹配对中删除,得到筛选后的特征匹配对,并对筛选后剩余的特征匹配对进行数量统计。其中,几何约束是指体系各部分之间的位置关系形成几何学上的限制。通过这种约束关系对特征匹配对进行筛选,可以保留满足几何学限制的特征匹配对,避免出现错误匹配对的情况。
在一示例性实施例中,由于视频拍摄的连续性,在视频帧序列中时间较为接近的匹配对通常可以是时间上连续的匹配对,而在视频帧序列中时间差距较远的匹配对则可能是出现局部相似纹理或者视频拍摄过程中拍摄至相同位置(即出现拍摄回环)的情况。因此,在得到视频帧匹配对之后,可以计算视频帧匹配对中包括的第三视频帧和第四视频帧在视频帧序列中的时间差,然后根据这个时间差对视频帧匹配对进行分类。
具体的,可以根据视频帧序列中每帧视频之间的时间差自定义时间阈值。然后根据第三视频帧和第四视频帧在视频帧序列中的时间差和时间阈值的关系对视频帧匹配对进行分类。在时间差大于时间阈值时,可以认为特征匹配对是由于出现拍摄回环导致的,可以将该特征匹配对分类为回环对;在时间差小于等于时间阈值时,可以认为特征匹配对是由于第三视频帧和第四视频帧相互连续导致的,可以将该特征匹配对分类为序列对。
在步骤S320中,基于所述视频帧序列的初始点云对所述回环对集合中的错误回环对进行剔除,得到正确回环对集合。
在一示例性实施例中,由于回环对可能是出现拍摄回环导致的,也可能是出现局部相似纹理导致的,因此需要对回环对集合中的回环对进行筛选。具体的,可以采用回环对中第一视频帧和第二视频帧对应的初始点云进行迭代最近点配准,确定回环对的配准距离。然后根据回环对的配准距离,对回环集合中的错误回环对进行剔除,得到正确回环对集合。
其中,上述第一视频帧和第二视频帧对应的初始点云也可以包括第一视频帧附近的点云以及第二视频帧附近的点云。需要说明的是,上述附近的点云可以仅根据第一视频帧和第二视频帧本身确定,也可以根据包含第一视频帧或第二视频帧的序列对进行确定,还可以根据用户的其他需求进行确定。
具体的,可以将第一视频帧和第二视频帧本身对应的点云确定的上述初始点云;也可以将第一视频帧和第二视频帧本身对应的点云,以及与第一视频帧或第二视频帧构成序列对的所有视频帧对应的点云作为初始点云。此外,还可以对与第一视频帧或第二视频帧构成序列对的视频帧进行筛选,将一部分视频帧对应的点云、全部视频帧对应的一部分点云或者一部分视频帧对应的一部分点云作为初始点云,本公开对此不做特殊限定。
在上述过程中,利用点云数据对图像特征匹配得到的回环对集合进行筛选,使得特征匹配不仅仅依赖于图像特征,同时依赖于三维空间的结构信息,因此能够降低错误回环对出现的可能性,提升了建图精度和鲁棒性。
在一示例性实施例中,在根据回环对的配准距离错误回环对进行特出时,可以根据自定义的距离阈值与配准距离之间的关系确定错误回环对。迭代最近点算法本质上是基于最小二乘法的最优配准方法,因此可以找到待配准点云与参考云之间的旋转参数和平移参数,使得两点数据之间满足某种度量准则下的最优匹配。在这种最优配准的配准结果中,若配准距离过大,则说明回环对中第一视频帧和第二视频帧实际是由于局部相似纹理形成的回环对,因此需要将这种回环对作为错误回环对从回环对集合中剔除,剩余的即为错误回环对。
在步骤S330中,基于所述序列对集合和所述正确回环对集合进行三维重建,得到目标点云。
在一示例性实施例中,在得到序列对集合和正确回环对集合后,可以基于两者进行三维重建,进而得到目标点云。其中,三维重建可以包括增量式重建、全局式重建、混合式重建、层次式重建等,本公开对基于序列对集合和正确回环对集合进行三维重建的方式不做特殊限定。
在一示例性实施例中,在基于增量式重建时,可以根据序列对集合中的序列对确定本次增量帧,以进行增量式重建得到位姿图和中间点云,然后在正确回环对集合中存在包含本次加入的增量帧的正确回环对时,可以基于位姿图生成该正确回环对构成的回环对应的位姿子图;最后根据得到的位姿子图构建局部集束调整,以对中间点云进行优化得到目标点云。
具体的,在初始化阶段可以选择特征匹配对较多,且基线较长的一对视频帧作为初始图片对,然后不断选择新的序列化对作为新增帧与当前已有的点云进行PnP解算得到当前帧的位姿,然后依据当前帧的位姿和已有历史相邻帧的位姿进行三角化得到新的点云。不断重复上述过程,直至得到视频帧序列中所有视频帧对应的位姿图和中间点云。
需要说明的是,在进行上述PnP解算和三角化的过程中,每新加入一个增量帧时,可以在正确回环对集合中查找是否存在包含本次加入的增量帧的正确回环对。若存在,则可以基于该正确回环对在位姿图中确定该回环对构成的回环对应的位姿子图。然后基于位姿子图构建局部集束调整,以对中间点云进行优化得到目标点云。
以下参照图4所示对本公开实施例的上述基于位姿图生成该正确回环对构成的回环对应的位姿子图的过程进行详细阐述:
如图4所述,假设当前帧为fn,在回环对集合中存在包含fn的回环对fn-f2。此时,可以依据f2附近的点云计算当前帧fn的二维三维特征匹配对,并进行PnP解算得到fn的新位姿;然后依据当前已有的位姿图中f2至fn-1的位姿以及fn的新位姿共同构成从f2至fn这一回环对应的位姿子图。随后对得到位姿子图进行非线性优化后,可以得到优化后的位姿子图。之后将fn中与f2匹配的特征点与已有的点云进行关联,并利用优化后的fn位姿与f2位姿三角化fn中没有对应点云的特征点,得到新的点云。基于上述过程,可以得到从f2到fn这一回环中每一帧视频帧的位姿,以及每一帧中所有特征点对应的点云,进而构建一个局部集束调整对中间点云进行优化,得到目标点云数据。
需要说明的是,在进行增量式重建时,将增量帧加入计算进行PnP解算和三角化后,该增量帧对应的点云相对于初始点云会发生一定的变化,因此在基于增量式重建进行重建时,对回环对集合中的错误回环对进行剔除时所依据的初始点云,可以是增量帧加入计算进行PnP解算和三角化后,被更新后的增量帧的点云。具体的,可以增量式重建时加入增量帧后,确定回环对集合中是否存在包含增量帧的回环对,然后基于增量帧附近的点云和回环对中另一匹配图像附近的点云进行迭代最近点配准,确定包含增量帧的所有回环对的配准距离。然后根据各回环对的配准距离,确定该回环对是否为正确回环对,之后基于正确回环对进行上述确定位姿子图以及局部集束调整等过程。
此外,为了使得到的位姿子图更加准确,可以在得到位姿子图后,对该位姿子图进行非线性优化,进而得到优化后的位姿子图。然后基于优化后的位姿子图构建局部集束调整,以对中间点云进行优化得到目标点云。
综上所述,本示例性实施方式中,通过对视频帧序列中包括的视频帧匹配对进行分类,并对分类得到的回环对进行筛选,可以剔除由于局部相似纹理等原因造成的错误匹配对。然后基于序列化匹配对进行三维重建,并利用筛选后得到的正确匹配对进行优化,得到目标点云。一方面,由于重建过程中依赖的回环对经过剔除,因此可以避免由于局部相似纹理导致的错误匹配对影响重建精度;同时,在重复纹理多、存在弱纹理等图像特征不可靠的建图场景中,可以通过三维空间的结构信息对回环对进行筛选,使得回环对的确定同时受图像特征和三维空间的结构信息的限制,降低了错误回环对出现的可能性。
此外,通过本公开实施例构建的地图,可以用于室内外的定位导航中,也可以用于AR导航等其他技术领域,本公开对构建地图的应用领域不做特殊限定。
需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
进一步的,参考图5所示,本示例的实施方式中还提供一种地图重建装置500,包括数据分类模块510、数据筛选模块520和三维重建模块530。其中:
数据分类模块510可以用于获取视频帧序列中包括的视频帧匹配对,并根据所述视频帧序列对所述视频帧匹配对进行分类,得到序列对集合和回环对集合。
数据筛选模块520可以用于基于所述视频帧序列的初始点云对所述回环对集合中的错误回环对进行剔除,得到正确回环对集合。
三维重建模块530可以用于基于所述序列对集合和所述正确回环对集合进行三维重建,得到目标点云。
在一示例性实施例中,数据筛选模块520可以用于针对所述回环对集合中的每组回环对,对所述回环对中第一视频帧对应的初始点云和第二视频帧对应的初始点云进行配准,以确定所述回环对的配准距离;根据所述配准距离对所述回环对集合中的错误回环对进行剔除,得到正确回环对集合。
在一示例性实施例中,数据筛选模块520可以用于在所述配准距离大于距离阈值时,确定所述配准距离对应的回环对为错误回环对;将所述回环对集合中的所述错误回环对剔除。
在一示例性实施例中,数据分类模块510可以用于提取所述视频帧序列中各视频帧的图像特征;基于所述图像特征对所述视频帧序列进行全局匹配,以获取所述视频帧序列中包括视频帧匹配对。
在一示例性实施例中,数据分类模块510可以用于对所述视频帧序列中的视频帧进行两两组合,得到视频帧组合;针对每组视频帧组合中的两个视频帧进行特征匹配,以确定所述视频帧组合包含的特征匹配对,并统计所述特征匹配对的数量;在所述数量大于数量阈值时,确定所述视频帧组合构成视频帧匹配对;在所述数量小于等于所述数量阈值时,确定所述视频帧组合不构成视频帧匹配对。
在一示例性实施例中,数据分类模块510可以用于通过几何约束对所述特征匹配对进行筛选,以获取筛选后的特征匹配对。
在一示例性实施例中,数据分类模块510可以用于计算所述视频帧匹配对中第三视频帧与第四视频帧在所述视频帧序列中的时间差;根据所述时间差对所述视频帧匹配对进行分类。
在一示例性实施例中,数据分类模块510可以用于在所述时间差大于时间阈值时,将所述视频帧匹配对分类为回环对;在所述时间差小于等于时间阈值时,将所述视频帧匹配对分类为序列对。
在一示例性实施例中,三维重建模块530可以用于根据所述序列对集合确定增量帧进行增量式重建,得到位姿图和中间点云;在所述正确回环对集合中存在包含所述增量帧的正确回环对时,基于所述位姿图生成所述正确回环对构成的回环对应的位姿子图;根据所述位姿子图构建局部集束调整,以对所述中间点云进行优化得到目标点云。
在一示例性实施例中,三维重建模块530可以用于对所述位姿子图进行非线性优化得到优化后的位姿子图。
上述装置中各模块的具体细节在方法部分实施方式中已经详细说明,未披露的细节内容可以参见方法部分的实施方式内容,因而不再赘述。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤,例如可以执行图3中任意一个或多个步骤。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
此外,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。
Claims (13)
1.一种地图重建方法,其特征在于,包括:
获取视频帧序列中包括的视频帧匹配对,并根据所述视频帧序列对所述视频帧匹配对进行分类,得到序列对集合和回环对集合;
基于所述视频帧序列的初始点云对所述回环对集合中的错误回环对进行剔除,得到正确回环对集合;
基于所述序列对集合和所述正确回环对集合进行三维重建,得到目标点云。
2.根据权利要求1所述的方法,其特征在于,所述基于所述视频帧序列的初始点云对所述回环对集合中的错误回环对进行剔除,得到正确回环对集合,包括:
针对所述回环对集合中的每组回环对,对所述回环对中第一视频帧对应的初始点云和第二视频帧对应的初始点云进行配准,以确定所述回环对的配准距离;
根据所述配准距离对所述回环对集合中的错误回环对进行剔除,得到正确回环对集合。
3.根据权利要求2所述的方法,其特征在于,所述根据所述配准距离对所述回环对集合中的错误回环对进行剔除,包括:
在所述配准距离大于距离阈值时,确定所述配准距离对应的回环对为错误回环对;
将所述回环对集合中的所述错误回环对剔除。
4.根据权利要求1所述的方法,其特征在于,所述获取视频帧序列中包括的视频帧匹配对,包括:
提取所述视频帧序列中各视频帧的图像特征;
基于所述图像特征对所述视频帧序列进行全局匹配,以获取所述视频帧序列中包括视频帧匹配对。
5.根据权利要求4所述的方法,其特征在于,所述基于所述图像特征对所述视频帧序列进行全局匹配,以获取所述视频帧序列中包括视频帧匹配对,包括:
对所述视频帧序列中的视频帧进行两两组合,得到视频帧组合;
针对每组视频帧组合中的两个视频帧进行特征匹配,以确定所述视频帧组合包含的特征匹配对,并统计所述特征匹配对的数量;
在所述数量大于数量阈值时,确定所述视频帧组合构成视频帧匹配对;
在所述数量小于等于所述数量阈值时,确定所述视频帧组合不构成视频帧匹配对。
6.根据权利要求5所述的方法,其特征在于,在所述统计所述特征匹配对的数量之前,所述方法还包括:
通过几何约束对所述特征匹配对进行筛选,以获取筛选后的特征匹配对。
7.根据权利要求1所述的方法,其特征在于,所述根据所述视频帧序列对所述视频帧匹配对进行分类,包括:
计算所述视频帧匹配对中第三视频帧与第四视频帧在所述视频帧序列中的时间差;
根据所述时间差对所述视频帧匹配对进行分类。
8.根据权利要求7所述的方法,其特征在于,所述根据所述时间差对所述视频帧匹配对进行分类,包括:
在所述时间差大于时间阈值时,将所述视频帧匹配对分类为回环对;
在所述时间差小于等于时间阈值时,将所述视频帧匹配对分类为序列对。
9.根据权利要求1所述的方法,其特征在于,基于所述序列对集合和所述正确回环对集合进行三维重建,得到目标点云,包括:
根据所述序列对集合确定增量帧进行增量式重建,得到位姿图和中间点云;
在所述正确回环对集合中存在包含所述增量帧的正确回环对时,基于所述位姿图生成所述正确回环对构成的回环对应的位姿子图;
根据所述位姿子图构建局部集束调整,以对所述中间点云进行优化得到目标点云。
10.根据权利要求9所述的方法,其特征在于,在所述根据所述位姿子图构建局部集束调整之前,所述方法还包括:
对所述位姿子图进行非线性优化得到优化后的位姿子图。
11.一种地图重建装置,其特征在于,包括:
数据分类模块,用于获取视频帧序列中包括的视频帧匹配对,并根据所述视频帧序列对所述视频帧匹配对进行分类,得到序列对集合和回环对集合;
数据筛选模块,用于基于所述视频帧序列的初始点云对所述回环对集合中的错误回环对进行剔除,得到正确回环对集合;
三维重建模块,用于基于所述序列对集合和所述正确回环对集合进行三维重建,得到目标点云。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至10中任一项所述的方法。
13.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011263937.XA CN112258647B (zh) | 2020-11-12 | 2020-11-12 | 地图重建方法及装置、计算机可读介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011263937.XA CN112258647B (zh) | 2020-11-12 | 2020-11-12 | 地图重建方法及装置、计算机可读介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112258647A CN112258647A (zh) | 2021-01-22 |
CN112258647B true CN112258647B (zh) | 2024-04-02 |
Family
ID=74265470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011263937.XA Active CN112258647B (zh) | 2020-11-12 | 2020-11-12 | 地图重建方法及装置、计算机可读介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112258647B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113160130A (zh) * | 2021-03-09 | 2021-07-23 | 北京航空航天大学 | 一种回环检测方法、装置及计算机设备 |
CN117115333A (zh) * | 2023-02-27 | 2023-11-24 | 荣耀终端有限公司 | 一种结合imu数据的三维重建方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110322500A (zh) * | 2019-06-28 | 2019-10-11 | Oppo广东移动通信有限公司 | 即时定位与地图构建的优化方法及装置、介质和电子设备 |
CN111784776A (zh) * | 2020-08-03 | 2020-10-16 | Oppo广东移动通信有限公司 | 视觉定位方法及装置、计算机可读介质和电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108765487B (zh) * | 2018-06-04 | 2022-07-22 | 百度在线网络技术(北京)有限公司 | 重建三维场景的方法、装置、设备和计算机可读存储介质 |
-
2020
- 2020-11-12 CN CN202011263937.XA patent/CN112258647B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110322500A (zh) * | 2019-06-28 | 2019-10-11 | Oppo广东移动通信有限公司 | 即时定位与地图构建的优化方法及装置、介质和电子设备 |
CN111784776A (zh) * | 2020-08-03 | 2020-10-16 | Oppo广东移动通信有限公司 | 视觉定位方法及装置、计算机可读介质和电子设备 |
Non-Patent Citations (2)
Title |
---|
Xiaowen Zhao ; Hesheng Wang.Self-localization Using Point Cloud Matching at the Object Level in Outdoor Environment.《2019 IEEE 9th Annual International Conference on CYBER Technology in Automation, Control, and Intelligent Systems (CYBER)》.2020,全文. * |
低空无人机视频实时处理关键技术研究;王陈东;《万方数据知识服务平台》;20191219;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112258647A (zh) | 2021-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110322500B (zh) | 即时定位与地图构建的优化方法及装置、介质和电子设备 | |
CN107292949B (zh) | 场景的三维重建方法、装置及终端设备 | |
CN108805917B (zh) | 空间定位的方法、介质、装置和计算设备 | |
US8442307B1 (en) | Appearance augmented 3-D point clouds for trajectory and camera localization | |
JP2014515530A (ja) | モバイルデバイスのための平面マッピングおよびトラッキング | |
CN111292420B (zh) | 用于构建地图的方法和装置 | |
CN110349212B (zh) | 即时定位与地图构建的优化方法及装置、介质和电子设备 | |
CN111833447A (zh) | 三维地图构建方法、三维地图构建装置及终端设备 | |
CN110866977B (zh) | 增强现实处理方法及装置、系统、存储介质和电子设备 | |
CN111127524A (zh) | 一种轨迹跟踪与三维重建方法、系统及装置 | |
CN111784776B (zh) | 视觉定位方法及装置、计算机可读介质和电子设备 | |
CN112819860B (zh) | 视觉惯性系统初始化方法及装置、介质和电子设备 | |
CN112927363A (zh) | 体素地图构建方法及装置、计算机可读介质和电子设备 | |
CN112258647B (zh) | 地图重建方法及装置、计算机可读介质和电子设备 | |
CN109754464B (zh) | 用于生成信息的方法和装置 | |
CN113408566A (zh) | 目标检测方法及相关设备 | |
CN113436338A (zh) | 火灾现场的三维重建方法、装置、服务器及可读存储介质 | |
CN112991441A (zh) | 相机定位方法、装置、电子设备及存储介质 | |
CN113902932A (zh) | 特征提取方法、视觉定位方法及装置、介质和电子设备 | |
CN116858215B (zh) | 一种ar导航地图生成方法及装置 | |
CN112270748A (zh) | 基于图像的三维重建方法及装置 | |
CN109816791B (zh) | 用于生成信息的方法和装置 | |
CN111814811A (zh) | 图像信息提取方法、训练方法及装置、介质和电子设备 | |
CN116958267A (zh) | 位姿处理方法、装置、电子设备及存储介质 | |
CN114674328B (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 |