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

多层次细节模型生成方法和装置

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


多层次细节模型生成方法和装置

技术领域

本发明涉及三维重建技术领域,具体是指多层次细节模型生成方法和装置。

背景技术

现有三维重建的通用流程一般包括点云生成、稀疏重建、稠密重建、网格生成、网格优化、网格简化和纹理生成,整个流程以采集得到的原始影像为输入,输出包含纹理的网格模型。其中,多层次细节技术是根据目标模型的节点在显示环境中所处的位置和重要度,决定目标三维模型渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算的一种三维重建技术。

在多层次细节模型生成方面,目前网格简化与纹理生成相对独立,先通过得到不同简化倍数的模型,针对每个简化模型分别进行一次纹理生成,得到一份纹理文件。最终,多层次细节模型的每个层级都将包含一份网格模型和一份纹理文件,造成现有多层次细节模型生成方法存在生成速度慢、存储资源消耗大、模型精度低的问题。

发明内容

基于以上技术问题,本发明提供了一种多层次细节模型生成方法和装置,解决了现有多层次细节模型生成速度慢、存储资源消耗大、模型精度低的问题。

为解决以上技术问题,本发明采用的技术方案如下:

多层次细节模型生成方法,包括:获取目标的初始影像集合和初始三维网格模型;基于初始影像集合生成最佳纹理块集合;将最佳纹理块集合中的纹理块映射到初始三维网格模型上生成包含纹理的初始三维模型;对初始三维模型进行简化获得包含纹理的简化三维模型;基于简化三维模型生成多层次细节模型。

进一步的,获取目标的初始影像集合之后,还包括:通过影像优化算法对初始纹理影像集合进行优化处理,影像优化算法包括锐化算法和限制对比度的自适应直方图均衡化算法。

进一步的,基于初始影像集合生成最佳纹理块集合,包括:基于初始影像集合生成初始纹理块集合,初始纹理块集合由初始三维网格模型各个三角面片对应的面片纹理块集合组成;基于面片纹理块集合选取最佳纹理块;基于最佳纹理块生成最佳纹理块集合。

进一步的,基于初始影像集合生成初始纹理块集合之后,还包括:通过影像筛选算法对初始纹理块集合进行筛选处理,影像筛选算法包括均值漂移算法。

进一步的,基于面片纹理块集合选取最佳纹理块包括:

基于平面检测算法对初始三维网格模型的三角面片进行平面划分;

对于位于同一平面的三角面片,选取面片纹理块集合中属于同一初始影像的面片纹理块作为三角面片的初选纹理块集合;

基于马尔科夫随机场设置能量函数:

其中,E(V)为能量函数,E

求解所述能量函数获得最优值,并选取E(V)为最优值时的初选纹理块V

进一步的,基于最佳纹理块生成最佳纹理块集合之后,还包括:基于光照信息调整算法对最佳纹理块集合的光照信息进行调整。

进一步的,对初始三维模型进行简化获得包含纹理的简化三维模型包括:获取初始三维模型中各顶点的初始空间坐标和初始纹理坐标;通过二次误差度量的边折叠简化算法对初始空间坐标进行简化获取简化后各顶点的简化空间坐标;基于简化空间坐标获取简化三维网格模型;通过初始纹理坐标获取简化后各顶点的简化纹理坐标;基于简化纹理坐标将最佳纹理块集合中的纹理块映射到简化三维网格模型上生成包含纹理的简化三维模型;

其中,边折叠简化算法的边折叠简化代价的获取方法为:获取初始的边折叠简化代价;获取初始三维网格模型其三角面片的结构特征代价、纹理影响因子和纹理误差代价;基于结构特征代价、纹理影响因子和纹理误差代价对初始的边折叠简化代价进行更新得到边折叠简化代价;

其中,通过初始纹理坐标获取简化纹理坐标的具体公式为:

其中,P

进一步的,获取结构特征代价的方法包括:基于平面检测算法确定初始三维网格模型的三角面片的结构特征;基于结构特征对三角面片的结构特征代价进行赋值。

进一步的,平面检测算法包括:基于三角面片的平面性选取种子面集合;基于种子面集合选取当前种子面;基于区域生长算法以当前种子面为起点进行区域生长,将与当前种子面所成角度小于阈值的三角面片聚类到同一平面;其中,在区域生长过程中,同时提取访问的三角面片的结构特征;当前种子面区域生长过程完成后,选取种子面集合中未访问的下一种子面重复区域生长过程,直到所有三角面片都访问完毕。

为解决上述技术问题,本发明还公开了一种多层次细节模型生成装置,包括

数据获取模块,数据获取模块用于获取目标的初始影像集合和初始三维网格模型;

纹理生成模块,纹理生成模块用于基于初始影像集合生成最佳纹理块集合;

三维模型生成模块,三维模型生成模块用于将最佳纹理块集合中的纹理块映射到初始三维网格模型上生成包含纹理的初始三维模型;

模型简化模块,模型简化模块用于对初始三维模型进行简化获得包含纹理的简化三维模型;

多层次细节模型生成模块,多层次细节模型生成模块用于基于简化三维模型生成多层次细节模型。

为解决上述技术问题,本发明还公开了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,处理器执行计算机程序时实现上述多层次细节模型生成方法的步骤。

为解决上述技术问题,本发明还公开了一种计算机可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述多层次细节模型生成方法的步骤。

与现有技术相比,本发明的有益效果是:

本发明通过以三维网格模型为输入生成带纹理的多层次细节模型,解决了网格简化过程中局部重要结构损失过多和纹理拉伸的问题,提升了纹理质量,实现纹理复用。

附图说明

本申请将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述,其中:

图1为多层次细节模型生成方法流程示意图。

图2为基于初始影像集合生成纹理块集合流程示意图。

图3为对初始三维模型进行简化获得包含纹理的简化三维模型流程示意图。

图4为网格简化算法效果比对示意图。

图5为分层网格简化算法效果对比示意图。

图6为一环邻域结构示意图。

图7为网格碟形结构示意图。

图8为平面检测算法流程示意图。

图9平面检测算法对三维网格模型聚类标记示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

参阅图1,在本实施方式中,多层次细节模型生成方法,包括:

S101,获取目标的初始影像集合和初始三维网格模型;

其中,对于目标的初始影像集合,一般是通过图像采集设备获取,在三维重建技术领域,由于需要采集目标各个角度的影像,一般会设置多台图像采集设备;

其中,对于初始三维网格模型,在现有三维重建技术领域中,一般是通过目标点云生成、稀疏重建、稠密重建、网格生成、网格优化等基本处理步骤获得。

优选的,获取目标的初始影像集合之后,还包括:通过影像优化算法对初始纹理影像集合进行优化处理,影像优化算法包括锐化算法和限制对比度的自适应直方图均衡化算法。

其中,锐化算法用于补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰。

其中,限制对比度的自适应直方图均衡化算法用于增强初始纹理影像的对比度的同时可以抑制噪声。

由此,基于上述影像优化方法对初始影响进行预处理,增强初始影像质量,提高纹理影像的清晰度,缓解因拍摄场景问题可能导致的影像欠曝过曝现象。

S102,基于初始影像集合生成最佳纹理块集合;

具体的,基于反投影将初始三维网格模型反投影到初始影像上获得多个纹理区域,以矩形包围盒的方式生成纹理块;

具体的,对于纹理块集合的具体表现形式,一般是生成相应格式的纹理文件;

其中,将纹理块集合转化为纹理文件时,可以将生成的纹理块重新排布在纹理文件中,使无效空间尽可能少,降低纹理文件消耗的存储空间。具体的,以先大后小、从上至下的原则将多个纹理块存入纹理文件中,且保证纹理的分辨率与原始影像保持一致,控制其消耗的存储空间极可能小。

同时,为避免单张纹理文件过大,影响渲染效率,还可将纹理块分布在多张纹理文件中进行排布。

S103,将最佳纹理块集合中的纹理块映射到初始三维网格模型上生成包含纹理的初始三维模型;

其中,在现有技术中,将纹理块应用在三维网格模型之上一般有成熟的软件和方法,比如MeshLab,其可以读入三维网格模型及其纹理文件,这样对于技术人员其需要完成的仅是将数据按文件格式写入即可。

S104,对初始三维模型进行简化获得包含纹理的简化三维模型;

S105,基于简化三维模型生成多层次细节模型。

具体的,由于多层次细节模型中会保存有不同层次的简化模型,那么为了生成多层次细节模型,通常便是对简化三维模型再次简化,通过多次重复分层简化操作,便可得的不同层次的简化模型。

在本实施例中,由于多层次细节模型中会保存有不同层次的简化模型,现有多层次细节模型生成方法采取的是在每个层次的简化模型对应一份独立的纹理文件,这样便会导致下列问题:

其一,每个层次的简化模型都需要生成一份新的纹理,导致运行速度较慢;

其二,每个层次的简化模型都需要单独保存一份纹理文件,导致消耗大量存储资源;

其三,网格模型的不同局部使用不同简化层次的模型显示,对应不同的纹理文件,纹理块边界区域在渲染过程中会出现明显的接缝,导致模型精度低。

本实施例中通过在初始三维模型的基础上进行一次纹理生成,后续简化过程中,便直接对包含纹理的初始三维模型进行简化,后续简化模型便不再进行纹理生成,由此解决了上述技术问题。

参阅图2,在一些实施例中,基于初始影像集合生成最佳纹理块集合,包括:

S201,基于初始影像集合生成初始纹理块集合,初始纹理块集合由初始三维网格模型各个三角面片对应的面片纹理块集合组成;

其中,初始影像指的是采集(比如相机拍摄或者航拍等)得到的照片,一组数据一般有几十到几百张甚至更多初始影像,取决于实际数据量。由此,当利用初始影像集合生成初始纹理影像集合时,对于三维网格模型的每个三角面片,可能存在多个初始影像观测到它,即每个三角面片可能被多张照片拍到。这样,每个三角面片,便可能存在多个纹理影像。

优选的,基于初始影像集合生成初始纹理块集合之后,还包括:通过影像筛选算法对初始纹理块集合进行筛选处理,影像筛选算法包括均值漂移算法。

由上述内容知,每个三角面片可能存在多个纹理块。因此,为了避免纹理块本身对三维模型生成的纹理造成影响,则需对初始纹理块进行筛选。

其中,均值漂移算法目的是去除初始纹理块集合中带有动态纹理的错误纹理块,其核心思想是随机选择一个中心点,计算该中心点一定范围内所有点到中心点距离向量的均值,再次取均值得到偏移均值,不断重复该操作,使中心点向最佳位置逼近。

S202,基于面片纹理块集合选取最佳纹理块;

优选的,基于所述面片纹理块集合选取最佳纹理块包括:

基于平面检测算法对初始三维网格模型的三角面片进行平面划分;

对于位于同一平面的三角面片,选取面片纹理块集合中属于同一初始影像的面片纹理块作为三角面片的初选纹理块集合;

基于马尔科夫随机场设置能量函数:

其中,E(V)为能量函数,E

求解所述能量函数获得最优值,并选取E(V)为最优值时的初选纹理块V

其中,E

其中,E

其中,基于平面检测算法将位于同一平面内的三角面片赋予相同标记,倾向于选择属于相同初始影像的纹理影像,避免相邻三角面片选取纹理影像的差异过大,出现明显的色差。

S203,基于最佳纹理块生成最佳纹理块集合。

优选的,基于最佳纹理块生成最佳纹理块集合之后,还包括:基于光照信息调整算法对最佳纹理块集合的光照信息进行调整。

其中,由于三维网格模型的不同区域存在光照差异,纹理块之间可能会产生明显的接缝。在近景建模比如室内家具建模时,物体处于室内人造光源环境下,同一时刻不同角度,影像的全局光照信息不同,同一角度影像的不同区域也存在局部光照差异,光照信息不一致会导致纹理产生明显的边界。由此,通过对纹理块的光照信息进行调整,均匀整体和局部的光照,从而缓解接缝效应,提升视觉效果。

具体的,光照信息调整算法分两步进行:

其一是全局光照调整,依据邻接平面的总面积为权重对当前平面的光照信息进行调整,缩小整体色差;

其二是局部光照调整,减轻块间的接缝效应。以相邻纹理块间的顶点颜色为基础,通过内部像素点到边界顶点的距离远近施加不同程度的影响,使块内光照更加平滑,保证接缝左右光照的一致性。

参阅图3,在一些实施例中,对初始三维模型进行简化获得包含纹理的简化三维模型包括:

S301,获取初始三维模型中各顶点的初始空间坐标和初始纹理坐标;

S302,通过二次误差度量的边折叠简化算法对初始空间坐标进行简化获取简化后各顶点的简化空间坐标;

其中,边折叠简化算法的边折叠简化代价的获取方法为:

获取初始的边折叠简化代价;

获取初始三维网格模型其三角面片的结构特征代价、纹理影响因子和纹理误差代价;

基于结构特征代价、纹理影响因子和纹理误差代价对初始的边折叠简化代价进行更新得到边折叠简化代价;

具体的,现有网格简化技术中,存在以下问题:

其一,现有网格简化算法虽然通过各种各样的指标考量细节特征,在简化过程中对细节特征进行保护,但是仍然不够完善。当简化倍数不断提高时,每一步简化产生的形变不断积累,局部区域视觉效果明显变差,尤其是边角区域可能产生凸刺或者明显变形,影响用户的使用体验,严重时,简化模型几乎不可用。且随着简化倍数的提高,简化网格质量明显降低,出现大量的狭长三角形,影像网格模型的视觉效果且不利于纹理生成;

其二,高精度、细节丰富的手工模型在低倍简化时,局部细节容易被破坏和丢失。对于人工设计得到的模型,比如机械零件、人物模型等,网格规整性极高,部分标识信息极为丰富,低倍简化过程中也可能破坏局部的精度,丢失重要信息;

其三,网格简化算法较少考虑到不同结构类型的重要程度差异。全局采用完全相同的简化方法和固定参数,简化模型容易出现过度均匀的现象。包含丰富细节的重要结构容易被简化,导致局部区域的关键信息丢失。

而在本实施例中以边折叠操作为基础对网格模型进行简化,需要确定折叠的优先级和折叠后新点坐标。基于模型几何结构的优先级以二次误差度量为主,即计算顶点到相关平面的距离平方和。以二次误差度量的边折叠简化算法为基础,结合结构特征代价、纹理影响因子和纹理误差代价优化二次误差度量矩阵,对模型的重要结构进行保护,避免损失过多细节。计算纹理相关参数并优化简化优先级,使简化模型保留更多重要细节并且更贴合纹理,提升简化模型的纹理真实感。

具体的,优化后的边折叠简化算法获取的简化三维网格模型效果如图4、图5所示。

具体的,结构特征代价主要考虑不同局部所属结构类型的不同,重要程度也不同,加入权值进行考量,保留更多重要结构。现有判断标准是,平面在简化过程中是不重要的结构,平面与平面的交界处,模型的整体边界,平面与非平面的交界处都是重要结构,视重要程度排序设定权值作为结构特征代价。

具体的,纹理影响因子以纹理面积占比参数衡量,即某个三角面片对应的纹理面积与几何面积的比值。该比值越大,说明该部分的纹理信息更丰富,应该降低其简化优先级。比值越小,说明纹理存在较为严重的拉伸现象,可以适当加强简化。

具体的,纹理误差代价通过待折叠边两端点的颜色差异来度量,通过映射关系将三维空间坐标映射为二维纹理坐标,获得每个边两端点的颜色值,颜色差异越大,折叠造成的影响越大,应该降低简化优先级。

且通过改进多层次细节模型生成流程,不同简化级别的模型共用最细层次模型的纹理文件,减少存储消耗并提升多层次细节模型生成速度。

具体的,上述边折叠简化算法的边折叠简化代价的获取方法具体为:

在三维网格模型中,一个顶点对应多个三角面,计算一个顶点的所有平面的方程ax+by+cz+d=0且a

再将一个顶点的所有K

然后根据二次误差度量矩阵可以求出二次误差,也就是初始的边折叠简化代价,二次误差就是某个点到周围所有平面的距离平方和:

Δ(v)=v

其中,v表示顶点,Δ(v)便是顶点v的二次误差。

首先,加入结构特征代价μ以后,每个顶点的二次误差矩阵为:

Q

其中,μ为结构特征代价,表示该特征的重要程度,Q

在边折叠简化过程中,两个点折叠生成新点,假定原始两点的二次误差矩阵是Q

Q

然后,加入纹理影响因子后,新点的二次误差矩阵优化为:

Q

其中,Q

其中,参阅图6,一环邻域内三角面片的纹理面积占比取平均可得到每个顶点的纹理影响因子,纹理影响因子α(v)的具体计算公式为:

最终,加入纹理误差代价进行优化,得到最终的边折叠简化代价:

Δ

其中,通过颜色空间的欧式距离求出纹理误差代价Er

其中,distance为取距离方法,color为顶点v的纹理坐标,R、G、B是颜色对应分量。

S303,基于简化空间坐标获取简化三维网格模型;

具体的,在获取了简化后各个顶点的空间坐标后,便可依据空间坐标构建出简化的三维网格模型。

S304,通过初始纹理坐标获取简化后各顶点的简化纹理坐标;

其中,参阅图7,通过初始纹理坐标获取简化纹理坐标的具体公式为:

其中,P

S305,基于简化纹理坐标将最佳纹理块集合中的纹理块映射到简化三维网格模型上生成包含纹理的简化三维模型。

在一些实施例中,获取结构特征代价的方法包括:基于平面检测算法确定初始三维网格模型的三角面片的结构特征;基于结构特征对三角面片的结构特征代价进行赋值。

参阅图8,在一些实施例中,平面检测算法包括:

基于三角面片的平面性选取种子面集合;

基于种子面集合选取当前种子面;

基于区域生长算法以当前种子面为起点进行区域生长,将与当前种子面所成角度小于阈值的三角面片聚类到同一平面;其中,在区域生长过程中,同时提取访问的三角面片的结构特征;

当前种子面区域生长过程完成后,选取种子面集合中未访问的下一种子面重复区域生长过程,直到所有三角面片都访问完毕。

其中,以区域生长算法为基础标记网格模型的平面和边角结构,特异性优化平面检测算法并将结构信息用于网格简化和纹理生成。

具体的,参阅图9,图9左侧为三维网格模型,右侧为通过平面检测算法进行聚类标记后的模型。具体可以采用色彩变化等方式对同一平面的三角面片进行标记。

为解决上述技术问题,本发明还公开了一种多层次细节模型生成装置,包括

数据获取模块,数据获取模块用于获取目标的初始影像集合和初始三维网格模型;

纹理生成模块,纹理生成模块用于基于初始影像集合生成最佳纹理块集合;

三维模型生成模块,三维模型生成模块用于将最佳纹理块集合中的纹理块映射到初始三维网格模型上生成包含纹理的初始三维模型;

模型简化模块,模型简化模块用于对初始三维模型进行分层简化获得多层次的包含纹理的简化三维模型;

多层次细节模型生成模块,多层次细节模型生成模块用于基于简化三维模型生成多层次细节模型。

为解决上述技术问题,本发明还公开了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,处理器执行计算机程序时实现上述多层次细节模型生成方法的步骤。

其中,所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。

所述存储器至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或D界面显示存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器可以是所述计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,所述存储器也可以是所述计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器还可以既包括所述计算机设备的内部存储单元也包括其外部存储设备。本实施例中,所述存储器常用于存储安装于所述计算机设备的操作系统和各类应用软件,例如所述多层次细节模型生成方法的程序代码等。此外,所述存储器还可以用于暂时地存储已经输出或者将要输出的各类数据。

所述处理器在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器通常用于控制所述计算机设备的总体操作。本实施例中,所述处理器用于运行所述存储器中存储的程序代码或者处理数据,例如运行所述多层次细节模型生成方法的程序代码。

在一些实施例中,本申请还公开了一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述多层次细节模型生成方法的步骤。

其中,所述可读存储介质存储有界面显示程序,所述界面显示程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的多层次细节模型生成方法的步骤。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器或者网络设备等)执行本申请各个实施例所述的方法。

如上即为本发明的实施例。上述实施例以及实施例中的具体参数仅是为了清楚表述发明的验证过程,并非用以限制本发明的专利保护范围,本发明的专利保护范围仍然以其权利要求书为准,凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明的保护范围内。

相关技术
  • 多层次细节模型生成方法和装置
  • 一种自动生成网格与着色器多层次细节的方法
技术分类

06120113283075