对象的模型处理方法、存储介质和处理器与流程

文档序号:27835174发布日期:2021-12-07 23:21阅读:99来源:国知局
对象的模型处理方法、存储介质和处理器与流程

1.本发明涉及模型处理领域,具体而言,涉及一种对象的模型处理方法、存储介质和处理器。


背景技术:

2.目前,需要采用大规模激光扫描对对象重建,或通过无人机航飞影像对对象重建,得到三维模型,其体量巨大,需消耗大量存储和计算资源,存在无法对对象的模型进行有效简化的技术问题。
3.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:

4.本发明实施例提供了一种对象的模型处理方法、存储介质和处理器,以至少解决相关技术中难以对对象的模型进行有效简化的技术问题。
5.根据本发明实施例的一个方面,提供了一种对象的模型处理方法,包括:获取目标对象的原始三维模型;将原始三维模型分别投影到至少两个目标平面上,得到原始三维模型的多个二维投影轮廓,其中,至少两个目标平面之间的夹角满足预设条件,且与多个二维投影轮廓一一对应,二维投影轮廓用于表征原始三维模型在目标平面上的多个投影点的二维轮廓;基于多个二维投影轮廓建立目标对象的目标三维模型。
6.可选地,原始三维模型为点云,确定原始三维模型的目标包围盒,包括:对点云的位置和/或法方向进行分解,得到多个主方向;基于多个主方向确定目标包围盒。
7.可选地,该方法还包括:在获取到模型数据集的情况下,将模型数据集中与原始三维模型之间的相似度高于第一目标阈值的三维模型,确定为目标三维模型。
8.可选地,目标三维模型的特征与原始三维模型的特征之间的相似度高于目标阈值。
9.根据本发明实施例的另一个方面,提供了一种对象的模型处理方法,包括:获取地理对象的原始三维模型,其中,原始三维模型为基于地理对象的图像数据和/或激光扫描数据构建;将原始三维模型分别投影到至少两个目标平面上,得到原始三维模型的多个二维投影轮廓,其中,至少两个目标平面之间的夹角满足预设条件,且与多个二维投影轮廓一一对应,二维投影轮廓用于表征原始三维模型在目标平面上的多个投影点的二维轮廓;基于多个二维投影轮廓建立地理对象的目标三维模型。
10.可选地,基于目标三维模型对地理对象进行分析,得到分析结果。
11.根据本发明实施例的另一个方面,提供了一种对象的模型处理方法,包括:响应作用于操作界面上的模型输入指令,获取目标对象的原始三维模型;响应作用于操作界面上的模型建立指令,在操作界面上显示目标对象的目标三维模型,其中,目标三维模型为基于原始三维模型多个二维投影轮廓建立,多个二维投影轮廓为将原始三维模型分别投影到至少两个目标平面上得到,二维投影轮廓用于表征原始三维模型在目标平面上的多个投影点
的二维轮廓,至少两个目标平面之间的夹角满足预设条件,且与多个二维投影轮廓一一对应。
12.根据本发明实施例的另一个方面,提供了一种对象的模型处理方法,包括:客户端获取目标对象的原始三维模型;客户端将原始三维模型上传至服务器;客户端接收服务器返回的目标对象的目标三维模型,其中,目标三维模型为服务器基于原始三维模型多个二维投影轮廓建立,多个二维投影轮廓为服务器将原始三维模型分别投影到至少两个目标平面上得到,二维投影轮廓用于表征原始三维模型在目标平面上的多个投影点的二维轮廓,至少两个目标平面之间的夹角满足预设条件,且与多个二维投影轮廓一一对应。
13.根据本发明实施例的另一个方面,提供了一种对象的模型处理方法,包括:通过调用第一接口获取目标对象的原始三维模型,其中,第一接口包括第一参数,第一参数的参数值为原始三维模型;将原始三维模型分别投影到至少两个目标平面上,得到原始三维模型的多个二维投影轮廓,其中,至少两个目标平面之间的夹角满足预设条件,且与多个二维投影轮廓一一对应,二维投影轮廓用于表征原始三维模型在目标平面上的多个投影点的二维轮廓;基于多个二维投影轮廓建立目标对象的目标三维模型;通过调用第二接口输出目标三维模型,其中,第二接口包括第二参数,第二参数的参数值为目标三维模型。
14.根据本技术实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行上述的对象的模型处理方法。
15.根据本技术实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述的对象的模型处理方法。
16.根据本技术实施例的另一方面,还提供了一种对象的模型处理系统,包括:处理器;存储器,与处理器相连接,用于为处理器提供处理以下处理步骤的指令:获取目标对象的原始三维模型;将原始三维模型分别投影到至少两个目标平面上,得到原始三维模型的多个二维投影轮廓,其中,至少两个目标平面之间的夹角满足预设条件,且与多个二维投影轮廓一一对应;基于多个二维投影轮廓建立目标对象的目标三维模型。
17.在本技术实施例中,首先获取目标对象的原始三维模型,然后将原始三维模型分别投影到至少两个目标平面上,得到原始三维模型的多个二维投影轮廓,其中,至少两个目标平面之间的夹角满足预设条件,且与多个二维投影轮廓一一对应,二维投影轮廓用于表征原始三维模型在目标平面上的多个投影点的二维轮廓,最后基于多个二维投影轮廓建立目标对象的目标三维模型,达到了对目标对象的模型进行有效简化的技术效果。
18.容易注意到的是,通过目标对象的原始三维模型得到的多个二维轮廓建立目标三维模型,其实际上是对复杂的原始三维模型所得到的简单模型进行变形优化的过程,保证得到的目标三维模型与原始三维模型中的点云特征一致,以实现对原始三维模型进行有效的简化。
19.由此,本技术提供的方案解决了相关技术中难以对对象的模型进行有效简化的技术问题。
附图说明
20.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发
明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
21.图1是根据本发明实施例的一种用于实现对象的模型处理方法的计算机终端(或移动设备)的硬件结构框图;
22.图2是根据本发明实施例的一种对象的模型处理方法的流程图;
23.图3a是根据本发明实施例的一种对象的模型处理方法的流程图;
24.图3b是根据本发明实施例的另一种对象的模型处理方法的流程图;
25.图4是根据本发明实施例的另一种对象的模型处理方法的流程图;
26.图5是根据本发明实施例的另一种对象的模型处理方法的流程图;
27.图6是根据本发明实施例的另一种对象的模型处理方法的流程图;
28.图7是根据本发明实施例的一种对象的模型处理装置的示意图;
29.图8是根据本发明实施例的另一种对象的模型处理装置的示意图;
30.图9是根据本发明实施例的另一种对象的模型处理装置的示意图;
31.图10是根据本发明实施例的另一种对象的模型处理装置的示意图;
32.图11是根据本发明实施例的另一种对象的模型处理装置的示意图;
33.图12是根据本发明实施例的一种计算机终端的结构框图。
具体实施方式
34.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
35.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
36.首先,在对本技术实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
37.点云,指通过三维扫描仪器获取的反映物体表面的三维点数据集合;
38.三维网格,指由多边形集合定义的,用以表示三维物体表面轮廓的拓扑与空间结构的数据结构;
39.点云重建,指从采集的点云中重建出三维网格用以恢复物体的表面轮廓;
40.模型简化,将高精度的模型(点云/网格)简化为低精度的模型,同时尽可能保证模型的局部特征与辨识度;
41.模型抽象,指从复杂的、带有噪声的模型中抽象出更为简单清晰的模型;
42.重新定向,指对物体(诸如点云/网格)进行旋转,得到新的放置方向。例如在三维
空间中对物体重新定向使其包围盒的主方向与坐标系轴线平行;
43.凸包,一个点集的凸包是所有包含这个点集的凸集的交集。
44.目前,三维模型(诸如建筑物/道路/绿化带等)是城市可视化的数据载体,现有的商业硬件和软件可以实现对城市场景进行大规模的数据采样和重建,然而重建出的城市模型具有以下显著缺点:(1)模型存在大量扫描和重建噪音;(2)重建模型复杂度远高于真实模型本身,例如一个简单的形如立方体的建筑物,真实模型只需要六个面即可表示模型轮廓特征,然而扫描重建的模型可能有数以万计的面片。这些缺点会导致(1)数据存储成本增大(2)数据读取速度、处理效率降低(3)模型噪音可能损耗可视化效果、交互体验等等。
45.现有传统模型简化方法可以对输入的复杂三维模型进行简化,同时尽可能保证诸如直角等局部特征,这类模型通常从局部出发进行进化,没有模型的全局信息,无法对模型从本质上进行抽象。同时由于原始模型噪音过大,此类算法无法准确区分模型局部内蕴特征与模型采样噪音,导致效果不佳。
46.基于polyfit(多边形表面拟合技术)的模型抽象算法可以从输入模型/点云中提取出物体平面,然后利用优化思想,从参考平面中选取出目标子集通过自相交得到抽象后的模型,该算法能够得到简洁干净的抽象模型,大大降低输入模型的复杂度。然而该算法的精确度有限,只能抽象出模型的大概轮廓,对于模型局部的平面特征(比如建筑物的窗台)难以重建。
47.为了解决上述问题,本技术可以从复杂并带有噪音的城市扫描模型中抽象出准确而简洁的三维模型,比如,利用此项技术可以大大降低城市视觉智能算法的分析与处理成本;降低数据存储成本与数据读取时间;提高基于三维模型的算法运行效率;提高响应效率以改善用户的交互体验。
48.实施例1
49.根据本发明实施例,还提供了一种对象的模型处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
50.本技术实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现对象的模型处理方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,
……
,102n来示出)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为i/o接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
51.应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计
算机终端10(或移动设备)中的其他元件中的任意一个内。如本技术实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
52.存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的对象的模型处理方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的对象的模型处理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
53.传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
54.显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
55.此处需要说明的是,在一些可选实施例中,上述图1所示的计算机设备(或移动设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或移动设备)中的部件的类型。
56.在上述运行环境中,本技术提供了如图2所示的对象的模型处理方法,图2是根据本技术实施例1的一种对象的模型处理方法的流程图。如图2所示,该方法可以包括如下步骤:
57.步骤s202,获取目标对象的原始三维模型。
58.上述的目标对象可以是具有一定形状的物体,具体的,可以为建筑物、人体等。
59.上述的目标对象的原始三维模型可以是待简化的复杂三维模型,其中,复杂三维模型指复杂的、带有噪声的模型。
60.示例性的,上述的目标对象可以是建筑物,上述的原始三维模型可以是复杂并带有噪音的建筑物扫描模型。
61.在一种可选的实施例中,可以先对目标对象进行扫描,得到目标对象的点云,也即上述的目标对象的原始三维模型。
62.示例性的,可以先对建筑物进行扫描,得到建筑物的点云,即建筑物的原始三维模型。
63.上述的原始三维模型可以是智慧城市、平行城市、虚拟现实、元宇宙的模型。
64.步骤s204,将原始三维模型分别投影到至少两个目标平面上,得到原始三维模型的多个二维投影轮廓。
65.其中,至少两个目标平面之间的夹角满足预设条件,且与多个二维投影轮廓一一对应,二维投影轮廓用于表征原始三维模型在目标平面上的多个投影点的二维轮廓。
66.上述的至少两个目标平面可以为包围盒的平面,其中,包围盒可以为与原始三维
模型的主体结构定位一致的包围盒,也可以为原始三维模型的其他包围盒。其中,包围盒是一种求解离散点集优选的包围空间的算法,基本思想是用体积稍大且特性简单的几何体(称为包围盒)来近似地代替复杂的几何对象。
67.上述的预设条件可以为夹角为90度。上述的至少两个目标平面之间的夹角满足预设条件可以为至少两个平面之间的夹角为90度。需要说明的是,在预设的偏差角度中,可以认为两个平面之间的夹角为90度。
68.在一种可选的实施例中,可以将原始三维模型分别投影到至少两个目标平面上,并获取投影到目标平面中的初始轮廓线,其中,初始轮廓线可以为一个矩形边界框,通过对初始轮廓线进行细分与修改,可以使目标平面中的投影点到轮廓线的集合距离逐步缩小,进而得到精细的二维投影轮廓,其中,二维投影轮廓的计算是由粗粒度到细粒度的。
69.步骤s206,基于多个二维投影轮廓建立目标对象的目标三维模型。
70.上述的目标三维模型可以为目标对象的简化模型,其中,该简化模型可以逼近目标对象。
71.在一种可选的实施例中,可以通过多个二维投影轮廓得到三维抽象模型的初始三视图,以便估计出三维抽象模型的大概形状,然后再对三维抽象模型进行变形,使得变形后的三维抽象模型与原始三维模型之间的差异尽可能的小,直到最终得到的目标三维模型与原始三维模型之间的差异小于预期。
72.通过上述步骤,首先获取目标对象的原始三维模型,然后将原始三维模型分别投影到至少两个目标平面上,得到原始三维模型的多个二维投影轮廓,其中,至少两个目标平面之间的夹角满足预设条件,且与多个二维投影轮廓一一对应,二维投影轮廓用于表征原始三维模型在目标平面上的多个投影点的二维轮廓,最后基于多个二维投影轮廓建立目标对象的目标三维模型,达到了对目标对象的模型进行有效简化的技术效果。
73.容易注意到的是,通过目标对象的原始三维模型得到的多个二维轮廓建立目标三维模型,其实际上是对复杂的原始三维模型所得到的简单模型进行变形优化的过程,保证得到的目标三维模型与原始三维模型中的点云特征一致,以实现对原始三维模型进行有效的简化。具体的,可以将目标平面上的初始轮廓线按需要细分为线段,然后计算目标平面上每个投影点到最近的线段之间的距离,从而逐步优化线段顶点的位置,从而使得目标距离小于一定的预设值,达到对原始三维模型进行简化的目的。
74.由此,本技术提供的方案解决了相关技术中难以对对象的模型进行有效简化的技术问题。
75.本技术上述实施例中,确定原始三维模型的目标包围盒;将目标包围盒的多个平面,确定为至少两个目标平面。
76.在一种可选的实施例中,可以采用优化求解的方式确定原始三维模型的目标包围盒,并将目标包围盒的多个平面确定为至少两个目标平面。
77.上述目标包围盒的形状可以为三维矩形边界框。
78.上述的目标包围盒可以为(p1、p2、p3),其中,目标包围盒由三个互相垂直的平面p1、p2、p3构成。
79.在一种可选的实施例中,可以通过如下公式在目标包围盒上确定三维边界框:
[0080][0081]
其中,x为二维或三维点集合,也即点云,为二维或三维点集x投影在平面p
i
上的投影坐标,为包括二维或三维点集x面积最小的矩形,并且该矩形长宽方向与x、y相互平行,为凸集覆盖区域的面积。
[0082]
本技术上述实施例中,原始三维模型为点云,确定原始三维模型的目标包围盒,包括:确定原始三维模型的原始包围盒;将点云投影至原始包围盒的一个平面上,得到多个第二投影点;确定多个第二投影点在一个平面上覆盖的目标区域;确定目标区域为与目标对象对应的目标形状,则将原始包围盒确定为目标包围盒。
[0083]
上述的目标形状可以为矩形。
[0084]
在一种可选的实施例中,对于输入的点云x,可以将其投影在原始目标包围盒的某个平面p
i
上,得到多个第二投影点,确定多个第二投影点在一个平面上覆盖的目标区域,在确定目标区域为与目标对象对应的目标形状时,则将原始包围盒确定为目标包围盒。其中,目标区域尽可能是一个矩形,而不是平行四边形,由于一个立方体建筑物在它的目标包围盒的三个平面上的投影一般为矩形,因此,若投影的区域类似于一个平行四边形,则说明另外两个平面并没有很好与点云的主体结构定位一致。
[0085]
在本技术上述实施例中,原始三维模型为点云,将原始三维模型分别投影到至少两个目标平面上,得到原始三维模型的多个二维投影轮廓,包括:获取点云在每个目标平面上的多个第一投影点;基于多个第一投影点的二维轮廓线,确定每个二维投影轮廓。
[0086]
上述的二维轮廓线为一系列优化出来的轮廓点组成的轮廓线,使得第一投影点到对应轮廓线的距离在满足一定情况下最小。
[0087]
上述的二维轮廓线与第一投影点之间的距离可以小于一定的预设值。
[0088]
在一种可选的实施例中,可以获取多个点云x在目标平面p上的多个第一投影点然后根据多个第一投影点确定出二维轮廓线z,使得投影误差小于预设值,其中,二维轮廓线z中包含由一系列首尾相连的点,即,是二维轮廓线的中的第j条线段,其两个端点为z中第j与第j+1的点。
[0089]
本技术上述实施例中,基于多个第一投影点的二维轮廓线,确定每个二维投影轮廓,包括:在构成二维轮廓线的多个轮廓线段中,确定点云中每个点对应的第一轮廓线段,得到多个第一轮廓线段,其中,每个点与第一轮廓线段之间的距离小于与多个轮廓线段中除第一轮廓线段之外的任一轮廓线段之间的距离;基于多个第一轮廓线段确定每个二维投影轮廓。
[0090]
上述的二维轮廓线中包含有多轮廓线段,可以从多个轮廓线段中确定出二维轮廓线对应的第一轮廓线段。上述的二维投影轮廓中包含有多个第一轮廓线段。
[0091]
在一种可选的实施例中,可以根据点云中的每个点与二维轮廓线中的多个轮廓线段的距离,确定出多个第一轮廓线段,具体的,可以计算点云中的每个点与多个轮廓线段中每个轮廓线段之间的距离,若点云中的点与某个轮廓线段之间的距离小于除该轮廓线段之外的任意轮廓线段之间的距离,则可以确定该轮廓线段为第一轮廓线段。基于此可以确定
出点云中的每个点对应的第一轮廓线段,从而得到多个第一轮廓线段,由此可以根据多个第一轮廓线段确定出每个二维投影轮廓,这个过程通过将与点云中的点距离较短的第一轮廓线挑选出来,将其余距离较远的点进行丢弃,可以对二维轮廓线进行优化,得到优化后的二维投影轮廓。
[0092]
本技术上述实施例中,该方法还包括:获取每个点与对应的第一轮廓线段二者之间的第一距离,得到多个第一距离;从多个第一距离中确定出多个第一目标距离,其中,每个第一目标距离小于第一预设值;基于多个第一轮廓线段确定每个二维投影轮廓,包括:在多个第一轮廓线段中,确定与多个第一目标距离一一对应的多个第二轮廓线段;基于多个第二轮廓线段构建二维投影轮廓。
[0093]
上述的第二轮廓线段的数量小于或等于第一轮廓线段的数量。根据每个点与第一轮廓线段之间的距离确定出第二轮廓线段实质上是对第一轮廓线段的进一步优化,通过优化后得到的而轮廓线段构建二维投影轮廓,可以使二维投影轮廓更加精简。
[0094]
在一种可选的实施例中,可以获取每个点与对应的第一轮廓线段二者之间的第一距离,具体的,可以通过确定出第一距离,从多个第一距离中确定出第一目标距离,具体的,可以通过确定出目标距离,其中,∈用于表示第一预设值。
[0095]
需要说明的是,可以在满足第一目标距离小于预设值∈的条件下,使得二维轮廓线z尽可能越简单越好,z中包含的顶点数量越少越好。
[0096]
本技术上述实施例中,基于多个二维投影轮廓建立目标对象的目标三维模型,包括:基于多个二维投影轮廓确定至少一个变形算子;基于至少一个变形算子对目标包围盒进行变形处理,得到中间三维模型;基于中间三维模型确定目标三维模型。
[0097]
上述的变形算子可以为环切细分面(ringcut)、面片挤出(face extrusion)、点/线平移。
[0098]
其中,环切细分面指选定一个面片(四边形、常为矩形),可沿其两个主方向进行环切,将该面片(及其相邻环切方向面片)细分为两个面片。
[0099]
其中,面片挤出指选定一个面片,将其沿给定方向挤出;选定面片获取新的位置,并相对于原始位置创建四个新的面片保持模型闭合。
[0100]
其中,点/线平移指选定某顶点/线,按照给定方向进行平移。
[0101]
在一种可选的实施例中,上述的中间三维模型可以为将k个不同的变形算子oi依次作用于目标包围盒上之后得到的模型,可以用于表示中间三维模型,简称为s,其中,中间三维模型包括了顶点集合v与面片集合f(面片均为四边形)。
[0102]
在另一种可选的实施例中,通过多个二维投影轮廓确定至少一个变形算子可以减少建立的目标三维模型时的误差。
[0103]
在另一种可选的实施例中,可以将中间三维模型设置的尽可能的简单,即,中间三维模型中包括的点数尽可能的少,同时尽可能准确地刻画点云中的每个点到中间三维模型的投影距离小于预设值。
[0104]
本技术上述实施例中,原始三维模型为点云,中间三维模型至少包括面片集合,基于中间三维模型确定目标三维模型,包括:在面片集合中,确定点云中每个点对应的第一面
片,得到多个第一面片,其中,每个点与第一面片之间的距离小于与面片集合中除第一面片之外的任一面片之间的距离;基于多个第一面片确定目标三维模型。
[0105]
具体的,对于点云x上的任意一点x
i
,可以找出中间三维模型的面片集合f中与之距离最近的第一面片其中,第一面片在中间三维模型中的坐标为然后可以计算点到面的距离,记作
[0106]
本技术上述实施例中,该方法还包括:获取每个点与对应的第一面片二者之间的距离,得到多个第二距离;从多个第二距离中确定出多个第二目标距离,其中,每个第二目标距离小于第二预设值;基于多个第一面片确定目标三维模型,包括:在多个第一面片中,确定与多个第二目标距离一一对应的多个第二面片;基于多个第二面片构成目标三维模型。
[0107]
在一种可选的实施例中,上述的第二预设值可以为η,可以将确定目标三维模型的过程定义为:
[0108]
在另一种可选的实施例中,可以获取每个点与对应的第一面片二者之前的距离,得到多个第二距离,可以从多个第二距离中确定出小于第二预设值的第二目标距离,以便确定出与第二目标距离一一对应的多个第二面片,通过多个第二面片可以构成尽可能目标三维模型。
[0109]
本技术上述实施例中,确定原始三维模型的目标包围盒,包括:确定目标对象的主体结构;基于主体结构确定目标包围盒。
[0110]
在一种可选的实施例中,在计算点云的包围盒时,可以通过最小化包围盒的体积等度量得到。
[0111]
在城市场景应用中,上述的目标对象可以为建筑物,上述的主体结构可以为建筑物的主体结构,其中,主体结构中可以不包括附属结构。需要说明的是,建筑模型的目标包围盒需要尽可能的与建筑物的主体结构定位一致,例如,一个主体结构为立方体的建筑物,可能带有诸如阳台、花园、空调机、单元门等附属结构,因此,该建筑物的目标包围盒应该由主体结构(即立方体)决定,其不应该受到附属结构的大幅度影响。
[0112]
本技术上述实施例中,原始三维模型为点云,确定原始三维模型的目标包围盒,包括:对点云的位置和/或法方向进行分解,得到多个主方向;基于多个主方向确定目标包围盒。
[0113]
在一种可选的实施例中,可以利用主成分分析(principal components analysis,简称pca)对输入的点云的位置和/或法方向进行分解,找出三个主方向以确定包围盒的方向,从而确定出目标包围盒,此过程不需要优化迭代,可以简单高效的得到点云的目标包围盒。
[0114]
需要说明的是,主成分分析对输入的点云的质量、采样密度要求比较高,其对输入的点云比较敏感,少数扫描异常值(outlier)会影响到计算出的目标包围盒,但是,采用主成分分析方法得到目标包围盒的过程较为简单。
[0115]
本技术上述实施例中,该方法还包括:在获取到模型数据集的情况下,将模型数据集中与原始三维模型之间的相似度高于第一目标阈值的三维模型,确定为目标三维模型。
[0116]
在一种可选的实施例中,可以建立模型数据集,例如,可以提前构造一些抽象干净的模型,并提前设置模型相似函数来衡量两个模型之间的相似程度,利用相似函数从模型数据集中确定与原始三维模型相似程度较高的三维模型作为目标三维模型。
[0117]
上述第一目标阈值可以根据模型数据集中与原始三维模型相似度从大到小排序中排序为第二的相似度确定。
[0118]
示例性的,可以让建模人员提前构造一些抽象干净的建筑物模型,还可以提前设置模型相似函数来衡量两个模型之间的相似程度,以便利用相似函数确定出多个建筑物模型中与输入的原始三维模型相似度较高的建筑物模型为目标三维模型,由于提前构造好的建筑物模型为现成的建筑物模型,因此,可以提高获取目标三维模型的速度。
[0119]
本技术上述实施例中,目标三维模型的特征与原始三维模型的特征之间的相似度高于目标阈值。
[0120]
上述目标阈值可以自行设置。
[0121]
在一种可选的实施例中,目标三维模型的特征与原始三维模型的特征之间的相似度高于目标阈值,可以保证目标三维模型的准确度。
[0122]
下面结合图3a对本技术实施例一种优选的实施例进行详细说明,如图3a所示,该方法可以由前端客户端或后端服务器执行,该方法包括如下步骤:
[0123]
步骤s31,输入点云;
[0124]
步骤s32,根据输入的点云确定出目标包围盒;
[0125]
步骤s33,确定出目标包围盒上的二维投影轮廓;
[0126]
步骤s34,计算二维投影轮廓的变形算子,其中,变形算子用于减少投影误差;
[0127]
步骤s35,将变形算子作用于目标包围盒,得到中间三维模型;
[0128]
步骤s36,基于中间三维模型确定目标三维模型。
[0129]
实施例2
[0130]
根据本技术实施例,还提供了一种对象的模型处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0131]
图3b是根据本技术实施例的一种对象的模型处理方法的流程图。如图3b所示,该方法可以包括如下步骤:
[0132]
步骤s302,获取地理对象的原始三维模型。
[0133]
其中,所述原始三维模型为基于所述地理对象的图像数据和/或激光扫描数据构建。
[0134]
上述的地理对象可以为城市,其中,城市中包括有至少一个建筑物。
[0135]
上述的激光扫描数据可以为点云。
[0136]
步骤s304,将所述原始三维模型分别投影到至少两个目标平面上,得到所述原始三维模型的多个二维投影轮廓。
[0137]
其中,所述至少两个目标平面之间的夹角满足预设条件,且与所述多个二维投影轮廓一一对应,所述二维投影轮廓用于表征所述原始三维模型在所述目标平面上的多个投影点的二维轮廓。
[0138]
步骤s306,基于所述多个二维投影轮廓建立所述地理对象的目标三维模型。
[0139]
本技术上述实施例中,基于所述目标三维模型对所述地理对象进行分析,得到分析结果。
[0140]
需要说明的是,本技术上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。
[0141]
实施例3
[0142]
根据本技术实施例,还提供了一种对象的模型处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0143]
图4是根据本技术实施例的一种对象的模型处理方法的流程图。如图3所示,该方法可以包括如下步骤:
[0144]
步骤s402,响应作用于操作界面上的模型输入指令,获取目标对象的原始三维模型。
[0145]
上述的操作界面可以为计算机设备或者移动终端中可操作的显示界面。
[0146]
步骤s404,响应作用于所述操作界面上的模型建立指令,在所述操作界面上显示所述目标对象的目标三维模型。
[0147]
其中,所述目标三维模型为基于所述原始三维模型多个二维投影轮廓建立,所述多个二维投影轮廓为将所述原始三维模型分别投影到至少两个目标平面上得到,所述二维投影轮廓用于表征所述原始三维模型在所述目标平面上的多个投影点的二维轮廓,所述至少两个目标平面之间的夹角满足预设条件,且与所述多个二维投影轮廓一一对应。
[0148]
需要说明的是,本技术上述实施例中涉及到的优选实施方案与实施例1提供的方案以及实施过程相同,但不仅限于实施例1所提供的方案。
[0149]
实施例4
[0150]
根据本技术实施例,还提供了一种对象的模型处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0151]
图5是根据本技术实施例的一种对象的模型处理方法的流程图。如图3所示,该方法可以包括如下步骤:
[0152]
步骤s502,客户端获取目标对象的原始三维模型。
[0153]
上述的客户端可以为移动终端或者计算机设备。
[0154]
步骤s504,客户端将原始三维模型上传至服务器。
[0155]
上述的服务器可以为云服务器。
[0156]
在一种可选的实施例中,为了更好的对原始三维模型进行处理,可以将获取到的原始三维模型传输给相应的处理设备进行处理,例如,直接传输给用户的计算机终端(例如,笔记本电脑、个人电脑等)进行处理,或者通过用户的计算机终端传输给云服务器进行处理。需要说明的是,由于原始三维模型需要大量的计算资源,在本技术实施例中以处理设备为云服务器为例进行说明。
[0157]
例如,为了方便用户上传原始三维模型,可以提供给用户一个交互界面,用户可以通过点击“选择模型”控件获取到需要上传的原始三维模型,然后通过点击“上传”控件将用于原始三维模型上传至云服务器。另外,为了方便用户确认上传至云服务器的目标视频是否为需要的原始三维模型,可以在“模型显示”区域中显示选择好的原始三维模型,在用户确认无误之后,通过点击“上传”控件进行原始三维模型的上传。
[0158]
步骤s506,客户端接收服务器返回的目标对象的目标三维模型。
[0159]
其中,目标三维模型为服务器基于原始三维模型多个二维投影轮廓建立,多个二维投影轮廓为服务器将原始三维模型分别投影到至少两个目标平面上得到,二维投影轮廓用于表征原始三维模型在目标平面上的多个投影点的二维轮廓,至少两个目标平面之间的夹角满足预设条件,且与多个二维投影轮廓一一对应。
[0160]
需要说明的是,本技术上述实施例中涉及到的优选实施方案与实施例1提供的方案以及实施过程相同,但不仅限于实施例1所提供的方案。
[0161]
实施例5
[0162]
根据本技术实施例,还提供了一种对象的模型处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0163]
图6是根据本技术实施例的一种对象的模型处理方法的流程图。如图3所示,该方法可以包括如下步骤:
[0164]
步骤s602,通过调用第一接口获取目标对象的原始三维模型。
[0165]
其中,第一接口包括第一参数,第一参数的参数值为原始三维模型。
[0166]
上述步骤中的第一接口可以是云服务器与客户端之间进行数据交互的接口,客户端可以将原始三维模型传入接口函数,作为接口函数的第一参数,实现原始三维模型上传至云服务器的目的。
[0167]
步骤s604,将原始三维模型分别投影到至少两个目标平面上,得到原始三维模型的多个二维投影轮廓。
[0168]
其中,至少两个目标平面之间的夹角满足预设条件,且与多个二维投影轮廓一一对应,二维投影轮廓用于表征原始三维模型在目标平面上的多个投影点的二维轮廓。
[0169]
步骤s606,基于多个二维投影轮廓建立目标对象的目标三维模型。
[0170]
步骤s608,通过调用第二接口输出目标三维模型。
[0171]
其中,第二接口包括第二参数,第二参数的参数值为目标三维模型。
[0172]
上述步骤中的第二接口可以是云服务器与客户端之间进行数据交互的接口,云服务器可以将目标三维模型传入接口函数,作为接口函数第二参数,实现目标三维模型下发至客户端的目的。
[0173]
需要说明的是,本技术上述实施例中涉及到的优选实施方案与实施例1提供的方案以及实施过程相同,但不仅限于实施例1所提供的方案。
[0174]
实施例6
[0175]
根据本技术实施例,还提供了一种用于实施上述对象的模型处理方法的对象的模型处理装置,如图7所示,该装置700包括:第一获取单元702、第一投影单元704、第一建立单
元706。
[0176]
其中,第一获取单元用于获取目标对象的原始三维模型;第一投影单元用于将原始三维模型分别投影到至少两个目标平面上,得到原始三维模型的多个二维投影轮廓,其中,至少两个目标平面之间的夹角满足预设条件,且与多个二维投影轮廓一一对应,二维投影轮廓用于表征原始三维模型在目标平面上的多个投影点的二维轮廓;第一建立单元用于基于多个二维投影轮廓建立目标对象的目标三维模型。
[0177]
此处需要说明的是,上述第一获取单元702、第一投影单元704、第一建立单元706对应于实施例1中的步骤s202至步骤s206,三个单元与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
[0178]
本技术上述实施例中,原始三维模型为点云,第一投影单元,包括:第一获取模块、第一确定模块。
[0179]
其中,第一获取模块用于获取点云在每个目标平面上的多个第一投影点;第一确定模块用于基于多个第一投影点的二维轮廓线,确定每个二维投影轮廓。
[0180]
本技术上述实施例中,第一确定模块包括:第一确定子模块、第二确定子模块。
[0181]
其中,第一确定子模块用于在构成二维轮廓线的多个轮廓线段中,确定点云中每个点对应的第一轮廓线段,得到多个第一轮廓线段,其中,每个点与第一轮廓线段之间的距离小于与多个轮廓线段中除第一轮廓线段之外的任一轮廓线段之间的距离;第二确定子模块用于基于多个第一轮廓线段确定每个二维投影轮廓。
[0182]
本技术上述实施例中,该装置还包括:第二获取模块。
[0183]
其中,第二获取模块用于获取每个点与对应的第一轮廓线段二者之间的第一距离,得到多个第一距离;从多个第一距离中确定出多个第一目标距离,其中,每个第一目标距离小于第一预设值。
[0184]
本技术上述实施例中,第二确定子模块包括:第三确定子模块。
[0185]
其中,第三确定子模块用于基于多个第一轮廓线段确定每个二维投影轮廓,包括:在多个第一轮廓线段中,确定与多个第一目标距离一一对应的多个第二轮廓线段;基于多个第二轮廓线段构建二维投影轮廓。
[0186]
本技术上述实施例中,该装置还包括:第一确定单元、第二确定单元。
[0187]
其中,第一确定单元用于确定原始三维模型的目标包围盒;第二确定单元用于将目标包围盒的多个平面,确定为至少两个目标平面。
[0188]
本技术上述实施例中,第一建立单元包括:第四确定模块、第一处理模块、第五确定模块。
[0189]
其中,第四确定模块用于基于多个二维投影轮廓确定至少一个变形算子;第一处理模块用于基于至少一个变形算子对目标包围盒进行变形处理,得到中间三维模型;第五确定模块用于基于中间三维模型确定目标三维模型。
[0190]
本技术上述实施例中,原始三维模型为点云,中间三维模型至少包括面片集合,第五确定模块包括:第四确定子模块、第五确定子模块。
[0191]
其中,第四确定子模块用于在面片集合中,确定点云中每个点对应的第一面片,得到多个第一面片,其中,每个点与第一面片之间的距离小于与面片集合中除第一面片之外
的任一面片之间的距离;第五确定子模块用于基于于多个第一面片确定目标三维模型。
[0192]
本技术上述实施例中,该方法还包括:第三获取单元。
[0193]
其中,第三获取单元用于获取每个点与对应的第一面片二者之间的距离,得到多个第二距离;从多个第二距离中确定出多个第二目标距离,其中,每个第二目标距离小于第二预设值。
[0194]
本技术上述实施例中,第五确定子模块包括:第六确定子模块。
[0195]
其中,第六子模块用于基于多个第一面片确定目标三维模型,包括:在多个第一面片中,确定与多个第二目标距离一一对应的多个第二面片;基于多个第二面片构成目标三维模型。
[0196]
本技术上述实施例中,第二确定单元包括:第六确定模块、第七确定模块。
[0197]
其中,第六确定模块用于确定目标对象的主体结构;第七确定模块用于基于主体结构确定目标包围盒。
[0198]
本技术上述实施例中,原始三维模型为点云,第二确定单元包括:第八确定模块、第一投影模块、第九确定模块、第十确定模块。
[0199]
其中,第八确定模块用于确定原始三维模型的原始包围盒;第一投影模块用于将点云投影至原始包围盒的一个平面上,得到多个第二投影点;第九确定模块用于确定多个第二投影点在一个平面上覆盖的目标区域;第十确定模块用于确定目标区域为与目标对象对应的目标形状,则将原始包围盒确定为目标包围盒。
[0200]
本技术上述实施例中,原始三维模型为点云,第二确定单元包括:第一分解模块、第十一确定模块。
[0201]
其中,第一分解模块用于对点云的位置和/或法方向进行分解,得到多个主方向;第十一确定模块用于基于多个主方向确定目标包围盒。
[0202]
本技术实施例中,该装置还包括:第三确定模块。
[0203]
其中,第三确定模块用于在获取到模型数据集的情况下,将模型数据集中与原始三维模型之间的相似度高于第一目标阈值的三维模型,确定为目标三维模型。
[0204]
本技术实施例中,目标三维模型的特征与原始三维模型的特征之间的相似度高于目标阈值。
[0205]
需要说明的是,本技术上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。
[0206]
实施例7
[0207]
根据本技术实施例,还提供了一种用于实施上述对象的模型处理方法的对象模型的处理装置,如图8所示,该装置800包括:第四获取单元802、第一投影单元804、第二建立单元806。
[0208]
其中,第四获取单元用于获取地理对象的原始三维模型,其中,原始三维模型为基于地理对象的图像数据和/或激光扫描数据构建;第一投影单元用于将原始三维模型分别投影到至少两个目标平面上,得到原始三维模型的多个二维投影轮廓,其中,至少两个目标平面之间的夹角满足预设条件,且与多个二维投影轮廓一一对应,二维投影轮廓用于表征原始三维模型在目标平面上的多个投影点的二维轮廓;第二建立单元用于基于多个二维投影轮廓建立地理对象的目标三维模型。
[0209]
此处需要说明的是,上述第四获取单元802、第一投影单元804、第二建立单元806对应于实施例2中的步骤s302至步骤s306,三个单元与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
[0210]
本技术上述实施例中,该装置还包括:第一分析单元。
[0211]
其中,第一分析单元用于基于目标三维模型对地理对象进行分析,得到分析结果。
[0212]
需要说明的是,本技术上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。
[0213]
实施例8
[0214]
根据本技术实施例,还提供了一种用于实施上述对象的模型处理方法的对象模型的处理装置,如图9所示,该装置900包括:第五获取单元902、第一显示单元904。
[0215]
其中,第五获取单元用于响应作用于操作界面上的模型输入指令,获取目标对象的原始三维模型;第一显示单元用于响应作用于操作界面上的模型建立指令,在操作界面上显示目标对象的目标三维模型,其中,目标三维模型为基于原始三维模型多个二维投影轮廓建立,多个二维投影轮廓为将原始三维模型分别投影到至少两个目标平面上得到,二维投影轮廓用于表征原始三维模型在目标平面上的多个投影点的二维轮廓,至少两个目标平面之间的夹角满足预设条件,且与多个二维投影轮廓一一对应。
[0216]
此处需要说明的是,上述第五获取单元902、第一显示单元904对应于实施例3中的步骤s402至步骤s404,两个单元与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
[0217]
需要说明的是,本技术上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。
[0218]
实施例9
[0219]
根据本技术实施例,还提供了一种用于实施上述对象的模型处理方法的对象模型的处理装置,如图10所示,该装置1000包括:第六获取单元1002、第一上传单元1004、第一接收单元1006。
[0220]
其中,第六获取单元用于获取目标对象的原始三维模型;第一上传单元用于将原始三维模型上传至服务器;第一接收单元用于接收服务器返回的目标对象的目标三维模型,其中,目标三维模型为服务器基于原始三维模型多个二维投影轮廓建立,多个二维投影轮廓为服务器将原始三维模型分别投影到至少两个目标平面上得到,二维投影轮廓用于表征原始三维模型在目标平面上的多个投影点的二维轮廓,至少两个目标平面之间的夹角满足预设条件,且与多个二维投影轮廓一一对应。
[0221]
此处需要说明的是,上述第六获取单元1002、第一上传单元1004、第一接收单元1006对应于实施例4中的步骤s502至步骤s506,三个单元与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
[0222]
需要说明的是,本技术上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。
[0223]
实施例10
[0224]
根据本技术实施例,还提供了一种用于实施上述对象的模型处理方法的对象模型的处理装置,如图11所示,该装置1100包括:第六获取单元1102、第一上传单元1104、第一接收单元1106。
[0225]
其中,第七获取单元用于通过调用第一接口获取目标对象的原始三维模型,其中,第一接口包括第一参数,第一参数的参数值为原始三维模型;第二投影单元用于将原始三维模型分别投影到至少两个目标平面上,得到原始三维模型的多个二维投影轮廓,其中,至少两个目标平面之间的夹角满足预设条件,且与多个二维投影轮廓一一对应,二维投影轮廓用于表征原始三维模型在目标平面上的多个投影点的二维轮廓;第三建立单元用于基于多个二维投影轮廓建立目标对象的目标三维模型;第一输出单元用于通过调用第二接口输出目标三维模型,其中,第二接口包括第二参数,第二参数的参数值为目标三维模型。
[0226]
此处需要说明的是,上述第六获取单元1002、第一上传单元1004、第一接收单元1006对应于实施例5中的步骤s602至步骤s606,三个单元与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
[0227]
需要说明的是,本技术上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。
[0228]
实施例11
[0229]
本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
[0230]
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
[0231]
在本实施例中,上述计算机终端可以执行对象的模型处理方法中以下步骤的程序代码:获取目标对象的原始三维模型;将原始三维模型分别投影到至少两个目标平面上,得到原始三维模型的多个二维投影轮廓,其中,至少两个目标平面之间的夹角满足预设条件,且与多个二维投影轮廓一一对应,二维投影轮廓用于表征原始三维模型在目标平面上的多个投影点的二维轮廓;基于多个二维投影轮廓建立目标对象的目标三维模型。
[0232]
可选地,图12是根据本技术实施例的一种计算机终端的结构框图。如图12所示,该计算机终端a可以包括:一个或多个(图中仅示出一个)处理器1202、以及存储器1204。
[0233]
其中,存储器可用于存储软件程序以及模块,如本技术实施例中的对象的模型处理方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的文本处理方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端a。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0234]
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:获取目标对象的原始三维模型;将原始三维模型分别投影到至少两个目标平面上,得到原
始三维模型的多个二维投影轮廓,其中,至少两个目标平面之间的夹角满足预设条件,且与多个二维投影轮廓一一对应,二维投影轮廓用于表征原始三维模型在目标平面上的多个投影点的二维轮廓;基于多个二维投影轮廓建立目标对象的目标三维模型。
[0235]
可选地,上述处理器还可以执行如下步骤的程序代码:获取点云在每个目标平面上的多个第一投影点;基于多个第一投影点的二维轮廓线,确定每个二维投影轮廓。
[0236]
可选地,上述处理器还可以执行如下步骤的程序代码:在构成二维轮廓线的多个轮廓线段中,确定点云中每个点对应的第一轮廓线段,得到多个第一轮廓线段,其中,每个点与第一轮廓线段之间的距离小于与多个轮廓线段中除第一轮廓线段之外的任一轮廓线段之间的距离;基于多个第一轮廓线段确定每个二维投影轮廓。
[0237]
可选地,上述处理器还可以执行如下步骤的程序代码:获取每个点与对应的第一轮廓线段二者之间的第一距离,得到多个第一距离;从多个第一距离中确定出多个第一目标距离,其中,每个第一目标距离小于第一预设值;基于多个第一轮廓线段确定每个二维投影轮廓,包括:在多个第一轮廓线段中,确定与多个第一目标距离一一对应的多个第二轮廓线段;基于多个第二轮廓线段构建二维投影轮廓。
[0238]
可选地,上述处理器还可以执行如下步骤的程序代码:确定原始三维模型的目标包围盒;将目标包围盒的多个平面,确定为至少两个目标平面。
[0239]
可选地,上述处理器还可以执行如下步骤的程序代码:在目标包围盒上确定三维边界框,其中,三维边界框的主方向与原始三维模型的主方向相同;将构成三维边界框的多个平面,确定为至少两个目标平面。
[0240]
可选地,上述处理器还可以执行如下步骤的程序代码:基于多个二维投影轮廓确定至少一个变形算子;基于至少一个变形算子对目标包围盒进行变形处理,得到中间三维模型;基于中间三维模型确定目标三维模型。
[0241]
可选地,上述处理器还可以执行如下步骤的程序代码:在面片集合中,确定点云中每个点对应的第一面片,得到多个第一面片,其中,每个点与第一面片之间的距离小于与面片集合中除第一面片之外的任一面片之间的距离;基于多个第一面片确定目标三维模型。
[0242]
可选地,上述处理器还可以执行如下步骤的程序代码:获取每个点与对应的第一面片二者之间的距离,得到多个第二距离;从多个第二距离中确定出多个第二目标距离,其中,每个第二目标距离小于第二预设值;基于多个第一面片确定目标三维模型,包括:在多个第一面片中,确定与多个第二目标距离一一对应的多个第二面片;基于多个第二面片构成目标三维模型。
[0243]
可选地,上述处理器还可以执行如下步骤的程序代码:确定目标对象的主体结构;基于主体结构确定目标包围盒。
[0244]
可选地,上述处理器还可以执行如下步骤的程序代码:确定原始三维模型的原始包围盒;将点云投影至原始包围盒的一个平面上,得到多个第二投影点;确定多个第二投影点在一个平面上覆盖的目标区域;确定目标区域为与目标对象对应的目标形状,则将原始包围盒确定为目标包围盒。
[0245]
可选地,上述处理器还可以执行如下步骤的程序代码:对点云的位置和/或法方向进行分解,得到多个主方向;基于多个主方向确定目标包围盒。
[0246]
可选地,上述处理器还可以执行如下步骤的程序代码:在获取到模型数据集的情
况下,将模型数据集中与原始三维模型之间的相似度高于第一目标阈值的三维模型,确定为目标三维模型。
[0247]
可选地,上述处理器还可以执行如下步骤的程序代码:目标三维模型的特征与原始三维模型的特征之间的相似度高于目标阈值。
[0248]
本领域普通技术人员可以理解,图12所示的结构仅为示意,计算机终端a也可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobile internet devices,mid)、pad等终端设备。图12其并不对上述计算机终端a的结构造成限定。例如,计算机终端a还可包括比图12中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图12所示不同的配置。
[0249]
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read

only memory,rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
[0250]
实施例12
[0251]
本技术的实施例还提供了一种计算机可读存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例所提供的对象的模型处理方法所执行的程序代码。
[0252]
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
[0253]
可选地,存储介质被设置为存储用于执行以下步骤的程序代码:获取目标对象的原始三维模型;将原始三维模型分别投影到至少两个目标平面上,得到原始三维模型的多个二维投影轮廓,其中,至少两个目标平面之间的夹角满足预设条件,且与多个二维投影轮廓一一对应,二维投影轮廓用于表征原始三维模型在目标平面上的多个投影点的二维轮廓;基于多个二维投影轮廓建立目标对象的目标三维模型。
[0254]
可选地,上述存储介质还被设置为存储用于执行以下步骤的程序代码:获取点云在每个目标平面上的多个第一投影点;基于多个第一投影点的二维轮廓线,确定每个二维投影轮廓。
[0255]
可选地,上述存储介质还被设置为存储用于执行以下步骤的程序代码:在构成二维轮廓线的多个轮廓线段中,确定点云中每个点对应的第一轮廓线段,得到多个第一轮廓线段,其中,每个点与第一轮廓线段之间的距离小于与多个轮廓线段中除第一轮廓线段之外的任一轮廓线段之间的距离;基于多个第一轮廓线段确定每个二维投影轮廓。
[0256]
可选地,上述存储介质还被设置为存储用于执行以下步骤的程序代码:获取每个点与对应的第一轮廓线段二者之间的第一距离,得到多个第一距离;从多个第一距离中确定出多个第一目标距离,其中,每个第一目标距离小于第一预设值;基于多个第一轮廓线段确定每个二维投影轮廓,包括:在多个第一轮廓线段中,确定与多个第一目标距离一一对应的多个第二轮廓线段;基于多个第二轮廓线段构建二维投影轮廓。
[0257]
可选地,上述存储介质还被设置为存储用于执行以下步骤的程序代码:确定原始三维模型的目标包围盒;将目标包围盒的多个平面,确定为至少两个目标平面。
[0258]
可选地,上述存储介质还被设置为存储用于执行以下步骤的程序代码:在目标包围盒上确定三维边界框,其中,三维边界框的主方向与原始三维模型的主方向相同;将构成
三维边界框的多个平面,确定为至少两个目标平面。
[0259]
可选地,上述存储介质还被设置为存储用于执行以下步骤的程序代码:基于多个二维投影轮廓确定至少一个变形算子;基于至少一个变形算子对目标包围盒进行变形处理,得到中间三维模型;基于中间三维模型确定目标三维模型。
[0260]
可选地,上述存储介质还被设置为存储用于执行以下步骤的程序代码:在面片集合中,确定点云中每个点对应的第一面片,得到多个第一面片,其中,每个点与第一面片之间的距离小于与面片集合中除第一面片之外的任一面片之间的距离;基于多个第一面片确定目标三维模型。
[0261]
可选地,上述存储介质还被设置为存储用于执行以下步骤的程序代码:获取每个点与对应的第一面片二者之间的距离,得到多个第二距离;从多个第二距离中确定出多个第二目标距离,其中,每个第二目标距离小于第二预设值;基于多个第一面片确定目标三维模型,包括:在多个第一面片中,确定与多个第二目标距离一一对应的多个第二面片;基于多个第二面片构成目标三维模型。
[0262]
可选地,上述存储介质还被设置为存储用于执行以下步骤的程序代码:确定目标对象的主体结构;基于主体结构确定目标包围盒。
[0263]
可选地,上述存储介质还被设置为存储用于执行以下步骤的程序代码:确定原始三维模型的原始包围盒;将点云投影至原始包围盒的一个平面上,得到多个第二投影点;确定多个第二投影点在一个平面上覆盖的目标区域;确定目标区域为与目标对象对应的目标形状,则将原始包围盒确定为目标包围盒。
[0264]
可选地,上述存储介质还被设置为存储用于执行以下步骤的程序代码:对点云的位置和/或法方向进行分解,得到多个主方向;基于多个主方向确定目标包围盒。
[0265]
可选地,上述存储介质还被设置为存储用于执行以下步骤的程序代码:在获取到模型数据集的情况下,将模型数据集中与原始三维模型之间的相似度高于第一目标阈值的三维模型,确定为目标三维模型。
[0266]
可选地,上述存储介质还被设置为存储用于执行以下步骤的程序代码:目标三维模型的特征与原始三维模型的特征之间的相似度高于目标阈值。
[0267]
实施例13
[0268]
本技术的实施例还提供了一种对象的模型处理系统,包括:
[0269]
处理器;
[0270]
存储器,与处理器相连接,用于为处理器提供处理以下处理步骤的指令:获取目标对象的原始三维模型;将原始三维模型分别投影到至少两个目标平面上,得到原始三维模型的多个二维投影轮廓,其中,至少两个目标平面之间的夹角满足预设条件,且与多个二维投影轮廓一一对应;基于多个二维投影轮廓建立目标对象的目标三维模型。
[0271]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0272]
在本技术的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0273]
在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可
以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0274]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0275]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0276]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0277]
以上仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1