三维模型处理方法和装置与流程

文档序号:16435405发布日期:2018-12-28 20:27阅读:309来源:国知局
三维模型处理方法和装置与流程

本申请涉及图像处理技术领域,尤其涉及一种三维模型处理方法和装置。

背景技术

三维模型重建是建立适合计算机表示和处理的数学模型,是在计算机环境下对其进行处理、操作和分析其性质的基础,也是在计算机中建立表达客观世界的虚拟现实的关键技术。现有技术中,通过对三维模型中关键点进行处理,实现模型的重建。

申请人发现在实际操作中,对三维模型中各处均采用的是相同的关键点密度进行处理,关键点密度的设置对三维模型的呈现具有较大影响。一方面,如果关键点密度较高,生成较为精细的人脸三维模型,就需要生成大量的关键点,不仅会占用大量的内存空间,而且三维模型处理速度较慢。另一方面,如果采用较少的关键点,则会影响三维模型的精细度。

申请内容

本申请旨在至少在一定程度上解决相关技术中的技术问题之一。

本申请第一方面实施例提出了一种三维模型处理方法,所述方法包括以下步骤:获取三维模型,其中,所述三维模型包括多个关键点;确定所述三维模型中需要修正的目标区域,以及确定与所述目标区域对应的目标关键点密度;

获取所述目标区域的当前关键点密度,将所述当前关键点密度与所述目标关键点密度进行比较,若获知所述当前关键点密度小于所述目标关键点密度,在所述目标区域新增关键点,以使所述目标区域的当前关键点密度大于或者等于所述目标关键点密度。

本申请第二方面实施例提出了一种三维模型的处理装置,包括:获取模块,用于获取三维模型,其中,所述三维模型包括多个关键点;确定模块,用于确定所述三维模型中需要修正的目标区域,以及确定与所述目标区域对应的目标关键点密度;处理模块,用于获取所述目标区域的当前关键点密度,将所述当前关键点密度与所述目标关键点密度进行比较,若获知所述当前关键点密度小于所述目标关键点密度,在所述目标区域新增关键点,以使所述目标区域的当前关键点密度大于或者等于所述目标关键点密度。

本申请第三方面实施例提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如前述第一方面实施例所述的三维模型的处理方法。

本申请第四方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述第一方面实施例所述的三维模型的处理方法。

本申请提供的技术方案,至少包括如下有益效果:

获取三维模型,其中,三维模型包括多个关键点,确定三维模型中需要修正的目标区域,以及确定与目标区域对应的目标关键点密度,进而,获取目标区域的当前关键点密度,将当前关键点密度与目标关键点密度进行比较,若获知当前关键点密度小于目标关键点密度,在目标区域新增关键点,以使目标区域的当前关键点密度大于或者等于目标关键点密度。由此,该方法通过对三维模型中有关区域关键点密度的增加,保持了三维模型的细节精确度,且仅仅在目标区域进行关键点的增加,避免对内存造成较大压力,平衡了处理速度。

本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本申请实施例所提供的一种三维模型处理方法的流程示意图;

图2是根据本申请一个实施例的深度信息的获取方式的流程图;

图3为本申请一个实施例所提供的深度图像采集组件的结构示意图;

图4为本申请实施例所提供的另一种三维模型处理方法的流程示意图;

图5是根据本申请一个实施例的三维模型处理方法的应用场景示意图;

图6为本申请实施例所提供的又一种三维模型处理方法的流程示意图;

图7是根据本申请一个实施例的剖分平面的示意图;

图8为本申请实施例所提供的还一种三维模型处理方法的流程示意图;

图9为本申请实施例提供的一种三维模型处理装置的结构示意图;

图10为本申请实施例提供的另一种三维模型处理装置的结构示意图;

图11为本申请实施例提供的又一种三维模型处理装置的结构示意图;

图12为一个实施例中电子设备的内部结构示意图;

图13为作为一种可能的实现方式的图像处理电路的示意图;

图14为作为另一种可能的实现方式的图像处理电路的示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。

图1为本申请实施例所提供的一种三维模型处理方法的流程示意图。

本申请实施例中,电子设备可以为手机、平板电脑、个人数字助理、穿戴式设备等具有各种操作系统、触摸屏和/或显示屏的硬件设备。

如图1所示,该三维模型处理方法包括以下步骤:

步骤101,获取三维模型,其中,三维模型包括多个关键点。

应当理解的是,人脸三维模型实际上是由关键点以及关键点连接形成的三角网络搭建的。

人脸的三维模型的建立需要获取多张人脸二维图像和人脸的深度信息,通过将人脸的二维图像和人脸的深度信息对齐获取的,具体地,获取多个角度的二维人脸图像以及以每个二维人脸图像对应的深度信息,以便与基于多个角度的二维人脸图像信息和深度信息融合为与真实二维人脸图像较为一致的人脸三维模型。

需要说明的是,根据应用场景的不同,本申请的实施例中,获取深度信息和二维的二维人脸图像信息的硬件装置不同:

作为一种可能的实现方式,获取二维人脸图像信息的硬件装置为可见光rgb图像传感器,可以基于计算机设备中的rgb可见光图像传感器获取二维的二维人脸图像。具体地,可见光rgb图像传感器可以包括可见光摄像头,可见光摄像头可以捕获由成像对象反射的可见光进行成像,得到成像对象对应的二维人脸图像。

作为一种可能的实现方式,获取深度信息的方式为通过结构光传感器获取,具体地,如图2所示,获取每个二维人脸图像对应的深度信息的方式包括如下步骤:

步骤201,向当前用户人脸投射结构光。

步骤202,拍摄经当前用户人脸调制的结构光图像。

步骤203,解调结构光图像的各个像素对应的相位信息以得到二维人脸图像对应的深度信息。

在本示例中,参见图3计算机设备为智能手机1000时,深度图像采集组件12包括结构光投射器121和结构光摄像头122。步骤201可以由结构光投射器121实现,步骤202和步骤203可以由结构光摄像头122实现。

也即是说,结构光投射器121可用于向当前用户人脸投射结构光;结构光摄像头122可用于拍摄经当前用户人脸调制的结构光图像,以及解调结构光图像的各个像素对应的相位信息以得到深度信息。

具体地,结构光投射器121将一定模式的结构光投射到当前用户的人脸上后,在当前用户的人脸的表面会形成由当前用户人脸调制后的结构光图像。结构光摄像头122拍摄经调制后的结构光图像,再对结构光图像进行解调以得到深度信息。其中,结构光的模式可以是激光条纹、格雷码、正弦条纹、非均匀散斑等。

其中,结构光摄像头122可进一步用于解调结构光图像中各个像素对应的相位信息,将相位信息转化为深度信息,以及根据深度信息生成深度图像。

具体地,与未经调制的结构光相比,调制后的结构光的相位信息发生了变化,在结构光图像中呈现出的结构光是产生了畸变之后的结构光,其中,变化的相位信息即可表征物体的深度信息。因此,结构光摄像头122首先解调出结构光图像中各个像素对应的相位信息,再根据相位信息计算出深度信息。

进一步地,根据深度信息和二维人脸图像进行三维重构,赋予相关点深度信息和二维信息,重构获取人脸三维模型,该人脸三维模型为三维立体模型可以充分还原出人脸,相对二维人脸模型,还包括了人脸的五官的立体角度等信息。

根据应用场景的不同,根据深度信息和二维人脸图像进行三维重构获取人脸三维模型的方式包括但是不限于以下方式:

作为一种可能的实现方式,对每一张二维人脸图像进行关键点识别,对每一张二维人脸图像,根据像素点匹配等技术,根据定位关键点的深度信息和定位关键点在二维人脸图像上的平面距离,包括二维空间上的x轴距离和y轴距离,确定定位关键点在三维空间中的相对位置,根据定位关键点在三维空间中的相对位置,连接相邻的定位关键点,生成人脸三维框架。其中,关键点为人脸上的特征点,可包括眼睛、鼻尖、额头、嘴角上、脸颊上的点等,定位关键点包括与用户人脸轮廓较相关的点,该定位关键点对应于人脸上深度信息明显发生变化的部位点,比如,鼻尖上的点、鼻翼上面的点、眼角上的点、嘴角上的点等,从而,基于该定位关键点可以构建出人脸三维框架。

作为另一种可能的实现方式,获取多个角度二维的二维人脸图像,并筛选出清晰度较高的二维人脸图像作为原始数据,进行特征点定位,利用特征定位结果粗略估计人脸角度,根据人脸的角度和轮廓建立粗糙的人脸三维形变模型,并将人脸特征点通过平移、缩放操作调整到与人脸三维形变模型在同一尺度上,并抽取出与人脸特征点对应点的坐标信息形成稀疏人脸三维形变模型。

进而,根据人脸角度粗略估计值和稀疏人脸三维形变模型,进行微粒群算法迭代人脸三维重构,得到人脸三维几何模型,在得到人脸三维几何模型后,采用纹理张贴的方法将输入二维图像中的人脸纹理信息映射到人脸三维几何模型,得到完整的人脸三维模型。

步骤102,确定三维模型中需要修正的目标区域,以及确定与目标区域对应的目标关键点密度。

应当理解的是,在本申请的实施例中,为了使得构建的人脸三维模型可以更加真实的反映出人脸表情信息,针对对人脸表情最相关的一些部位进行关键点数量的增加,从而提高了这些部位的模型精细度。

具体地,确定三维模型中需要修正的目标区域,该目标区域可以对应于与当前用户表情相关的关键部位所在区域,进而确定与目标区域对应的目标关键点的数量,以便于根据目标关键点的数量确定目标区域对应的部位是否为精细化的建模。

需要说明的是,根据应用场景的不同,确定三维模型中要修正的目区域的方式不同,示例说明如下:

第一种示例:

如图4所示,确定三维模型中需要修正的目标区域,包括:

步骤301,获取用户不同表情时对应的面部各区域。

其中,本申请实施例中,可以根据预设的半径,将三维模型划分为多个面部区域,其中不同的面部区域组合对应于面部的不同部位。

步骤302,获取各区域的角度分布情况,根据角度分布情况确定符合筛选条件的目标区域。

应当理解的是,用户的面部表情不一样,其对应的部位所在位置的角度具有不同,比如用户在大笑时,眼睛所在区域的角度相对弯曲程度较大(反映在关键点组成的剖分面的边的斜率较大等),用户沮丧时,嘴巴所在区域角度弯曲程度小等(反映在关键点组成的剖分面的边的斜率较小等),由此,可以基于各区域的角度分布情况,根据角度分布情况确定符合筛选条件的目标区域,比如,在用户大笑时,筛选出的是弯曲程度较大的嘴巴所在区域和眼睛所在区域作为目标区域,又比如,在用户做鬼脸时,筛选出的是弯曲程度较大的嘴巴所在区域和脸颊所在区域作为目标区域。

第二种示例:

在本示例中,将最初建立的三维模型以预览的形式展示给用户,接收用户选择的区域作为目标区域,比如,将用户输入轨迹包括的区域作为目标区域等。

步骤103,获取目标区域的当前关键点密度,将当前关键点密度与目标关键点密度进行比较,若获知当前关键点密度小于目标关键点密度,在目标区域新增关键点,以使目标区域的当前关键点密度大于或者等于目标关键点密度。

不难理解的是,目标区域是反应当前用户表情的真实度的关键区域,因而,对目标区域的精细化程度要求较高,需要该目标区域的关键点数量足够丰富,以表达出用户的真实情感,以目标区域为嘴巴所在区域为例,如如图5左图所示,当目标关键点的数量较少密度稀疏时,定位出的嘴巴的姿态较为失真,如图5右图所示,当提高嘴巴所在区域的目标关键点的数量后,可以真实反映出用户嘴巴微笑的姿态,其中,图5中的实心黑点表示关键点。

具体地,将当前关键点密度与目标关键点密度进行比较,该目标关键点密度是根据大量实验数据标定的,用以确保目标区域的建模精细化,若获知当前关键点密度小于目标关键点密度,在目标区域新增关键点,以使目标区域的当前关键点密度大于或者等于目标关键点密度。

需要说明的是,根据应用场景的不同,确定与所述目标区域对应的目标关键点密度的方式不同,作为一种可能的实现方式,如图6所示,确定与目标区域对应的目标关键点密度,包括:

步骤401,获取目标区域中相邻关键点作为顶点进行连线得到的多个剖分平面的角度信息。

正如以上描述的,三维模型,如图7所示,包括多个关键点以及将相邻关键点作为顶点进行连线得到的多个剖分平面。其中,关键点以及剖分平面可以采用三维坐标的形式表示出来。

作为一种可能的实现方式,各剖分平面的角度信息可以是与相邻剖分平面之间的夹角,获得各剖分平面后,通过相邻剖分平面之间的夹角,即可得到各剖分平面的角度信息。

进一步的说明,目标区域内剖分平面的角度信息与各区域的平坦程度存在一定的对应关系,当目标区域内剖分平面的角度越大时,说明该区域平坦程度越低;当目标区域内剖分平面的角度越小时,说明该区域越平坦。若相邻两个一起的平坦程度之间的差异低于差异阈值,则将该相邻两个区域进行合并,其中,差异阈值,是根据三维模型整体的结构预先设定的。

作为一种示例,在人脸三维模型中,通过计算目标区域内两个相邻剖分平面之间的夹角,可判断脸部各区域的平坦程度。例如,当目标区域内两个相邻剖分平面位于人脸的面部区域时,该相邻剖分平面之间的夹角可能为2度,说明人脸的面部区域比较平坦;当目标区域内的两个相邻剖分平面,一个位于人脸的面部区域时,另一个位于鼻子所在区域时,该相邻剖分平面之间的夹角可能为60度,此时说明该目标区域内的平坦程度比较低。

步骤402,根据角度信息确定目标区域的目标关键点密度。

具体地,根据角度信息确定目标区域的目标关键点密度,比如,根据目标区域的平坦程度,进一步的确定目标区域内对应的目标关键点密度,具体地,当判断目标区域内比较平坦时,该目标区域内对应的目标关键点可以设定相对少一些;当判断区域内平坦程度比较低时,该目标区域内对应的目标关键点可以设定较多的关键点。

需要说明的是,在不同的应用场景下,根据角度信息确定目标区域的平坦程度的方式不同,示例如下:

作为一种可能的实现方式,如图8所示,根据角度信息确定目标区域的平坦程度包括:

步骤501,确定目标区域内各剖分平面的法向量。

本申请实施例中,可以根据预设的半径,将三维模型划分为多个区域,在各个区域内均将相邻关键点作为顶点进行连接,进而得到多个剖分平面。

进一步的,得到各区域的剖分平面后,进一步的确定各剖分平面的法向量,其中,平面的法向量是确定平面位置的重要向量,是指与平面垂直的非零向量。

步骤502,根据包含同一顶点的剖分平面的法向量,确定同一顶点的法向量。

具体地,当三维模型中多个剖分平面包含同一顶点时,对包含同一顶点的多个剖分平面的法向量进行求和,进而求和得到的法向量,即为该顶点的法向量。

例如,对于三维模型中的任意顶点x,在该模型中有三个剖分平面a、b、c同时包含顶点x,则确定剖分平面a、b、c的法向量后,对三个平面的法向量进行求和,求和得到的向量即为顶点x的向量。

需要说明的是,在三维模型中,对光照的反射取决于顶点法向量的设置,如果各顶点法向量计算正确,则显示出的三维模型比较光滑,而且有光泽,否则,显示的三维模型会出现棱角分明,而且模糊不清的情况。

步骤503,根据各区域内相邻顶点的法向量之间的夹角,确定目标区域的平坦程度。

具体地,通过步骤502中确定顶点法向量的方法,确定三维模型中各顶点的法向量。对于三维模型中每一区域内的各顶点,确定各顶点的法向量与相邻顶点的法向量之间的夹角,进一步的,对于在同一目标区域内确定的各顶点的法向量与相邻顶点的法向量之间的夹角,计算夹角的平均值。最后判断得到的每一目标区域的夹角平均值是否大于预设的角度阈值,进而判断该目标区域是否平坦。其中,角度阈值是根据三维模型的整体结构提前设定的值。

当得到三维模型中某一目标区域内各顶点的法向量与相邻顶点的法向量的夹角平均值大于预设的角度阈值时,则说明该目标区域不平坦。当得到三维模型中某一区域内各顶点的法向量与相邻顶点的法向量的夹角平均值小于预设的角度阈值时,则说明该目标区域平坦。

综上,本申请实施例的三维模型处理方法,获取三维模型,其中,三维模型包括多个关键点,确定三维模型中需要修正的目标区域,以及确定与目标区域对应的目标关键点密度,进而,获取目标区域的当前关键点密度,将当前关键点密度与目标关键点密度进行比较,若获知当前关键点密度小于目标关键点密度,在目标区域新增关键点,以使目标区域的当前关键点密度大于或者等于目标关键点密度。由此,该方法通过对三维模型中有关区域关键点密度的增加,保持了三维模型的细节精确度,且仅仅在目标区域进行关键点的增加,避免对内存造成较大压力,平衡了处理速度。

为了实现上述实施例,本申请还提出一种三维模型处理装置。

图9为本申请实施例提供的一种三维模型处理装置的结构示意图。

如图9所示,该三维模型处理装置包括:获取模块10、确定模块20和处理模块30,其中,

获取模块10,用于获取三维模型,其中,所述三维模型包括多个关键点。

确定模块20,用于确定所述三维模型中需要修正的目标区域,以及确定与所述目标区域对应的目标关键点密度。

处理模块30,用于获取所述目标区域的当前关键点密度,将所述当前关键点密度与所述目标关键点密度进行比较,若获知所述当前关键点密度小于所述目标关键点密度,在所述目标区域新增关键点,以使所述目标区域的当前关键点密度大于或者等于所述目标关键点密度。

作为一种可能的实现方式,如图10所示,在如图9所示的基础上,确定模块20包括第一获取单元21和第二获取单元22。

其中,第一获取单元21,用于获取用户不同表情时对应的面部各区域。

第二获取单元22,用于获取各区域的角度分布情况,根据角度分布情况确定符合筛选条件的目标区域。

作为一种可能的实现方式,如图11所示,在如图9所示的基础上,处理模块30包括第三获取单元31和确定单元32,其中,

第三获取单元31,用于获取目标区域中相邻关键点作为顶点进行连线得到的多个剖分平面的角度信息。

确定单元32,用于根据角度信息确定目标区域的目标关键点密度。

需要说明的是,前述对三维模型处理方法实施例的解释说明也适用于该实施例的三维模型处理装置,此处不再赘述。

综上,本申请实施例的三维模型处理装置,获取三维模型,其中,三维模型包括多个关键点,确定三维模型中需要修正的目标区域,以及确定与目标区域对应的目标关键点密度,进而,获取目标区域的当前关键点密度,将当前关键点密度与目标关键点密度进行比较,若获知当前关键点密度小于目标关键点密度,在目标区域新增关键点,以使目标区域的当前关键点密度大于或者等于目标关键点密度。由此,该方法通过对三维模型中有关区域关键点密度的增加,保持了三维模型的细节精确度,且仅仅在目标区域进行关键点的增加,避免对内存造成较大压力,平衡了处理速度。

为了实现上述实施例,本申请还提出电子设备,其特征在于,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如前述实施例所述的三维模型处理方法。

图12为一个实施例中电子设备200的内部结构示意图。该电子设备200包括通过系统总线210连接的处理器220、存储器230、显示器240和输入装置250。其中,电子设备200的存储器230存储有操作系统和计算机可读指令。该计算机可读指令可被处理器220执行,以实现本申请实施方式的人脸识别方法。该处理器220用于提供计算和控制能力,支撑整个电子设备200的运行。电子设备200的显示器240可以是液晶显示屏或者电子墨水显示屏等,输入装置250可以是显示器240上覆盖的触摸层,也可以是电子设备200外壳上设置的按键、轨迹球或触控板,也可以是外接的键盘、触控板或鼠标等。该电子设备200可以是手机、平板电脑、笔记本电脑、个人数字助理或穿戴式设备(例如智能手环、智能手表、智能头盔、智能眼镜)等。

本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的示意图,并不构成对本申请方案所应用于其上的电子设备200的限定,具体的电子设备200可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

作为一种可能的实现方式,请参阅图13,提供了本申请实施例的图像处理电路,图像处理电路可利用硬件和/或软件组件实现。

如图13,该图像处理电路具体包括:图像单元310、深度信息单元320和处理单元330。其中,

图像单元310,用于输出二维的图像。

深度信息单元320,用于输出深度信息。

本申请实施例中,可以通过图像单元310,获取二维的图像,以及通过深度信息单元320,获取图像对应的深度信息。

处理单元330,分别与图像单元310和深度信息单元320电性连接,用于根据图像单元获取的二维的图像,构建三维模型,确定所述三维模型中需要修正的目标区域,以及确定与所述目标区域对应的目标关键点密度,获取所述目标区域的当前关键点密度,将所述当前关键点密度与所述目标关键点密度进行比较,若获知所述当前关键点密度小于所述目标关键点密度,在所述目标区域新增关键点,以使所述目标区域的当前关键点密度大于或者等于所述目标关键点密度。

本申请实施例中,图像单元310获取的二维图像可以发送至处理单元330,以及深度信息单元320获取的图像对应的深度信息可以发送至处理单元330,处理单元330可以确定所述三维模型中需要修正的目标区域,以及确定与所述目标区域对应的目标关键点密度,获取所述目标区域的当前关键点密度,将所述当前关键点密度与所述目标关键点密度进行比较,若获知所述当前关键点密度小于所述目标关键点密度,在所述目标区域新增关键点,以使所述目标区域的当前关键点密度大于或者等于所述目标关键点密度。具体的实现过程,可以参见上述实施例中对三维模型处理的方法的解释说明,此处不做赘述。

进一步地,作为本申请一种可能的实现方式,参见图14,在图13所示实施例的基础上,该图像处理电路还可以包括:

作为一种可能的实现方式,图像单元310具体可以包括:电性连接的图像传感器311和图像信号处理(imagesignalprocessing,简称isp)处理器312。其中,

图像传感器311,用于输出原始图像数据。

isp处理器312,用于根据原始图像数据,输出图像。

本申请实施例中,图像传感器311捕捉的原始图像数据首先由isp处理器312处理,isp处理器312对原始图像数据进行分析以捕捉可用于确定图像传感器311的一个或多个控制参数的图像统计信息,包括yuv格式或者rgb格式的图像。其中,图像传感器311可包括色彩滤镜阵列(如bayer滤镜),以及对应的感光单元,图像传感器311可获取每个感光单元捕捉的光强度和波长信息,并提供可由isp处理器312处理的一组原始图像数据。isp处理器312对原始图像数据进行处理后,得到yuv格式或者rgb格式的图像,并发送至处理单元330。

其中,isp处理器312在对原始图像数据进行处理时,可以按多种格式逐个像素地处理原始图像数据。例如,每个图像像素可具有8、10、12或14比特的位深度,isp处理器312可对原始图像数据进行一个或多个图像处理操作、收集关于图像数据的统计信息。其中,图像处理操作可按相同或不同的位深度精度进行。

作为一种可能的实现方式,深度信息单元320,包括电性连接的结构光传感器321和深度图生成芯片322。其中,

结构光传感器321,用于生成红外散斑图。

深度图生成芯片322,用于根据红外散斑图,输出深度信息;深度信息包括深度图。

本申请实施例中,结构光传感器321向被摄物投射散斑结构光,并获取被摄物反射的结构光,根据反射的结构光成像,得到红外散斑图。结构光传感器321将该红外散斑图发送至深度图生成芯片322,以便深度图生成芯片322根据红外散斑图确定结构光的形态变化情况,进而据此确定被摄物的深度,得到深度图(depthmap),该深度图指示了红外散斑图中各像素点的深度。深度图生成芯片322将深度图发送至处理单元330。

作为一种可能的实现方式,处理单元330,包括:电性连接的cpu331和gpu(graphicsprocessingunit,图形处理器)332。其中,

cpu331,用于根据标定数据,对齐图像与深度图,根据对齐后的图像与深度图,输出三维模型。

gpu332,用于确定所述三维模型中需要修正的目标区域,以及确定与所述目标区域对应的目标关键点密度,获取所述目标区域的当前关键点密度,将所述当前关键点密度与所述目标关键点密度进行比较,若获知所述当前关键点密度小于所述目标关键点密度,在所述目标区域新增关键点,以使所述目标区域的当前关键点密度大于或者等于所述目标关键点密度。

本申请实施例中,cpu331从isp处理器312获取到图像,从深度图生成芯片322获取到深度图,结合预先得到的标定数据,可以将二维图像与深度图对齐,从而确定出图像中各像素点对应的深度信息。进而,cpu331根据深度信息和图像,进行三维重构,得到三维模型。

cpu331将三维模型发送至gpu332,以便gpu332根据三维模型执行如前述实施例中描述的三维模型处理方法,实现关键点简化,得到精细化后的三维模型。

具体地,gpu332可以确定所述三维模型中需要修正的目标区域,以及确定与所述目标区域对应的目标关键点密度;获取所述目标区域的当前关键点密度,将所述当前关键点密度与所述目标关键点密度进行比较,若获知所述当前关键点密度小于所述目标关键点密度,在所述目标区域新增关键点,以使所述目标区域的当前关键点密度大于或者等于所述目标关键点密度。

进一步地,图像处理电路还可以包括:显示单元340。

显示单元340,与gpu332电性连接,用于对三维模型进行显示。

具体地,gpu332处理得到的精细化后的三维模型,可以由显示器340显示。

可选地,图像处理电路还可以包括:编码器350和存储器360。

本申请实施例中,gpu332处理得到的精细化后的三维模型,还可以由编码器350编码后存储至存储器360,其中,编码器350可由协处理器实现。

在一个实施例中,存储器360可以为多个,或者划分为多个存储空间,存储gpu312处理后的图像数据可存储至专用存储器,或者专用存储空间,并可包括dma(directmemoryaccess,直接直接存储器存取)特征。存储器360可被配置为实现一个或多个帧缓冲器。

下面结合图14,对上述过程进行详细说明。

如图14所示,图像传感器311捕捉的原始图像数据首先由isp处理器312处理,isp处理器312对原始图像数据进行分析以捕捉可用于确定图像传感器311的一个或多个控制参数的图像统计信息,包括yuv格式或者rgb格式的图像,并发送至cpu331。

如图14所示,结构光传感器321向被摄物投射散斑结构光,并获取被摄物反射的结构光,根据反射的结构光成像,得到红外散斑图。结构光传感器321将该红外散斑图发送至深度图生成芯片322,以便深度图生成芯片322根据红外散斑图确定结构光的形态变化情况,进而据此确定被摄物的深度,得到深度图(depthmap)。深度图生成芯片322将深度图发送至cpu331。

cpu331从isp处理器312获取到二维图像,从深度图生成芯片322获取到深度图,结合预先得到的标定数据,可以将人脸图像与深度图对齐,从而确定出图像中各像素点对应的深度信息。进而,cpu331根据深度信息和二维图像,进行三维重构,得到简化的三维模型。

cpu331将三维模型发送至gpu332,以便gpu332根据三维模型执行如前述实施例中描述的三维模型处理方法,实现三维模型的精细化,得到精细化后的三维模型。gpu332处理得到的简化后的三维模型,可以由显示器340显示,和/或,由编码器350编码后存储至存储器360。

为了实现上述实施例,本申请还提出一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如本申请前述实施例提出的三维模型处理方法。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1