本文作者:kaifamei

一种多视角纹理映射的方法、装置、设备及存储介质与流程

更新时间:2024-11-15 16:21:11 0条评论

一种多视角纹理映射的方法、装置、设备及存储介质与流程



1.本发明涉及彩三维建模领域,具体地,涉及一种多视角纹理映射的方法、装置、设备及存储介质。


背景技术:



2.纹理映射是指在计算机对三维模型的渲染流程中,将纹理图片上的相关贴片对应添加到三维模型表面的过程。具体地,通过建立物体三维模型的三维与其纹理图中像素之间的对应关系,在构建物体的三维模型后,在纹理图中的对应点到真实的彩信息以实现纹理映射。三维模型与纹理图之间的对应映射关系是三维世界坐标系到二维图像像素坐标系的转换关系,可用相机模型表示。例如,针孔相机模型能够对实际的成像过程进行近似表示,反映出三维空间坐标与二维图像像素坐标之间的映射关系,具体的映射关系如式1所示:
[0003][0004]
式中,zc表示所述空间点在三维相机坐标系下的深度,u,v为图像的像素坐标,式中f为相机投影中心到像平面的距离,u0,v0为图像中心到图像左上角的距离,为三维世界坐标系到三维相机的旋转矩阵,为三维世界坐标系到三维相机坐标系的平移矩阵,k为包含了相机像素大小、相机焦距、像面尺寸等代表相机自身特性的参数矩阵,又称为相机内参矩阵,[r|t]表示由三维世界坐标系到三维相机坐标系的旋转平移矩阵,代表着相机的姿态,又被称为相机的外参矩阵,(xw,yw,zw,1)
t
表示一空间点在三维世界坐标系下的齐次坐标。
[0005]
然而,单张纹理图像所携带的信息很少,只能覆盖被测物体的一个视角,即只能计算物体在某一个视角下的映射关系,通过选取不同视角下的纹理图进行纹理映射,又被称作与视点相关的纹理映射方法。不同视角拍摄下的物体由于环境光照条件的变化,会发生物体表面的非完全漫反射,导致拍摄的纹理图之间存在明显的彩差异,使得纹理映射后的三维模型表面产生彩分块以及纹理接缝现象(如图1~图3所示),极大地降低了模型的彩保真度。实际应用中解决模型表面的彩分块及纹理接缝问题一般通过在给三维物体拍摄纹理图时,将物体置于一个能够提供均匀光照条件的光箱,通过在封闭条件下,额外补充均匀光照,使得各视角下的物体照明条件尽可能一致,从而获得亮度、明暗度、对比度等
接近的纹理图,或者通过提高硬件成本,设计一种机械结构,能同时支撑多个相机以及照明光源在不同角度,在同一时刻拍摄纹理图,来尽可能保证相似的照明条件,上述方法对纹理图的拍摄环境要求较高,导致硬件成本过高,且系统整体设备占用空间大,不利于设备小型化和操作简单化。


技术实现要素:



[0006]
基于上述现状,本发明的主要目的在于降低对多视角纹理图的采集光线照明的要求,提供一种消除将不同光照条件下拍摄的纹理图映射至三维模型而产生的彩分块和接缝现象影响的多视角纹理映射的方法。
[0007]
为实现上述目的,本发明采用的技术方案如下:
[0008]
一种多视角纹理映射的方法,包括步骤:
[0009]
s100,生成第一纹理三维模型;其中,所述第一纹理三维模型至少包括相邻的第一三角面片和第二三角面片;所述第一三角面片中的纹理块来自于第一纹理图,所述第二三角面片中的纹理块来自于第二纹理图,所述第一纹理图和所述第二纹理图分别在不同的视角拍摄得到,所述第一三角面片中的纹理块与所述第二三角面片中的纹理块的分界处形成接缝;所述第一三角面片在所述第一纹理图和所述第二纹理图中均能映射到对应的纹理块,所述第二三角面片在所述第一纹理图和所述第二纹理图中均能映射到对应的纹理块;
[0010]
s200,分别计算所述第一三角面片的顶点在所述第一纹理图和所述第二纹理图中对应的顶点映射点的纹理值的补偿值、并分别对相应的纹理值进行补偿,以及所述第二三角面片的顶点在所述第一纹理图和所述第二纹理图中对应的顶点映射点的纹理值的补偿值、并分别对相应的纹理值进行补偿,以减小所述第一纹理三维模型中所述第一三角面片和所述第二三角面片接缝位置中顶点纹理的颜差异;
[0011]
s300,针对所述第一纹理图和所述第二纹理图中的非顶点映射点,通过如下方式计算其纹理值的补偿值、并分别对相应的纹理值进行补偿,以减小所述第一纹理三维模型中所述第一三角面片和所述第二三角面片接缝位置非顶点纹理的颜差异;
[0012]
非顶点映射点的纹理值的补偿值等于第一顶点映射点的补偿值与第一系数的乘积、第二顶点映射点的补偿值与第二系数的乘积、以及第三顶点映射点的补偿值与第三系数的乘积之和,所述第一系数等于所述非顶点映射点、所述第二顶点映射点、所述第三顶点映射点组成的三角形的面积与所述顶点映射点组成的三角形的面积的比值;所述第二系数等于所述非顶点映射点、所述第一顶点映射点、所述第三顶点映射点组成的三角形的面积与所述顶点映射点组成的三角形的面积的比值;所述第三系数等于所述非顶点映射点、所述第一顶点映射点、所述第二顶点映射点组成的三角形的面积与所述顶点映射点组成的三角形的面积的比值;
[0013]
s400,在所述第一三角面片和所述第二三角面片接缝位置纹理的颜差异的基础上减小所述第一纹理三维模型中所述第一三角面片和所述第二三角面片接缝位置纹理的颜差异。
[0014]
优选地,所述s400具体包括:
[0015]
将所述接缝位置上的点的纹理值替换为所述第一纹理图中对应的映射点的纹理值与所述第二纹理图中对应的映射点的纹理值的均值。
[0016]
优选地,所述s400后还包括步骤s500,
[0017]
s500,根据所述接缝位置的纹理值和非接缝位置的纹理值,计算出所述非接缝位置的纹理值的更新值,以进一步消除所述接缝处位置预设范围内的颜差异。
[0018]
优选地,所述步骤s500具体包括:
[0019]
分别计算所述第一三角面片和所述第二三角面片中的纹理值的梯度场;
[0020]
对所述梯度场求导,得到对应的散度矩阵b;
[0021]
根据所述散度矩阵b计算出所述非接缝位置的纹理值的更新值x,其中ax=b,a为稀疏矩阵,对应所述非接缝位置的纹理值的更新值对应的所述三角面片的位置。
[0022]
优选地,所述步骤s200中,通过如下方式确定所述顶点映射点的纹理值的补偿值:
[0023]
所有三角面片顶点对应的颜差异之和最小,其中,所述三角面片顶点对应的颜差异为所述第一纹理图中对应的顶点映射点的纹理值利用对应补偿值补偿之后的结果,与第二纹理图中对应的顶点映射点的纹理值利用对应补偿值补偿之后的结果之差。
[0024]
优选地,所述步骤s200中,通过如下方式确定所述顶点映射点的纹理值的补偿值:
[0025]
所有三角面片顶点对应的颜差异之和最小,且所有同一三角面片上的相邻所述顶点之间对应的补偿值的差异之和最小,
[0026]
其中,所述三角面片顶点对应的颜差异为所述第一纹理图中对应的顶点映射点的纹理值利用对应补偿值补偿之后的结果,与第二纹理图中对应的顶点映射点的纹理值利用对应补偿值补偿之后的结果之差。
[0027]
本发明还提供了一种纹理映射的装置,包括,第一纹理三维模型生成模块,生成第一纹理三维模型;其中,所述第一纹理三维模型至少包括相邻的第一三角面片和第二三角面片;所述第一三角面片中的纹理块来自于第一纹理图,所述第二三角面片中的纹理块来自于第二纹理图,所述第一纹理图和所述第二纹理图分别在不同的视角拍摄得到,所述第一三角面片中的纹理块与所述第二三角面片中的纹理块的分界处形成接缝;所述第一三角面片在所述第一纹理图和所述第二纹理图中均能映射到对应的纹理块,所述第二三角面片在所述第一纹理图和所述第二纹理图中均能映射到对应的纹理块;
[0028]
顶点映射点的纹理值的补偿值计算模块,分别计算所述第一三角面片的顶点在所述第一纹理图和所述第二纹理图中对应的顶点映射点的纹理值的补偿值、并分别对相应的纹理值进行补偿,以及所述第二三角面片的顶点在所述第一纹理图和所述第二纹理图中对应的顶点映射点的纹理值的补偿值、并分别对相应的纹理值进行补偿,以减小所述第一纹理三维模型中所述第一三角面片和所述第二三角面片接缝位置中顶点纹理的颜差异;
[0029]
非顶点映射点的纹理值的补偿值计算模块,针对所述第一纹理图和所述第二纹理图中的非顶点映射点,通过如下方式计算其纹理值的补偿值、并分别对相应的纹理值进行补偿,以减小所述第一纹理三维模型中所述第一三角面片和所述第二三角面片接缝位置非顶点纹理的颜差异;
[0030]
非顶点映射点的纹理值的补偿值等于第一顶点映射点的补偿值与第一系数的乘积、第二顶点映射点的补偿值与第二系数的乘积、以及第三顶点映射点的补偿值与第三系数的乘积之和,所述第一系数等于所述非顶点映射点、所述第二顶点映射点、所述第三顶点映射点组成的三角形的面积与所述顶点映射点组成的三角形的面积的比值;所述第二系数等于所述非顶点映射点、所述第一顶点映射点、所述第三顶点映射点组成的三角形的面积
与所述顶点映射点组成的三角形的面积的比值;所述第三系数等于所述非顶点映射点、所述第一顶点映射点、所述第二顶点映射点组成的三角形的面积与所述顶点映射点组成的三角形的面积的比值;
[0031]
接缝消除模块,所述第一三角面片和所述第二三角面片接缝位置纹理的颜差异的基础上减小所述第一纹理三维模型中所述第一三角面片和所述第二三角面片接缝位置纹理的颜差异。
[0032]
优选地,所述接缝消除模块包括:
[0033]
均值计算单元,用于将所述接缝位置上的点的纹理值替换为所述第一纹理图中对应的映射点的纹理值与所述第二纹理图中对应的映射点的纹理值的均值。
[0034]
优选地,还包括非接缝位置的纹理值的更新值计算模块,在所述均值计算单元之后工作,用于,
[0035]
根据所述接缝位置的纹理值和非接缝位置的纹理值,计算出所述非接缝位置的纹理值的更新值,以进一步消除所述接缝处位置预设范围内的颜差异。
[0036]
优选地,所述非接缝位置的纹理值的更新值计算模块按照如下方式工作:
[0037]
分别计算所述第一三角面片和所述第二三角面片中的纹理值的梯度场;
[0038]
对所述梯度场求导,得到对应的散度矩阵b;
[0039]
根据所述散度矩阵b计算出所述非接缝位置的纹理值的更新值x,其中ax=b,a为稀疏矩阵,对应所述非接缝位置的纹理值的更新值对应的所述三角面片的位置。
[0040]
优选地,所述顶点映射点的纹理值的补偿值计算模块,通过如下方式确定所述顶点映射点的纹理值的补偿值:
[0041]
所有三角面片顶点对应的颜差异之和最小,其中,所述三角面片顶点对应的颜差异为所述第一纹理图中对应的顶点映射点的纹理值利用对应补偿值补偿之后的结果,与第二纹理图中对应的顶点映射点的纹理值利用对应补偿值补偿之后的结果之差。
[0042]
优选地,所述步骤s200中,通过如下方式确定所述顶点映射点的纹理值的补偿值:
[0043]
所有三角面片顶点对应的颜差异之和最小,且所有同一三角面片上的相邻所述顶点之间对应的补偿值的差异之和最小,
[0044]
其中,所述三角面片顶点对应的颜差异为所述第一纹理图中对应的顶点映射点的纹理值利用对应补偿值补偿之后的结果,与第二纹理图中对应的顶点映射点的纹理值利用对应补偿值补偿之后的结果之差。
[0045]
本发明还提供了一种纹理映射的系统,采用所述的方法进行纹理映射,或者,包括所述的纹理映射装置。
[0046]
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时能够实现所述的方法。
[0047]
本发明实施例提供了一种多视角纹理映射的方法,通过计算第一纹理三维模型中第一三角面片和第二三角面片中顶点的纹理值的补偿值并对其进行补偿,以消除第一三角面片和所述第二三角面片接缝位置中顶点纹理的颜差异;通过顶点的补偿值计算非顶点的补偿值,以消除第一三角面片和第二三角面片接缝位置纹理的颜差异,同时通过顶点映射点的纹理值的补偿值计算非顶点映射点的纹理值的补偿值,计算量较小;并且通过进一步减小所述第一纹理三维模型中所述第一三角面片和所述第二三角面片接缝位置纹理
的颜差异以达到较好的纹理映射效果,本实施例中的多视角纹理映射的方法,降低了对多视角纹理图采集的硬件环境要求,并消除了纹理三维模型因对应不同视角的纹理图,不同纹理图之间具有颜差异,而产生的纹理三维模型表面的彩分块和纹理接缝现象。
[0048]
本发明的其他有益效果,将在具体实施方式中通过具体技术特征和技术方案的介绍来阐述,本领域技术人员通过这些技术特征和技术方案的介绍,应能理解所述技术特征和技术方案带来的有益技术效果。
附图说明
[0049]
以下将参照附图对本发明的一种多视角纹理映射的方法的优选实施方式进行描述。图中:
[0050]
图1~图3为使用传统方法进行纹理映射的效果示意图;
[0051]
图4为本发明的一种优选实施方式中一种多视角纹理映射的方法流程图;
[0052]
图5为本发明的一种优选实施方式中第一纹理三维模型示意图;
[0053]
图6为本发明的一种优选实施方式中第一纹理图示意图;
[0054]
图7为本发明的一种优选实施方式中第二纹理图示意图;
[0055]
图8为本发明的一种优选实施方式中非顶点映射点的纹理值的补偿值计算示意图;
[0056]
图9为本发明的另一种优选实施方式中非顶点映射点的纹理值的补偿值计算示意图;
[0057]
图10~图11为使用传统方法进行纹理映射的效果示意图;
[0058]
图12~图13为使用本发明的一种多视角纹理映射的方法的效果示意图;
[0059]
图14为使用传统方法进行纹理映射的效果示意图;
[0060]
图15为仅执行本发明的一种多视角纹理映射的方法的步骤s100~s200后的效果示意图;
[0061]
图16为执行本发明的一种多视角纹理映射的方法的步骤s100~s400后的效果示意图;
[0062]
图17为图14对应的局部放大图;
[0063]
图18为图15对应的局部放大图;
[0064]
图19为图16对应的局部放大图;
[0065]
图20~图22为基于泊松方程的图像编辑方法的原理示意图;
[0066]
图23为使用传统方法进行纹理映射的效果示意图;
[0067]
图24为仅执行本发明的一种多视角纹理映射的方法的步骤s300~s400后的效果示意图;
[0068]
图25为执行本发明的一种多视角纹理映射的方法的步骤s100~s400后的效果示意图。
具体实施方式
[0069]
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分,为了避免混淆本发明的实质,
公知的方法、过程、流程、元件并没有详细叙述。
[0070]
此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。
[0071]
除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
[0072]
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0073]
如图4所示,本实施例中公开了一种多视角纹理映射的方法,包括步骤s100至s400。
[0074]
s100,生成第一纹理三维模型。如图5~图7所示,图5为第一纹理三维模型的示意图,包括第一三角面片abc、第二三角面片bcd,图6为第一纹理图示意图,图7为第二纹理图示意图,第一纹理图和第二纹理图分别在不同的视角拍摄得到。第一三角面片abc在第一纹理图中的顶点映射点为a1b1c1,在第二纹理图中的顶点映射点为a2b2c2,第二三角面片bcd在第一纹理图中的顶点映射点为b1c1d1,在第二纹理图中的顶点映射点为b2c2d2,第一三角面片abc中的纹理块来自于第一纹理图a1b1c1,第二三角面片bcd中的纹理块来自于第二纹理图b2c2d2,纹理值可以是rgb(红绿蓝)分量信息或rgba(红绿蓝和alpha的彩空间)信息,还有很多类型的信息都可以储存在纹理值中,在此不做限定。实际中由于第一纹理图和第二纹理图拍摄的角度不同,因此第一纹理三维模型中来自不同纹理图的纹理块存在彩分块及接缝现象(如图5中的bc所示)。
[0075]
s200,分别计算第一三角面片abc的顶点在第一纹理图和第二纹理图中对应的顶点映射点的纹理值的补偿值并对其进行补偿,以及第二三角面片bcd的顶点在第一纹理图和第二纹理图中对应的顶点映射点的纹理值的补偿值并对其进行补偿,以减小第一纹理三维模型中所述第一三角面片和第二三角面片接缝位置中顶点纹理的颜差异。
[0076]
若对非顶点映射点的纹理值的补偿值也采集和顶点映射点的纹理值的补偿值类似的方法,则计算量太大,数据处理效率太低,由于像素值是均匀分布的,因此可以根据两点间的距离大小定义顶点映射点对于非顶点映射点的纹理值的补偿值的影响。本实施例中,对于非顶点映射点的纹理值的补偿值使用步骤s300中的方法进行计算。
[0077]
s300,针对第一纹理图和第二纹理图中的非顶点映射点,分别通过如下方式计算其补偿值并进行补偿,以减小第一纹理三维模型中第一三角面片和第二三角面片接缝位置纹理的颜差异。如图8所示,在一个实施例中非顶点映射点p1位于顶点映射点三角形a1b1c1的内部,其补偿值g
p1
等于第一顶点映射点a1的补偿值g1与第一系数的乘积、第二顶点映射点b1的补偿值g2与第二系数的乘积、以及第三顶点映射点c1的补偿值g3与第三系数的乘积之和,第一系数等于所述非顶点映射点p1、所述第二顶点映射点b1、所述第三顶点映射点c1组成的三角形的面积s1与所述顶点映射点组成的三角形a1b1c的面积s的比值;第二系数等于所述非顶点映射点p1、所述第一顶点映射点a1、所述第三顶点映射点c1组成的三角形的面积s2与所述顶点映射点组成的三角形的面积s的比值;所述第三系数等于所述非顶点映射点p1、所述第一顶点映射点a1、所述第二顶点映射点b1组成的三角形的面积s3与
所述顶点映射点组成的三角形的面积s的比值,即
[0078][0079]
如图9所示,若非顶点映射点p2位于顶点映射点三角形a1b1c1的边缘,如b1c1上,则其值为
[0080][0081]
通过上述方法对非顶点映射点的纹理值的补偿值计算并对其进行补偿,计算量较低,数据处理速度更快,且达到了较好地消除了纹理块之间和接缝之间的颜差异。
[0082]
本实施例中还包括步骤s400,在第一三角面片和第二三角面片接缝位置纹理的颜差异的基础上减小第一纹理三维模型中第一三角面片和第二三角面片接缝位置纹理的颜差异。
[0083]
本发明实施例的技术效果如图10~图13所示,图10~图11为采用传统的方法进行纹理映射的效果示意图,可以看出存在明显的颜分块和接缝现象,图12~图13为采用本发明实施例中的方法进行多视角纹理映射的效果示意图,可以看出映射后的模型真实感强,且没有颜分块和接缝现象。
[0084]
本发明实施例提供了一种多视角纹理映射的方法,通过计算第一纹理三维模型中第一三角面片和第二三角面片中顶点的纹理值的补偿值并对其进行补偿,以消除第一三角面片和所述第二三角面片接缝位置中顶点纹理的颜差异;通过顶点的补偿值计算非顶点的补偿值,以消除第一三角面片和第二三角面片接缝位置纹理的颜差异,同时通过顶点映射点的纹理值的补偿值计算非顶点映射点的纹理值的补偿值,计算量较小;并且通过进一步减小所述第一纹理三维模型中所述第一三角面片和所述第二三角面片接缝位置纹理的颜差异以达到较好的纹理映射效果。本实施例中的多视角纹理映射的方法,降低了对多视角纹理图采集的硬件环境要求,无需光箱、补充光源等额外的照明设备,即使仅使用手机对被测物体进行多视角的纹理图采集,也能达到良好的纹理映射的效果。
[0085]
需要做出说明的是,本实施例仅为基于原理做出的一种示例性说明,实际三维模型中包括多个第一三角面片和第二三角面片,以及多条接缝,以一个实际的纹理映射三维模型为例,如图14~19所示,图14~图16对应的三维结构模型中共有251342个顶点,404931个三角面片,实验中拍摄了13个不同视角下的纹理图,第一纹理三维模型中,两两相邻的纹理块之间若其纹理值分别来自第一纹理图和第二纹理图,对应第一纹理图的三角面片为第一三角面片,对应第二纹理图的三角面片为第二三角面片,由于第一纹理图和第二纹理图拍摄环境、光照条件等不尽相同,则会产生明显的颜分块和接缝现象,如图14所示,图17为图14标号10部分的局部放大图,可以看出明显的接缝和分块,执行步骤s200和s300后,效果图如图15和图18所示,图18为图15中标号11部分的局部放大图,可以看出颜分块现象基本消除,接缝处的颜差异明显降低,但是在细微处由于颜的不完全一致,仍旧可能会产生看的见的接缝。图16和图19为继续执行本实施例s400后的效果图,图19为图16中12部分的局部放大图,可以看出已经基本消除了接缝和颜分块现象的影响,更加具有真实感。
[0086]
在一些实施例中,s400具体包括:将所述接缝位置上的点的纹理值替换为所述第一纹理图中对应的映射点的纹理值与所述第二纹理图中对应的映射点的纹理值的均值,以进一步消除接缝位置纹理的颜差异。具体地,分别在第一纹理图和第二纹理图中出接
缝位置对应的映射点的纹理值f1和f2,其中f1和f2为经过补偿值补偿之后的纹理值,并将纹理值f1和f2的均值作为接缝位置纹理值。
[0087]
在一些实施例中,所述s400后还包括步骤s500,根据所述接缝位置的纹理值和非接缝位置的纹理值,计算出所述非接缝位置的纹理值的更新值,以进一步消除所述接缝处位置预设范围内的颜差异。
[0088]
本实施例中利用图像融合的原理,以进一步消除接缝现象。在图像融合算法中,要用一个目标区域的图像内容去覆盖到原始图像中的特定区域并通过算法处理,最终形成平滑衔接。本实施例中采用基于泊松方程的图像编辑方法进行接缝消除,总体原理如下:如图20所示,s代表原始的图像区域,ω代表着原始图像中被覆盖的区域,为覆盖区域的边界,f为覆盖区域内的图像数据值,f*为原始图像中其他区域内的图像数据值。为了保证平滑过渡,需要保证区域内有覆盖区域的边界数据值和非覆盖区域边界对应的数据值相同,即:
[0089][0090]
其中,p代表边界处的点。同时为了使图像能够自然过渡,需要保证覆盖区域内的变化具有平滑性,即需要使得覆盖区域内的梯度场变化最为平缓,即覆盖区域内梯度和最小。本方法通过引入指导梯度场该指导梯度场是由要填充至目标区域的图像(图22)所决定的,图22为要填充至目标区域的图像,图21为要填充至目标区域的图像的梯度场。同时为了保证填充图像与原始图像的无缝衔接并且与原始图像有相同的轮廓,需要使得融合后的图像与原始图像有着最相似的梯度信息,即满足以下条件:
[0091][0092]
其中

f代表融合后的散度值,代表对指导梯度场求导。由此,便可以通过求解泊松方程,重新计算融合区域的每一点的像素值,得到无缝融合后的图像,从而实现边界处的自然过渡,最终获得更具真实感的纹理模型。
[0093]
具体地,s600包括:通过差分的方式计算接缝处三维坐标(即三维模型上的点)纹理值的梯度场计算非接缝处的三维坐标(即三维模型上的点)的纹理值的梯度场梯度场与梯度场组成梯度场对所述梯度场求导,得到对应的散度矩阵b;根据所述散度矩阵b计算出所述非接缝位置的纹理值的更新值x,其中ax=b,a为稀疏矩阵对应所述非接缝位置的纹理值的更新值对应的所述三角面片中的位置。基于泊松图像融合的纹理接缝消除方法是通过在局部区域进行纹理优化,能够有效消除纹理接缝现象,实现不同区域边界处的彩自然过渡,却无法在整体上消除彩分块现象,因此本实施例中先通过步骤s200和步骤s300进行整体上的彩分块消除,再利用泊松图像融合的方法对接缝位置的颜差异进行进一步消除,获得了颜均匀且没有明显接缝的具有真实感的纹理彩三维模型。
[0094]
在一些实施例中,计算顶点纹理值的补偿值的具体方法如下:使得所有三角面片顶点对应的颜差异之和最小,所述三角面片顶点对应的颜差异为第一纹理图中对应的顶点映射点的纹理值利用对应补偿值补偿之后的结果,与所述三角面片顶点在第二纹理图中利用对应补偿值补偿之后的结果之差。具体地,可以用第一损失函数进行计算,第一损失
函数为:
[0095][0096]
其中,argmin表示使目标函数取最小值时的变量值,具体地,v是三角面片顶点的集合;v1和v2顶点分别在第一纹理图和第二纹理图上的映射点;vi和vj对应同一纹理图的三角面片的相邻顶点;是所述顶点映射到第二纹理图的对应的顶点映射点的纹理值;是所述顶点映射到第一纹理图的对应的顶点映射点的纹理值;是第一纹理图中对应的顶点映射点的纹理值的补偿值;是第二纹理图中对应的顶点映射点的纹理值的补偿值。
[0097]
在另一些实施例中,计算顶点纹理值的补偿值的具体方法如下:所有三角面片顶点对应的颜差异之和,及对应同一三角面片上的相邻所述顶点之间对应的补偿值的差异之和最小,所述三角面片顶点对应的颜差异为第一纹理图中对应的顶点映射点的纹理值利用对应补偿值补偿之后的结果,与所述三角面片顶点在第二纹理图中利用对应补偿值补偿之后的结果之差,具体地,可以用第二损失函数进行计算,第二损失函数为:
[0098][0099]
其中,argmin表示使目标函数取最小值时的变量值,因为对应同一纹理图的纹理块由同一张图片映射而来,拍摄条件一致,彩也一致,故其相邻顶点的颜补偿值不会差别很大。具体地,v是三角面片顶点的集合;v1和v2分别为顶点在第一纹理图和第二纹理图上的映射点;vi和vj对应同一纹理图的三角面片相邻顶点;是所述顶点映射到第二纹理图的对应的顶点映射点的纹理值;是所述顶点映射到第一纹理图的对应的顶点映射点的纹理值;是第一纹理图中对应的顶点映射点的纹理值的补偿值;是第二纹理图中对应的顶点映射点的纹理值的补偿值;是对应同一纹理图的三角面片的相邻顶点之间对应的补偿值;λ是颜一致性调整量和边界彩值调整量的比例系数,λ可以根据纹理图中纹理的特点和三维模型的结构特点等相关参数进行调整,以保证第一纹理模型中对应的不同纹理图的三角面片之间的颜值尽可能相似,本实施例中λ取值为1。其中,用于使顶点映射点补偿后的纹理值与原始的第一纹理图和第二纹理图对应的顶点映射点的纹理值尽可能相似,用于使得对应同一纹理图的三角面片的相邻顶点映射点之间对应的补偿值也近似。
[0100]
根据第二损失函数,计算顶点补偿值的方法如下:将上述损失函数改写为矩阵的形式:
[0101][0102]
式中,g代表补偿值,f等于(f
v2-f
v1
),是所述顶点映射到第二纹理图的对应的顶点映射点的纹理值,是所述顶点映射到第一纹理图的对应的顶点映射点的纹理值,a、c是稀疏矩阵,其值是
±
1,用于从g中提取对应的补偿值,若其值为1代表g对应的为第一纹理
图中的顶点补偿值,若其值为-1对应的为第二纹理图中的顶点补偿值。a
t
a+c
t
c是稀疏对称半正定矩阵,故式1大于0,对式1求导,并求解导数的零值点得到的g就是最终所要求解的补偿值。
[0103]
求导结果如下:
[0104]
(a
t
a+c
t
c)g=a
tfꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(式3);
[0105]
可知以上式3为ax=b的形式,因此用eigen库求解式3,得到顶点补偿值g,即得到了第一纹理图和第二纹理图中顶点映射点的纹理值的补偿值。
[0106]
图23~图25为另一组实施例中的效果对比示意图,人脸三维结构模型中共有219901个顶点,387244个三角面片,实验中拍摄了12个不同视角下的纹理图,图23为未使用本实施中的方法进行纹理映射的效果示意图,可以看出存在明显的颜分块和纹理接缝。图24为未执行步骤s200和s300对纹理值进行补偿,而直接执行步骤s400的效果示意图,可以看出虽然接缝处的差异降低,但仍存在彩分块现象。图25为使用本实施例中的方法进行多视角纹理映射的效果示意图,可以看出不仅边界处的纹理接缝得到了很好的消除,并且没有彩分块现象,整体彩过渡自然,具有较强的真实感。
[0107]
本发明还提供了一种纹理映射的装置,包括,第一纹理三维模型生成模块,生成第一纹理三维模型;其中,第一纹理三维模型至少包括相邻的第一三角面片和第二三角面片;第一三角面片中的纹理块来自于第一纹理图,第二三角面片中的纹理块来自于第二纹理图,第一纹理图和第二纹理图分别在不同的视角拍摄得到,第一三角面片中的纹理块与第二三角面片中的纹理块的分界处形成接缝;第一三角面片在第一纹理图和第二纹理图中均能映射到对应的纹理块,第二三角面片在第一纹理图和第二纹理图中均能映射到对应的纹理块;
[0108]
顶点映射点的纹理值的补偿值计算模块,分别计算第一三角面片的顶点在第一纹理图和第二纹理图中对应的顶点映射点的纹理值的补偿值、并分别对相应的纹理值进行补偿,以及第二三角面片的顶点在第一纹理图和第二纹理图中对应的顶点映射点的纹理值的补偿值、并分别对相应的纹理值进行补偿,以减小第一纹理三维模型中第一三角面片和第二三角面片接缝位置中顶点纹理的颜差异;
[0109]
非顶点映射点的纹理值的补偿值计算模块,针对第一纹理图和第二纹理图中的非顶点映射点,通过如下方式计算其纹理值的补偿值、并分别对相应的纹理值进行补偿,以减小第一纹理三维模型中第一三角面片和第二三角面片接缝位置非顶点纹理的颜差异;
[0110]
非顶点映射点的纹理值的补偿值等于第一顶点映射点的补偿值与第一系数的乘积、第二顶点映射点的补偿值与第二系数的乘积、以及第三顶点映射点的补偿值与第三系数的乘积之和,第一系数等于非顶点映射点、第二顶点映射点、第三顶点映射点组成的三角形的面积与顶点映射点组成的三角形的面积的比值;第二系数等于非顶点映射点、第一顶点映射点、第三顶点映射点组成的三角形的面积与顶点映射点组成的三角形的面积的比值;第三系数等于非顶点映射点、第一顶点映射点、第二顶点映射点组成的三角形的面积与顶点映射点组成的三角形的面积的比值;
[0111]
接缝消除模块,第一三角面片和第二三角面片接缝位置纹理的颜差异的基础上减小第一纹理三维模型中第一三角面片和第二三角面片接缝位置纹理的颜差异。
[0112]
本发明还提供了一种纹理映射的系统,采用上述的方法进行纹理映射,或者,包括
上述的纹理映射装置。
[0113]
此外,本发明还提供了一种用于多视角纹理映射的计算机可读存储介质,如芯片、光盘等,计算机可读存储介质上存储有执行程序,该执行程序被执行时实现如上述任一项所述的控制方法。
[0114]
需要说明的是,本公开的实施例所述的计算机可读存储介质并不限定于上述所给实施例,例如还可以为电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0115]
本领域的技术人员能够理解的是,在不冲突的前提下,上述各优选方案可以自由地组合、叠加。其中,附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生,例如,两个接连表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本文中对于各步骤的编号仅为了方便说明和引用,并不用于限定前后顺序,具体的执行顺序是由技术本身确定的,本领域技术人员可以根据技术本身确定各种允许的、合理的顺序。
[0116]
需要说明的是,本发明中采用步骤编号(字母或数字编号)来指代某些具体的方法步骤,仅仅是出于描述方便和简洁的目的,而绝不是用字母或数字来限制这些方法步骤的顺序。本领域的技术人员能够明了,相关方法步骤的顺序,应由技术本身决定,不应因步骤编号的存在而被不适当地限制,本领域技术人员可以根据技术本身确定各种允许的、合理的步骤顺序。
[0117]
本领域的技术人员能够理解的是,在不冲突的前提下,上述各优选方案可以自由地组合、叠加。
[0118]
应当理解,上述的实施方式仅是示例性的,而非限制性的,在不偏离本发明的基本原理的情况下,本领域的技术人员可以针对上述细节做出的各种明显的或等同的修改或替换,都将包含于本发明的权利要求范围内。

技术特征:


1.一种多视角纹理映射的方法,其特征在于,包括步骤:s100,生成第一纹理三维模型;其中,所述第一纹理三维模型至少包括相邻的第一三角面片和第二三角面片;所述第一三角面片中的纹理块来自于第一纹理图,所述第二三角面片中的纹理块来自于第二纹理图,所述第一纹理图和所述第二纹理图分别在不同的视角拍摄得到,所述第一三角面片中的纹理块与所述第二三角面片中的纹理块的分界处形成接缝;所述第一三角面片在所述第一纹理图和所述第二纹理图中均能映射到对应的纹理块,所述第二三角面片在所述第一纹理图和所述第二纹理图中均能映射到对应的纹理块;s200,分别计算第一三角面片的顶点在第一纹理图和第二纹理图中对应的顶点映射点的纹理值的补偿值、并分别对相应的纹理值进行补偿,以及第二三角面片的顶点在第一纹理图和第二纹理图中对应的顶点映射点的纹理值的补偿值、并分别对相应的纹理值进行补偿,以减小第一纹理三维模型中第一三角面片和第二三角面片接缝位置中顶点纹理的颜差异;s300,针对所述第一纹理图和所述第二纹理图中的非顶点映射点,通过如下方式计算其纹理值的补偿值、并分别对相应的纹理值进行补偿,以减小所述第一纹理三维模型中所述第一三角面片和所述第二三角面片接缝位置非顶点纹理的颜差异;非顶点映射点的纹理值的补偿值等于第一顶点映射点的补偿值与第一系数的乘积、第二顶点映射点的补偿值与第二系数的乘积、以及第三顶点映射点的补偿值与第三系数的乘积之和,所述第一系数等于所述非顶点映射点、所述第二顶点映射点、所述第三顶点映射点组成的三角形的面积与所述顶点映射点组成的三角形的面积的比值;所述第二系数等于所述非顶点映射点、所述第一顶点映射点、所述第三顶点映射点组成的三角形的面积与所述顶点映射点组成的三角形的面积的比值;所述第三系数等于所述非顶点映射点、所述第一顶点映射点、所述第二顶点映射点组成的三角形的面积与所述顶点映射点组成的三角形的面积的比值;s400,在所述第一三角面片和所述第二三角面片接缝位置纹理的颜差异的基础上减小所述第一纹理三维模型中所述第一三角面片和所述第二三角面片接缝位置纹理的颜差异。2.如权利要求1所述的纹理映射的方法,其特征在于,所述s400具体包括:将所述接缝位置上的点的纹理值替换为所述第一纹理图中对应的映射点的纹理值与所述第二纹理图中对应的映射点的纹理值的均值。3.如权利要求2所述的纹理映射的方法,其特征在于,所述s400后还包括步骤s500,s500,根据所述接缝位置的纹理值和非接缝位置的纹理值,计算出所述非接缝位置的纹理值的更新值,以进一步消除所述接缝处位置预设范围内的颜差异。4.如权利要求3所述的纹理映射的方法,其特征在于,所述步骤s500具体包括:分别计算所述第一三角面片和所述第二三角面片中的纹理值的梯度场;对所述梯度场求导,得到对应的散度矩阵b;根据所述散度矩阵b计算出所述非接缝位置的纹理值的更新值x,其中ax=b,a为稀疏矩阵,对应所述非接缝位置的纹理值的更新值对应的所述三角面片的位置。5.如权利要求1所述的纹理映射的方法,其特征在于,所述步骤s200中,通过如下方式确定所述顶点映射点的纹理值的补偿值:
所有三角面片顶点对应的颜差异之和最小,其中,所述三角面片顶点对应的颜差异为所述第一纹理图中对应的顶点映射点的纹理值利用对应补偿值补偿之后的结果,与第二纹理图中对应的顶点映射点的纹理值利用对应补偿值补偿之后的结果之差。6.如权利要求1所述的纹理映射的方法,其特征在于,所述步骤s200中,通过如下方式确定所述顶点映射点的纹理值的补偿值:所有三角面片顶点对应的颜差异之和最小,且所有同一三角面片上的相邻所述顶点之间对应的补偿值的差异之和最小,其中,所述三角面片顶点对应的颜差异为所述第一纹理图中对应的顶点映射点的纹理值利用对应补偿值补偿之后的结果,与第二纹理图中对应的顶点映射点的纹理值利用对应补偿值补偿之后的结果之差。7.一种多视角纹理映射的装置,其特征在于,包括,第一纹理三维模型生成模块,生成第一纹理三维模型;其中,所述第一纹理三维模型至少包括相邻的第一三角面片和第二三角面片;所述第一三角面片中的纹理块来自于第一纹理图,所述第二三角面片中的纹理块来自于第二纹理图,所述第一纹理图和所述第二纹理图分别在不同的视角拍摄得到,所述第一三角面片中的纹理块与所述第二三角面片中的纹理块的分界处形成接缝;所述第一三角面片在所述第一纹理图和所述第二纹理图中均能映射到对应的纹理块,所述第二三角面片在所述第一纹理图和所述第二纹理图中均能映射到对应的纹理块;顶点映射点的纹理值的补偿值计算模块,分别计算所述第一三角面片的顶点在所述第一纹理图和所述第二纹理图中对应的顶点映射点的纹理值的补偿值、并分别对相应的纹理值进行补偿,以及所述第二三角面片的顶点在所述第一纹理图和所述第二纹理图中对应的顶点映射点的纹理值的补偿值、并分别对相应的纹理值进行补偿,以减小所述第一纹理三维模型中所述第一三角面片和所述第二三角面片接缝位置中顶点纹理的颜差异;非顶点映射点的纹理值的补偿值计算模块,针对所述第一纹理图和所述第二纹理图中的非顶点映射点,通过如下方式计算其纹理值的补偿值、并分别对相应的纹理值进行补偿,以减小所述第一纹理三维模型中所述第一三角面片和所述第二三角面片接缝位置非顶点纹理的颜差异;非顶点映射点的纹理值的补偿值等于第一顶点映射点的补偿值与第一系数的乘积、第二顶点映射点的补偿值与第二系数的乘积、以及第三顶点映射点的补偿值与第三系数的乘积之和,所述第一系数等于所述非顶点映射点、所述第二顶点映射点、所述第三顶点映射点组成的三角形的面积与所述顶点映射点组成的三角形的面积的比值;所述第二系数等于所述非顶点映射点、所述第一顶点映射点、所述第三顶点映射点组成的三角形的面积与所述顶点映射点组成的三角形的面积的比值;所述第三系数等于所述非顶点映射点、所述第一顶点映射点、所述第二顶点映射点组成的三角形的面积与所述顶点映射点组成的三角形的面积的比值;接缝消除模块,所述第一三角面片和所述第二三角面片接缝位置纹理的颜差异的基础上减小所述第一纹理三维模型中所述第一三角面片和所述第二三角面片接缝位置纹理的颜差异。8.如权利要求7所述的纹理映射的装置,其特征在于,所述接缝消除模块包括:
均值计算单元,用于将所述接缝位置上的点的纹理值替换为所述第一纹理图中对应的映射点的纹理值与所述第二纹理图中对应的映射点的纹理值的均值。9.如权利要求8所述的纹理映射的装置,其特征在于,还包括非接缝位置的纹理值的更新值计算模块,在所述均值计算单元之后工作,用于,根据所述接缝位置的纹理值和非接缝位置的纹理值,计算出所述非接缝位置的纹理值的更新值,以进一步消除所述接缝处位置预设范围内的颜差异。10.如权利要求9所述的纹理映射的装置,其特征在于,所述非接缝位置的纹理值的更新值计算模块按照如下方式工作:分别计算所述第一三角面片和所述第二三角面片中的纹理值的梯度场;对所述梯度场求导,得到对应的散度矩阵b;根据所述散度矩阵b计算出所述非接缝位置的纹理值的更新值x,其中ax=b,a为稀疏矩阵,对应所述非接缝位置的纹理值的更新值对应的所述三角面片的位置。11.如权利要求7所述的纹理映射的装置,其特征在于,所述顶点映射点的纹理值的补偿值计算模块,通过如下方式确定所述顶点映射点的纹理值的补偿值:所有三角面片顶点对应的颜差异之和最小,其中,所述三角面片顶点对应的颜差异为所述第一纹理图中对应的顶点映射点的纹理值利用对应补偿值补偿之后的结果,与第二纹理图中对应的顶点映射点的纹理值利用对应补偿值补偿之后的结果之差。12.如权利要求7所述的纹理映射的装置,其特征在于,所述步骤s200中,通过如下方式确定所述顶点映射点的纹理值的补偿值:所有三角面片顶点对应的颜差异之和最小,且所有同一三角面片上的相邻所述顶点之间对应的补偿值的差异之和最小,其中,所述三角面片顶点对应的颜差异为所述第一纹理图中对应的顶点映射点的纹理值利用对应补偿值补偿之后的结果,与第二纹理图中对应的顶点映射点的纹理值利用对应补偿值补偿之后的结果之差。13.一种纹理映射的系统,其特征在于,采用如权利要求1-7任一项所述的方法进行纹理映射,或者,包括如权利要求8-12任一项所述的纹理映射装置。14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被执行时能够实现如权利要求1-7任意一项所述的方法。

技术总结


本发明提供了一种多视角纹理映射的方法、装置、设备及存储介质,通过计算第一纹理三维模型中第一三角面片和第二三角面片中顶点的纹理值的补偿值并对其进行补偿;通过顶点的补偿值计算非顶点的补偿值,以消除第一三角面片和第二三角面片接缝位置纹理的颜差异,同时通过顶点映射点的纹理值的补偿值计算非顶点映射点的纹理值的补偿值,计算量较小;并且通过进一步减小所述第一纹理三维模型中所述第一三角面片和所述第二三角面片接缝位置纹理的颜差异以达到较好的纹理映射效果,本实施例中的方法消除了纹理三维模型因对应不同视角的纹理图,不同纹理图之间具有颜差异,而产生的纹理三维模型表面的彩分块和纹理接缝现象。缝现象。缝现象。


技术研发人员:

彭翔 郑仲铭 蒲海潮 刘晓利 何文奇 汤其剑 朱青

受保护的技术使用者:

深圳市安华光电技术有限公司

技术研发日:

2022.05.27

技术公布日:

2022/12/19


文章投稿或转载声明

本文链接:http://www.wtabcd.cn/zhuanli/patent-1-58438-0.html

来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2022-12-23 06:55:02

发表评论

验证码:
用户名: 密码: 匿名发表
评论列表 (有 条评论
2人围观
参与讨论