CN114708391A - 三维建模方法、装置、计算机设备和存储介质 - Google Patents
三维建模方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114708391A CN114708391A CN202210627331.2A CN202210627331A CN114708391A CN 114708391 A CN114708391 A CN 114708391A CN 202210627331 A CN202210627331 A CN 202210627331A CN 114708391 A CN114708391 A CN 114708391A
- Authority
- CN
- China
- Prior art keywords
- modeling
- stage
- image
- result
- server
- 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
- 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
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)
- Processing Or Creating Images (AREA)
Abstract
本申请涉及一种三维建模方法、装置、计算机设备和存储介质,所述方法包括:获取用户上传的建模图像,并发送所述建模图像至服务器;所述服务器用于对所述建模图像进行三维重建处理,得到所述建模图像在目标阶段的建模结果;接收所述服务器返回的所述目标阶段的建模结果,并在终端界面展示所述目标阶段的建模结果;基于针对所述目标阶段的建模结果的修改操作,得到所述目标阶段的修改后的建模结果;返回所述目标阶段的修改后的建模结果至所述服务器,使所述服务器基于所述修改后的建模结果,对所述目标阶段的下一个建模阶段进行建模操作。采用本方法能够实现在保证建模质量的同时提高建模的效率。
Description
技术领域
本申请涉及建模技术领域,特别是涉及一种三维建模方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
基于图像的建模是当前计算机图形学界一个热门的研究领域,与传统的基于几何的建模相比,基于图像的建模有许多独特的优点,其中最主要的一个优点是可以给人类提供一种最自然的获得照片真实感的方式。
目前基于图像的建模方法中,往往是建模平台接收到用户输入的图像后,直接返回建好的三维模型,若用户发现建好的模型存在问题需要修改时,则需要调整图片让三维重建平台重新进行建模,导致用户经常面临花费了大量时间等待图片->三维模型这一过程,在模型效果不够理想时又需要耗费相同的时间对图片进行调整得到调整后的模型。因此,目前的三维建模方法难以同时保证三维重建模型的质量和建模效率。
发明内容
基于此,有必要针对上述三维建模方法存在的难以同时保证三维重建模型的质量和建模效率的技术问题,提供一种三维建模方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种三维建模方法。所述方法包括:
获取用户上传的建模图像,并发送所述建模图像至服务器;所述服务器用于对所述建模图像进行三维重建处理,得到所述建模图像在目标阶段的建模结果;所述目标阶段为所述建模图像在三维重建过程中的任一个建模阶段;
接收所述服务器返回的所述目标阶段的建模结果,并在终端界面展示所述目标阶段的建模结果;
基于针对所述目标阶段的建模结果的修改操作,得到所述目标阶段的修改后的建模结果;所述修改操作通过预设的编辑器执行,所述编辑器嵌入在所述终端界面中,用于提供对任一个建模阶段的修改操作;
返回所述目标阶段的修改后的建模结果至所述服务器,使所述服务器基于所述修改后的建模结果,对所述目标阶段的下一个建模阶段进行建模操作。
在一示例性实施例中,当所述目标阶段为第一建模阶段时,在发送所述建模图像至服务器之前,还包括:
通过所述预设的编辑器展示所述建模图像和提示信息;所述提示信息用于指示用户在所述建模图像中确定干扰区域;
接收所述用户在所述建模图像中确定的干扰区域,对所述干扰区域进行屏蔽处理,得到处理后建模图像;
所述发送所述建模图像至服务器,包括:
发送所述建模图像至所述服务器,使所述服务器基于所述建模图像进行相机位姿信息的确定;
以及,发送所述建模图像对应的处理后建模图像至所述服务器,使所述服务器基于所述处理后建模图像进行稀疏点云的重建处理。
在一示例性实施例中,所述对所述干扰区域进行屏蔽处理,得到处理后建模图像,包括:
在所述干扰区域上添加蒙版,得到添加蒙版后的建模图像;
对添加蒙版后的建模图像中的干扰区域进行抠图处理,得到所述处理后建模图像。
在一示例性实施例中,所述基于针对所述目标阶段的建模结果的修改操作,得到所述目标阶段的修改后的建模结果,包括:
确定所述目标阶段为第一建模阶段,所述第一建模阶段的建模结果包括稀疏点云和相机位姿信息;
基于针对所述稀疏点云对应的包围盒的位置调整操作,过滤所述稀疏点云中的背景点,得到所述第一建模阶段的修改后的建模结果;所述位置调整操作基于所述相机位姿信息进行。
在一示例性实施例中,所述基于针对所述目标阶段的建模结果的修改操作,得到所述目标阶段的修改后的建模结果,还包括:
确定所述目标阶段为第二建模阶段,所述第二建模阶段的建模结果为基于第一建模阶段的建模结果生成的稠密点云;
基于针对所述稠密点云的裁剪操作,过滤所述稠密点云中的背景点;和/或,基于针对所述稠密点云的仿射变换操作,调整所述稠密点云的尺寸,得到所述第二建模阶段的修改后的建模结果。
在一示例性实施例中,所述基于针对所述目标阶段的建模结果的修改操作,得到所述目标阶段的修改后的建模结果,还包括:
确定所述目标阶段为第三建模阶段,所述第三建模阶段的建模结果为基于第一建模阶段的建模结果和所述建模图像,或者基于第二建模阶段的建模结果得到的点云网格化模型;
基于针对所述点云网络化模型的网格修改操作,调整所述点云网格化模型的网格质量,得到所述第三建模阶段的修改后的建模结果。
在一示例性实施例中,所述基于针对所述目标阶段的建模结果的修改操作,得到所述目标阶段的修改后的建模结果,还包括:
确定所述目标阶段为第四建模阶段,所述第四建模阶段的建模结果为基于第一建模阶段和第三建模阶段的建模结果得到的纹理网格模型;
基于针对所述纹理网格模型的纹理修改操作,调整所述纹理网格模型的纹理质量,得到所述第四建模阶段的修改后的建模结果。
第二方面,本申请还提供了一种三维建模装置。所述装置包括:
图像发送模块,用于获取用户上传的建模图像,并发送所述建模图像至服务器;所述服务器用于对所述建模图像进行三维重建处理,得到所述建模图像在目标阶段的建模结果;所述目标阶段为所述建模图像在三维重建过程中的任一个建模阶段;
接收模块,用于接收所述服务器返回的所述目标阶段的建模结果,并在终端界面展示所述目标阶段的建模结果;
修改模块,用于基于针对所述目标阶段的建模结果的修改操作,得到所述目标阶段的修改后的建模结果;所述修改操作通过预设的编辑器执行,所述编辑器嵌入在所述终端界面中,用于提供对任一个建模阶段的修改操作;
结果发送模块,用于返回所述目标阶段的修改后的建模结果至所述服务器,使所述服务器基于所述修改后的建模结果,对所述目标阶段的下一个建模阶段进行建模操作。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取用户上传的建模图像,并发送所述建模图像至服务器;所述服务器用于对所述建模图像进行三维重建处理,得到所述建模图像在目标阶段的建模结果;所述目标阶段为所述建模图像在三维重建过程中的任一个建模阶段;
接收所述服务器返回的所述目标阶段的建模结果,并在终端界面展示所述目标阶段的建模结果;
基于针对所述目标阶段的建模结果的修改操作,得到所述目标阶段的修改后的建模结果;所述修改操作通过预设的编辑器执行,所述编辑器嵌入在所述终端界面中,用于提供对任一个建模阶段的修改操作;
返回所述目标阶段的修改后的建模结果至所述服务器,使所述服务器基于所述修改后的建模结果,对所述目标阶段的下一个建模阶段进行建模操作。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取用户上传的建模图像,并发送所述建模图像至服务器;所述服务器用于对所述建模图像进行三维重建处理,得到所述建模图像在目标阶段的建模结果;所述目标阶段为所述建模图像在三维重建过程中的任一个建模阶段;
接收所述服务器返回的所述目标阶段的建模结果,并在终端界面展示所述目标阶段的建模结果;
基于针对所述目标阶段的建模结果的修改操作,得到所述目标阶段的修改后的建模结果;所述修改操作通过预设的编辑器执行,所述编辑器嵌入在所述终端界面中,用于提供对任一个建模阶段的修改操作;
返回所述目标阶段的修改后的建模结果至所述服务器,使所述服务器基于所述修改后的建模结果,对所述目标阶段的下一个建模阶段进行建模操作。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取用户上传的建模图像,并发送所述建模图像至服务器;所述服务器用于对所述建模图像进行三维重建处理,得到所述建模图像在目标阶段的建模结果;所述目标阶段为所述建模图像在三维重建过程中的任一个建模阶段;
接收所述服务器返回的所述目标阶段的建模结果,并在终端界面展示所述目标阶段的建模结果;
基于针对所述目标阶段的建模结果的修改操作,得到所述目标阶段的修改后的建模结果;所述修改操作通过预设的编辑器执行,所述编辑器嵌入在所述终端界面中,用于提供对任一个建模阶段的修改操作;
返回所述目标阶段的修改后的建模结果至所述服务器,使所述服务器基于所述修改后的建模结果,对所述目标阶段的下一个建模阶段进行建模操作。
上述三维建模方法、装置、计算机设备、存储介质和计算机程序产品,终端将用户上传的建模图像发送至服务器,使服务器对建模图像进行三维重建处理,得到建模图像在目标阶段的建模结果;并在接收服务器返回的目标阶段的建模结果后,在终端界面展示目标阶段的建模结果,进一步可基于针对目标阶段的建模结果的修改操作,得到目标阶段的修改后的建模结果;其中,修改操作通过预设的编辑器执行,编辑器嵌入在终端界面中,用于提供对任一个建模阶段的修改操作;最后返回目标阶段的修改后的建模结果至服务器,使服务器基于修改后的建模结果,对目标阶段的下一个建模阶段进行建模操作。该方法通过设置服务器将每个建模阶段的建模结果均返回给终端,并在终端界面中预设编辑器,使得用户可对建模图像在建模过程中的任一个建模阶段的建模结果进行修改,使得每一建模阶段的建模结果都具有较高的质量,从而可提高最后得到的三维重建模型的质量,无需在生成最终的三维重建模型后,才能确定三维重建模型的质量,也无需在建模质量不符合要求时,需要重新等待从图片到模型的整个建模过程,实现在保证建模质量的同时提高建模的效率。
附图说明
图1为一个实施例中三维建模方法的应用环境图;
图2为一个实施例中三维建模方法的流程示意图;
图3为一个实施例中建模图像处理步骤的流程示意图;
图4为另一个实施例中三维建模方法的流程示意图;
图5为一个实施例中三维建模系统的结构示意图;
图6为一个实施例中三维建模装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
目前,基于图片的三维建模软件和开源框架,大部分都需要用户手动进行图片前处理和模型后处理,且使用命令行交互的方式居多,当出现建模效果不佳时,无法对建模效果进行有效的检测并反馈给用户,也无法对建模过程中的中间产出进行编辑和控制。基于图片的三维建模软件虽然有可视化的图形框架,但由于其软件安装的限制,可移植性不够好,比如无法提供Linux或移动平台端的支持,它们也无法对模型提供额外的操作以获得更多可能的结果。
另外这些现有的解决方案都缺乏完善的用户数据管理系统,用户需要手动建立图片-模型对应的档案用以保管数据。基于云服务的三维重建平台一定程度上解决了用户数据管理问题,但这些云服务平台往往对建模质量不做把控,用户经常面临花费了大量时间等待图片->三维模型这一过程,在模型效果不够理想时又需要耗费相同的时间对图片进行调整,这是由于云服务平台通常直接从图片得到三维模型,用户无法对建模的中间状态感知所导致的。
此外基于图片的三维重建存在图片背景干扰的问题,即希望建模的物体其背景也会被重建出来,而对完整重建的场景进行分割最后挑选出想要的重建物体是不方便的,但如果仅上传对背景直接透明化处理的照片则会出现场景信息不够丰富从而相机姿态无法恢复的情况。
因此,为解决上述基于图片进行三维建模的易用性问题和质量问题,本申请设计了一种SaaS三维建模平台。相对于现有的三维重建云服务平台,本技术方案提供的三维重建云服务粒度更细,用户得以在重建的各个建模阶段对建模结果进行控制和修改,从而完成高效高质量的重建流程。具体来说,基于图片的三维重建分为图片生成稀疏点云和相机位姿,从相机位姿和稀疏点云生成稠密点云,从稠密点云生成网格,从网格生成纹理化网格这四个阶段。
本申请提供的前端编辑器能够在这四个阶段中都能对中间结果进行编辑,这种通过统一的前端编辑器进行一体化编辑的云服务能降低用户生成最终结果的迭代周期,从而提升用户体验。详细来说,用户上传图片阶段可以对按照前端编辑器的指引对图片进行自动或半自动的蒙版抠图处理,生成稀疏点云后可以对稀疏点云进行轴对齐包围盒的选取和手动对点进行删除等操作,在得到稠密点云后可以按照点云生成的置信度对点进行筛选,在得到网格结果后可以直接使用前端编辑器对网格模型进行平滑、简化等后处理。
此外,前端编辑器对中间结果做处理时直接调用前端算法,不需要和后端服务器再做通信,提升了用户体验。同时中间结果对用户完全透明,用户可以及时得到建模反馈,无论是从输入图片着手还是直接使用前端编辑器,都能节省用户迭代结果的时间,提升建模效率。
本申请实施例提供的三维建模方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102的三维重建展示界面中嵌入有编辑器,编辑器可提供对任一个建模阶段的修改操作。数据存储系统可以存储服务器104需要处理的数据,数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在本申请的应用场景中,用户上传建模图像至终端102,终端102在获取到建模图像后,发送建模图像至服务器104;服务器104接收到建模图像后,对建模图像进行三维重建处理,得到建模图像在目标阶段的建模结果,并返回目标阶段的建模结果给终端102;终端102接收到服务器返回的目标阶段的建模结果后,在终端界面展示目标阶段的建模结果,并基于针对目标阶段的建模结果的修改操作,得到目标阶段的修改后的建模结果,同时返回目标阶段的修改后的建模结果至服务器104,使服务器104基于修改后的建模结果,对目标阶段的下一个建模阶段进行建模操作。
在一个实施例中,如图2所示,提供了一种三维建模方法,以该方法应用于图1中的终端102为例进行说明,包括以下步骤:
步骤S210,获取用户上传的建模图像,并发送建模图像至服务器;服务器用于对建模图像进行三维重建处理,得到建模图像在目标阶段的建模结果;目标阶段为建模图像在三维重建过程中的任一个建模阶段。
其中,建模图像表示用于进行三维建模的图像,建模图像可以为从视频中截取的视频帧图像,也可以为通过终端拍摄的图像。
其中,建模过程共包括四个建模阶段,第一建模阶段为根据建模图像生成稀疏点云和相机位姿信息;第二建模阶段为根据稀疏点云生成稠密点云;第三建模阶段为根据第一建模阶段或第二建模阶段的建模结果,生成带有顶点颜色信息的点云网格化模型;第四阶段为根据点云网格化模型和相机位姿信息生成带有纹理信息的纹理网格模型。
具体实现中,在进行三维重建前,用户在终端102上传需要进行三维建模的建模图像,终端102接收到该建模图像后,检测建模图像与预设的图像条件是否匹配,若建模图像不满足预设的图像条件,则在终端界面中展示提示信息,以指示用户修改建模图像,得到符合预设的图像条件的建模图像,将符合预设的图像条件的建模图像发送给服务器104。服务器104接收到建模图像后,则可调用三维重建算法对建模图像进行三维重建处理,得到建模图像在任一个建模阶段的建模结果,并可将得到的任一个建模阶段的建模结果返回给终端102,使终端的用户确认建模结果的质量。
进一步地,在发送建模图像至服务器104后,还可生成建模图像的三维重建任务,在终端102的界面中展示该三维重建任务。更具体地,可在终端界面的任务管理窗口展示建模图像的三维重建任务,其中,任务管理窗口中包括对三维重建任务的多个管理入口,终端102可响应于针对任一个管理入口的触发指令,执行对应的管理操作。其中,针对任一个管理入口的管理操作可包括上移、下移、编辑、删除、置顶和完成等。
步骤S220,接收服务器返回的目标阶段的建模结果,并在终端界面展示目标阶段的建模结果。
具体实现中,终端102在接收到服务器104返回的目标阶段的建模结果后,可在终端界面中展示目标阶段的建模结果,以便于用户确认目标阶段的建模结果的质量是否满足需求,并在不满足需求时可通过嵌入终端界面的编辑器对目标阶段的建模结果进行修改。
步骤S230,基于针对目标阶段的建模结果的修改操作,得到目标阶段的修改后的建模结果;修改操作通过预设的编辑器执行,编辑器嵌入在终端界面中,用于提供对任一个建模阶段的修改操作。
其中,终端界面嵌入的编辑器可以为一套三维的可视化编辑工具,主要用于检视和修改各个建模阶段的建模结果,通过人为干预的方式调整算法参数,优化重建结果。终端页面主要包含以下组件:(1)算法流程的控制组件,用于发起各步骤的算法任务;(2)重建项目的资产检视组件,用户可以在这里检查自己的各类资产,如重建素材图片、算法产出的点云和网格模型等;(3)三维渲染和交互界面,用于在三维世界中可视化各类资产,帮助用户理解和调整算法输入和参数。(4)图像蒙版编辑器,主要用于在复杂场景下标注图片中的前后景,以达成更好的建模质量。
具体实现中,终端102在展示目标阶段的建模结果后,若用户确定建模质量不符合需求,需要进行修改,则可通过嵌入终端界面的编辑器对建模进行修改调整,以使修改后的建模结果能够达到更好的建模质量。
更具体地,针对不同建模阶段的建模结果,所对应的修改操作也将不同,例如,针对第一建模阶段的建模结果:稀疏点云和相机位姿信息,对应的修改操作一般为过滤稀疏点云中的背景点的操作;针对第二建模阶段的建模结果:稠密点云,对应的修改操作一般为过滤稠密点云中的背景点,和/或,调整稠密点云的尺寸;针对第三建模阶段的建模结果:带有顶点颜色信息的点云网格化模型,对应的修改操作一般为调整点云网格化模型的网格修改操作,目的为提高点云网格化模型的网格质量;针对第四建模阶段的建模结果:带有纹理信息的纹理网格模型,对应的修改操作一般为针对纹理网格模型的纹理修改操作,目的为提高纹理网格模型的纹理质量。
步骤S240,返回目标阶段的修改后的建模结果至服务器,使服务器基于修改后的建模结果,对目标阶段的下一个建模阶段进行建模操作。
具体实现中,在终端102对目标阶段的建模结果进行修改完成后,终端102可将目标阶段的修改后的建模结果返回给服务器104,以使服务器104可基于修改后的建模结果,对目标阶段的下一个建模阶段进行建模操作,由此提高下一个建模阶段的建模结果的质量。
上述三维建模方法中,终端将用户上传的建模图像发送至服务器,使服务器对建模图像进行三维重建处理,得到建模图像在目标阶段的建模结果;并在接收服务器返回的目标阶段的建模结果后,在终端界面展示目标阶段的建模结果,进一步可基于针对目标阶段的建模结果的修改操作,得到目标阶段的修改后的建模结果;其中,修改操作通过预设的编辑器执行,编辑器嵌入在终端界面中,用于提供对任一个建模阶段的修改操作;最后返回目标阶段的修改后的建模结果至服务器,使服务器基于修改后的建模结果,对目标阶段的下一个建模阶段进行建模操作。该方法通过设置服务器将每个建模阶段的建模结果均返回给终端,并在终端界面中预设编辑器,使得用户可对建模图像在建模过程中的任一个建模阶段的建模结果进行修改,使得每一建模阶段的建模结果都具有较高的质量,从而可提高最后得到的三维重建模型的质量,无需在生成最终的三维重建模型后,才能确定三维重建模型的质量,也无需在建模质量不符合要求时,重新等待从图片到模型的整个建模过程,节省用户迭代建模结果的时间,实现在保证建模质量的同时提高建模的效率。
在一示例性实施例中,如图3所示,当目标阶段为第一建模阶段时,在发送建模图像至服务器之前,还包括:
步骤S2101,通过预设的编辑器展示建模图像和提示信息;提示信息用于指示用户在建模图像中确定干扰区域;
步骤S2102,接收用户在建模图像中确定的干扰区域,对干扰区域进行屏蔽处理,得到处理后建模图像;
发送建模图像至服务器,包括:
步骤S2103,发送建模图像至服务器,使服务器基于建模图像进行相机位姿信息的确定;
步骤S2104,发送建模图像对应的处理后建模图像至服务器,使服务器基于处理后建模图像进行稀疏点云的重建处理。
其中,干扰区域表示可能影响建模图像对应的建模结果的区域。其中,干扰区域可以为背景区域。
可以理解的是,在对图像进行建模时,图像中的背景区域往往也会被重建,例如,希望重建桌上的杯子的三维模型,但桌子本身也会被重建出来,从而干扰杯子的建模结果。而对图像进行完整重建后,再从完整重建的场景的三维模型中分割挑选想要的重建物体是十分繁琐不便的,但如果仅是对建模图像的背景直接透明化处理,则会出现场景信息不够丰富从而相机姿态无法恢复,导致建模过程中无法确定相机位姿信息而难以进行准确地建模。因此,本实施例提出了通过对建模图像中的干扰区域进行屏蔽处理的方法以消除干扰区域对建模结果的影响。
具体实现中,终端102在接收到用户上传的建模图像后,可通过终端界面中预设的编辑器展示建模图像和提示信息,通过提示信息提示用户在建模图像中进行干扰区域的确定,若建模图像无需确定干扰区域,则用户可通过关闭提示信息进行下一步操作。若建模图像需要确定干扰区域,则用户可通过预设编辑器从建模图像中选取需要屏蔽的干扰区域。终端102接收到用户选取的干扰区域后,则可对建模图像中的干扰区域进行屏蔽处理,得到处理后建模图像,将处理后建模图像发送给服务器104,使服务器104对处理后建模图像进行稀疏点云的重建处理,将建模图像发送至服务器,使服务器基于建模图像进行相机位姿信息的确定。
进一步地,在一示例性实施例中,上述步骤S2102中,对干扰区域进行屏蔽处理,得到处理后建模图像,包括:
步骤S2102A,在干扰区域上添加蒙版,得到添加蒙版后的建模图像;
步骤S2102B,对添加蒙版后的建模图像中的干扰区域进行抠图处理,得到处理后建模图像。
其中,蒙版用于保护干扰区域,以便于对干扰区域进行抠图处理。
其中,抠图表示将图像的某一部分从原始图像中分离出来成为单独的图层。本实施例中的抠图是指将建模图像中的干扰区域的图像分离出来成为单独的图层。
具体实现中,为了使建模图像中的干扰区域不被三维重建,本申请提出在干扰区域上进行自动或半自动的蒙版抠图处理的方法。更具体地,在从建模图像中确定出干扰区域后,可以通过图像蒙版编辑器先在干扰区域上添加蒙版,得到添加蒙版后的建模图像,然后对添加蒙版后的建模图像中的干扰区域进行抠图处理,以将干扰区域的图像分离出来成为单独的图层,得到处理后建模图像。
本实施例中,通过提示用户确定干扰区域,并在干扰区域上先添加蒙版,然后对添加蒙版后的建模图像中的干扰区域进行抠图处理,以将干扰区域的图像分离出来成为单独的图层,然后发送所述建模图像至所述服务器,使所述服务器基于所述建模图像进行相机位姿信息的确定;以及,发送所述建模图像对应的处理后建模图像至所述服务器,使所述服务器基于所述处理后建模图像进行稀疏点云的重建处理,使得可以在恢复相机位姿时使用带背景的建模图像,而在重建稀疏点云乃至重建网格时使用带蒙版的处理后建模图像,实现在确保相机位姿恢复正确的情况下消除重建时的背景干扰,仅获得用户感兴趣的重建物体。
在一示例性实施例中,上述步骤S230中,基于针对目标阶段的建模结果的修改操作,得到目标阶段的修改后的建模结果,包括:确定目标阶段为第一建模阶段,第一建模阶段的建模结果包括稀疏点云和相机位姿信息;基于针对稀疏点云对应的包围盒的位置调整操作,过滤稀疏点云中的背景点,得到第一建模阶段的修改后的建模结果;位置调整操作基于相机位姿信息进行。
其中,包围盒是一种求解离散点集最优包围空间的算法,其基本思想用体积稍大且特性稍简单的几何体(称为包围盒)来近似地代替复杂的几何对象。确定包围盒的方法可以有AABB、OBB等,其中,AABB包围盒就是一个简单的六面体,每一边都平行于一个坐标平面,矩形边界框不一定都是立方体,它的长、宽、高可以彼此不同;而OBB这种方法是根据物体本身的几何形状来决定盒子的大小和方向,盒子无须和坐标轴垂直,由此可以选择最合适的最紧凑的包容盒子。
其中,第一建模阶段为基于建模图像生成稀疏点云和相机位姿信息,作为第二建模阶段或第三建模阶段的输入。
具体实现中,第一建模阶段生成的稀疏点云和相机位姿信息均可以在前端编辑器中可视化,并且通过调整与坐标轴对齐的包围盒,过滤掉算法结果中的一些背景点,以优化第二建模阶段或第三建模阶段的建模结果。当服务器104返回至终端102的建模结果为第一建模阶段的建模结果时,为了过滤稀疏点云中的背景点,因此,对第一建模阶段的建模结果的修改操作可以为对稀疏点云进行轴对齐包围盒的选取和手动对点的删除操作,例如通过。
本实施例中,通过对第一建模阶段的建模结果的稀疏点云进行过滤操作,剔除干扰的背景点,从而提高第一建模阶段的建模质量,进而可提高基于第一建模阶段的建模结果进行建模的第二建模阶段和第三建模阶段的建模质量。
在一示例性实施例中,上述步骤S230中,基于针对目标阶段的建模结果的修改操作,得到目标阶段的修改后的建模结果,还包括:确定目标阶段为第二建模阶段,第二建模阶段的建模结果为基于第一建模阶段的建模结果生成的稠密点云;基于针对稠密点云的裁剪操作,过滤稠密点云中的背景点;和/或,基于针对稠密点云的仿射变换操作,调整稠密点云的尺寸,得到第二建模阶段的修改后的建模结果。
其中,仿射变换(仿射映射)是指在几何中,一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间。仿射变换包括旋转,平移,错切(shear)和尺度变化(scale)。
其中,第二建模阶段的输入为建模图像及其对应的相机位姿信息和稀疏点云,以及AABB框选的感兴趣区域,根据这些输入信息生成对应的稠密点云,作为第三建模阶段的输入。
具体实现中,第二建模阶段生成的稠密点云也可在终端界面进行可视化,并可通过裁剪和仿射变化等方式对稠密点云进行编辑,以优化第三建模阶段的建模结果。当服务器104返回至终端102的建模结果为第二建模阶段的建模结果时,对第二建模阶段的建模结果的修改操作可以为对稠密点云的裁剪操作,以进一步过滤背景点,和/或对稠密点云的仿射变化操作,以调整稠密点云的尺寸。更具体地,对稠密点云中点的裁剪操作可按照置信度进行点的选取,如将置信度较低的点裁剪掉,保留置信度较高的点云。对稠密点云的仿射变换操作,具体可以为使用仿射变换中的缩放,以将不符合大小要求的稠密点云缩放到期望的尺寸。
本实施例中,通过对第二建模阶段的建模结果的稠密点云进行过滤操作,以剔除置信度较低的点,通过对稠密点云的仿射变换操作,可以将不符合大小要求的稠密点云缩放到期望的尺寸,从而提高第二建模阶段的建模质量,进而可提高基于第二建模阶段的建模结果进行建模的第三建模阶段的建模质量。
在一示例性实施例中,上述步骤S230中,基于针对目标阶段的建模结果的修改操作,得到目标阶段的修改后的建模结果,还包括:确定目标阶段为第三建模阶段,第三建模阶段的建模结果为基于第一建模阶段建模结果和所述建模图像,或者基于第二建模阶段的建模结果得到的点云网格化模型;基于针对点云网络化模型的网格修改操作,调整点云网格化模型的网格质量,得到第三建模阶段的修改后的建模结果。
其中,第三建模阶段的输入可以为第一建模阶段的稀疏点云和相机位姿信息以及建模图像,也可以为第二建模阶段的稠密点云,两种方式均输出带有顶点颜色信息的点云网格化模型,作为第四阶段的输入。
具体实现中,第三阶段的点云网格化模型的生成包括两种方法,一是使用传统算法,二是使用深度算法。在传统算法模式下,该阶段需要上述第二建模阶段输出的稠密点云作为输入,并输出带有顶点颜色信息的网格模型。在深度算法模式下,该阶段需要上述第一建模阶段输出的稀疏点云和相机位姿信息,以及建模图像或视频素材作为输入,并输出带有顶点颜色信息的网格模型。
更具体地,当服务器104返回至终端102的建模结果为第三建模阶段的建模结果时,对第三建模阶段的建模结果的修改操作可以为常规的网格修改操作,例如平滑、简化、重构、补洞等,目的是为了提高网格的质量。例如,平滑是为了去噪,简化是为了减少网格规模,重构是为了消除质量不佳的面片和顶点,补洞可以修复网格中的缺口。
可以理解的是,当采用深度算法模式进行第三建模阶段的建模时,需要第一建模阶段输出的稀疏点云和相机位姿信息,以及建模图像作为输入,为避免建模图像中的背景对建模结果的影响,本实施例中也可在发送第一建模阶段的建模结果和建模图像至服务器前,对建模图像进行蒙版抠图处理,将第一建模阶段的建模结果和处理后建模图像发送至服务器。其中,对建模图像进行蒙版抠图处理的过程在前述实施例中已说明,在此不再赘述。
本实施例中,通过对第三建模阶段的建模结果的点云网络化模型的网格修改操作,以提高点云网格化模型的网格质量,从而可提高基于第三建模阶段的建模结果进行建模的第四建模阶段的建模质量。
在一示例性实施例中,上述步骤S230中,基于针对目标阶段的建模结果的修改操作,得到目标阶段的修改后的建模结果,还包括:确定目标阶段为第四建模阶段,第四建模阶段的建模结果为基于第一建模阶段建模结果和建模图像,或者基于第三建模阶段的建模结果得到的纹理网格模型;基于针对纹理网格模型的纹理修改操作,调整纹理网格模型的纹理质量,得到第四建模阶段的修改后的建模结果。
其中,第四建模阶段的输入包括第三建模阶段输出的点云网格化模型以及以建模阶段输出的相机位姿信息,根据点云网格化模型和相机位姿信息,输出带有纹理信息的纹理网格模型,该纹理网格模型即为重建的最终结果。
具体实现中,在得到第四建模阶段输出的带有纹理信息的纹理网格模型后,用户可以继续编辑模型或者导出模型使用,如果对重建模型效果不满意,可以基于先导步骤的结果继续优化迭代。
更具体地,当服务器104返回至终端102的建模结果为第四建模阶段的建模结果时,对第四建模阶段的建模结果的修改操作可以为在前端界面指定想要映射纹理的照片。比如,有些照片可能有模糊、过曝等情况发生,在生成纹理时不希望这些照片对结果造成影响,则可以在编辑窗口中互动式地禁用这些照片。如果希望某些照片对纹理产生显著效果,也可以设置这些照片的权值。这些操作主要目的是为了优化生成模型的纹理质量。并且,第三建模阶段中的网格修改操作在第四建模阶段也可以使用。
本实施例中,通过对第四建模阶段的建模结果的纹理网络模型的纹理修改操作,以提高纹理网格模型的纹理质量,从而可提高基于建模图像生成的三维重建模型的质量。
参考图4,为一示例性实施例示出的另一种三维建模方法的流程示意图,本实施例中,该方法包括以下步骤:
步骤S410,获取用户上传的建模图像,并发送建模图像至服务器;服务器用于对建模图像进行三维重建处理,得到建模图像在目标阶段的建模结果;
步骤S420,接收服务器返回的目标阶段的建模结果,并在终端界面展示目标阶段的建模结果;
步骤S430,若目标阶段为第一建模阶段,基于针对第一建模阶段得到的稀疏点云对应的包围盒的位置调整操作,过滤稀疏点云中的背景点,得到第一建模阶段的修改后的建模结果;位置调整操作基于相机位姿信息进行;
步骤S440,若目标阶段为第二建模阶段,基于针对第二建模阶段得到的稠密点云的裁剪操作,过滤稠密点云中的背景点;和/或,基于针对稠密点云的仿射变换操作,调整稠密点云的尺寸,得到第二建模阶段的修改后的建模结果;
步骤S450,若目标阶段为第三建模阶段,基于针对第三建模阶段得到的点云网络化模型的网格修改操作,调整点云网格化模型的网格质量,得到第三建模阶段的修改后的建模结果;
步骤S460,若目标阶段为第四建模阶段,基于针对第四建模阶段得到的纹理网格模型的纹理修改操作,调整纹理网格模型的纹理质量,得到第四建模阶段的修改后的建模结果;
步骤S470,返回目标阶段的修改后的建模结果至服务器,使服务器基于修改后的建模结果,对目标阶段的下一个建模阶段进行建模操作。
本实施例通过设置服务器将每个建模阶段的建模结果均返回给终端,使得用户可对建模图像在建模过程中的任一个建模阶段的建模结果进行修改,使得每一建模阶段的建模结果都具有较高的质量,从而可提高最后得到的三维重建模型的质量,无需在生成最终的三维重建模型后,才能确定三维重建模型的质量,也无需在建模质量不符合要求时,需要重新等待从图片到模型的整个建模过程,从而可减少时间的浪费。
在一个实施例中,为了便于本领域技术人员理解本申请实施例,以下将结合附图的具体示例进行说明。参考图5,为一示例性实施例示出的三维建模系统的结构框图,包括三个模块:无状态算法服务,后台服务,以及前端可视化编辑模块。
本申请将重建算法的不同步骤拆分成了独立的无状态服务,使得用户可以自行控制各阶段输入数据的质量并进行快速迭代,从而达到提升最终建模质量和效率的目的。具体地,这些独立的算法步骤包括:
1. 图像特征提取匹配与稀疏点云重建
2. 稠密点云重建
3. 点云网格化
4. 生成纹理化网格
其中,步骤1会根据输入的图像或视频生成稀疏点云和相机位姿信息,作为步骤2或步骤3的输入。这里输出的稀疏点云和相机位姿信息皆可以在前端编辑器中可视化,并且通过调整与坐标轴对齐的包围盒(Axis-Aligned Bounding Box, AABB),过滤掉算法结果中的一些背景点,优化步骤2或步骤3的重建结果。
步骤2的输入为图像及其对应的相机位姿信息和稀疏点云,以及AABB框选的感兴趣区域(Region of Interest,ROI),并生成对应的稠密点云,作为步骤3的输入。这些稠密点云同样可以在前端可视化,并且可以通过裁剪、仿射变换等方式进行编辑,以优化步骤3的重建结果。
步骤3有两种模式,一是使用传统算法,二是使用深度算法。在传统算法模式下,此步骤需要上述步骤2输出的密集点云作为输入,并输出带有顶点颜色信息的网格模型。在深度算法模式下,此步骤需要上述步骤1输出的稀疏点云和相机位姿信息,以及初始图像或视频素材作为输入,并输出带有顶点颜色信息的网格模型。
步骤4的输入需要步骤3输出的的网格模型以及步骤1输出的相机位姿,并输出带有纹理信息的网格模型。这是重建的最终结果,用户可以继续编辑模型或者导出模型使用。如果对重建模型效果不满意,可以基于先导步骤的结果继续优化迭代。
如图5所示,后台服务则分为任务调度和数据存储两个模块。任务调度模块主要负责调度来自不同用户的不同算法任务,而数据存储模块主要负责算法输入数据以及中间结果和最终建模结果的持久化。
当用户准备好重建算法各步骤响应的输入数据后,可以通过前端页面发起重建任务。后台服务在收到请求后会在数据库中建立一项算法任务记录,并加入优先级队列。后台服务会依照此优先级队列调度算法资源进行重建任务,并且会在任务进入队列、开始计算、重建完成或者失败后更新状态到数据库中对应字段。调度方式可以是在集群中调度算法服务容器,或者在常驻算法服务集群中调度接口调用。在此过程中前端会通过心跳式轮询来查询任务状态并在页面上进行相应的展示。
数据存储主要分为数据库和静态文件存储。数据库中存储各项算法任务的信息和状态,静态文件存储中则存放重建算法产出的各类数据文件,如稀疏点云、密集点云、相机位姿和网格模型等。
前端页面为一套三维的可视化编辑工具,主要用于检视和修改各算法步骤的输出结果,通过人为干预的方式调整算法参数,优化重建结果。页面主要包含以下组件:
1. 算法流程的控制组件,用于发起各步骤的算法任务。
2. 重建项目的资产检视组件,用户可以在这里检查自己的各类资产,如重建素材图片、算法产出的点云和网格模型等。
3. 三维渲染和交互界面,用于在三维世界中可视化各类资产,帮助用户理解和调整算法输入和参数。
4. 图像蒙版编辑器,主要用于在复杂场景下标注图片中的前后景,以达成更好的建模质量。
组件1在用户选择对应算法步骤的输入参数并确认后,向后台发出发起算法任务的请求。
组价2会对后台进行心跳式轮询,并根据各资产对应的算法任务状态在页面上显示出其状态(等待中、计算中、已完成、生成失败)。当资产生成成功后,用户可以点选资产,并从云端拉取对应数据后在组件3中进行可视化和编辑。同时也可以在此组件中选择导出或者删除资产。
组件3主要用于在各算法步骤之间对算法输出的资产进行可视化,以供用户评估算法的效果,并做出相应的修改。主要的可视化和编辑工具包括稀疏点云AABB的选择、相机位姿的可视化、以及网格模型的面片编辑等。
组件4可以对输入图片中的前后景进行标注分割,并生成一张掩码图像。标注前后景有助于算法在重建时过滤掉背景中的特征点,提高目标建模的精度和效率。
本实施例提供的基于图像的三维建模方法,具有以下有益效果:
(1)通过拆分建模过程并引入统一的前端编辑器,用户可以及时得到建模结果的反馈并对建模的中间结果进行编辑和控制。
(2)通过云服务架构解决了用户数据管理问题和平台兼容性问题。
(3)通过前端编辑器统一对重建输入图像进行处理,可以在恢复相机位姿是使用带背景的图片,而在重建稀疏点云乃至重建网格时使用带蒙版的图片,实现在确保相机位姿恢复正确的情况下消除重建时的背景干扰,仅获得用户感兴趣的重建物体。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的三维建模方法的三维建模装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个三维建模装置实施例中的具体限定可以参见上文中对于三维建模方法的限定,在此不再赘述。
在一个实施例中,如图6所示,提供了一种三维建模装置,包括:图像发送模块610、接收模块620、修改模块630和结果发送模块640,其中:
图像发送模块610,用于获取用户上传的建模图像,并发送建模图像至服务器;服务器用于对建模图像进行三维重建处理,得到建模图像在目标阶段的建模结果;目标阶段为建模图像在三维重建过程中的任一个建模阶段;
接收模块620,用于接收服务器返回的目标阶段的建模结果,并在终端界面展示目标阶段的建模结果;
修改模块630,用于基于针对目标阶段的建模结果的修改操作,得到目标阶段的修改后的建模结果;修改操作通过预设的编辑器执行,编辑器嵌入在终端界面中,用于提供对任一个建模阶段的修改操作;
结果发送模块640,用于返回目标阶段的修改后的建模结果至服务器,使服务器基于修改后的建模结果,对目标阶段的下一个建模阶段进行建模操作。
在一个实施例中,上述装置还包括图像处理模块,用于在目标阶段为第一建模阶段的情况下,通过预设的编辑器展示建模图像和提示信息;提示信息用于指示用户在建模图像中确定干扰区域;接收用户在建模图像中确定的干扰区域,对干扰区域进行屏蔽处理,得到处理后建模图像;
图像发送模块610,还用于发送建模图像至服务器,使服务器基于建模图像进行相机位姿信息的确定;以及,发送建模图像对应的处理后建模图像至服务器,使服务器基于处理后建模图像进行稀疏点云的重建处理。
在一个实施例中,上述图像处理模块,还用于在干扰区域上添加蒙版,得到添加蒙版后的建模图像;对添加蒙版后的建模图像中的干扰区域进行抠图处理,得到处理后建模图像。
在一个实施例中,上述修改模块630,还用于确定目标阶段为第一建模阶段,第一建模阶段的建模结果包括稀疏点云和相机位姿信息;基于针对稀疏点云对应的包围盒的位置调整操作,过滤稀疏点云中的背景点,得到第一建模阶段的修改后的建模结果;位置调整操作基于相机位姿信息进行。
在一个实施例中,上述修改模块630,还用于确定目标阶段为第二建模阶段,第二建模阶段的建模结果为基于第一建模阶段的建模结果生成的稠密点云;基于针对稠密点云的裁剪操作,过滤稠密点云中的背景点;和/或,基于针对稠密点云的仿射变换操作,调整稠密点云的尺寸,得到第二建模阶段的修改后的建模结果。
在一个实施例中,上述修改模块630,还用于确定目标阶段为第三建模阶段,第三建模阶段的建模结果为基于第一建模阶段的建模结果和建模图像,或者基于第二建模阶段的建模结果得到的点云网格化模型;基于针对点云网络化模型的网格修改操作,调整点云网格化模型的网格质量,得到第三建模阶段的修改后的建模结果。
在一个实施例中,上述修改模块630,还用于确定目标阶段为第四建模阶段,第四建模阶段的建模结果为基于第一建模阶段和第三建模阶段的建模结果得到的纹理网格模型;基于针对纹理网格模型的纹理修改操作,调整纹理网格模型的纹理质量,得到第四建模阶段的修改后的建模结果。
上述三维建模装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种三维建模方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (11)
1.一种三维建模方法,其特征在于,所述方法包括:
获取用户上传的建模图像,并发送所述建模图像至服务器;所述服务器用于对所述建模图像进行三维重建处理,得到所述建模图像在目标阶段的建模结果;所述目标阶段为所述建模图像在三维重建过程中的任一个建模阶段;
接收所述服务器返回的所述目标阶段的建模结果,并在终端界面展示所述目标阶段的建模结果;
基于针对所述目标阶段的建模结果的修改操作,得到所述目标阶段的修改后的建模结果;所述修改操作通过预设的编辑器执行,所述编辑器嵌入在所述终端界面中,用于提供对任一个建模阶段的修改操作;
返回所述目标阶段的修改后的建模结果至所述服务器,使所述服务器基于所述修改后的建模结果,对所述目标阶段的下一个建模阶段进行建模操作。
2.根据权利要求1所述的方法,其特征在于,当所述目标阶段为第一建模阶段时,在发送所述建模图像至服务器之前,还包括:
通过所述预设的编辑器展示所述建模图像和提示信息;所述提示信息用于指示用户在所述建模图像中确定干扰区域;
接收所述用户在所述建模图像中确定的干扰区域,对所述干扰区域进行屏蔽处理,得到处理后建模图像;
所述发送所述建模图像至服务器,包括:
发送所述建模图像至所述服务器,使所述服务器基于所述建模图像进行相机位姿信息的确定;
以及,发送所述建模图像对应的处理后建模图像至所述服务器,使所述服务器基于所述处理后建模图像进行稀疏点云的重建处理。
3.根据权利要求2所述的方法,其特征在于,所述对所述干扰区域进行屏蔽处理,得到处理后建模图像,包括:
在所述干扰区域上添加蒙版,得到添加蒙版后的建模图像;
对添加蒙版后的建模图像中的干扰区域进行抠图处理,得到所述处理后建模图像。
4.根据权利要求1所述的方法,其特征在于,所述基于针对所述目标阶段的建模结果的修改操作,得到所述目标阶段的修改后的建模结果,包括:
确定所述目标阶段为第一建模阶段,所述第一建模阶段的建模结果包括稀疏点云和相机位姿信息;
基于针对所述稀疏点云对应的包围盒的位置调整操作,过滤所述稀疏点云中的背景点,得到所述第一建模阶段的修改后的建模结果;所述位置调整操作基于所述相机位姿信息进行。
5.根据权利要求1所述的方法,其特征在于,所述基于针对所述目标阶段的建模结果的修改操作,得到所述目标阶段的修改后的建模结果,还包括:
确定所述目标阶段为第二建模阶段,所述第二建模阶段的建模结果为基于第一建模阶段的建模结果生成的稠密点云;
基于针对所述稠密点云的裁剪操作,过滤所述稠密点云中的背景点;和/或,基于针对所述稠密点云的仿射变换操作,调整所述稠密点云的尺寸,得到所述第二建模阶段的修改后的建模结果。
6.根据权利要求1所述的方法,其特征在于,所述基于针对所述目标阶段的建模结果的修改操作,得到所述目标阶段的修改后的建模结果,还包括:
确定所述目标阶段为第三建模阶段,所述第三建模阶段的建模结果为基于第一建模阶段的建模结果和所述建模图像,或者基于第二建模阶段的建模结果得到的点云网格化模型;
基于针对所述点云网络化模型的网格修改操作,调整所述点云网格化模型的网格质量,得到所述第三建模阶段的修改后的建模结果。
7.根据权利要求1所述的方法,其特征在于,所述基于针对所述目标阶段的建模结果的修改操作,得到所述目标阶段的修改后的建模结果,还包括:
确定所述目标阶段为第四建模阶段,所述第四建模阶段的建模结果为基于第一建模阶段和第三建模阶段的建模结果得到的纹理网格模型;
基于针对所述纹理网格模型的纹理修改操作,调整所述纹理网格模型的纹理质量,得到所述第四建模阶段的修改后的建模结果。
8.一种三维建模装置,其特征在于,所述装置包括:
图像发送模块,用于获取用户上传的建模图像,并发送所述建模图像至服务器;所述服务器用于对所述建模图像进行三维重建处理,得到所述建模图像在目标阶段的建模结果;所述目标阶段为所述建模图像在三维重建过程中的任一个建模阶段;
接收模块,用于接收所述服务器返回的所述目标阶段的建模结果,并在终端界面展示所述目标阶段的建模结果;
修改模块,用于基于针对所述目标阶段的建模结果的修改操作,得到所述目标阶段的修改后的建模结果;所述修改操作通过预设的编辑器执行,所述编辑器嵌入在所述终端界面中,用于提供对任一个建模阶段的修改操作;
结果发送模块,用于返回所述目标阶段的修改后的建模结果至所述服务器,使所述服务器基于所述修改后的建模结果,对所述目标阶段的下一个建模阶段进行建模操作。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的三维建模方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的三维建模方法的步骤。
11.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7中任一项所述的三维建模方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210627331.2A CN114708391B (zh) | 2022-06-06 | 2022-06-06 | 三维建模方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210627331.2A CN114708391B (zh) | 2022-06-06 | 2022-06-06 | 三维建模方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114708391A true CN114708391A (zh) | 2022-07-05 |
CN114708391B CN114708391B (zh) | 2022-08-26 |
Family
ID=82177929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210627331.2A Active CN114708391B (zh) | 2022-06-06 | 2022-06-06 | 三维建模方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114708391B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114898357A (zh) * | 2022-07-12 | 2022-08-12 | 深圳思谋信息科技有限公司 | 缺陷识别方法、装置、电子设备及计算机可读存储介质 |
CN115661371A (zh) * | 2022-12-14 | 2023-01-31 | 深圳思谋信息科技有限公司 | 三维对象建模方法、装置、计算机设备及存储介质 |
CN116704156A (zh) * | 2023-04-28 | 2023-09-05 | 北京优酷科技有限公司 | 模型生成方法、电子设备及模型生成系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100245344A1 (en) * | 2009-03-31 | 2010-09-30 | Microsoft Corporation | Annotating or editing three dimensional space |
CN110298136A (zh) * | 2019-07-05 | 2019-10-01 | 广东金雄城工程项目管理有限公司 | 基于bim技术场景建造方法和系统及于园林景观数字建模中的应用 |
CN111857757A (zh) * | 2020-07-23 | 2020-10-30 | 上海方联技术服务有限公司 | 一种基于容器云的航拍图像处理服务的高效部署方法 |
CN114067051A (zh) * | 2021-11-16 | 2022-02-18 | 百度在线网络技术(北京)有限公司 | 三维重建处理方法、装置、电子设备以及存储介质 |
CN114547735A (zh) * | 2022-02-09 | 2022-05-27 | 郑毅 | 基于三维重建的虚拟家居设计系统 |
-
2022
- 2022-06-06 CN CN202210627331.2A patent/CN114708391B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100245344A1 (en) * | 2009-03-31 | 2010-09-30 | Microsoft Corporation | Annotating or editing three dimensional space |
CN110298136A (zh) * | 2019-07-05 | 2019-10-01 | 广东金雄城工程项目管理有限公司 | 基于bim技术场景建造方法和系统及于园林景观数字建模中的应用 |
CN111857757A (zh) * | 2020-07-23 | 2020-10-30 | 上海方联技术服务有限公司 | 一种基于容器云的航拍图像处理服务的高效部署方法 |
CN114067051A (zh) * | 2021-11-16 | 2022-02-18 | 百度在线网络技术(北京)有限公司 | 三维重建处理方法、装置、电子设备以及存储介质 |
CN114547735A (zh) * | 2022-02-09 | 2022-05-27 | 郑毅 | 基于三维重建的虚拟家居设计系统 |
Non-Patent Citations (2)
Title |
---|
李德元等: "基于多视角立体影像匹配三维建模技术的研究", 《经纬天地》 * |
潘亮等: "三维实景建模技术及运用上", 《影视制作》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114898357A (zh) * | 2022-07-12 | 2022-08-12 | 深圳思谋信息科技有限公司 | 缺陷识别方法、装置、电子设备及计算机可读存储介质 |
CN114898357B (zh) * | 2022-07-12 | 2022-10-18 | 深圳思谋信息科技有限公司 | 缺陷识别方法、装置、电子设备及计算机可读存储介质 |
CN115661371A (zh) * | 2022-12-14 | 2023-01-31 | 深圳思谋信息科技有限公司 | 三维对象建模方法、装置、计算机设备及存储介质 |
CN116704156A (zh) * | 2023-04-28 | 2023-09-05 | 北京优酷科技有限公司 | 模型生成方法、电子设备及模型生成系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114708391B (zh) | 2022-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114708391B (zh) | 三维建模方法、装置、计算机设备和存储介质 | |
US8655052B2 (en) | Methodology for 3D scene reconstruction from 2D image sequences | |
US8281281B1 (en) | Setting level of detail transition points | |
Sýkora et al. | Adding depth to cartoons using sparse depth (in) equalities | |
CN109964255B (zh) | 使用3d视频数据的3d打印 | |
CN112270736B (zh) | 增强现实处理方法及装置、存储介质和电子设备 | |
US11663467B2 (en) | Methods and systems for geometry-aware image contrast adjustments via image-based ambient occlusion estimation | |
CN104360847A (zh) | 一种用于处理图像的方法与设备 | |
CN111199577A (zh) | 一种房屋虚拟装修方法 | |
US11625848B2 (en) | Apparatus for multi-angle screen coverage analysis | |
CN114596423A (zh) | 基于虚拟场景网格化的模型渲染方法、装置和计算机设备 | |
Hildebrandt et al. | Service-oriented interactive 3D visualization of massive 3D city models on thin clients | |
CN115984447A (zh) | 图像渲染方法、装置、设备和介质 | |
US20240020810A1 (en) | UNIVERSAL STYLE TRANSFER USING MULTl-SCALE FEATURE TRANSFORM AND USER CONTROLS | |
CN110038302B (zh) | 基于Unity3D的网格生成方法及装置 | |
CN109300191A (zh) | Ar模型处理方法、装置、电子设备及可读存储介质 | |
US20230087476A1 (en) | Methods and apparatuses for photorealistic rendering of images using machine learning | |
CN109729285B (zh) | 熔线格特效生成方法、装置、电子设备及存储介质 | |
JP7119854B2 (ja) | 変更画素領域抽出装置、画像処理システム、変更画素領域抽出方法、画像処理方法及びプログラム | |
US11302074B2 (en) | Mobile device 3-dimensional modeling | |
US20240161405A1 (en) | Modifying two-dimensional images utilizing segmented three-dimensional object meshes of the two-dimensional images | |
US20240161320A1 (en) | Generating adaptive three-dimensional meshes of two-dimensional images | |
US20240161366A1 (en) | Modifying two-dimensional images utilizing three-dimensional meshes of the two-dimensional images | |
US20240161406A1 (en) | Modifying two-dimensional images utilizing iterative three-dimensional meshes of the two-dimensional images | |
CN115240260A (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 |