本申请涉及计算机技术领域,特别是涉及一种三维模型处理方法、装置、电子设备、计算机可读存储介质。
背景技术:
实体场景中的物体可以通过二维的图像进行表示,也可以通过三维模型进行表示。二维图像中只能获取到物体的纹理、色彩、亮度等信息,而无法得到物体的深度信息。三维模型则可以将物体通过一个空间坐标系进行表示,不仅可以得到物体的纹理、色彩和亮度等信息,还可以得到物体的深度信息,使物体显得更加立体。
技术实现要素:
本申请实施例提供一种三维模型处理方法、装置、电子设备、计算机可读存储介质,可以实现对三维模型更精准地处理。
一种三维模型处理方法,包括:
获取人脸三维模型,以及所述人脸三维模型所处的三维空间坐标系中的光源中心点;
获取所述光源中心点与所述人脸三维模型之间的光源距离,以及所述光源中心点相对于所述人脸三维模型的光源方向;
根据所述光源距离和光源方向生成目标光效模型,其中,所述目标光效模型用于模拟以所述光源中心点为光源所发出的光线变化;
根据所述目标光效模型对所述人脸三维模型进行光效处理。
一种三维模型处理装置,包括:
人脸模型获取模块,用于获取人脸三维模型,以及所述人脸三维模型所处的三维空间坐标系中的光源中心点;
距离获取模块,用于获取所述光源中心点与所述人脸三维模型之间的光源距离,以及所述光源中心点相对于所述人脸三维模型的光源方向;
光效模型获取模块,用于根据所述光源距离和光源方向生成目标光效模型,其中,所述目标光效模型用于模拟以所述光源中心点为光源所发出的光线变化;
光效处理模块,用于根据所述目标光效模型对所述人脸三维模型进行光效处理。
一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
获取人脸三维模型,以及所述人脸三维模型所处的三维空间坐标系中的光源中心点;
获取所述光源中心点与所述人脸三维模型之间的光源距离,以及所述光源中心点相对于所述人脸三维模型的光源方向;
根据所述光源距离和光源方向生成目标光效模型,其中,所述目标光效模型用于模拟以所述光源中心点为光源所发出的光线变化;
根据所述目标光效模型对所述人脸三维模型进行光效处理。
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如下步骤:
获取人脸三维模型,以及所述人脸三维模型所处的三维空间坐标系中的光源中心点;
获取所述光源中心点与所述人脸三维模型之间的光源距离,以及所述光源中心点相对于所述人脸三维模型的光源方向;
根据所述光源距离和光源方向生成目标光效模型,其中,所述目标光效模型用于模拟以所述光源中心点为光源所发出的光线变化;
根据所述目标光效模型对所述人脸三维模型进行光效处理。
上述三维模型处理方法、装置、电子设备、计算机可读存储介质,可以获取人脸三维模型,以及人脸三维模型所处的三维空间坐标系中的光源中心点。然后计算光源中心点与人脸三维模型之间的光源距离,以及光源中心点相对于人脸三维模型的光源方向。最后根据光源距离和光源方向生成目标光效模型,并根据目标光效模型对人脸三维模型进行光效处理。这样可以根据光源中心点生成目标光效模型,从而对人脸三维模型实现光效处理,模拟真实光源照射人脸三维模型的效果,使得人脸三维模型显得更加真实,实现对三维模型更精准地处理。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中三维模型处理方法的应用场景图;
图2为一个实施例中三维模型处理方法的流程图;
图3为另一个实施例中三维模型处理方法的流程图;
图4为一个实施例中人脸三维模型和光源中心点在三维空间坐标系中的展示示意图;
图5为又一个实施例中三维模型处理方法的流程图;
图6为一个实施例中三维模型处理装置的结构示意图;
图7为一个实施例中图像处理电路的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一光效模型称为第二光效模型,且类似地,可将第二光效模型称为第一光效模型。第一光效模型和第二光效模型两者都是光效模型,但其不是同一光效模型。
图1为一个实施例中三维模型处理方法的应用场景图。如图1所示,该应用场景图中包含人脸102和电子设备104。电子设备104上可以安装摄像头,并通过安装的摄像头对人脸102采集图像,然后根据采集的图像生成人脸三维模型。生成人脸三维模型之后,获取人脸三维模型所处的三维空间坐标系中的光源中心点。然后获取光源中心点与人脸三维模型之间的光源距离,以及光源中心点相对于人脸三维模型的光源方向,根据光源距离和光源方向生成目标光效模型。最后根据目标光效模型对人脸三维模型进行光效处理。其中,电子设备104可以为手机、电脑、可穿戴设备等,在此不做限定。
图2为一个实施例中三维模型处理方法的流程图。如图2所示,该三维模型处理方法包括步骤202至步骤208。其中:
步骤202,获取人脸三维模型,以及人脸三维模型所处的三维空间坐标系中的光源中心点。
三维(3dimensiona,3d)模型可以用于表示物体的多边形空间立体结构,人脸三维模型是指对人脸构建的三维模型。三维模型一般可以用三维网格(3dimensionsmesh,3dmesh)结构进行表示,网格是由物体的点云数据组成的。点云数据中一般可以包括三维空间坐标(xyz)、激光反射强度(intensity)和颜色信息,最终根据点云数据绘制成三维网格。
光源中心点是指发射光线的光源所在的点,该光源中心点所在的位置可以通过在三维空间坐标系中的坐标来表示。该光源中心点的位置可以是预先设置的,也可以是用户手动选择的,还可以是其他方式获取的,在此不做限定。例如,预先设置光源中心点的坐标,在获取到人脸三维模型之后,就可以根据预先设置的坐标在人脸三维模型所处的三维空间坐标系中查找到光源中心点。用户还可以通过鼠标或者在触摸屏上选择光源中心点。
步骤204,获取光源中心点与人脸三维模型之间的光源距离,以及光源中心点相对于人脸三维模型的光源方向。
在获取到人脸三维模型之后,可以根据人脸三维模型定义一个三维空间坐标系,然后获取该三维空间坐标系中的光源中心点。可以理解的是,光源发出的光线会随着距离的变化而变化,距离光源越远的地方,光线的强度越弱。同时,光源发射的光线可以是向四周扩散的,因此在光源中心点不同方位物体,接收的到的光线也不同。
因此,在获取到光源中心点之后,可以计算光源中心点与人脸三维模型之间的光源距离,然后计算光源中心点相对于人脸三维模型的光源方向。通过计算得到的光源距离和光源方向来对人脸三维模型进行光效处理。其中,光源距离和光源方向可以通过人脸三维模型与光源中心点的坐标计算得到,也可以通过其他方式计算得到,在此不做限定。
步骤206,根据光源距离和光源方向生成目标光效模型,其中,目标光效模型用于模拟以光源中心点为光源所发出的光线变化。
在一个实施例中,得到光源中心点与人脸三维模型之间的光源距离,以及光源中心点相对于人脸三维模型的光源方向之后,可以根据得到的光源距离和光源方向生成目标光效模型。
目标光效模型可以模拟以光源中心点为光源所发出的光线的变化,具体包括光线的方向、强弱、颜色等变化。例如,目标光效模型可以模拟自然光、白炽灯、钨丝灯等光线的变化,白炽灯发出的光线偏白、钨丝灯发出的光线偏黄。不同方向的光线打到人脸上时,人脸上的亮度变化也不同。例如,正面发射的光线打到人脸上时,人脸显得更加明亮,侧面发射的光线打到人脸上时,人脸显得更加暗沉。
在本申请实施例中,光源中心点可以为一个,也可以为多个。当光源中心点有多个的时候,就可以模型多个不同的光源产生的光线叠加的效果。则生成目标光效模型的步骤具体可以包括:当获取到两个或两个以上的光源中心点时,获取各个光源中心点与人脸三维模型的之间的光源距离,以及各个光源中心点相对于人脸三维模型的光源方向;根据各个光源中心点对应的光源距离和光源方向生成第一光效模型,并将生成的第一光效模型进行融合得到目标光效模型。
其中,当光源中心点有两个或两个以上的时候,可以根据每一个光源中心点生成一个第一光效模型,然后根据生成的这两个或两个以上的第一光效模型进行融合,得到最终的目标光效模型。
步骤208,根据目标光效模型对人脸三维模型进行光效处理。
人脸三维模型是在三维空间坐标系中建立的立体模型,人脸三维模型的表面是由若干个多边形面片构成的,这些多边形面片上可以分布人脸的纹理、颜色、亮度等信息。在获取到目标光效模型之后,就可以根据目标光效模型对人脸三维模型表面的多边形面片上的亮度进行调节,从而实现对人脸三维模型的光效处理。
上述实施例提供的三维模型处理方法,可以获取人脸三维模型,以及人脸三维模型所处的三维空间坐标系中的光源中心点。然后计算光源中心点与人脸三维模型之间的光源距离,以及光源中心点相对于人脸三维模型的光源方向。最后根据光源距离和光源方向生成目标光效模型,并根据目标光效模型对人脸三维模型进行光效处理。这样可以根据光源中心点生成目标光效模型,从而对人脸三维模型实现光效处理,模拟真实光源照射人脸三维模型的效果,使得人脸三维模型显得更加真实,实现对三维模型更精准地处理。
图3为另一个实施例中三维模型处理方法的流程图。如图3所示,该三维模型处理方法包括步骤302至步骤314。其中:
步骤302,采集包含人脸深度信息的深度图像,根据深度图像中的人脸深度信息建立人脸三维模型。
深度图像是指包含深度信息的图像,深度信息是指物体到摄像头的距离。具体的,深度图像中也会包含若干个像素点,深度图像中每个像素点对应的像素值用于表示物体到摄像头的距离。例如,物体到摄像头的距离可以是1米、2.1米、3.4米等。
在一个实施例中,深度图像中包含的人脸深度信息是指人脸在深度图像中对应的像素点的像素值,根据上述人脸深度信息可以获取人脸的各个部位与摄像头的距离,从而根据人脸深度信息建立人脸三维模型。其中,深度图像可以通过双目测距、飞行时间(timeofflight,tof)、结构光等方法进行采集,不限于此。
可以理解的是,人脸三维模型可以只根据深度图像进行重建,也可以根据深度图像及对应的纹理图像进行建立,在此不限定。纹理图像与深度图像是对应的,即纹理图像中的像素点的像素值表示物体的纹理、色彩等信息,深度图像对应的像素点的像素值表示物体的深度信息。
根据纹理图像和深度图像建立人脸三维模型具体可以包括点云计算、点云匹配、数据融合、表面生成等,不限于此。其中,点云计算是指以摄像头建立三维空间坐标系,将深度图像中的深度信息转换为上述三维空间坐标系中的三维坐标的过程。通过从不同角度拍摄的多张深度图像来构建人脸三维模型时,采集的各张深度图像之间可能会存储在公共部分。点云配准就是把不同时间、角度、照度获取的多张深度图像叠加匹配到统一的三维空间坐标系中的过程。经过点云配准后的深度信息仍为空间中散乱无序的点云数据,仅能展现景物的部分信息。因此必须对点云数据进行融合处理,以获得更加精细的重建模型。具体的,数据融合的过程会以摄像头为原点构造体积网格,体积网格把点云空间分割成极多体素(voxel),通过为所有体素赋予sdf(signeddistancefield,有效距离场)值来模拟表面。最后根据构建的体积网格中的体素构建多边形面片,把构建的所有多边形面片进行连接,从而生成人脸三维模型的表面。最后将纹理图像中的纹理特征与构建的表面进行融合,生成最后的人脸三维模型。
步骤304,获取人脸三维模型所处的三维空间坐标系中的光源中心点。
上述建立人脸三维模型的过程中,会建立三维空间坐标系,然后根据三维空间坐标系获取光源中心点。具体的,该三维空间坐标系可以根据深度图像进行建立。例如,以深度图像最左下角的像素点为原点,以原点向右延伸的像素点的方向为x轴的正方向,原点向上延生的像素点的方向为y轴正方向,垂直于图像的方向为z轴正方向,建立三维空间坐标系。
步骤306,获取光源中心点在三维空间坐标系中的光源坐标,以及获取人脸三维模型在三维空间坐标系中的人脸坐标。
在一个实施例中,光源中心点的位置和人脸三维模型的位置可以通过三维空间坐标系中的坐标进行表示,这样就可以通过三维空间坐标系中的坐标计算光源中心点到人脸三维模型的距离。光源中心点的位置可以通过光源坐标进行表示。例如,用户可以手动在三维空间坐标系中选择光源中心点,并将选择好的光源中心点进行标记,然后获取该光源中心点对应的光源坐标。电子设备也可以预先设置光源中心点的光源坐标(x1,y1,z1),当三维空间坐标系建立好之后,将光源坐标(x1,y1,z1)所在的点标记为光源中心点。
人脸坐标用于表示人脸三维模型在上述三维空间坐标系中的位置。可以用人脸三维模型中的某一个点的坐标来表示人脸三维模型的人脸坐标,也可以通过人脸三维模型中多个点的坐标的平均值来表示人脸三维模型的人脸坐标,在此不做限定。具体的,可以获取人脸三维模型中的模型定位点,并将模型定位点在三维空间坐标系中的坐标作为人脸三维模型的人脸坐标。也可以获取人脸三维模型中的至少两个模型定位点,并获取该至少两个模型定位点在三维空间坐标系中的坐标的平均值,作为人脸三维模型的人脸坐标。
例如,建立好人脸三维模型后,可以将人脸三维模型中鼻尖所在的点作为模型定位点,然后将鼻尖所在的点的坐标作为人脸坐标。或者可以将人脸三维模型中包含的所有点作为模型定位点,然后计算所有模型定位点在三维空间坐标系中的坐标的平均值,得到人脸三维模型的人脸坐标。
步骤308,根据光源坐标和人脸坐标计算光源中心点与人脸三维模型的之间的光源距离,以及光源中心点相对于人脸三维模型的光源方向。
得到光源坐标和人脸坐标之后,就可以根据光源坐标和人脸坐标计算得到光源距离和光源方向。具体的,根据光源坐标和人脸坐标计算得到光源向量,并根据该光源向量计算得到光源距离和光源方向。例如,光源坐标为(x1,y1,z1)、人脸坐标为(x2,y2,z2),那么光源向量表示为(x1-x2,y1-y2,z1-z2),计算得到的光源距离就为
图4为一个实施例中人脸三维模型和光源中心点在三维空间坐标系中的展示示意图。如图4所示,人脸三维模型402和光源中心点406可以在三维空间坐标系oxyz中进行展示,可以将人脸三维模型中额头所在的点作为模型定位点404,然后通过模型定位点404和光源中心点406的坐标计算人脸三维模型402与光源中心点406之间的光源距离和光源方向。
步骤310,根据光源方向对人脸三维模型生成第二光效模型。
具体的,确定光源方向之后,可以根据光源方向得到一个第二光效模型。例如,可以根据光源方向计算得到光线与人脸三维模型的交点,从而根据得到的交点去确定人脸三维模型中的光线无法达到的阴影区域和光线可以照亮的面光区域,然后根据划分的阴影区域和面光区域生成一个第二光效模型。
在一个实施例中,生成第二光效模型的步骤具体可以包括:根据光源方向获取人脸三维模型的阴影区域,并根据阴影区域及人脸三维模型中除阴影区域之外的面光区域生成第二光效模型。
例如,鼻梁的位置比较高,鼻梁对光线会产生遮挡,而从不同光源方向发出的光线,鼻梁的遮挡程度不一样。从人脸正面发出的光线,鼻梁遮挡得比较少,对应产生的阴影区域就会比较小。从人脸侧面发出的光线,鼻梁遮挡得就比较多,对应产生的阴影区域就会比较大。
步骤312,根据光源距离调节第二光效模型的光效强度参数,得到目标光效模型。
生成第二光效模型之后,还可以根据光源距离调节第二光效模型的光效强度参数,该光效强度参数用于表示光线的强弱。人脸三维模型距离光源中心点的距离越远,对人脸三维模型进行光效处理的强度越强,对应调节的光效强度参数越大。最后调节光效强度参数之后的第二光效模型,生成目标光效模型。
步骤314,根据目标光效模型对人脸三维模型进行光效处理。
得到目标光效模型之后,可以根据目标光效模型对人脸三维模型进行光效处理。例如,将生成的目标光效模型以乘除或加减的方式直接与人脸三维模型表面上的点进行叠加,使得人脸三维模型表面上的点的亮度变暗或者提亮,从而得到光线照射的效果。
在本申请提供的实施例中,对人脸三维模型进行光效处理之前,还可以先去除人脸三维模型中原有的光线信息,再通过得到的目标光效模型对去除原有光线信息的人脸三维模型进行光效处理。具体的,检测人脸三维模型中的光线信息,去除上述人脸三维模型中的光线信息,再根据目标光效模型对去除光线信息后的人脸三维模型进行光效处理。
例如,对人脸拍摄纹理图像和深度图像时,拍摄环境中的光线环境比较复杂,所以生成的人脸三维模型的光线信息也比较杂乱。如果在该人脸三维模型中再添加光效的话,就可能会导致人脸三维模型严重失真。那么这时就可以将原有的人脸三维模型中的光线信息去除,在对去除光线信息后的人脸三维模型进行光效处理。
上述实施例提供的三维模型处理方法,可以获取人脸三维模型,以及人脸三维模型所处的三维空间坐标系中的光源中心点。然后计算光源中心点与人脸三维模型之间的光源距离,以及光源中心点相对于人脸三维模型的光源方向。最后根据光源距离和光源方向生成目标光效模型,并根据目标光效模型对人脸三维模型进行光效处理。这样可以根据光源中心点生成目标光效模型,从而对人脸三维模型实现光效处理,模拟真实光源照射人脸三维模型的效果,使得人脸三维模型显得更加真实,实现对三维模型更精准地处理。
在一个实施例中,如图5所示,生成第二光效模型的步骤还可以包括:
步骤502,获取人脸三维模型中的阴影区域中包含的第一坐标点所对应的第一深度信息,并根据第一深度信息获取第一坐标点对应的第一光效参数。
在检测到人脸三维模型中的阴影区域之后,可以根据阴影区域对人脸三维模型进行光效处理。可以理解的是,阴影区域是光线被遮挡的区域,然而由于阴影区域中不同的位置对应的深度信息也不一样,不同位置的光线被遮挡的程度也不一样。因此,可以对阴影区域的不同位置进行不同程度的光效处理。
具体的,阴影区域中深度信息越大的点,光线被遮挡的越严重。获取人脸三维模型中的阴影区域中包含的第一坐标点,并根据上述人脸深度信息得到各个第一坐标点对应的第一深度信息,然后根据第一深度信息得到第一光效参数。第一深度信息越大,对应的第一光效参数越小。
步骤504,获取人脸三维模型中除阴影区域之外的面光区域中包含的第二坐标点的第二光效参数。
人脸三维模型中除阴影区域之外的区域为面光区域,面光区域光线未被遮挡的区域。电子设备可以获取面光区域中包含的各个第二坐标点的第二光效参数,并根据第二光效参数对面光区域进行光效处理。
例如,可以预先设置一个预设光效参数,然后获取阴影区域中所包含的第一坐标点的第一深度信息,获取最大的第一深度信息作为基础深度信息。然后计算各个第一坐标点的第一深度信息与该基础深度信息的深度差值,根据该深度差值与上述预设光效参数获取对应的第一光效参数,并将该预设光效参数作为面光区域中包含的各个第二坐标点的第二光效参数。比如在预设光效参数的基础上减去一个深度差值对应的参数值,得到对应的第一光效参数。这样深度差值越大时,对应的第一光效参数越小。
步骤506,根据第一坐标点对应的第一光效参数和第二坐标点对应的第二光效参数,生成第二光效模型。
得到第一光效参数和第二光效参数之后,就可以根据第一光效参数和第二光效参数生成第二光效模型,从而根据第二光效模型得到目标光效模型。根据目标光效模型可以对人脸三维模型中的各个坐标点进行光效处理,改变人脸三维模型的亮度。
应该理解的是,虽然图2、3、5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、3、5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在本申请提供的实施例中,上述三维模型处理方法具体还可以包括以下步骤:
(1)采集包含人脸深度信息的深度图像,根据深度图像中的人脸深度信息建立人脸三维模型。
(2)获取人脸三维模型所处的三维空间坐标系中的光源中心点。
(3)当获取到两个或两个以上的光源中心点时,获取各个光源中心点在三维空间坐标系中的光源坐标,以及获取人脸三维模型在三维空间坐标系中的人脸坐标。
(4)根据光源坐标和人脸坐标计算各个光源中心点与人脸三维模型的之间的光源距离,以及各个光源中心点相对于人脸三维模型的光源方向。
(5)根据每一个光源中心点对应的光源方向获取人脸三维模型的阴影区域,并根据阴影区域及人脸三维模型中除阴影区域之外的面光区域生成第二光效模型。
(6)根据每一个光源中心点对应的光源距离调节第二光效模型的光效强度参数,得到第一光效模型。
(7)并将生成的各个光源中心点对应的第一光效模型进行融合得到目标光效模型。
(8)根据目标光效模型对人脸三维模型进行光效处理。
上述实施例提供的三维模型处理方法,可以根据多个光源中心点生成目标光效模型,从而对人脸三维模型实现光效处理,模拟多个光源照射人脸三维模型的效果,使得人脸三维模型显得更加真实,实现对三维模型更精准地处理。
图6为一个实施例中三维模型处理装置的结构示意图。如图6所示,该三维模型处理装置600包括人脸模型获取模块602、距离获取模块604、光效模型获取模块606和光效处理模块608。其中:
人脸模型获取模块602,用于获取人脸三维模型,以及人脸三维模型所处的三维空间坐标系中的光源中心点。
距离获取模块604,用于获取光源中心点与人脸三维模型之间的光源距离,以及光源中心点相对于人脸三维模型的光源方向。
光效模型获取模块606,用于根据光源距离和光源方向生成目标光效模型,其中,目标光效模型用于模拟以光源中心点为光源所发出的光线变化。
光效处理模块608,用于根据目标光效模型对人脸三维模型进行光效处理。
上述实施例提供的三维模型处理装置,可以获取人脸三维模型,以及人脸三维模型所处的三维空间坐标系中的光源中心点。然后计算光源中心点与人脸三维模型之间的光源距离,以及光源中心点相对于人脸三维模型的光源方向。最后根据光源距离和光源方向生成目标光效模型,并根据目标光效模型对人脸三维模型进行光效处理。这样可以根据光源中心点生成目标光效模型,从而对人脸三维模型实现光效处理,模拟真实光源照射人脸三维模型的效果,使得人脸三维模型显得更加真实,实现对三维模型更精准地处理。
在一个实施例中,人脸模型获取模块602还用于采集包含人脸深度信息的深度图像,根据深度图像中的人脸深度信息建立人脸三维模型;获取人脸三维模型所处的三维空间坐标系中的光源中心点。
在一个实施例中,距离获取模块604还用于获取光源中心点在三维空间坐标系中的光源坐标,以及获取人脸三维模型在三维空间坐标系中的人脸坐标;根据光源坐标和人脸坐标计算光源中心点与人脸三维模型的之间的光源距离,以及光源中心点相对于人脸三维模型的光源方向。
在一个实施例中,距离获取模块604还用于当获取到两个或两个以上的光源中心点时,获取各个光源中心点与人脸三维模型的之间的光源距离,以及各个光源中心点相对于人脸三维模型的光源方向。
在一个实施例中,光效模型获取模块606还用于根据各个光源中心点对应的光源距离和光源方向生成第一光效模型,并将生成的第一光效模型进行融合得到目标光效模型。
在一个实施例中,光效模型获取模块606还用于根据光源距离调节第二光效模型的光效强度参数,得到目标光效模型。
在一个实施例中,光效模型获取模块606还用于根据光源方向获取人脸三维模型的阴影区域,并根据阴影区域及人脸三维模型中除阴影区域之外的面光区域生成第二光效模型。
在一个实施例中,光效模型获取模块606还用于获取人脸三维模型中的阴影区域中包含的第一坐标点所对应的第一深度信息,并根据第一深度信息获取第一坐标点对应的第一光效参数;获取人脸三维模型中除阴影区域之外的面光区域中包含的第二坐标点的第二光效参数;根据第一坐标点对应的第一光效参数和第二坐标点对应的第二光效参数,生成第二光效模型。
上述三维模型处理装置中各个模块的划分仅用于举例说明,在其他实施例中,可将三维模型处理装置按照需要划分为不同的模块,以完成上述三维模型处理装置的全部或部分功能。
本申请实施例中提供的三维模型处理装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序模块可存储在终端或服务器的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述方法的步骤。
本申请实施例还提供一种电子设备。上述电子设备中包括图像处理电路,图像处理电路可以利用硬件和/或软件组件实现,可包括定义isp(imagesignalprocessing,图像信号处理)管线的各种处理单元。图7为一个实施例中图像处理电路的示意图。如图7所示,为便于说明,仅示出与本申请实施例相关的图像处理技术的各个方面。
如图7所示,图像处理电路包括isp处理器740和控制逻辑器750。成像设备710捕捉的图像数据首先由isp处理器740处理,isp处理器740对图像数据进行分析以捕捉可用于确定和/或成像设备710的一个或多个控制参数的图像统计信息。成像设备710可包括具有一个或多个透镜712和图像传感器714的照相机。图像传感器714可包括色彩滤镜阵列(如bayer滤镜),图像传感器714可获取用图像传感器714的每个成像像素捕捉的光强度和波长信息,并提供可由isp处理器740处理的一组原始图像数据。传感器720(如陀螺仪)可基于传感器720接口类型把采集的图像处理的参数(如防抖参数)提供给isp处理器740。传感器720接口可以利用smia(standardmobileimagingarchitecture,标准移动成像架构)接口、其它串行或并行照相机接口或上述接口的组合。
此外,图像传感器714也可将原始图像数据发送给传感器720,传感器720可基于传感器720接口类型把原始图像数据提供给isp处理器740,或者传感器720将原始图像数据存储到图像存储器730中。
isp处理器740按多种格式逐个像素地处理原始图像数据。例如,每个图像像素可具有8、10、12或14比特的位深度,isp处理器740可对原始图像数据进行一个或多个图像处理操作、收集关于图像数据的统计信息。其中,图像处理操作可按相同或不同的位深度精度进行。
isp处理器740还可从图像存储器730接收图像数据。例如,传感器720接口将原始图像数据发送给图像存储器730,图像存储器730中的原始图像数据再提供给isp处理器740以供处理。图像存储器730可为存储器装置的一部分、存储设备、或电子设备内的独立的专用存储器,并可包括dma(directmemoryaccess,直接直接存储器存取)特征。
当接收到来自图像传感器714接口或来自传感器720接口或来自图像存储器730的原始图像数据时,isp处理器740可进行一个或多个图像处理操作,如时域滤波。处理后的图像数据可发送给图像存储器730,以便在被显示之前进行另外的处理。isp处理器740从图像存储器730接收处理数据,并对所述处理数据进行原始域中以及rgb和ycbcr颜色空间中的图像数据处理。isp处理器740处理后的图像数据可输出给显示器770,以供用户观看和/或由图形引擎或gpu(graphicsprocessingunit,图形处理器)进一步处理。此外,isp处理器740的输出还可发送给图像存储器730,且显示器770可从图像存储器730读取图像数据。在一个实施例中,图像存储器730可被配置为实现一个或多个帧缓冲器。此外,isp处理器740的输出可发送给编码器/解码器760,以便编码/解码图像数据。编码的图像数据可被保存,并在显示于显示器770设备上之前解压缩。编码器/解码器760可由cpu或gpu或协处理器实现。
isp处理器740确定的统计数据可发送给控制逻辑器750单元。例如,统计数据可包括自动曝光、自动白平衡、自动聚焦、闪烁检测、黑电平补偿、透镜712阴影校正等图像传感器714统计信息。控制逻辑器750可包括执行一个或多个例程(如固件)的处理器和/或微控制器,一个或多个例程可根据接收的统计数据,确定成像设备710的控制参数及isp处理器740的控制参数。例如,成像设备710的控制参数可包括传感器720控制参数(例如增益、曝光控制的积分时间、防抖参数等)、照相机闪光控制参数、透镜712控制参数(例如聚焦或变焦用焦距)、或这些参数的组合。isp控制参数可包括用于自动白平衡和颜色调整(例如,在rgb处理期间)的增益水平和色彩校正矩阵,以及透镜712阴影校正参数。
以下为运用图7中图像处理技术实现三维模型处理方法的步骤。
本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行三维模型处理方法的步骤。
一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行三维模型处理方法。
本申请实施例所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram),它用作外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。