CN114782663A - 3d图像处理方法、装置、电子设备和可读存储介质 - Google Patents
3d图像处理方法、装置、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN114782663A CN114782663A CN202210479784.5A CN202210479784A CN114782663A CN 114782663 A CN114782663 A CN 114782663A CN 202210479784 A CN202210479784 A CN 202210479784A CN 114782663 A CN114782663 A CN 114782663A
- Authority
- CN
- China
- Prior art keywords
- primitive
- head image
- image
- processed
- target
- 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
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
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/80—Shading
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
Abstract
本申请公开了一种3D图像处理方法、装置、电子设备和可读存储介质,涉及图像处理技术领域。其中,所述3D图像处理方法包括:获取目标3D头部图像及3D贴纸图像;基于渲染管线分别对所述目标3D头部图像及所述3D贴纸图像进行图元装配,得到与所述目标3D头部图像对应的第一图元以及与所述3D贴纸图像对应的第二图元;对所述第一图元及所述第二图元进行渲染管线的深度测试及背面剔除处理,得到所述第一图元对应的第一正面图元以及所述第二图元对应的第二正面图元;对所述第一正面图元及所述第二正面图元进行光栅化处理和着色处理,显示处理后的第二正面图元。
Description
技术领域
本申请涉及图像处理技术领域,具体涉及一种3D图像处理方法、装置、电子设备和可读存储介质。
背景技术
3D人脸贴纸,即是将建模好的3D模型素材,如3D眼镜、3D面具等以三维的方式贴合到二维画面中的人脸面部上,目前该项技术在移动端的拍摄类或短视频类应用中被广泛使用,在3D人脸贴纸技术中,通常需要解决一个头部遮挡显示问题,例如用户侧脸、低头、抬头等状态时被头部遮挡部分的3D贴纸显示问题。以3D眼镜为例,当用户向左侧脸时,那左侧被面部遮挡的眼镜支架部分不应该显示。目前,通常是采用3D人脸重建及蒙版生成和混合的方式,来实现头部遮挡内容的裁剪,但是这样的方式计算量大,计算实时性较差。
发明内容
本申请实施例提供了一种3D图像处理方法、装置、电子设备和可读存储介质,能够解决相关技术中3D图像处理计算量大的问题。
第一方面,本申请实施例提供了一种3D图像处理方法,包括:
获取目标3D头部图像及3D贴纸图像;
基于渲染管线分别对所述目标3D头部图像及所述3D贴纸图像进行图元装配,得到与所述目标3D头部图像对应的第一图元以及与所述3D贴纸图像对应的第二图元;
对所述第一图元及所述第二图元进行渲染管线的深度测试及背面剔除处理,得到所述第一图元对应的第一正面图元以及所述第二图元对应的第二正面图元;
对所述第一正面图元及所述第二正面图元进行光栅化处理和着色处理,显示处理后的第二正面图元。
第二方面,本申请实施例提供了一种3D图像处理装置,包括:
获取模块,用于获取目标3D头部图像及3D贴纸图像;
图元装配模块,用于基于渲染管线分别对所述目标3D头部图像及所述3D贴纸图像进行图元装配,得到与所述目标3D头部图像对应的第一图元以及与所述3D贴纸图像对应的第二图元;
第一处理模块,用于对所述第一图元及所述第二图元进行渲染管线的深度测试及背面剔除处理,得到所述第一图元对应的第一正面图元以及所述第二图元对应的第二正面图元;
第二处理模块,用于对所述第一正面图元及所述第二正面图元进行光栅化处理和着色处理,显示处理后的第二正面图元。
第三方面,本申请实施例提供了一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的3D图像处理方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的3D图像处理方法的步骤。
第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的3D图像处理方法的步骤。
本申请实施例提供的技术方案,通过目标3D头部图像来对3D贴纸图像进行场景构建,进而以借助目标3D头部图像来确定3D贴纸图像附着在目标3D头部图像上时可能会被遮挡的部分,以实现对3D贴纸图像在应用于3D头部图像上时被遮挡部分的处理,最终仅显示不会被遮挡的部分,也即实现了对3D贴纸图像遮挡部分的裁剪。本申请实施例提供的方案无需进行人脸重建及蒙版的生成等复杂的计算过程,通过利用渲染管线的遮挡处理优势,能够快速实现对3D贴纸图像遮挡部分的处理,计算量更低也更简单,进而该方法在计算能力较低的电子设备上也能够使用,更有利于增大3D贴纸图像的处理和应用范围。
附图说明
图1是本申请实施例提供的一种3D图像处理方法的流程图;
图2是本申请实施例提供的一种3D图像处理装置的结构图;
图3是本申请实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的3D图像处理方法进行详细地说明。
请参照图1,图1是本申请实施例提供的一种3D图像处理方法的流程图,如图1所示,所述方法包括以下步骤:
步骤101、获取目标3D头部图像及3D贴纸图像。
其中,所述目标3D头部图像可以是指待处理的3D头部图像,所述3D贴纸图像可以是附着在目标3D头部图像上的3D道具图像,例如所述3D贴纸图像可以是3D的眼镜图像、3D的帽子图像等。
需要说明地,本申请实施例提供的方法可以是应用与计算机、手机等电子设备,为更好地理解,后续将以电子设备作为所述方法的执行主体对本申请实施例提供的方法进行具体说明。
步骤102、基于渲染管线分别对所述目标3D头部图像及所述3D贴纸图像进行图元装配,得到与所述目标3D头部图像对应的第一图元以及与所述3D贴纸图像对应的第二图元。
可选地,电子设备可以是基于所述目标3D头部图像确定渲染场景,例如可以是将采集目标3D头部图像的摄像机放到目标3D头部图像的正前方,将摄像机的采集视野作为渲染场景,所述目标3D头部图像位于所述渲染场景中。在确定渲染场景后,初始化渲染管线,例如基于开放式接口程序OpenGL ES(OpenGL for Embedded Systems)初始化渲染管线,将所述目标3D头部图像及所述3D贴纸图像加载到初始化后的渲染管线中,基于渲染管线执行对所述目标3D头部图像及所述3D贴纸图像进行图元装配,得到与所述目标3D头部图像对应的第一图元以及与所述3D贴纸图像对应的第二图元。
步骤103、对所述第一图元及所述第二图元进行渲染管线的深度测试及背面剔除处理,得到所述第一图元对应的第一正面图元以及所述第二图元对应的第二正面图元。
本申请实施例中,3D贴纸图像是附着在目标3D头部图像的表面的,基于深度测试能够保留离摄像机最近的图元的原理,进而通过渲染管线的深度测试功能,能够得到第一图元对应的第一正面图元,以及第二图元对应的第二正面图元和反面图元(或者也称背面图元)。
进一步地,开启渲染管线的背面剔除功能,对所述第一图元对应的第一正面图元、第二图元对应的第二正面图元和反面图元进行背部剔除处理,则第二图元对应的反面图元将被剔除,得到剩余的第一正面图元和第二正面图元。
需要说明的是,3D贴纸图像是附着在目标3D头部图像的表面的,第二图元为3D贴纸图像通过图元装配得到,第二图元对应的反面图元也即3D贴纸图像中被目标3D头部图像遮挡的图元,通过渲染管线的背面剔除功能,也就将3D贴纸图像中被目标3D头部图像遮挡的图元进行了剔除。
步骤104、对所述第一正面图元和第二正面图元进行光栅化处理和着色处理,显示处理后的第二正面图元。
本步骤中,对第一正面图元和第二正面图元进行光栅化处理,然后基于渲染管线的片面着色器(fragment shader)中分别对光栅化处理后的第一正面图元和第二正面图元进行着色处理,其中对第一正面图元的透明度值赋0,也即表示第一正面图元为透明区域,进而第一正面图元也即不会显示,最终显示的也就只有第二正面图元。第二正面图元为3D贴纸图像通过图元装配得到,也即最终显示的只有3D贴纸图像的正面图元。
本申请实施例中,获取目标3D头部图像及3D贴纸图像,基于渲染管线分别对所述目标3D头部图像及所述3D贴纸图像进行图元装配,得到与所述目标3D头部图像对应的第一图元以及与所述3D贴纸图像对应的第二图元,然后对所述第一图元及所述第二图元进行渲染管线的深度测试及背面剔除处理,得到所述第一图元对应的第一正面图元以及所述第二图元对应的第二正面图元,对所述第一正面图元及所述第二正面图元进行光栅化处理和着色处理,最终显示处理后的第二正面图元。这样,通过目标3D头部图像来对3D贴纸图像进行场景构建,进而以借助目标3D头部图像来确定3D贴纸图像附着在目标3D头部图像上时可能会被遮挡的部分,以实现对3D贴纸图像在应用于3D头部图像上时被遮挡部分的处理,最终仅显示不会被遮挡的部分,也即实现了对3D贴纸图像遮挡部分的裁剪。本申请实施例提供的方案无需进行人脸重建及蒙版的生成等复杂的计算过程,通过利用渲染管线的遮挡处理优势,能够快速实现对3D贴纸图像遮挡部分的处理,计算量更低也更简单,进而该方法在计算能力较低的电子设备上也能够使用,更有利于增大3D贴纸图像的处理和应用范围。
可选地,所述获取目标3D头部图像,包括:
获取待处理的2D头部图像及基准3D头部图像,并获取将所述基准3D头部图像贴合到所述2D头部图像的几何变换矩阵;
基于所述几何变换矩阵对所述基准3D头部图像进行顶点变换,获得所述目标3D头部图像。
需要说明地,所述基准3D头部图像可以是基于业界开源的3D人脸模型数据库(如:基本人脸模型库(Basel Face Model,BFM))聚类出一个中性(正脸、无表情)的3D人脸模型,作为所述基准3D头部图像。其中,头部外包裹的表面为正面,外包裹的表面的反面为背面。所述待处理的2D头部图像可以是任意一个2D头部图像,或者也可以是与所述基准3D头部图像对应的2D头部图像。
可以理解地,基准3D头部图像是聚类出的一个3D人脸模型,而待处理的2D头部图像可以是任意一个2D头部图像,进而所述基准3D头部图像与待处理的2D头部图像并不一定适配,则将所述基准3D头部图像贴合到所述2D头部图像中,并获取所述基准3D头部图像贴合到所述2D头部图像的几何变换矩阵,基于所述几何变换矩阵对所述基准3D头部图像进行顶点变换,得到所述目标3D头部图像,也即3D贴纸所附着的3D头部图像。
本申请实施例中,通过计算基准3D头部图像贴合到2D头部图像的几何变换矩阵,并基于所述几何变换矩阵对所述基准3D头部图像进行顶点变换,来得到对3D贴纸图像进行场景构建的目标3D头部图像。这样,也就无需进行人脸面部3D形状构建,有效降低了计算量和处理复杂度。
可选地,所述获取待处理的2D头部图像及基准3D头部图像,并获取将所述基准3D头部图像贴合到所述2D头部图像的几何变换矩阵,包括:
获取基准3D头部图像,并获取所述基准3D头部图像投影到2D平面的投影矩阵;
获取待处理的2D头部图像,并获取所述待处理的2D头部图像的人脸姿态欧拉角,将所述人脸姿态欧拉角转换为旋转矩阵;
基于所述投影矩阵及所述旋转矩阵,获取所述基准3D头部图像贴合到所述待处理的2D头部图像的缩放系数及平移向量;
基于所述旋转矩阵、所述缩放系数及所述平移向量,获取所述基准3D头部图像贴合到所述待处理的2D头部图像的几何旋转矩阵。
具体地,定义所述基准3D头部图像投影到2D平面的投影矩阵为P,则:
其中,n为近裁剪平面位置参数,f为远裁剪平面位置参数,θ为视野角位置参数,aspect为视口纵横比参数(图像宽高比)。
在确定待处理的2D头部图像后,获取所述待处理的2D头部图像的人脸姿态欧拉角,记为(α,β,γ),将所述人脸姿态欧拉角转换为旋转矩阵R:
基于上述投影矩阵和旋转矩阵,获取所述基准3D头部图像贴合到所述待处理的2D头部图像的缩放系数及平移向量。
例如,使用上述投影矩阵和旋转矩阵,对基准3D头部图像中的某两个位置点进行2D投影,并以这两个位置点之间的距离为标准,进而得到所述基准3D头部图像贴合到所述待处理的2D头部图像的缩放系数。
可选地,对于平移向量的获取,可以是以基准3D头部图像中的另一个位置点为参考点,并对待处理的2D头部图像中与该参考点对应的位置点进行逆向投影,得到该位置点在投影前的3D坐标,基于该3D坐标与基准3D头部图像中的参考点的3D坐标的差值,也即能够得到所述基准3D头部图像贴合到所述待处理的2D头部图像的平移向量。
进一步地,基于所述旋转矩阵、所述缩放系数及所述平移向量,获取所述基准3D头部图像贴合到所述待处理的2D头部图像的几何旋转矩阵。可选地,所几何旋转矩阵可以是所述旋转矩阵、所述缩放系数及所述平移向量的乘积。
本申请实施例中,基于对基准3D头部图像以及待处理的2D头部图像进行投影、角度转换及贴合等方式,最终获得所述基准3D头部图像贴合到所述待处理的2D头部图像的几何旋转矩阵,进而无需进行人脸面部3D形状构建,有效降低了计算量和处理复杂度。
可选地,所述方法还包括:
对所述待处理的2D头部图像进行人脸关键点检测,得到预设数量的人脸关键点。
例如,可以是基于预设的106人脸关键点检测模型,对所述待处理的2D头部图像进行人脸关键点检测,得到106个2D人脸关键点,记为L2d。
可选地,所述基于所述投影矩阵及所述旋转矩阵,获取所述基准3D头部图像贴合到所述待处理的2D头部图像的缩放系数,包括:
获取所述基准3D头部图像中的第一位置点和第二位置点,所述第一位置点和所述第二位置点与所述预设数量的人脸关键点中的两个关键点位置对应;
基于所述投影矩阵及所述旋转矩阵对所述第一位置点和所述第二位置点进行2D投影,并获取2D投影后的所述第一位置点和所述第二位置点之间的第一距离;
基于所述第一距离获取所述基准3D头部图像贴合到所述待处理的2D头部图像的缩放系数。
本申请实施例中,在得到基准3D头部图像投影到2D平面的投影矩阵,以及基于待处理的2D头部图像的人脸姿态欧拉角得到旋转矩阵后,基于所述投影矩阵和旋转矩阵来获取述基准3D头部图像贴合到所述待处理的2D头部图像的缩放系数。
可选地,利用所述投影矩阵和旋转矩阵,对所述基准3D头部图像中的左眼瞳孔中心点(对应106人脸关键点中的74号点,也即第一位置点)和右眼瞳孔中心点(对应106人脸关键点中的77号点,也即第二位置点)进行2D投影,并以瞳距(左眼瞳孔中心点与右眼瞳孔中心点之间的距离)为标准,基于所述瞳距得到所述基准3D头部图像贴合到所述待处理的2D头部图像的缩放系数S,缩放系数S的计算公式如下:
这样,也就能够通过计算基准3D头部图像中的第一位置点和第二位置点之间的距离,结合上述旋转矩阵和投影矩阵,计算得到所述基准3D头部图像贴合到所述待处理的2D头部图像的缩放系数,进而也就无需对2D头部图像进行3D形状构建,有效降低了计算量和复杂度。
可选地,所述获取所述基准3D头部图像贴合到所述待处理的2D头部图像的平移向量,包括:
获取所述基准3D头部图像中的第三位置点,所述第三位置点与所述预设数量的人脸关键点中的一个关键点位置对应,且不同于所述第一位置点和所述第二位置点;
获取所述待处理的2D头部图像中与所述第三位置点对应的第四位置点,并对所述第四位置点进行3D逆向投影,得到所述第三位置点在3D空间的第一3D坐标;
获取所述基准3D头部图像中所述第三位置点对应的第二3D坐标;
基于所述第一3D坐标及所述第二3D坐标确定所述基准3D头部图像贴合到所述待处理的2D头部图像的平移向量。
本申请实施例中,在基于预设的106人脸关键点检测模型,对所述待处理的2D头部图像进行人脸关键点检测,得到106个2D人脸关键点后,获取所述待处理的2D头部图像中与基准3D头部图像中的第三位置点对应的第四位置点,并对该第四位置点进行3D逆向投影。
例如,以所述基准3D头部图像中的鼻尖中心(对应106人脸关键点中的46号点,也即第三位置点)为参考点,对待处理的2D头部图像中的鼻尖中心这一位置点的2D坐标进进行逆向投影,得到该2D坐标在投影前(3D空间下)的3D坐标,基于该3D坐标与所述基准3D头部图像中的46号点的3D坐标的差值,得到所述基准3D头部图像贴合到所述待处理的2D头部图像的平移向量T,所述平移向量T的计算公式如下:
其中,P为上述投影矩阵,为46号点的3D坐标中的x轴坐标,为46号点的3D坐标中的y轴坐标,为46号点的3D坐标中的z轴坐标,为46号点的2D坐标中的x轴坐标,为46号点的2D坐标中的y轴坐标,为46号点的2D坐标中的z轴坐标。
进一步地,在计算得到上述旋转矩阵R、缩放系数S及平移向量T后,基于所述旋转矩阵R、缩放系数S及平移向量T,获取所述基准3D头部图像贴合到所述待处理的2D头部图像的几何旋转矩阵M,其中:
M=S*R*T
进一步地,也就能够基于所述几何变换矩阵M对基准3D头部图像进行顶点变换,获得目标3D头部图像,从而避免了3D人脸重建的过程,有效节省了计算资源。
可选地,基于上述几何变换矩阵M和投影矩阵P,对所述基准3D头部图像中的每个顶点进行几何变换,得到目标3D头部图像,其中单个顶点的几何变换计算公式为:
V′=P*M*V
其中,V为基准3D头部图像中的顶点,V′为目标3D头部图像中的顶点,M为上述几何变换矩阵,P为上述投影矩阵。
本申请实施例中,所述基于渲染管线分别对所述目标3D头部图像及所述3D贴纸图像进行图元装配,得到与所述目标3D头部图像对应的第一图元以及与所述3D贴纸图像对应的第二图元,包括:
根据所述目标3D头部图像的图像采集位置,确定渲染场景,并初始化渲染管线;
将所述目标3D头部图像加载至所述渲染管线中,基于所述渲染管线执行对所述目标3D头部图像的图元装配,得到第一图元;
基于所述几何变换矩阵对所述3D贴纸图像进行几何变换,并将几何变换后的3D贴纸图像加载至所述渲染管线中;
基于所述渲染管线执行对所述几何变换后的3D贴纸图像的图元装配,得到第二图元。
可选地,所述根据目标3D头部图像的图像采集位置确定渲染场景,可以是将采集目标3D头部图像的摄像机放到目标3D头部图像的正前方,将摄像机的采集视野作为渲染场景,所述目标3D头部图像位于所述渲染场景中。在确定渲染场景后,初始化渲染管线,例如基于开放式接口程序OpenGL ES(OpenGL for Embedded Systems)初始化渲染管线。
进一步地,将所述目标3D头部图像加载到初始化后的渲染管线中,基于渲染管线执行对所述目标3D头部图像图元装配,得到与所述目标3D头部图像对应的第一图元。另外,基于上述几何变换矩阵M对3D贴纸图像进行几何变换,并加载3D贴纸图像的相关渲染资源(例如:光照、贴图、模型等),并将几何变换后的3D贴纸图像及相关渲染资源加载至渲染管线中,基于所述渲染管线执行对几何变换后的3D贴纸图像和相关渲染资源的图元装配,得到所述3D贴纸图像对应的第二图元。
可选地,所述对所述第一图元及所述第二图元进行渲染管线的深度测试及背面剔除处理,得到所述第一图元对应的第一正面图元以及所述第二图元对应的第二正面图元,包括:
对所述第一图元及所述第二图元进行渲染管线的深度测试,得到所述第一图元对应的第一正面图元,以及所述第二图元对应的第二正面图元及反面图元;
基于所述渲染管线对所述第一正面图元、所述第二正面图元及所述反面图元进行背面剔除处理,得到所述第一正面图元及所述第二正面图元。
本申请实施例中,在基于渲染管线分别对所述目标3D头部图像及所述3D贴纸图像进行图元装配,得到与所述目标3D头部图像对应的第一图元以及与所述3D贴纸图像对应的第二图元后,开启所述渲染管线的深度测试功能,由于3D贴纸图像是附着在目标3D头部图像的表面,基于深度测试功能会保留距离摄像机最近的图元。进而,在执行深度测试后,能够分别得到所述第一图元中无面部遮挡的图元(也即第一正面图元),以及得到所述第二图元中有面部遮挡的图元(也即反面图元)、和无面部遮挡且无3D贴纸图像遮挡的图元(也即第二正面图元)。
进一步地,开启渲染管线的背面剔除功能,对上述第一正面图元、第二正面图元及反面图元进行背面剔除处理,进而上述有面部遮挡的图元也即反面图元将被剔除,得到剩余的第一正面图元和第二正面图元。
本申请实施例中,基于渲染管线的深度测试功能和背面剔除功能,对第一图元和第二图元分别进行深度测试处理和背面剔除处理,进而能够将第一图元和第二图元中有遮挡的图元剔除,从而也就实现了对3D贴纸图像中遮挡部分的去除。
可选地,对所述第一正面图元及所述第二正面图元进行光栅化处理和着色处理,显示处理后的第二正面图元,包括:
对所述第一正面图元及所述第二正面图元进行光栅化处理,并基于渲染管线的着色功能和阿尔法alpha混合功能对光栅化处理后的第一正面图元及第二正面图元进行着色处理,显示处理后的第二正面图元。
本申请实施例中,在将3D贴纸图像中被遮挡的反面图元剔除后,对剩余的第一正面图元及第二正面图元进行光栅化处理,然后在渲染管线的片面着色器(fragmentshader)中分别对所述第一正面图元和第二正面图元光栅化后的像素结果做着色处理,其中对第一正面图元的透明度值赋0,也即表示第一正面图元为透明区域,进而第一正面图元也即不会显示,最终显示的也就只有第二正面图元。
可以理解地,第二正面图元为3D贴纸图像通过图元装配得到,也即最终显示的只有3D贴纸图像的正面图元,而目标3D头部图像也即相当于为3D贴纸图像提供了场景构建,进而以借助目标3D头部图像来确定3D贴纸图像附着在目标3D头部图像上时可能会被遮挡的部分,以实现对3D贴纸图像在应用于3D头部图像上时被遮挡部分的处理,最终仅显示不会被遮挡的部分,也即实现了对3D贴纸图像遮挡部分的裁剪。
可选地,所述对所述第一正面图元及所述第二正面图元进行光栅化处理,并基于渲染管线的着色功能和阿尔法alpha混合功能对光栅化处理后的第一正面图元及第二正面图元进行着色处理,显示处理后的第二正面图元,包括:
对所述第一正面图元及所述第二正面图元进行光栅化处理,获取所述第一正面图元光栅化处理后的第一像素结果及所述第二正面图元光栅化处理后的第二像素结果;
基于所述渲染管线的着色器对所述第一像素结果进行处理,处理后的第一像素结果的透明度值为0;
基于所述渲染管线的alpha混合功能对处理后的第一像素结果及所述第二像素结果进行显示处理;
显示所述第二正面图元对应的第二像素结果。
具体地,基于渲染管线对上述第一正面图元及第二正面图元进行光栅化处理,得到第一正面图元光栅化处理后的第一像素结果,以及第二正面图元光栅化处理后的第二像素结果;进一步地,在渲染管线的片面着色器中分别对第一像素结果和第二像素结果进行不同的处理,其中第二像素结果可以是不做处理,或者说处理后保持原样输出,第一像素结果设置为(x,y,z,w),其中(x,y,z)为颜色值,例如RGB值,可任意取值,如白色(1,1,1),w为透明度值,取值为0,表示该第一像素结果对应的第一正面图元区域为透明区域。
进一步地,基于渲染管线的颜色混模型,配置混合因子为alpha混合,基于渲染管线像素alpha混合后,透明度值为0的像素将不会显示的原理,进而第一正面图元对应的第一像素结果也即不会显示,进而最终只会显示第二正面图元对应的第二像素结果,也即3D贴纸图像的正面图元部分,这样也就完成了对3D贴纸图像被遮挡部分的裁剪和未遮挡部分的显示。
本申请实施例提供了一种快速的面部遮挡内容裁剪方案,基于人脸关键点检测技术,并结合渲染管线的深度测试(Depth Test)、背面剔除(Face Culling)、颜色混合(Blending)技术,对头部遮挡部分的3D贴纸图像进行剪裁,进而以显示3D贴纸图像未被遮挡部分,这样也就无需进行人脸重建及蒙版的生成等复杂计算过程,计算量更低也更简单,进而该方法在计算能力较低的电子设备上也能够使用,具有更大的应用范围。
请参照图2,图2是本申请实施例提供的一种3D图像处理装置的结构图,如图2所示,所述3D图像处理装置200包括:
获取模块201,用于获取目标3D头部图像及3D贴纸图像;
图元装配模块202,用于基于渲染管线分别对所述目标3D头部图像及所述3D贴纸图像进行图元装配,得到与所述目标3D头部图像对应的第一图元以及与所述3D贴纸图像对应的第二图元;
第一处理模块203,用于对所述第一图元及所述第二图元进行渲染管线的深度测试及背面剔除处理,得到所述第一图元对应的第一正面图元以及所述第二图元对应的第二正面图元;
第二处理模块204,用于对所述第一正面图元及所述第二正面图元进行光栅化处理和着色处理,显示处理后的第二正面图元。
可选地,所述获取模块201包括:
获取单元,用于获取待处理的2D头部图像及基准3D头部图像,并获取将所述基准3D头部图像贴合到所述2D头部图像的几何变换矩阵;
变换单元,用于基于所述几何变换矩阵对所述基准3D头部图像进行顶点变换,获得所述目标3D头部图像。
可选地,所述图元装配模块202还用于:
根据所述目标3D头部图像的图像采集位置,确定渲染场景,并初始化渲染管线;
将所述目标3D头部图像加载至所述渲染管线中,基于所述渲染管线执行对所述目标3D头部图像的图元装配,得到第一图元;
基于所述几何变换矩阵对所述3D贴纸图像进行几何变换,并将几何变换后的3D贴纸图像加载至所述渲染管线中;
基于所述渲染管线执行对所述几何变换后的3D贴纸图像的图元装配,得到第二图元。
可选地,所述第一处理模块203还用于:
对所述第一图元及所述第二图元进行渲染管线的深度测试,得到所述第一图元对应的第一正面图元,以及所述第二图元对应的第二正面图元及反面图元;
基于所述渲染管线对所述第一正面图元、所述第二正面图元及所述反面图元进行背面剔除处理,得到所述第一正面图元及所述第二正面图元。
可选地,所述第二处理模块204还用于:
对所述第一正面图元及所述第二正面图元进行光栅化处理,并基于渲染管线的着色功能和阿尔法alpha混合功能对光栅化处理后的第一正面图元及第二正面图元进行着色处理,显示处理后的第二正面图元。
可选地,所述第二处理模块204还用于:
对所述第一正面图元及所述第二正面图元进行光栅化处理,获取所述第一正面图元光栅化处理后的第一像素结果及所述第二正面图元光栅化处理后的第二像素结果;
基于所述渲染管线的着色器对所述第一像素结果进行处理,处理后的第一像素结果的透明度值为0;
基于所述渲染管线的alpha混合功能对处理后的第一像素结果及所述第二像素结果进行显示处理;
显示所述第二正面图元对应的第二像素结果。
可选地,所述获取单元还用于:
获取基准3D头部图像,并获取所述基准3D头部图像投影到2D平面的投影矩阵;
获取待处理的2D头部图像,并获取所述待处理的2D头部图像的人脸姿态欧拉角,将所述人脸姿态欧拉角转换为旋转矩阵;
基于所述投影矩阵及所述旋转矩阵,获取所述基准3D头部图像贴合到所述待处理的2D头部图像的缩放系数及平移向量;
基于所述旋转矩阵、所述缩放系数及所述平移向量,获取所述基准3D头部图像贴合到所述待处理的2D头部图像的几何旋转矩阵。
可选地,所述获取单元还用于:
对所述待处理的2D头部图像进行人脸关键点检测,得到预设数量的人脸关键点;
获取所述基准3D头部图像中的第一位置点和第二位置点,所述第一位置点和所述第二位置点与所述预设数量的人脸关键点中的两个关键点位置对应;
基于所述投影矩阵及所述旋转矩阵对所述第一位置点和所述第二位置点进行2D投影,并获取2D投影后的所述第一位置点和所述第二位置点之间的第一距离;
基于所述第一距离获取所述基准3D头部图像贴合到所述待处理的2D头部图像的缩放系数。
可选地,所述获取单元还用于:
获取所述基准3D头部图像中的第三位置点,所述第三位置点与所述预设数量的人脸关键点中的一个关键点位置对应,且不同于所述第一位置点和所述第二位置点;
获取所述待处理的2D头部图像中与所述第三位置点对应的第四位置点,并对所述第四位置点进行3D逆向投影,得到所述第三位置点在3D空间的第一3D坐标;
获取所述基准3D头部图像中所述第三位置点对应的第二3D坐标;
基于所述第一3D坐标及所述第二3D坐标确定所述基准3D头部图像贴合到所述待处理的2D头部图像的平移向量。
本实施例提供的3D图像处理装置200,通过目标3D头部图像来对3D贴纸图像进行场景构建,进而以借助目标3D头部图像来确定3D贴纸图像附着在目标3D头部图像上时可能会被遮挡的部分,以实现对3D贴纸图像在应用于3D头部图像上时被遮挡部分的处理,最终仅显示不会被遮挡的部分,也即实现了对3D贴纸图像遮挡部分的裁剪。本申请实施例提供的方案无需进行人脸重建及蒙版的生成等复杂的计算过程,通过利用渲染管线的遮挡处理优势,能够快速实现对3D贴纸图像遮挡部分的处理,计算量更低也更简单。
本申请实施例中的3D图像处理装置200可以是电子设备,也可以是电子设备中的部件,例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、移动上网装置(Mobile Internet Device,MID)、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、机器人、可穿戴设备、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,本申请实施例不作具体限定。
本申请实施例中的3D图像处理装置200可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的3D图像处理装置200能够实现图1所述方法实施例实现的各个过程,为避免重复,这里不再赘述。
本申请实施例还提供了一种电子设备。请参见图3,图3是本申请实施例提供的一种电子设备的结构图,如图3所示,所述电子设备包括:处理器300、存储器320及存储在所述存储器320上并可在所述处理器300上运行的程序或指令,处理器300,用于读取存储器320中的程序或指令;所述电子设备还包括总线接口和收发机310。
收发机310,用于在处理器300的控制下接收和发送数据。
其中,在图3中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器300代表的一个或多个处理器和存储器320代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机310可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器300负责管理总线架构和通常的处理,存储器320可以存储处理器300在执行操作时所使用的数据。
其中,处理器300,用于读取存储器320中的程序或指令,执行如下步骤:
获取目标3D头部图像及3D贴纸图像;
基于渲染管线分别对所述目标3D头部图像及所述3D贴纸图像进行图元装配,得到与所述目标3D头部图像对应的第一图元以及与所述3D贴纸图像对应的第二图元;
对所述第一图元及所述第二图元进行渲染管线的深度测试及背面剔除处理,得到所述第一图元对应的第一正面图元以及所述第二图元对应的第二正面图元;
对所述第一正面图元及所述第二正面图元进行光栅化处理和着色处理,显示处理后的第二正面图元。
可选地,处理器300,还用于读取存储器320中的程序或指令,执行图1所述方法实施例中的各个步骤,本申请实施例不再赘述。
本申请实施例中,电子设备通过目标3D头部图像来对3D贴纸图像进行场景构建,进而以借助目标3D头部图像来确定3D贴纸图像附着在目标3D头部图像上时可能会被遮挡的部分,以实现对3D贴纸图像在应用于3D头部图像上时被遮挡部分的处理,最终仅显示不会被遮挡的部分,也即实现了对3D贴纸图像遮挡部分的裁剪,进而电子设备无需进行人脸重建及蒙版的生成等复杂的计算过程,通过利用渲染管线的遮挡处理优势,能够快速实现对3D贴纸图像遮挡部分的处理,计算量更低也更简单。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述图1所述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述图1所述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (12)
1.一种3D图像处理方法,其特征在于,包括:
获取目标3D头部图像及3D贴纸图像;
基于渲染管线分别对所述目标3D头部图像及所述3D贴纸图像进行图元装配,得到与所述目标3D头部图像对应的第一图元以及与所述3D贴纸图像对应的第二图元;
对所述第一图元及所述第二图元进行渲染管线的深度测试及背面剔除处理,得到所述第一图元对应的第一正面图元以及所述第二图元对应的第二正面图元;
对所述第一正面图元及所述第二正面图元进行光栅化处理和着色处理,显示处理后的第二正面图元。
2.根据权利要求1所述的方法,其特征在于,所述获取目标3D头部图像,包括:
获取待处理的2D头部图像及基准3D头部图像,并获取将所述基准3D头部图像贴合到所述2D头部图像的几何变换矩阵;
基于所述几何变换矩阵对所述基准3D头部图像进行顶点变换,获得所述目标3D头部图像。
3.根据权利要求2所述的方法,其特征在于,所述基于渲染管线分别对所述目标3D头部图像及所述3D贴纸图像进行图元装配,得到与所述目标3D头部图像对应的第一图元以及与所述3D贴纸图像对应的第二图元,包括:
根据所述目标3D头部图像的图像采集位置,确定渲染场景,并初始化渲染管线;
将所述目标3D头部图像加载至所述渲染管线中,基于所述渲染管线执行对所述目标3D头部图像的图元装配,得到第一图元;
基于所述几何变换矩阵对所述3D贴纸图像进行几何变换,并将几何变换后的3D贴纸图像加载至所述渲染管线中;
基于所述渲染管线执行对所述几何变换后的3D贴纸图像的图元装配,得到第二图元。
4.根据权利要求1所述的方法,其特征在于,所述对所述第一图元及所述第二图元进行渲染管线的深度测试及背面剔除处理,得到所述第一图元对应的第一正面图元以及所述第二图元对应的第二正面图元,包括:
对所述第一图元及所述第二图元进行渲染管线的深度测试,得到所述第一图元对应的第一正面图元,以及所述第二图元对应的第二正面图元及反面图元;
基于所述渲染管线对所述第一正面图元、所述第二正面图元及所述反面图元进行背面剔除处理,得到所述第一正面图元及所述第二正面图元。
5.根据权利要求1所述的方法,其特征在于,对所述第一正面图元及所述第二正面图元进行光栅化处理和着色处理,显示处理后的第二正面图元,包括:
对所述第一正面图元及所述第二正面图元进行光栅化处理,并基于渲染管线的着色功能和阿尔法alpha混合功能对光栅化处理后的第一正面图元及第二正面图元进行着色处理,显示处理后的第二正面图元。
6.根据权利要求5所述的方法,其特征在于,所述对所述第一正面图元及所述第二正面图元进行光栅化处理,并基于渲染管线的着色功能和阿尔法alpha混合功能对光栅化处理后的第一正面图元及第二正面图元进行着色处理,显示处理后的第二正面图元,包括:
对所述第一正面图元及所述第二正面图元进行光栅化处理,获取所述第一正面图元光栅化处理后的第一像素结果及所述第二正面图元光栅化处理后的第二像素结果;
基于所述渲染管线的着色器对所述第一像素结果进行处理,处理后的第一像素结果的透明度值为0;
基于所述渲染管线的alpha混合功能对处理后的第一像素结果及所述第二像素结果进行显示处理;
显示所述第二正面图元对应的第二像素结果。
7.根据权利要求2所述的方法,其特征在于,所述获取待处理的2D头部图像及基准3D头部图像,并获取将所述基准3D头部图像贴合到所述2D头部图像的几何变换矩阵,包括:
获取基准3D头部图像,并获取所述基准3D头部图像投影到2D平面的投影矩阵;
获取待处理的2D头部图像,并获取所述待处理的2D头部图像的人脸姿态欧拉角,将所述人脸姿态欧拉角转换为旋转矩阵;
基于所述投影矩阵及所述旋转矩阵,获取所述基准3D头部图像贴合到所述待处理的2D头部图像的缩放系数及平移向量;
基于所述旋转矩阵、所述缩放系数及所述平移向量,获取所述基准3D头部图像贴合到所述待处理的2D头部图像的几何旋转矩阵。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
对所述待处理的2D头部图像进行人脸关键点检测,得到预设数量的人脸关键点;
所述基于所述投影矩阵及所述旋转矩阵,获取所述基准3D头部图像贴合到所述待处理的2D头部图像的缩放系数,包括:
获取所述基准3D头部图像中的第一位置点和第二位置点,所述第一位置点和所述第二位置点与所述预设数量的人脸关键点中的两个关键点位置对应;
基于所述投影矩阵及所述旋转矩阵对所述第一位置点和所述第二位置点进行2D投影,并获取2D投影后的所述第一位置点和所述第二位置点之间的第一距离;
基于所述第一距离获取所述基准3D头部图像贴合到所述待处理的2D头部图像的缩放系数。
9.根据权利要求8所述的方法,其特征在于,所述获取所述基准3D头部图像贴合到所述待处理的2D头部图像的平移向量,包括:
获取所述基准3D头部图像中的第三位置点,所述第三位置点与所述预设数量的人脸关键点中的一个关键点位置对应,且不同于所述第一位置点和所述第二位置点;
获取所述待处理的2D头部图像中与所述第三位置点对应的第四位置点,并对所述第四位置点进行3D逆向投影,得到所述第三位置点在3D空间的第一3D坐标;
获取所述基准3D头部图像中所述第三位置点对应的第二3D坐标;
基于所述第一3D坐标及所述第二3D坐标确定所述基准3D头部图像贴合到所述待处理的2D头部图像的平移向量。
10.一种3D图像处理装置,其特征在于,包括:
获取模块,用于获取目标3D头部图像及3D贴纸图像;
图元装配模块,用于基于渲染管线分别对所述目标3D头部图像及所述3D贴纸图像进行图元装配,得到与所述目标3D头部图像对应的第一图元以及与所述3D贴纸图像对应的第二图元;
第一处理模块,用于对所述第一图元及所述第二图元进行渲染管线的深度测试及背面剔除处理,得到所述第一图元对应的第一正面图元以及所述第二图元对应的第二正面图元;
第二处理模块,用于对所述第一正面图元及所述第二正面图元进行光栅化处理和着色处理,显示处理后的第二正面图元。
11.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-9中任一项所述的3D图像处理方法的步骤。
12.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-9中任一项所述的3D图像处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210479784.5A CN114782663A (zh) | 2022-05-05 | 2022-05-05 | 3d图像处理方法、装置、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210479784.5A CN114782663A (zh) | 2022-05-05 | 2022-05-05 | 3d图像处理方法、装置、电子设备和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114782663A true CN114782663A (zh) | 2022-07-22 |
Family
ID=82434806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210479784.5A Pending CN114782663A (zh) | 2022-05-05 | 2022-05-05 | 3d图像处理方法、装置、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114782663A (zh) |
-
2022
- 2022-05-05 CN CN202210479784.5A patent/CN114782663A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11790482B2 (en) | Mixed reality system with virtual content warping and method of generating virtual content using same | |
AU2013266187B2 (en) | Systems and methods for rendering virtual try-on products | |
JP6425780B1 (ja) | 画像処理システム、画像処理装置、画像処理方法及びプログラム | |
CN109829981B (zh) | 三维场景呈现方法、装置、设备及存储介质 | |
US8698804B2 (en) | Image processing apparatus and image processing method | |
WO2015123775A1 (en) | Systems and methods for incorporating a real image stream in a virtual image stream | |
CN108230384B (zh) | 图像深度计算方法、装置、存储介质和电子设备 | |
EP3571670B1 (en) | Mixed reality object rendering | |
CN113366491B (zh) | 眼球追踪方法、装置及存储介质 | |
CN110753954A (zh) | 用于组合彩色3d图像的系统和方法 | |
Maurus et al. | Realistic heatmap visualization for interactive analysis of 3D gaze data | |
EP3998582A1 (en) | Three-dimensional model generation method and three-dimensional model generation device | |
CN113724391A (zh) | 三维模型构建方法、装置、电子设备和计算机可读介质 | |
US11017557B2 (en) | Detection method and device thereof | |
CN108615261B (zh) | 增强现实中图像的处理方法、处理装置及存储介质 | |
CN114782663A (zh) | 3d图像处理方法、装置、电子设备和可读存储介质 | |
CN113643343B (zh) | 深度估计模型的训练方法、装置、电子设备及存储介质 | |
JP7319215B2 (ja) | 情報システム、端末及びプログラム | |
JPH09138865A (ja) | 3次元形状データ処理装置 | |
WO1995024021A1 (en) | Texture mapping | |
EP4258221A2 (en) | Image processing apparatus, image processing method, and program | |
US20240096041A1 (en) | Avatar generation based on driving views | |
CN117422814A (zh) | 一种基于OpenGL的3D液晶仪表系统控制系统及方法 | |
CN117036444A (zh) | 三维模型输出方法、装置、设备及计算机可读存储介质 | |
CN111652979A (zh) | 一种实现ar的方法和系统 |
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 |