基于增强现实的三维建模方法、装置、存储介质、设备

文档序号:30655811发布日期:2022-07-06 00:53阅读:138来源:国知局
基于增强现实的三维建模方法、装置、存储介质、设备

1.本发明属于计算机图形技术领域,具体地讲,涉及一种基于增强现实的三维建模方法、三维建模装置、计算机可读存储介质、计算机设备。


背景技术:

2.三维建模是图形学和人机交互领域中重要的研究课题,三维模型广泛应用于游戏,制造业等领域,传统的模型通常是通过3dmax等建模软件在电脑屏幕上手工交互创建的,这对技术人员要求较高且费时费力。随着vr(virtual reality,虚拟现实)和ar(augmented reality,增强现实)硬件和软件的发展,这使得用户能够直接在三维环境中工作,如使用google tilt brush这样的产品能够在三维环境中沉浸式的自由创作,让建模过程变得更简单直观。ar技术是一种将虚拟信息与真实世界叠加融合的技术,广泛运用了多模态数据、三维建模、智能交互、传感等多种技术手段,将计算机生成的图像、三维模型等虚拟信息构建仿真之后叠加到真实场景中,两种信息相辅相成,从而增强真实的场景。在ar环境中将虚拟物体叠加在真实场景中显示,能够极大提升用户的三维空间感知,便于用户三维交互操作。同时,ar提供了在线数据采集功能,能够无缝结合数据获取和建模过程,从而无需离线采集数据后再开始建模。
3.基于草图的建模技术的优势在于用户能够的用简单的草图创建现实生活中存在或不存在的物体模型,以达到简单高效的建模体验。基于二维草图创建模型通常采用二维屏幕空间的交互,使用鼠标或平板等设备创建二维笔画,然后通过先验假设推测出三维信息从而获得三维模型。虽然这种交互方式较为准确,但是由于二维草图缺失了深度信息,由先验推测出的三维信息并不准确。同时这种交互不直观,通常存在歧义。使用三维草图创建模型的优势在于能够绘制三维笔画,交互方式直观且具体。现有的基于三维草图的建模方法需要绘制繁杂且精确的三维笔画。然而,由于使用手在半空中绘制时往往会因为抖动导致不精确的笔画,创造精确的笔画往往是一项棘手的任务。目前大部分工作提出了利用平板电脑、数字笔等辅助设备提高交互的准确性。
4.现有技术存在的问题在于要求绘制精细的三维笔画才能创造较好的模型结果。如果引入额外的硬件设备提升交互精度则需要必要的学习成本,且降低了使用的舒适度。目前的方法均未使用场景数据,而这些场景数据是建模的重要信息,如他们没有考虑到场景数据也潜在蕴含了物体的大致形状和尺度信息。


技术实现要素:

5.(一)本发明所要解决的技术问题
6.本发明解决的技术问题是:如何有效地利用场景点云数据提高三维模型的精确性。
7.(二)本发明所采用的技术方案
8.一种基于增强现实的三维建模方法,所述三维建模方法包括:
9.根据增强现实设备采集到的真实场景图像生成真实场景点云,其中所述真实场景图像包含目标对象的图像;
10.根据获取到的用户手绘动作信息和所述真实场景点云构建目标对象粗糙模型;
11.根据所述目标对象粗糙模型从所述真实场景点云中分割出目标对象点云;
12.利用所述目标对象点云调整所述目标对象粗糙模型,获得目标对象精细模型。
13.优选地,所述用户手绘动作信息包括根据识别到的用户绘制动作实时生成的若干轮廓笔画点和若干轨迹笔画点,所述根据获取到的用户手绘动作信息和所述真实场景点云生成目标对象粗糙模型的方法包括:
14.在生成轮廓笔画点时,从所述真实场景点云中检索出轮廓匹配点,将各个所述轮廓笔画点吸附至所述轮廓匹配点,以形成轮廓笔画;
15.在生成轨迹笔画点时,从所述真实场景点云中检索出轨迹匹配点,将各个所述轨迹笔画点吸附至所述轨迹匹配点,以形成轨迹笔画;
16.根据所述轮廓笔画和所述轨迹笔画生成目标对象粗糙模型。
17.优选地,在生成轮廓笔画点时,从所述真实场景点云中检索出轮廓匹配点的方法包括:
18.从所述真实场景点云中筛选出候选点集,所述候选点集中的各个点与所述轮廓笔画点的距离均小于预定值;
19.判断所述候选点集中是否存在边缘点;
20.若存在则将与所述轮廓笔画点距离最小的边缘点作为轮廓匹配点;
21.若不存在则所述候选点集中与所述轮廓笔画点距离最小的点作为轮廓匹配点。
22.优选地,根据所述目标对象粗糙模型从所述真实场景点云中分割出目标对象点云的方法包括:
23.根据所述目标对象粗糙模型确定候选空间区域,所述目标对象处于所述候选空间区域内;
24.对所述候选空间区域内中的点云进行聚类处理,形成若干点云簇;
25.将点云数量大于预定数量的部分所述点云簇作为候选点云簇;
26.计算轨迹笔画与各个所述候选点云簇之间的空间距离,其中所述空间距离为所述轨迹笔画的每个笔画点与候选点云簇最近距离之和;
27.将空间距离最小的候选点云簇作为目标对象点云。
28.优选地,利用所述目标对象点云优化所述目标对象粗糙模型,获得目标对象精细模型的方法包括:
29.预测得到所述目标对象粗糙模型的模型类型;
30.按照根据所述模型类型对所述目标对象粗糙模型进行参数化处理,获得初始参数;
31.根据所述初始参数和所述目标对象点云构建距离目标函数;
32.采用最小二乘法对所述距离目标函数进行最小化处理,获得优化参数;
33.根据所述优化参数构建得到目标对象精细模型。
34.优选地,所述获取所述目标对象粗糙模型的预测模型类型的方法包括:
35.将形成的轮廓笔画和轨迹笔画分别输入到预先训练好的预测模型中,预测得到轮
廓笔画类型和轨迹笔画类型;
36.根据所述轮廓笔画类型和轨迹笔画类型预测得到目标对象粗糙模型的模型类型。
37.优选地,所述三维建模方法还包括:
38.根据预测得到的所述轮廓笔画类型对所述轮廓笔画的形状进行优化。
39.本技术还公开了一种基于增强现实的三维建模装置,所述三维建模装置包括:
40.预处理单元,用于根据增强现实设备采集到的真实场景图像生成真实场景点云,其中所述真实场景图像包含目标对象的图像;
41.模型构建单元,用于根据获取到的用户手绘动作信息和所述真实场景点云构建目标对象粗糙模型;
42.点云分割单元,用于根据所述目标对象粗糙模型从所述真实场景点云中分割出目标对象点云;
43.模型优化单元,用于利用所述目标对象点云调整所述目标对象粗糙模型,获得目标对象精细模型。
44.本技术还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有基于增强现实的三维建模程序,所述基于增强现实的三维建模程序被处理器执行时实现上述的基于增强现实的三维建模方法。
45.本技术还公开了一种计算机设备,所述计算机设备包括计算机可读存储介质、处理器和存储在所述计算机可读存储介质中的基于增强现实的三维建模程序,所述基于增强现实的三维建模程序被处理器执行时实现上述的基于增强现实的三维建模方法。
46.(三)有益效果
47.本发明公开了一种基于增强现实的三维建模方法,相对于传统的建模方法,具有如下技术效果:
48.本方法充分利用场景图像中包含的目标对象的尺度、细节信息,在用户仅仅手绘简单笔画的情况下,也能获得高精细度的模型,降低了学习成本和提高了使用舒适度。
附图说明
49.图1为本发明的实施例一的基于增强现实的三维建模方法的流程图;
50.图2为本发明的实施例一的基于增强现实的三维建模方法的过程示意图;
51.图3为本发明的实施例一的扫面模型生成示意图;
52.图4为本发明的实施例一的轮廓笔画优化示意图;
53.图5为本发明的实施例一的模型类型的预测过程示意图;
54.图6为本发明的实施例一的不同的单部件物体的建模过程示意图;
55.图7为本发明的实施例一的多部件物体的建模过程示意图;
56.图8为本发明的实施例二的基于增强现实的三维建模装置的原理框图;
57.图9为本发明的实施例四的计算机设备示意图。
具体实施方式
58.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用
于限定本发明。
59.在详细描述本技术的各个实施例之前,首先简单描述本技术的发明构思:现有的三维草图模型构建过程中,为了获得精确的交互笔画,往往需要采用平板电脑、数字笔等辅助设备提高交互准确性,但这必然导致更大的学习成本和更差的使用舒适度。为此,本技术提供的基于增强现实的三维建模方法,首先将包含目标对象的场景图像转化为真实场景点云,接着根据用户手绘动作构建得到目标对象粗糙模型,进一步从真实场景点云中分割出目标对象点云,最后利用目标对象点云对目标对象粗糙模型进行优化调整,获得目标对象精细模型。本技术充分利用场景图像中包含的目标对象的尺度、细节信息,在用户仅仅手绘简单笔画的情况下,也能获得高精细度的模型,降低了学习成本和提高了使用舒适度。
60.如图1所示,本实施例一的基于增强现实的三维建模方法包括如下步骤:
61.步骤s10:根据增强现实设备采集到的真实场景图像生成真实场景点云,其中真实场景图像包含目标对象的图像;
62.步骤s20:根据获取到的用户手绘动作信息和真实场景点云构建目标对象粗糙模型;
63.步骤s30:根据目标对象粗糙模型从真实场景点云中分割出目标对象点云;
64.步骤s40:利用目标对象点云优化目标对象粗糙模型,获得目标对象精细模型。
65.在步骤s10中,本实施例一采用增强现实设备hololens2采集真实场景的深度图和彩色图,即真实场景图像,根据深度图像重构的点云数据实时地显示在头戴显示器中。每当收集到用户的采集指令,例如用户的拇指和食指快速重合两次,从当前深度图像和彩色图像中重构一帧彩色点云。然后,执行预设的配准方法将当前帧点云与历史点云合并,以减少增强现实设备hololens 2中姿态估计引起的配准误差。最后,对已获取的点云数据采用基于密度的去噪算法,以获得更干净的真实场景点云。如图2的(a)所示。
66.进一步地,为了进一步提高构建模型的准确度和舒适度,本实施例一中采用随机抽样一致算法(random sample consensus,ransac)对真实场景点云进行平面特征检测,提取出平面;采用canny算法对真实场景的深度图进行边缘提取,根据提取结果对真实场景点云的各个点标记类型,即每个点为边缘点或非边缘点,其中点的标记类型在点云配准过程中保持不变。
67.进一步地,在步骤s20中,采用基于扫面的建模方法构建三维模型,即创建一个三维扫面模型需要绘制一个轮廓笔画和轨迹笔画,其中轮廓笔画位于空间中的某个平面上且轮廓笔画沿着轨迹笔画扫过以构建出三维扫面模型,每个笔画均由一系列三维顶点组成。即本实施例一的用户手绘动作信息包括根据识别到的用户绘制动作实时生成的若干轮廓笔画点和若干轨迹笔画点。
68.具体来讲,步骤s20包括:在生成轮廓笔画点时,从真实场景点云中检索出轮廓匹配点,将各个轮廓笔画点吸附至轮廓匹配点,以形成轮廓笔画;在生成轨迹笔画点时,从真实场景点云中检索出轮廓匹配点,将各个所述轨迹笔画点吸附至所述轨迹匹配点,以形成轨迹笔画;根据所述轮廓笔画和所述轨迹笔画生成目标对象粗糙模型,目标对象粗糙模型如图2的(b)所示。
69.其中,在生成轮廓笔画点时,从真实场景点云中检索出轮廓匹配点的方法为:识别到用户绘制动作并转化为轮廓笔画点时,实施检索真实场景点云,筛选出筛选出候选点集,
候选点集中的各个点与轮廓笔画点的距离均小于预定值;进一步判断候选点集中是否存在边缘点;若存在边缘点则将与轮廓笔画点距离最小的边缘点作为轮廓匹配点。需要说明的是,当只存在一个边缘点时直接将该边缘点作为轮廓匹配点;若不存在则候选点集中与轮廓笔画点距离最小的点作为轮廓匹配点。对于轨迹笔画点,也采用上述方法检索出轨迹匹配点,并完成吸附,具体过程可参考上文描述,在此不进行赘述。
70.当轮廓笔画绘制完成,使用最小二乘算法拟合出轮廓笔画所在的平面p作为依托平面,并将笔画点投影到平面p上。如果平面p和从场景点云中提取的平面f相似,则选择f作为依托平面。由于轮廓笔画是位于空间中的某个平面的,寻找到依托平面可以提高交互的体验感,降低用户的操作难度。
71.进一步地,为了提高交互便捷性,在形成轮廓笔画之后,在将形成的轮廓笔画分别输入到预先训练好的预测模型中,预测得到轮廓笔画类型,根据预测到的轮廓笔画类型后优化轮廓笔画形状以得到用户预期的笔画结果,并将结果实时反馈给用户。其中,预测模型采用lstm网络,预测和优化的笔画类型包括直线、圆、矩形、自由曲线等,其中直线、圆和矩形使用最小二乘算法优化笔画,对于自由曲线采用三次b样条算法平滑算法减少抖动造成的影响,具体的优化结果可参照图4所示。
72.如图3所示,在得到轮廓笔画和轨迹笔画之后,控制轮廓笔画沿着轨迹笔画扫过,形成目标对象粗糙模型。需要说明的是,可以在形成完整的轨迹笔画之后再将轮廓笔画进行扫面,也可以在形成轨迹笔画的部分区段或每形成一个轨迹笔画点时,即可将轮廓笔画进行扫面。
73.进一步地,为了优化用户创建的目标对象粗糙模型,需要将与目标对象粗糙模型相关的点云从真实场景点云中分割出来。为了解决这一任务,本实施例一利用目标对象粗糙模型潜在包含的分割语义来辅助点云分割过程分割得到的目标对象点云如图2的(c)所示。
74.具体来说,步骤s30中根据目标对象粗糙模型从真实场景点云中分割出目标对象点云的方法包括如下步骤:
75.步骤s31:根据目标对象粗糙模型确定候选空间区域,目标对象处于所述候选空间区域内。用户创建的目标对象粗糙模型已经确定了目标对象的大致空间范围,大致空间范围γ表示为候选空间区域。优选地,候选空间区域选取为目标对象粗糙模型的轴向包围盒的1.5倍。
76.步骤s32:对候选空间区域内中的点云进行聚类处理,形成若干点云簇。具体来说,使用考虑了欧几里得距离以及表面点连续性的聚类算法对候选空间区域中的点云数据进行分割,其中对于圆柱和长方体的物体添加了点法线与主轴方向垂直的约束以获得更好的结果,聚类结果得到若干个点云簇。
77.步骤s33:将点云数量大于预定数量的部分所述点云簇作为候选点云簇。预定数量需要根据实际情况进行设定,例如这里可以选取点云数目排在前三位的的三个点云簇作为候选点云簇。
78.步骤s34:计算轨迹笔画与各个所述候选点云簇之间的空间距离,其中所述空间距离为所述轨迹笔画的每个笔画点与候选点云簇最近距离之和。
79.步骤s35:将空间距离最小的候选点云簇作为目标对象点云。
80.具体地,由于轨迹笔画总是锚定在物体点云表面,因此选择与轨迹笔画空间距离最小的候选点云簇作为分割的结果。轨迹笔画到候选点云簇的空间距离计算为:轨迹笔画中的每个笔画点到点云簇最近距离之和。其中,每个笔画点到候选点云簇最近距离的计算方法为:计算笔画点与候选点云簇中各个点的距离,将最小距离作为每个笔画点到候选点云簇最近距离。
81.现有技术中通常采用基于点云密度的聚类算法和区域增长算法对整个场景进行分割,通常只能进行粗分割成若部分,通常得不到精确的分割结果且需要用户手工指定分割结果。本实施例一中步骤s30的分割方法专为扫面模型对象的设计的,本质是利用了用户的语义信息辅助过程。利用目标对象类别的语义信息约束能够更准确的分割出目标点云。同时利用初始笔画的位置信息提高分割速度和选定目标对象,无需用户额外的手工指定目标点云对象。
82.进一步地,在步骤s40中,利用目标对象点云优化目标对象粗糙模型,获得目标对象精细模型的方法包括如下步骤:
83.步骤s41:预测得到所述目标对象粗糙模型的模型类型。
84.具体来讲,将形成的轮廓笔画和轨迹笔画分别输入到预先训练好的预测模型中,预测得到轮廓笔画类型和轨迹笔画类型;根据轮廓笔画类型和轨迹笔画类型预测得到目标对象粗糙模型的模型类型。其中,预测模型采用lstm模型,如图5所示,根据不同的轮廓笔画类型和轨迹笔画类型预测得到不同的模型类型。
85.步骤s42:按照根据模型类型对目标对象粗糙模型进行参数化处理,获得初始参数。
86.此时的目标对象粗糙模型由点云数据构成,根据目标对象粗糙模型的模型类型,确定可以表征该模型类型的参数,进而将目标对象粗糙模型转化为该参数。例如,对于圆柱面可以参数化为为轴方向n(单位向量),轴上的点q和半径r,即利用三个初始参数n、q、r可表征圆柱面。
87.步骤s43:根据初始参数和目标对象点云构建距离目标函数。
88.步骤s44:采用最小二乘法对距离目标函数进行最小化处理,获得优化参数。
89.步骤s45:根据优化参数构建得到目标对象精细模型。
90.构建得到的距离目标函数表征目标对象点云到目标对象粗糙模型表面的距离,对距离目标函数进行最小化处理,即调整初始参数的值,使得距离目标函数的值最小化,此时说明目标对象点云整体上最贴近于目标对象粗糙模型表面,调整后的初始参数即为优化参数,最后根据目标对象精细模型,例如根据优化后的n、q、r可构建得到优化后的圆柱面。
91.下面对不同类型的目标对象粗糙模型优化过程进行说明。
92.上一步从真实场景点云中分割出来的目标对象点云为p={p1,p2,

,pn}。
93.(1)圆柱面。圆柱面可以参数化为为轴方向n(单位向量),轴上的点q和半径r。结合目标对象点云,构建的距离目标函数为:
[0094][0095]
其中,piq表示从pi指向q的向量,这个函数的构建基于对于圆柱面上每个点到轴的
距离均为r。
[0096]
(2)锥面。锥面可以参数化为顶点a,轴方向n(单位向量)和锥的半角θ。对于锥体,构建的距离目标函数如下,函数表示点云到锥体表面的距离:
[0097][0098]
(3)长方体:长方体总是参数化为标准正交向量w,h,l,相应标量w,h,l和中心点c。从这些参数可以重构出长方体的平面集合t={t1,t2,t3,t4,t5,t6},则拟合长方体的距离目标函数如下,函数表示了点云到长方体表面的距离:
[0099][0100]
δ
γ
=(w.h)2+(h.l)2+(w.l)2,
[0101]
其中distance(pi,tk)项表示点pi到平面tk的距离,δγ项用于确保向量w,h和l之间为相互正交关系。
[0102]
(4)广义圆柱:我们将广义圆柱体表示为一个由多个圆形切片组成的整体,且圆的中心均在轴上,因此优化目标可以简化为同轴的多个三维圆面拟合,距离目标函数为
[0103][0104][0105]
其中k是圆形切片的数量,ci,ri和n分别是第i个圆形切片的参数,α控制圆面半径变换的平滑度,γ用于保证圆切片的圆心均在同一轴上。对于第i个圆的优化,首先从目标对象点云p中截取在圆上的点集s,判断依据为点到圆i所在平面的距离小于一定阈值,本实施例一中取0.005。
[0106][0107]
因此,通过最小化上述各个距离目标函数,可获得对应的优化参数,最后在通过优化参数构建得到优化模型,即目标对象精细模型。
[0108]
本实施例一公开的基于增强现实的三维建模方法,该方法不要求用户手绘出精细的笔画,将简单的笔画绘制和实地捕获的场景数据相结合,并采用三维交互的方式,使创建模型过程更简单。同时借助增强现实技术,克服了在二维屏幕绘制的2d草图难以确定的缺点。
[0109]
示例性地,图6是对不同的单部件物体进行三维建模的过程示意图。图7是对多部件物体进行三维建模的过程示意图。
[0110]
进一步地,如图8所示,本实施例二还公开了一种基于增强现实的三维建模装置,三维建模装置包括预处理单元100、模型构建单元200、点云分割单元300、模型优化单元
400。预处理单元100用于根据增强现实设备采集到的真实场景图像生成真实场景点云,其中真实场景图像包含目标对象的图像;模型构建单元200用于根据获取到的用户手绘动作信息和所述真实场景点云构建目标对象粗糙模型;点云分割单元300用于根据所述目标对象粗糙模型从所述真实场景点云中分割出目标对象点云;模型优化单元400用于利用所述目标对象点云调整所述目标对象粗糙模型,获得目标对象精细模型。其中,预处理单元100、模型构建单元200、点云分割单元300、模型优化单元400的具体工作过程可参照实施例一的相关描述,在此不进行赘述。
[0111]
本实施例三还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有基于增强现实的三维建模程序,所述基于增强现实的三维建模程序被处理器执行时实现上述的基于增强现实的三维建模方法。
[0112]
本技术的实施例四还公开了一种计算机设备,在硬件层面,如图9所示,该终端包括处理器12、内部总线13、网络接口14、计算机可读存储介质11。处理器12从计算机可读存储介质中读取对应的计算机程序然后运行,在逻辑层面上形成请求处理装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。所述计算机可读存储介质11上存储有基于增强现实的三维建模程序,所述基于增强现实的三维建模程序被处理器执行时实现上述的基于增强现实的三维建模方法。
[0113]
计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机可读存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
[0114]
上面对本发明的具体实施方式进行了详细描述,虽然已表示和描述了一些实施例,但本领域技术人员应该理解,在不脱离由权利要求及其等同物限定其范围的本发明的原理和精神的情况下,可以对这些实施例进行修改和完善,这些修改和完善也应在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1