CN111627119A - 纹理贴图方法及装置、设备、存储介质 - Google Patents
纹理贴图方法及装置、设备、存储介质 Download PDFInfo
- Publication number
- CN111627119A CN111627119A CN202010444007.8A CN202010444007A CN111627119A CN 111627119 A CN111627119 A CN 111627119A CN 202010444007 A CN202010444007 A CN 202010444007A CN 111627119 A CN111627119 A CN 111627119A
- Authority
- CN
- China
- Prior art keywords
- image
- patch
- grid
- target
- color adjustment
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- 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
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Image Generation (AREA)
Abstract
本申请实施例公开了纹理贴图方法及装置、设备、存储介质,其中,所述方法包括:加载N张图像至缓存区,N为大于0的正整数;根据所述缓存区中每一所述图像,确定对应图像与所述对应图像在网格模型中观测到的网格面片之间的视角匹配值,并将所述对应图像从所述缓存区释放;加载M张其他图像至所述缓存区,以确定所述M张其他图像中的每一图像的视角匹配值,并将对应图像从所述缓存区释放,直至获得用于构建所述网格模型的每一图像的视角匹配值为止,M为大于0的正整数;根据所述缓存区中每一所述视角匹配值和对应的图像标识,对所述网格模型中的每一网格面片进行纹理贴图处理。
Description
技术领域
本申请实施例涉及计算机视觉技术,涉及但不限于纹理贴图方法及装置、设备、存储介质。
背景技术
三维重建技术是指将客观世界中的三维物体或场景在计算机中表示,并在计算机的环境下对其进行处理和分析。三维重建技术是计算机视觉领域的一个重要分支。该技术广泛应用于导航与定位(例如机器人导航、无人驾驶、辅助驾驶等)、计算机动画、医学图像处理、虚拟现实、增强现实和文物保护等领域。
在三维重建流程中,对网格模型进行纹理贴图处理是三维重建流程中的最后一步,也是至关重要的一个环节。高质量的网格模型和纹理贴图可以真实完整地还原物体的三维模型。
然而,现有的纹理贴图方法往往无法满足大场景或超大场景的纹理贴图需求。对于缓存空间有限的单台设备来讲,无法完成网格模型的纹理贴图任务。
发明内容
本申请实施例提供的纹理贴图方法及装置、设备、存储介质可以是这样实现的:
本申请实施例提供的纹理贴图方法,包括:加载N张图像至缓存区;其中,N为大于0的正整数;根据所述缓存区中每一所述图像,确定对应图像与所述对应图像在所述网格模型中观测到的网格面片之间的视角匹配值,并将所述对应图像从所述缓存区释放;加载M张其他图像至所述缓存区,以确定所述M张其他图像中的每一图像的视角匹配值,并将对应图像从所述缓存区释放,直至获得用于构建所述网格模型的每一图像的视角匹配值为止,其中,M为大于0的正整数;根据所述缓存区中每一所述视角匹配值和对应的图像标识,对所述网格模型中的每一网格面片进行纹理贴图处理。
本申请实施例提供的纹理贴图装置,包括:数据加载模块,用于加载N张图像至缓存区;其中,N大于0的正整数;确定模块,用于根据所述缓存区中每一所述图像,确定对应图像与所述对应图像在所述网格模型中观测到的网格面片之间的视角匹配值;数据释放模块,用于将所述对应图像从所述缓存区释放;数据加载模块,还用于加载M张其他图像至所述缓存区,以使所述确定模块确定所述M张其他图像中的每一图像的视角匹配值,并触发数据释放模块将对应图像从所述缓存区释放,直至获得用于构建所述网格模型的每一图像的视角匹配值为止,其中,M为大于0的正整数;纹理贴图模块,用于根据所述缓存区中每一所述视角匹配值和对应的图像标识,对所述网格模型中的每一网格面片进行纹理贴图处理。
本申请实施例提供的电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本申请实施例的纹理贴图方法中的步骤。
本申请实施例提供的计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例中的纹理贴图方法中的步骤。
本申请实施例中,对网格模型中的每一网格面片进行纹理贴图处理时,先加载用于构建网格模型的所有图像中的部分图像或一张图像至缓存区,用于计算视角匹配值,并将完成视角匹配值计算的图像从缓存区中释放;而不是一次将所有图像均加载至缓存区。这样就突破了因电子设备的缓存区空间有限而无法实现纹理贴图的瓶颈,使得单台电子设备能够顺利完成网格模型的纹理贴图任务。即使单台电子设备的缓存空间较小,也能够轻松实现上万张4K分辨率的图像的纹理贴图任务。用户可以不必购买价格高昂的专业图形工作站,仅仅使用普通电脑即可完成高清图像的纹理贴图。
附图说明
图1A为本申请实施例纹理贴图方法的实现流程示意图;
图1B为本申请实施例将网格模型与纹理贴图进行纹理融合得到的纹理模型的示意图;
图1C为本申请实施例另一将网格模型与纹理贴图进行纹理融合得到的纹理模型的示意图;
图1D为本申请实施例为基于每一视角匹配值和对应的图像标识实现纹理贴图处理的实现流程示意图;
图2A为本申请实施例纹理贴图方法的实现流程示意图;
图2B为本申请实施例确定每一所述网格面片的目标颜色调整值的实现流程示意图;
图3A为本申请实施例马尔科夫能量场示意图;
图3B为本申请实施例为网格面片选择相匹配的投影区域的示意图;
图4为本申请实施例网格面片的颜色调整前和调整后的示意图;
图5A为本申请实施例另一确定每一所述网格面片的目标颜色调整值的实现流程示意图;
图5B为本申请实施例再一确定每一所述网格面片的目标颜色调整值的实现流程示意图;
图6为本申请实施例另一纹理贴图方法的实现流程示意图;
图7为本申请实施例对纹理模型未进行颜色调整和进行颜色调整后的纹理效果对比示意图;
图8为本申请实施例纹理贴图装置的结构示意图;
图9为本申请实施例电子设备的一种硬件实体示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅仅是是区别类似或不同的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
本申请实施例提供的纹理贴图方法可以应用于电子设备,所述电子设备可以是计算机设备、笔记本电脑、分布式计算架构中的任一节点服务器或移动终端(例如手机、平板电脑或电子阅读器等)等具有纹理贴图能力的设备。所述纹理贴图方法所实现的功能可以通过所述电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,所述电子设备至少包括处理器和存储介质。
图1A为本申请实施例纹理贴图方法的实现流程示意图,如图1A所示,所述方法至少包括以下步骤101至步骤104:
步骤101,加载N张图像至缓存区;其中,N大于0的正整数。
电子设备可以将一张图像加载至缓存区;然后,进行步骤102的运算。在运算得到视角匹配值之后,将该图像从缓存区释放,从而实现缓存区的存储空间的释放。当然,电子设备还可以每次将多张图像加载至缓存区,但是为了防止一次加载太多的图像导致缓存区发生溢出,电子设备可以根据缓存区的存储空间大小来确定每次加载的图像数量。
步骤102,根据所述缓存区中每一所述图像,确定对应图像与所述对应图像在网格模型中观测到的网格面片之间的视角匹配值,并将所述对应图像从所述缓存区释放。
所谓释放,就是将图像从缓存区删除,从而实现缓存区的存储空间的释放。可以理解地,一张图像可能观测到多个网格面片。因此,在实现时,电子设备可以确定该图像与其观测到的每一网格面片之间的视角匹配值。
需要说明的是,电子设备释放图像的方式可以是多种多样的。例如,电子设备可以在确定一张图像与其观测到的每一网格面片之间的视角匹配值之后,立即释放该图像。电子设备还可以在确定缓存区中的每一图像与其观测到的每一网格面片之间的视角匹配值之后,再将缓存区中的所有图像一次性释放掉。
步骤103,加载M张其他图像至所述缓存区,以确定所述M张其他图像中的每一图像的视角匹配值,并将对应图像从所述缓存区释放,直至获得用于构建所述网格模型的每一图像的视角匹配值为止。
可以理解地,在得到每一图像的视角匹配值之后,电子设备将图像的视角匹配值和图像标识保留在缓存区,而将该图像从缓存区删除;这样,可以避免因图像分辨率过大而占用过多的缓存空间,从而使得图像集合中无论包括多少张图像,即使图像的分辨率很大,依然能够通过单台设备实现纹理贴图,获得目标纹理模型。
需要说明的是,N与M的取值可以相同,也可以不同。可以理解地,M大于0的正整数。
步骤104,根据所述缓存区中每一所述视角匹配值和对应的图像标识,对所述网格模型进行纹理贴图处理。
电子设备在实现时,可以先进行视角选择,以确定与每一网格面片相匹配的目标图像;然后,基于每一网格面片的目标图像,进行全局颜色调整和/或局部颜色调整,以确定每一网格面片的全局颜色调整值和/或局部颜色调整值;基于这些值和网格面片对应的目标图像的投影区域,对网格面片进行纹理贴图处理,从而得到目标纹理模型。
在本申请实施例中,在进行纹理贴图的过程中,电子设备仅将用于构建网格模型的部分图像或一张图像加载至缓存区;然后,根据缓存区中每一图像,确定该图像与其观测到的网格面片之间的视角匹配值,并在使用完该图像的数据之后,将该图像从缓存区中释放;重复上述步骤,完成其他图像的加载和释放,以确定对应的视角匹配值,直至获得每一图像的视角匹配值为止;根据缓存区中每一视角匹配值和对应的图像标识,对网格模型进行纹理贴图处理,得到目标纹理模型;
如此,仅加载用于构建网格模型的部分图像或一张图像而不是全部的图像,这样就突破了因电子设备的缓存区空间有限而无法实现纹理贴图的瓶颈,使得单台电子设备能够顺利完成网格模型的纹理贴图任务。即使单台电子设备的缓存空间较小,也能够轻松实现上万张4K分辨率的图像的纹理贴图任务。用户可以不必购买价格高昂的专业图形工作站,仅仅使用普通电脑即可完成高清图像的纹理贴图。高质量的网格模型和纹理贴图可以真实完整地还原物体的三维模型。例如,图1B所示,11为物体111的网格模型,12为该网格模型的每一网格面片对应的纹理贴图,13为对11与12进行纹理融合之后的纹理模型。再如,图1C所示,14为网格模型,15为该网格模型的每一网格面片对应的纹理贴图,16为对14与15进行纹理融合之后的纹理模型。
需要说明的是,电子设备在得到用于构建网格模型的每一图像的视角匹配值之后,电子设备需要根据缓存区中每一视角匹配值和对应的图像标识,对所述网格模型进行纹理贴图处理,得到目标纹理模型。即,对于上述步骤104,在一些实施例中,如图1D所示,电子设备可以通过如下步骤1041至步骤1043实现:
步骤1041,根据所述缓存区中每一所述视角匹配值和对应的图像标识,确定与所述网格模型的每一所述网格面片相匹配的目标图像的图像标识。
图像标识可以是多种多样的,例如图像标识为图像的存储路径对应的编号,编号具有唯一性,该值与图像的存储路径具有一一对应关系。在一个示例中,该编号可以是根据图像的存储路径生成的哈希键值。再如,图像标识还可以是图像的存储路径。
电子设备在实现时,可以通过全局优化的方法,获得与每一网格面片相匹配的目标图像的图像标识,也就是步骤1041输出的是一组图像标识序列,该序列包括每一网格面片对应的目标图像的图像标识,该序列能够使网格模型的全局视角匹配值最小。在实现时,电子设备可以通过如下步骤204至步骤206确定与每一网格面片相匹配的目标图像的图像标识。
步骤1042,根据所述缓存区中每一所述网格面片的目标图像的图像标识,确定每一所述网格面片的目标颜色调整值和每一所述网格面片在对应目标图像的投影区域的初始颜色信息。
所谓初始颜色信息,指的是在对目标图像的投影区域进行颜色调整前的颜色信息。电子设备在实现步骤1042时,也可以采用只加载一张图像或者部分图像的策略。例如,采用“用时加载”策略,在需要根据某张图像确定观测到的网格面片的某个参数值时,才加载该图像至缓存区。在获得该参数值之后,将该图像从缓存区释放。在一些实施例中,电子设备可以通过以下实施例的步骤207至步骤210,实现步骤1042。
步骤1043,根据所述缓存区中每一所述网格面片的目标颜色调整值和投影区域的初始颜色信息,对对应网格面片进行纹理贴图处理,得到所述目标纹理模型。
可以理解地,电子设备可以根据每一网格面片的目标颜色调整值和投影区域的初始颜色信息,确定对应网格面片的目标颜色信息;然后,将该目标颜色信息赋予给该网格面片,使得该网格面片具有纹理信息;如此实现纹理融合,得到目标纹理模型。
本申请实施例再提供一种纹理贴图方法,图2A为本申请实施例纹理贴图方法的实现流程示意图,如图2A所示,所述方法可以包括以下步骤201至步骤211:
步骤201,将N张图像加载至缓存区;其中,N大于0的正整数;
步骤202,根据所述缓存区中每一所述图像,确定对应图像与所述对应图像在网格模型中观测到的网格面片之间的视角匹配值,并将所述对应图像从所述缓存区释放。
在一些实施例中,电子设备可以每次加载一张图像,然后在确定该图像的视角匹配值之后,将该图像从缓存区释放。在一些实施例中,电子设备还可以每次加载多张图像,每次加载的图像数量与缓存区的空间大小有关。比如,缓存区的空间大小为32吉字节(Gigabyte,GB),一张高清图像的大小为15兆字节(Mbyte,MB)。如果要求缓存区一次性缓存的数据量不能超过一半的缓存空间,每次可以加载1000张图像至缓存区。
步骤203,将M张其他图像加载至所述缓存区,以确定所述M张其他图像中的每一图像的视角匹配值,并将对应图像从所述缓存区释放,直至获得用于构建所述网格模型的每一图像的视角匹配值为止,其中,M为大于0的正整数。
可以理解地,视角匹配值表征的是一张图像与其观测到的网格面片之间的视角匹配代价。在一些实施例中,电子设备可以通过如下公式(1)确定图像与其观测到一个网格面片之间的视角匹配值:
E(li)=Edata(Fi,li)+Esmooth(Fi,Fj,li,lj) (1);
式中,Fi表示第i个网格面片,li表示面片Fi对应的图像的视线方向,Edata表示为面片Fi的节点能量;Fj表示面片Fi共享一条边的邻居面片,(Fi,Fj)表示这两个面片的共享边缘,lj表示面片Fj对应的图像的视线方向,Esmooth表示面片Fi和Fj之间的边缘能量;其中,
Edata的定义如下式(2)所示:
式中,sin(viewangle)表示的是面片Fi与li的夹角;(Pen):表示的是惩罚系数。首先,计算出观测到面片Fi的所有图像,并计算出面片Fi在每张图像中产生的颜色均值;通过均值漂移方法筛选出偏离于多数均值过大的图像,对这些偏离过大的图像加上一个惩罚系数,使它们产生的能量误差变大,从而难以被选择;表示的是面片Fi在对应的图像中的对焦系数。也可理解为面片Fi在对应图像的投影区域的清晰度量化图。在实现时,可以通过一阶导数的Sobel边缘检测算子对该投影区域进行图像卷积,得到类似于边缘的图像;然后对卷积后的投影区域进行像素和计算,从而得到面片Fi在对应图像中的对焦系数。
Esmooth:可以理解为用于评测相邻两个网格面片之间的颜色一致性。如果相邻的两个面片所选取的图像在公共边缘所产生的颜色差值高于一个阈值,就将该边缘能量设为1;反之,若小于或等于该阈值,则将该边缘能量设为0。
步骤204,根据所述网格模型中每一所述网格面片之间的连接关系,建立以所述网格面片为节点的概率图模型。
概率图模型可以是多种多样的。例如,概率图模型可以是贝叶斯网络、马尔可夫网络或隐马尔可夫网络等。以概率图模型为马尔科夫网络为例,如图3A所示,在网格模型上构建一个马尔科夫网络,也就是能量场。能量场中每个节点(Node)为网格模型中的一个网格面片。在一些实施例中,电子设备可以按照由左至右、由上到下的顺序将节点(Node)联通在一起;其中,建立联通的依据为两个网格面片是否共享一条边,如果两个网格面片共享一条边,则需要在这两个网格面片之间建立一个联通边。例如图3A中,在网格面片301与网格面片302的节点之间建立一个联通边303。
步骤205,以每一所述节点的目标视角为自变量,构建视角能量函数。
仍然以图3A所示的马尔科夫能量场为例,视角能量函数的定义如下式(3)所示:
式中,Fi表示节点集合(也即面片集合)Faces中的第i个节点(也即面片),Edges表示能量场中的共享边缘集合。
步骤206,根据所述概率图模型、所述缓存区中每一所述视角匹配值和对应的图像标识,对所述视角能量函数进行迭代优化处理,以得到与每一所述网格面片的法线相匹配的目标视角,进而得到每一所述目标视角对应的目标图像的图像标识。
电子设备通过多种方法求解上述视角能量函数的最优解,从而使得全局的视角匹配值E(l)收敛,即达到最小,或者使得全局的视角匹配值E(l)小于或等于特定阈值。例如,电子设备可以通过置信度传播算法(Belief Propagation,BP)或者树重加权消息传递算法(Tree-Reweighted Message Passing,TRMP),对上述视角能量函数进行最小化处理。例如图3B所示,与网格面片abc相匹配的目标视角所对应的图像为311,该面片在该图像中的投影区域为ABC。在一些实施例中,如图3B所示,在确定网格面片abc的目标视角之后,还可以根据该视角,确定邻居面片bcd的目标视角,从而得到邻居面片在该图像中的投影区域301。
在实现时,上式(3)所示的函数中的li可以通过对应图像的图像标识表示。也就是说,在对上述视角能量函数进行最小化处理之后,输出的是一个图像标识序列,该序列中包括了网格模型的每一网格面片对应的目标图像的图像标识。
步骤207,根据所述缓存区中所有图像标识中的L个图像标识,将对应目标图像加载至所述缓存区;其中,L大于0且小于图像标识总数;
步骤208,根据所述缓存区中每一所述目标图像,获得对应网格面片在所述目标图像的投影区域的初始颜色信息,并将对应目标图像从所述缓存区释放。
在实现时,电子设备可以将图像集合中每一图像的投影矩阵加载至缓存区,电子设备根据目标图像的投影矩阵,确定观测到的网格面片在目标图像的投影区域,从而获得该投影区域的初始颜色信息。
在获得投影区域的初始颜色信息之后,可以将投影矩阵保留在缓存区,也可以从缓存区释放。
步骤209,根据所述所有图像标识中的K个其他图像标识,将对应目标图像加载至所述缓存区,以获得对应网格面片在所述目标图像的投影区域的初始颜色信息,并将对应目标图像从所述缓存区释放,直至获得每一网格面片的投影区域的初始颜色信息为止。
需要说明的是,步骤207至步骤209的加载和释放机制可以与上述步骤101至步骤103的加载机制相同,也可以不同。L和K可以相同,也可以不同。
电子设备可以将获得的每一网格面片的投影区域的初始颜色信息存储在缓存区,以便根据这些信息,确定每一网格面片的目标颜色调整值。
步骤210,根据所述缓存区中每一所述投影区域的初始颜色信息,确定每一所述网格面片的目标颜色调整值。
在实现时,电子设备可以通过全局颜色调整算法和/或局部颜色调整算法,对每一网格面片对应的投影区域的初始颜色信息进行处理,从而得到每一网格面片的目标颜色调整值。在一些实施例中,电子设备可以通过如下实施例的步骤2101至步骤2103确定每一网格面片的目标颜色调整值;进一步地,在一些实施例中,电子设备可以在确定目标颜色调整值的过程中,确定每一网格面片的局部颜色调整值,进而确定每一网格面片的目标颜色调整值。然而,在确定局部颜色调整值时需要加载对应的目标图像,因此,也可以采用“用时加载”策略。在完成运算时,缓存区没有保存任何一张目标图像,而是保存了网格面片的编号、对应的目标图像的图像标识、全局颜色调整值和局部颜色调整值。这些数据相比于一张高清图像而言,占用的缓存空间是非常小的。
步骤211,根据所述缓存区中每一所述网格面片的目标颜色调整值和投影区域的初始颜色信息,对对应网格面片进行纹理贴图处理,得到所述目标纹理模型。
可以理解地,通过上述步骤201至步骤206,确保了为网格模型的每一网格面片都选择了一张视角最佳的图像。然而,相邻的两个网格面片可能会来自于两个不同视角的图像,这样相邻的两个面片之间会存在颜色缝隙。
为了最小化这种不同视角造成的相邻面片之间存在颜色视差,在本申请实施例中,需要确定每一网格面片的目标颜色调整值和投影区域的初始颜色信息,从而能够在每一网格面片进行纹理贴图处理时,使得目标纹理模型直观上比较真实、自然。例如,图4所示,在进行颜色调整前,网格面片41与邻居面片42之间存在颜色差;在进行颜色调整后,两个面片的颜色一致。
在实现目标颜色调整值的过程中,如上述步骤207至步骤210,采用只加载一张图像或者部分图像的策略。例如,采用“用时加载”策略。在需要根据某张图像,确定观测到的网格面片在该图像中的投影区域的初始颜色信息时,才加载该图像至缓存区;在获得该颜色信息之后,将该图像从缓存区释放。如此,使得电子设备不受缓存区大小的限制,从而能够成功确定每一网格面片的目标颜色调整值,进而顺利完成对网格面片的纹理贴图处理。
在一些实施例中,电子设备在通过上述步骤201至步骤209获得每一网格面片的投影区域的初始颜色信息之后,如图2B所示,可以通过如下实施例的步骤2101至步骤2103确定每一所述网格面片的目标颜色调整值,即实现步骤210:
步骤2101,以全局颜色调整值为自变量,根据所述缓存区中每一所述投影区域的初始颜色信息,构建全局颜色能量函数;
步骤2102,对所述全局颜色能量函数进行迭代优化处理,以确定满足特定条件的全局颜色调整值。
例如,全局颜色能量函数的定义如下式(4)所示:
式中,表示的是网格点(vertex)所对应的左面片的投影区域的初始颜色信息;作为自变量,表示的是网格点所对应的左面片需要调整的颜色值;表示的是网格点所对应的右面片的初始颜色信息,作为自变量,表示的是网格点所对应的右面片需要调整的颜色值;表示的是左面片的缝隙的调整后的颜色,类似;gv表示的是针对每个网格点所需要调整的颜色差值,
步骤2103,根据每一所述网格面片的投影区域的初始颜色信息和所述全局颜色调整值,确定每一所述网格面片的目标颜色调整值。
在确定全局颜色调整值之后,如果直接根据全局颜色调整值对网格模型的每一网格面片进行纹理贴图处理,得到的纹理模型中相邻面片之间仍然存储颜色缝隙。因此,电子设备可以确定每一网格面片的局部颜色调整值,进而确定目标颜色调整值。而在确定局部颜色调整值时还需要调用对应的目标图像。
因此,电子设备在实现步骤2103时,为了防止因一次性加载所有目标图像而导致内存溢出的情况发生,如图5A所示,目标颜色调整值的确定方法可以包括以下步骤501至步骤504:
步骤501,根据所述缓存区中所有图像标识中的R个图像标识,将对应目标图像加载至所述缓存区;其中,R大于0且小于图像标识总数;
步骤502,根据所述缓存区中每一所述目标图像,获得对应网格面片在所述目标图像的投影区域的梯度信息,并将对应目标图像从所述缓存区释放;
步骤503,根据所述所有图像标识中的T个其他图像标识,将对应目标图像加载至所述缓存区,以获得对应网格面片在所述目标图像的投影区域的梯度信息,并将对应目标图像从所述缓存区释放,直至获得每一网格面片的投影区域的梯度信息为止;
步骤504,根据每一所述网格面片的投影区域的初始颜色信息、梯度信息和全局颜色调整值,确定对应网格面片的目标颜色调整值。
在一些实施例中,电子设备在获得每一网格面片的投影区域的初始颜色信息、梯度信息和全局颜色调整值之后,如图5B所示,可以通过如下步骤5041至步骤5042,确定每一网格面片的局部颜色调整值,进而确定每一网格面片的目标颜色调整值。换言之,电子设备可以通过如下步骤5041至步骤5043实现步骤504:
步骤5041,根据所述全局颜色调整值,对每一所述网格面片的投影区域的初始颜色信息进行调整,得到对应投影区域的全局颜色信息;
步骤5042,根据每一所述网格面片的投影区域的梯度信息和对应网格面片的邻居网格面片的投影区域的全局颜色信息,确定对应网格面片的局部颜色调整值。
在实现时,电子设备可以通过泊松图像编辑算法(Poisson Editing,PE)实现局部颜色调整值的确定。
步骤5043,根据每一所述网格面片的局部颜色调整值和全局颜色调整值,确定对应网格面片的目标颜色调整值。
在一些实施例中,可以将网格面片的局部颜色调整值和全局颜色调整值相加,从而得到对应面片的目标颜色调整值。
纹理贴图方案,基本原理是:基于网格模型,预先构建一个马尔科夫能量场,通过该能量场来为网格模型中的每个面片选择一张最佳视角的图像,基于该图像为对应面片赋予图像信息。在为每一面片赋予图像信息之后,为了确保网格和网格间的图像信息可以无缝衔接,构建了基于能量函数的全局颜色调整和基于泊松平滑的局部颜色调整,进而确保整个模型的颜色一致性最优。
通常情况下,电子设备在执行纹理贴图方案时,需要预先将物体的网格模型和该模型对应的所有图像加载至缓存区,并且电子设备需要生成每张图像的清晰度量化图像,并将每一清晰度量化图像也加载至缓存区。通常一张4K分辨率的图像的大小为16MB,而普通电脑的缓存空间只有32GB,这就导致了一台电脑最多加载不超过2000张4K分辨率的图像。因此,纹理贴图方案的实施方式无法满足超大场景以及海量图像的纹理贴图需求。
基于此,下面将说明本申请实施例在一个实际的应用场景中的示例性应用。
本申请实施例提供一种纹理贴图方法,可以用于解决在实施纹理贴图的过程中单台电脑内存不够用的问题。通过该方法可以摆脱单台电脑在进行纹理贴图时受到内存的限制,从而能够在单台电脑上轻松实现基于上万张4K分辨率的图像的纹理贴图。
本申请实施例中,避免一次性将所有图像的信息均加载至缓存区,取而代之的是:在缓存区只保存每一张图像的名称,采用“用时加载”的策略。也就是说,在需要计算一张图像的能量函数时将该图像加载,计算相应区域的能量函数;然后将该图像释放。这样的纹理贴图方法不需要占用任何缓存。如图6所示,该方法可以包括以下步骤601至步骤604:
步骤601,导入网格模型611,获取网格模型611的所有网格面片、边和点的信息;并根据面片连接的结构,构建马尔科夫能量场的节点和边;
步骤602,通过马尔科夫能量场的能量函数,迭代能量函数,得到每个网格面片的最佳视角;基于每一网格面片的最佳视角对应的图像,为对应的网格面片赋予图像信息,得到纹理模型612;
步骤603,对纹理模型612进行全局颜色调整,确保整体模型颜色的一致性,得到纹理模型613;
步骤604,对纹理模型613的局部进行颜色平滑,使得相邻的网格面片在缝隙处衔接一致,从而得到纹理模型614。
在本申请实施例中,纹理贴图方法可以包括以下部分:视角选择、全局颜色调整和局部颜色调整。
其中,对于视角选择部分,这里给出如下说明:
三维模型的网格由点(vertex)、边(edge)和面片(face)三种单元构成和表述。首先,将网格模型构建成一个马尔科夫能量场,该能量场中每个节点为网格模型中的一个面片。
视角选择的能量函数,即视角能量函数主要由两部分组成:节点的能量和边缘的能量。构建的视角能量函数,最终结果是使得节点的能量和边缘的能量总和达到最小,进而达到全局能量最优的目的。其中,视角能量函数的定义如下式(5)所示:
式中,Fi表示节点集合(也即面片集合)Faces中的第i个节点(也即面片),li表示面片Fi对应的候选视角,Edata表示为面片Fi的节点能量;Fj表示面片Fi共享一条边的邻居面片,(Fi,Fj)表示这两个面片的共享边缘,lj表示面片Fj对应的邻居视角,Edges表示能量场中的共享边缘集合,Esmooth表示面片Fi和Fj之间的边缘能量。其中,
Edata的定义如下式(6)所示:
式中,sin(viewangle)表示的是面片Fi与li的夹角。通常li对应的图像视线与面片Fi的法线之间的夹角越小,说明该图像越接近于垂直观测,因此产生的能量误差就越小,也会被优先选择。
(Pen):表示的是惩罚系数。首先,计算出观测到面片Fi的所有图像,并计算出面片Fi在每张图像中产生的颜色均值,通过均值漂移方法筛选出偏离于多数均值过大的图像,对这些偏离过大的图像加上一个惩罚系数,使它们产生的能量误差变大,从而难以被选择。
表示的是面片Fi在候选视角对应的图像中的对焦系数。也可理解为面片Fi在候选图像的投影区域的清晰度量化图。通常用一阶导数Sobel边缘检测算子对该投影区域进行图像卷积,得到类似于边缘的图像;然后对卷积后的投影区域进行像素和计算,从而得到面片Fi在候选视角对应的图像中的对焦系数。对焦系数越高的图像所产生的能量误差就越小,因此越会被优先选择。
Esmooth:可理解为评测相邻两个网格面片之间的颜色一致性。如果相邻的两个面片所选取的图像在公共边缘所产生的颜色差值高于一个阈值,就将该边缘能量设为1,反之,若小于或等于该阈值,则将该边缘能量设为0。
通过上述式(5)所示的视角能量函数,给马尔科夫能量场中的每个节点(即面片)对应的投影图像赋予一个能量值,然后进行马尔科夫能量传播迭代,从而得到每个面片的最优视角图像。
对于全局颜色调整部分,这里给出如下说明:
通过视角选择,能够确保模型网格中的每个面片都选择了一张视角最佳的图像。然而,相邻的两个面片可能会来自于两个不同的视角。这样,如图7所示的图像701中,相邻的两个面片中间会存在颜色的缝隙,为了最小化这种不同视角造成的相邻面片之间的颜色色差,定义以下式(7)所示的全局颜色能量函数:
式中,表示的是网格点所对应的左面片的初始颜色,表示的是网格点所对应的左面片需要调整的颜色值;表示的是网格点所对应的右面片的初始颜色,表示的是网格点所对应的右面片需要调整的颜色值;表示的是左面片的缝隙的调整后的颜色,类似;gv表示的是针对每个网格点所需要调整的颜色差值,
可以理解地,上述式(7)所表示的能量函数中的第一项确保了每个网格点(vertex)的左右两个面片颜色尽可能一致。第二项确保了相邻两个网格点(vertex)所需要调整的颜色幅度差别不要太大,即相邻两个网格点所需要调整的颜色幅度应比较接近,而非一个调整幅度很大,一个调整幅度很小。
优化上述式(7)所表示的能量函数,从而达到全局能量最小,进而实现全局颜色一致性调优的目的。
对于局部颜色调整部分,这里给出如下说明:
在全局颜色调整后,就完成了宏观上的模型纹理一致性的工作。但是,这样仍然无法彻底解决存在于相邻面片间的颜色缝隙,如图7所示的图像702。因此,在全局颜色的一致性调整后,还需要进行一次局部颜色的一致性调整。在实现时,可以通过泊松图像编辑算法将相邻两个面片的邻域部分进行颜色平滑,进而消除相邻面片之间的颜色缝隙,消除后的效果如图7所示的图像703。
在上述的视角选择、全局颜色调整和局部颜色调整流程的每一步,都需要读取和加载图像的数据,基于加载的图像进行相应的计算,这就使得纹理贴图这一环节极大地消耗主机内存。在进行4K纹理贴图时,通常一张4K分辨率的图像的大小在15MB左右,而普通电脑的内存空间仅有32GB,这样在加载到2000张左右时,实际上,由于电脑运行其它程序和数据结构,实际能够加载的图像数量大致为1300张时,内存就会溢出而导致程序的崩溃。针对这一情况和问题,本申请实施例提供了一种摆脱了内存限制的纹理贴图方法。
对于视角选择选择部分,在常用的视角选择流程中,通常程序会加载网格模型对应的所有图像,然后,遍历每个网格面片在所有图像里的投影,如果投影在视域(frustum)范围内,则计算该面片投影后所产生的能量函数。而改进后的机制为:只缓存图像的路径和对应的投影矩阵,当根据某张图像的投影矩阵判断到该面片在该图像的视域范围时,就加载该投影矩阵对应的这张图像;根据该图像对应的投影矩阵,计算该面片在该图像里的投影区域;并根据该投影区域的图像信息,计算出该图像相应的能量函数,即上式(5)所示的能量函数;在根据该投影区域的图像信息,完成能量函数的更新后,便立即释放该图像,同时相应的缓存也得到释放。接下来,对更新后的能量函数,迭代马尔科夫能量场,进行正向/反向能量传递,求得最优解即可。
对于全局颜色调整和局部颜色调整部分,同上述方法类似,该流程需要预先加载所有的图像,然后,遍历每个面片所对应的的视角图像,并根据上述公式(7)计算产生的缝隙能量差。改进后的机制为:遍历每个面片,找到该面片所投影的图像路径,加载对应图像至缓存区,计算并更新缝隙能量差,然后将该图像从缓存区释放掉。同样的加载/释放机制也应用于局部颜色调整。
本申请实施例提供了一种纹理贴图方法,可以用于解决纹理贴图中单台电脑内存不够用的问题。“即用即取,用完释放”的纹理贴图方法,可以摆脱纹理贴图方法受到内存的限制,在单台电脑上轻松实现上万张4K和高清图像的纹理贴图,这样不需降低图像分辨率即可实现高质量的三维模型重建。
本申请实施例提供的一种基于高清和4K海量图像的纹理贴图方法,解决了常用纹理贴图方法因电脑内存不足导致重建失败的问题,用户可以不必购买价格高昂的专业图形工作站,仅仅使用普通电脑即可完成高清纹理贴图。
本申请实施例提供的纹理贴图方法,可以应用于大规模城市级的三维重建,并且用户不必购买价格高昂的专业图形工作站,通过普通单机电脑或电脑集群即可实现大规模场景的三维重建。
基于前述的实施例,本申请实施例提供一种纹理贴图装置,该装置包括所包括的各模块、以及各模块所包括的各单元,可以通过电子设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
图8为本申请实施例纹理贴图装置的结构示意图,如图8所示,所述装置800包括数据加载模块801、确定模块802、数据释放模块803和纹理贴图模块804,其中:
数据加载模块801,用于将N张图像加载至缓存区;其中,N大于0的正整数;
确定模块802,用于根据所述缓存区中每一所述图像,确定对应图像与所述对应图像在网格模型中观测到的网格面片之间的视角匹配值;
数据释放模块803,用于将所述对应图像从所述缓存区释放;
数据加载模块801,还用于将M张其他图像加载至所述缓存区,以使所述确定模块802确定所述M张其他图像中的每一图像的视角匹配值,并触发数据释放模块803将对应图像从所述缓存区释放,直至获得用于构建网格模型的每一图像的视角匹配值为止;
纹理贴图模块804,用于根据所述缓存区中每一所述视角匹配值和对应的图像标识,对所述网格模型中的每一网格面片进行纹理贴图处理。
在一些实施例中,纹理贴图模块804,用于:根据所述缓存区中每一所述视角匹配值和对应的图像标识,确定与所述网格模型的每一所述网格面片相匹配的目标图像的图像标识;根据所述缓存区中每一所述网格面片的目标图像的图像标识,确定每一所述网格面片的目标颜色调整值和每一所述网格面片在对应目标图像的投影区域的初始颜色信息;根据所述缓存区中每一所述网格面片的目标颜色调整值和投影区域的初始颜色信息,对对应网格面片进行纹理贴图处理。
在一些实施例中,数据加载模块801,还用于根据所述缓存区中所有图像标识中的L个图像标识,将对应目标图像加载至所述缓存区;其中,L大于0且小于图像标识总数;确定模块802,还用于根据所述缓存区中每一所述目标图像,获得对应网格面片在所述目标图像的投影区域的初始颜色信息,并触发数据释放模块803将对应目标图像从所述缓存区释放;数据加载模块801,还用于根据所述所有图像标识中的K个其他图像标识,将对应目标图像加载至所述缓存区,以触发确定模块802获得对应网格面片在所述目标图像的投影区域的初始颜色信息,并触发数据释放模块将对应目标图像从所述缓存区释放,直至确定模块802获得每一网格面片的投影区域的初始颜色信息为止;纹理贴图模块804,用于:根据所述缓存区中每一所述投影区域的初始颜色信息,确定每一所述网格面片的目标颜色调整值。
在一些实施例中,纹理贴图模块804,用于:以全局颜色调整值为自变量,根据所述缓存区中每一所述投影区域的初始颜色信息,构建全局颜色能量函数;对所述全局颜色能量函数进行迭代优化处理,以确定满足特定条件的全局颜色调整值;根据每一所述网格面片的投影区域的初始颜色信息和所述全局颜色调整值,确定每一所述网格面片的目标颜色调整值。
在一些实施例中,数据加载模块801,还用于根据所述缓存区中所有图像标识中的R个图像标识,将对应目标图像加载至所述缓存区;其中,R大于0且小于图像标识总数;确定模块802,还用于根据所述缓存区中每一所述目标图像,获得对应网格面片在所述目标图像的投影区域的梯度信息,并触发数据释放模块803将对应目标图像从所述缓存区释放;数据加载模块801,还用于根据所述所有图像标识中的T个其他图像标识,将对应目标图像加载至所述缓存区,以触发确定模块802获得对应网格面片在所述目标图像的投影区域的梯度信息,并触发数据释放模块803将对应目标图像从所述缓存区释放,直至确定模块802获得每一网格面片的投影区域的梯度信息为止;纹理贴图模块804,用于根据每一所述网格面片的投影区域的初始颜色信息、梯度信息和全局颜色调整值,确定对应网格面片的目标颜色调整值。
在一些实施例中,纹理贴图模块804,用于:根据所述全局颜色调整值,对每一所述网格面片的投影区域的初始颜色信息进行调整,得到对应投影区域的全局颜色信息;根据每一所述网格面片的投影区域的梯度信息和对应网格面片的邻居网格面片的投影区域的全局颜色信息,确定对应网格面片的局部颜色调整值;根据每一所述网格面片的局部颜色调整值和全局颜色调整值,确定对应网格面片的目标颜色调整值。
在一些实施例中,纹理贴图模块804,用于:根据所述网格模型中每一所述网格面片之间的连接关系,建立以所述网格面片为节点的概率图模型;以每一所述节点的目标视角为自变量,构建视角能量函数;根据所述概率图模型、所述缓存区中每一所述视角匹配值和对应的图像标识,对所述视角能量函数进行迭代优化处理,以得到与每一所述网格面片的法线相匹配的目标视角,进而得到每一所述目标视角对应的目标图像的图像标识。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的纹理贴图方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
对应地,本申请实施例提供一种电子设备,图9为本申请实施例电子设备的一种硬件实体示意图,如图9所示,该电子设备900的硬件实体包括:包括存储器901和处理器902,所述存储器901存储有可在处理器902上运行的计算机程序,所述处理器902执行所述程序时实现上述实施例中提供的纹理贴图方法中的步骤。
存储器901配置为存储由处理器902可执行的指令和应用,还可以缓存待处理器902以及电子设备900中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random AccessMemory,RAM)实现。
对应地,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的纹理贴图方法中的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.纹理贴图方法,其特征在于,所述方法包括:
加载N张图像至缓存区;其中,N为大于0的正整数;
根据所述缓存区中每一所述图像,确定对应图像与所述对应图像在网格模型中观测到的网格面片之间的视角匹配值,并将所述对应图像从所述缓存区释放;
加载M张其他图像至所述缓存区,以确定所述M张其他图像中的每一图像的视角匹配值,并将对应图像从所述缓存区释放,直至获得用于构建所述网格模型的每一图像的视角匹配值为止,其中,M为大于0的正整数;
根据所述缓存区中每一所述视角匹配值和对应的图像标识,对所述网格模型中的每一网格面片进行纹理贴图处理。
2.根据权利要求1所述的方法,其特征在于,所述根据所述缓存区中每一所述视角匹配值和对应的图像标识,对所述网格模型进行纹理贴图处理,包括:
根据所述缓存区中每一所述视角匹配值和对应的图像标识,确定与所述网格模型的每一所述网格面片相匹配的目标图像的图像标识;
根据所述缓存区中每一所述网格面片的目标图像的图像标识,确定每一所述网格面片的目标颜色调整值和每一所述网格面片在对应目标图像的投影区域的初始颜色信息;
根据所述缓存区中每一所述网格面片的目标颜色调整值和投影区域的初始颜色信息,对对应网格面片进行纹理贴图处理。
3.根据权利要求2所述的方法,其特征在于,所述根据所述缓存区中每一所述网格面片的目标图像的图像标识,确定每一所述网格面片的目标颜色调整值和每一所述网格面片在对应目标图像的投影区域的初始颜色信息,包括:
根据所述缓存区中所有图像标识中的L个图像标识,将对应的目标图像加载至所述缓存区;其中,L大于0且小于图像标识总数;
根据所述缓存区中每一所述目标图像,获得对应网格面片在所述目标图像的投影区域的初始颜色信息,并将对应目标图像从所述缓存区释放;
根据所述所有图像标识中的K个其他图像标识,将对应目标图像加载至所述缓存区,以获得对应网格面片在所述目标图像的投影区域的初始颜色信息,并将对应目标图像从所述缓存区释放,直至获得每一网格面片的投影区域的初始颜色信息为止;
根据所述缓存区中每一所述投影区域的初始颜色信息,确定每一所述网格面片的目标颜色调整值。
4.根据权利要求3所述的方法,其特征在于,所述根据所述缓存区中每一所述投影区域的初始颜色信息,确定每一所述网格面片的目标颜色调整值,包括:
以全局颜色调整值为自变量,根据所述缓存区中每一所述投影区域的初始颜色信息,构建全局颜色能量函数;
对所述全局颜色能量函数进行迭代优化处理,以确定满足特定条件的全局颜色调整值;
根据每一所述网格面片的投影区域的初始颜色信息和所述全局颜色调整值,确定每一所述网格面片的目标颜色调整值。
5.根据权利要求4所述的方法,其特征在于,所述根据每一所述网格面片的投影区域的初始颜色信息和所述全局颜色调整值,确定每一所述网格面片的目标颜色调整值,包括:
根据所述缓存区中所有图像标识中的R个图像标识,将对应目标图像加载至所述缓存区;其中,R大于0且小于图像标识总数;
根据所述缓存区中每一所述目标图像,获得对应网格面片在所述目标图像的投影区域的梯度信息,并将对应目标图像从所述缓存区释放;
根据所述所有图像标识中的T个其他图像标识,将对应目标图像加载至所述缓存区,以获得对应网格面片在所述目标图像的投影区域的梯度信息,并将对应目标图像从所述缓存区释放,直至获得每一网格面片的投影区域的梯度信息为止;
根据每一所述网格面片的投影区域的初始颜色信息、梯度信息和全局颜色调整值,确定对应网格面片的目标颜色调整值。
6.根据权利要求5所述的方法,其特征在于,所述根据每一所述网格面片的投影区域的初始颜色信息、梯度信息和全局颜色调整值,确定对应网格面片的目标颜色调整值,包括:
根据所述全局颜色调整值,对每一所述网格面片的投影区域的初始颜色信息进行调整,得到对应投影区域的全局颜色信息;
根据每一所述网格面片的投影区域的梯度信息和对应网格面片的邻居网格面片的投影区域的全局颜色信息,确定对应网格面片的局部颜色调整值;
根据每一所述网格面片的局部颜色调整值和全局颜色调整值,确定对应网格面片的目标颜色调整值。
7.根据权利要求2至6任一项所述的方法,其特征在于,所述根据所述缓存区中每一所述视角匹配值和对应的图像标识,确定与所述网格模型的每一所述网格面片相匹配的目标图像的图像标识,包括:
根据所述网格模型中每一所述网格面片之间的连接关系,建立以所述网格面片为节点的概率图模型;
以每一所述节点的目标视角为自变量,构建视角能量函数;
根据所述概率图模型、所述缓存区中每一所述视角匹配值和对应的图像标识,对所述视角能量函数进行迭代优化处理,以得到与每一所述网格面片的法线相匹配的目标视角,进而得到每一所述目标视角对应的目标图像的图像标识。
8.纹理贴图装置,其特征在于,包括:
数据加载模块,用于加载N张图像至缓存区;其中,N大于0的正整数;
确定模块,用于根据所述缓存区中每一所述图像,确定对应图像与所述对应图像在所述网格模型中观测到的网格面片之间的视角匹配值;
数据释放模块,用于将所述对应图像从所述缓存区释放;
数据加载模块,还用于加载M张其他图像至所述缓存区,以使所述确定模块确定所述M张其他图像中的每一图像的视角匹配值,并触发数据释放模块将对应图像从所述缓存区释放,直至获得用于构建所述网格模型的每一图像的视角匹配值为止,其中,M为大于0的正整数;
纹理贴图模块,用于根据所述缓存区中每一所述视角匹配值和对应的图像标识,对所述网格模型中的每一网格面片进行纹理贴图处理。
9.电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7任一项所述纹理贴图方法中的步骤。
10.计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7任一项所述纹理贴图方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010444007.8A CN111627119B (zh) | 2020-05-22 | 2020-05-22 | 纹理贴图方法及装置、设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010444007.8A CN111627119B (zh) | 2020-05-22 | 2020-05-22 | 纹理贴图方法及装置、设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111627119A true CN111627119A (zh) | 2020-09-04 |
CN111627119B CN111627119B (zh) | 2023-09-15 |
Family
ID=72260655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010444007.8A Active CN111627119B (zh) | 2020-05-22 | 2020-05-22 | 纹理贴图方法及装置、设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111627119B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112270737A (zh) * | 2020-11-25 | 2021-01-26 | 浙江商汤科技开发有限公司 | 一种纹理映射方法及装置、电子设备和存储介质 |
CN112734629A (zh) * | 2020-12-30 | 2021-04-30 | 广州极飞科技股份有限公司 | 一种正射影像生成方法、装置、设备及存储介质 |
CN114119848A (zh) * | 2021-12-05 | 2022-03-01 | 北京字跳网络技术有限公司 | 一种模型渲染方法、装置、计算机设备及存储介质 |
CN117173321A (zh) * | 2023-11-02 | 2023-12-05 | 埃洛克航空科技(北京)有限公司 | 一种三维重建纹理视图的选择方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107833253A (zh) * | 2017-09-22 | 2018-03-23 | 北京航空航天大学青岛研究院 | 一种面向rgbd三维重建纹理生成的相机姿态优化方法 |
CN108734728A (zh) * | 2018-04-25 | 2018-11-02 | 西北工业大学 | 一种基于高分辨序列图像的空间目标三维重构方法 |
CN110442393A (zh) * | 2019-07-17 | 2019-11-12 | 高新兴科技集团股份有限公司 | 地图动态加载方法、计算机存储介质及电子设备 |
-
2020
- 2020-05-22 CN CN202010444007.8A patent/CN111627119B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107833253A (zh) * | 2017-09-22 | 2018-03-23 | 北京航空航天大学青岛研究院 | 一种面向rgbd三维重建纹理生成的相机姿态优化方法 |
CN108734728A (zh) * | 2018-04-25 | 2018-11-02 | 西北工业大学 | 一种基于高分辨序列图像的空间目标三维重构方法 |
CN110442393A (zh) * | 2019-07-17 | 2019-11-12 | 高新兴科技集团股份有限公司 | 地图动态加载方法、计算机存储介质及电子设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112270737A (zh) * | 2020-11-25 | 2021-01-26 | 浙江商汤科技开发有限公司 | 一种纹理映射方法及装置、电子设备和存储介质 |
CN112734629A (zh) * | 2020-12-30 | 2021-04-30 | 广州极飞科技股份有限公司 | 一种正射影像生成方法、装置、设备及存储介质 |
CN114119848A (zh) * | 2021-12-05 | 2022-03-01 | 北京字跳网络技术有限公司 | 一种模型渲染方法、装置、计算机设备及存储介质 |
CN114119848B (zh) * | 2021-12-05 | 2024-05-14 | 北京字跳网络技术有限公司 | 一种模型渲染方法、装置、计算机设备及存储介质 |
CN117173321A (zh) * | 2023-11-02 | 2023-12-05 | 埃洛克航空科技(北京)有限公司 | 一种三维重建纹理视图的选择方法及装置 |
CN117173321B (zh) * | 2023-11-02 | 2024-02-23 | 埃洛克航空科技(北京)有限公司 | 一种三维重建纹理视图的选择方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111627119B (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111627119B (zh) | 纹理贴图方法及装置、设备、存储介质 | |
CN108335353B (zh) | 动态场景的三维重建方法、装置和系统、服务器、介质 | |
CN115082639B (zh) | 图像生成方法、装置、电子设备和存储介质 | |
US20190370989A1 (en) | Method and apparatus for 3-dimensional point cloud reconstruction | |
US20130083966A1 (en) | Match, Expand, and Filter Technique for Multi-View Stereopsis | |
CN109685879B (zh) | 多视影像纹理分布的确定方法、装置、设备和存储介质 | |
US11900529B2 (en) | Image processing apparatus and method for generation of a three-dimensional model used for generating a virtual viewpoint image | |
WO2020015464A1 (zh) | 关系网络图嵌入的方法及装置 | |
WO2021003807A1 (zh) | 一种图像深度估计方法及装置、电子设备、存储介质 | |
WO2021035627A1 (zh) | 获取深度图的方法、装置及计算机存储介质 | |
CN111868738B (zh) | 跨设备监控计算机视觉系统 | |
JP2022509329A (ja) | 点群融合方法及び装置、電子機器、コンピュータ記憶媒体並びにプログラム | |
CN114202632A (zh) | 网格线性结构恢复方法、装置、电子设备及存储介质 | |
CN115564639A (zh) | 背景虚化方法、装置、计算机设备和存储介质 | |
CN108986210B (zh) | 三维场景重建的方法和设备 | |
CN117726747A (zh) | 补全弱纹理场景的三维重建方法、装置、存储介质和设备 | |
CN112085842B (zh) | 深度值确定方法及装置、电子设备和存储介质 | |
CN116402934A (zh) | 一种面向三维重建的自动纹理贴图方法、终端及存储介质 | |
Hu et al. | 3D map reconstruction using a monocular camera for smart cities | |
Xia et al. | A coarse-to-fine ghost removal scheme for HDR imaging | |
US11893704B2 (en) | Image processing method and device therefor | |
CN114494623A (zh) | 基于lod的地形渲染方法及装置 | |
CN113706543A (zh) | 一种三维位姿的构建方法、设备及存储介质 | |
CN116109799B (zh) | 调整模型训练方法、装置、计算机设备及存储介质 | |
Wu et al. | Automatic image interpolation using homography |
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 |