一种人脸头部姿态训练数据的获取方法及系统与流程

    专利2022-07-08  100


    本发明涉及数字图像处理技术领域,尤其涉及一种人脸头部姿态训练数据的获取方法及系统。



    背景技术:

    人脸头部姿态估计是指通过某种方法对头部进行姿态估计,计算出头部分别绕y轴、x轴及z轴旋转的三个姿态角,表示为yaw、pitch及roll;其中,pitch为围绕x轴旋转,也叫做俯仰角;yaw是围绕y轴旋转,也叫偏航角,roll是围绕z轴旋转,也叫翻滚角。人脸头部姿态估计主要是应用于增强现实、虚拟显示、辅助驾驶系统及注意力估计等领域。

    在人脸头部姿态估计时,对于面部被遮挡的情况,如以口罩遮挡为例,将会无法准确估计其人脸关键点,进而无法依赖于人脸关键点准确获取人脸头部姿态。然而,因缺少戴口罩的头部姿态的数据集而采用不戴口罩的人脸训练出来的头部姿态模型在戴口罩数据上的表现会比较差,且标注不准确,如果采用人工标注,则工作量大,亦带有标注人员的主观意识,容易造成模型训练效果比较差。

    上述背景技术内容的公开仅用于辅助理解本发明的发明构思及技术方案,其并不必然属于本专利申请的现有技术,在没有明确的证据表明上述内容在本专利申请的申请日已经公开的情况下,上述背景技术不应当用于评价本申请的新颖性和创造性。



    技术实现要素:

    本发明的目的在于提供一种人脸头部姿态训练数据的获取方法及系统,以解决上述背景技术问题中的至少一种问题。

    为达到上述目的,本发明实施例的技术方案是这样实现的:

    一种人脸头部姿态训练数据的获取方法,包括如下步骤:

    s1、获取单张rgb图像并将其输入至三维重建模型,基于所述三维重建模型获取第一三维人脸图像;

    s2、将基于步骤s1重建的所述第一三维人脸图像与预设的面部遮挡物的三维图像进行融合,得到第二三维人脸图像;

    s3、将所述第二三维人脸图像旋转至预设旋转角度,得到第三三维人脸图像;

    s4、将所述第三三维人脸图像映射至二维平面,得到二维人脸图像及标签。

    进一步的,步骤s1包括:

    s10、获取所述rgb图像并经过神经网络模型训练,输出人脸关键点,并获取所述人脸关键点的形状向量;

    s11、根据所述人脸关键点的所述形状向量和预设的三维人脸数据库构建所述第一三维人脸图像。

    进一步的,步骤s2中,对所述第一三维人脸图像的关键点进行定位,将所述预设的面部遮挡物的三维图像进行尺度变换,使得所述预设的面部遮挡物的三维图像的关键点与所述第一三维人脸图像的关键点贴合,利用定位的关键点将所述面部遮挡物的三维图像与所述第一三维人脸图像在点云数据上进行对齐,根据对齐后坐标,将所述部遮挡物的三维图像的像素值赋值给所述第一三维人脸图像的对应坐标上的像素值,得到所述第二三维人脸图像。

    进一步的,步骤s3中,以所述第二三维人脸图像的中心为旋转中心,通过旋转矩阵将所述第二三维人脸图像旋转至预设旋转角度,得到所述第三三维人脸图像。

    进一步的,根据不同的预设旋转角度,重复执行上述步骤s3-s4,输出人脸基于不同旋转角度的二维人脸图像及标签,以生成人脸头部姿态训练数据集。

    进一步的,步骤s11中,根据式子构建所述第一三维人脸图像;其中,m为预设的三维人脸数据库中人脸模型的数量,为平均人脸模型,si为形状向量s的特征向量,αi为对应的人脸模型的系数。

    进一步的,所述面部遮挡物为口罩,根据预设的三维口罩图像,选取第一三维人脸模型的左、右两个关键点以及上、下两个关键点,分别计算左、右两个关键点的水平距离,以及上、下两个关键点的垂直距离,根据所述水平距离和所述垂直距离,将所述预设的三维口罩图像在水平方向上和垂直方向上进行尺度变换,使得所述预设的三维口罩图像的关键点恰好与所述第一三维人脸图像的关键点贴合。

    本发明另一实施例技术方案为:

    一种获取人脸头部姿态训练数据的系统,包括图像获取模块、图像融合模块、旋转模块、以及映射模块;其中,

    所述图像获取模块用于获取单张rgb正脸图像并输入至三维重建模型,基于所述三维重建模型获取第一三维人脸图像;

    所述图像融合模块用于将所述第一三维人脸图像与预设的面部遮挡物的三维图像进行佩戴融合,得到第二三维人脸图像;

    所述旋转模块用于接收所述第二三维人脸图像,并将所述第二三维人脸图像旋转至预设角度,得到第三三维人脸图像;

    所述映射模块用于将所述第三三维人脸图像映射至二维平面,得到二维人脸图像及标签。

    进一步的,还包括有存储模块,以用于存储所述面部遮挡物的三维图像和所述映射模块输出的所述二维人脸图像及标签。

    进一步的,所述面部遮挡物为口罩,所述图像融合模块用于将所述第一三维人脸图像与预设的三维口罩图像进行佩戴融合,得到所述第二三维人脸图像;所述旋转模块根据不同的旋转角度,将所述第二三维人脸图像旋转至预设角度,得到对应于不同旋转角度的所述第三三维人脸图像;所述映射模块将对应于不同旋转角度的所述第三三维人脸图像映射至二维平面,输出人脸基于不同旋转角度的所述二维人脸图像及标签,以生成人脸头部姿态训练数据集。

    本发明技术方案的有益效果是:

    相较于现有技术,本发明通过获取单张rgb人脸图像重建人脸三维图像,将重建人脸三维图像与面部遮挡物的三维图像进行佩戴融合,得到有面部遮挡物的三维人脸图像,对有面部遮挡物的人脸三维图像进行不同角度的旋转,并将其重投影至二维平面,获取预设角度的有面部遮挡物的二维人脸图像及标签,通过预设不同旋转角度,进行多次的旋转以得到对应于不同旋转角度的第三三维人脸图像,将对应于不同旋转角度的第三三维人脸图像映射至二维平面,输出人脸基于不同旋转角度的二维人脸图像及标签,以生成人脸头部姿态训练数据集,从而实现了根据单张图像生成不同角度的头部姿态及标签,对有面部遮挡物的不同头部姿态角度数据的数据集进行扩充,从而提升了数据标注的效率及准确性。

    附图说明

    为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

    图1是根据本发明一个实施例获取人脸头部姿态训练数据的方法流程图示;

    图2是根据本发明一个实施例获取人脸头部姿态训练数据的方法的98个关键点的示意图;

    图3是根据本发明一个实施例获取人脸头部姿态训练数据的方法的98个关键点的三维人脸模型示意图;

    图4是根据本发明一个实施例获取人脸头部姿态训练数据的方法将三维口罩图像的关键点与三维人脸图像的关键点重合的示意图;

    图5是根据本发明一个实施例获取人脸头部姿态训练数据的系统的原理框图。

    具体实施方式

    为了使本发明实施例所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

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

    图1为根据本发明实施例提供的一种获取人脸头部姿态训练数据的方法的流程图示,方法包括以下步骤:

    s1、获取单张rgb正脸图像并将其输入至三维重建模型,基于三维重建模型获取第一三维人脸图像;

    在一个实施例中,三维重建模型为基于3dmm算法构建,具体包括:

    s10、获取rgb正脸图像并经过神经网络模型训练,输出98个人脸关键点(如图2所示,为关键点0-97),获取其形状向量s:

    s=(x1,y1,z1,x2,y2,z2,......,xn,yn,zn)t

    其中,(x,y,z)表示人脸关键点的坐标信息。

    s11、根据人脸关键点的形状向量s和预设的三维人脸数据库构建第一三维人脸图像smodel,如图3所示。

    在一个实施例中,假设预设的三维人脸数据库中具有m个人脸模型,则:

    其中,为通过主成分分析(principalcomponentanalysis,pca)算法从预设的三维人脸数据库中求取的平均人脸模型,si为形状向量s通过pca算法求取的协方差矩阵的特征向量,αi为对应的人脸模型的系数,即协方差矩阵的特征值。

    在一些实施例中,为了使第一三维人脸图像smodel更加具有表现力,对第一三维人脸图像smodel增加预设的表情库,根据公式:

    其中,ti为表情的特征向量,βi为对应的表情的系数。

    应当理解的是,人脸模型并不限于上述表达式,第一三维人脸图像为正脸三维图像,其还可以通过3ddfa、prnet等网络进行重建,不仅限于3dmm,在本发明实施例中不作特别限制。

    s2、将基于步骤s1重建的第一三维人脸图像与预设的面部遮挡物的三维图像进行融合,得到第二三维人脸图像;

    在一个实施例中,对第一三维人脸图像的关键点进行定位,得到第一三维人脸模型的98个关键点,根据面部遮挡物的形状,选取第一三维人脸模型的左右两个关键点以及上下两个关键点,分别计算左右两个关键点的水平距离,以及上下两个关键点的垂直距离,根据左右两个关键点的水平距离和上下两个关键点的垂直距离,将预设的面部遮挡物的三维图像在水平方向和垂直方向上进行尺度变换,使得预设的面部遮挡物的三维图像的关键点恰好与第一三维人脸图像的关键点贴合。定位出预设的面部遮挡物的三维图像上的关键点,利用定位的关键点将面部遮挡物的三维图像与第一三维人脸图像在点云数据上进行对齐,根据对齐后坐标,将部遮挡物的三维图像的像素值直接赋值给第一三维人脸图像的对应坐标上的像素值,得到第二三维人脸图像。可以理解的是,第一三维人脸模型的关键点以及面部遮挡物的三维图像的关键点的选择可以根据面部遮挡物的具体形状来定,而不限于本发明实施例中描述的左右关键点以及上下关键点。

    本发明实施例中,以面部遮挡物为口罩进行说明,如图3、图4所示,对第一三维人脸图像的关键点进行定位,得到第一三维人脸模型的98个关键点,根据预设的三维口罩图像,计算第一三维人脸模型中的关键点16与关键点52的垂直距离以及关键点2与关键点30的水平距离,根据关键点16与关键点52的垂直距离和关键点2与关键点30的水平距离,将预设的三维口罩图像在水平方向上和垂直方向上进行尺度变换,使得预设的三维口罩图像的关键点恰好与第一三维人脸图像的关键点贴合。

    优选地,预设的三维口罩图像为正面,定位出预设的三维口罩图像上的关键点1和关键点2,如图3所示,将尺度变换后的三维口罩图像的关键点1与第一三维人脸图像的关键点52重合,而三维口罩图像的关键点2与第一三维人脸图像的关键点2进行重合,利用定位的关键点将三维口罩图像与第一三维人脸图像在点云数据上进行对齐,根据对齐后坐标,将三维口罩图像的像素值直接赋值给第一三维人脸图像的对应坐标上的像素值,得到如图4所示的第二三维人脸图像smodel1。

    s3、将第二三维人脸图像旋转至预设旋转角度,得到第三三维人脸图像;

    在一个实施例中,以第二三维人脸图像的中心为旋转中心进行旋转,假设第三三维人脸图像为smodel2,则:

    smodel2=r*smodel1

    其中,r为旋转矩阵,假设预设旋转角度为欧拉角(yaw,pitch,roll),欧拉角(yaw,pitch,roll)分别为(α,β,γ),则旋转矩阵表达式为:

    其中,

    通过上述旋转矩阵可将第二三维人脸图像旋转至预设旋转角度,得到第三三维人脸图像。

    s4、将第三三维人脸图像映射至二维平面,得到二维人脸图像及标签。

    在一个实施例中,将第三三维人脸图像smodel2投影至xoy平面,得到二维人脸图像,假设二维人脸图像为xprojection,则:

    其中,s为尺度因子,porth为投影正交矩阵,即[[1,0,0],[0,1,0]],t为位移矩阵。需要说明的是,通过上述实施例生成二维人脸图像的同时,也生成了标签(label),此处的label为预设角度(α,β,γ)。可以理解的是,基于步骤s2得到的第二三维人脸图像,根据实际情况预设不同的旋转角度,重复执行上述步骤s3-s4,输出基于不同旋转角度的二维人脸图像及标签,以生成附有面部被遮挡的人脸头部姿态训练数据集。

    图5为根据本发明实施例提供的一种获取人脸头部姿态训练数据的系统的结构示意图。系统200包括图像获取模块201、图像融合模块202、旋转模块203、映射模块204以及存储模块205;其中,图像获取模块201用于获取单张rgb正脸图像并输入至三维重建模型,基于三维重建模型获取第一三维人脸图像;图像融合模块202用于将第一三维人脸图像与预设的面部遮挡物的三维图像进行佩戴融合,得到第二三维人脸图像;旋转模块203用于接收第二三维人脸图像,并将第二三维人脸图像旋转至预设角度,得到第三三维人脸图像;映射模块204用于将第三三维人脸图像映射至二维平面,得到二维人脸图像及标签;存储模块205用于存储面部遮挡物的三维图像和映射模块输出的二维人脸图像及标签。

    在一些实施例中,所述面部遮挡物为口罩,所述图像融合模块202用于将第一三维人脸图像与预设的三维口罩图像进行佩戴融合,得到第二三维人脸图像。具体的,对第一三维人脸图像的关键点进行定位,得到第一三维人脸模型的98个关键点,根据预设的三维口罩图像,计算第一三维人脸模型中的关键点16与关键点52的垂直距离以及关键点2与关键点30的水平距离,根据关键点16与关键点52的垂直距离和关键点2与关键点30的水平距离,将预设的三维口罩图像在水平方向上和垂直方向上进行尺度变换,使得预设的三维口罩图像的关键点恰好与第一三维人脸图像的关键点贴合。利用定位的关键点将三维口罩图像与第一三维人脸图像在点云数据上进行对齐,根据对齐后坐标,将三维口罩图像的像素值直接赋值给第一三维人脸图像的对应坐标上的像素值,得到第二三维人脸图像。

    旋转模块根据不同的旋转角度,将第二三维人脸图像旋转至预设角度,得到对应于不同旋转角度的第三三维人脸图像;映射模块将对应于不同旋转角度的第三三维人脸图像映射至二维平面,输出基于不同旋转角度的二维人脸图像及标签,以生成人脸头部姿态训练数据集。

    本发明通过获取单张rgb人脸图像重建人脸三维图像,将重建人脸三维图像与面部遮挡物的三维图像进行佩戴融合,得到有面部遮挡物的三维人脸图像,对有面部遮挡物的人脸三维图像进行不同角度的旋转,并将其重投影至二维平面,获取预设角度的有面部遮挡物的二维人脸图像及标签,通过预设不同旋转角度,进行多次的旋转以得到对应于不同旋转角度的第三三维人脸图像,将对应于不同旋转角度的第三三维人脸图像映射至二维平面,输出基于不同旋转角度的二维人脸图像及标签,以生成人脸头部姿态训练数据集,从而实现了根据单张图像生成不同角度的头部姿态及标签,对有面部遮挡物的不同头部姿态角度数据的数据集进行扩充,从而提升了数据标注的效率及准确性。

    本发明还提出了一种计算机可读存储介质,计算机刻度存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述实施例方案的获取人脸头部姿态训练数据的方法。所述存储介质可以由任何类型的易失性或非易失性存储设备、或者它们的组合来实现。

    本发明的实施例可以包括或利用包括计算机硬件的专用或通用计算机,如下面更详细讨论的。在本发明的范围内的实施例还包括用于携带或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可以被通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是物理存储介质。携带计算机可执行指令的计算机可读介质是传输介质。因此,作为示例而非限制,本发明的实施例可以包括至少两种截然不同的计算机可读介质:物理计算机可读存储介质和传输计算机可读介质。

    本申请实施例还提供一种计算机设备,所述计算机设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时至少实现前述实施例方案中所述获取人脸头部姿态训练数据的方法。

    可以理解的是,以上内容是结合具体/优选的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,其还可以对这些已描述的实施方式做出若干替代或变型,而这些替代或变型方式都应当视为属于本发明的保护范围。在本说明书的描述中,参考术语“一种实施例”、“一些实施例”、“优选实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。

    在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。尽管已经详细描述了本发明的实施例及其优点,但应当理解,在不脱离由所附权利要求限定的范围的情况下,可以在本文中进行各种改变、替换和变更。

    此外,本发明的范围不旨在限于说明书中所述的过程、机器、制造、物质组成、手段、方法和步骤的特定实施例。本领域普通技术人员将容易理解,可以利用执行与本文所述相应实施例基本相同功能或获得与本文所述实施例基本相同结果的目前存在的或稍后要开发的上述披露、过程、机器、制造、物质组成、手段、方法或步骤。因此,所附权利要求旨在将这些过程、机器、制造、物质组成、手段、方法或步骤包含在其范围内。


    技术特征:

    1.一种人脸头部姿态训练数据的获取方法,其特征在于,包括如下步骤:

    s1、获取单张rgb正脸图像并将其输入至三维重建模型,基于所述三维重建模型获取第一三维人脸图像;

    s2、将基于步骤s1重建的所述第一三维人脸图像与预设的面部遮挡物的三维图像进行融合,得到第二三维人脸图像;

    s3、将所述第二三维人脸图像旋转至预设旋转角度,得到第三三维人脸图像;

    s4、将所述第三三维人脸图像映射至二维平面,得到二维人脸图像及标签。

    2.如权利要求1所述的人脸头部姿态训练数据的获取方法,其特征在于,步骤s1包括:

    s10、获取所述rgb正脸图像并经过神经网络模型训练,输出人脸关键点,并获取所述人脸关键点的形状向量;

    s11、根据所述人脸关键点的所述形状向量和预设的三维人脸数据库构建所述第一三维人脸图像。

    3.如权利要求1所述的人脸头部姿态训练数据的获取方法,其特征在于,步骤s2中,对所述第一三维人脸图像的关键点进行定位,将所述预设的面部遮挡物的三维图像进行尺度变换,使得所述预设的面部遮挡物的三维图像的关键点与所述第一三维人脸图像的关键点贴合,利用定位的关键点将所述面部遮挡物的三维图像与所述第一三维人脸图像在点云数据上进行对齐,根据对齐后坐标,将所述部遮挡物的三维图像的像素值赋值给所述第一三维人脸图像的对应坐标上的像素值,得到所述第二三维人脸图像。

    4.如权利要求1所述的人脸头部姿态训练数据的获取方法,其特征在于,步骤s3中,以所述第二三维人脸图像的中心为旋转中心,通过旋转矩阵将所述第二三维人脸图像旋转至预设旋转角度,得到所述第三三维人脸图像。

    5.如权利要求1所述的人脸头部姿态训练数据的获取方法,其特征在于,预设不同的旋转角度,重复执行步骤s3-s4,输出基于不同旋转角度的二维人脸图像及标签,以生成人脸头部姿态训练数据集。

    6.如权利要求2所述的人脸头部姿态训练数据的获取方法,其特征在于,步骤s11中,根据式子构建所述第一三维人脸图像;其中,m为预设的三维人脸数据库中人脸模型的数量,为平均人脸模型,si为形状向量s的特征向量,αi为对应的人脸模型的系数。

    7.如权利要求3所述的人脸头部姿态训练数据的获取方法,其特征在于:所述面部遮挡物为口罩,根据预设的三维口罩图像,选取第一三维人脸模型的左、右两个关键点以及上、下两个关键点,分别计算左、右两个关键点的水平距离,以及上、下两个关键点的垂直距离,根据所述水平距离和所述垂直距离,将所述预设的三维口罩图像在水平方向上和垂直方向上进行尺度变换,使得所述预设的三维口罩图像的关键点恰好与所述第一三维人脸图像的关键点贴合。

    8.一种获取人脸头部姿态训练数据的系统,其特征在于,包括:图像获取模块、图像融合模块、旋转模块、以及映射模块;其中,

    所述图像获取模块用于获取单张rgb正脸图像并输入至三维重建模型,基于所述三维重建模型获取第一三维人脸图像;

    所述图像融合模块用于将所述第一三维人脸图像与预设的面部遮挡物的三维图像进行佩戴融合,得到第二三维人脸图像;

    所述旋转模块用于接收所述第二三维人脸图像,并将所述第二三维人脸图像旋转至预设角度,得到第三三维人脸图像;

    所述映射模块用于将所述第三三维人脸图像映射至二维平面,得到二维人脸图像及标签。

    9.如权利要求8所述的获取人脸头部姿态训练数据的系统,其特征在于:还包括有存储模块,以用于存储所述面部遮挡物的三维图像和所述映射模块输出的所述二维人脸图像及标签。

    10.如权利要求8所述的获取人脸头部姿态训练数据的系统,其特征在于:

    所述面部遮挡物为口罩,所述图像融合模块用于将所述第一三维人脸图像与预设的三维口罩图像进行佩戴融合,得到所述第二三维人脸图像;

    所述旋转模块根据不同的旋转角度,将所述第二三维人脸图像旋转至预设旋转角度,得到对应于不同旋转角度的所述第三三维人脸图像;

    所述映射模块将对应于不同旋转角度的所述第三三维人脸图像映射至二维平面,输出基于不同旋转角度的所述二维人脸图像及标签,以生成人脸头部姿态训练数据集。

    技术总结
    本发明公开了一种人脸头部姿态训练数据的获取方法及系统,包括:S1、获取单张RGB正脸图像并将其输入至三维重建模型,基于所述三维重建模型获取第一三维人脸图像;S2、将基于步骤S1重建的所述第一三维人脸图像与预设的面部遮挡物的三维图像进行融合,得到第二三维人脸图像;S3、将所述第二三维人脸图像旋转至预设旋转角度,得到第三三维人脸图像;S4、将所述第三三维人脸图像映射至二维平面,得到二维人脸图像及标签。本发明实现了根据单张图像生成不同角度的头部姿态及标签,对有面部遮挡物的不同头部姿态角度数据的数据集进行扩充,从而提升了数据标注的效率及准确性。

    技术研发人员:辛冠希;高通;陈碧辉;钱贝贝;黄源浩;肖振中
    受保护的技术使用者:奥比中光科技集团股份有限公司
    技术研发日:2020.11.25
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-19740.html

    最新回复(0)