CN116503566A - 一种三维建模方法、装置、电子设备及存储介质 - Google Patents
一种三维建模方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116503566A CN116503566A CN202310745532.7A CN202310745532A CN116503566A CN 116503566 A CN116503566 A CN 116503566A CN 202310745532 A CN202310745532 A CN 202310745532A CN 116503566 A CN116503566 A CN 116503566A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- dimensional
- target object
- points
- cloud map
- 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
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000013507 mapping Methods 0.000 claims abstract description 116
- 230000000007 visual effect Effects 0.000 claims abstract description 110
- 230000006870 function Effects 0.000 claims description 13
- 230000004927 fusion Effects 0.000 claims description 10
- 230000009466 transformation Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 238000005457 optimization Methods 0.000 abstract description 12
- 239000011159 matrix material Substances 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 230000004807 localization Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 239000010979 ruby Substances 0.000 description 2
- 229910001750 ruby Inorganic materials 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method 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
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- 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/30241—Trajectory
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Radar Systems Or Details Thereof (AREA)
- Image Processing (AREA)
Abstract
本申请提供一种三维建模方法、装置、电子设备及存储介质,该包括:获取目标对象的多个视觉图像,以及获取目标对象的点云地图数据和雷达运动轨迹;根据多个视觉图像对点云地图数据进行优化,获得优化后的点云地图;获取雷达运动轨迹上的轨迹点在优化后的点云地图上的第一映射点,以及多个视觉图像中的特征点在优化后的点云地图上的第二映射点;根据第一映射点和第二映射点对目标对象进行三维建模,获得目标对象的三维模型。在上述方案的实现过程中,通过目标对象的多个视觉图像优化后的点云地图上轨迹点映射的第一映射点和特征点映射的第二映射点,对该目标对象进行三维建模,从而有效地提高了三维建模的精度。
Description
技术领域
本申请涉及计算机视觉和三维建模的技术领域,具体而言,涉及一种三维建模方法、装置、电子设备及存储介质。
背景技术
同时定位与地图创建(Simultaneously Localization and Mapping,SLAM)是指机器人依靠其携带的传感器进行自身的定位,同时增量式地创建环境的地图,是智能机器人在未知环境中自主完成任务的前提和基础。
目前,大都是单独通过SLAM方式来构建三维模型,具体例如:在获得SLAM的点云地图数据之后,并根据点云地图数据构建三角网格的三维模型。
发明内容
本申请实施例的目的在于提供一种三维建模方法、装置、电子设备及存储介质,用于提高三维建模的精度。
本申请实施例提供了一种三维建模方法,包括:获取目标对象的多个视觉图像,以及获取目标对象的点云地图数据和雷达运动轨迹;根据多个视觉图像对点云地图数据进行优化,获得优化后的点云地图;获取雷达运动轨迹上的轨迹点在优化后的点云地图上的第一映射点,以及多个视觉图像中的特征点在优化后的点云地图上的第二映射点;根据第一映射点和第二映射点对目标对象进行三维建模,获得目标对象的三维模型。在上述方案的实现过程中,通过目标对象的多个视觉图像优化后的点云地图上轨迹点映射的第一映射点和特征点映射的第二映射点,对该目标对象进行三维建模,从而有效地提高了三维建模的精度。
可选地,在本申请实施例中,根据多个视觉图像对点云地图数据进行优化,包括:根据图像相似度对多个视觉图像进行关联,获得多个关联图像;针对多个关联图像中的每个关联图像,提取出该关联图像中的特征点和该特征点对应的三维点云,计算出该特征点与该关联图像之间的重投影光度误差,并计算出三维点云到点云地图数据的几何一致性误差;以重投影光度误差和几何一致性误差为目标函数,对点云地图数据进行优化。在上述方案的实现过程中,通过根据多个视觉图像对点云地图数据进行优化,即使用无序的视角图像与激光雷达采集的点云地图数据进行联合优化,从而补充出点云地图的场景细节,从而有效地提高了三维建模的精度。
可选地,在本申请实施例中,提取出该关联图像中的特征点和该特征点对应的三维点云,包括:对关联图像进行尺度不变特征变换,获得特征点;对特征点进行对极几何三角测量,获得三维点云。在上述方案的实现过程中,通过对关联图像进行尺度不变特征变换,获得特征点,并对特征点进行对极几何三角测量,从而保留了特征点等细节信息,从而有效地提高了三维建模的精度。
可选地,在本申请实施例中,在提取出该关联图像中的特征点和该特征点对应的三维点云之后,还包括:若三维点云投影到点云地图数据的像素平面之间的距离大于投影阈值,则剔除该三维点云。在上述方案的实现过程中,通过三维点云投影到点云地图数据的像素平面之间的距离,从而有效地利用了点云的投影距离来筛选三维点云数据,提高了点云数据的质量,有效地提高了三维建模的精度。
可选地,在本申请实施例中,在提取出该关联图像中的特征点和该特征点对应的三维点云之后,还包括:若三维点云的光度与像素平面的投影点的光度之间的光度差值大于光度误差,则剔除该三维点云。在上述方案的实现过程中,通过该三维点云的光度与像素平面的投影点的光度之间的光度差值来剔除三维点云,从而有效地利用了点云和视图之间的观测关系来筛选三维点云数据,提高了点云数据的质量,有效地提高了三维建模的精度。
可选地,在本申请实施例中,根据第一映射点和第二映射点对目标对象进行三维建模,包括:对第一映射点和第二映射点进行加权融合,获得融合后的映射点;根据融合后的映射点对目标对象进行三维建模。在上述方案的实现过程中,通过对第一映射点和第二映射点进行加权融合,获得融合后的映射点,并根据融合后的映射点对目标对象进行三维建模,从而提高了融合后的映射点的质量,有效地提高了三维建模的精度。
可选地,在本申请实施例中,在获得目标对象的三维模型之后,还包括:使用多个视觉图像对目标对象的三维模型进行纹理贴图,获得贴图后的三维模型。在上述方案的实现过程中,通过使用多个视觉图像对目标对象的三维模型进行纹理贴图,从而使得贴图后的三维模型能够具有多个视角的视觉特性,从而提高了三维模型的重建精度。
本申请实施例还提供了一种三维建模装置,包括:数据轨迹获取模块,用于获取目标对象的多个视觉图像,以及获取目标对象的点云地图数据和雷达运动轨迹;点云地图优化模块,用于根据多个视觉图像对点云地图数据进行优化,获得优化后的点云地图;点云映射获取模块,用于获取雷达运动轨迹上的轨迹点在优化后的点云地图上的第一映射点,以及多个视觉图像中的特征点在优化后的点云地图上的第二映射点;三维模型获得模块,用于根据第一映射点和第二映射点对目标对象进行三维建模,获得目标对象的三维模型。
可选地,在本申请实施例中,点云地图优化模块,包括:关联图像获得子模块,用于根据图像相似度对多个视觉图像进行关联,获得多个关联图像;数据误差计算子模块,用于针对多个关联图像中的每个关联图像,提取出该关联图像中的特征点和该特征点对应的三维点云,计算出该特征点与该关联图像之间的的重投影光度误差,并计算出三维点云到点云地图数据的几何一致性误差;点云地图优化子模块,用于以重投影光度误差和几何一致性误差为目标函数,对点云地图数据进行优化。
可选地,在本申请实施例中,数据误差计算子模块,包括:特征点获得单元,用于对关联图像进行尺度不变特征变换,获得特征点;特征点测量单元,用于对特征点进行对极几何三角测量,获得三维点云。
可选地,在本申请实施例中,数据误差计算子模块,还包括:第一点云剔除单元,用于若三维点云投影到点云地图数据的像素平面之间的距离大于投影阈值,则剔除该三维点云。
可选地,在本申请实施例中,数据误差计算子模块,还包括:第二点云剔除单元,用于若三维点云的光度与像素平面的投影点的光度之间的光度差值大于光度误差,则剔除该三维点云。
可选地,在本申请实施例中,三维模型获得模块,包括:映射加权融合子模块,用于对第一映射点和第二映射点进行加权融合,获得融合后的映射点;目标对象建模子模块,用于根据融合后的映射点对目标对象进行三维建模。
可选地,在本申请实施例中,三维建模装置,还包括:模型纹理贴图模块,用于使用多个视觉图像对目标对象的三维模型进行纹理贴图,获得贴图后的三维模型。
本申请实施例还提供了一种电子设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上面描述的方法。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上面描述的方法。
本申请实施例的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请实施例中的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出的本申请实施例提供的三维建模方法的流程示意图;
图2示出的本申请实施例提供的对目标对象的三维模型进行纹理贴图的流程示意图;
图3示出的本申请实施例提供的三维建模装置的结构示意图;
图4示出的本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请实施例中的附图仅起到说明和描述的目的,并不用于限定本申请实施例的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请实施例中使用的流程图示出了根据本申请实施例的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请实施例内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请实施例的一部分,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请实施例的详细描述并非旨在限制要求保护的本申请实施例的范围,而是仅仅表示本申请实施例的选定实施例。
可以理解的是,本申请实施例中的“第一”“第二”用于区别类似的对象。本领域技术人员可以理解“第一”“第二”等字样并不对数量和执行次序进行限定,并且“第一”“第二”等字样也并不限定一定不同。在本申请实施例的描述中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。术语“多个”指的是两个以上(包括两个),同理,“多组”指的是两组以上(包括两组)。
在介绍本申请实施例提供的三维建模方法之前,先介绍本申请实施例中所涉及的一些概念:
三维模型,是指物体的三维多边形表示,通常用电脑或者其它影片设备进行显示;显示的物体可以是现实世界的实体,也可以是虚构的东西,既可以小到原子,也可以大到很大的尺寸,当然,在物理自然界存在的东西都可以用三维模型表示。
需要说明的是,本申请实施例提供的三维建模方法可以被电子设备执行,这里的电子设备是指具有执行计算机程序功能的设备终端或者上述的服务器,设备终端例如:智能手机、个人电脑、平板电脑、个人数字助理或者移动上网设备等。服务器是指通过网络提供计算服务的设备,服务器例如:x86服务器以及非x86服务器,非x86服务器包括:大型机、小型机和UNIX服务器。
下面介绍该三维建模方法适用的应用场景,这里的应用场景包括但不限于:可以使用该三维建模方法对目标对象进行三维建模,以此来提高三维建模的精度等,此处的目标对象包括但不限于:实体建筑结构、大型建筑模型或游戏建筑模型等等。此外,还可以将上述的三维建模方法应用在影视视频、游戏娱乐或数字孪生的应用场景中,例如:使用上述的三维建模方法来构建电影或电视剧的影视视频中的三维模型(例如建筑模型等),或,使用上述的三维建模方法来构建游戏娱乐中的大型建筑模型等,或者,可以使用上述的三维建模方法来构建智慧交通或智慧建筑场景中的数字孪生***中的交通设施(例如桥梁等)或公共智慧建筑设施。
请参见图1示出的本申请实施例提供的三维建模方法的流程示意图;该三维建模方法的主要目的是,根据目标对象的多个视觉图像和点云地图数据来重建出三维模型,该方法的实施方式可以包括:
步骤S110:获取目标对象的多个视觉图像,以及获取目标对象的点云地图数据和雷达运动轨迹。
目标对象,是指需要三维建模的目标物体或对象实体,此处的目标对象包括但不限于:实体建筑结构、大型建筑模型或游戏建筑模型等等,对象实体是指现实中存在的物体,可以是现有的实体建筑结构或大型建筑模型,目标物体可以是虚拟的物体,例如可以是游戏建筑模型等等。
视觉图像,是指从视觉上对目标对象进行采集的二维图像,例如黑白照片、彩色照片或红外线照片等等图像,上述的多个视觉图像可以是不同角度拍摄的图像,也可以是没有顺序(即无序)的图像。
点云地图数据,是指使用SLAM技术采集用于地图导航的点云数据,具体可以是激光雷达基于实时定位和建模***等SLAM技术对目标对象(例如建筑室内)进行扫描,获得的点云地图数据,该点云地图数据是稀疏的且非结构化的数据。
雷达运动轨迹,是指激光雷达在对目标对象进行扫描时的运动轨迹,例如在建筑室内扫描时,该激光雷达行走过的运动轨迹等。
步骤S120:根据多个视觉图像对点云地图数据进行优化,获得优化后的点云地图。
可以理解的是,点云地图数据大部分是使用激光雷达扫描采集的,激光雷达的采集精度和测量精度通常在厘米级别的。为了提高点云地图的数据精度,可以根据多个视觉图像对点云地图数据进行优化,即使用无序的视角图像与激光雷达采集的点云地图数据进行联合优化,从而补充出点云地图的场景细节,获得联合优化后的点云地图。由于此处的联合优化过程比较复杂,因此,将在下面的实施方式中详细地介绍该联合优化的具体过程。
步骤S130:获取雷达运动轨迹上的轨迹点在优化后的点云地图上的第一映射点,以及多个视觉图像中的特征点在优化后的点云地图上的第二映射点。
步骤S140:根据第一映射点和第二映射点对目标对象进行三维建模,获得目标对象的三维模型。
在上述方案的实现过程中,上述三维建模方法的主要目的是,根据目标对象的多个视觉图像和稀疏的且非结构化的点云地图数据,来重建出完整且结构化的三维模型,上述方法可以通过目标对象的多个视觉图像优化后的点云地图上轨迹点映射的第一映射点和特征点映射的第二映射点,对该目标对象进行三维建模,从而有效地提高了三维建模的精度。
作为上述步骤S110的一种可选实施方式,获取目标对象的点云地图数据和雷达运动轨迹的实施方式可以包括:
步骤S111:对目标对象进行同步定位与建图SLAM,获得点云地图数据和雷达运动轨迹。
上述步骤S111的实施方式例如:通过激光雷达对目标对象进行同步定位与建图SLAM,使用预设编程语言编译或者解释的可执行程序获得点云地图数据和雷达运动轨迹,可以使用的编程语言例如:C、C++、Java、BASIC、JavaScript、LISP、Shell、Perl、Ruby、Python和PHP等。
作为上述步骤S120的一种可选实施方式,根据多个视觉图像对点云地图数据进行优化的实施方式可以包括:
步骤S121:根据图像相似度对多个视觉图像进行关联,获得多个关联图像。
上述步骤S121的实施方式例如:使用图像特征检测算法对多个视觉图像进行图像特征检测,获得图像特征,其中,此处的图像特征检测算法包括但不限于:尺度不变特征转换(Scale-Invariant Feature Transform,SIFT)、加速稳健特征(Speed Up RobustFeatures,SURF)、FAST(Features from Accelerated Segment Test)、ORB(Oriented FASTand Rotated BRIEF)和/或Harris等等。然后,使用连续词袋(Continuous Bag Of Words,CBOW)的方式来计算多个视觉图像的所有两个视觉图像的图像特征之间的图像相似度。最后,根据图像相似度对多个视觉图像进行关联,多个视觉图像可以包括第一视觉图像和第二视觉图像,具体例如:判断第一视觉图像的图像特征和第二视觉图像的图像特征之间的图像相似度是否大于预设相似度阈值,若第一视觉图像的图像特征和第二视觉图像的图像特征之间的图像相似度大于预设相似度阈值,则将第一视觉图像和第二视觉图像进行关联,获得一个关联图像,同理,将该多个视觉图像的所有两个视觉图像都进行上面的操作,即可获得多个关联图像。
步骤S122:针对多个关联图像中的每个关联图像,提取出该关联图像中的特征点和该特征点对应的三维点云,计算出该特征点与该关联图像之间的重投影光度误差,并计算出三维点云到点云地图数据的几何一致性误差。
上述步骤S122的实施方式例如:针对多个关联图像中的每个关联图像,通过尺度不变特征转换(SIFT)方式提取出该关联图像在像素坐标系下的二维特征点,并获取该特征点对应的三维点云。使用公式计算出该二维特征点与该关联图像之间的重投影光度误差,其中,/>表示重投影光度误差,/>表示第i个视觉图像,/>表示某个二维特征点,/>表示该二维特征点的观测关系,该观测关系可以是点云地图数据总能携带扫描当前视觉图像的索引数据和位姿数据,并对索引数据和位姿数据进行滤波和均匀化后获得的,/>表示第j个视觉图像,/>表示视觉图像的照相机的内参矩阵,/>表示视觉图像的照相机的外参矩阵,/>表示将该二维特征点k从第i个视觉图像投影到第j个视觉图像中,以比较重投影(像素值)光度误差。
最后,使用公式计算出三维点云到点云地图数据的几何一致性误差,其中,/>表示该二维特征点对应的三维点云到点云地图数据的几何一致性误差,/>表示第i个视觉图像,/>表示某个二维特征点,/>表示视觉图像的照相机的内参矩阵,/>表示视觉图像的照相机的外参矩阵,/>表示通过内参矩阵和外参矩阵将二维特征点投影到世界坐标系中,/>和/>分别表示平面p的平面参数。
步骤S123:以重投影光度误差和几何一致性误差为目标函数,对点云地图数据进行优化。
上述步骤S123的实施方式例如:以重投影光度误差和几何一致性误差为目标函数,使用公式对点云地图数据进行优化,构建出最小二乘优化问题来求解。其中,/>表示目标函数,/>表示重投影光度误差,/>表示该二维特征点对应的三维点云到点云地图数据的几何一致性误差,/>表示重投影光度误差与几何一致性误差之间的权重值。
作为上述步骤S122的一种可选实施方式,提取出该关联图像中的特征点和该特征点对应的三维点云的实施方式可以包括:
步骤S122a:对关联图像进行尺度不变特征变换,获得特征点。
上述步骤S122a的实施方式例如:针对多个关联图像中的每个关联图像,通过尺度不变特征转换(SIFT)方式提取出该关联图像在像素坐标系下的二维特征点。
步骤S122b:对特征点进行对极几何三角测量,获得三维点云。
上述步骤S122b的实施方式例如:对该二维特征点进行对极几何三角测量,此处的对极几何三角测量又被称为三角测量对极几何(Epipolar Geometric Triangulation),获得该二维特征点对应的三维点云。
作为上述步骤S122的一种可选实施方式,在提取出该关联图像中的特征点和该特征点对应的三维点云之后,还可以包括:
步骤S122c:若三维点云投影到点云地图数据的像素平面之间的距离大于投影阈值,则剔除该三维点云。
上述步骤S122c的实施方式例如:使用公式计算三维点云投影到点云地图数据的像素平面之间的距离大于投影阈值;其中,/>表示三维点云投影到点云地图数据的像素平面之间的距离,P表示某个三维点云,vis(P)表示该三维点云的所有可能视角。若三维点云投影到点云地图数据的像素平面之间的距离大于投影阈值,则剔除该二维特征点以及该二维特征点对应的三维点云。
和/或,在提取出该关联图像中的特征点和该特征点对应的三维点云之后,还可以包括:
步骤S122d:若三维点云的光度与像素平面的投影点的光度之间的光度差值大于光度误差,则剔除该三维点云。
上述步骤S122d的实施方式例如:使用公式计算三维点云的光度与像素平面的投影点的光度之间的光度差值,其中,/>表示三维点云的光度与像素平面的投影点的光度之间的光度差值,/>表示某个二维特征点,/>表示视觉图像的照相机的内参矩阵,/>表示视觉图像的照相机的外参矩阵,/>表示通过内参矩阵和外参矩阵将二维特征点投影到世界坐标系中,/>和/>分别表示平面p的平面参数。若三维点云的光度与像素平面的投影点的光度之间的光度差值大于光度误差,则剔除该二维特征点以及该二维特征点对应的三维点云。
作为上述步骤S140的一种可选实施方式,根据第一映射点和第二映射点对目标对象进行三维建模的实施方式可以包括:
步骤S141:对第一映射点和第二映射点进行加权融合,获得融合后的映射点。
上述步骤S141的实施方式例如:可以理解的是,由于不同激光设备采集的源点云地图数据的尺度不同,该点云地图数据的误差分别也有差异,因此,使用自适应加权方式对第一映射点和第二映射点进行自适应加权融合,获得融合后的映射点,以此来提高三维建模过程中提取的网格的稳定性。其中,此处的自适应加权方式包括但不限于:使用方向与表面加角的方式,根据几何信息统计方式或者自适应滤波方式。
步骤S142:根据融合后的映射点对目标对象进行三维建模,获得目标对象的三维模型。
上述步骤S142的实施方式例如:在对第一映射点和第二映射点进行加权融合之后,即可获得包括融合后的映射点的点云地图数据。然后,将包括融合后的映射点的点云地图数据进行德劳内(3D Delaunay)三角化,此处的德劳内(3D Delaunay)三角化作用是将点云地图数据生成互不相交的四面体集合,进一步地,还可以将四面体集合的每个四面体作为一个节点,并将每个四面体相邻的面作为边,来构建目标对象的有向图。最后,对目标对象的有向图进行三维建模,具体例如:可以使用最大流/最小切的图割方法对目标对象的有向图进行表面提取,从而获得目标对象的三维模型,以此来提高该三维模型的多尺度化、一体化和精细化。
可选地,在对目标对象进行三维建模的过程中,还可以使用作为三维建模的网格提取函数,其中,/>代表目标对象的有向图的待提取表面,/>代表视觉图像中的视线信息集合,/>表示带视线信息集合权重的图割法网格提取函数,/>、/>和/>分别代表某视线信息集合中的视线信息与目标对象的有向图的待提取表面构造的S项、T项和正则化项,/>表示激光射线或者视觉图像的权重值,当/>表示激光射线的权重值时,该权重值是由源激光雷达(使用L表示)上的传感器误差决定的,/>表示该激光雷达发出的某条激光射线,/>表示激光雷达(使用L表示)上的传感器,/>表示视觉相机采集的某个视觉图像,/>表示视觉相机上的图像传感器的误差,当/>表示视觉图像的权重值,该权重是由视觉相机上的图像传感器的误差与目标对象的有向图的待提取表面法向夹角的余弦(/>)相乘得到的。
作为上述三维建模方法的一种可选实施方式,在获得目标对象的三维模型之后,还可以包括:
步骤S150:使用多个视觉图像对目标对象的三维模型进行纹理贴图,获得贴图后的三维模型。
可以理解的是,在具体实践过程中,可以针对目标对象的不同场景尺寸来进行不同的策略进行纹理贴图,例如:对于尺寸较大场景,可以采用增量式贴图策略来进行纹理贴图,而对于尺寸较小场景,可以采用多视图映射策略来进行纹理贴图,从而增加纹理贴图的更多细节和精度。其中,此处的增量式贴图策略和多视图映射策略的具体细节将在下面详细地描述。
请参见图2示出的本申请实施例提供的对目标对象的三维模型进行纹理贴图的流程示意图;上述步骤S150的实施方式可以包括如下步骤:
步骤S151:判断视觉图像的采集设备是否是预设设备。
可以理解的是,上述的尺寸较大场景或尺寸较小场景是由视觉图像的采集设备决定的,具体例如:若视觉图像的采集设备是激光设备(例如使用激光设备快速地游走和建图),那么该视觉图像对应的场景就是尺寸较大场景。同理地,若视觉图像的采集设备是相机设备(例如使用近距离相机补拍),那么该视觉图像对应的场景就是尺寸较小场景。
上述步骤S151的实施方式例如:使用预设编程语言编译或者解释的可执行程序判断视觉图像的采集设备是否是预设设备,可以使用的编程语言例如:C、C++、Java、BASIC、JavaScript、LISP、Shell、Perl、Ruby、Python和PHP等等。
步骤S152:若视觉图像的采集设备是预设设备,则将使用第一种贴图策略来进行纹理贴图,获得贴图后的三维模型。
第一种贴图策略,是指对尺寸较大场景进行纹理贴图的策略,第一种贴图策略可以是增量式贴图策略。上述的预设设备可以是激光设备(例如使用激光设备快速地游走和建图),当然也可以是其他大型采集尺寸较大场景的设备。
上述步骤S152的实施方式例如:考虑到尺寸较大场景中的激光设备的轨迹是具有连续性的,且视觉图像对该尺寸较大场景的覆盖范围是有限的,因此可以使用第一种贴图策略(例如增量式贴图策略)来进行纹理贴图。若视觉图像的采集设备是预设设备(例如激光设备),则将使用第一种贴图策略来进行纹理贴图,获得贴图后的三维模型,其中,u代表二维的视觉图像上的纹理坐标,/>代表当前映射的面片,/>代表视觉图像上的纹理坐标与当前映射的面片之间的可见性权重,d代表视觉图像的采集设备到当前映射的面片的距离,对于连续时间/>,当前映射的面片对应的纹理图片可以由可见性权重的所有颜色值加权获得,颜色值加权的过程具体例如:/>;其中,/>表示当前映射的面片对应的纹理图片,/>代表二维的视觉图像在t时刻的纹理坐标,/>代表当前映射的面片,/>代表在t时刻的纹理坐标对应的视觉图像颜色值。
步骤S153:若视觉图像的采集设备不是预设设备,则将使用第二种贴图策略来进行纹理贴图,获得贴图后的三维模型。
第二种贴图策略,是指对尺寸较小场景进行纹理贴图的策略,第二种贴图策略可以是多视图映射贴图策略。由于尺寸较小场景中的物体结构通常比较复杂,需要多个角度地拍摄目标对象,可以从每个三角面片透视投影映射到多张视觉图像中,从而筛选出与该三角面片关联的视觉图像。
上述步骤S153的实施方式例如:若视觉图像的采集设备不是预设设备(例如激光设备),则将使用第二种贴图策略来进行纹理贴图,具体地,可以考虑图像清晰度来更新视觉图像对应的视觉图像颜色值,例如使用公式来更新视觉图像颜色值,获得更新后颜色值组成的视觉图像,其中,C代表更新后颜色值,/>代表第i个视觉图像颜色值,/>代表该视觉图像对应的参考图像(即更新前的旧图像)的颜色值,/>表示第i个视觉图像颜色值的灰度值,/>代表该视觉图像对应的参考图像的灰度值。然后,使用公式/>对更新后的视觉图像的区域边界进行匀光匀色,获得贴图后的三维模型。
在上述的实现过程中,通过使用不同的贴图策略对不同设备采集的视觉图像进行纹理贴图,从而使得贴图后的三维模型能够具有跨尺度的特性,从而提高了三维模型的重建精度。
请参见图3示出的本申请实施例提供的三维建模装置的结构示意图;本申请实施例提供了一种三维建模装置200,包括:
数据轨迹获取模块210,用于获取目标对象的多个视觉图像,以及获取目标对象的点云地图数据和雷达运动轨迹。
点云地图优化模块220,用于根据多个视觉图像对点云地图数据进行优化,获得优化后的点云地图。
点云映射获取模块230,用于获取雷达运动轨迹上的轨迹点在优化后的点云地图上的第一映射点,以及多个视觉图像中的特征点在优化后的点云地图上的第二映射点。
三维模型获得模块240,用于根据第一映射点和第二映射点对目标对象进行三维建模,获得目标对象的三维模型。
可选地,在本申请实施例中,点云地图优化模块,包括:
关联图像获得子模块,用于根据图像相似度对多个视觉图像进行关联,获得多个关联图像。
数据误差计算子模块,用于针对多个关联图像中的每个关联图像,提取出该关联图像中的特征点和该特征点对应的三维点云,计算出该特征点与该关联图像之间的重投影光度误差,并计算出三维点云到点云地图数据的几何一致性误差。
点云地图优化子模块,用于以重投影光度误差和几何一致性误差为目标函数,对点云地图数据进行优化。
可选地,在本申请实施例中,数据误差计算子模块,包括:
特征点获得单元,用于对关联图像进行尺度不变特征变换,获得特征点。
特征点测量单元,用于对特征点进行对极几何三角测量,获得三维点云。
可选地,在本申请实施例中,数据误差计算子模块,还包括:
第一点云剔除单元,用于若三维点云投影到点云地图数据的像素平面之间的距离大于投影阈值,则剔除该三维点云。
第二点云剔除单元,用于若三维点云的光度与像素平面的投影点的光度之间的光度差值大于光度误差,则剔除该三维点云。
可选地,在本申请实施例中,三维模型获得模块,包括:
映射加权融合子模块,用于对第一映射点和第二映射点进行加权融合,获得融合后的映射点。
目标对象建模子模块,用于根据融合后的映射点对目标对象进行三维建模。
可选地,在本申请实施例中,数据轨迹获取模块,包括:
同步定位建图子模块,用于对目标对象进行同步定位与建图SLAM,获得点云地图数据和雷达运动轨迹。
可选地,在本申请实施例中,三维建模装置,还包括:
模型纹理贴图模块,用于使用多个视觉图像对目标对象的三维模型进行纹理贴图,获得贴图后的三维模型。
应理解的是,该装置与上述的三维建模方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作***(operating system,OS)中的软件功能模块。
请参见图4示出的本申请实施例提供的电子设备的结构示意图。本申请实施例提供的一种电子设备300,包括:处理器310和存储器320,存储器320存储有处理器310可执行的机器可读指令,机器可读指令被处理器310执行时执行如上的方法。
本申请实施例还提供了一种计算机可读存储介质330,该计算机可读存储介质330上存储有计算机程序,该计算机程序被处理器310运行时执行如上的方法。
其中,计算机可读存储介质330可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory, 简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory, 简称EPROM),可编程只读存储器(Programmable Read-Only Memory, 简称PROM),只读存储器(Read-Only Memory, 简称ROM),磁存储器,快闪存储器,磁盘或光盘。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅是示意性的,例如,附图中的流程图和框图显示了根据本申请实施例的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以和附图中所标注的发生顺序不同。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这主要根据所涉及的功能而定。
另外,在本申请实施例中的各个实施例的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。此外,在本说明书的描述中,参考术语“一个实施例”“一些实施例”“示例”“具体示例”“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上的描述,仅为本申请实施例的可选实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。
Claims (10)
1.一种三维建模方法,其特征在于,包括:
获取目标对象的多个视觉图像,以及获取所述目标对象的点云地图数据和雷达运动轨迹;
根据所述多个视觉图像对所述点云地图数据进行优化,获得优化后的点云地图;
获取所述雷达运动轨迹上的轨迹点在所述优化后的点云地图上的第一映射点,以及所述多个视觉图像中的特征点在所述优化后的点云地图上的第二映射点;
根据所述第一映射点和所述第二映射点对所述目标对象进行三维建模,获得所述目标对象的三维模型。
2.根据权利要求1所述的方法,其特征在于,所述根据所述多个视觉图像对所述点云地图数据进行优化,包括:
根据图像相似度对所述多个视觉图像进行关联,获得多个关联图像;
针对所述多个关联图像中的每个关联图像,提取出该关联图像中的特征点和该特征点对应的三维点云,计算出该特征点与该关联图像之间的重投影光度误差,并计算出所述三维点云到所述点云地图数据的几何一致性误差;
以所述重投影光度误差和所述几何一致性误差为目标函数,对所述点云地图数据进行优化。
3.根据权利要求2所述的方法,其特征在于,所述提取出该关联图像中的特征点和该特征点对应的三维点云,包括:
对所述关联图像进行尺度不变特征变换,获得所述特征点;
对所述特征点进行对极几何三角测量,获得所述三维点云。
4.根据权利要求2所述的方法,其特征在于,在所述提取出该关联图像中的特征点和该特征点对应的三维点云之后,还包括:
若所述三维点云投影到所述点云地图数据的像素平面之间的距离大于投影阈值,则剔除该三维点云。
5.根据权利要求2所述的方法,其特征在于,在所述提取出该关联图像中的特征点和该特征点对应的三维点云之后,还包括:
若所述三维点云的光度与所述点云地图数据的像素平面的投影点的光度之间的光度差值大于光度误差,则剔除该三维点云。
6.根据权利要求1所述的方法,其特征在于,所述根据所述第一映射点和所述第二映射点对所述目标对象进行三维建模,包括:
对所述第一映射点和所述第二映射点进行加权融合,获得融合后的映射点;
根据所述融合后的映射点对所述目标对象进行三维建模。
7.根据权利要求1所述的方法,其特征在于,在所述获得所述目标对象的三维模型之后,还包括:
使用所述多个视觉图像对所述目标对象的三维模型进行纹理贴图,获得贴图后的三维模型。
8.一种三维建模装置,其特征在于,包括:
数据轨迹获取模块,用于获取目标对象的多个视觉图像,以及获取所述目标对象的点云地图数据和雷达运动轨迹;
点云地图优化模块,用于根据所述多个视觉图像对所述点云地图数据进行优化,获得优化后的点云地图;
点云映射获取模块,用于获取所述雷达运动轨迹上的轨迹点在所述优化后的点云地图上的第一映射点,以及所述多个视觉图像中的特征点在所述优化后的点云地图上的第二映射点;
三维模型获得模块,用于根据所述第一映射点和所述第二映射点对所述目标对象进行三维建模,获得所述目标对象的三维模型。
9.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述机器可读指令被所述处理器执行时执行如权利要求1至7任一所述的方法。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310745532.7A CN116503566B (zh) | 2023-06-25 | 2023-06-25 | 一种三维建模方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310745532.7A CN116503566B (zh) | 2023-06-25 | 2023-06-25 | 一种三维建模方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116503566A true CN116503566A (zh) | 2023-07-28 |
CN116503566B CN116503566B (zh) | 2024-03-29 |
Family
ID=87325104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310745532.7A Active CN116503566B (zh) | 2023-06-25 | 2023-06-25 | 一种三维建模方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116503566B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117635875A (zh) * | 2024-01-25 | 2024-03-01 | 深圳市其域创新科技有限公司 | 一种三维重建方法、装置及终端 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030091226A1 (en) * | 2001-11-13 | 2003-05-15 | Eastman Kodak Company | Method and apparatus for three-dimensional scene modeling and reconstruction |
US20180275277A1 (en) * | 2017-03-22 | 2018-09-27 | Here Global B.V. | Method, apparatus and computer program product for mapping and modeling a three dimensional structure |
CN108734654A (zh) * | 2018-05-28 | 2018-11-02 | 深圳市易成自动驾驶技术有限公司 | 绘图与定位方法、***及计算机可读存储介质 |
CN112184768A (zh) * | 2020-09-24 | 2021-01-05 | 杭州易现先进科技有限公司 | 基于激光雷达的sfm重建方法、装置和计算机设备 |
CN114022639A (zh) * | 2021-10-27 | 2022-02-08 | 浪潮电子信息产业股份有限公司 | 三维重建模型的生成方法、***、电子设备及存储介质 |
CN114792338A (zh) * | 2022-01-10 | 2022-07-26 | 天津大学 | 基于先验三维激光雷达点云地图的视觉融合定位方法 |
CN115342796A (zh) * | 2022-07-22 | 2022-11-15 | 广东交通职业技术学院 | 基于视觉激光融合的地图构建方法、***、装置及介质 |
CN115830073A (zh) * | 2022-12-22 | 2023-03-21 | 安徽蔚来智驾科技有限公司 | 地图要素重建方法、装置、计算机设备和存储介质 |
-
2023
- 2023-06-25 CN CN202310745532.7A patent/CN116503566B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030091226A1 (en) * | 2001-11-13 | 2003-05-15 | Eastman Kodak Company | Method and apparatus for three-dimensional scene modeling and reconstruction |
US20180275277A1 (en) * | 2017-03-22 | 2018-09-27 | Here Global B.V. | Method, apparatus and computer program product for mapping and modeling a three dimensional structure |
CN108734654A (zh) * | 2018-05-28 | 2018-11-02 | 深圳市易成自动驾驶技术有限公司 | 绘图与定位方法、***及计算机可读存储介质 |
CN112184768A (zh) * | 2020-09-24 | 2021-01-05 | 杭州易现先进科技有限公司 | 基于激光雷达的sfm重建方法、装置和计算机设备 |
CN114022639A (zh) * | 2021-10-27 | 2022-02-08 | 浪潮电子信息产业股份有限公司 | 三维重建模型的生成方法、***、电子设备及存储介质 |
CN114792338A (zh) * | 2022-01-10 | 2022-07-26 | 天津大学 | 基于先验三维激光雷达点云地图的视觉融合定位方法 |
CN115342796A (zh) * | 2022-07-22 | 2022-11-15 | 广东交通职业技术学院 | 基于视觉激光融合的地图构建方法、***、装置及介质 |
CN115830073A (zh) * | 2022-12-22 | 2023-03-21 | 安徽蔚来智驾科技有限公司 | 地图要素重建方法、装置、计算机设备和存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117635875A (zh) * | 2024-01-25 | 2024-03-01 | 深圳市其域创新科技有限公司 | 一种三维重建方法、装置及终端 |
CN117635875B (zh) * | 2024-01-25 | 2024-05-14 | 深圳市其域创新科技有限公司 | 一种三维重建方法、装置及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN116503566B (zh) | 2024-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108335353B (zh) | 动态场景的三维重建方法、装置和***、服务器、介质 | |
WO2019127445A1 (zh) | 三维建图方法、装置、***、云端平台、电子设备和计算机程序产品 | |
CN112132972B (zh) | 一种激光与图像数据融合的三维重建方法及*** | |
CN106940704B (zh) | 一种基于栅格地图的定位方法及装置 | |
CN109974693B (zh) | 无人机定位方法、装置、计算机设备及存储介质 | |
CN110568447B (zh) | 视觉定位的方法、装置及计算机可读介质 | |
WO2019164498A1 (en) | Methods, devices and computer program products for global bundle adjustment of 3d images | |
CN112197764B (zh) | 实时位姿确定方法、装置及电子设备 | |
CN112184603B (zh) | 一种点云融合方法、装置、电子设备和计算机存储介质 | |
CN112312113B (zh) | 用于生成三维模型的方法、装置和*** | |
CN110807833B (zh) | 一种网状拓扑获得方法、装置、电子设备及存储介质 | |
CN111415420B (zh) | 空间信息确定方法、装置及电子设备 | |
CN116503566B (zh) | 一种三维建模方法、装置、电子设备及存储介质 | |
CN115035235A (zh) | 三维重建方法及装置 | |
CN116051747A (zh) | 一种基于缺失点云数据的房屋三维模型重建方法及设备、介质 | |
CN114782628A (zh) | 基于深度相机的室内实时三维重建方法 | |
CN110766731A (zh) | 一种全景影像与点云自动配准的方法、装置及存储介质 | |
CN111899345B (zh) | 一种基于2d视觉图像的三维重建方法 | |
CN112562005A (zh) | 一种空间标定方法和*** | |
CN115376109A (zh) | 障碍物检测方法、障碍物检测装置以及存储介质 | |
CN109785429B (zh) | 一种三维重建的方法和装置 | |
CN109785421B (zh) | 一种基于空地影像组合的纹理映射方法及*** | |
CN110148086B (zh) | 稀疏深度图的深度补齐方法、装置及三维重建方法、装置 | |
CN115131407B (zh) | 面向数字仿真环境的机器人目标跟踪方法、装置和设备 | |
CN117132649A (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 |