CN116977525B - 一种图像渲染方法、装置、存储介质及电子设备 - Google Patents

一种图像渲染方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN116977525B
CN116977525B CN202310956092.XA CN202310956092A CN116977525B CN 116977525 B CN116977525 B CN 116977525B CN 202310956092 A CN202310956092 A CN 202310956092A CN 116977525 B CN116977525 B CN 116977525B
Authority
CN
China
Prior art keywords
radiation field
dimensional scene
scene model
rendering
target
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.)
Active
Application number
CN202310956092.XA
Other languages
English (en)
Other versions
CN116977525A (zh
Inventor
沈炯行
常开颜
汤昭荣
潘秋红
毛旷
王颖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Lab
Original Assignee
Zhejiang Lab
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Lab filed Critical Zhejiang Lab
Priority to CN202310956092.XA priority Critical patent/CN116977525B/zh
Publication of CN116977525A publication Critical patent/CN116977525A/zh
Application granted granted Critical
Publication of CN116977525B publication Critical patent/CN116977525B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本说明书公开了一种图像渲染方法、装置、存储介质及电子设备。所述图像渲染方法包括:将预设的三维渲染计算框架展示给用户,以使用户从预设的三维渲染计算框架所提供的各组件中,选取出用于构建用户所需的三维场景模型的神经辐射场的各组件,作为各目标组件,其中,各组件包括:编码函数组件、多层感知器组件、损失函数组件。根据各目标组件,构建三维场景模型对应的目标神经辐射场,响应用户发送的渲染请求,通过构建出的目标神经辐射场进行渲染得到三维场景模型的渲染图像。

Description

一种图像渲染方法、装置、存储介质及电子设备
技术领域
本说明书涉及计算机技术领域,尤其涉及一种图像渲染方法、装置、存储介质及电子设备。
背景技术
神经辐射场(Neural Radiance Fields,NeRF)是一种基于深度学习的3D场景重建技术,该技术利用深度神经网络来学习某个场景中每个像素的颜色和深度信息,进而可以生成高质量的3D模型,进而可以根据输入的相机位姿,生成该相机位姿下可以采集到的3D模型对应的2D图像。
通常情况下,生成神经辐射场所使用的类NeRF方法有多种,每种方法所使用的编程语言不同,所需的软件环境以及硬件环境也不同,并且采用不同类NeRF方法生成的神经辐射场在构建不同类型的场景的3D模型时的效果也不同,从而导致用户构建适用于某个场景的3D模型的神经辐射场较为困难。
因此,如何提升用户构建所需神经辐射场的效率,则是一个亟待解决的问题。
发明内容
本说明书提供一种图像渲染方法、装置、存储介质及电子设备,以部分的解决现有技术存在的上述问题。
本说明书采用下述技术方案:
本说明书提供了一种图像渲染方法,包括:
将预设的三维渲染计算框架展示给用户,以使所述用户从预设的三维渲染计算框架所提供的各组件中,选取出用于构建用户所需的三维场景模型的神经辐射场的各组件,作为各目标组件,所述各组件包括:编码函数组件、多层感知器组件、损失函数组件;
根据所述各目标组件,构建所述三维场景模型对应的目标神经辐射场;
响应用户发送的渲染请求,通过所述目标神经辐射场进行渲染得到所述三维场景模型的渲染图像。
可选地,根据所述各目标组件,构建所述三维场景模型对应的目标神经辐射场之前,所述方法还包括:
接收用户发送的三维场景模型构建请求;
根据所述三维场景模型构建请求,从预设的神经三维渲染计算框架所提供的各样本数据组件,确定构建用户所需的三维场景模型的神经辐射场的样本数据组件,并通过所述样本数据组件,得到各样本数据;
根据所述各目标组件,构建目标神经辐射场,具体包括:
根据所述各目标组件以及所述各样本数据,构建所述三维场景模型对应的目标神经辐射场。
可选地,根据所述各目标组件,构建所述三维场景模型对应的目标神经辐射场之前,所述方法还包括:
接收用户发送的三维场景模型构建请求;
根据所述三维场景模型构建请求,确定用户输入的各样本数据;
根据所述各目标组件,构建目标神经辐射场,具体包括:
根据所述各目标组件以及所述各样本数据,构建所述三维场景模型对应的目标神经辐射场。
可选地,根据所述各目标组件以及所述各样本数据,构建所述三维场景模型对应的目标神经辐射场,具体包括:
根据所述编码函数组件、所述多层感知器组件以及所述各样本数据,构建所述三维场景模型对应的初始神经辐射场;
通过所述损失函数组件,确定所述初始神经辐射场的损失,所述初始神经辐射场的损失包括:视角损失、深度损失中的至少一种,其中,所述视角损失用于表征通过初始神经辐射场得到的不同视角下所述各样本数据对应的三维场景模型的渲染图像的每个采样点的像素值和不同视角下所述各样本数据对应的三维场景模型的实际渲染图像的每个采样点的像素值之间的偏差、所述深度损失用于表征通过初始神经辐射场得到的不同深度下所述各样本数据对应的三维场景模型的渲染图像的每个采样点的体密度和不同深度下所述各样本数据对应的三维场景模型的实际渲染图像的每个采样点的体密度之间的偏差;
以最小化所述初始神经辐射场的损失为训练目标,对所述初始神经辐射场进行训练,得到所述三维场景模型对应的目标神经辐射场。
可选地,根据所述编码函数组件、所述多层感知器组件以及所述各样本数据,构建所述三维场景模型对应的初始神经辐射场,具体包括:
通过所述编码组件对所述各样本数据进行编码,以确定所述各样本数据对应的特征表示;
将所述各样本数据对应的特征表示输入到所述多层感知器组件中,以通过所述多层感知器组件根据所述各样本数据对应的特征表示,构建所述三维场景模型对应的初始神经辐射场。
可选地,响应用户发送的渲染请求,通过所述目标神经辐射场进行渲染得到所述三维场景模型的渲染图像,具体包括:
响应用户发送的渲染请求,确定用户所需生成的渲染图像对应的相机参数,所述相机参数包括:相机位置、相机视角方向、相机的视野大小;
根据所述相机参数,确定满足所述相机参数的相机在所述三维场景模型中能够接收到的各光线,其中,每个光线用于生成渲染图像的每个像素点的像素值;
针对每条光线,确定该光线与所述三维场景模型相交的点,作为目标点;
在该光线的路径上进行采样,以获取各采样点,其中,与所述目标点之间的距离小于指定阈值的采样点的数量大于与所述目标点之间的距离大于指定阈值的采样点的数量;
通过所述目标神经辐射场,确定所述三维场景模型在每个采样点上对应的像素点的像素值,并根据所述三维场景模型在每个采样点上对应的像素点的像素值,确定需要生成的渲染图像对应于该光线的像素点的像素值,以得到所述三维场景模型的渲染图像。
可选地,响应用户发送的渲染请求,通过所述目标神经辐射场进行渲染得到所述三维场景模型的渲染图像,具体包括:
响应用户发送的渲染请求,通过所述目标神经辐射场进行渲染得到所述三维场景模型的初始渲染图像;
对所述初始渲染图像进行后处理,以得到所述三维场景模型的渲染图像,所述后处理包括:抗锯齿处理、图像噪声去除处理、增强对比度处理中的至少一种。
本说明书提供了一种图像渲染装置,包括:
确定模块,用于将预设的三维渲染计算框架展示给用户,以使所述用户从预设的三维渲染计算框架所提供的各组件中,选取出用于构建用户所需的三维场景模型的神经辐射场的各组件,作为各目标组件,所述各组件包括:编码函数组件、多层感知器组件、损失函数组件;
构建模块,用于根据所述各目标组件,构建所述三维场景模型对应的目标神经辐射场;
渲染模块,用于响应用户发送的渲染请求,通过所述目标神经辐射场进行渲染得到所述三维场景模型的渲染图像。
本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述图像渲染方法。
本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述图像渲染方法。
本说明书采用的上述至少一个技术方案能够达到以下有益效果:
在本说明书提供的图像渲染方法中,将预设的三维渲染计算框架展示给用户,以使用户从预设的三维渲染计算框架所提供的各组件中,选取出用于构建用户所需的三维场景模型的神经辐射场的各组件,作为各目标组件,各组件包括:编码函数组件、多层感知器组件、损失函数组件,根据各目标组件,构建三维场景模型对应的目标神经辐射场,响应用户发送的渲染请求,通过目标神经辐射场进行渲染得到三维场景模型的渲染图像。
从上述方法可以看出,可以使用户通过预设的三维渲染计算框架,选择用于构建用户所需的三维场景模型的神经辐射场的各目标组件,进而可以基于用户选取的各目标组件,自行为用户构建所需的目标神经辐射场,从而可以提高用户构建适用于某个场景的三维模型的神经辐射场的效率。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为本说明书中提供的一种图像渲染方法的流程示意图;
图2为本说明书中提供的不同深度下的采样点的示意图;
图3为本说明书中提供的目标神经辐射场的生成过程示意图;
图4为本说明书中提供的渲染图像的生成过程示意图;
图5为本说明书提供的一种图像渲染装置的示意图;
图6为本说明书提供的一种对应于图1的电子设备示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1为本说明书中提供的一种图像渲染方法的流程示意图,包括以下步骤:
S101:将预设的三维渲染计算框架展示给用户,以使所述用户从预设的三维渲染计算框架所提供的各组件中,选取出用于构建用户所需的三维场景模型的神经辐射场的各组件,作为各目标组件,所述各组件包括:编码函数组件、多层感知器组件、损失函数组件。
在本说明书中,业务平台可以维护包含有用于构建各种形式的神经辐射场的各组件的三维渲染计算框架,从而可以响应于用户的请求,将预设的三维渲染计算框架展示给用户,以使用户从预设的三维渲染计算框架所提供的各组件中,选取出用于构建用户所需的三维场景模型的神经辐射场的各组件,作为各目标组件,进而可以根据用户选取出的各目标组件,为用户构建用户所需的三维场景模型的神经辐射场。
上述的用于构建各种形式的神经辐射场的各组件包括:各种类型的编码函数组件(即,编码器Encoder)、各种类型的多层感知器组件(Multi-lymphoid progenitors,MLP)、各种类型的损失函数组件。
其中,编码函数组件用于对神经辐射场所需的各图像数据进行编码,得到各图像数据对应的特征表示。针对不同类型的三维场景模型和不同的用户需求,采用不同的编码函数组件对输入到该类型三维场景模型对应的神经辐射场的图像数据进行编码,可以使得神经辐射场进行图像渲染的效果不同。例如:抗锯齿神经辐射场(multumin parvo NeRF,mip-NeRF)可以使用金字塔结构的编码器,从而可以更快的渲染速度和更好的性能表现,在抗锯齿方面有更优异的性能。
多层感知器组件用于根据各样本数据,对用户所需的三维场景模型中的每个点的体密度和像素值进行建模,进而可以基于建模后的三维场景模型,生成任意视角下该三维场景模型的二维图像。针对不同类型的三维场景模型和不同的用户需求,采用不同的多层感知器组件构建出的神经辐射场进行图像渲染的效果也不同。例如KiloNerf没有使用大尺寸的MLP而是使用多个小尺寸的MLP,进而可以在不影响图像渲染效果的情况下,获得1000倍的渲染速度提升。
需要说明的是,在对三维场景进行建模时主要有两种方法,第一种为显式建模,第二种为隐式建模,而神经辐射场所采用的方式为隐式建模,即神经辐射场并不会真正构建出一个三维场景的模型,而是构建出描述该三维场景的函数,进而可以在用户输入一组相机参数时,可以通过构建出的描述该三维场景的函数,生成这组相机参数所能采集到的三维场景的二维图像。
损失函数组件用于度量通过神经辐射场基于样本数据确定出的样本渲染图像的每个像素点的像素值和实际渲染图像中对应的像素点的像素值之间的差异。针对不同的神经辐射场,采用不同的损失函数组件对其进行训练的训练效果不同。这里的损失函数可以分为视角损失、深度损失。
其中,视角损失用于表征通过初始神经辐射场得到的不同视角下各样本数据对应的三维场景模型的渲染图像的每个采样点的像素值和不同视角下各样本数据对应的三维场景模型的实际渲染图像的每个采样点的像素值之间的偏差、深度损失用于表征通过初始神经辐射场得到的不同深度下各样本数据对应的三维场景模型的渲染图像的每个采样点的体密度和不同深度下各样本数据对应的三维场景模型的实际渲染图像的每个采样点的体密度之间的偏差,具体如图2所示。
图2为本说明书中提供的不同深度下的采样点的示意图。
结合图2可以看出,在从相机所在的位置到三维场景模型,可以延申出一条光线,可以理解为对光线经由三维场景模型反射被相机采集到以生成图像的过程的逆推,在这条光线上的不同位置可以进行采样,得到各采样点,进而可以通过神经辐射场,确定出当光线处于该采样点所在的位置时得到的图像的像素点的像素值,作为该采样点对应的像素值,以及三维场景模型在该采样点所在的位置的体密度,作为该采样点对应的体密度,进而可以根据整条光线上的所有采样点对应的像素值和体密度,确定这条光线被相机采集到所生成的二维图像中的像素点的像素值。而上述的采样点的不同位置即为不同深度。
需要说明的是,业务平台响应于用户的请求,将预设的三维渲染计算框架展示给用户,以使用户从预设的三维渲染计算框架所提供的各组件中,选取出用于构建用户所需的三维场景模型的神经辐射场的各组件的方式可以为,业务平台响应于用户的请求,将预设的三维渲染计算框架中包含的各组件的功能接口展示给用户,以使用户根据实际需求,从各功能接口中选择所需的功能接口进行调用。
当然,若上述的各功能接口中不存在用户所需的功能接口,用户可以向业务平台发送功能接口需求信息,以使业务平台的研发人员根据业务平台接收到的功能接口需求信息,定义相应的功能接口。用户也可以基于预设的功能接口模板自定义所需的功能接口进行使用。
在本说明书中,用于实现图像渲染方法的执行主体,可以是指由服务器等设置于业务平台的指定设备,也可以是指诸如台式电脑、笔记本电脑等终端设备,为了便于描述,下面仅以服务器是执行主体为例,对本说明书提供的图像渲染方法进行说明。
为了对上述内容进行详细说明,本说明书中还提供了目标神经辐射场的生成过程的示意图,如图3所示。
结合图3可以看出,上述的提供的用户的各功能接口可以为使用Python语言编写的接口(Python Application Programming Interface,Python API),业务平台可以将预设的三维渲染计算框架中包含的各组件的功能接口Python API展示给用户,以使用户可以通过功能接口Python API选取所需的组件以用于构建用户所需的神经辐射场。例如:用户可以从预设的功能接口add_encoder_1、add_encoder_2、add_encoder_3中选择add_encoder_1,以通过功能接口add_encoder_1,选取编码函数组件1,作为所需的编码函数组件,从预设的功能接口add_mlp_1、add_mlp_2、add_mlp_3中选择add_mlp_2,以通过add_mlp_2,选取多层感知器组件2,作为所需的多层感知器组件,从预设的功能接口add_loss_1、add_loss_2、add_loss_3中选择add_loss_1,以通过add_loss_1,选取损失函数组件1,作为所需的损失函数组件,进而可以使得业务平台在对上述选取出的编码函数组件1、多层感知器组件2、损失函数组件1进行可行性检测后,可以为用户搭建出用户所需的目标神经辐射场。
S102:根据所述各目标组件,构建所述三维场景模型对应的目标神经辐射场。
进一步地,服务器可以接收用户发送的三维场景模型构建请求,根据接收到的三维场景模型构建请求,从预设的神经三维渲染计算框架所提供的各样本数据组件,确定构建用户所需的三维场景模型的神经辐射场的样本数据组件,并通过确定出的样本数据组件,得到各样本数据,并根据各目标组件以及各样本数据,构建三维场景模型对应的目标神经辐射场。
其中,上述的样本数据组件可以是局部光场融合(Local Light Field Fusion,LLFF)数据集和Blender数据集等,服务器可以通过上述的数据集获取构建用户所需的三维场景模型的神经辐射场的各样本数据。这里的LLFF数据集,包含多个真实场景的光场数据。光场数据是由多个视角下的图像组成的,每个图像都是一个2D图像,但是包含了多个方向上的光照信息。这些2D图像可以被看作是一个3D场景的投影,可以用来训练Nerf模型进行多视角重建任务。Blender数据集包含了一些人造的3D场景,其中包括一个包含8个相机视角的3D场景,这些场景具有高度的几何复杂性和各种不同的材质属性,可以用来训练Nerf模型。
当然,用户还可以自己提供用于训练神经辐射场的各样本数据,并将各样本数据在存储器中的位置信息保存到三维场景模型构建请求的指定字段中发送给服务器,服务器可以接收用户发送的三维场景模型构建请求,根据接收到的三维场景模型构建请求,确定用户输入的各样本数据,并根据各目标组件以及各样本数据,构建三维场景模型对应的目标神经辐射场。
进一步地,服务器可以根据编码函数组件、多层感知器组件以及各样本数据,构建三维场景模型对应的初始神经辐射场。进而可以通过损失函数组件,确定初始神经辐射场的损失,这里的初始神经辐射场的损失包括:视角损失、深度损失中的至少一种,并以最小化初始神经辐射场的损失为训练目标,对初始神经辐射场进行训练,得到三维场景模型对应的目标神经辐射场。
具体地,服务器可以通过编码组件对各样本数据进行编码,以确定各样本数据对应的特征表示,进而可以将各样本数据对应的特征表示输入到多层感知器组件中,以通过多层感知器组件根据各样本数据对应的特征表示,构建三维场景模型对应的初始神经辐射场。
S103:响应用户发送的渲染请求,通过所述目标神经辐射场进行渲染得到所述三维场景模型的渲染图像。
在本说明书中,服务器可以响应用户发送的渲染请求,通过目标神经辐射场进行渲染得到三维场景模型的渲染图像,具体如图4所示。
图4为本说明书中提供的渲染图像的生成过程示意图。
结合图4可以看出,服务器可以响应用户发送的渲染请求,确定用户所需生成的渲染图像对应的相机参数,这里的相机参数包括:相机位置、相机视角方向、相机的视野大小,进而可以根据相机参数,确定满足相机参数的相机在三维场景模型中能够接收到的各光线,其中,每个光线用于生成渲染图像的每个像素点的像素值,针对每条光线,确定该光线与三维场景模型相交的点,作为目标点,在该光线的路径上进行采样,以获取各采样点,其中,与目标点之间的距离小于指定阈值的采样点的数量大于与目标点之间的距离大于指定阈值的采样点的数量。
通过目标神经辐射场,确定三维场景模型在每个采样点上对应的像素点的像素值,并根据三维场景模型在每个采样点上对应的像素点的像素值,确定需要生成的渲染图像对应于该光线的像素点的像素值,以得到三维场景模型的渲染图像。
进一步地,服务器可以通过生成的三维场景模型的渲染图像呈现出三维场景的三维结构和光照效果,并可以基于不同的相机参数对应的渲染图像,体现出不同角度观察三维场景时随着视角变化产生相应的渲染图像变化。
从上述方法可以看出,可以使用户通过预设的三维渲染计算框架,选择用于构建用户所需的三维场景模型的神经辐射场的各目标组件,进而可以基于用户选取的各目标组件,自行为用户构建所需的目标神经辐射场,从而可以提高用户构建适应于某个场景的三维模型的神经辐射场的效率。
以上为本说明书的一个或多个实施图像渲染方法,基于同样的思路,本说明书还提供了相应的图像渲染装置,如图5所示。
图5为本说明书提供的一种图像渲染装置的示意图,包括:
确定模块501,用于将预设的三维渲染计算框架展示给用户,以使所述用户从预设的三维渲染计算框架所提供的各组件中,选取出用于构建用户所需的三维场景模型的神经辐射场的各组件,作为各目标组件,所述各组件包括:编码函数组件、多层感知器组件、损失函数组件;
构建模块502,用于根据所述各目标组件,构建所述三维场景模型对应的目标神经辐射场;
渲染模块503,用于响应用户发送的渲染请求,通过所述目标神经辐射场进行渲染得到所述三维场景模型的渲染图像。
可选地,所述构建模块502具体用于,接收用户发送的三维场景模型构建请求;根据所述三维场景模型构建请求,从预设的神经三维渲染计算框架所提供的各样本数据组件,确定构建用户所需的三维场景模型的神经辐射场的样本数据组件,并通过所述样本数据组件,得到各样本数据;根据所述各目标组件以及所述各样本数据,构建所述三维场景模型对应的目标神经辐射场。
可选地,所述构建模块502具体用于,接收用户发送的三维场景模型构建请求;根据所述三维场景模型构建请求,确定用户输入的各样本数据;根据所述各目标组件以及所述各样本数据,构建所述三维场景模型对应的目标神经辐射场。
可选地,所述构建模块502具体用于,根据所述编码函数组件、所述多层感知器组件以及所述各样本数据,构建所述三维场景模型对应的初始神经辐射场;通过所述损失函数组件,确定所述初始神经辐射场的损失,所述初始神经辐射场的损失包括:视角损失、深度损失中的至少一种,其中,所述视角损失用于表征通过初始神经辐射场得到的不同视角下所述各样本数据对应的三维场景模型的渲染图像的每个采样点的像素值和不同视角下所述各样本数据对应的三维场景模型的实际渲染图像的每个采样点的像素值之间的偏差、所述深度损失用于表征通过初始神经辐射场得到的不同深度下所述各样本数据对应的三维场景模型的渲染图像的每个采样点的体密度和不同深度下所述各样本数据对应的三维场景模型的实际渲染图像的每个采样点的体密度之间的偏差;以最小化所述初始神经辐射场的损失为训练目标,对所述初始神经辐射场进行训练,得到所述三维场景模型对应的目标神经辐射场。
可选地,所述构建模块502具体用于,通过所述编码组件对所述各样本数据进行编码,以确定所述各样本数据对应的特征表示;将所述各样本数据对应的特征表示输入到所述多层感知器组件中,以通过所述多层感知器组件根据所述各样本数据对应的特征表示,构建所述三维场景模型对应的初始神经辐射场。
可选地,所述渲染模块503具体用于,响应用户发送的渲染请求,确定用户所需生成的渲染图像对应的相机参数,所述相机参数包括:相机位置、相机视角方向、相机的视野大小;根据所述相机参数,确定满足所述相机参数的相机在所述三维场景模型中能够接收到的各光线,其中,每个光线用于生成渲染图像的每个像素点的像素值;针对每条光线,确定该光线与所述三维场景模型相交的点,作为目标点;在该光线的路径上进行采样,以获取各采样点,其中,与所述目标点之间的距离小于指定阈值的采样点的数量大于与所述目标点之间的距离大于指定阈值的采样点的数量;通过所述目标神经辐射场,确定所述三维场景模型在每个采样点上对应的像素点的像素值,并根据所述三维场景模型在每个采样点上对应的像素点的像素值,确定需要生成的渲染图像对应于该光线的像素点的像素值,以得到所述三维场景模型的渲染图像。
可选地,所述渲染模块503具体用于,响应用户发送的渲染请求,通过所述目标神经辐射场进行渲染得到所述三维场景模型的初始渲染图像;对所述初始渲染图像进行后处理,以得到所述三维场景模型的渲染图像,所述后处理包括:抗锯齿处理、图像噪声去除处理、增强对比度处理中的至少一种。
本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的一种图像渲染方法。
本说明书还提供了图6所示的一种对应于图1的电子设备的示意结构图。如图6所述,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的图像渲染方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(ProgrammableLogic Device,PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware DescriptionLanguage,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced BooleanExpression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java HardwareDescription Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware DescriptionLanguage)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated CircuitHardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

Claims (10)

1.一种图像渲染方法,其特征在于,包括:
将预设的三维渲染计算框架展示给用户,以使所述用户从预设的三维渲染计算框架所提供的各组件中,选取出用于构建用户所需的三维场景模型的神经辐射场的各组件,作为各目标组件,所述各组件包括:编码函数组件、多层感知器组件、损失函数组件,其中,所述编码函数组件用于根据不同编码器,确定输入所述神经辐射场的图像的特征表示,所述多层感知器组件用于根据输入图像的特征表示,确定所述神经辐射场输出的所述三维场景模型中每个点的体密度以及每个点的像素值,所述损失函数组件用于确定训练所述神经辐射场模型过程中神经辐射场模型损失;
根据所述各目标组件,构建所述三维场景模型对应的目标神经辐射场;
响应用户发送的渲染请求,通过所述目标神经辐射场进行渲染得到所述三维场景模型的渲染图像。
2.如权利要求1所述的方法,其特征在于,根据所述各目标组件,构建所述三维场景模型对应的目标神经辐射场之前,所述方法还包括:
接收用户发送的三维场景模型构建请求;
根据所述三维场景模型构建请求,从预设的神经三维渲染计算框架所提供的各样本数据组件,确定构建用户所需的三维场景模型的神经辐射场的样本数据组件,并通过所述样本数据组件,得到各样本数据;
根据所述各目标组件,构建目标神经辐射场,具体包括:
根据所述各目标组件以及所述各样本数据,构建所述三维场景模型对应的目标神经辐射场。
3.如权利要求1所述的方法,其特征在于,根据所述各目标组件,构建所述三维场景模型对应的目标神经辐射场之前,所述方法还包括:
接收用户发送的三维场景模型构建请求;
根据所述三维场景模型构建请求,确定用户输入的各样本数据;
根据所述各目标组件,构建目标神经辐射场,具体包括:
根据所述各目标组件以及所述各样本数据,构建所述三维场景模型对应的目标神经辐射场。
4.如权利要求2所述的方法,其特征在于,根据所述各目标组件以及所述各样本数据,构建所述三维场景模型对应的目标神经辐射场,具体包括:
根据所述编码函数组件、所述多层感知器组件以及所述各样本数据,构建所述三维场景模型对应的初始神经辐射场;
通过所述损失函数组件,确定所述初始神经辐射场的损失,所述初始神经辐射场的损失包括:视角损失、深度损失中的至少一种,其中,所述视角损失用于表征通过初始神经辐射场得到的不同视角下所述各样本数据对应的三维场景模型的渲染图像的每个采样点的像素值和不同视角下所述各样本数据对应的三维场景模型的实际渲染图像的每个采样点的像素值之间的偏差、所述深度损失用于表征通过初始神经辐射场得到的不同深度下所述各样本数据对应的三维场景模型的渲染图像的每个采样点的体密度和不同深度下所述各样本数据对应的三维场景模型的实际渲染图像的每个采样点的体密度之间的偏差;
以最小化所述初始神经辐射场的损失为训练目标,对所述初始神经辐射场进行训练,得到所述三维场景模型对应的目标神经辐射场。
5.如权利要求4所述的方法,其特征在于,根据所述编码函数组件、所述多层感知器组件以及所述各样本数据,构建所述三维场景模型对应的初始神经辐射场,具体包括:
通过所述编码组件对所述各样本数据进行编码,以确定所述各样本数据对应的特征表示;
将所述各样本数据对应的特征表示输入到所述多层感知器组件中,以通过所述多层感知器组件根据所述各样本数据对应的特征表示,构建所述三维场景模型对应的初始神经辐射场。
6.如权利要求1所述的方法,其特征在于,响应用户发送的渲染请求,通过所述目标神经辐射场进行渲染得到所述三维场景模型的渲染图像,具体包括:
响应用户发送的渲染请求,确定用户所需生成的渲染图像对应的相机参数,所述相机参数包括:相机位置、相机视角方向、相机的视野大小;
根据所述相机参数,确定满足所述相机参数的相机在所述三维场景模型中能够接收到的各光线,其中,每个光线用于生成渲染图像的每个像素点的像素值;
针对每条光线,确定该光线与所述三维场景模型相交的点,作为目标点;
在该光线的路径上进行采样,以获取各采样点,其中,与所述目标点之间的距离小于指定阈值的采样点的数量大于与所述目标点之间的距离大于指定阈值的采样点的数量;
通过所述目标神经辐射场,确定所述三维场景模型在每个采样点上对应的像素点的像素值,并根据所述三维场景模型在每个采样点上对应的像素点的像素值,确定需要生成的渲染图像对应于该光线的像素点的像素值,以得到所述三维场景模型的渲染图像。
7.如权利要求1所述的方法,其特征在于,响应用户发送的渲染请求,通过所述目标神经辐射场进行渲染得到所述三维场景模型的渲染图像,具体包括:
响应用户发送的渲染请求,通过所述目标神经辐射场进行渲染得到所述三维场景模型的初始渲染图像;
对所述初始渲染图像进行后处理,以得到所述三维场景模型的渲染图像,所述后处理包括:抗锯齿处理、图像噪声去除处理、增强对比度处理中的至少一种。
8.一种图像渲染装置,其特征在于,包括:
确定模块,用于将预设的三维渲染计算框架展示给用户,以使所述用户从预设的三维渲染计算框架所提供的各组件中,选取出用于构建用户所需的三维场景模型的神经辐射场的各组件,作为各目标组件,所述各组件包括:编码函数组件、多层感知器组件、损失函数组件,其中,所述编码函数组件用于根据不同编码器,确定输入所述神经辐射场的图像的特征表示,所述多层感知器组件用于根据输入图像的特征表示,确定所述神经辐射场输出的所述三维场景模型中每个点的体密度以及每个点的像素值,所述损失函数组件用于确定训练所述神经辐射场模型过程中神经辐射场模型损失;
构建模块,用于根据所述各目标组件,构建所述三维场景模型对应的目标神经辐射场;
渲染模块,用于响应用户发送的渲染请求,通过所述目标神经辐射场进行渲染得到所述三维场景模型的渲染图像。
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1~7任一项所述的方法。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1~7任一项所述的方法。
CN202310956092.XA 2023-07-31 2023-07-31 一种图像渲染方法、装置、存储介质及电子设备 Active CN116977525B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310956092.XA CN116977525B (zh) 2023-07-31 2023-07-31 一种图像渲染方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310956092.XA CN116977525B (zh) 2023-07-31 2023-07-31 一种图像渲染方法、装置、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN116977525A CN116977525A (zh) 2023-10-31
CN116977525B true CN116977525B (zh) 2024-03-01

Family

ID=88472750

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310956092.XA Active CN116977525B (zh) 2023-07-31 2023-07-31 一种图像渲染方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN116977525B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117765172B (zh) * 2023-12-12 2024-05-28 之江实验室 一种遥感图像三维重建的方法及装置
CN117765171A (zh) * 2023-12-12 2024-03-26 之江实验室 一种三维模型重建的方法、装置、存储介质及电子设备
CN117689822B (zh) * 2024-01-31 2024-04-16 之江实验室 一种三维模型构建方法、装置、存储介质及电子设备
CN117893692B (zh) * 2024-03-12 2024-05-28 之江实验室 一种基于对称视图的三维重建方法、装置及存储介质

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109063829A (zh) * 2018-06-22 2018-12-21 泰康保险集团股份有限公司 神经网络构建方法、装置、计算机设备和存储介质
CN110689124A (zh) * 2019-09-30 2020-01-14 北京九章云极科技有限公司 一种构建神经网络模型的方法及系统
CN110751269A (zh) * 2019-10-18 2020-02-04 网易(杭州)网络有限公司 图神经网络训练方法、客户端设备及系统
CN115100339A (zh) * 2022-06-15 2022-09-23 北京百度网讯科技有限公司 图像生成方法、装置、电子设备和存储介质
CN115563060A (zh) * 2022-09-21 2023-01-03 北京邮电大学 一种面向图神经网络的可视化管理系统
CN115937394A (zh) * 2022-12-05 2023-04-07 百果园技术(新加坡)有限公司 一种基于神经辐射场的三维图像渲染方法及系统
CN116012483A (zh) * 2023-01-31 2023-04-25 北京三快在线科技有限公司 一种图像渲染的方法、装置、存储介质及电子设备
WO2023093186A1 (zh) * 2022-06-15 2023-06-01 之江实验室 基于神经辐射场的行人重识别三维数据集构建方法和装置
CN116246023A (zh) * 2023-03-03 2023-06-09 网易(杭州)网络有限公司 三维模型重建方法、装置、设备、存储介质及程序产品
CN116309983A (zh) * 2023-01-09 2023-06-23 北京百度网讯科技有限公司 虚拟人物模型的训练方法、生成方法、装置和电子设备
CN116433822A (zh) * 2023-04-28 2023-07-14 北京数原数字化城市研究中心 一种神经辐射场训练方法、装置、设备及介质
CN116452758A (zh) * 2023-06-20 2023-07-18 擎翌(上海)智能科技有限公司 一种神经辐射场模型加速训练方法、装置、设备及介质
WO2023138471A1 (zh) * 2022-01-24 2023-07-27 阿里巴巴(中国)有限公司 三维场景渲染方法、设备以及存储介质

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109063829A (zh) * 2018-06-22 2018-12-21 泰康保险集团股份有限公司 神经网络构建方法、装置、计算机设备和存储介质
CN110689124A (zh) * 2019-09-30 2020-01-14 北京九章云极科技有限公司 一种构建神经网络模型的方法及系统
CN110751269A (zh) * 2019-10-18 2020-02-04 网易(杭州)网络有限公司 图神经网络训练方法、客户端设备及系统
WO2023138471A1 (zh) * 2022-01-24 2023-07-27 阿里巴巴(中国)有限公司 三维场景渲染方法、设备以及存储介质
CN115100339A (zh) * 2022-06-15 2022-09-23 北京百度网讯科技有限公司 图像生成方法、装置、电子设备和存储介质
WO2023093186A1 (zh) * 2022-06-15 2023-06-01 之江实验室 基于神经辐射场的行人重识别三维数据集构建方法和装置
CN115563060A (zh) * 2022-09-21 2023-01-03 北京邮电大学 一种面向图神经网络的可视化管理系统
CN115937394A (zh) * 2022-12-05 2023-04-07 百果园技术(新加坡)有限公司 一种基于神经辐射场的三维图像渲染方法及系统
CN116309983A (zh) * 2023-01-09 2023-06-23 北京百度网讯科技有限公司 虚拟人物模型的训练方法、生成方法、装置和电子设备
CN116012483A (zh) * 2023-01-31 2023-04-25 北京三快在线科技有限公司 一种图像渲染的方法、装置、存储介质及电子设备
CN116246023A (zh) * 2023-03-03 2023-06-09 网易(杭州)网络有限公司 三维模型重建方法、装置、设备、存储介质及程序产品
CN116433822A (zh) * 2023-04-28 2023-07-14 北京数原数字化城市研究中心 一种神经辐射场训练方法、装置、设备及介质
CN116452758A (zh) * 2023-06-20 2023-07-18 擎翌(上海)智能科技有限公司 一种神经辐射场模型加速训练方法、装置、设备及介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
NeRF:Representing Scenes as Neural Radiance Fields for View Synthesis;Ben Mildenhall 等;ArXiv;全文 *
神经辐射场多视图合成技术综述;马汉声 等;计算机工程与应用;全文 *

Also Published As

Publication number Publication date
CN116977525A (zh) 2023-10-31

Similar Documents

Publication Publication Date Title
CN116977525B (zh) 一种图像渲染方法、装置、存储介质及电子设备
US20180246635A1 (en) Generating user interfaces combining foreground and background of an image with user interface elements
CN117372631A (zh) 一种多视角图像生成模型的训练方法、应用方法
CN117635822A (zh) 一种模型训练的方法、装置、存储介质及电子设备
CN106537462A (zh) 利用深度或视差对来自图像的视图插补进行自适应网格重构
CN117409466B (zh) 一种基于多标签控制的三维动态表情生成方法及装置
CN116342888B (zh) 一种基于稀疏标注训练分割模型的方法及装置
CN116245961B (zh) 一种基于多类传感器信息的融合感知方法及系统
CN116012483A (zh) 一种图像渲染的方法、装置、存储介质及电子设备
CN110222056A (zh) 一种定位方法、系统及设备
CN117689822B (zh) 一种三维模型构建方法、装置、存储介质及电子设备
CN117726907B (zh) 一种建模模型的训练方法、三维人体建模的方法以及装置
CN117726760B (zh) 一种用于视频的三维人体重建模型的训练方法及装置
CN116309924B (zh) 一种模型训练的方法、图像展示的方法及装置
CN117893692B (zh) 一种基于对称视图的三维重建方法、装置及存储介质
CN117893696B (zh) 一种三维人体数据生成方法、装置、存储介质及电子设备
CN116612244B (zh) 一种图像生成方法、装置、存储介质及电子设备
CN117830564B (zh) 一种姿态分布指导的三维虚拟人模型重建方法
CN117876610B (zh) 针对三维构建模型的模型训练方法、装置、存储介质
CN117745956A (zh) 一种基于位姿引导的图像生成方法、装置、介质及设备
CN117808976B (zh) 一种三维模型构建方法、装置、存储介质及电子设备
CN115761565B (zh) 视频生成方法、装置、设备与计算机可读存储介质
CN117173321B (zh) 一种三维重建纹理视图的选择方法及装置
EP3882852A1 (en) Training alignment of a plurality of images
CN117270688A (zh) 基于ar场景的防碰撞方法及装置

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