图像生成方法、装置、设备及存储介质

文档序号:324088 发布日期:2021-11-30 浏览:16次 >En<

阅读说明:本技术 图像生成方法、装置、设备及存储介质 (Image generation method, device, equipment and storage medium ) 是由 林耀冬 张欣 陈杰 于 2021-08-27 设计创作,主要内容包括:本申请实施例公开了一种图像生成方法、装置、设备及存储介质,属于计算机图形学领域。所述方法包括:确定三维虚拟场景的多个可视点的坐标。以目标投射图像中的每个像素点为起始点,向所述三维虚拟场景发射虚拟光子,所述目标投射图像为当前需要仿真的场景对应的投射图像。基于该多个可视点中每个可视点周围的虚拟光子的光能,确定所述多个可视点中每个可视点的亮度。基于所述多个可视点中每个可视点的亮度,生成所述三维虚拟场景对应的图像。本申请实施例通过图像生成方法自动生成三维虚拟场景对应的图像,不需要实体场景和实体设备,这降低了图像生成的成本,提高了图像生成的效率。(The embodiment of the application discloses an image generation method, an image generation device, image generation equipment and a storage medium, and belongs to the field of computer graphics. The method comprises the following steps: coordinates of a plurality of viewpoints of a three-dimensional virtual scene are determined. And taking each pixel point in the target projection image as a starting point, and emitting virtual photons to the three-dimensional virtual scene, wherein the target projection image is a projection image corresponding to the current scene to be simulated. Determining a brightness of each of the plurality of viewpoints based on light energy of virtual photons around each of the plurality of viewpoints. And generating an image corresponding to the three-dimensional virtual scene based on the brightness of each of the plurality of visual points. According to the embodiment of the application, the image corresponding to the three-dimensional virtual scene is automatically generated through the image generation method, and the entity scene and the entity equipment are not needed, so that the image generation cost is reduced, and the image generation efficiency is improved.)

图像生成方法、装置、设备及存储介质

技术领域

本申请实施例涉及计算机图形学领域,特别涉及一种图像生成方法、装置、设备及存储介质。

背景技术

近年来,图像生成技术发展迅速,图像生成技术的应用也越来越广泛,如广泛应用在科学研究、工业生产以及医疗卫生等多个领域,因此用户对图像生成技术的要求也越来越高。

目前基本都是通过使用专业成像设备对真实场景进行拍摄而生成图像。然而,专业成像设备的价格高昂,而且在一些场景下需要人工搭建专门的拍摄场景,成本较高且效率低下,因此亟需一种经济且效率更高的图像生成方法。

发明内容

本申请实施例提供了一种图像生成方法、装置、设备及存储介质,可以解决相关技术的图像生成问题。所述技术方案如下:

一方面,提供了一种图像生成方法,所述方法包括:

确定三维虚拟场景的多个可视点的坐标,所述多个可视点为虚拟相机的像平面上的多个像素点在所述三维虚拟场景中对应的点;

以目标投射图像中的每个像素点为起始点,向所述三维虚拟场景发射虚拟光子,所述目标投射图像为当前需要仿真的场景对应的投射图像;

基于所述多个可视点中每个可视点周围的虚拟光子的光能,确定所述多个可视点中每个可视点的亮度;

基于所述多个可视点中每个可视点的亮度,生成所述三维虚拟场景对应的图像。

可选的,所述确定三维虚拟场景的多个可视点的坐标,包括:

按照逆向光线追踪的方式,确定所述多个可视点的坐标。

可选的,所述按照逆向光线追踪的方式,确定所述多个可视点的坐标,包括:

确定多条射线,所述多条射线为从所述虚拟相机的像平面上的每个像素点引出且通过所述虚拟相机的光心的射线;

将所述多条射线与所述三维虚拟场景中物体表面相交的多个点作为所述多个可视点,确定所述多个可视点的坐标。

可选的,所述基于所述多个可视点中每个可视点周围的虚拟光子的光能,确定所述多个可视点中每个可视点的亮度,包括:

基于所述多个可视点中每个可视点周围的虚拟光子的光能,确定所述多个可视点中每个可视点的第一光能;

基于所述多个可视点中每个可视点的第一光能,确定所述多个可视点中相应可视点的亮度,所述亮度为相应可视点反射的光线到达所述虚拟相机的光心时所携带的光能。

可选的,所述基于所述多个可视点中每个可视点周围的虚拟光子的光能,确定所述多个可视点中每个可视点的第一光能,包括:

基于在多个时刻发射至所述多个可视点中每个可视点周围的虚拟光子的光能,确定所述多个可视点中每个可视点在所述多个时刻的光能,所述多个时刻为向所述三维虚拟场景发射虚拟光子的多个不同时刻;

将所述多个可视点中每个可视点在所述多个时刻的光能的平均值,确定为所述多个可视点中相应可视点的第一光能。

可选的,所述基于在多个时刻发射至所述多个可视点中每个可视点周围的虚拟光子的光能,确定所述多个可视点中每个可视点在所述多个时刻的光能,包括:

从所述多个时刻中选择一个时刻作为目标时刻,按照以下操作确定所述多个可视点中每个可视点在所述目标时刻的光能,直至确定出所述多个可视点中每个可视点在每个时刻的光能为止:

确定所述目标时刻发射的虚拟光子驻留在所述三维虚拟场景中物体表面的坐标,以得到多个虚拟光子的坐标;

确定所述多个虚拟光子中每个虚拟光子的光能;

基于所述多个可视点的坐标、所述多个虚拟光子的坐标和所述多个虚拟光子中位于所述多个可视点中每个可视点周围的虚拟光子的光能,确定所述多个可视点中每个可视点在所述目标时刻的光能。

可选的,所述确定所述多个虚拟光子中每个虚拟光子的光能,包括:

按照正向光线追踪的方式,确定所述多个虚拟光子中每个虚拟光子在所述目标投射图像中对应的像素点的像素值;

基于所述多个虚拟光子中每个虚拟光子在所述目标投射图像中对应的像素点的像素值,以及用于发射所述多个虚拟光子的虚拟光源的光能,确定所述多个虚拟光子中每个虚拟光子的光能。

可选的,所述基于所述多个可视点的坐标、所述多个虚拟光子的坐标和所述多个虚拟光子中位于所述多个可视点中每个可视点周围的虚拟光子的光能,确定所述多个可视点中每个可视点在所述目标时刻的光能,包括:

从所述多个可视点中选择一个可视点,按照以下操作确定选择的可视点在所述目标时刻的光能,直至确定出每个可视点在所述目标时刻的光能为止:

基于所述选择的可视点的坐标和所述多个虚拟光子的坐标,确定位于指定范围内的虚拟光子,所述指定范围为以所述选择的可视点为球心,以指定数值为半径的球体范围;

将所述指定范围内的虚拟光子的光能之和,确定为所述选择的可视点在所述目标时刻的光能。

可选的,所述三维虚拟场景对应的图像包括双目图像,所述多个可视点的坐标为所述多个可视点在所述三维虚拟场景的世界坐标系中的坐标;

所述基于所述多个可视点中每个可视点的亮度,生成所述三维虚拟场景对应的图像之后,还包括:

将所述多个可视点中每个可视点在所述世界坐标系中的坐标转换为所述虚拟相机的相机坐标系中的坐标;

将所述双目图像以及所述多个可视点在所述相机坐标系中的坐标对应存储。

可选的,所述方法还包括:

将存储的多个双目图像作为待训练神经网络模型的输入,将所述多个双目图像中每个双目图像对应的多个可视点在所述虚拟相机的相机坐标系中的竖坐标作为所述待训练神经网络模型的输出,对所述待训练神经网络模型进行训练;

其中,所述多个双目图像为基于所述三维虚拟场景生成的图像。

可选的,所述三维虚拟场景对应的图像包括双目图像;

所述基于所述多个可视点中每个可视点的亮度,生成所述三维虚拟场景对应的图像之后,还包括:

基于所述双目图像,生成视差图;

将所述双目图像和所述视差图对应存储。

可选的,所述方法还包括:

将存储的多个视差图中的每个视差图转换为深度图,得到多个深度图;

将存储的多个双目图像作为待训练神经网络模型的输入,将所述多个双目图像中每个双目图像对应的视差图转换得到的深度图作为所述待训练神经网络模型的输出,对所述待训练神经网络模型进行训练;

其中,所述多个双目图像为基于所述三维虚拟场景生成的图像。

另一方面,提供了一种图像生成装置,所述装置包括:

第一确定模块,用于确定三维虚拟场景的多个可视点的坐标,所述多个可视点为虚拟相机的像平面上的多个像素点在所述三维虚拟场景中对应的点;

发射模块,用于以目标投射图像中的每个像素点为起始点,向所述三维虚拟场景发射虚拟光子,所述目标投射图像为当前需要仿真的场景对应的投射图像;

第二确定模块,用于基于所述多个可视点中每个可视点周围的虚拟光子的光能,确定所述多个可视点中每个可视点的亮度;

第一生成模块,用于基于所述多个可视点中每个可视点的亮度,生成所述三维虚拟场景对应的图像。

可选的,所述第一确定模块包括:

第一确定子模块,用于按照逆向光线追踪的方式,确定所述多个可视点的坐标。

可选的,所述第一确定子模块包括:

第一确定单元,用于确定多条射线,所述多条射线为从所述虚拟相机的像平面上的每个像素点引出且通过所述虚拟相机的光心的射线;

第二确定单元,用于将所述多条射线与所述三维虚拟场景中物体表面相交的多个点作为所述多个可视点,确定所述多个可视点的坐标。

可选的,所述第二确定模块包括:

第二确定子模块,用于基于所述多个可视点中每个可视点周围的虚拟光子的光能,确定所述多个可视点中每个可视点的第一光能;

第三确定子模块,用于基于所述多个可视点中每个可视点的第一光能,确定所述多个可视点中相应可视点的亮度,所述亮度为相应可视点反射的光线到达所述虚拟相机的光心时所携带的光能。

可选的,所述第二确定子模块包括:

第三确定单元,用于基于在多个时刻发射至所述多个可视点中每个可视点周围的虚拟光子的光能,确定所述多个可视点中每个可视点在所述多个时刻的光能,所述多个时刻为向所述三维虚拟场景发射虚拟光子的多个不同时刻;

第四确定单元,用于将所述多个可视点中每个可视点在所述多个时刻的光能的平均值,确定为所述多个可视点中相应可视点的第一光能。

可选的,所述第三确定单元具体用于:

从所述多个时刻中选择一个时刻作为目标时刻,按照以下操作确定所述多个可视点中每个可视点在所述目标时刻的光能,直至确定出所述多个可视点中每个可视点在每个时刻的光能为止:

确定所述目标时刻发射的虚拟光子驻留在所述三维虚拟场景中物体表面的坐标,以得到多个虚拟光子的坐标;

确定所述多个虚拟光子中每个虚拟光子的光能;

基于所述多个可视点的坐标、所述多个虚拟光子的坐标和所述多个虚拟光子中位于所述多个可视点中每个可视点周围的虚拟光子的光能,确定所述多个可视点中每个可视点在所述目标时刻的光能。

可选的,所述第三确定单元具体用于:

按照正向光线追踪的方式,确定所述多个虚拟光子中每个虚拟光子在所述目标投射图像中对应的像素点的像素值;

基于所述多个虚拟光子中每个虚拟光子在所述目标投射图像中对应的像素点的像素值,以及用于发射所述多个虚拟光子的虚拟光源的光能,确定所述多个虚拟光子中每个虚拟光子的光能。

可选的,所述第三确定单元具体用于:

从所述多个可视点中选择一个可视点,按照以下操作确定选择的可视点在所述目标时刻的光能,直至确定出每个可视点在所述目标时刻的光能为止:

基于所述选择的可视点的坐标和所述多个虚拟光子的坐标,确定位于指定范围内的虚拟光子,所述指定范围为以所述选择的可视点为球心,以指定数值为半径的球体范围;

将所述指定范围内的虚拟光子的光能之和,确定为所述选择的可视点在所述目标时刻的光能。

可选的,所述三维虚拟场景对应的图像包括双目图像,所述多个可视点的坐标为所述多个可视点在所述三维虚拟场景的世界坐标系中的坐标;

所述装置还包括:

第一转换模块,用于将所述多个可视点中每个可视点在所述世界坐标系中的坐标转换为所述虚拟相机的相机坐标系中的坐标;

第一存储模块,用于将所述双目图像以及所述多个可视点在所述相机坐标系中的坐标对应存储。

可选的,所述装置还包括:

第一训练模块,用于将存储的多个双目图像作为待训练神经网络模型的输入,将所述多个双目图像中每个双目图像对应的多个可视点在所述虚拟相机的相机坐标系中的竖坐标作为所述待训练神经网络模型的输出,对所述待训练神经网络模型进行训练;

其中,所述多个双目图像为基于所述三维虚拟场景生成的图像。

可选的,所述三维虚拟场景对应的图像包括双目图像;所述装置还包括:

第二生成模块,用于基于所述双目图像,生成视差图;

第二存储模块,用于将所述双目图像和所述视差图对应存储。

可选的,所述装置还包括:

第二转换模块,用于将存储的多个视差图中的每个视差图转换为深度图,得到多个深度图;

第二训练模块,用于将存储的多个双目图像作为待训练神经网络模型的输入,将所述多个双目图像中每个双目图像对应的视差图转换得到的深度图作为所述待训练神经网络模型的输出,对所述待训练神经网络模型进行训练;

其中,所述多个双目图像为基于所述三维虚拟场景生成的图像。

另一方面,提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器用于存放计算机程序,所述处理器用于执行所述存储器上所存放的计算机程序,以实现上述所述的图像生成方法的步骤。

另一方面,提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述所述图像生成方法的步骤。

另一方面,提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使得计算机执行上述所述的图像生成方法的步骤。

本申请实施例提供的技术方案至少可以带来以下有益效果:

本申请实施例通过确定三维虚拟机场景的多个可视点以及确定该多个可视点的亮度,并基于该多个可视点的亮度生成三维虚拟场景对应的图像,生成的图像效果真实,生成图像的过程为自动化,这降低了图像生成的成本,提高了图像生成的效率。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种图像生成方法的流程图;

图2是本申请实施例提供的一种确定三维虚拟场景的可视点的示意图;

图3是本申请实施例提供的一种三维虚拟场景的示意图;

图4是本申请实施例提供的一种向三维虚拟场景投射虚拟光子的示意图;

图5是本申请实施例提供的一种多个投射图像的示意图;

图6是本申请实施例提供的一种确定可视点的第一光能的示意图;

图7是本申请实施例提供的一种利用图像生成方法生成的散斑图的示意图;

图8是本申请实施例提供的一种真实散斑图的示意图;

图9是本申请实施例提供的一种双目图像的示意图;

图10是本申请实施例提供的一种视差图的示意图;

图11是本申请实施例提供的一种图像生成装置的结构示意图;

图12是本申请实施例提供的一种计算机设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

本申请实施例提供的图像生成方法的执行主体可以是计算机设备。该计算机设备可以是单台计算机设备,也可以是由多台计算机设备组成的计算机集群。

其中,该计算机设备可以是任何一种可与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互的电子产品,例如PC(PersonalComputer,个人计算机)、掌上电脑PPC(Pocket PC)、平板电脑等。

本领域技术人员应能理解上述计算机设备仅为举例,其他现有的或今后可能出现的计算机设备如可适用于本申请实施例,也应包含在本申请实施例保护范围以内,并在此以引用方式包含于此。

接下来对本申请实施例提供的图像生成方法进行详细的解释说明。

图1是本申请实施例提供的一种图像生成方法的流程图,该方法应用于计算机设备。请参考图1,该方法包括如下步骤。

S101、确定三维虚拟场景的多个可视点的坐标,该多个可视点为虚拟相机的像平面上的多个像素点在该三维虚拟场景中对应的点。

在一些实施例中,可以按照逆向光线追踪的方式,确定该多个可视点的坐标。

其中,按照逆向光线追踪的方式,确定该多个可视点的坐标的实现过程包括:确定多条射线,该多条射线为从该虚拟相机的像平面上的每个像素点引出且通过该虚拟相机的光心的射线。将该多条射线与该三维虚拟场景中物体表面相交的多个点作为该多个可视点,确定该多个可视点的坐标。

由小孔成像原理可知,当使用相机拍摄三维场景中的物体时,该三维场景中物体表面的多个点会反射光线至相机的光心,并通过该相机的光心到达该相机的像平面上对应的像素点而成像。同理可知,当使用虚拟相机拍摄三维虚拟场景中的物体时,该三维虚拟场景中物体表面的多个点会反射光线至该虚拟相机的光心,并通过该虚拟相机的光心到达该虚拟相机的像平面上对应的像素点而成像,该物体表面的多个点即为该三维虚拟场景的多个可视点。所以,为了确定该三维虚拟场景的多个可视点,可以使用逆向光线追踪的方法,即从该虚拟相机的像平面上的每个像素点引出通过该虚拟相机的光心的射线,将该多条射线与该三维虚拟场景中物体表面相交的多个点确定为该多个可视点。

由于该三维虚拟场景中可能存在多个物体,该多个物体的材质各不相同,也即是与该多条射线相交的物体表面的材质各不相同,因此确定可视点的方法也不相同。示例性的,与该多条射线相交的物体表面可能是粗糙面,也可能是镜面。以下分别对这两种情况进行说明。

第一种情况,该物体的表面为粗糙面,当该多条射线中任一条射线与该三维虚拟场景中的粗糙面相交后,将该相交的点确定为该三维虚拟场景的可视点。

第二种情况,该物体的表面为镜面,当该多条射线中任一条射线与该三维虚拟场景中的镜面相交后,确定该任一条射线在该镜面交点处的反射线。当该反射线与该三维虚拟场景中的粗糙面相交后,将该反射线与粗糙面相交的点确定为该三维虚拟场景的可视点。

比如,如图2所示,该三维虚拟场景中的物体表面包括粗糙面和镜面。从虚拟相机的像平面上的多个像素点到虚拟相机的光心之间引出两条射线。第一条射线与该三维虚拟场景中物体的粗糙面相交,因此将第一条射线与该三维虚拟场景中物体的粗糙面相交的点确定为该三维虚拟场景的一个可视点a。第二条射线与该三维虚拟场景中物体的镜面相交,因此需要继续确定第二条射线在与该三维虚拟场景中物体的镜面相交点处的反射线。该反射线与该三维虚拟场景中物体的粗糙面相交,所以将该反射线与该三维虚拟场景中物体的粗糙面的相交点确定为该三维虚拟场景的另一个可视点b。

按照上述方法确定出该三维虚拟场景的多个可视点后,可以建立该三维虚拟场景的世界坐标系,进而基于该三维虚拟场景的世界坐标系确定该多个可视点中每个可视点的坐标。也即是,该多个可视点的坐标为该多个可视点在该三维虚拟场景的世界坐标系中的坐标。其中,在本申请实施例中,可以以该三维虚拟场景中任一点为原点,以水平向右、垂直向下以及竖直向上为坐标轴建立该三维虚拟场景的世界坐标系,当然,还可以按照其他方式建立该三维虚拟场景的世界坐标系,本申请实施例对此不做限定。

需要说明的是,确定三维虚拟场景的多个可视点的坐标之前,还可以制作三维虚拟场景。制作三维虚拟场景包括以下步骤:基于三维实体场景,获取三维模型数据。将该三维模型数据输入到三维场景编辑器或物理仿真工具。利用三维场景编辑器或物理仿真工具自动搭建对应的三维虚拟场景。也即是,三维虚拟场景是以三维实体场景的三维模型数据作为三维场景编辑器或物理仿真工具的输入,利用三维场景编辑器或物理仿真工具自动搭建的三维虚拟场景。

示例性的,制作快递站点中多个堆叠摆放的包裹对应的三维虚拟场景时,可以获取该多个堆叠摆放的包裹的三维模型数据,将该三维模型数据输入到三维场景编辑器或物理仿真工具,利用该三维场景编辑器或物理仿真工具自动搭建该多个堆叠摆放的包裹对应的三维虚拟场景,得到如图3所示的三维虚拟场景。

需要说明的是,该虚拟相机可以是单目相机或双目相机,该虚拟相机可以根据用户需要,部署在该三维虚拟场景中任一位置。

S102、以目标投射图像中的每个像素点为起始点,向该三维虚拟场景发射虚拟光子,目标投射图像为当前需要仿真的场景对应的投射图像。

该目标投射图像包括多个像素点,当使用虚拟光源照射目标投射图像时,该虚拟光源发射的多个虚拟光子经过该多个像素点中每个像素点发射至该三维虚拟场景。其中,在发射虚拟光子的过程中,该多个虚拟光子中每个虚拟光子的发射方向是随机的,且该多个虚拟光子发射至该三维虚拟场景后,会驻留在该三维虚拟场景中的物体表面。

如图4所示,通过目标投射图像向该三维虚拟场景发射的多个虚拟光子中,一部分虚拟光子驻留在该三维虚拟场景的可视点a处。另一部分虚拟光子驻留在该三维虚拟场景的非可视点c处。还有一部分虚拟光子到达该三维虚拟场景的可视点b后,经过反射离开了该三维虚拟场景。

需要说明的是,该目标投射图像是从存储的多个投射图像中选取的与当前需要仿真的场景对应的投射图像。该多个投射图像中每个投射图像都具有不同的投射图案,以实现对于不同光照场景的仿真,该多个投射图像可以模拟任意光照场景。

比如,如图5所示,该多个投射图像包括结构光条纹图、红外交错点阵散斑图和红外随机点阵散斑图。结构光条纹图用于对使用结构光照射的场景进行仿真,红外交错点阵散斑图用于对使用红外光交错照射的场景进行仿真,红外随机点阵散斑图用于对使用红外光随机照射的场景进行仿真。当然,该多个投射图像还可以包括其他光照场景的仿真图像,在此不做限定。

S103、基于该多个可视点中每个可视点周围的虚拟光子的光能,确定该多个可视点中每个可视点的亮度。

在一些实施例中,基于该多个可视点中每个可视点周围的虚拟光子的光能,确定该多个可视点中每个可视点的亮度的实现过程包括如下步骤(1)-(2):

(1)基于该多个可视点中每个可视点周围的虚拟光子的光能,确定该多个可视点中每个可视点的第一光能。

在一些实施例中,可以基于在多个时刻发射至该多个可视点中每个可视点周围的虚拟光子的光能,确定该多个可视点中每个可视点在该多个时刻的光能,该多个时刻为向该三维虚拟场景发射虚拟光子的多个不同时刻。将该多个可视点中每个可视点在该多个时刻的光能的平均值,确定为该多个可视点中相应可视点的第一光能。

由于虚拟光源可以通过目标投射图像不间断地向该三维虚拟场景发射虚拟光子,所以该多个时刻可以为虚拟光源向该三维虚拟场景发射虚拟光子的多个不同时刻。另外,由于通过每个像素点的虚拟光子的方向是随机的,所以驻留在该多个可视点中每个可视点附近的虚拟光子的数量不同,所以该多个可视点中每个可视点在该多个时刻获得的光能不相同,因此在一些实施例中,可以将该多个可视点中每个可视点在该多个时刻的光能的平均值,确定为该多个可视点中相应可视点的光能,即第一光能。其中,该多个时刻可以是间隔相同的多个时刻,也可以是间隔不同的多个时刻。

由于确定该多个可视点中每个可视点在多个时刻的光能的实现过程相同,因此,可以从该多个时刻中选择一个时刻作为目标时刻,按照以下操作确定该多个可视点中每个可视点在目标时刻的光能,直至确定出该多个可视点中每个可视点在每个时刻的光能为止:确定目标时刻发射的虚拟光子驻留在该三维虚拟场景中物体表面的坐标,以得到多个虚拟光子的坐标。确定该多个虚拟光子中每个虚拟光子的光能。基于该多个可视点的坐标、该多个虚拟光子的坐标和该多个虚拟光子中位于该多个可视点中每个可视点周围的虚拟光子的光能,确定该多个可视点中每个可视点在目标时刻的光能。

基于上文可知,以目标投射图像中的每个像素点为起始点,向该三维虚拟场景发射虚拟光子后,有的虚拟光子可能会驻留在该三维虚拟场景中物体表面,所以,本申请实施例中当目标时刻发射的多个虚拟光子驻留在该三维虚拟场景中物体表面时,可以基于该三维虚拟场景的三维坐标系,确定目标时刻发射的虚拟光子的坐标,以得到多个虚拟光子的坐标。示例地,按照正向光线追踪的方式,确定该多个虚拟光子的坐标,以及确定该多个虚拟光子中每个虚拟光子在目标投射图像中对应的像素点的像素值。基于该多个虚拟光子中每个虚拟光子在目标投射图像中对应的像素点的像素值,以及用于发射该多个虚拟光子的虚拟光源的光能,确定该多个虚拟光子中每个虚拟光子的光能。

也就是说,对于目标投射图像中的每个像素点来说,从虚拟光源引出且经过该像素点的多条射线,该多条射线指向不同的方向。对于该多条射线中的任一射线,如果该射线与三维虚拟场景中的物体表面相交,则将该交点的坐标确定为从该像素点发出的虚拟光子的坐标,如果该射线与三维虚拟场景中的物体表面不相交,则丢弃该射线。按照这样的方式,能够确定出上述多个虚拟光子的坐标,同时还能确定出每个虚拟光子在目标投射图像中对应的像素点,即该虚拟光子是从目标投射图像中的哪个像素点发出的。之后,即可基于每个虚拟光子在目标投射图像中对应的像素点的像素值,以及虚拟光源的光能,确定每个虚拟光子的光能。

示例地,在确定出每个虚拟光子在目标投射图像中对应的像素点之后,可以存储虚拟光子的坐标与像素点的像素值之间的对应关系。

由于虚拟光子是虚拟光源通过目标投射图像中的像素点发出的,所以,虚拟光子的光能与虚拟光源的光能以及目标投射图像中的像素点的像素值相关。而且,基于上文描述,按照正向光线追踪的方式,不仅能够确定出每个虚拟光子的坐标,还能够确定出虚拟光子的坐标与像素点的像素值之间的对应关系。这样,可以根据该多个虚拟光子的坐标,从虚拟光子的坐标与像素点的像素值之间的对应关系中,确定该多个虚拟光子中每个虚拟光子在目标投射图像中对应的像素点的像素值。之后,将对应的像素点的像素值与虚拟光源的光能的乘积确定为相应虚拟光子的光能。

由于每个可视点在目标时刻的光能的确定方式相同,因此,可以从该多个可视点中选择一个可视点,按照以下操作确定选择的可视点在目标时刻的光能,直至确定出每个可视点在目标时刻的光能为止:基于选择的可视点的坐标和该多个虚拟光子的坐标,确定位于指定范围内的虚拟光子,该指定范围为以选择的可视点为球心,以指定数值为半径的球体范围。将该指定范围内的虚拟光子的光能之和,确定为选择的可视点在目标时刻的光能。

也即是,基于选择的可视点的坐标确定指定范围,将该多个虚拟光子的坐标和指定范围进行比较,从而从该多个虚拟光子中确定位于指定范围内的虚拟光子。之后,可以将位于指定范围内的每个虚拟光子的光能之和,确定为选择的可视点在目标时刻的光能。

上述方式是先确定驻留在三维虚拟场景中物体表面的所有虚拟光子的光能,然后从这些虚拟光子中确定位于指定范围内的虚拟光子,进而确定选择的可视点在目标时刻的光能。可选的,在另一些实施例中,也可以先确定位于指定范围内的虚拟光子,再确定位于指定范围内的每个虚拟光子的光能,然后将位于指定范围内的这些虚拟光子的光能之和,确定为选择的可视点在目标时刻的光能。这样能够减少确定虚拟光子的光能的计算量,提高图像的生成效率。

由于虚拟相机的像平面上每个像素点具有一定的感光范围,可以接收来自三维虚拟场景中物体表面的一定范围内的光能,因此对于该多个可视点中每个可视点来说,可以确定位于该可视点的指定范围内的虚拟光子的光能之和,并将位于指定范围内的每个虚拟光子的光能之和,确定为相应可视点在目标时刻的光能。

如图6所示,虚拟相机的像平面上其中一个像素点可以接收来自可视点a的指定范围内的光能(图6中的实线和虚线代表可视点的指定范围内的虚拟光子向对应像素点发出的光能),因此将位于可视点a的指定范围内的虚拟光子的光能之和确定为可视点a在目标时刻的光能。虚拟相机的像平面上另一个像素点可以接收来自镜面的反射光能,该反射光能由可视点b的指定范围内的光能经过镜面的反射得到,因此将位于可视点b的指定范围内的虚拟光子的光能之和确定为可视点b在目标时刻的光能。

(2)基于该多个可视点中每个可视点的第一光能,确定该多个可视点中相应可视点的亮度,该亮度为相应可视点反射的光线到达该虚拟相机的光心时所携带的光能。

由小孔成像原理可知,在成像过程中,三维场景中物体表面的多个点反射的光线会通过相机的光心到达相机的像平面上对应的像素点,该物体表面的多个点中每个点反射的光线所携带的光能决定了该点的亮度。同理可知,在成像过程中,该三维虚拟场景的多个可视点中每个可视点反射的光线会通过虚拟相机的光心到达虚拟相机的像平面上对应的像素点,该多个可视点中每个可视点发射的光线所携带的光能决定了该可视点的亮度。因此,可以基于该多个可视点中每个可视点的第一光能,确定该多个可视点中相应可视点的亮度。

基于前文描述,该多个可视点中每个可视点的第一光能是通过虚拟光源发射的虚拟光子确定的,虚拟光源对可视点的光照称为间接光照。但是,在某些情况下,该多个可视点可能还具有自发光和/或直接光照,比如,当某个可视点所在的物体为发光物体时,该可视点就具有自发光。当有光源直接照射到某个可视点时,该可视点就具有直接光照。这样,还需要确定该多个可视点中每个可视点的第二光能和第三光能,第二光能为可视点的自发光的光能,第三光能为可视点的直接光照的光能。之后,基于该多个可视点中每个可视点的第一光能、第二光能和第三光能,确定该多个可视点中相应可视点的亮度。

基于该多个可视点中每个可视点是否有自发光和直接光照,确定该多个可视点中每个可视点的亮度包括以下四种情况,接下来以其中的任一可视点为例,对这四种情况分别进行介绍。为了便于描述,将该多个可视点中的任一可视点称为目标可视点。

第一种情况,目标可视点具有自发光和直接光照,此时,可以基于目标可视点的第一光能、第二光能以及第三光能,确定目标可视点的亮度。

作为一种示例,可以基于目标可视点的第一光能、第二光能以及第三光能,通过下述的渲染方程(1),确定目标可视点的亮度。

其中,在上述渲染方程(1)中,p为目标可视点,ωo为p点的出射光线方向,即p点到虚拟相机的光心的方向,ωi为p点入射光线的方向,θi为入射光线与p点的法线的夹角。L(p,ωo)是p点的亮度。Le(p,ωo)是p点到该虚拟相机的光心的方向的第二光能,即自发光的光能。s2为以p点为球心,以指定数值为半径的球体的球面。f(p,ωoi)为双向反射函数,该双向反射函数决定了入射光能与出射光能的比例。不同材质的物体具有不同的双向反射函数。

Ld(p,ωi)是p点在入射光线方向的第三光能,即直接光照的光能。Li(p,ωi)是p点在入射光线方向的第一光能,即间接光照的光能。cosθi为入射光线与p点所在表面的法线的夹角的余弦。dωi为p点入射光线的方向。

可选的,由于上述积分是面积积分,没有解析解,因此可以使用蒙特卡洛方法,通过多次迭代对上述积分进行求解,以得到目标可视点的亮度。

第二种情况,目标可视点具有自发光,没有直接光照,此时,可以基于目标可视点的第一光能和第二光能,确定目标可视点的亮度。

作为一种示例,可以基于目标可视点的第一光能和第二光能,通过下述的渲染方程(2),确定目标可视点的亮度。

上述渲染方程(2)中的各参数含义以及积分计算方法已经在第一种情况中进行说明,此处不再赘述。

第三种情况,目标可视点没有自发光,具有直接光照,此时,可以基于目标可视点的第一光能和第三光能,确定目标可视点的亮度。

作为一种示例,可以基于目标可视点的第一光能和第三光能,通过下述的渲染方程(3),确定目标可视点的亮度。

上述渲染方程(3)中的各参数含义以及积分计算方法已经在第一种情况中进行说明,此处不再赘述。

第四种情况,目标可视点没有自发光,也没有直接光照,此时,可以基于目标可视点的第一光能,确定目标可视点的亮度。

作为一种示例,可以基于目标可视点的第一光能,通过下述的渲染方程(4),确定目标可视点的亮度。

上述渲染方程(4)中的各参数含义以及积分计算方法已经在第一种情况中进行说明,此处不再赘述。

S104、基于该多个可视点中每个可视点的亮度,生成该三维虚拟场景对应的图像。

基于前文的内容,包括目标投射图像的多个投射图像均为灰度图,而灰度图中像素点的像素值与亮度存在一定的关系,所以,在确定出该多个可视点中每个可视点的亮度之后,可以基于该多个可视点中每个可视点的亮度,确定每个可视点在虚拟相机的像平面上对应像素点的像素值,进而生成该三维虚拟场景对应的图像。

比如,使用蒙特卡洛方法对该多个可视点中每个可视点对应的积分进行200次以上的迭代,计算出每个可视点的亮度。之后,基于每个可视点的亮度,可以得到如图7所示的散斑图。其中,图8为真实场景的散斑图。通过图7与图8的对比,可以确定使用本申请实施例的图像生成方法生成的散斑图的效果真实,和真实散斑图无异。

基于前文描述,该多个可视点中每个可视点的亮度与通过目标投射图像的各个像素点的虚拟光子的光能有关,而每个虚拟光子的光能与目标投射图像的像素点有关,所以,使用不同的目标投射图像,可以生成不同的三维虚拟场景对应的图像。

示例性的,当使用红外交错点阵散斑图或红外随机点阵散斑图作为目标投射图像时,可以生成三维虚拟场景对应的散斑图。当使用结构光条纹图作为目标投射图像时,可以生成三维虚拟场景对应的结构光图。

需要说明的是,该三维虚拟场景对应的图像可以包括单目图像,也可以包括双目图像。比如,如图9所示,该三维虚拟场景对应的图像包括双目图像,即包括左目图和右目图。

在该三维虚拟场景对应的图像包括双目图像的情况下,对该双目图像可以采取以下两种处理方式。

第一种处理方式,将该多个可视点中每个可视点在该世界坐标系中的坐标转换为该虚拟相机的相机坐标系中的坐标,将该双目图像以及该多个可视点在该相机坐标系中的坐标对应存储。

作为一种示例,可以将虚拟相机的外参矩阵与该多个可视点中每个可视点在该世界坐标系中的坐标相乘,得到该多个可视点中每个可视点在该虚拟相机的相机坐标系中的坐标。

例如,对于该多个可视点中任一可视点来说,可以基于该任一可视点在三维虚拟场景的世界坐标系中的坐标,以及虚拟相机的外参矩阵,按照下述公式(5)来确定该任一可视点在虚拟相机的相机坐标系中的坐标。

其中,在上述公式(5)中,(xc,yc,zc)为该可视点在虚拟相机的相机坐标系中的坐标。(x,y,z)为该可视点在三维虚拟场景的世界坐标系中的坐标。M0=[R3×3T3×1]为虚拟相机的外参矩阵,其中R3×3为旋转矩阵,T3×1为平移矩阵。

第二种处理方式,基于该双目图像,生成视差图,将该双目图像和该视差图对应存储。

作为一种示例,对于该多个可视点中任一可视点,可以基于该可视点在三维虚拟场景的世界坐标系中的坐标、左虚拟相机和右虚拟相机之间的间距,以及任一虚拟相机的内参中x方向的焦距,按照下述公式(6)确定该任一可视点对应的像素点所对应的视差点的视差值。从而确定出每个视差点的视差值,得到视差图。

disp=fxTxZc (6)

其中,在上述公式(6)中,disp是指该任一可视点对应的像素点所对应的视差点的视差值。fx是指任一虚拟相机的内参中横轴方向的焦距,比如可以为左虚拟相机的内参在横轴方向的焦距。Tx是指左虚拟相机和右虚拟相机之间的间距。Zc是指该任一可视点在三维虚拟场景的世界坐标系中的竖坐标。

比如,图10是基于左目图和右目图生成的视差图。其中,三维虚拟场景中的物体离虚拟相机的镜头越近,视差越大,视差图的颜色越白。

其中,上述第一种处理方式中存储的双目图像以及该多个可视点在该相机坐标系中的坐标、第二种处理方式中存储的双目图像以及视差图可以广泛应用于相机、游戏以及其他涉及图像处理的领域。

作为一种示例,该双目图像可以用于对相机领域的待训练神经网络模型进行训练。该待训练神经网络模型用于计算目标物体到相机的距离。通过为待训练神经网络模型提供多个输入与输出,使待训练神经网络模型通过深度学习掌握输入与输出之间的精确的映射关系,以提升待训练神经网络模型的计算精度。其中,可以通过以下两种实现方式对待训练神经网络模型进行训练。

第一种实现方式,将存储的多个双目图像作为待训练神经网络模型的输入,将该多个双目图像中每个双目图像对应的多个可视点在该虚拟相机的相机坐标系中的竖坐标作为该待训练神经网络模型的输出,对该待训练神经网络模型进行训练。其中,该多个双目图像为基于该三维虚拟场景生成的图像。

也即是,对于该多个双目图像中的任一双目图像,将该任一双目图像作为待训练神经网络模型的输入,将该任一双目图像对应的多个可视点在该虚拟相机的相机坐标系中的竖坐标作为该待训练神经网络模型的输出,对该待训练神经网络模型进行训练。当通过该多个双目图像以及该多个双目图像对应的可视点对该待训练神经网络模型进行训练之后,即可完成该待训练神经网络模型的训练过程。

第二种实现方式,将存储的多个视差图中的每个视差图转换为深度图,得到多个深度图。将存储的多个双目图像作为待训练神经网络模型的输入,将该多个双目图像中每个双目图像对应的视差图转换得到的深度图作为该待训练神经网络模型的输出,对该待训练神经网络模型进行训练。其中,该多个双目图像为基于该三维虚拟场景生成的图像。

也即是,对于该多个双目图像中的任一双目图像,将该任一双目图像作为待训练神经网络模型的输入,将该任一双目图像对应的视差图转换得到的深度图作为该待训练神经网络模型的输出,对该待训练神经网络模型进行训练。当通过该多个双目图像以及该多个双目图像对应的视差图转换得到的深度图对该待训练神经网络模型进行训练之后,即可完成该待训练神经网络模型的训练过程。

其中,可以基于相机的相关参数,将视差图转换为对应的深度图,关于视差图到深度图的转换方法可以参考相关技术,本实施例在此不做限定。

由于对待训练神经网络模型进行训练时,需要获取测距的真实值作为待训练神经网络模型的输出,这通过人工标注无法实现,而使用本申请实施例提供的图像生成方法生成双目图像和深度值之后,可以实现这一过程,便于待训练神经网络模型的训练。而且在生成的图像较多的情况下,还可以提高已训练得到的神经网络模型的处理精度。

图11是本申请实施例提供的一种图像生成装置的结构示意图,该图像生成装置可以由软件、硬件或者两者的结合实现成为计算机设备的部分或者全部。请参考图11,该装置包括:第一确定模块1101、发射模块1102、第二确定模块1103和第一生成模块1104。

第一确定模块1101,用于确定三维虚拟场景的多个可视点的坐标,该多个可视点为虚拟相机的像平面上的多个像素点在该三维虚拟场景中对应的点;

发射模块1102,用于以目标投射图像中的每个像素点为起始点,向该三维虚拟场景发射虚拟光子,目标投射图像为当前需要仿真的场景对应的投射图像;

第二确定模块1103,用于基于该多个可视点中每个可视点周围的虚拟光子的光能,确定该多个可视点中每个可视点的亮度;

第一生成模块1104,用于基于该多个可视点中每个可视点的亮度,生成该三维虚拟场景对应的图像。

可选的,该第一确定模块1101包括:

第一确定子模块,用于按照逆向光线追踪的方式,确定该多个可视点的坐标。

可选的,该第一确定子模块包括:

第一确定单元,用于确定多条射线,该多条射线为从该虚拟相机的像平面上的每个像素点引出且通过该虚拟相机的光心的射线;

第二确定单元,用于将该多条射线与该三维虚拟场景中物体表面相交的多个点作为该多个可视点,确定该多个可视点的坐标。

可选的,该第二确定模块1103包括:

第二确定子模块,用于基于该多个可视点中每个可视点周围的虚拟光子的光能,确定该多个可视点中每个可视点的第一光能;

第三确定子模块,用于基于该多个可视点中每个可视点的第一光能,确定该多个可视点中相应可视点的亮度,该亮度为相应可视点反射的光线到达该虚拟相机的光心时所携带的光能。

可选的,该第三确定子模块包括:

第三确定单元,用于基于在多个时刻发射至该多个可视点中每个可视点周围的虚拟光子的光能,确定该多个可视点中每个可视点在该多个时刻的光能,该多个时刻为向该三维虚拟场景发射虚拟光子的多个不同时刻;

第四确定单元,用于将该多个可视点中每个可视点在该多个时刻的光能的平均值,确定为该多个可视点中相应可视点的第一光能。

可选的,该第三确定单元具体用于:

从该多个时刻中选择一个时刻作为目标时刻,按照以下操作确定该多个可视点中每个可视点在目标时刻的光能,直至确定出该多个可视点中每个可视点在每个时刻的光能为止:

确定目标时刻发射的虚拟光子驻留在该三维虚拟场景中物体表面的坐标,以得到多个虚拟光子的坐标;

确定该多个虚拟光子中每个虚拟光子的光能;

基于该多个可视点的坐标、该多个虚拟光子的坐标和该多个虚拟光子中位于该多个可视点中每个可视点周围的虚拟光子的光能,确定该多个可视点中每个可视点在目标时刻的光能。

可选的,该第三确定单元具体用于:

按照正向光线追踪的方式,确定该多个虚拟光子中每个虚拟光子在目标投射图像中对应的像素点的像素值;

基于该多个虚拟光子中每个虚拟光子在目标投射图像中对应的像素点的像素值,以及用于发射该多个虚拟光子的虚拟光源的光能,确定该多个虚拟光子中每个虚拟光子的光能。

可选的,该第三确定单元具体用于:

从该多个可视点中选择一个可视点,按照以下操作确定选择的可视点在目标时刻的光能,直至确定出每个可视点在目标时刻的光能为止:

基于选择的可视点的坐标和该多个虚拟光子的坐标,确定位于指定范围内的虚拟光子,指定范围为以选择的可视点为球心,以指定数值为半径的球体范围;

将指定范围内的虚拟光子的光能之和,确定为选择的可视点在目标时刻的光能。

可选的,该三维虚拟场景对应的图像包括双目图像,该多个可视点的坐标为该多个可视点在该三维虚拟场景的世界坐标系中的坐标;

该装置还包括:

第一转换模块,用于将该多个可视点中每个可视点在该世界坐标系中的坐标转换为该虚拟相机的相机坐标系中的坐标;

第一存储模块,用于将该双目图像以及该多个可视点在该相机坐标系中的坐标对应存储。

可选的,该装置还包括:

第一训练模块,用于将存储的多个双目图像作为待训练神经网络模型的输入,将该多个双目图像中每个双目图像对应的多个可视点在该虚拟相机的相机坐标系中的竖坐标作为该待训练神经网络模型的输出,对该待训练神经网络模型进行训练;

其中,该多个双目图像为基于该三维虚拟场景生成的图像。

可选的,该三维虚拟场景对应的图像包括双目图像;该装置还包括:

第二生成模块,用于基于该双目图像,生成视差图;

第二存储模块,用于将该双目图像和该视差图对应存储。

可选的,该装置还包括:

第二转换模块,用于将存储的多个视差图中的每个视差图转换为深度图,得到多个深度图;

第二训练模块,用于将存储的多个双目图像作为待训练神经网络模型的输入,将该多个双目图像中每个双目图像对应的视差图转换得到的深度图作为该待训练神经网络模型的输出,对该待训练神经网络模型进行训练;

其中,该多个双目图像为基于该三维虚拟场景生成的图像。

本申请实施例提供的图像生成方法可以模拟任意投射图像,也即是可以对任意光照场景进行仿真,以得到对应光照场景下的图像。生成的图像的结果真实,与真实图像无异,因此,生成的图像可以用于对多个领域的深度学习算法进行训练,以提升深度学习算法的精度。而且该图像生成方法的过程为自动化,使用虚拟三维场景和虚拟相机,不需要实体场景和实体设备,这降低了图像生成的成本,提高了图像生成的效率。

需要说明的是:上述实施例提供的图像生成装置在生成图像时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的图像生成装置与图像生成方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图12是本申请实施例提供的一种终端1200的结构框图。该终端1200可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group AudioLayer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts GroupAudio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1200还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。

通常,终端1200包括有:处理器1201和存储器1202。

处理器1201可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1201可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1201也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1201可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1201还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。

存储器1202可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1202还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1202中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1201所执行以实现本申请中方法实施例提供的图像生成方法。

在一些实施例中,终端1200还可选包括有:外围设备接口1203和至少一个外围设备。处理器1201、存储器1202和外围设备接口1203之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1203相连。具体地,外围设备包括:射频电路1204、触摸显示屏1205、摄像头1206、音频电路1207、定位组件1208和电源1209中的至少一种。

外围设备接口1203可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1201和存储器1202。在一些实施例中,处理器1201、存储器1202和外围设备接口1203被集成在同一芯片或电路板上;在一些其他实施例中,处理器1201、存储器1202和外围设备接口1203中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路1204用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1204通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1204将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1204包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1204可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1204还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请实施例对此不加以限定。

显示屏1205用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1205是触摸显示屏时,显示屏1205还具有采集在显示屏1205的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1201进行处理。此时,显示屏1205还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1205可以为一个,设置终端1200的前面板;在另一些实施例中,显示屏1205可以为至少两个,分别设置在终端1200的不同表面或呈折叠设计;在再一些实施例中,显示屏1205可以是柔性显示屏,设置在终端1200的弯曲表面上或折叠面上。甚至,显示屏1205还可以设置成非矩形的不规则图形,也即异形屏。显示屏1205可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。

摄像头组件1206用于采集图像或视频。可选地,摄像头组件1206包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1206还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

音频电路1207可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1201进行处理,或者输入至射频电路1204以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1200的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1201或射频电路1204的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1207还可以包括耳机插孔。

定位组件1208用于定位终端1200的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1208可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。

电源1209用于为终端1200中的各个组件进行供电。电源1209可以是交流电、直流电、一次性电池或可充电电池。当电源1209包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。

本领域技术人员可以理解,图12中示出的结构并不构成对终端1200的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

在一些实施例中,还提供了一种计算机可读存储介质,该存储介质内存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中图像生成方法的步骤。例如,该计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。

值得注意的是,本申请实施例提到的计算机可读存储介质可以为非易失性存储介质,换句话说,可以是非瞬时性存储介质。

应当理解的是,实现上述实施例的全部或部分步骤可以通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。该计算机指令可以存储在上述计算机可读存储介质中。

也即是,在一些实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述该的图像生成方法的步骤。

应当理解的是,本文提及的“至少一个”是指一个或多个,“多个”是指两个或两个以上。在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。

以上该为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

28页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于三维CT的脊柱点云提取算法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!