掌桥专利:专业的专利平台
掌桥专利
首页

模型建立方法、装置、电子设备、介质及程序产品

文献发布时间:2023-06-19 12:19:35


模型建立方法、装置、电子设备、介质及程序产品

技术领域

本公开涉及计算机技术领域,具体涉及一种模型建立方法、装置、电子设备、介质及程序产品。

背景技术

在电子商务领域,有时希望向客户提供产品的各个视角的图像以方便客户了解产品全貌,或者希望向客户提供将产品以各种位置和姿态放置于不同场景的图像以方便客户了解在这些场景中放置产品的视觉效果。

实现上述功能的可能方式之一是建立产品的三维模型,并根据用户选择的视角,使用三维模型进行渲染以得到相应图像。但是,基于激光扫描的模型建立成本较高,基于结构光的模型建立需要较为复杂的镜头系统,均难以满足推广应用的要求。

发明内容

为了解决相关技术中的问题,本公开实施例提供一种模型建立方法、装置、电子设备、介质及程序产品。

第一方面,本公开实施例中提供了一种模型建立方法。

具体地,所述模型建立方法,包括:

获取指定对象的多幅图像;

获取所述多幅图像各自对应的相机内参和外参;

基于所述多幅图像和所述多幅图像各自对应的相机内参和外参,确定所述指定对象的三维模型。

结合第一方面,本公开在第一方面的第一种实现方式中:

所述指定对象的多幅图像包括所述指定对象的不同视角的多幅图像;

所述指定对象的多幅图像包含所述三维模型需要展示的部分的图像。

结合第一方面,本公开在第一方面的第二种实现方式中,所述基于所述多幅图像和所述多幅图像各自对应的相机内参和外参,确定所述指定对象的三维模型,包括:

根据所述多幅图像各自对应的相机内参和外参,确定所述指定对象所在的空间区域中的第一位置点集合,所述第一位置点集合包括所述多幅图像各自对应的位置点;

使用所述多幅图像和所述多幅图像各自对应的位置点训练神经网络,所述神经网络的输入是位置点的位置信息,所述神经网络的输出是所述位置点对应的物质稠密度信息和颜色信息;

使用训练好的神经网络获取所述指定对象所在的空间区域中的第二位置点集合的物质稠密度信息,基于所述指定对象所在的空间区域中的第二位置点集合的物质稠密度信息,确定所述指定对象的三维模型。

结合第一方面的第二种实现方式,本公开在第一方面的第三种实现方式中,所述根据所述多幅图像各自对应的相机内参和外参,确定所述指定对象所在的空间区域中的第一位置点集合,包括:

根据所述多幅图像和所述多幅图像各自对应的相机外参确定所述指定对象所在的空间区域;

针对每幅图像,根据所述指定对象所在的空间区域和所述图像对应的相机内参和外参,确定所述图像对应的位置点,所述位置点位于经过相应图像对应的相机光心和成像平面的像素的射线上,将所述多幅图像各自对应的位置点的集合作为所述第一位置点集合。

结合第一方面的第二种实现方式,本公开在第一方面的第四种实现方式中,所述使用所述多幅图像和所述第一位置点集合训练神经网络,包括:

使用所述神经网络输出的位置点的物质稠密度信息和颜色信息确定所述多幅图像各自对应的预测图像;

根据所述多幅图像和所述多幅图像各自对应的预测图像确定损失函数;

调整所述神经网络的参数以最小化所述损失函数。

结合第一方面的第二种实现方式,本公开在第一方面的第五种实现方式中,所述基于所述指定对象所在的空间区域中的第二位置点集合的物质稠密度信息,确定所述指定对象的三维模型,包括:

基于所述第二位置点集合中物质稠密度大于预设阈值的位置点确定所述指定对象的三维模型。

结合第一方面的第二种实现方式,本公开在第一方面的第六种实现方式中,所述方法还包括:

根据所述指定对象的三维模型在模型坐标系中的设定位姿,确定所述设定位姿的相应指定对象图像对应的相机外参;

根据相机内参、所述设定位姿的相应指定对象图像对应的相机外参和所述指定对象所在的空间区域,确定所述空间区域中的第三位置点集合,所述第三位置点集合中的位置点位于经过所述设定位姿的相应指定对象图像对应的相机光心和成像平面的像素的射线上;

使用所述训练好的神经网络获取所述第三位置点集合的物质稠密度信息和颜色信息;

基于所述第三位置点集合的物质稠密度信息和颜色信息,渲染得到所述指定对象在所述指定场景中的图像。

第二方面,本公开实施例中提供了一种模型建立方法,包括:

获取商户输入的指定对象的多幅图像;

获取所述多幅图像各自对应的相机内参和外参;

基于所述多幅图像和所述多幅图像各自对应的相机内参和外参,确定所述指定对象的三维模型。

结合第二方面,本公开在第二方面的第一种实现方式中,所述方法还包括:

获取商户对所述指定对象在指定场景中的图像执行的操作;

根据所述商户对所述指定对象在指定场景中的图像执行的操作,确定所述指定对象的三维模型在模型坐标系中的设定位姿;

根据相机内参、所述设定位姿的相应指定对象图像对应的相机外参和所述指定对象所在的空间区域,渲染得到所述指定对象在所述指定场景中的图像。

结合第二方面的第一种实现方式,本公开在第二方面的第二种实现方式中,所述根据相机内参、所述设定位姿的相应指定对象图像对应的相机外参和所述指定对象所在的空间区域,渲染得到所述指定对象在所述指定场景中的图像,包括:

根据相机内参、所述设定位姿的相应指定对象图像对应的相机外参和所述指定对象所在的空间区域,确定所述空间区域中的第三位置点集合,所述第三位置点集合中的位置点位于经过所述设定位姿的相应指定对象图像对应的相机光心和成像平面的像素的射线上;

使用针对所述指定对象训练好的神经网络获取所述第三位置点集合的物质稠密度信息和颜色信息;

基于所述第三位置点集合的物质稠密度信息和颜色信息,渲染得到所述指定对象在所述指定场景中的图像。

第三方面,本公开实施例中提供了一种模型建立装置。

具体地,所述模型建立装置,包括:

第一获取模块,被配置为获取指定对象的多幅图像;

第二获取模块,被配置为获取所述多幅图像各自对应的相机内参和外参;

第一确定模块,被配置为基于所述多幅图像和所述多幅图像各自对应的相机内参和外参,确定所述指定对象的三维模型。

结合第三方面,本公开在第三方面的第一种实现方式中:

所述指定对象的多幅图像包括所述指定对象的不同视角的多幅图像;

所述指定对象的多幅图像包含所述三维模型需要展示的部分的图像。

结合第三方面,本公开在第三方面的第二种实现方式中,所述基于所述多幅图像和所述多幅图像各自对应的相机内参和外参,确定所述指定对象的三维模型,包括:

根据所述多幅图像各自对应的相机内参和外参,确定所述指定对象所在的空间区域中的第一位置点集合,所述第一位置点集合包括所述多幅图像各自对应的位置点;

使用所述多幅图像和所述多幅图像各自对应的位置点训练神经网络,所述神经网络的输入是位置点的位置信息,所述神经网络的输出是所述位置点对应的物质稠密度信息和颜色信息;

使用训练好的神经网络获取所述指定对象所在的空间区域中的第二位置点集合的物质稠密度信息,基于所述指定对象所在的空间区域中的第二位置点集合的物质稠密度信息,确定所述指定对象的三维模型。

结合第三方面的第二种实现方式,本公开在第三方面的第三种实现方式中,所述根据所述多幅图像各自对应的相机内参和外参,确定所述指定对象所在的空间区域中的第一位置点集合,包括:

根据所述多幅图像和所述多幅图像各自对应的相机外参确定所述指定对象所在的空间区域;

针对每幅图像,根据所述指定对象所在的空间区域和所述图像对应的相机内参和外参,确定所述图像对应的位置点,所述位置点位于经过相应图像对应的相机光心和成像平面的像素的射线上,将所述多幅图像各自对应的位置点的集合作为所述第一位置点集合。

结合第三方面的第二种实现方式,本公开在第三方面的第四种实现方式中,所述使用所述多幅图像和所述第一位置点集合训练神经网络,包括:

使用所述神经网络输出的位置点的物质稠密度信息和颜色信息确定所述多幅图像各自对应的预测图像;

根据所述多幅图像和所述多幅图像各自对应的预测图像确定损失函数;

调整所述神经网络的参数以最小化所述损失函数。

结合第三方面的第二种实现方式,本公开在第三方面的第五种实现方式中,所述基于所述指定对象所在的空间区域中的第二位置点集合的物质稠密度信息,确定所述指定对象的三维模型,包括:

基于所述第二位置点集合中物质稠密度大于预设阈值的位置点确定所述指定对象的三维模型。

结合第三方面的第二种实现方式,本公开在第三方面的第六种实现方式中,所述装置还包括:

第二确定模块,被配置为根据所述指定对象的三维模型在模型坐标系中的设定位姿,确定所述设定位姿的相应指定对象图像对应的相机外参;

第三确定模块,被配置为根据相机内参、所述设定位姿的相应指定对象图像对应的相机外参和所述指定对象所在的空间区域,确定所述空间区域中的第三位置点集合,所述第三位置点集合中的位置点位于经过所述设定位姿的相应指定对象图像对应的相机光心和成像平面的像素的射线上;

第三获取模块,被配置为使用所述训练好的神经网络获取所述第三位置点集合的物质稠密度信息和颜色信息;

渲染模块,被配置为基于所述第三位置点集合的物质稠密度信息和颜色信息,渲染得到所述指定对象在所述指定场景中的图像。

第四方面,本公开实施例中提供了一种模型建立装置,包括:

第四获取模块,被配置为获取商户输入的指定对象的多幅图像;

第五获取模块,被配置为获取所述多幅图像各自对应的相机内参和外参;

第四确定模块,被配置为基于所述多幅图像和所述多幅图像各自对应的相机内参和外参,确定所述指定对象的三维模型。

结合第四方面,本公开在第四方面的第一种实现方式中,所述装置还包括:

第六获取模块,被配置为获取商户对所述指定对象在指定场景中的图像执行的操作;

第五确定模块,被配置为根据所述商户对所述指定对象在指定场景中的图像执行的操作,确定所述指定对象的三维模型在所述指定场景中的设定位姿;

第二渲染模块,被配置为根据相机内参、所述设定位姿的相应指定对象图像对应的相机外参和所述指定对象所在的空间区域,渲染得到所述指定对象在所述指定场景中的图像。

第五方面,本公开实施例提供了一种电子设备,包括存储器和处理器,其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如第一方面至第二方面第二种实现方式中任一项所述的方法。

第四方面,本公开实施例中提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现如第一方面至第二方面第二种实现方式中任一项所述的方法。

第五方面,本公开实施例中提供了一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现如第一方面至第二方面第二种实现方式中任一项所述的方法步骤。本公开实施例提供了一种模型建立方法,包括:获取指定对象的多幅图像;获取所述多幅图像各自对应的相机内参和外参;基于所述多幅图像和所述多幅图像各自对应的相机内参和外参,确定所述指定对象的三维模型。

根据本公开的实施例,通过指定对象的多幅图像对指定对象建模,对设备要求低,支持手机拍摄的图片或视频输入,利于推广应用。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:

图1A示出根据本公开的实施例的模型建立方法的流程图。

图1B示出了根据本公开实施例的模型建立方法的流程图。

图2A-2F示出了根据本公开实施例的模型建立方法的原理示意图。

图3A示出根据本公开的实施例的模型建立装置的结构框图。

图3B示出根据本公开的实施例的模型建立装置的结构框图。

图4示出根据本公开的实施例的电子设备的结构框图。

图5示出适于用来实现根据本公开实施例的方法的计算机系统的结构示意图。

具体实施方式

下文中,将参考附图详细描述本公开的示例性实施例,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施例无关的部分。

在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。

另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。

在本公开中,对用户信息或用户数据的获取均为经用户授权、确认,或由用户主动选择的操作。

在电子商务领域,有时希望向客户提供产品的各个视角的图像以方便客户了解产品全貌,或者希望向客户提供将产品以各种位置和姿态放置于不同场景的图像以方便客户了解在这些场景中放置产品的视觉效果。

实现上述功能的可能方式之一是建立产品的三维模型,并根据用户选择的视角,使用三维模型进行渲染以得到相应图像。但是,基于激光扫描的模型建立成本较高,基于结构光的模型建立需要较为复杂的镜头系统,均难以满足推广应用的要求。

本公开实施例提供了一种模型建立方法,包括:获取指定对象的多幅图像;获取所述多幅图像各自对应的相机内参和外参;基于所述多幅图像和所述多幅图像各自对应的相机内参和外参,确定所述指定对象的三维模型。

根据本公开的实施例,所述指定对象的三维模型是计算机生成的虚拟三维模型。

根据本公开的实施例,通过指定对象的多幅图像对指定对象建模,对设备要求低,支持手机拍摄的图片或视频输入,利于推广应用。

图1A示出根据本公开的实施例的模型建立方法的流程图。如图1A所示,所述模型建立方法包括以下步骤S101-S103:

在步骤S101中,获取指定对象的多幅图像;

在步骤S102中,获取所述多幅图像各自对应的相机内参和外参;

在步骤S103中,基于所述多幅图像和所述多幅图像各自对应的相机内参和外参,确定所述指定对象的三维模型。

根据本公开的实施例,通过指定对象的多幅图像对指定对象建模,对设备要求低,支持手机拍摄的图片或视频输入,利于推广应用。

根据本公开的实施例,所述指定对象的多幅图像包括所述指定对象的不同视角的多幅图像,所述指定对象的多幅图像包含所述三维模型需要展示的部分的图像。

图2A-2F示出了根据本公开实施例的模型建立方法的原理示意图。

下面参考图2A-2F对本公开实施例的模型建立方法进行说明。

例如,多幅图像可以是图2A所示的指定对象(例如,椅子)的从多个角度拍摄的图像,或者是从指定对象的以不同角度的拍摄视频中截取的图像。

通过基于指定对象的不同视角的多幅图像建立指定对象的三维模型,可以更加准确地建立指定对象的三维立体模型。通过基于包含所述三维模型需要展示的部分的图像的多幅图像建立指定对象的三维模型,可以使得在基于三维模型生成这些部分的图像时获得更加准确的呈现效果。

根据本公开的实施例,可以获取所述多幅图像各自对应的相机内参和外参,基于所述多幅图像和所述多幅图像各自对应的相机内参和外参,确定所述指定对象的三维模型。

根据本公开的实施例,所述多幅图像可以是从原始拍摄的图像中通过图像分割算法提取出的指定对象的图像。

图2B中示出了多个相机的光心和成像平面。图2B所示的相机从多个不同视角拍摄指定对象的图像,对于每个相机,图中示出了成像平面和光心。

根据本公开的实施例,基于指定对象的多幅图像,使用已有的相机标定方法,可以获取每幅图像各自对应的相机内参和外参。其中,相机内参包括相机坐标系下的相机光心和成像平面位置,相机外参包括相机坐标系在世界坐标系下的旋转矩阵和平移向量。可以使用相机外参对相机内参进行转换,得到世界坐标系下的相机光心和成像平面位置。

根据本公开的实施例,所述基于所述多幅图像和所述多幅图像各自对应的相机内参和外参,确定所述指定对象的三维模型,包括:

根据所述多幅图像各自对应的相机内参和外参,确定所述指定对象所在的空间区域中的第一位置点集合,所述第一位置点集合包括所述多幅图像各自对应的位置点;

使用所述多幅图像和所述多幅图像各自对应的位置点训练神经网络,所述神经网络的输入是位置点的位置信息,所述神经网络的输出是所述位置点对应的物质稠密度信息和颜色信息;

使用训练好的神经网络获取所述指定对象所在的空间区域中的第二位置点集合的物质稠密度信息,基于所述指定对象所在的空间区域中的第二位置点集合的物质稠密度信息,确定所述指定对象的三维模型。

根据本公开的实施例,所述根据所述多幅图像各自对应的相机内参和外参,确定所述指定对象所在的空间区域中的第一位置点集合,包括:

根据所述多幅图像和所述多幅图像各自对应的相机外参确定所述指定对象所在的空间区域;

针对每幅图像,根据所述指定对象所在的空间区域和所述图像对应的相机内参和外参,确定所述图像对应的位置点,所述位置点位于经过相应图像对应的相机光心和成像平面的像素的射线上,将所述多幅图像各自对应的位置点的集合作为所述第一位置点集合。

图2C示出确定所述多幅图像中的任意一幅图像对应的位置点的示意图。

如图2C所示,作为示例的图像对应的相机为相机A,虚线立方体为指定对象所在的空间区域。根据本公开的实施例,在确定多幅图像各自对应的相机的内参和外参之后,可以计算得到指定对象所在的大致的空间区域,如图2C所示。根据本公开的实施例,指定对象位于该空间区域中,但该空间区域也可以包括指定对象以外的部分。虽然图2C是以虚线立方体来例示空间区域,但根据实际情况,该空间区域也可以采取不同的形状,只要其能将指定对象容纳在内即可。

如图2C所示,做经过相机A光心和成像平面上的像素的射线,在所述指定对象所在的空间区域中,所述射线上随机取多个位置点,如图2C中以“x”标记的位置点所示。根据本公开的实施例,可以将所述射线位于所述空间区域中的部分划分为多个等长线段,在每个线段上随机取位置点。随机选取位置点可以增大用于训练神经网络的样本分布的随机性,提高训练的准确度。

按照上述方式对于多幅图像的每幅图像确定位置点,将这些位置点的集合作为第一位置点集合。

根据本公开的实施例,在确定第一位置点集合之后,使用所述多幅图像和所述多幅图像各自对应的位置点训练神经网络,所述神经网络的输入是位置点的位置信息,所述神经网络的输出是所述位置点对应的物质稠密度(density)信息和颜色信息。

根据本公开的实施例,神经网络是多层全连接网络,神经网络的输入是位置点的位置信息,例如在世界坐标系下的坐标,输出是位置点对应的物质稠密度信息和颜色信息。

根据本公开的实施例,物质稠密度是计算机三维建模领域的术语,是位置点处的物质存在性的表征。如果位置点处不存在需要建模的物质,则相应的物质稠密度为零,如果位置点处存在需要建模的物质,则物质稠密度大于一个预设的阈值。根据本公开的实施例,颜色信息可以是RGB值。

根据本公开的实施例,对于每幅图像,将其对应的位置点坐标输入神经网络,输出各位置点的物质稠密度信息和颜色信息。对于每条射线,将该射线上的位置点对应的颜色信息以该位置点对应的物质稠密度信息为权重进行积分,得到该射线经过的像素点的颜色值。在得到各条射线经过的像素点的颜色值之后,就得到了该幅图像的预测图像。根据所述多幅图像和所述多幅图像各自对应的预测图像确定损失函数,调整所述神经网络的参数以最小化所述损失函数,即,使得所述多幅图像各自对应的预测图像整体上尽可能逼近多幅图像。

根据本公开的实施例,使用训练好的神经网络获取所述指定对象所在的空间区域中的第二位置点集合的物质稠密度信息,基于所述指定对象所在的空间区域中的第二位置点集合的物质稠密度信息,确定所述指定对象的三维模型。

根据本公开的实施例,第二位置点集合可以包括指定对象所在空间区域中均匀分布的多个位置点,或者可以包括指定对象所在空间区域中随机分布的多个位置点。

将第二位置点集合中的位置点坐标输入训练好的神经网络,获得每个位置点的物质稠密度信息。对于物质稠密度大于预设阈值的位置点,认为其位于指定对象上,基于位于指定对象上的位置点确定指定对象的三维模型。

图2D示出了根据本公开实施例的指定对象的三维模型的示意图。根据本公开的实施例,用于建立三维模型的模型坐标系与世界坐标系具有已知关系,因此,当已知三维模型在模型坐标系下的位姿时,可以换算得到三维模型在世界坐标系下的位姿。

根据本公开的实施例,根据所述指定对象的三维模型在模型坐标系中的设定位姿,确定所述设定位姿的相应指定对象图像对应的相机外参。例如,可以在指定场景,如图2E所示的室内场景中展示指定对象的图像,该指定对象的图像是基于三维模型生成的。用户通过对指定对象的图像进行旋转和/或平移操作来观看设定位姿的相应指定对象图像。例如,当前指定对象图像是指定对象的正面图像,用户对指定对象的图像进行旋转和平移操作来观看指定对象移动到另一位置的侧面图像,指定对象在所述另一位置的侧面图像就是设定位姿的相应指定对象图像。用户对指定对象的图像进行的旋转、平移操作对应于对三维模型在模型空间中进行的旋转、平移操作,因此,可以根据用户的旋转、平移操作确定三维模型在模型坐标系下的设定位姿,进而确定指定对象在世界坐标系下的相应位姿。然后,可以根据指定对象在世界坐标系下的相应位姿换算得到在指定对象保持不动的情况下,拍摄得到指定对象在相应位姿的图像(该图像就是设定位姿的相应指定对象图像)所需的相机外参。

然后,根据相机内参、所述设定位姿的相应指定对象图像对应的相机外参和所述指定对象所在的空间区域,确定所述空间区域中的第三位置点集合,所述第三位置点集合中的位置点位于经过所述设定位姿的相应指定对象图像对应的相机光心和成像平面的像素的射线上。

如图2C所示,假设相机Z是获取设定位姿的指定对象图像的相机,根据其内参和外参及指定对象所在的空间区域确定第三位置点集合,第三位置点集合中的位置点位于经过所述设定位姿的相应指定对象图像对应的相机Z的光心和成像平面的像素的射线上。例如,可以将所述射线位于所述空间区域中的部分划分为多个等长线段,在每个线段上随机取位置点作为第三位置点集合中的位置点。将第三位置点集合中的位置点坐标输入训练好的神经网络,输出各位置点的物质稠密度信息和颜色信息。

根据本公开的实施例,基于所述第三位置点集合的物质稠密度信息和颜色信息,渲染得到所述指定对象在所述指定场景中的图像。例如,对于每条射线,将该射线上的位置点对应的颜色信息以该位置点对应的物质稠密度信息为权重进行积分,得到该射线经过的像素点的颜色值。在得到各条射线经过的像素点的颜色值之后,就得到了所述指定对象在所述指定场景中的图像,如图2F所示。

然后,将指定对象在指定场景中的图像合成到指定场景中,得到包含指定对象图像的指定场景的图像。

根据本公开的实施例,使用神经网络利用位置点的物质稠密度信息和颜色信息进行模型建立,更有利于表征精细的几何结构,训练好的神经网络直接输出位置点的颜色值,有利于呈现对象的纹理信息且纹理精度较高。

根据本公开的实施例,所述模型建立方法可以在终端设备处实现,或者可以在与终端设备通信的服务器处实现。

图1B示出了根据本公开实施例的模型建立方法的流程图。

如图1B所示,一种模型建立方法包括:

在步骤S201,获取商户输入的指定对象的多幅图像;

在步骤S202,获取所述多幅图像各自对应的相机内参和外参;

在步骤S203,基于所述多幅图像和所述多幅图像各自对应的相机内参和外参,确定所述指定对象的三维模型。

根据本公开的实施例,所述方法还包括:

获取商户对所述指定对象在指定场景中的图像执行的操作;

根据所述商户对所述指定对象在指定场景中的图像执行的操作,确定所述指定对象的三维模型在模型坐标系中的设定位姿;

根据相机内参、所述设定位姿的相应指定对象图像对应的相机外参和所述指定对象所在的空间区域,渲染得到所述指定对象在所述指定场景中的图像。

具体地,商户对指定对象在指定场景中的图像进行旋转和/或平移操作来观看设定位姿的相应指定对象图像。例如,当前指定对象图像是指定对象的正面图像,商户对指定对象的图像进行旋转和平移操作来观看指定对象移动到另一位置的侧面图像,指定对象在所述另一位置的侧面图像就是设定位姿的相应指定对象图像。商户对指定对象的图像进行的旋转、平移操作对应于对三维模型在模型空间中进行的旋转、平移操作,因此,可以根据用户的旋转、平移操作确定三维模型在模型坐标系下的设定位姿,进而确定指定对象在世界坐标系下的相应位姿。然后,可以根据指定对象在世界坐标系下的相应位姿换算得到在指定对象保持不动的情况下,拍摄得到指定对象在相应位姿的图像(该图像就是设定位姿的相应指定对象图像)所需的相机外参,即所述设定位姿的相应指定对象图像对应的相机外参。

根据本公开的实施例,所述根据相机内参、所述设定位姿的相应指定对象图像对应的相机外参和所述指定对象所在的空间区域,渲染得到所述指定对象在所述指定场景中的图像,包括:

根据相机内参、所述设定位姿的相应指定对象图像对应的相机外参和所述指定对象所在的空间区域,确定所述空间区域中的第三位置点集合,所述第三位置点集合中的位置点位于经过所述设定位姿的相应指定对象图像对应的相机光心和成像平面的像素的射线上;

使用针对所述指定对象训练好的神经网络获取所述第三位置点集合的物质稠密度信息和颜色信息;

基于所述第三位置点集合的物质稠密度信息和颜色信息,渲染得到所述指定对象在所述指定场景中的图像。

根据本公开的实施例,所述根据相机内参、所述设定位姿的相应指定对象图像对应的相机外参和所述指定对象所在的空间区域,渲染得到所述指定对象在所述指定场景中的图像的过程例如上文参考图2C和2F所述,在此不再赘述。

根据本公开的实施例,在商户侧,商户可以方便地生成待展示产品的不同视角和/或在不同位置的图像。商户可以使用终端设备拍摄待展示产品(例如,家具)的不同视角的多幅图像,或将产品的多幅图像输入终端设备,在终端设备处,或者在与终端设备通信的服务器处执行根据本公开实施例的模型建立方法,得到产品的三维模型,并基于三维模型渲染得到产品在指定场景(例如室内)中的图像,然后,根据商户在终端设备上对指定场景中的产品图像的操作和产品的三维模型更新产品在指定场景中的图像,从而展示产品在指定场景中的不同视角和/或在指定场景中位于不同位置的图像。例如,在家具销售的应用场景下,根据本公开的实施例,可以展示产品在不同室内环境下、采取不同位姿的摆放效果,并且可以根据用户操作方便地改变产品的位置和姿态,而无需针对每种环境、位置和姿态分别拍摄大量照片,显著提高了展示效率,改善了交互性能,并且降低了商户成本。

或者,在用户(例如消费者)侧,用户可以使用根据本公开实施例的技术方案,观看指定对象在不同指定场景中、不同位姿的展示效果。例如,用户可以使用终端设备拍摄指定对象的多幅图像或将指定对象的多幅图像输入终端设备,在终端设备处,或者在与终端设备通信的服务器处执行根据本公开实施例的模型建立方法,得到指定对象的三维模型,并基于三维模型渲染得到指定对象在指定场景(例如室内)中的图像,然后,根据用户在终端设备上对指定场景中的指定对象图像的操作和指定对象的三维模型更新产品在指定场景中的图像,从而展示指定对象在指定场景中的不同视角和/或在指定场景中位于不同位置的图像。例如,在家具销售的应用场景下,用户只需要拍摄感兴趣的家具的多幅照片,就可以观看家具在不同室内环境下、采取不同位姿的摆放效果,并且可以根据用户操作方便地改变家具的位置和姿态,方便用户了解不同家具在室内环境中的各种摆放效果。

根据本公开实施例,在生成指定对象的三维模型之后,如果希望进一步提升根据三维模型渲染得到的指定对象图像的显示效果,可以补充拍摄指定对象的图像,将补充拍摄的图像和原图像一起用于更新三维模型,使得基于更新的三维模型渲染得到的指定对象的图像能够实现更准确、更精细的显示效果。或者,如果希望展示指定对象的特定部位的图像,可以针对所述特定部位拍摄一幅或多幅图像,将补充拍摄的图像和原图像一起用于更新三维模型,使得基于更新的三维模型渲染得到的指定对象的图像能够更好地显示所述特定部位的图像。

根据本公开的实施例,在展示指定对象的图像时,可以在画面上标注该图像是实际拍摄的或计算机根据实际拍摄的照片生成的,方便用户更准确地了解指定对象的信息。

图3A示出根据本公开的实施例的模型建立装置的结构框图。其中,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。

如图3A所示,所述模型建立装置310包括:

第一获取模块311,被配置为获取指定对象的多幅图像;

第二获取模块312,被配置为获取所述多幅图像各自对应的相机内参和外参;

第一确定模块313,被配置为基于所述多幅图像和所述多幅图像各自对应的相机内参和外参,确定所述指定对象的三维模型。

根据本公开的实施例,其中:

所述指定对象的多幅图像包括所述指定对象的不同视角的多幅图像;

所述指定对象的多幅图像包含所述三维模型需要展示的部分的图像。

根据本公开的实施例,其中,所述基于所述多幅图像和所述多幅图像各自对应的相机内参和外参,确定所述指定对象的三维模型,包括:

根据所述多幅图像各自对应的相机内参和外参,确定所述指定对象所在的空间区域中的第一位置点集合,所述第一位置点集合包括所述多幅图像各自对应的位置点;

使用所述多幅图像和所述多幅图像各自对应的位置点训练神经网络,所述神经网络的输入是位置点的位置信息,所述神经网络的输出是所述位置点对应的物质稠密度信息和颜色信息;

使用训练好的神经网络获取所述指定对象所在的空间区域中的第二位置点集合的物质稠密度信息,基于所述指定对象所在的空间区域中的第二位置点集合的物质稠密度信息,确定所述指定对象的三维模型。

根据本公开的实施例,其中,所述根据所述多幅图像各自对应的相机内参和外参,确定所述指定对象所在的空间区域中的第一位置点集合,包括:

根据所述多幅图像和所述多幅图像各自对应的相机外参确定所述指定对象所在的空间区域;

针对每幅图像,根据所述指定对象所在的空间区域和所述图像对应的相机内参和外参,确定所述图像对应的位置点,所述位置点位于经过相应图像对应的相机光心和成像平面的像素的射线上,将所述多幅图像各自对应的位置点的集合作为所述第一位置点集合。

根据本公开的实施例,其中,所述使用所述多幅图像和所述第一位置点集合训练神经网络,包括:

使用所述神经网络输出的位置点的物质稠密度信息和颜色信息确定所述多幅图像各自对应的预测图像;

根据所述多幅图像和所述多幅图像各自对应的预测图像确定损失函数;

调整所述神经网络的参数以最小化所述损失函数。

根据本公开的实施例,其中,所述基于所述指定对象所在的空间区域中的第二位置点集合的物质稠密度信息,确定所述指定对象的三维模型,包括:

基于所述第二位置点集合中物质稠密度大于预设阈值的位置点确定所述指定对象的三维模型。

根据本公开的实施例,所述装置310还包括:

第二确定模块314,被配置为根据所述指定对象的三维模型在模型坐标系中的设定位姿,确定所述设定位姿的相应指定对象图像对应的相机外参;

第三确定模块315,被配置为根据相机内参、所述设定位姿的相应指定对象图像对应的相机外参和所述指定对象所在的空间区域,确定所述空间区域中的第三位置点集合,所述第三位置点集合中的位置点位于经过所述设定位姿的相应指定对象图像对应的相机光心和成像平面的像素的射线上;

第三获取模块316,被配置为使用所述训练好的神经网络获取所述第三位置点集合的物质稠密度信息和颜色信息;

第一渲染模块317,被配置为基于所述第三位置点集合的物质稠密度信息和颜色信息,渲染得到所述指定对象在所述指定场景中的图像。

图3B示出根据本公开的实施例的模型建立装置的结构框图。其中,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。

如图3B所示,模型建立装置320包括:

第四获取模块321,被配置为获取商户输入的指定对象的多幅图像;

第五获取模块322,被配置为获取所述多幅图像各自对应的相机内参和外参;

第四确定模块323,被配置为基于所述多幅图像和所述多幅图像各自对应的相机内参和外参,确定所述指定对象的三维模型。

根据本公开的实施例,所述模型建立装置320还包括:

第六获取模块324,被配置为获取商户对所述指定对象在指定场景中的图像执行的操作;

第五确定模块325,被配置为根据所述商户对所述指定对象在指定场景中的图像执行的操作,确定所述指定对象的三维模型在所述指定场景中的设定位姿;

第二渲染模块326,被配置为根据相机内参、所述设定位姿的相应指定对象图像对应的相机外参和所述指定对象所在的空间区域,渲染得到所述指定对象在所述指定场景中的图像。

本公开还公开了一种电子设备,图4示出根据本公开的实施例的电子设备的结构框图。

如图4所示,所述电子设备400包括存储器401和处理器402,其中,存储器401用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器402执行以实现根据本公开的实施例的方法。

本公开实施例提供了一种模型建立方法,包括:

获取指定对象的多幅图像;

获取所述多幅图像各自对应的相机内参和外参;

基于所述多幅图像和所述多幅图像各自对应的相机内参和外参,确定所述指定对象的三维模型。

根据本公开的实施例,其中:

所述指定对象的多幅图像包括所述指定对象的不同视角的多幅图像;

所述指定对象的多幅图像包含所述三维模型需要展示的部分的图像。

根据本公开的实施例,其中,所述基于所述多幅图像和所述多幅图像各自对应的相机内参和外参,确定所述指定对象的三维模型,包括:

根据所述多幅图像各自对应的相机内参和外参,确定所述指定对象所在的空间区域中的第一位置点集合,所述第一位置点集合包括所述多幅图像各自对应的位置点;

使用所述多幅图像和所述多幅图像各自对应的位置点训练神经网络,所述神经网络的输入是位置点的位置信息,所述神经网络的输出是所述位置点对应的物质稠密度信息和颜色信息;

使用训练好的神经网络获取所述指定对象所在的空间区域中的第二位置点集合的物质稠密度信息,基于所述指定对象所在的空间区域中的第二位置点集合的物质稠密度信息,确定所述指定对象的三维模型。

根据本公开的实施例,其中,所述根据所述多幅图像各自对应的相机内参和外参,确定所述指定对象所在的空间区域中的第一位置点集合,包括:

根据所述多幅图像和所述多幅图像各自对应的相机外参确定所述指定对象所在的空间区域;

针对每幅图像,根据所述指定对象所在的空间区域和所述图像对应的相机内参和外参,确定所述图像对应的位置点,所述位置点位于经过相应图像对应的相机光心和成像平面的像素的射线上,将所述多幅图像各自对应的位置点的集合作为所述第一位置点集合。

根据本公开的实施例,其中,所述使用所述多幅图像和所述第一位置点集合训练神经网络,包括:

使用所述神经网络输出的位置点的物质稠密度信息和颜色信息确定所述多幅图像各自对应的预测图像;

根据所述多幅图像和所述多幅图像各自对应的预测图像确定损失函数;

调整所述神经网络的参数以最小化所述损失函数。

根据本公开的实施例,其中,所述基于所述指定对象所在的空间区域中的第二位置点集合的物质稠密度信息,确定所述指定对象的三维模型,包括:

基于所述第二位置点集合中物质稠密度大于预设阈值的位置点确定所述指定对象的三维模型。

根据本公开的实施例,所述方法还包括:

根据所述指定对象的三维模型在模型坐标系中的设定位姿,确定所述设定位姿的相应指定对象图像对应的相机外参;

根据相机内参、所述设定位姿的相应指定对象图像对应的相机外参和所述指定对象所在的空间区域,确定所述空间区域中的第三位置点集合,所述第三位置点集合中的位置点位于经过所述设定位姿的相应指定对象图像对应的相机光心和成像平面的像素的射线上;

使用所述训练好的神经网络获取所述第三位置点集合的物质稠密度信息和颜色信息;

基于所述第三位置点集合的物质稠密度信息和颜色信息,渲染得到所述指定对象在所述指定场景中的图像。

本公开实施例提供了一种模型建立方法,包括:

获取商户输入的指定对象的多幅图像;

获取所述多幅图像各自对应的相机内参和外参;

基于所述多幅图像和所述多幅图像各自对应的相机内参和外参,确定所述指定对象的三维模型。

根据本公开的实施例,所述方法还包括:

获取商户对所述指定对象在指定场景中的图像执行的操作;

根据所述商户对所述指定对象在指定场景中的图像执行的操作,确定所述指定对象的三维模型在模型坐标系中的设定位姿;

根据相机内参、所述设定位姿的相应指定对象图像对应的相机外参和所述指定对象所在的空间区域,渲染得到所述指定对象在所述指定场景中的图像。

根据本公开的实施例,所述根据相机内参、所述设定位姿的相应指定对象图像对应的相机外参和所述指定对象所在的空间区域,渲染得到所述指定对象在所述指定场景中的图像,包括:

根据相机内参、所述设定位姿的相应指定对象图像对应的相机外参和所述指定对象所在的空间区域,确定所述空间区域中的第三位置点集合,所述第三位置点集合中的位置点位于经过所述设定位姿的相应指定对象图像对应的相机光心和成像平面的像素的射线上;

使用针对所述指定对象训练好的神经网络获取所述第三位置点集合的物质稠密度信息和颜色信息;

基于所述第三位置点集合的物质稠密度信息和颜色信息,渲染得到所述指定对象在所述指定场景中的图像。

图5示出适于用来实现根据本公开实施例的方法的计算机系统的结构示意图。

如图5所示,计算机系统500包括处理单元501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行上述实施例中的各种处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。处理单元501、ROM502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。

以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。其中,所述处理单元501可实现为CPU、GPU、TPU、FPGA、NPU等处理单元。

特别地,根据本公开的实施例,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括计算机指令,该计算机指令被处理器执行时实现上文所述的方法步骤。在这样的实施例中,该计算机程序产品可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过可编程硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。

作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中电子设备或计算机系统中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。

以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

相关技术
  • 模型建立方法、装置、电子设备、介质及程序产品
  • 图像目标检测模型建立方法、装置、存储介质及程序产品
技术分类

06120113254131