CN116402934A - 一种面向三维重建的自动纹理贴图方法、终端及存储介质 - Google Patents
一种面向三维重建的自动纹理贴图方法、终端及存储介质 Download PDFInfo
- Publication number
- CN116402934A CN116402934A CN202310386888.6A CN202310386888A CN116402934A CN 116402934 A CN116402934 A CN 116402934A CN 202310386888 A CN202310386888 A CN 202310386888A CN 116402934 A CN116402934 A CN 116402934A
- Authority
- CN
- China
- Prior art keywords
- triangle
- projection view
- vertex
- texture map
- view angle
- 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.)
- Pending
Links
- 238000013507 mapping Methods 0.000 title claims abstract description 29
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000005070 sampling Methods 0.000 claims abstract description 5
- 239000013598 vector Substances 0.000 claims description 8
- 238000005457 optimization Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
- G06T17/205—Re-meshing
-
- 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
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
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 Generation (AREA)
Abstract
本发明公开了一种面向三维重建的自动纹理贴图方法、终端及存储介质,涉及计算机技术领域,解决了三角形网格模型中纹理贴图的色差较大的技术问题,其技术方案要点是对三角形网格模型中每个三角形的第一最优投影视角进行确定;对三角形每个顶点的第二最优投影视角进行计算,得到每个三角形关于顶点的3个第二最优投影视角;对每个三角形顶点的UV坐标进行计算,分别得到三角形3个顶点在二维纹理贴图中的横纵坐标,从而得到三角形内任一点在二维纹理贴图中的横纵坐标;根据坐标在原始照片中对像素进行对应采样,根据采样到的像素自动进行纹理贴图。显著降低了纹理贴图流程的复杂度,减少了相邻三角形纹理的色差,生成较为完整且连续的纹理。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种面向三维重建的自动纹理贴图方法、终端及存储介质。
背景技术
三维重建中的纹理贴图是指根据一组拍摄的相机姿态已知的RGB图像,为已重建好的白模三维网格模型的表面生成相应的色彩信息,以还原真实场景中三维物体的颜色。现有的纹理贴图技术存在以下缺点:
(1)在生成初始纹理时,多采用基于概率图模型的GraphCut算法为三维模型的每个三角形选择最优视角的RGB图像。例如在三维模型为三角形网格模型中,由于相邻三角形的最优视角不一定相同,其图像光照可能差别很大,导致相邻三角形的纹理可能产生较大的色差。
(2)在进行色差优化时,多采用先优化顶点的颜色调整量,而对三角形内部像素的调整量进行插值处理,这样会导致相邻顶点距离较远时颜色调整量误差较大。
(3)在进行纹理贴图的UV坐标的生成时,多采用保角或保形参数化的方式,将空间三角形参数化到二维贴图中,会产生三角形重叠等问题,需要进行复杂的后处理。
因此,亟需一种新的纹理贴图方法以解决上述问题。
发明内容
本申请提供了一种面向三维重建的自动纹理贴图方法、终端及存储介质,其技术目的是减少三角形网格模型中纹理贴图的色差和调整误差,简化纹理贴图的流程。
本申请的上述技术目的是通过以下技术方案得以实现的:
一种面向三维重建的自动纹理贴图方法,包括:
S1:通过原始照片和相机姿态构建三角形网格模型;
S2:对三角形网格模型中每个三角形的第一最优投影视角进行确定;
S3:对三角形每个顶点的第二最优投影视角进行计算,得到每个三角形关于顶点的3个第二最优投影视角;其中,相邻三角形共享顶点,则第二最优投影视角的值等于相邻的三角形中出现数量最多的第一最优投影视角;
S4:对每个三角形顶点的UV坐标进行计算,分别得到三角形3个顶点在二维纹理贴图中的横纵坐标(u,v),根据三角形顶点坐标得到三角形内任一点在二维纹理贴图中的横纵坐标(u,v);
S5:根据(u,v)坐标在原始照片中对像素进行对应采样,根据采样到的像素自动进行纹理贴图。
进一步地,该方法还包括:
S6:对纹理贴图进行全局色差优化,得到像素的颜色调整量后,再对纹理贴图的像素值进行更新。
一种终端,所述终端包括处理器和存储器,所述处理器用于执行存储器中存储的一个或者多个程序,以实现一种面向三维重建的自动纹理贴图方法的步骤。
一种存储介质,所述存储介质包括一个或者多个程序可被一个或者多个处理器执行,以实现一种面向三维重建的自动纹理贴图方法的步骤。
本申请的有益效果在于:本申请所述的面向三维重建的自动纹理贴图方法,通过原始照片和相机姿态构建三角形网格模型;对三角形网格模型中每个三角形的第一最优投影视角进行确定;对三角形每个顶点的第二最优投影视角进行计算,得到每个三角形关于顶点的3个第二最优投影视角;对每个三角形顶点的UV坐标进行计算,分别得到三角形3个顶点在二维纹理贴图中的横纵坐标(u,v),根据三角形顶点坐标得到三角形内任一点在二维纹理贴图中的横纵坐标(u,v);根据(u,v)坐标在原始照片中对像素进行对应采样,根据采样到的像素自动进行纹理贴图。从而显著降低纹理贴图流程的复杂度,减少相邻三角形纹理的色差,生成较为完整且连续的纹理。
附图说明
图1为本申请所述方法的流程图;
图2为本申请实施例中三角形网格模型中三角形的投影视角示意图;
图3为本申请实施例中半径R为2的网格块示意图。
具体实施方式
下面将结合附图对本申请技术方案进行详细说明。
如图1所示,本申请所述的面向三维重建的自动纹理贴图方法,包括:
S1:通过原始照片和相机姿态构建三角形网格模型。
S2:对三角形网格模型中每个三角形的第一最优投影视角进行确定。
由于三角形网格模型上的一个三角形可能在多个不同视角的照片里都是可见的,因此在进行纹理贴图时,必须为每个三角形选择一个最优视角的图片。如图2所示,本实施例在选择最优投影视角时,考察相机中心与三角形中心连线所构成的向量rj和三角形的法向量ni之间的夹角,当rj与ni之间的夹角最小时,向量rj对应的相机视角即为三角形的第一最优投影视角,以最小化由于投影变换带来的三角形失真。
S3:对三角形每个顶点的第二最优投影视角进行计算,得到每个三角形关于顶点的3个第二最优投影视角;其中,相邻三角形共享顶点,则第二最优投影视角的值等于相邻的三角形中出现数量最多的第一最优投影视角。
如上所述,如果直接根据每个三角形选择的第一最优投影视角,生成初始纹理,可能使相邻两个面产生较大的色差。本申请为每个三角形选择最优投影视角后,利用三角形网格模型中相邻两个三角形具有共享的顶点这一特性,计算每个顶点的最优投影视角vk(即第二最优投影视角),其值等于相邻三角形的第一最优投影视角中出现最多的视角。以图3所示为例,常规数字表示该三角形与顶点的距离均为1(1-近邻)其中“1”表示第一个投影视角出现的次数最多,“2”表示第二个投影视角出现的次数最多。倾斜数字表示该三角形与顶点的距离均为2(2-近邻),其中“2”表示第二个投影视角出现的次数最多,“3”表示第三个投影视角出现的次数最多。其中vk=2,表示与顶点k相邻的三角形中,第二个投影视角的照片出现的次数最多,本实施例中与顶点的最大邻居距离考虑为2。
按照上述方式,在所有顶点的最优投影视角都确定后,每个三角形就得到三个投影视角。最后,三角形的纹理就可以通过对在三个投影视角照片中的颜色加权求和得到。由于每个相邻的三角形都共享2个相同的顶点(视角),所以这种根据顶点投影视角进行纹理贴图的方式可以显著减少相邻三角形的色差。
S4:对每个三角形顶点的UV坐标进行计算,分别得到三角形3个顶点在二维纹理贴图中的横纵坐标(u,v),根据三角形顶点坐标得到三角形内任一点在二维纹理贴图中的横纵坐标(u,v)。
具体地,三维模型的纹理通常是用二维的图像和三角形3个顶点纹理贴图的UV坐标来进行表示。也就是说,需要把空间中的三角形映射到二维图像中,并确定三角形3个顶点在二维贴图中的横纵坐标,即(u,v)。已有的映射方式多涉及对三维模型的分割,然后进行保角或保形参数化等操作,且需要复杂的后处理。本申请在三维模型上迭代寻找半径R内且数量不超过N的三角形构成的网格块patch,通过将patch投影到原始照片中对应的区域,计算其外接矩形,并将该patch添加到纹理贴图中,来为每个patch中的三角形分配UV坐标。同时在patch之间需要保持一定的重叠,以避免在patch边界处产生纹理接缝。
在生成三角形顶点UV坐标的算法中,算法输入分别为:
Fi:第i个三角面;S[i]:第i个三角形的最优投影视角;A[i,k]:第i个三角形在第k个视角下的可见性,0表示不完全可见,1表示可见;W,H:纹理贴图的长度和宽度;R:三角形邻居半径;N:同一个patch内的三角形最大数量;VIS[i]:三角面是否访问过,0表示未访问,1表示访问过。
算法输出为:包含三角面UV坐标的patch列表L,以及每个三角面所在的patch索引Ii。
作为具体实施例地,对每个三角形顶点的UV坐标进行计算,分别得到三角形3个顶点在二维纹理贴图中的横纵坐标(u,v),包括:
S411:对网格块列表L和三角形投影视角进行初始化,表示为:L=[],V[:]=-1。
S412:随机选择一个未被分配网格块的三角形Fi,并将Fi的第一最优投影视角S[Fi]作为当前投影视角,同时初始化当前网格块为patch=[Fi]。
S413:以三角形Fi为中心,对其在半径R内的每个邻居F′i进行遍历,若F′i在当前投影视角中不完全可见(即A[F′i,S[Fi]]=0)或Fi与F′i的单位法向量内积的绝对值小于阈值0.7,则不将F′i纳入到以Fi为中心的网格块中,否则对F′i是否被访问过进行判断:
当F′i被访问过,即VIS[F′i]=1,若F′i的第一最优投影视角V[F′i]与当前投影视角相同,则不将F′i纳入到以Fi为中心的网格块中,否则纳入,并更新列表p=p.append(F′i),更新投影视角V[F′i]=S[Fi];
当F′i未被访问过,即VIS[F′i]=0,则将F′i纳入到以Fi为中心的网格块中,且更新p=p.append(F′i),更新投影视角V[F′i]=S[Fi],并为其分配patch索引将其标记为已访问VIS[F′i]=1;
其中,每纳入1个F′i,列表L的长度增加1,当列表L的长度已达到最大值N则结束遍历,并更新L=L.append(patch),然后重复步骤S32,直至三角形网格模型中的全部三角形都被分配了网格块,从而得到三角形网格模型的所有网格块;R表示邻居三角形与中心三角形的最大距离,N表示每个网格块中包含的三角形数量的最大值。
S414:从每个网格块对应的投影视角的原始图片中确定各网格块的外接矩形,令网格块内某一三角形顶点的坐标相对于外接矩形左上角的偏移量为(dx,dy),而外接矩形的左上角映射至纹理贴图中的坐标为(u0,v0),则该顶点的坐标表示为:(u,v)=(u0+dx/W,v0+dy/H);以此类推,最终得到网格块中每个三角形3个顶点在二维纹理贴图中的横纵坐标(u,v)。
根据三角形顶点坐标得到三角形内任一点P在二维纹理贴图中的横纵坐标(u,v),包括:
P=αPA+βPB+γPC,0≤α,β,γ≤1;
SABC=SPBc+SPAC+SPAB;
其中,PA,PB,PC分别表示三角形3个顶点的坐标;SPBC,SPAC,SPAB分别表示点P与三角形三条边所围成的三角形的面积;SABC表示三角形自身的面积;α,β,γ分别表示所求像素在三角形3个顶点的第二最优投影视角下所占的权重。
具体地,当三角形3个顶点的UV坐标都确定之后,该三角形在纹理贴图中所有的像素位置也就确定了。根据前文所述,对于三角形内的每个像素,其颜色是对该像素在3个顶点所在最优投影视角的值加权得到的。由于三角形内任一点的坐标都可以由三个顶点的坐标加权得到,故该权重可以由该像素与三角形3个顶点的相对位置计算得到。
S5:根据(u,v)坐标在原始照片中对像素进行对应采样,根据采样到的像素自动进行纹理贴图。
S6:对纹理贴图进行全局色差优化,得到像素的颜色调整量后,再对纹理贴图的像素值进行更新。
上述纹理贴图的生成方式保证了相邻两个三角形的纹理共享了2个相同的投影视角图像(相邻两个三角形共享2个相同的顶点),需要进一步减少由第三个不相同的视角造成的三角形交界处出现的色差。
具体地,通过损失函数对纹理贴图进行全局色差优化,该损失函数表示为:
其中,Cp=(rp,gp,bp)表示每一个像素p的颜色,表示Cp的颜色调整量;Cq表示像素p的邻居像素q的颜色,/>表示Cq的颜色调整量;αp,βp,γp分别表示像素p在三角形3个顶点的第二最优投影视角下所占的权重;/>表示纹理贴图的有效像素集合;pa,pb,pc分别表示三角形3个顶点对应的像素,/>分别表示pa、pb、pc的颜色调整量;/>表示像素p的所有邻居;λ,μ,v均表示权重系数。
作为具体实施例地,λ=1;μ=0.05;v=1。上述损失函数能通过梯度下降的方式来进行全局迭代优化。
以上为本申请示范性实施例,本申请的保护范围由权利要求书及其等效物限定。
Claims (9)
1.一种面向三维重建的自动纹理贴图方法,其特征在于,包括:
S1:通过原始照片和相机姿态构建三角形网格模型;
S2:对三角形网格模型中每个三角形的第一最优投影视角进行确定;
S3:对三角形每个顶点的第二最优投影视角进行计算,得到每个三角形关于顶点的3个第二最优投影视角;其中,相邻三角形共享顶点,则第二最优投影视角的值等于相邻的三角形中出现数量最多的第一最优投影视角;
S4:对每个三角形顶点的UV坐标进行计算,分别得到三角形3个顶点在二维纹理贴图中的横纵坐标(u,v),根据三角形顶点坐标得到三角形内任一点在二维纹理贴图中的横纵坐标(u,v);
S5:根据(u,v)坐标在原始照片中对像素进行对应采样,根据采样到的像素自动进行纹理贴图。
2.如权利要求1所述的方法,其特征在于,该方法还包括:
S6:对纹理贴图进行全局色差优化,得到像素的颜色调整量后,再对纹理贴图的像素值进行更新。
3.如权利要求1或2所述的方法,其特征在于,步骤S2中,对三角形网格模型中每个三角形的第一最优投影视角进行确定,包括:
获取相机中心与三角形中心连线所构成的向量rj,并获取三角形的法向量ni,当rj与ni之间的夹角最小时,向量rj对应的相机视角即为三角形的第一最优投影视角。
4.如权利要求1或2所述的方法,其特征在于,步骤S4中,三角形顶点在二维纹理贴图中横纵坐标(u,v)的获取包括:
S411:对网格块列表L和三角形投影视角进行初始化;
S412:随机选择一个未被分配网格块的三角形Fi,并将Fi的第一最优投影视角作为当前投影视角,同时初始化当前网格块为patch=[Fi];
S413:以三角形Fi为中心,对其在半径R内的每个邻居F′i进行遍历,若F′i在当前投影视角中不完全可见或Fi与F′i的单位法向量内积的绝对值小于阈值0.7,则不将F′i纳入到以Fi为中心的网格块中,否则对F′i是否被访问过进行判断;
当F′i被访问过,若F′i的第一最优投影视角与当前投影视角相同,则不将F′i纳入到以Fi为中心的网格块中,否则纳入;当F′i未被访问过,则将F′i纳入到以Fi为中心的网格块中;
其中,每纳入1个F′i,列表L的长度增加1,当列表L的长度已达到最大值N则结束遍历,并更新L=L.append(patch),然后重复步骤S32,直至三角形网格模型中的全部三角形都被分配了网格块,从而得到三角形网格模型的所有网格块;R表示邻居三角形与中心三角形的最大距离,N表示每个网格块中包含的三角形数量的最大值;
S414:从每个网格块对应的投影视角的原始图片中确定各网格块的外接矩形,令网格块内某一三角形顶点的坐标相对于外接矩形左上角的偏移量为(dx,dy),而外接矩形的左上角映射至纹理贴图中的坐标为(u0,v0),则该顶点的坐标表示为:(u,v)=(u0+dx/W,v0+dy/H);以此类推,最终得到网格块中每个三角形3个顶点在二维纹理贴图中的横纵坐标(u,v);其中,W表示纹理贴图的宽度,H表示纹理贴图的长度。
7.如权利要求6所述的方法,其特征在于,λ=1;μ=0.05;v=1。
8.一种终端,其特征在于,所述终端包括处理器和存储器,所述处理器用于执行存储器中存储的一个或者多个程序,以实现如权利要求1-7任一所述的一种面向三维重建的自动纹理贴图方法的步骤。
9.一种存储介质,其特征在于,所述存储介质包括一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-7任一所述的一种面向三维重建的自动纹理贴图方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310386888.6A CN116402934A (zh) | 2023-04-12 | 2023-04-12 | 一种面向三维重建的自动纹理贴图方法、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310386888.6A CN116402934A (zh) | 2023-04-12 | 2023-04-12 | 一种面向三维重建的自动纹理贴图方法、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116402934A true CN116402934A (zh) | 2023-07-07 |
Family
ID=87015665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310386888.6A Pending CN116402934A (zh) | 2023-04-12 | 2023-04-12 | 一种面向三维重建的自动纹理贴图方法、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116402934A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116843862A (zh) * | 2023-08-29 | 2023-10-03 | 武汉必盈生物科技有限公司 | 一种三维薄壁模型网格表面纹理合成方法 |
-
2023
- 2023-04-12 CN CN202310386888.6A patent/CN116402934A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116843862A (zh) * | 2023-08-29 | 2023-10-03 | 武汉必盈生物科技有限公司 | 一种三维薄壁模型网格表面纹理合成方法 |
CN116843862B (zh) * | 2023-08-29 | 2023-11-24 | 武汉必盈生物科技有限公司 | 一种三维薄壁模型网格表面纹理合成方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108062784B (zh) | 三维模型纹理贴图转换方法与装置 | |
CN111243071A (zh) | 实时三维人体重建的纹理渲染方法、系统、芯片、设备和介质 | |
CN106709871B (zh) | 利用活动掩码的图像合成的方法和系统 | |
CN113516769B (zh) | 虚拟现实三维场景加载与渲染方法、装置和终端设备 | |
CN110490967B (zh) | 图像处理和对象建模方法与设备、图像处理装置及介质 | |
JP7390497B2 (ja) | 画像処理方法、装置、コンピュータプログラム、および電子デバイス | |
CN113689578B (zh) | 一种人体数据集生成方法及装置 | |
CN111292278B (zh) | 图像融合方法及装置、存储介质、终端 | |
US20140028676A1 (en) | Water surface generation | |
JP2022515517A (ja) | 画像深度推定方法および装置、電子機器、ならびに記憶媒体 | |
CN113643414A (zh) | 一种三维图像生成方法、装置、电子设备及存储介质 | |
CN111598777A (zh) | 天空云图的处理方法、计算机设备和可读存储介质 | |
CN115409957A (zh) | 基于虚幻引擎的地图构建方法、电子设备和存储介质 | |
CN115546027B (zh) | 图像缝合线确定方法、装置以及存储介质 | |
CN109685879A (zh) | 多视影像纹理分布的确定方法、装置、设备和存储介质 | |
CN111881985B (zh) | 立体匹配方法、装置、终端和存储介质 | |
CN116402934A (zh) | 一种面向三维重建的自动纹理贴图方法、终端及存储介质 | |
CN112243518A (zh) | 获取深度图的方法、装置及计算机存储介质 | |
CN108629742B (zh) | 真正射影像阴影检测与补偿方法、装置及存储介质 | |
CN115564639A (zh) | 背景虚化方法、装置、计算机设备和存储介质 | |
CN114648458A (zh) | 鱼眼图像矫正方法、装置、电子设备及存储介质 | |
CN113808185B (zh) | 图像深度恢复方法、电子设备及存储介质 | |
CN115409962A (zh) | 虚幻引擎内构建坐标系统的方法、电子设备和存储介质 | |
CN115409958A (zh) | 基于虚幻引擎的平面构建方法、电子设备和存储介质 | |
CN115409960A (zh) | 基于虚幻引擎的模型构建方法、电子设备和存储介质 |
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 |