CN115937392B - 一种三维模型的渲染方法和装置 - Google Patents
一种三维模型的渲染方法和装置 Download PDFInfo
- Publication number
- CN115937392B CN115937392B CN202211591845.3A CN202211591845A CN115937392B CN 115937392 B CN115937392 B CN 115937392B CN 202211591845 A CN202211591845 A CN 202211591845A CN 115937392 B CN115937392 B CN 115937392B
- Authority
- CN
- China
- Prior art keywords
- dimensional model
- rendering
- image
- dimensional
- template image
- 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
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A90/00—Technologies having an indirect contribution to adaptation to climate change
- Y02A90/10—Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation
Landscapes
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
本申请提供了一种三维模型的渲染方法和装置,该方法包括:获取三维模型和三维模型对应的原景图像数据,三维模型为不具有纹理属性的三维白模,原景图像数据包括多张原景图像;将三维模型输入到三维数字空间中;从原景图像数据中选取第一模板图像;确定第一模板图像在三维数字空间中对应的第一渲染位置;根据第一模板图像和第一渲染位置生成第一纹理贴图,并根据第一渲染位置将第一纹理贴图渲染在三维模型上,得到渲染后的三维模型。本申请根据三维模型对应的原景图像数据生成纹理贴图,将纹理贴图渲染在三维模型上,生成带有纹理属性的三维模型。
Description
技术领域
本申请涉及计算机图形学以及人工智能领域,尤其涉及一种三维模型的渲染方法和装置。
背景技术
随着元宇宙等基于三维(three-dimensional,3D)元素的概念迅速兴起,3D数字内容的快速生成与制作已成为制约该行业发展的关键障碍,尤其是与现实物理空间相对应的3D数字空间构建过程,在该过程中主要涉及对含有复杂语义属性的现实物理空间表示、存储与基于表示数据还原为与现实物理空间对应的3D数字空间等三大过程。
而目前采用的方式是从简化模型中提取出平面后,对于提取出来的每个平面需要选出一组最优的视角,选出的视角后则需要对齐图像上的直线特征,最后通过图像拼接以及纹理优化为简化模型生成相片级别的纹理。而在简化模型不具有纹理时,就无法生成一个带有纹理属性的3D数字空间模型。
发明内容
有鉴于此,本申请提供一种三维模型的渲染方法,目的在于解决无法生成一个带有纹理属性的3D模型的问题。
本申请的第一方面提供了一种三维模型的渲染方法,所述方法包括:
获取三维模型和所述三维模型对应的原景图像数据,所述三维模型为不具有纹理属性的三维白模,所述原景图像数据包括多张原景图像;
将所述三维模型输入到三维数字空间中;
从所述原景图像数据中选取第一模板图像;
确定所述第一模板图像在所述三维数字空间中对应的第一渲染位置;
根据所述第一模板图像和所述第一渲染位置生成第一纹理贴图,并根据所述第一渲染位置将所述第一纹理贴图渲染在所述三维模型上,得到渲染后的三维模型。
可选的,所述确定所述第一模板图像在所述三维数字空间中对应的第一渲染位置,包括:
通过虚拟相机的当前视角对所述三维数字空间进行图像采集,得到视觉图像;
提取所述视觉图像的图像特征,得到视觉图像特征;
提取所述第一模板图像的图像特征,得到第一模板图像特征;
计算所述视觉图像特征和所述第一模板图像特征的相似度,得到第一相似度值;
若所述第一相似度值大于预设的第一阈值,则将所述三维模型对应在所述虚拟相机中的区域作为所述第一渲染位置。
可选的,所述方法还包括:
若所述第一相似度值小于或等于所述预设的第一阈值,则根据所述第一相似度值调整所述虚拟相机的控制参数,通过如下公式实现:
其中,所述cdist为所述虚拟相机与所述三维模型之间的初始距离,所述celev为所述虚拟相机的初始仰角的度数,所述cazim为所述虚拟相机的初始方位角的度数,所述cdist_new为调整后的所述虚拟相机与所述三维模型之间的距离,所述celev_new为调整后的所述虚拟相机的仰角的度数,所述cazim_new为调整后的所述虚拟相机的方位角的度数,所述为基于相似度值δf生成虚拟相机修正参数的算法模型。
可选的,根据所述第一模板图像和所述第一渲染位置生成第一纹理贴图,并根据所述第一渲染位置将所述第一纹理贴图渲染在所述三维模型上,得到渲染后的三维模型,包括:
根据所述渲染位置和所述第一模板图像生成所述第一纹理贴图,通过如下公式实现:
Pmtl=fmtl(Pnowtem,meshinvision);
其中,所述Pmtl为所述第一纹理贴图,所述meshinvision为所述第一渲染位置,所述Pnowtem为所述第一模板图像,所述fmtl(Pnowtem,meshinvision)为根据所述第一渲染位置和所述第一模板图像生成所述第一纹理贴图的模型;
将所述第一纹理贴图与所述三维模型进行贴合,得到所述渲染后的三维模型。
可选的,所述方法还包括:
对所述渲染后的三维模型进行渲染效果评估,得到评估值;
若所述评估值大于预设的第二阈值,则从所述原景图像数据中,选取一张与所述第一模板图像相似度最高的图像,得到第二模板图像;
确定所述第二模板图像在所述三维数字空间中对应的第二渲染位置;
根据所述第二模板图像和所述第二渲染位置生成第二纹理贴图,并根据所述第二渲染位置将所述第二纹理贴图渲染在所述三维模型上,得到渲染后的三维模型。
可选的,所述将所述三维模型输入到三维数字空间中,包括:
根据所述三维模型的顶点坐标计算所述三维数字空间的坐标原点,通过如下公式实现:
其中,所述N为所述三维模型的顶点数,所述xi为所述三维模型的顶点的x轴分量,所述yi为所述三维模型的顶点的y轴分量,所述zi为所述三维模型的顶点的z轴分量,所述xo为所述坐标原点的x轴分量,所述yo为所述坐标原点的y轴分量,所述zo为所述坐标原点的z轴分量;
根据所述三维模型的顶点坐标和所述坐标原点计算所述三维模型在所述三维数字空间中的边界坐标,通过如下公式实现:
xmin=-(x0-min(xi)),ymin=-(y0-min(yi)),zmin=-(z0-min(zi)),
xmax=max(xi)-x0,ymax=max(yi)-y0,zmax=max(zi)-z0;
其中,所述xmin为所述三维模型在所述三维数字空间中x轴上的最小值,所述ymin为所述三维模型在所述三维数字空间中y轴上的最小值,所述zmin为所述三维模型在所述三维数字空间中在z轴上的最小值,所述xmax为所述三维模型在所述三维数字空间中x轴上的最大值,所述ymax为所述三维模型在所述三维数字空间中y轴上的最大值,所述zmax为所述三维模型在所述三维数字空间中z轴上的最大值。
可选的,在根据所述第一渲染位置将所述第一纹理贴图渲染在所述三维模型上之后,所述方法还包括:
判断所述原景图像数据中是否存在未处理图像,所述未处理图像为所述原景图像数据中除第一模板图像之外的其余图像;
若所述原景图像数据中存在所述未处理图像,则将所述未处理图像包括的多张原景图像分别与所述第一模板图像进行相似度计算,得到第二相似度值;
将所述未处理图像中对应的所述第二相似度值最高的图像作为第三模板图像。
本申请的另一方面提供了一种三维模型的渲染装置,所述装置包括:获取模块、处理模块和渲染模块;
所述获取模块,用于获取三维模型和所述三维模型对应的原景图像数据,所述三维模型为不具有纹理属性的三维白模,所述原景图像数据包括多张原景图像;
所述处理模块,用于将所述三维模型输入到三维数字空间中;
所述处理模块,用于从所述原景图像数据包括的多张图像中选取一张,作为第一模板图像;
所述处理模块,还用于确定所述第一模板图像在所述三维数字空间中对应的第一渲染位置;
所述渲染模块,还用于根据所述第一模板图像和所述第一渲染位置生成第一纹理贴图,并根据所述第一渲染位置将所述第一纹理贴图渲染在所述三维模型上,得到渲染后的三维模型。
可选的,所述装置还包括:图像特征模块;
所述处理模块,还用于通过虚拟相机的当前视角对所述三维数字空间进行图像采集,得到视觉图像;
所述图像特征模块,用于提取所述视觉图像的图像特征,得到视觉图像特征;
所述图像特征模块,还用于提取所述第一模板图像的图像特征,得到第一模板图像特征;
所述处理模块,还用于计算所述视觉图像特征和所述第一模板图像特征的相似度,得到第一相似度值;
所述处理模块,还用于判断所述第一相似度值是否大于预设的第一阈值;
若所述第一相似度值大于所述预设的第一阈值,则所述处理模块,还用于将所述三维模型对应在所述虚拟相机中的区域作为所述第一渲染位置。
可选的,若所述相似度值小于或等于所述预设的第一阈值,则所述处理模块,还用于根据所述相似度值调整所述虚拟相机的控制参数,通过如下公式实现:
其中,所述cdist为所述虚拟相机与所述三维模型之间的初始距离,所述celev为所述虚拟相机的初始仰角的度数,所述cazim为所述虚拟相机的初始方位角的度数,所述cdist_new为调整后的所述虚拟相机与所述三维模型之间的距离,所述celev_new为调整后的所述虚拟相机的仰角的度数,所述cazim_new为调整后的所述虚拟相机的方位角的度数,所述为基于相似度值δf生成虚拟相机修正参数的算法模型。
可选的,所述渲染模块,还用于所述根据所述渲染位置,将所述第一模板图像渲染在所述三维模型上,得到渲染后的三维模型,包括:
根据所述第一渲染位置和所述第一模板图像生成所述第一纹理贴图,通过如下公式实现:
Pmtl=fmtl(Pnowtem,meshinvision);
其中,所述Pmtl为所述第一纹理贴图,所述meshinvision为所述第一渲染位置,所述Pnowtem为所述第一模板图像,所述fmtl(Pnowtem,meshinvision)为根据所述第一渲染位置和所述第一模板图像生成所述第一纹理贴图的模型;
所述渲染模块,还用于将所述第一纹理贴图与所述三维模型进行贴合,得到所述渲染后的三维模型。
可选的,所述渲染模块,还用于对所述渲染后的三维模型进行渲染效果评估,得到评估值;
若所述评估值大于预设的第二阈值,则所述处理模块,还用于从所述原景图像数据中,选取一张与所述第一模板图像相似度最高的图像,得到第二模板图像;
确定所述第二模板图像在所述三维数字空间中对应的第二渲染位置;
根据所述第二模板图像和所述第二渲染位置生成第二纹理贴图,并根据所述第二渲染位置将所述第二纹理贴图渲染在所述三维模型上,得到渲染后的三维模型。
可选的,所述处理模块,还用于根据所述三维模型的顶点坐标计算所述三维数字空间的坐标原点,通过如下公式实现:
其中,所述N为所述三维模型的顶点数,所述xi为所述三维模型的顶点的x轴分量,所述yi为所述三维模型的顶点的y轴分量,所述zi为所述三维模型的顶点的z轴分量,所述xo为所述坐标原点的x轴分量,所述yo为所述坐标原点的y轴分量,所述zo为所述坐标原点的z轴分量;
所述处理模块,还用于根据所述三维模型的顶点坐标和所述坐标原点计算所述三维模型在所述三维数字空间中的边界坐标,通过如下公式实现:
xmin=-(x0-min(xi)),ymin=-(y0-min(yi)),zmin=-(z0-min(zi)),
xmax=max(xi)-x0,ymax=max(yi)-y0,zmax=max(zi)-z0;
其中,所述xmin为所述三维模型在所述三维数字空间中x轴上的最小值,所述ymin为所述三维模型在所述三维数字空间中y轴上的最小值,所述zmin为所述三维模型在所述三维数字空间中在z轴上的最小值,所述xmax为所述三维模型在所述三维数字空间中x轴上的最大值,所述ymax为所述三维模型在所述三维数字空间中y轴上的最大值,所述zmax为所述三维模型在所述三维数字空间中z轴上的最大值。
可选的,所述处理模块,还用于判断所述原景图像数据中是否存在未处理图像,所述未处理图像为所述原景图像数据中除第一模板图像之外的其余图像;
若所述原景图像数据中存在所述未处理图像,则所述处理模块,还用于将所述未处理图像包括的多张原景图像分别与所述第一模板图像进行相似度计算,得到第二相似度值;
所述处理模块,还用于确定所述第三模板图像在所述三维数字空间中对应的第三渲染位置;
所述处理模块,还用于根据所述第三模板图像和所述第三渲染位置生成第三纹理贴图,并根据所述第三渲染位置将所述第三纹理贴图渲染在所述三维模型上,得到渲染后的三维模型。
本申请提供了一种三维模型的渲染方法和装置,该方法包括:获取三维模型和三维模型对应的原景图像数据,三维模型为不具有纹理属性的三维白模,原景图像数据包括多张原景图像;将三维模型输入到三维数字空间中;从原景图像数据中选取第一模板图像;确定第一模板图像在三维数字空间中对应的第一渲染位置;根据第一模板图像和第一渲染位置生成第一纹理贴图,并根据第一渲染位置将第一纹理贴图渲染在三维模型上,得到渲染后的三维模型。本申请根据三维模型对应的原景图像数据生成纹理贴图,将纹理贴图渲染在三维模型上,生成带有纹理属性的三维模型。
附图说明
图1为本申请实施例提供的一种三维模型的渲染方法的流程示意图;
图2为本申请实施例提供的一种三维模型的渲染方法的流程示意图;
图3为本申请实施例提供的一种三维模型的渲染方法的流程示意图;
图4为本申请实施例提供的一种三维模型的渲染装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面结合图1,介绍本申请提供的一种三维模型的渲染方法,可以通过步骤S101-S105实现。
本申请实施例中,将未被渲染的三维模型统称为三维(three-dimensional,3D)白模。
S101:获取三维模型和原景图像数据。
具体的,获取3D白模和对应的原景图像数据,3D白模为不具有纹理属性的三维模型,该原景图像数据包括多张原景图像。
S102:将三维模型输入到三维数字空间中。
具体的,将该3D白模输入到3D数字空间中,计算根据3D白模的中心坐标,将该中心坐标作为3D数字空间的坐标原点,通过如下公式实现:
其中,N为三维模型的顶点数,xi为三维模型的顶点的x轴分量,yi为三维模型的顶点的y轴分量,zi为三维模型的顶点的z轴分量,xo为坐标原点的x轴分量,yo为坐标原点的y轴分量,zo为坐标原点的z轴分量。
根据3D白模的各个顶点坐标和3D数字空间的坐标原点计算3D白模的边界坐标,通过如下公式实现:
xmin=-(x0-min(xi)),ymin=-(y0-min(yi)),zmin=-(z0-min(zi)),
xmax=max(xi)-x0,ymax=max(yi)-y0,zmax=max(zi)-z0。
其中,xmin为三维模型在三维数字空间中x轴上的最小值,ymin为三维模型在三维数字空间中y轴上的最小值,zmin为三维模型在三维数字空间中在z轴上的最小值,xmax为三维模型在三维数字空间中x轴上的最大值,ymax为三维模型在三维数字空间中y轴上的最大值,zmax为三维模型在三维数字空间中z轴上的最大值。
具体的,初始化3D数字空间中的虚拟相机,通过如下公式实现:
cdist=z+1,celev=0,cazim=0。
其中,cdist为虚拟相机与三维模型之间的初始距离,celev为虚拟相机的初始仰角的度数,cazim为虚拟相机的初始方位角的度数,z+1表示z坐标等于1的位置。
S103:从原景图像数据中选取第一模板图像。
具体的,从原景图像数据包括的多张图像中随机选取一张作为第一模板图像。
S104:确定第一模板图像在三维数字空间中对应的第一渲染位置。
具体的,在选取完第一模板图像后,虚拟相机通过虚拟相机的当前视角对三维数字空间进行图像采集,得到视觉图像。
提取视觉图像的图像特征,得到视觉图像特征。
提取第一模板图像的图像特征,得到第一模板图像特征。
计算视觉图像特征和第一模板图像特征的相似度,得到第一相似度值。
若第一相似度值大于预设的第一阈值,则将三维模型对应在虚拟相机中的区域作为第一渲染位置。
S105:根据第一模板图像和第一渲染位置生成第一纹理贴图,并根据第一渲染位置将第一纹理贴图渲染在三维模型上,得到渲染后的三维模型。
具体的,根据第一渲染位置和第一模板图像生成纹理贴图,通过如下公式实现:
Pmtl=fmtl(Pnowtem,meshinvision)。
其中,Pmtl为第一纹理贴图,meshinvision为第一渲染位置,Pnowtem为第一模板图像,fmtl(Pnowtem,meshinvision)为根据第一渲染位置和第一模板图像生成第一纹理贴图的模型。
将第一纹理贴图贴合在三维模型上的渲染位置,得到渲染后的三维模型。
通过本申请实施例提供的方法,根据三维模型对应的原景图像数据生成纹理贴图,将纹理贴图渲染在三维模型上,生成带有纹理属性的三维模型。
下面结合图2,介绍本申请提供的一种三维模型的渲染方法,可以通过步骤S21-S25实现。
本申请实施例中,将未被渲染的三维模型统称为3D白模。本申请实施例的公式中模板图像以第一模板图像为例,实际应用中,如Pnowtem用于表示当前的模板图像。并结合图3对图2所示实施例的步骤进行具体介绍。
S21:输入3D白模和原景图像数据。
具体的,该3D白模是根据现实物理空间的3D空间结构构建的白模,也称为3D数字空间白模。原景图像数据为现实空间中该3D模型对应的实景图片,也称为原景图像。
S22:对3D数字空间和虚拟相机初始化。
该步骤具体包含如图3所示的S221-S223。
具体的,对3D数字空间的初始化包括计算3D白模的中心坐标,并将该中心坐标作为3D数字空间的坐标原点、计算3D白模的边界坐标以及初始化虚拟相机。
S221:根据3D白模的坐标值进行坐标均值计算、坐标最值计算和坐标分布计算。
具体的,根据3D白模的顶点坐标计算3D白模的中心坐标,通过如下公式实现:
其中,N为三维模型的顶点数,xi为三维模型的顶点的x轴分量,yi为三维模型的顶点的y轴分量,zi为三维模型的顶点的z轴分量,xo为坐标原点的x轴分量,yo为坐标原点的y轴分量,zo为坐标原点的z轴分量。
计算3D白模的边界坐标,通过如下公式实现:
xmin=-(x0-min(xi)),ymin=-(y0-min(yi)),zmin=-(z0-min(zi)),
xmax=max(xi)-x0,ymax=max(yi)-y0,zmax=max(zi)-z0。
其中,xmin为三维模型在三维数字空间中x轴上的最小值,ymin为三维模型在三维数字空间中y轴上的最小值,zmin为三维模型在三维数字空间中在z轴上的最小值,xmax为三维模型在三维数字空间中x轴上的最大值,ymax为三维模型在三维数字空间中y轴上的最大值,zmax为三维模型在三维数字空间中z轴上的最大值。
S222:模型原点设置。
具体的,将3D白模的中心坐标作为3D数字空间的坐标原点。
S223:相机初始化。
具体的,初始化3D数字空间中的虚拟相机,通过如下公式实现:
cdist=z+1,celev=0,cazim=0。
其中,cdist为虚拟相机与三维模型之间的初始距离,celev为虚拟相机的初始仰角的度数,cazim为虚拟相机的初始方位角的度数,z+1表示z坐标等于1的位置。
S23:选取模板图像。
该步骤包含如图3所示的步骤S231-S237。
具体的,选取模板图像包括首次选取模板图像和选取新的模板图像两种情况。
S231:通过图像模板选择器读取原景图像数据。
具体的,图像模板选择器读取原景图像数据Psrc中包含的多张原景图像。
S232:读取图像。
具体的,得到原景图像数据Psrc中包含的多张原景图像。
S233:判断是否存在未处理图像。
具体的,判断原景图像数据中Psrc中包含的多张原景图像是否存在未处理图像,未处理图像为原景图像数据中除第一模板图像Ptem之外的其余图像。当首次选取模板图像时,进入步骤S237,当需要选取新的模板图像时,进入步骤S234。
S234:与模板图像计算图片相似度。
具体的,若原景图像数据中存在未处理图像,则将未处理图像包括的多张原景图像分别与第一模板图像Ptem进行相似度计算,得到第二相似度值。
具体的,相似度计算采用图像近邻算法进行计算。该算法包括:分别计算未处理图像Premsrc-j的方向梯度直方图Hogsrc-j与灰度直方图Hissrc-j,计算Ppretem的方向梯度直方图Hogpretem与灰度直方图Hispretem,分别计算Hogsrc-j与Hogpretem和Hissrc-j与Hispretem的相似度Simj,取未处理图像中相似度Simj最高的图像作为新的模板图像。其中,j=1~n,n为未处理图像的数量。
S235:将相似度高的图像作为模板图像。
将对应的第二相似度值最高的图像作为新的模板图像,即第二模板图像,进入步骤S241。
S236:结束流程。
具体的,当原景图像数据中不存在未处理图像时,结束流程。
S237:随机选取一张模板图像。
具体的,图像模板选择器从原景图像数据Psrc中读取的图像中随机选取一张图像作为模板图像Ptem。
S24:确定3D白模的渲染区域。
该步骤包含如图3所示的步骤S241-S249。
S241:相机拍照。
具体的,在选取完模板图像之后,虚拟相机对3D数字空间中的3D白模进行图像采集,得到虚拟相机当前视角下的3D数字空间视觉效果图像Pvir。
S242:图像拼接。
具体的,将视觉效果图像Pvir和模板图像Ptem进行拼接,输入到图像特征采集模块。
S243:图像特征提取。
具体的,通过图像特征采集模块获取视觉效果图像Pvir对应的图像特征fvir和模板图像Pnowtem对应的图像特征fnowtem。
具体的,图像特征的提取通过如下公式实现:
fnowtem=fextract(Pnowtem),fvir=fextract(Pvir)。
其中,fextact(P)为图像特征提取模型,Pvir为视觉效果图像,Pnowtem为模板图像。
S244:图像特征匹配计算。
具体的,计算图像特征fvir和图像特征fnowtem的相似度Simf。
S245:判断匹配结果。
具体的,当相似度Simf大于阈值Thrf时,将将3D白模对应在虚拟相机光锥中的区域确定为渲染位置。进入步骤S251。
具体的,当相似度Simf小于或等于阈值Thrf时,标志虚拟相机在3D数字空间中所拍摄的3D白模的图像与模板图像Pnowtem不相同,则进入步骤S246进行虚拟相机调整。
S246:误差计算。
具体的,将相似度Simf作为误差δf。
S247:相机控制参数生成。
具体的,根据误差δf调整虚拟相机的控制参数,调整的控制参数包括:调整后的虚拟相机与三维模型之间的距离、仰角的角度、方位角的度数,通过如下公式实现:
其中,cdist为虚拟相机与三维模型之间的初始距离,celev为虚拟相机的初始仰角的度数,cazim为虚拟相机的初始方位角的度数,cdist_new为调整后的虚拟相机与三维模型之间的距离,celev_new为调整后的虚拟相机的仰角的度数,cazim_new为调整后的虚拟相机的方位角的度数,为基于相似度值δf生成虚拟相机修正参数的算法模型。
S248:相机驱动。
具体的,虚拟相机根据调整后的控制参数cdist_new、celev_new和cazim_new进行驱动。
S249:相机视角调整。
具体的,虚拟相机根据调整后的控制参数进行驱动后,实现虚拟相机的视角调整,进入步骤S241。
结合步骤S246-S249,实现基于数字图像信息的3D数字空间中虚拟相机的视角自动调整,能够使得虚拟相机根据模板图像自动调整位置以及视角,让虚拟相机得到的视觉图像中包括的几何特征与模板图像中的几何特征相同。
S25:在渲染位置渲染纹理图。
具体的,该步骤包括如图3所示的步骤S251-S254。
S251:纹理贴图生成。
具体的,通过一种根据渲染位置和第一模板图像生成纹理贴图的模型来根据渲染位置以及模板图像生成纹理贴图。通过如下公式实现:
Pmtl=fmtl(Pnowtem,meshinvision)。
其中,Pmtl为纹理贴图,meshinvision为渲染位置,Pnowtem为第一模板图像,fmtl(Pnowtem,meshinvision)为根据渲染位置和第一模板图像生成纹理贴图的模型。
S252:贴图。
具体的,将生成的纹理贴图Pmtl渲染在3D白模meshinvision上,生成带有纹理属性的3D数字空间模型meshall,实现对3D模型的渲染。
S253:贴图效果评估计算。
具体的,对生成的3D数字空间模型meshall进行渲染效果评估,得到评估值。
S254:判断评估值是否达到标准。
具体的,若评估值符合标准,则进入步骤S231中,选取新的模板图像,如第三模板图像等,循环执行上述S231-S254的步骤,直至结束流程。
若评估值不符合标准,则调整纹理贴图的参数,进入步骤S251中重新生成纹理贴图。
可以理解的是,调整纹理贴图的参数的方法包括但不限于自适应矩估计(Adaptive Moment Estimation,Adam)优化器,反向梯度传播。
通过上述步骤S251-S252,能够实现将采集于现实物理空间中的图像转换为与该现实物理空间相对应的3D白模中对应位置的纹理贴图。
通过本申请实施例提供的方法,能够实现利用现实物理空间中的原景图像数据以及对应的现实物理空间中对应的3D数字白模,自动将该3D白模渲染为带有纹理属性的3D数字空间模型。
下面结合图4,介绍本申请实施提供的一种三维模型的渲染装置,装置包括:获取模块401、处理模块402和渲染模块403。
获取模块401,用于获取三维模型和三维模型对应的原景图像数据,原景图像数据包括多张原景图像。
处理模块402,用于将三维模型输入到三维数字空间中。
处理模块402,用于从原景图像数据包括的多张图像中选取一张,作为第一模板图像。
处理模块402,还用于确定第一模板图像在三维数字空间中对应的第一渲染位置。
渲染模块403,还用于根据第一模板图像和第一渲染位置生成第一纹理贴图,并根据第一渲染位置将第一纹理贴图渲染在三维模型上,得到渲染后的三维模型。
具体的,该装置还包括:图像特征模块404。
处理模块402,还用于通过虚拟相机的当前视角对三维数字空间进行图像采集,得到视觉图像。
图像特征模块404,用于提取视觉图像的图像特征,得到视觉图像特征。
图像特征模块404,还用于提取第一模板图像的图像特征,得到第一模板图像特征。
处理模块402,还用于计算视觉图像特征和第一模板图像特征的相似度,得到第一相似度值。
处理模块402,还用于判断第一相似度值是否大于预设的第一阈值。
若第一相似度值大于预设的第一阈值,则处理模块402,还用于将三维模型对应在虚拟相机中的区域作为第一渲染位置。
具体的,若相似度值小于或等于预设的第一阈值,则处理模块402,还用于根据相似度值调整虚拟相机的控制参数,通过如下公式实现:
其中,cdist为虚拟相机与三维模型之间的初始距离,celev为虚拟相机的初始仰角的度数,cazim为虚拟相机的初始方位角的度数,cdist_new为调整后的虚拟相机与三维模型之间的距离,celev_new为调整后的虚拟相机的仰角的度数,cazim_new为调整后的虚拟相机的方位角的度数,为基于相似度值δf生成虚拟相机修正参数的算法模型。
具体的,渲染模块403,还用于根据渲染位置,将第一模板图像渲染在三维模型上,得到渲染后的三维模型,包括:
根据第一渲染位置和第一模板图像生成第一纹理贴图,通过如下公式实现:
Pmtl=fmtl(Pnowtem,meshinvision)。
其中,Pmtl为第一纹理贴图,meshinvision为第一渲染位置,Pnowtem为第一模板图像,fmtl(Pnowtem,meshinvision)为根据第一渲染位置和第一模板图像生成第一纹理贴图的模型。
渲染模块403,还用于将第一纹理贴图与三维模型进行贴合,得到渲染后的三维模型。
具体的,渲染模块403,还用于对渲染后的三维模型进行渲染效果评估,得到评估值。
若评估值大于预设的第二阈值,则处理模块402,还用于从原景图像数据中,选取一张与第一模板图像相似度最高的图像,得到第二模板图像。
确定第二模板图像在三维数字空间中对应的第二渲染位置。
根据第二模板图像和第二渲染位置生成第二纹理贴图,并根据第二渲染位置将第二纹理贴图渲染在三维模型上,得到渲染后的三维模型。
具体的,处理模块402,还用于根据三维模型的顶点坐标计算三维数字空间的坐标原点,通过如下公式实现:
其中,N为三维模型的顶点数,xi为三维模型的顶点的x轴分量,yi为三维模型的顶点的y轴分量,zi为三维模型的顶点的z轴分量,xo为坐标原点的x轴分量,yo为坐标原点的y轴分量,zo为坐标原点的z轴分量。
处理模块402,还用于根据三维模型的顶点坐标和坐标原点计算三维模型在三维数字空间中的边界坐标,通过如下公式实现:
xmin=-(x0-min(xi)),ymin=-(y0-min(yi)),zmin=-(z0-min(zi)),
xmax=max(xi)-x0,ymax=max(yi)-y0,zmax=max(zi)-z0。
其中,xmin为三维模型在三维数字空间中x轴上的最小值,ymin为三维模型在三维数字空间中y轴上的最小值,zmin为三维模型在三维数字空间中在z轴上的最小值,xmax为三维模型在三维数字空间中x轴上的最大值,ymax为三维模型在三维数字空间中y轴上的最大值,zmax为三维模型在三维数字空间中z轴上的最大值。
具体的,处理模块402,还用于判断原景图像数据中是否存在未处理图像,未处理图像为原景图像数据中除第一模板图像之外的其余图像。
若原景图像数据中存在未处理图像,则处理模块402,还用于将未处理图像包括的多张原景图像分别与第一模板图像进行相似度计算,得到第二相似度值。
处理模块402,还用于确定第三模板图像在三维数字空间中对应的第三渲染位置。
处理模块402,还用于根据第三模板图像和第三渲染位置生成第三纹理贴图,并根据第三渲染位置将第三纹理贴图渲染在三维模型上,得到渲染后的三维模型。
通过本申请实施例提供的装置,根据三维模型对应的原景图像数据生成纹理贴图,将纹理贴图渲染在三维模型上,生成带有纹理属性的三维模型。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑业务划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各业务单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件业务单元的形式实现。
集成的单元如果以软件业务单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的业务可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些业务存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (8)
1.一种三维模型的渲染方法,其特征在于,所述方法包括:
获取三维模型和所述三维模型对应的原景图像数据,所述三维模型为不具有纹理属性的三维白模,所述原景图像数据包括多张原景图像;
将所述三维模型输入到三维数字空间中;
从所述原景图像数据中选取第一模板图像;
确定所述第一模板图像在所述三维数字空间中对应的第一渲染位置;
根据所述第一模板图像和所述第一渲染位置生成第一纹理贴图,并根据所述第一渲染位置将所述第一纹理贴图渲染在所述三维模型上,得到渲染后的三维模型;
其中,所述确定所述第一模板图像在所述三维数字空间中对应的第一渲染位置,包括:
通过虚拟相机的当前视角对所述三维数字空间进行图像采集,得到视觉图像;
提取所述视觉图像的图像特征,得到视觉图像特征;
提取所述第一模板图像的图像特征,得到第一模板图像特征;
计算所述视觉图像特征和所述第一模板图像特征的相似度,得到第一相似度值;
若所述第一相似度值大于预设的第一阈值,则将所述三维模型对应在所述虚拟相机中的区域作为所述第一渲染位置。
3.根据权利要求1所述的方法,其特征在于,根据所述第一模板图像和所述第一渲染位置生成第一纹理贴图,并根据所述第一渲染位置将所述第一纹理贴图渲染在所述三维模型上,得到渲染后的三维模型,包括:
根据所述第一渲染位置和所述第一模板图像生成所述第一纹理贴图,通过如下公式实现:
Pmtl=fmtl(Pnowtem,meshinvision);
其中,所述Pmtl为所述第一纹理贴图,所述meshinvision为所述第一渲染位置,所述Pnowtem为所述第一模板图像,所述fmtl(Pnowtem,meshinvision)为根据所述第一渲染位置和所述第一模板图像生成所述第一纹理贴图的模型;
将所述第一纹理贴图与所述三维模型进行贴合,得到所述渲染后的三维模型。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
对所述渲染后的三维模型进行渲染效果评估,得到评估值;
若所述评估值大于预设的第二阈值,则从所述原景图像数据中,选取与所述第一模板图像相似度最高的图像,得到第二模板图像;
确定所述第二模板图像在所述三维数字空间中对应的第二渲染位置;
根据所述第二模板图像和所述第二渲染位置生成第二纹理贴图,并根据所述第二渲染位置将所述第二纹理贴图渲染在所述三维模型上,得到渲染后的三维模型。
5.根据权利要求1所述的方法,其特征在于,所述将所述三维模型输入到三维数字空间中,包括:
根据所述三维模型的顶点坐标计算所述三维数字空间的坐标原点,通过如下公式实现:
其中,所述N为所述三维模型的顶点数,所述xi为所述三维模型的顶点的x轴分量,所述yi为所述三维模型的顶点的y轴分量,所述zi为所述三维模型的顶点的z轴分量,所述xo为所述坐标原点的x轴分量,所述yo为所述坐标原点的y轴分量,所述zo为所述坐标原点的z轴分量;
根据所述三维模型的顶点坐标和所述坐标原点计算所述三维模型在所述三维数字空间中的边界坐标,通过如下公式实现:
xmin=-(x0-min(xi)),ymin=-(y0-min(yi)),zmin=-(z0-min(zi)),
xmax=max(xi)-x0,ymax=max(yi)-y0,zmax=max(zi)-z0;
其中,所述xmin为所述三维模型在所述三维数字空间中x轴上的最小值,所述ymin为所述三维模型在所述三维数字空间中y轴上的最小值,所述zmin为所述三维模型在所述三维数字空间中在z轴上的最小值,所述xmax为所述三维模型在所述三维数字空间中x轴上的最大值,所述ymax为所述三维模型在所述三维数字空间中y轴上的最大值,所述zmax为所述三维模型在所述三维数字空间中z轴上的最大值。
6.根据权利要求1所述的方法,其特征在于,在根据所述第一渲染位置将所述第一纹理贴图渲染在所述三维模型上之后,所述方法还包括:
判断所述原景图像数据中是否存在未处理图像,所述未处理图像为所述原景图像数据中除第一模板图像之外的其余图像;
若所述原景图像数据中存在所述未处理图像,则将所述未处理图像包括的多张原景图像分别与所述第一模板图像进行相似度计算,得到第二相似度值;
将所述未处理图像中对应的所述第二相似度值最高的图像作为第三模板图像;
确定所述第三模板图像在所述三维数字空间中对应的第三渲染位置;
根据所述第三模板图像和所述第三渲染位置生成第三纹理贴图,并根据所述第三渲染位置将所述第三纹理贴图渲染在所述三维模型上,得到渲染后的三维模型。
7.一种三维模型的渲染装置,其特征在于,所述装置包括:获取模块、处理模块和渲染模块;
所述获取模块,用于获取三维模型和所述三维模型对应的原景图像数据,所述三维模型为不具有纹理属性的三维白模,所述原景图像数据包括多张原景图像;
所述处理模块,用于将所述三维模型输入到三维数字空间中;
所述处理模块,用于从所述原景图像数据包括的多张图像中选取一张,作为第一模板图像;
所述处理模块,还用于确定所述第一模板图像在所述三维数字空间中对应的第一渲染位置;
所述渲染模块,用于根据所述第一模板图像和所述第一渲染位置生成第一纹理贴图,并根据所述第一渲染位置将所述第一纹理贴图渲染在所述三维模型上,得到渲染后的三维模型;
其中,所述装置还包括:图像特征模块;
所述处理模块,还用于通过虚拟相机的当前视角对所述三维数字空间进行图像采集,得到视觉图像;
所述图像特征模块,用于提取所述视觉图像的图像特征,得到视觉图像特征;
所述图像特征模块,还用于提取所述第一模板图像的图像特征,得到第一模板图像特征;
所述处理模块,还用于计算所述视觉图像特征和所述第一模板图像特征的相似度,得到第一相似度值;
所述处理模块,还用于判断所述第一相似度值是否大于预设的第一阈值;
若所述第一相似度值大于所述预设的第一阈值,则所述处理模块,还用于将所述三维模型对应在所述虚拟相机中的区域作为所述第一渲染位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211591845.3A CN115937392B (zh) | 2022-12-12 | 2022-12-12 | 一种三维模型的渲染方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211591845.3A CN115937392B (zh) | 2022-12-12 | 2022-12-12 | 一种三维模型的渲染方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115937392A CN115937392A (zh) | 2023-04-07 |
CN115937392B true CN115937392B (zh) | 2023-07-07 |
Family
ID=86555181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211591845.3A Active CN115937392B (zh) | 2022-12-12 | 2022-12-12 | 一种三维模型的渲染方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115937392B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117218266A (zh) * | 2023-10-26 | 2023-12-12 | 神力视界(深圳)文化科技有限公司 | 3d白模的纹理贴图生成方法、装置、设备及介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113689578A (zh) * | 2020-05-15 | 2021-11-23 | 杭州海康威视数字技术股份有限公司 | 一种人体数据集生成方法及装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10127722B2 (en) * | 2015-06-30 | 2018-11-13 | Matterport, Inc. | Mobile capture visualization incorporating three-dimensional and two-dimensional imagery |
CN109712223B (zh) * | 2017-10-26 | 2020-11-03 | 北京大学 | 一种基于纹理合成的三维模型自动上色方法 |
CN108564646B (zh) * | 2018-03-28 | 2021-02-26 | 腾讯科技(深圳)有限公司 | 对象的渲染方法和装置、存储介质、电子装置 |
CN110163943B (zh) * | 2018-11-21 | 2024-09-10 | 深圳市腾讯信息技术有限公司 | 图像的渲染方法和装置、存储介质、电子装置 |
CN111243071A (zh) * | 2020-01-08 | 2020-06-05 | 叠境数字科技(上海)有限公司 | 实时三维人体重建的纹理渲染方法、系统、芯片、设备和介质 |
CN112884875B (zh) * | 2021-03-19 | 2024-09-27 | 腾讯科技(深圳)有限公司 | 图像渲染方法、装置、计算机设备和存储介质 |
CN113112581A (zh) * | 2021-05-13 | 2021-07-13 | 广东三维家信息科技有限公司 | 三维模型的纹理贴图生成方法、装置、设备及存储介质 |
KR102441490B1 (ko) * | 2021-11-25 | 2022-09-07 | 주식회사 스마트엠투엠 | 적대적 공격 패턴 생성 방법 및 시스템 |
CN114998503B (zh) * | 2022-06-21 | 2024-06-28 | 重庆市勘测院((重庆市地图编制中心)) | 一种基于实景三维的白模自动纹理构建方法 |
CN114792359B (zh) * | 2022-06-24 | 2022-10-11 | 北京百度网讯科技有限公司 | 渲染网络训练和虚拟对象渲染方法、装置、设备及介质 |
CN115439594A (zh) * | 2022-09-20 | 2022-12-06 | 网易(杭州)网络有限公司 | 虚拟模型的滤光镜效果渲染方法、装置及存储介质 |
-
2022
- 2022-12-12 CN CN202211591845.3A patent/CN115937392B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113689578A (zh) * | 2020-05-15 | 2021-11-23 | 杭州海康威视数字技术股份有限公司 | 一种人体数据集生成方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115937392A (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8040355B2 (en) | Three-dimensional location-based texture transfers | |
CN109961506B (zh) | 一种融合改进Census图的局部场景三维重建方法 | |
CN106709871B (zh) | 利用活动掩码的图像合成的方法和系统 | |
GB2581374A (en) | 3D Face reconstruction system and method | |
US8217931B2 (en) | System and method for processing video images | |
US9098930B2 (en) | Stereo-aware image editing | |
US8363049B2 (en) | 3D image processing method and apparatus for enabling efficient retrieval of neighboring point | |
US8792708B2 (en) | Method and apparatus for rendering a three-dimensional object from a two-dimensional image | |
CN108198229B (zh) | 冗余像素减轻 | |
CN115937392B (zh) | 一种三维模型的渲染方法和装置 | |
WO2023093824A1 (zh) | 点云质量评价方法、设备和存储介质 | |
US8854360B2 (en) | Water surface generation | |
EP3736776B1 (en) | Apparatus, system and method for the generation of polygonal meshes | |
CN111382618B (zh) | 一种人脸图像的光照检测方法、装置、设备和存储介质 | |
CN111494944A (zh) | 一种地形纹理加载方法及相关装置 | |
CN113327315A (zh) | 多层次细节模型生成方法和装置 | |
JP6973412B2 (ja) | 情報処理装置および方法 | |
JP2000348213A (ja) | 三次元画像生成装置、三次元画像生成表示装置、及びその方法並びに記録媒体 | |
CN114283266A (zh) | 一种三维模型调整方法、装置、存储介质及设备 | |
CN115953541B (zh) | 一种四叉树lod地形生成方法、装置、设备及存储介质 | |
CN116402934A (zh) | 一种面向三维重建的自动纹理贴图方法、终端及存储介质 | |
CN116958377A (zh) | 三维模型纹理映射方法、装置和计算机设备 | |
CN114943711A (zh) | 基于LiDAR点云和影像的建筑物提取方法和系统 | |
KR20220085369A (ko) | 의미론적 객체 매칭을 통한 파노라마 텍스처 매핑 방법 및 시스템 | |
JP4320577B2 (ja) | 3次元モデルの生成方法および装置並びにコンピュータプログラム |
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 |