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

绘制装置、学习装置、绘制方法以及程序

文献发布时间:2023-06-19 09:29:07


绘制装置、学习装置、绘制方法以及程序

技术领域

本公开涉及绘制装置、学习装置、绘制方法以及程序。

背景技术

机械学习的应用在广泛的范围开始得到应用。还提出执行根据二维的图像进行三维的对象的建模的学习的手法。然而,在使用一般的绘制引擎的情况下,没有从绘制的二维的像素的信息向成为三维模型上的源的区域传播信息的手段,不易使在学习中使用的损失(loss)反向传播。因此,在学习中,在根据建模的三维对象生成二维的图像时,需要专用的绘制引擎,难以应用一般的渲染器进行学习。

发明内容

因此,本发明的实施方式提出能够根据绘制结果进行损失的反向传播的绘制装置。

根据一个实施方式,绘制装置根据三维模型的数据生成二维空间内的投影数据,其中,具备:信息取得部,从与所述三维模型的区域有关的信息,取得与所述二维空间内的所述投影数据有关的信息;存储部,将与所述投影数据有关的信息和与所述区域有关的信息关联起来存储;以及投影数据生成部,根据与所述投影数据有关的信息,生成所述投影数据。

附图说明

图1是示出一个实施方式所涉及的绘制装置的功能的框图。

图2是示出一个实施方式所涉及的绘制装置的处理的流程图。

图3是示出一个实施方式所涉及的三维模型和二维投影数据的对应的图。

图4是示出一个实施方式所涉及的学习装置2的功能的框图。

图5是示出一个实施方式所涉及的硬件结构的一个例子的图。

(符号说明)

1:绘制装置;10:信息取得部;12:存储部;14:投影数据生成部;16:输出部;2:学习装置;20:输入部;22:误差计算部;24:反向传播部;26:输出部。

具体实施方式

以下,参照附图,说明本发明的实施方式。附图以及实施方式的说明作为一个例子示出,不限定本发明。

图1是示出本实施方式所涉及的绘制装置1的图。绘制装置1具备信息取得部10、存储部12、投影数据生成部14、以及输出部16,根据三维模型,生成将该三维模型向二维空间投影的图像。在以下的说明中,例如,绘制装置1的投影数据生成部14也可以具备包括神经网络的着色器或者绘制引擎。

信息取得部10在三维模型中,取得为了生成二维空间中的图像数据而所需的信息。例如,在被提供三维模型时,将三维模型分割成多边形的网格状的区域(多边形(polygon)),取得分割的多边形中的三维模型的信息。该多边形是所谓图元(primitive),在用三角形表现的情况下,是被称为三角形(triangle)的例子。在以下的说明中,设为多边形进行说明,但也可以是作为包括多边形的更宽的概念的表示三维模型的一部分(或者全部)的区域的曲面。即,设为如一般进行的方法将三维模型分割成曲面并针对该分割的曲面进行处理而进行说明,但未必限定于该方式。另外,在以下的说明中,使用分割三维模型而得到的一部分进行处理,但也可以根据三维模型的大小、区域、形状等,使用三维模型的全部进行以下的处理。

为了取得该信息,首先,执行多边形的顶点的坐标的变换。在坐标的变换中,例如,通过将局部坐标(三维)变换为全局坐标(三维),将全局坐标变换为视图坐标系(三维),将视图坐标系变换为射影坐标系(二维),将射影坐标变换为屏幕坐标(二维),从三维模型(假想地)存在的坐标系向描绘图像数据的二维空间的坐标系进行变换。在这些坐标系的变换中,使用一般进行的变换。不过,无需经由所有坐标系,能够从局部坐标或者全局坐标向屏幕坐标变换即可。

这样,通过将分割三维模型而得到的各区域中的顶点的信息从三维空间的坐标变换到投影的二维空间的坐标,能够将三维模型描绘到二维空间。信息取得部10根据三维模型的各区域的信息,取得投影目的地的二维空间中的位置(例如像素)处的、在照明计算中利用的与颜色/反射特性有关的信息。在照明计算中利用的信息是指,例如,包括法线矢量、反照率、深度/距离(Depth/Distance)、反射特性(Reflection)、发射(Emission)、漫射(Diffusion)、遮蔽(Ambient Occlusion)、照明(Lightmap)等与投影数据有关的信息中的至少1个的信息。另外,不限于这些,也可以包括用于生成投影数据的照明计算所需的其他信息。使用在各区域被变换到二维坐标时在二维坐标中表现的顶点以及连接这些顶点的线段、曲线以及面等中的至少1个,来表现各区域的形状。另外,与投影数据有关的信息也可以包括二维空间内的位置信息。

此外,以下,与投影数据有关的信息(记载为投影信息)既可以包括在上述照明计算中利用的信息自身,也可以包括根据在这些照明计算中利用的信息通过投影数据生成部14等加工并存储到存储部12的数据。该投影信息是通过着色(shading)手法以各种方式存储的信息,如上所述,既可以包括未加工的在照明计算中利用的数据,也可以包括关于该数据进行某种程度的计算并进行生成投影数据的阶段而得到的数据。例如,既可以如应用延迟着色的情况那样,包括在照明计算中利用的数据自身,也可以如应用前向着色的情况那样,包括针对设置于三维空间内的多个光源中的1个光源根据在照明计算中利用的数据计算的、投影数据的生成途中的数据。进而,投影信息定义为包括在上述例子中举出的数据种类(法线矢量、反照率、其他)中的未加工或者已加工的至少1个数据。

存储部12存储由信息取得部10取得的二维空间内的各位置处的颜色信息等在照明计算中利用的信息。进而,在本实施方式中,在各位置处,与这些颜色信息等信息一并地,存储三维空间内的位置信息。该三维空间内的位置信息例如表示对上述多边形赋予的标识符、或者多边形的顶点的坐标(局部坐标或者全局坐标)。标识符也可以是对多边形唯一地赋予。即,在表示二维空间内的某个位置的存储区域内,存储投射到该位置的三维模型中的多边形的标识符或者多边形的各顶点的坐标。

通过这样将数据关联起来,能够根据投影到二维空间内的数据的位置,掌握三维模型内的位置、更详细而言、是属于三维模型内的哪一个多边形的区域的投影。

投影数据生成部14根据存储于存储部12的投影信息,使用可微分的运算,来生成最终地描绘的二维的投影数据。例如,根据颜色信息、法线矢量的信息,运算从在三维空间上存在的光源出来的反射光,计算二维空间内的各位置处的颜色、亮度等信息,生成投影数据。

不限于上述,投影数据生成部14也可以并非根据存储于存储部12的数据而根据由信息取得部10取得的数据生成投影数据。该投影数据的生成也可以通过一般的着色处理进行。

例如,在将作为可微分的处理的延迟着色处理选择为着色手法的情况下,存储部12也可以兼作所谓G缓冲器(Geometry Buffer,几何缓冲器),也可以将三维空间中的顶点的坐标信息等与存储于G缓冲器的颜色信息等关联起来存储。在该情况下,投影数据生成部14根据存储于存储部12的数据,生成投影数据。不过,延迟着色仅为一个例子,也可以使用其他着色手法。

输出部16输出投影数据生成部14生成的投影数据。该输出部16例如也可以具备显示器,在显示器上描绘而输出投影数据。作为其他例子,也可以将投影数据变换为适合的图像数据,将该图像数据输出给文件服务器、经由网络的其他装置、或者存储部12等。

图2是示出本实施方式所涉及的绘制装置1的绘制处理的一个例子的流程图。使用该图2,说明绘制装置1的处理。

首先,信息取得部10将三维模型分割成多边形(S100)。此外,在三维模型自身构成为具备多边形数据的情况下,还能够省略该步骤。

接下来,信息取得部10取得三维空间内的多边形的顶点的坐标(S102)。为了执行上述坐标变换,生成向二维的投影数据,取得关注的多边形的三维空间内的顶点的坐标。

接下来,信息取得部10通过对在S102中取得的坐标数据实施上述坐标变换,计算该多边形被投影的二维坐标(S104)。通过在二维空间内,变换多边形的顶点的坐标,并用线段连接该变换的坐标,确定该多边形被投影的二维空间内的坐标。

接下来,信息取得部10根据在S104中取得的多边形的坐标,将二维空间内的该多边形被投影的坐标、和该多边形的标识符、或者该多边形的三维空间内的顶点的坐标关联起来存储到存储部12(S106)。这样,在存储部12中,针对二维坐标,存储多边形的信息。

接下来,投影数据生成部14根据信息取得部10取得的数据、或者存储于存储部12的数据,生成投影数据(S108)。

作为一个例子,投影数据生成部14根据信息取得部10取得的三维模型的多边形数据的颜色信息以及法线矢量信息等,考虑设置的光源来计算投影到二维空间内的像素的数据。投影数据的计算如上所述既可以用延迟着色进行,也可以用前向着色进行。

在进行延迟着色的情况下,针对投影的二维空间内的像素的各个坐标,通过信息取得部10,一并地取得并存储颜色信息等描绘所需的信息、和用于识别多边形的信息。投影数据生成部14使用这些存储的数据中的、描绘所需的信息、和光源等的信息,生成投影数据。

在进行前向着色的情况下,也可以调换S106和S108,也可以在投影数据生成部14根据由信息取得部10取得的信息关于各像素计算投影数据之后,与信息取得部10取得的识别多边形的信息一并地存储到表示各个像素的存储器区域。不过不限于此,在表示像素的存储器区域内,预先存储识别多边形的信息,之后,投影数据生成部14根据颜色信息等、和光源等的信息,生成投影数据。在光源有多个的情况下,关于生成途中的数据,既可以与识别多边形的信息一并地存储,也可以使用其他存储器区域存储。

在关于描绘所需的多边形各自,与二维空间内的像素的关联、以及描绘数据的生成结束之后,绘制装置1从输出部16输出数据等并结束处理。在关于在投影数据的生成中所需的多边形,处理未结束的情况下,关于该多边形,进行S102至S108的处理。在延迟着色的情况下,也可以在关于所有多边形进行S102至S106的处理之后,进行S108的处理。

图3是作为一个例子示出进行延迟着色的情况下的、根据三维模型生成投影数据时的存储器的储存方法的图。该处理由可微分的运算构成。左图示出三维模型,右图示出投影得到的图像。设为三维模型的区域R1被投射到二维空间的投射P1。同样地,设为区域R2被投射到投射P2。设为左图中的从箭头的方向观察的投影是右图。

在此,说明关于投射P1内的坐标(x

设为与坐标(x

与坐标(x

存储的方法不限于图示的方法。例如,也可以预先准备能够针对颜色信息、法线矢量信息、多边形信息分别集中存储的区域,以在二维的存储器空间内与坐标对应的方式配置并存储。在该情况下,在各个区域中确保颜色信息张量、法线矢量信息张量、多边形信息张量等。

作为其他例子,也可以针对坐标,准备能够集中存储颜色信息、法线矢量信息、多边形信息的区域。在该情况下,针对坐标(x

关于区域R2,也同样地,针对投影P2内的各个像素,储存数据。例如,针对坐标(x

此外,在如上所述在多边形内提供相同的颜色信息以及相同的法线矢量信息等的情况下,也可以将投影P1等的顶点中的坐标、R1的信息、以及颜色信息等描绘所需的信息关联起来储存。在投影数据中,关于二维空间内的坐标,能够根据三维模型的区域被投影的顶点的坐标,逆算是从哪一个区域的投影。

在是延迟着色的情况下,投影数据生成部14使用这些颜色信息等描绘所需的信息,根据光源、视点等的条件,生成投影数据。

在前向着色的情况下,也能够同样地储存与三维模型的区域有关的信息(以下记载为区域信息)。例如,在前向着色中,在各着色的阶段各自中,能够通过与投影数据的颜色信息一起存储三维模型的区域信息来安装。在该情况下,针对被写入一次区域信息的像素,无需再次写入区域信息,所以对于第2次以后的写入,还能够防止写入区域信息。

如以上所述,根据本实施方式,通过将投影的数据的各像素(像素)和三维模型的对应的多边形关联起来储存,能够追溯投影的数据的像素是通过可微分的处理投影三维模型的哪一个多边形而得到的像素。

以下,说明上述实施方式所涉及的利用绘制装置1的绘制装置1的学习装置。在以下的说明中,例如,绘制装置1的投影数据生成部14具备包括神经网络的着色器或者绘制引擎。

图4是示出绘制装置1的学习装置2的框图。学习装置2具备绘制装置1、输入部20、误差计算部22、反向传播部24、以及输出部26。另外,作为其他例子,学习装置2也可以是与绘制装置1不同的独立的结构。

输入部20受理三维模型的输入。作为其他例子,也可以还受理二维投影的教师数据的输入。

误差计算部22依据根据从输入部20输入的三维模型由绘制装置1生成的投影数据,计算误差(损失)。例如,在有二维投影的教师数据的情况下,根据该教师数据和投影数据的各像素中的各颜色空间的信息,计算在神经网络的更新中使用的误差。

误差的计算不限于此,也可以是形状的信息、即投影数据的部分的坐标、和根据与该投影数据对应的三维模型的区域的坐标计算出的理想的投影数据中的坐标的误差,还可以是基于赋予给三维模型的纹理在利用绘制装置1的变换以及理想的数据中被变换为投影数据的什么样的纹理的误差。

反向传播部24将误差计算部22计算的误差反向传播到神经网络的前面的层。例如,在输出层中计算的误差被反向传播到输出层的前1个隐蔽层。在使用传播到该层的误差来更新该层的加权矩阵之后,通过误差计算部22计算误差,计算的误差被进一步反向传播到前1个层。这样,直至输入层、或者输入层的前1个层,反复反向传播,更新权重矩阵、即神经网络的参数。

与神经网络的更新相关的期数、批数等也可以任意地决定。该更新能够用一般的更新方法更新。

这样的反向传播能够通过判断投影数据的坐标与三维模型中的哪一个多边形相应来进行,所以通过使用存储于绘制装置1的存储部12的多边形的标识符的数据,能够进行反向传播。其原因为,在进行正向传播定时,需要来自三维模型的哪个多边形的绘制结果被变换为关注的投影数据的像素的数据的信息。

输出部26输出由反向传播部24更新的神经网络。在上述情况下,例如,也可以输出着色器或者绘制引擎。

此外,在上述中,设为是神经网络,但不限于此。例如,也可以是在被输入三维模型时输出投影数据的一般的着色器或者绘制引擎、且能够受理在着色或者绘制时使用的参数的修正。

在该情况下,误差计算部22比较投影数据的某个像素的颜色信息和理想的颜色信息,计算误差。接下来,反向传播部24向着色器或者绘制引擎反馈该误差,通过不使用神经网络的一般的最佳化手法,进行着色器或者绘制引擎的最佳化。这样,本实施方式的可利用的范围不限于神经网络。

在进一步应用时,通过使用这样的绘制装置1以及学习装置2,还能够形成如输出用误差函数、对象二维投影数据等定义的指标的最适合的理想的二维投影数据那样的三维模型。在该情况下,并非针对着色器或者绘制引擎进行反馈,而能够通过针对三维模型进行反馈来实现。

根据上述实施方式,能够安装赋予各区域中的标识符的可微分的绘制。通过该安装,能够进行绘制处理中的误差的反向传播。由此,能够根据3D重构模型和绘制结果,应用包括深度学习的机械学习手法,适当地训练神经网络模型。

在上述中,示出栅格化的手法中的解法,但不限于此,还能够将一部分或者全部应用于光线追踪。通过应用于光线追踪手法,能够更详细地以接近现实的世界的形式处理反射特性等,嵌入到神经网络。进而,能够从3D对象进一步反向传播,还应用于向更抽象的层上的对象的训练。

进而,在上述中,仅根据1个网格进行说明,但当然还能够应对多个网格。这样,通过使用多个网格,能够针对多个对象并行地进行绘制、以及机械学习模型的训练。在该情况下,也可以不仅是区域的标识符,而且还设定物体的标识符(例如表示群组的群组标识符)。即,也可以作为标识符,分别具备表示是属于哪一个物体的哪一个区域的标识符。另外,也可以另外准备表,储存每个区域的标识符属于哪一个物体,在进行反向传播处理的定时,参照该表。

根据如以上所述训练的已学习模型,还能够根据实时地取得的二维图像(例如RGB图像、灰阶图像等)、或者三维图像(例如RGB-D图像、具备深度映射的图像等),进行着色。通过将这样的已学习模型例如设置于机器人、自动驾驶装置等,能够进行高速的着色处理,并且根据着色结果进行高速的安全的自动操作等。

另外,在上述中,说明可见光中的着色、绘制,但不限于此。例如,关于可见光以外的电波、声音等其他信息,也能够进行同样的处理。

储存反向传播所需的数据的存储部12也可以通过纹理安装。即,也可以在纹理中储存颜色等的信息,并且储存上述各标识符。在进行着色的情况、以及进行神经网络的训练的情况下,能够参照储存于该纹理的各数据。

在上述实施方式中的绘制装置1以及学习装置2中,各功能也可以是由模拟电路、数字电路或者模拟/数字混合电路构成的电路。另外,也可以具备进行各功能的控制的控制电路。各电路的安装也可以利用ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field Programmable Gate Array,现场可编程门阵列)等。

在上述所有记载中,绘制装置1以及学习装置2的至少一部分既可以由硬件构成,也可以由软件构成且CPU等通过软件的信息处理实施。在由软件构成的情况下,也可以将实现绘制装置1、学习装置2以及其至少一部分的功能的程序收纳到软盘、CD-ROM等存储介质,使计算机读入并执行。存储介质不限定于磁盘、光盘等可装卸的介质,也可以是硬盘装置、存储器等固定型的存储介质。即,也可以使用硬件资源具体地安装利用软件的信息处理。进而,利用软件的处理也可以安装到FPGA等电路而用硬件执行。模型的生成、向模型进行输入之后的处理例如也可以使用GPU等加速器进行。

例如,通过计算机读出存储于计算机可读取的存储介质的专用的软件,能够将计算机设为上述实施方式的装置。存储介质的种类没有特别限定。另外,通过计算机安装经由通信网络下载的专用的软件,能够将计算机设为上述实施方式的装置。这样,使用硬件资源,具体地安装利用软件的信息处理。

图5是示出本发明的一个实施方式中的硬件结构的一个例子的框图。绘制装置1以及学习装置2能够实现为具备处理器71、主存储装置72、辅助存储装置73、网络接口74、以及设备接口75,且它们经由总线76连接的计算机装置7。

此外,图5的计算机装置7具备一个各构成要素,但也可以具备多个相同的构成要素。另外,在图5中,示出1台计算机装置7,但也可以将软件安装到多个计算机装置,该多个计算机装置分别执行软件的不同的一部分的处理。

处理器71是包括计算机的控制装置以及运算装置的电子电路(处理电路、Processing circuit、Processing circuitry)。处理器71根据从计算机装置7的内部结构的各装置等输入的数据、程序进行运算处理,将运算结果、控制信号输出给各装置等。具体而言,处理器71通过执行计算机装置7的OS(操作系统)、应用等,控制构成计算机装置7的各构成要素。处理器71只要能够进行上述处理,则没有特别限制。检查对应部、模型对应部、以及它们的各构成要素通过处理器71实现。

主存储装置72是存储处理器71执行的命令以及各种数据等的存储装置,通过处理器71直接读出存储于主存储装置72的信息。辅助存储装置73是主存储装置72以外的存储装置。此外,这些存储装置意味着能够储存电子信息的任意的电子零件,既可以是存储器也可以是存储设备。另外,在存储器中,有易失性存储器和非易失性存储器,哪一个都可以。用于在绘制装置1或者学习装置2内保存各种数据的存储器也可以通过主存储装置72或者辅助存储装置73实现。例如,存储部12也可以安装到该主存储装置72或者辅助存储装置73。作为其他例子,在具备加速器的情况下,存储部12也可以安装到设置于该加速器的存储器内。

网络接口74是用于通过无线或者有线方式连接到通信网络8的接口。网络接口74使用适合于既存的通信规格的接口即可。也可以通过网络接口74,与经由通信网络8通信连接的外部装置9A交换信息。

外部装置9A例如包括照相机、动作捕捉装置、输出目的地设备、外部的传感器、输入源设备等。另外,外部装置9A也可以是具有绘制装置1以及学习装置2的构成要素的一部分的功能的装置。而且,计算机装置7也可以如云服务那样经由通信网络8接受绘制装置1以及学习装置2的处理结果的一部分。

设备接口75是与外部装置9B直接连接的USB(Universal Serial Bus,通用串行总线)等接口。外部装置9B既可以是外部存储介质,也可以是存储设备装置。存储部12也可以通过外部装置9B实现。

外部装置9B也可以是输出装置。输出装置例如既可以是用于显示图像的显示装置,也可以是输出声音等的装置等。例如,有LCD(Liquid Crystal Display,液晶显示器)、CRT(Cathode Ray Tube,阴极射线管)、PDP(Plasma Display Panel,等离子显示面板)、扬声器等,但不限于这些。

此外,外部装置9B也可以是输入装置。输入装置具备键盘、鼠标、触摸面板等设备,将通过这些设备输入的信息提供给计算机装置7。来自输入装置的信号被输出给处理器71。

根据上述所有记载,本领域技术人员可能能够想到本发明的追加、效果或者各种变形,本发明的方式不限定于上述各个实施方式。能够在不脱离从在权利要求书中规定的内容及其均等物导出的本发明的概念性的思想和宗旨的范围内,进行各种追加、变更以及部分的删除。例如,在上述所有实施方式中,在说明中使用的数值是一个例子,不限于这些。

学习、推论的各种运算例如也可以是使用GPU等加速器、或者使用经由网络的多个计算机,通过并行处理执行。例如,学习中的批处理、推论中的各对象的动作信息的生成等处理也可以是对多个运算核分配运算并在相同的定时执行。

相关技术
  • 绘制装置、学习装置、绘制方法以及程序
  • 图形绘制装置、图形绘制方法和其上记录有图形绘制程序的记录介质
技术分类

06120112181250