CN111402412A - 数据采集方法及装置、设备、存储介质 - Google Patents
数据采集方法及装置、设备、存储介质 Download PDFInfo
- Publication number
- CN111402412A CN111402412A CN202010299543.3A CN202010299543A CN111402412A CN 111402412 A CN111402412 A CN 111402412A CN 202010299543 A CN202010299543 A CN 202010299543A CN 111402412 A CN111402412 A CN 111402412A
- Authority
- CN
- China
- Prior art keywords
- key frame
- target
- camera
- local space
- data acquisition
- 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.)
- Granted
Links
Images
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/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
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- 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/10028—Range image; Depth image; 3D point clouds
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
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)
Abstract
本申请实施例公开了数据采集方法及装置、设备、存储介质,其中,所述方法包括:根据相机采集的当前关键帧和所述当前关键帧的多个目标关联帧,构建对应局部空间的场景模型;其中,所述目标关联帧为与所述当前关键帧在图像特征上相匹配的关键帧;显示所述局部空间的场景模型,以向用户反馈所述相机在所述局部空间中的数据采集质量;控制所述相机重新对所述局部空间的特定区域进行数据采集,以改善所述局部空间中的数据采集质量,并显示重新构建的所述局部空间的场景模型;或者,控制所述相机对下一局部空间进行数据采集。
Description
技术领域
本申请实施例涉及计算机视觉技术,涉及但不限于数据采集方法及装置、设备、存储介质。
背景技术
基于图像的三维重建技术是计算机视觉研究领域的一个重要分支,在三维地图测绘、增强现实、虚拟现实、游戏、医疗、动画制作、计算机辅助设计等领域有广阔的应用前景。该技术通过相机采集物理空间中的多帧图像,并对这些图像进行分析处理,再结合计算机视觉知识推导出物理空间中物体的三维信息,重建空间场景中物体的三维模型。
在基于多帧图像的三维重建技术中,数据采集质量直接影响了最终的重建模型质量。
发明内容
本申请实施例提供数据采集方法及装置、设备、存储介质。
本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种数据采集方法,所述方法包括:根据相机采集的当前关键帧和所述当前关键帧的多个目标关联帧,构建对应局部空间的场景模型;其中,所述目标关联帧为与所述当前关键帧在图像特征上相匹配的关键帧;显示所述局部空间的场景模型,以向用户反馈所述相机在所述局部空间中的数据采集质量;控制所述相机重新对所述局部空间的特定区域进行数据采集,以改善所述局部空间中的数据采集质量,并显示重新构建的所述局部空间的场景模型;或者,控制所述相机对下一局部空间进行数据采集。
第二方面,本申请实施例提供一种数据采集装置,包括:局部模型构建模块,用于根据相机采集的当前关键帧和所述当前关键帧的多个目标关联帧,构建对应局部空间的场景模型;其中,所述目标关联帧为与所述当前关键帧在图像特征上相匹配的关键帧;显示模块,用于显示所述局部空间的场景模型,以向用户反馈所述相机在所述局部空间中的数据采集质量;数据采集模块,用于控制所述相机重新对所述局部空间的特定区域进行数据采集,以改善所述局部空间中的数据采集质量,并通过所述显示模块显示重新构建的所述局部空间的场景模型;或者,控制所述相机对下一局部空间进行数据采集。
第三方面,本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本申请实施例任一所述数据采集方法中的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例任一所述数据采集方法中的步骤。
本申请实施例中,对三维重建的数据采集阶段进行改进,边采集数据边基于当前采集的关键帧和与其相匹配的历史关键帧显示对应的场景模型,从而能够实时地向用户反馈数据采集质量,以引导用户对不满足要求的区域重新进行数据采集;如此,能够提高数据采集质量,进而提高后期三维重建的模型质量。
附图说明
图1为本申请实施例数据采集方法的实现流程示意图;
图2A为本申请实施例另一数据采集方法的实现流程示意图;
图2B为本申请实施例目标关联帧确定方法的实现流程示意图;
图3为本申请实施例特征点匹配对关系链的示意图;
图4A为本申请实施例又一数据采集方法的实现流程示意图;
图4B为本申请实施例重投影误差函数构建方法的实现流程示意图;
图4C为本申请实施例目标几何模型重建方法的实现流程示意图;
图5为本申请实施例再一数据采集方法的实现流程示意图;
图6为本申请实施例另一数据采集方法的实现流程示意图;
图7为本申请实施例离线重建方法的实现流程示意图;
图8A为本申请实施例数据采集装置的结构示意图;
图8B为本申请实施例另一数据采集装置的结构示意图;
图8C为本申请实施例又一数据采集装置的结构示意图;
图9为本申请实施例电子设备的一种硬件实体示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅仅是是区别类似或不同的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
本申请实施例提供一种数据采集方法,所述方法可以应用于电子设备,所述电子设备可以是移动终端(例如手机、平板电脑、电子阅读器等)、笔记本电脑、台式计算机、机器人、无人机、服务器、增强现实头盔等携带相机的设备。所述数据采集方法所实现的功能可以通过所述电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,所述电子设备至少包括处理器和存储介质。
图1为本申请实施例数据采集方法的实现流程示意图,如图1所示,所述方法至少包括以下步骤101至步骤103:
步骤101,根据相机采集的当前关键帧和所述当前关键帧的多个目标关联帧,构建对应局部空间的场景模型;其中,所述目标关联帧为与所述当前关键帧在图像特征上相匹配的关键帧。
需要说明的是,携带相机的电子设备在全局空间中可以按照指定的路径边移动边采集图像,采集的方式可以是拍照的方式,也可以是视频拍摄方式。所述相机一般为集成(Red Green Blue,RGB)相机和深度相机的设备。电子设备可以根据当前关键帧和多个目标关联帧构建场景模型,也可以根据关键帧和多个目标关联帧以及各自对应的深度图像构建场景模型。场景模型可以是多种多样的,例如,场景模型为点云模型、没有纹理贴图的体素模型或者具有纹理贴图的体素模型等。
在实现时,电子设备可以每采集一关键帧,便确定该关键帧包含的特征块,提取该特征块的特征信息,所述特征信息,比如可以为特征描述子或者其他能够唯一代表该关键帧的图像特征信息;然后,通过特定的哈希函数对该特征信息进行计算,得到查询哈希值;若查询哈希值与哈希索引表中的任一哈希索引项不相匹配,则根据所述查询哈希值,生成哈希索引表中新的哈希索引项;若查询哈希值与哈希索引表中的某一哈希索引项相匹配,则根据该哈希索引项所在的链表,获取该关键帧的多个目标关联帧。也就是说,电子设备可以边采集关键帧,边根据当前采集的关键帧更新哈希索引表,直至完成全局空间的数据采集工作为止。
在一些实施例中,哈希索引表中每一哈希索引项指向的数据可以包括:关键帧、关键帧对应的深度图像、关键帧的相机位姿。
步骤102,显示所述局部空间的场景模型,以向用户反馈所述相机在所述局部空间中的数据采集质量。
可以理解地,用户通过显示的场景模型,能够清楚地确定在对应的局部空间中哪里采集的图像质量不好,哪里漏采集了,从而控制电子设备重新对这些区域进行图像采集,进而改善在该局部空间的数据采集质量。
为了能够快速完成场景模型的重建,以实现实时显示,使用户及时了解当前的数据采集质量,在一些实施例中,所述当前关键帧的多个目标关联帧可以是距离当前关键帧特定时长内的历史关键帧;也可以是特定数目的且距离当前关键帧的采集时间最近的历史关键帧,例如10帧最新的历史关键帧。
步骤103,控制所述相机重新对所述局部空间的特定区域进行数据采集,以改善所述局部空间中的数据采集质量,并显示重新构建的所述局部空间的场景模型;或者,控制所述相机对下一局部空间进行数据采集。
可以理解地,无论是重新对特定区域进行数据采集,还是对下一局部空间进行数据采集,实际上都需要返回步骤101,以采集新的关键帧,并根据该关键帧和该帧的目标关联帧构建新的场景模型,以向用户反馈新采集的数据质量。
在实现时,电子设备可以根据用户输入的拍摄指令,控制相机重新对用户指定的区域进行拍摄,以根据新拍摄的关键帧和与该关键帧相匹配的目标关联帧,重新构建该局部空间的场景模型,从而向用户反馈重新拍摄的数据质量。当然,在另一实施例中,电子设备还可以根据用户输入的扫描指令,控制相机重新对特定区域进行扫描,或者对下一局部空间进行扫描。扫描指令可以包括指示待扫描区域的位置信息。
对一个全局空间进行三维重建,往往需要采集大量的关键帧数据,尤其是一个大场景的全局空间,比如机场、商场、城市等,需要海量的关键帧数据。电子设备如果自始至终仅静默采集,这样用户就无从得知哪里采集的数据质量较差,哪里漏采集了,从而不能够保证较好的数据采集质量,进而也就不能够保证后续的全局空间的模型重建质量。
基于此,在本申请实施例中,对三维重建的数据采集阶段进行改进,边采集数据边基于当前采集的关键帧和与其相匹配的历史关键帧显示对应的场景模型,从而能够实时地向用户反馈数据采集质量,以引导用户对不满足要求的区域重新进行数据采集;如此,能够提高数据采集质量,进而提高后期三维重建的模型质量。
本申请实施例提供一种数据采集方法,图2为本申请实施例数据采集方法的实现流程示意图,如图2所示,所述方法可以包括以下步骤201至步骤213:
步骤201,通过相机在全局空间中采集当前关键帧。
需要说明的是,本申请实施例中所述的全局空间是相对于局部空间而言的,局部空间为全局空间的部分空间。
步骤202,提取当前关键帧中特征块的特征信息。
可以理解地,特征块即为当前关键帧中的某一具有代表性的图像区域。特征块的特征信息可以是该块的特征描述子,还可以是其他能够表示该特征块的唯一性的图像特征。
步骤203,利用哈希函数对所述特征信息进行处理,得到查询哈希值;
步骤204,从当前构建的哈希索引表中查询与所述查询哈希值相匹配的目标索引项;如果未查询到所述目标索引项,执行步骤205;如果查询到所述目标索引项,执行步骤206;
步骤205,根据所述当前关键帧的查询哈希值,建立新的链表,以更新所述哈希索引表,然后返回执行步骤201。
可以理解地,如果电子设备从哈希索引表中没有查询到目标索引项,说明当前没有与当前关键帧在图像特征在相匹配的目标关联帧,此时可以根据所述查询哈希值,生成新的链表;其中的哈希索引项用于指向该当前关键帧、对应的相机位姿、采集时间和对应的深度图像的存储地址。
需要说明的是,电子设备可以在建立新的链表之后,再返回执行步骤201;电子设备还可以在未查询到目标索引项时,并行执行步骤201和步骤205。
步骤206,根据所述目标索引项所在链表,获取所述当前关键帧的多个目标关联帧;其中,目标关联帧指的是在图像特征上与当前关键帧相匹配的历史关键帧。
比如,某一历史关键帧的特征块的特征描述子与当前关键帧的特征块的特征描述子的欧式距离小于或等于距离阈值,则确定该历史关键帧与当前关键帧相匹配。
可以理解地,相匹配的两帧,其特征块的特征信息通过哈希函数映射得到的结果是相同的,这就是哈希碰撞问题。解决碰撞问题的处理方式可以为链地址法,即用链表把碰撞的数据接连起来,因此链表也被称为碰撞数据链表。在本申请实施例中,正是巧妙地利用了链表的特点,来实现当前关键帧的多个目标关联帧的获取;这样,利用哈希索引表查找法的优势和链表本身的特点,快速地获取得到多个目标关联帧,从而进一步增强数据采集阶段显示局部空间的场景模型的及时性。
在一些实施例中,电子设备在查询到目标哈希索引项的情况下,可以根据查询哈希值,更新目标哈希索引项所在的链表中,并将所述当前关键帧、对应的相机位姿、采集时间和对应的深度图像存储在所述哈希查询值对应的存储区。
步骤207,根据所述当前关键帧和所述多个目标关联帧,构建对应局部空间的场景模型;
步骤208,显示所述局部空间的场景模型,以向用户反馈所述相机在所述局部空间中的数据采集质量;
步骤209,控制所述相机重新对所述局部空间的特定区域进行数据采集,以改善所述局部空间中的数据采集质量,并显示重新构建的所述局部空间的场景模型;或者,控制所述相机对下一局部空间进行数据采集;在电子设备完成所述全局空间中每一局部空间的数据采集之后,进入步骤210。
可以理解地,无论是重新对特征区域进行数据采集,还是对下一局部空间进行数据采集,电子设备实际上均需要返回执行步骤201,以基于新采集的关键帧和与该帧相匹配的目标关联帧,构建对应局部空间的新的场景模型,以再次向用户反馈当前的数据采集质量。
步骤210,获取当前构建的哈希索引表中每一链表所指示的目标关键帧之间的特征点匹配对关系链;
可以理解地,这里的当前构建的哈希索引表指的是完成全局空间的数据采集时的哈希索引表,此时的哈希索引表已经记录了全局空间中的关键帧的哈希索引项,这是与步骤204中所描述的当前构建的哈希索引表是不同的,步骤204中的哈希索引表指的是电子设备在执行步骤204时为止已构建的表。
在完成全局空间的数据采集时,此时的哈希索引表中每一链表均记录了全局空间中具有空间相关性的关键帧的索引项。即,根据某一链表中每一哈希索引项,可以获得其指示的具有空间相关性的所有关键帧,基于此,可以确定这些帧的特征点匹配对关系链。例如图3所示,某一链表所指示的关键帧包括帧301、帧302和帧303,基于此,容易获取帧301与帧302的特征点匹配对集合、帧302与帧303的特征点匹配对集合,即,建立了如图中白色虚线框内的特征点匹配对关系链304,需要说明的是,图3仅示意出了部分特征点匹配对。
步骤211,根据每一所述特征点匹配对关系链,优化对应链表中指向的每一目标关键帧的相机位姿,从而得到全局空间中每一目标关键帧的目标相机位姿。
实际上,这里是对同一链表中的关键帧的相机位姿进行了全局联合优化,在实现时,可以根据特征点匹配对关系链,构建以每一目标关键帧的相机位姿为自变量的重投影误差函数,对该函数进行迭代优化处理,以使重投影误差满足特定条件,从而得到更加准确的相机位姿,进而提高重建模型的质量。
步骤212,根据每一所述目标关键帧的目标相机位姿和对应的深度图像,生成对应目标关键帧的点云模型;
步骤213,将所述目标关键帧的点云模型融合至当前构建的全局空间的几何模型中,以完善所述全局空间的几何模型,直至每一所述目标关键帧的点云模型均融合至当前构建的全局空间的几何模型中为止,从而得到所述全局空间的目标几何模型。
几何模型可以是体素模型。在一些实施例中,电子设备可以通过光线跟踪投影的方法,将当前构建的全局空间的体素模型投影为与待融合的目标关键帧的相机位姿一致的点云模型,得到投影的点云模型;然后,通过迭代最近点算法(Iterative Closest Point,ICP)算法将待融合的目标关键帧的点云模型与投影的点云模型进行配准,从而得到该帧的更优的相机位姿;并根据该更优的相机位姿和该帧对应的深度图像,生成该帧的更优点云模型,进而对该模型进行分块体素重建,并融合至全局空间的体素模型上;如此,能够提高全局空间的目标几何模型的质量。
在一些实施例中,对于步骤206,根据所述目标索引项所在链表,获取所述当前关键帧的多个目标关联帧;其中,目标关联帧指的是在图像特征上与当前关键帧相匹配的历史关键帧,如图2B所示,电子设备可以通过以下步骤2061至步骤2064来实现:
步骤2061,获取所述链表中每一索引项所指向的候选关键帧的相机位姿。
可以理解地,在本申请实施例中,当用户看到当前显示的局部空间的场景模型时,由于对一些区域的数据采集质量不满意,此时用户可能会控制电子设备对这些区域进行重复的扫描,这样就会导致链表中记录了很多重复的关键帧。因此,电子设备需要从链表所指向的候选关键帧中筛选出目标关联帧,以便在不损失模型质量的同时,通过较少的关键帧较快地重建出局部空间的场景模型。
步骤2062,根据所述当前关键帧与任一所述候选关键帧之间的特征点匹配关系,确定所述当前关键帧的相机位姿;
步骤2063,确定所述当前关键帧的相机位姿分别与每一所述候选关键帧的相机位姿之间的差值。
在实现时,电子设备可以根据当前关键帧的相机位姿与候选关键帧的相机位姿,确定相机采集当前关键帧时相对于采集候选关键帧时的位移,将该位移确定为所述差值。
步骤2064,将大于特定阈值的差值所对应的候选关键帧确定为所述目标关联帧。
可以理解地,通过步骤2064可以减少重建局部空间的场景模型时所使用的关键帧,从而提高模型重建的速度。在一些实施例中,电子设备可以将小于或等于所述特定阈值的差值所对应的候选关键帧和在所述链表中的哈希索引项删除,以更新所述链表。另外,电子设备还可以将删除的哈希索引项所指向的关键帧及其相关数据删除,从而减少全局空间的目标几何模型重建时所使用的关键帧数目,进而提高三维重建速度。
本申请实施例再提供一种数据采集方法,图4A为本申请实施例数据采集方法的实现流程示意图,如图4A所示,所述方法可以包括以下步骤401至步骤408:
步骤401,通过相机在全局空间中采集当前关键帧;
步骤402,获取与当前关键帧在图像特征上相匹配的多个目标关联帧;
由上文描述的实施例可知,电子设备可以提取当前关键帧中特征块的特征信息,利用哈希函数对所述特征信息进行处理,得到查询哈希值;从当前构建的哈希索引表中查询与所述查询哈希值相匹配的目标索引项,从而根据目标索引项所在链表,获取多个目标关联帧。
步骤403,根据所述当前关键帧的特征块的特征描述子和每一所述目标关联帧的特征块的特征描述子,建立所述当前关键帧和所述多个目标关联帧之间的特征点匹配对关系链。
可以理解地,多个目标关联帧之间也是具有空间相关性的,即在图像特征上也是相互匹配的。因此,容易建立当前关键帧和多个目标关联帧之间的特征点匹配对关系链,任意两帧之间均具有空间相关性。举例来说,如图3所示,当前关键帧301具有的目标关联帧为302和303,因此,可以确定帧301与帧302的特征点匹配对集合,还可以确定帧302与帧303之间的特征点匹配对集合,即建立了如图中白色虚线框内的特征点匹配对关系链304。
步骤404,根据所述特征点匹配对关系链,构建以所述当前关键帧和所述多个目标关联帧中的每一关键帧的相机位姿为自变量的重投影误差函数。
可以理解地,通过对重投影误差函数进行迭代优化,由于帧与帧之间的相机位姿相互约束,如此能够实现每一关键帧的相机位姿的进一步优化。
在一些实施例中,如图4B所示,电子设备可以通过以下步骤4041至步骤4044实现步骤404。
步骤405,对所述重投影误差函数进行迭代优化处理,以使重投影误差满足特定条件,从而得到所述每一关键帧的优化后的相机位姿。
需要说明的是,特定条件可以是多种多样的,例如,特定条件为重投影误差小于或等于误差阈值,或者,特定条件为迭代次数达到预设次数,则确定重投影误差满足该特定条件。
步骤406,根据所述每一关键帧的优化后的相机位姿和对应的深度图像,构建对应局部空间的点云模型,以作为所述场景模型。
在一些实施例中,电子设备在得到所述每一关键帧的优化后的相机位姿之后,还需要将对应关键帧的优化后的相机位姿更新至哈希索引项所指向的存储区,例如将该存储区存储的该关键帧的相机位姿替换为通过步骤405得到的优化后的相机位姿。
步骤407,对所述点云模型进行体素滤波;
步骤408,对所述体素滤波后的点云模型进行渲染显示,以向用户反馈所述相机在所述局部空间中的数据采集质量,然后返回执行步骤401,直至全局空间的数据采集工作结束为止,至此可以获得以下结果:哈希索引表(哈希索引项用于指示全局空间中经过筛选后的关键帧的存储区)、每一哈希索引项所指向的存储区包括关键帧、关键帧对应的深度图像、采集时间、最后一次优化得到的相机位姿、与其他关键帧之间的特征点匹配关系等。
可以理解地,电子设备返回执行步骤401,以继续进行关键帧的采集。直至数据采集工作结束为止,如图4C所示,电子设备可以通过以下步骤409至步骤415实现全局空间的三维重建:
步骤409,获取当前构建的哈希索引表中每一链表所指示的目标关键帧之间的特征点匹配对关系链;
步骤410,根据每一所述特征点匹配对关系链,优化对应链表中指向的每一目标关键帧的相机位姿,从而得到全局空间中每一目标关键帧的目标相机位姿。
这里,电子设备也可以通过建立重投影误差函数,实现对同一链表中每一目标关键帧的相机位姿的联合优化。优化方法与步骤403至步骤405类似,只是此时联合优化的是全局空间中具有空间相关性的所有关键帧的相机位姿。迭代优化时,相机位姿的初始值为哈希索引项所指向的存储区存储的最后一次更新的相机位姿。
步骤411,根据每一所述目标关键帧的目标相机位姿和对应的深度图像,生成对应目标关键帧的点云模型;
步骤412,通过光线跟踪投影的方法,将当前构建的全局空间的体素模型投影为与待融合的目标关键帧的相机位姿一致的点云模型;
步骤413,通过ICP算法将待融合的目标关键帧的点云模型与投影的点云模型进行配准,从而得到所述待融合的目标关键帧的更优的相机位姿;
步骤414,根据所述更优的相机位姿和所述待融合的目标关键帧对应的深度图像,生成更优的点云模型;
步骤415,对所述更优的点云模型进行分块体素重建,进而将分块体素重建后得到的模型融合至全局空间的体素模型上,然后,返回执行步骤412,以将下一帧关键帧的点云模型融合至当前构建的全局空间的体素模型上,直至每一目标关键帧的点云模型均被融合至全局空间的体素模型上为止,即得到了全局空间的目标体素模型。
在一些实施例中,电子设备还在进行模型构建的过程中,对体素模型进行纹理合成处理,以提高模型的可视化效果。
在一些实施例中,对于上述步骤404,根据所述特征点匹配对关系链,构建以所述当前关键帧和所述多个目标关联帧中的每一关键帧的相机位姿为自变量的重投影误差函数,如图4B所示,电子设备可以通过以下步骤4041至步骤4044实现:
步骤4041,根据所述特征点匹配对关系链,获取所述当前关键帧和所述多个目标关联帧中每两个关键帧之间的特征点匹配对集合。
举例来说,仍以图3所示的关键帧为例,多个目标关联帧包括关键帧302和303;每两个关键帧,可以是当前关键帧301和关键帧302、关键帧302和关键帧303、关键帧303和当前关键帧301。
步骤4042,根据每一所述特征点匹配对集合,以对应的两个关键帧中的一个关键帧的相机位姿为自变量,构建对应的重投影误差子函数。
仍以图3为例,例如根据当前关键帧301和关键帧302的特征点匹配对集合,确定对应的重投影误差子函数。假设当前关键帧301的第k个特征点的空间三维坐标为Pk=[Xk,Yk,Zk]T,其在关键帧302中的投影坐标为Uk=[uk,vk]T,两者之间的关系如下公式(1)所示:
式中,sk指的是第k个特征点的深度信息,K表示当前关键帧301对应的投影矩阵,exp(ξ)表示当前关键帧301的相机位姿。
由公式(1)可以得出投影坐标Uk的计算公式为如下公式(2):
基于此,根据特征点匹配对集合中当前关键帧301的每一特征点的重投影误差,构建重投影误差子函数ζ*的公式如下式(3)所示:
步骤4043,根据所述每两个所述关键帧的采集时间,确定对应的重投影误差子函数的权重。
在一些实施例中,可以根据每两个所述关键帧中待优化位姿的关键帧的采集时间,确定对应的权重。可以理解地,在数据采集的过程,已采集的关键帧的相机位姿在不断地被优化。因此,越早被采集的关键帧,当前存储的相机位姿越准确,置信度越高。
在本申请实施例中,根据关键帧的采集时间设置重投影误差子函数的权重,这样可以利用置信度高的关键帧的相机位姿来约束(也就是纠正)置信度低的关键帧的相机位姿,如此能够获得较为准确的优化结果。
步骤4044,根据每一所述权重和对应的重投影误差子函数,构建所述重投影误差函数。
仍以图3为例,构建得到的重投影误差函数如下公式(4)所示:
ζ*(ξ0,ξ1,ξ2)=w0ζ* 0(ξ0)+w1ζ* 1(ξ1)+w2ζ* 2(ξ2) (4);
式中,ξ0表示当前关键帧301的相机位姿,ζ* 0(ξ0)表示以ξ0为自变量的当前关键帧301与关键帧302对应的重投影误差子函数;ξ1表示关键帧302的相机位姿,ζ* 1(ξ1)表示以ξ1为自变量的关键帧302与关键帧303对应的重投影误差子函数;ξ2表示关键帧303的相机位姿,ζ* 2(ξ2)表示以ξ2为自变量的关键帧303与当前关键帧301对应的重投影误差子函数,w0、w1、w2表示权重。
本申请实施例再提供一种数据采集方法,图5为本申请实施例数据采集方法的实现流程示意图,如图5所示,所述方法可以包括以下步骤501至步骤505:
步骤501,根据相机采集的当前关键帧和所述当前关键帧的多个目标关联帧,构建对应局部空间的场景模型;其中,所述目标关联帧为与所述当前关键帧在图像特征上相匹配的关键帧;
步骤502,显示所述局部空间的场景模型,以向用户反馈所述相机在所述局部空间中的数据采集质量;
步骤503,接收扫描指令,所述扫描指令用于指示所述相机重新扫描所述局部空间中的特定区域或者扫描下一局部空间。
在自动化采集的应用场景中,比如电子设备为具有拍摄功能的机器人。用户通过显示的场景模型,能够清楚地确定对应的局部空间的数据采集质量的好坏。如果有些区域采集的图像质量较差,或者某些区域漏采集了,用户可以通过输入扫描指令来指引电子设备对扫描指令中指示的区域进行扫描。在一些实施例中,扫描指令可以包括特征区域的位置信息和拍摄指令等。所述重新扫描可以是扫描漏扫描的区域,也可以是扫描数据采集较差的区域。
步骤504,在所述扫描指令指示重新扫描所述特定区域的情况下,根据所述扫描指令,控制所述相机重新扫描所述特定区域,以改善所述局部空间中的数据采集质量,并显示重新构建的所述局部空间的场景模型;
步骤505,在所述扫描指令指示扫描下一局部空间的情况下,根据所述扫描指令,控制所述相机扫描所述下一局部空间。
需要说明的是,无论是重新对特定区域进行数据采集,还是对下一局部空间进行数据采集,电子设备实际上均需要返回执行步骤501,以基于新采集的关键帧和与该帧相匹配的目标关联帧,构建对应局部空间的新的场景模型,以再次向用户反馈当前的数据采集质量。直至全局空间的数据采集工作结束为止,基于采集的目标关键帧进行离线的三维重建,得到全局空间的目标几何模型。
基于多帧图像的三维重建技术,例如运动结构(Structure From Motion,SFM)、多视几何(Multiple View Geometry,MVG)等,需要强大的计算能力。大范围的场景几何重构往往需要在高性能计算平台上计算数小时之久,这样更加无法直接在手机、增强现实头盔等便携式设备上快速计算生成。并且,基于多帧图像的三维重建技术的数据采集过程会影响最终的重建模型质量,而由于该技术在操作使用时无法及时反馈模型生成的质量和完整度,这使得该技术操作需要专业人员通过丰富的经验去判断图像数据的采集质量,可见该类三维重建方法的模型质量对专业人员的依赖性很强,这样严重影响了三维重建技术的大规模应用和推广。
随着深度相机在便携式设备上的搭载使用,基于红绿蓝图像和深度图像(RedGreen Blue-Depth,RGB-D)数据源的快速三维重建技术逐渐流行起来。该类技术相比于基于RGB图像的三维重建技术,能够快速生成场景的三维模型,得到交互反馈的信息,从而保证三维重建过程的成功率和易用性。然而,由于深度相机搭载在便携式设备上时受限于尺寸、功耗等因素,其分辨率和有效距离都会有所限制,故而基于RGB-D的三维重建技术主要应用于室内场景。
基于RGB-D的三维重建技术,主要通过几何配准当前关键帧和生成模型的方法去跟踪视角位姿,并使用截断符号距离场(Truncated Signed Distance Field,TSDF)空间有向体素的方法去融合多帧RGB-D数据来生成三维模型。该技术可以做到实时交互式的三维模型重建,扫描重建的同时可以实时反馈生成的三维模型。
基于RGB-D的三维重建技术需要高性能图形处理器(Graphics Processing Unit,GPU)计算平台,并且占用大量显存资源和内存资源。相关技术解决了GPU显存无效占用的问题,使得重建范围不受硬件限制,但是其仍无法在计算能力有限的便携式设备平台上达到交互式应用。一些尝试在便携式设备平台上使用基于RGB-D的三维重建的方法,往往牺牲了重建模型的精度、质量和范围。计算能力的限制严重阻碍了扫描式三维重建技术在应用端的市场推广,如何做到在有限计算资源的条件下达到实时交互反馈和重建模型质量的双重要求,是本申请实施例重点解决的问题。
基于此,下面将说明本申请实施例在一个实际的应用场景中的示例性应用。
在本申请实施例中,将用于高性能计算平台的基于RGB-D的三维重建技术进行功能分解。分析其重建过程中哪些用于交互反馈,哪些有利于重建质量。选择高效的算法功能快速得到渲染显示的结果,得以在低性能计算平台上实现实时交互能力。同时,选择可靠鲁棒的优化技术在离线过程中保证三维模型的生成质量。在线过程和离线过程相互配合,以达到计算资源、计算速度、计算质量三者之间的有效平衡。
在本申请实施例中,最终目的是能够在计算能力有限的便携式设备上快速实现室内场景的三维重构计算,在保证三维重建模型质量的同时,支持实时交互反馈能力,引导用户操作扫描的区域。使基于RGB-D的三维重建技术的计算资源、计算速度、计算质量三者都满足可用要求,从而可在便携式设备上工程落地。
在本申请实施例中,主要思路是把需要在高性能计算平台实现的基于RGB-D的三维重建技术拆分成用于交互反馈的实时重建模块和保证重建模型质量的离线重建模块。
实时重建模块并不是真正用于重构三维模型的,其主要目的是为用户及时反馈用于重建模型的图像数据的质量,从而引导用户是继续扫描其他区域,还是重复扫描该区域以补全之前质量不佳的图像数据。该模块既要求用于渲染显示的模型能够代表最终生成的模型的质量,同时也要求模型生成足够及时以达到实时交互的应用目的。
离线重建模块主要是为了在计算资源有限的条件下尽量保证重建模型质量,而不要求重建的实时性,相对于实时重建模块,对计算速度的要求较低。由于仍然采用基于RGB-D的快速三维重建技术,离线重建的速度依然可以控制在数秒之内。只是其无需反馈,使该技术得以在便携式设备上工程落地。
在实时重建过程中,如图6所示,可以包括以下步骤601至步骤607:
步骤601,提取当前关键帧的特征块的特征描述子;
步骤602,根据特征描述子,建立词典索引哈希表;
步骤603,根据词典索引哈希表,查找与当前关键帧具有空间相关性的近邻关键帧,即上述实施例所述的目标关联帧;从而根据当前关键帧和近邻关键帧的空间相关性,确定当前关键帧的相机位姿;
步骤604,筛选重复历史帧;
步骤605,根据筛选后的近邻关键帧和当前关键帧,确定特征点关系链,即前述实施例所述的特征点匹配对关系链;
步骤606,根据特征点关系链,局部最小化重投影误差,从而得到每一关键帧的优化后的相机位姿;
步骤607,根据优化后的相机位姿,对对应的每一关键帧进行渲染显示。
例如,渲染显示10帧最新的近邻关键帧生成的空间点云模型,用于实时反馈最新扫描区域的数据质量。这样做的目的不仅可以在计算资源有限的平台上实现实时交互能力,同时也使得采集的帧数据以及位姿数据能够得到高效的更新。该技术的难点在于如何快速得到近邻关键帧,由于便携式设备扫描路径不规则且不可预测,所以极易重复扫描相同区域,从而导致近邻关键帧在时序上变得复杂多变。
为了计算近邻关键帧,首先提取特征描述子,根据特征描述子建立词典索引哈希表,这样可以保证扫描至重复区域时可以快速实现视觉重定位,调取之前扫描该区域保存的关键帧数据,从而得到近邻关键帧之间的特征点对关系。有了空间关系上的近邻关键帧数据,可以根据每个特征描述子建立特征点在各个关键帧的特征点匹配对关系链,使用该关系链可以计算局部空间的最小化重投影误差(Local Bundle Adjustment,LBA),从而得到更准确的位姿数据,使用这些位姿数据建立局部空间模型来渲染显示,以反馈给用户当前空间的数据采集质量。实时重建过程采用点云模型直接叠加的渲染显示方法,点云模型只是经过简单的体素过滤处理,从而在不牺牲视觉效果的同时,简化了模型处理的复杂度,进而能够提高在便携式平台的实时性。
由于用户重复扫描某一区域往往是为了更新之前的模型质量,故而在关键帧数据中加入了时间戳链表管理,当发现当前关键帧和历史某一关键帧的位姿接近,且有足够大的重复区域时,说明用户有意更新该扫描区域,故而删除重复区域的历史关键帧数据,既达到了交互应用的目的,也减轻了离线重建步骤的计算负担。
在离线重建过程中,如图7所示,可以包括以下步骤701至步骤704:
步骤701,位姿关联优化;
步骤702,迭代最近点配准;
步骤703,分块体素重建;
步骤704,光线跟踪投影;
在离线重建过程中,使用分块有向体素重建方法(Chunked TSDF)快速生成模型。为了保证参与离线三维重建的位姿足够准确,需要进一步优化位姿,在此采用两个经典的优化策略。第一个,即步骤701,通过在实时重建过程中确定的关键帧的关联关系,找到全局大回环链路,从而进行位姿关系优化(Pose Graph Optimazation,PGO)。第二个,即步骤702至步骤704,利用重建的空间体素光线跟踪投影,与待重建的关键帧建立模型到帧(ModelTo Frame)的迭代最近点配准优化。这种双重保险方法用于离线三维重建过程,保证了三维重建的模型生成质量。
由于体素重建方法本身就是一个快速三维重建技术,该算法在便携式设备平台上可在数秒内计算完成,从而在计算资源、计算速度、计算质量三者之间达到平衡,使得快速三维重建技术得以在便携式设备上工程落地。
在本申请实施例中,既提供了用于显示反馈的实时重建过程,也提供了用于保证重建质量的离线重建过程,在计算资源、计算速度、计算质量三者之间达到平衡,从而使得基于RGB-D数据的三维重构技术能够在计算资源有限的便携式设备平台上得以工程落地。在相同重建模型质量的前提下,使用该方法的重建速度可以从低于5帧每秒(frames persecond,fps)提高到大于30fps,从而达到实时交互的性能要求。
需要说明的是,离线重建模块中的有向体素重建方法(TSDF)和迭代近邻配准优化算法都非常适合使用GPU并行加速计算。由于离线重建过程无需交互渲染显示,GPU计算设备有额外的算力可以用于并行加速计算。
在一些实施例中,在离线重建模块可以加入纹理合成功能。多个关键帧的纹理合成功能需要计算每个纹理块的视角贡献度,这往往需要占用大量计算资源,重建过程的分步方法使得纹理合成技术可以融入RGB-D快速三维重建过程中,从而利用纹理来提高最终生成模型的可视化效果。
另外,随着第五代移动通信技术(5th generation mobile networks,5G)技术和边缘计算技术的兴起,未来离线重建过程可以迁移至具有高性能计算平台的边缘设备上进行计算,减少便携式设备的计算压力和功耗输出。也可以支持多台便携式设备扫描采集数据众包进行三维重建,丰富该技术的应用可能。
基于前述的实施例,本申请实施例提供一种数据采集装置,该装置包括所包括的各模块、以及各模块所包括的各单元,可以通过电子设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
图8A为本申请实施例数据采集装置的结构示意图,如图8A所示,所述装置800包括局部模型构建模块801、显示模块802和数据采集模块803,其中:
局部模型构建模块801,用于根据相机采集的当前关键帧和所述当前关键帧的多个目标关联帧,构建对应局部空间的场景模型;其中,所述目标关联帧为与所述当前关键帧在图像特征上相匹配的关键帧;
显示模块802,用于显示所述局部空间的场景模型,以向用户反馈所述相机在所述局部空间中的数据采集质量;
数据采集模块803,用于控制所述相机重新对所述局部空间的特定区域进行数据采集,以改善所述局部空间中的数据采集质量,并通过显示模块802显示重新构建的所述局部空间的场景模型;或者,控制所述相机对下一局部空间进行数据采集。
在一些实施例中,如图8B所示,数据采集装置还包括特征提取模块804、哈希处理模块805、查询模块806和第一获取模块807;其中,特征提取模块804,用于提取所述当前关键帧中特征块的特征信息;哈希处理模块805,用于利用哈希函数对所述特征信息进行处理,得到查询哈希值;查询模块806,用于从当前构建的哈希索引表中查询与所述查询哈希值相匹配的目标索引项;第一获取模块807,用于在查询到所述目标索引项的情况下,根据所述目标索引项所在链表,获取所述多个目标关联帧。
在一些实施例中,第一获取模块807,用于:获取所述链表中每一索引项所指向的候选关键帧的相机位姿;根据所述当前关键帧与任一所述候选关键帧之间的特征点匹配关系,确定所述当前关键帧的相机位姿;确定所述当前关键帧的相机位姿与每一所述候选关键帧的相机位姿之间的差值;将大于特定阈值的差值所对应的候选关键帧确定为所述目标关联帧。
在一些实施例中,如图8B所示,数据采集装置800还包括更新模块808,用于:将小于或等于所述特定阈值的差值所对应的候选关键帧和在所述链表中的哈希索引项删除,以更新所述链表。
在一些实施例中,更新模块808,还用于:在查询到所述目标哈希值的情况下,根据所述当前关键帧的查询哈希值更新所述链表;在未查询到所述目标哈希值的情况下,根据所述当前关键帧的查询哈希值生成新的链表,以更新所述哈希索引表。
在一些实施例中,局部模型构建模块801,用于:根据所述当前关键帧的特征块的特征描述子和每一所述目标关联帧的特征块的特征描述子,建立所述当前关键帧和所述多个目标关联帧之间的特征点匹配对关系链;根据所述特征点匹配对关系链,构建以所述当前关键帧和所述多个目标关联帧中的每一关键帧的相机位姿为自变量的重投影误差函数;对所述重投影误差函数进行迭代优化处理,以使重投影误差满足特定条件,从而得到所述每一关键帧的优化后的相机位姿;根据所述每一关键帧的优化后的相机位姿和对应的深度图像,构建对应局部空间的点云模型,以作为所述场景模型。
在一些实施例中,局部模型构建模块801,用于:根据所述特征点匹配对关系链,获取所述当前关键帧和所述多个目标关联帧中每两个关键帧之间的特征点匹配对集合;根据每一所述特征点匹配对集合,以对应的两个关键帧中的一个关键帧的相机位姿为自变量,构建对应的重投影误差子函数;根据所述每两个所述关键帧的采集时间,确定对应的重投影误差子函数的权重;根据每一所述权重和对应的重投影误差子函数,构建所述重投影误差函数。
在一些实施例中,显示模块802,用于:对所述点云模型进行体素滤波;对所述体素滤波后的点云模型进行渲染显示。
在一些实施例中,数据采集模块803,用于:接收扫描指令,所述扫描指令用于指示所述相机重新扫描所述局部空间中的特定区域或者扫描下一局部空间;在所述扫描指令指示重新扫描所述特定区域的情况下,根据所述扫描指令,控制所述相机重新扫描所述特定区域。
在一些实施例中,如图8C所示,数据采集装置800还包括第二获取模块809、优化模块810、点云生成模块811和融合模块812;其中,第二获取模块809,用于在完成每一所述局部空间的数据采集之后,获取当前构建的哈希索引表中每一链表所指示的目标关键帧之间的特征点匹配对关系链;优化模块810,用于根据每一所述特征点匹配对关系链,优化对应链表中指向的每一目标关键帧的相机位姿,从而得到全局空间中每一目标关键帧的目标相机位姿;点云生成模块811,用于根据每一所述目标关键帧的目标相机位姿和对应的深度图像,生成对应目标关键帧的点云模型;融合模块812,用于将所述目标关键帧的点云模型融合至当前构建的全局空间的几何模型中,以完善所述全局空间的几何模型,直至每一所述目标关键帧的点云模型均融合至当前构建的全局空间的几何模型中为止,从而得到所述全局空间的目标几何模型。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的数据采集方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备(可以是手机、平板电脑、电子阅读器、笔记本电脑、台式计算机、机器人、无人机、服务器、增强现实头盔等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
对应地,本申请实施例提供一种电子设备,图9为本申请实施例电子设备的一种硬件实体示意图,如图9所示,该电子设备900的硬件实体包括:包括存储器901和处理器902,所述存储器901存储有可在处理器902上运行的计算机程序,所述处理器902执行所述程序时实现上述实施例中提供的数据采集方法中的步骤。
存储器901配置为存储由处理器902可执行的指令和应用,还可以缓存待处理器902以及电子设备900中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random AccessMemory,RAM)实现。
对应地,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的数据采集方法中的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备(可以是机、平板电脑、电子阅读器、笔记本电脑、台式计算机、机器人、无人机、服务器、增强现实头盔等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (13)
1.一种数据采集方法,其特征在于,所述方法包括:
根据相机采集的当前关键帧和所述当前关键帧的多个目标关联帧,构建对应局部空间的场景模型;其中,所述目标关联帧为与所述当前关键帧在图像特征上相匹配的关键帧;
显示所述局部空间的场景模型,以向用户反馈所述相机在所述局部空间中的数据采集质量;
控制所述相机重新对所述局部空间的特定区域进行数据采集,以改善所述局部空间中的数据采集质量,并显示重新构建的所述局部空间的场景模型;或者,控制所述相机对下一局部空间进行数据采集。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
提取所述当前关键帧中特征块的特征信息;
利用哈希函数对所述特征信息进行处理,得到查询哈希值;
从当前构建的哈希索引表中查询与所述查询哈希值相匹配的目标索引项;
在查询到所述目标索引项的情况下,根据所述目标索引项所在链表,获取所述多个目标关联帧。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标哈希值所在链表,获取所述多个目标关联帧,包括:
获取所述链表中每一索引项所指向的候选关键帧的相机位姿;
根据所述当前关键帧与任一所述候选关键帧之间的特征点匹配关系,确定所述当前关键帧的相机位姿;
确定所述当前关键帧的相机位姿与每一所述候选关键帧的相机位姿之间的差值;
将大于特定阈值的差值所对应的候选关键帧确定为所述目标关联帧。
4.根据权利3所述的方法,其特征在于,所述方法还包括:
将小于或等于所述特定阈值的差值所对应的候选关键帧和在所述链表中的哈希索引项删除,以更新所述链表。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在查询到所述目标哈希值的情况下,根据所述当前关键帧的查询哈希值更新所述链表;
在未查询到所述目标哈希值的情况下,根据所述当前关键帧的查询哈希值生成新的链表,以更新所述哈希索引表。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述根据相机采集的当前关键帧和所述当前关键帧的多个目标关联帧,构建对应局部空间的场景模型,包括:
根据所述当前关键帧的特征块的特征描述子和每一所述目标关联帧的特征块的特征描述子,建立所述当前关键帧和所述多个目标关联帧之间的特征点匹配对关系链;
根据所述特征点匹配对关系链,构建以所述当前关键帧和所述多个目标关联帧中的每一关键帧的相机位姿为自变量的重投影误差函数;
对所述重投影误差函数进行迭代优化处理,以使重投影误差满足特定条件,从而得到所述每一关键帧的优化后的相机位姿;
根据所述每一关键帧的优化后的相机位姿和对应的深度图像,构建对应局部空间的点云模型,以作为所述场景模型。
7.根据权利要求6所述的方法,其特征在于,所述根据所述特征点匹配对关系链,构建以所述当前关键帧和所述多个目标关联帧中的每一关键帧的相机位姿为自变量的重投影误差函数,包括:
根据所述特征点匹配对关系链,获取所述当前关键帧和所述多个目标关联帧中每两个关键帧之间的特征点匹配对集合;
根据每一所述特征点匹配对集合,以对应的两个关键帧中的一个关键帧的相机位姿为自变量,构建对应的重投影误差子函数;
根据所述每两个所述关键帧的采集时间,确定对应的重投影误差子函数的权重;
根据每一所述权重和对应的重投影误差子函数,构建所述重投影误差函数。
8.根据权利要求6所述的方法,其特征在于,所述显示所述局部空间的场景模型,包括:
对所述点云模型进行体素滤波;
对所述体素滤波后的点云模型进行渲染显示。
9.根据权利要求1至5任一项所述的方法,其特征在于,所述控制所述相机重新对所述局部空间的特定区域进行数据采集,包括:
接收扫描指令,所述扫描指令用于指示所述相机重新扫描所述局部空间中的特定区域或者扫描下一局部空间;
在所述扫描指令指示重新扫描所述特定区域的情况下,根据所述扫描指令,控制所述相机重新扫描所述特定区域。
10.根据权利要求2至5任一项所述的方法,其特征在于,所述方法还包括:
在完成每一所述局部空间的数据采集之后,获取当前构建的哈希索引表中每一链表所指示的目标关键帧之间的特征点匹配对关系链;
根据每一所述特征点匹配对关系链,优化对应链表中指向的每一目标关键帧的相机位姿,从而得到全局空间中每一目标关键帧的目标相机位姿;
根据每一所述目标关键帧的目标相机位姿和对应的深度图像,生成对应目标关键帧的点云模型;
将所述目标关键帧的点云模型融合至当前构建的全局空间的几何模型中,以完善所述全局空间的几何模型,直至每一所述目标关键帧的点云模型均融合至当前构建的全局空间的几何模型中为止,从而得到所述全局空间的目标几何模型。
11.一种数据采集装置,其特征在于,包括:
局部模型构建模块,用于根据相机采集的当前关键帧和所述当前关键帧的多个目标关联帧,构建对应局部空间的场景模型;其中,所述目标关联帧为与所述当前关键帧在图像特征上相匹配的关键帧;
显示模块,用于显示所述局部空间的场景模型,以向用户反馈所述相机在所述局部空间中的数据采集质量;
数据采集模块,用于控制所述相机重新对所述局部空间的特定区域进行数据采集,以改善所述局部空间中的数据采集质量,并通过所述显示模块显示重新构建的所述局部空间的场景模型;或者,控制所述相机对下一局部空间进行数据采集。
12.一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至10任一项所述数据采集方法中的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至10任一项所述数据采集方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010299543.3A CN111402412B (zh) | 2020-04-16 | 2020-04-16 | 数据采集方法及装置、设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010299543.3A CN111402412B (zh) | 2020-04-16 | 2020-04-16 | 数据采集方法及装置、设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111402412A true CN111402412A (zh) | 2020-07-10 |
CN111402412B CN111402412B (zh) | 2023-06-09 |
Family
ID=71429574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010299543.3A Active CN111402412B (zh) | 2020-04-16 | 2020-04-16 | 数据采集方法及装置、设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111402412B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111986347A (zh) * | 2020-07-20 | 2020-11-24 | 汉海信息技术(上海)有限公司 | 设备管理方法、装置、电子设备及存储介质 |
CN112091991A (zh) * | 2020-09-16 | 2020-12-18 | 哈尔滨工业大学 | 一种基于ros的打磨机械臂控制*** |
CN112270702A (zh) * | 2020-11-12 | 2021-01-26 | Oppo广东移动通信有限公司 | 体积测量方法及装置、计算机可读介质和电子设备 |
CN112270754A (zh) * | 2020-11-12 | 2021-01-26 | Oppo广东移动通信有限公司 | 局部网格地图构建方法及装置、可读介质和电子设备 |
CN113284224A (zh) * | 2021-04-20 | 2021-08-20 | 北京行动智能科技有限公司 | 基于单纯码的自动建图方法和装置、定位方法及设备 |
CN114373041A (zh) * | 2021-12-15 | 2022-04-19 | 聚好看科技股份有限公司 | 一种三维重建方法及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815824A (zh) * | 2016-12-08 | 2017-06-09 | 华中科技大学 | 一种提高大规模三维重建效率的图像近邻优化方法 |
CN108615247A (zh) * | 2018-04-27 | 2018-10-02 | 深圳市腾讯计算机***有限公司 | 相机姿态追踪过程的重定位方法、装置、设备及存储介质 |
CN108898630A (zh) * | 2018-06-27 | 2018-11-27 | 清华-伯克利深圳学院筹备办公室 | 一种三维重建方法、装置、设备和存储介质 |
US20190130216A1 (en) * | 2017-11-02 | 2019-05-02 | Canon Kabushiki Kaisha | Information processing apparatus, method for controlling information processing apparatus, and storage medium |
CN109978931A (zh) * | 2019-04-04 | 2019-07-05 | 北京悉见科技有限公司 | 三维场景重建方法及设备、存储介质 |
-
2020
- 2020-04-16 CN CN202010299543.3A patent/CN111402412B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815824A (zh) * | 2016-12-08 | 2017-06-09 | 华中科技大学 | 一种提高大规模三维重建效率的图像近邻优化方法 |
US20190130216A1 (en) * | 2017-11-02 | 2019-05-02 | Canon Kabushiki Kaisha | Information processing apparatus, method for controlling information processing apparatus, and storage medium |
CN108615247A (zh) * | 2018-04-27 | 2018-10-02 | 深圳市腾讯计算机***有限公司 | 相机姿态追踪过程的重定位方法、装置、设备及存储介质 |
CN108898630A (zh) * | 2018-06-27 | 2018-11-27 | 清华-伯克利深圳学院筹备办公室 | 一种三维重建方法、装置、设备和存储介质 |
CN109978931A (zh) * | 2019-04-04 | 2019-07-05 | 北京悉见科技有限公司 | 三维场景重建方法及设备、存储介质 |
Non-Patent Citations (2)
Title |
---|
刘李漫;孙琨;徐海洋;胡怀飞;: "基于哈希特征的大规模图像快速匹配算法" * |
谢理想;万刚;曹雪峰;王庆贺;: "无人机序列图像快速三维重建***设计与实现" * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111986347A (zh) * | 2020-07-20 | 2020-11-24 | 汉海信息技术(上海)有限公司 | 设备管理方法、装置、电子设备及存储介质 |
CN111986347B (zh) * | 2020-07-20 | 2022-07-22 | 汉海信息技术(上海)有限公司 | 设备管理方法、装置、电子设备及存储介质 |
CN112091991A (zh) * | 2020-09-16 | 2020-12-18 | 哈尔滨工业大学 | 一种基于ros的打磨机械臂控制*** |
CN112270702A (zh) * | 2020-11-12 | 2021-01-26 | Oppo广东移动通信有限公司 | 体积测量方法及装置、计算机可读介质和电子设备 |
CN112270754A (zh) * | 2020-11-12 | 2021-01-26 | Oppo广东移动通信有限公司 | 局部网格地图构建方法及装置、可读介质和电子设备 |
CN112270754B (zh) * | 2020-11-12 | 2024-06-18 | Oppo广东移动通信有限公司 | 局部网格地图构建方法及装置、可读介质和电子设备 |
CN113284224A (zh) * | 2021-04-20 | 2021-08-20 | 北京行动智能科技有限公司 | 基于单纯码的自动建图方法和装置、定位方法及设备 |
CN114373041A (zh) * | 2021-12-15 | 2022-04-19 | 聚好看科技股份有限公司 | 一种三维重建方法及设备 |
CN114373041B (zh) * | 2021-12-15 | 2024-04-02 | 聚好看科技股份有限公司 | 一种三维重建方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111402412B (zh) | 2023-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111402412B (zh) | 数据采集方法及装置、设备、存储介质 | |
CN108537876B (zh) | 三维重建方法、装置、设备及存储介质 | |
Kawai et al. | Diminished reality based on image inpainting considering background geometry | |
WO2020001168A1 (zh) | 三维重建方法、装置、设备和存储介质 | |
CN111968129A (zh) | 具有语义感知的即时定位与地图构建***及方法 | |
CN109658445A (zh) | 网络训练方法、增量建图方法、定位方法、装置及设备 | |
CN110637323A (zh) | 通过使用基于部分的关键帧和先验模型进行鲁棒网格跟踪和融合 | |
CN113706699B (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN112270736B (zh) | 增强现实处理方法及装置、存储介质和电子设备 | |
CN108537844B (zh) | 一种融合几何信息的视觉slam回环检测方法 | |
CN108648264B (zh) | 基于运动恢复的水下场景重建方法及存储介质 | |
CN110580720B (zh) | 一种基于全景图的相机位姿估计方法 | |
US10726612B2 (en) | Method and apparatus for reconstructing three-dimensional model of object | |
GB2573170A (en) | 3D Skeleton reconstruction from images using matching 2D skeletons | |
CN112207821B (zh) | 视觉机器人的目标搜寻方法及机器人 | |
WO2023015409A1 (zh) | 物体姿态的检测方法、装置、计算机设备和存储介质 | |
KR102464271B1 (ko) | 포즈 획득 방법, 장치, 전자 기기, 저장 매체 및 프로그램 | |
CN112308977A (zh) | 视频处理方法、视频处理装置和存储介质 | |
CN114881841A (zh) | 图像生成方法及其装置 | |
CN113298871B (zh) | 地图生成方法、定位方法及其***、计算机可读存储介质 | |
Fu et al. | Image stitching techniques applied to plane or 3-D models: a review | |
GB2571307A (en) | 3D skeleton reconstruction from images using volumic probability data | |
CN115239763A (zh) | 一种基于中心点检测和图匹配的平面目标跟踪方法 | |
CN114419189A (zh) | 地图构建方法及装置、电子设备、存储介质 | |
JP6341540B2 (ja) | 情報端末装置、方法及びプログラム |
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 |